diff --git a/apps/events-helsinki/config/vitest/TestProviders.tsx b/apps/events-helsinki/config/vitest/TestProviders.tsx index 86c112d2a..67f93e36f 100644 --- a/apps/events-helsinki/config/vitest/TestProviders.tsx +++ b/apps/events-helsinki/config/vitest/TestProviders.tsx @@ -7,6 +7,13 @@ import type { import { useApolloClient } from '@apollo/client/react/index.js'; import type { MockedResponse } from '@apollo/client/testing/index.js'; import { MockedProvider } from '@apollo/client/testing/index.js'; +import type { Config as RHHCConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + ModuleItemTypeEnum, + ConfigProvider as RHHCConfigProvider, + getUri, + defaultConfig as rhhcDefaultConfig, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { AppRoutingProvider, CmsHelperProvider, @@ -20,13 +27,6 @@ import Link from 'next/link'; import type { NextRouter } from 'next/router'; import React from 'react'; import { ErrorBoundary } from 'react-error-boundary'; -import type { Config as RHHCConfig } from 'react-helsinki-headless-cms'; -import { - ModuleItemTypeEnum, - ConfigProvider as RHHCConfigProvider, - getUri, - defaultConfig as rhhcDefaultConfig, -} from 'react-helsinki-headless-cms'; import { I18nextProvider } from 'react-i18next'; import { ROUTES } from '../../src/constants'; import cmsHelper from '../../src/domain/app/headlessCmsHelper'; diff --git a/apps/events-helsinki/package.json b/apps/events-helsinki/package.json index 1ae621c8e..a964b2463 100644 --- a/apps/events-helsinki/package.json +++ b/apps/events-helsinki/package.json @@ -47,6 +47,7 @@ ], "dependencies": { "@apollo/client": "^3.11.10", + "@city-of-helsinki/react-helsinki-headless-cms": "3.0.0", "@events-helsinki/common-i18n": "workspace:^", "@events-helsinki/components": "workspace:^", "@sentry/browser": "9.38.0", @@ -78,7 +79,6 @@ "react-datepicker": "^8.4.0", "react-dom": "18.3.1", "react-error-boundary": "4.0.10", - "react-helsinki-headless-cms": "2.0.2", "react-i18next": "15.6.0", "react-scroll": "^1.9.3", "react-toastify": "^11.0.5", diff --git a/apps/events-helsinki/src/domain/app/EventsApolloProvider.tsx b/apps/events-helsinki/src/domain/app/EventsApolloProvider.tsx index 0c5dde6fc..fd46fd354 100644 --- a/apps/events-helsinki/src/domain/app/EventsApolloProvider.tsx +++ b/apps/events-helsinki/src/domain/app/EventsApolloProvider.tsx @@ -1,10 +1,10 @@ import { ApolloProvider as BaseApolloProvider } from '@apollo/client/react/index.js'; +import { ConfigProvider as RHHCConfigProvider } from '@city-of-helsinki/react-helsinki-headless-cms'; import { ApolloErrorNotification, useApolloErrorHandler, } from '@events-helsinki/components'; import React from 'react'; -import { ConfigProvider as RHHCConfigProvider } from 'react-helsinki-headless-cms'; import useEventsRHHCConfig from '../../hooks/useEventsRHHCConfig'; import { useEventsApolloClient } from '../clients/eventsApolloClient'; diff --git a/apps/events-helsinki/src/domain/app/getEventsStaticProps.ts b/apps/events-helsinki/src/domain/app/getEventsStaticProps.ts index 9856fd4c0..02d37740f 100644 --- a/apps/events-helsinki/src/domain/app/getEventsStaticProps.ts +++ b/apps/events-helsinki/src/domain/app/getEventsStaticProps.ts @@ -2,6 +2,7 @@ import type { ApolloClient, NormalizedCacheObject, } from '@apollo/client/core/index.js'; +import { MenuDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { Menu, Language } from '@events-helsinki/components'; import { DEFAULT_FOOTER_MENU_NAME, @@ -11,7 +12,6 @@ import { DEFAULT_HEADER_UNIVERSAL_BAR_MENU_NAME, } from '@events-helsinki/components'; import type { GetStaticPropsContext, GetStaticPropsResult } from 'next'; -import { MenuDocument } from 'react-helsinki-headless-cms/apollo'; import { staticGenerationLogger } from '../../logger'; import initializeEventsApolloClient from '../clients/eventsApolloClient'; import AppConfig from './AppConfig'; diff --git a/apps/events-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx b/apps/events-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx index c916205bb..97e945588 100644 --- a/apps/events-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx +++ b/apps/events-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx @@ -1,5 +1,5 @@ +import { TagComponent as Tag } from '@city-of-helsinki/react-helsinki-headless-cms'; import React from 'react'; -import { TagComponent as Tag } from 'react-helsinki-headless-cms'; import styles from './articleDetails.module.scss'; diff --git a/apps/events-helsinki/src/domain/event/EventPageContainer.tsx b/apps/events-helsinki/src/domain/event/EventPageContainer.tsx index 956a01531..1fe252fc1 100644 --- a/apps/events-helsinki/src/domain/event/EventPageContainer.tsx +++ b/apps/events-helsinki/src/domain/event/EventPageContainer.tsx @@ -1,3 +1,4 @@ +import { Link } from '@city-of-helsinki/react-helsinki-headless-cms'; import { LoadingSpinner, useLocale, @@ -17,7 +18,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React, { useState } from 'react'; -import { Link } from 'react-helsinki-headless-cms'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; diff --git a/apps/events-helsinki/src/domain/search/eventSearch/SearchPage.tsx b/apps/events-helsinki/src/domain/search/eventSearch/SearchPage.tsx index 428804829..62402ee21 100644 --- a/apps/events-helsinki/src/domain/search/eventSearch/SearchPage.tsx +++ b/apps/events-helsinki/src/domain/search/eventSearch/SearchPage.tsx @@ -1,3 +1,4 @@ +import { useConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { QueryEventListArgs } from '@events-helsinki/components'; import { LoadingSpinner, @@ -22,7 +23,6 @@ import { ButtonVariant } from 'hds-react'; import { useRouter } from 'next/router'; import queryString from 'query-string'; import React from 'react'; -import { useConfig } from 'react-helsinki-headless-cms'; import { scroller } from 'react-scroll'; import { toast } from 'react-toastify'; diff --git a/apps/events-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx b/apps/events-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx index afd52e195..e4f475be3 100644 --- a/apps/events-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx +++ b/apps/events-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx @@ -1,10 +1,10 @@ -import React from 'react'; import { PageSection, ContentContainer, getTextFromHtml, usePageContext, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import React from 'react'; import AdvancedSearchContext from './AdvancedSearchContext'; import AdvancedSearchForm from './AdvancedSearchForm'; import styles from './search.module.scss'; diff --git a/apps/events-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx b/apps/events-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx index c529af54c..1ba902778 100644 --- a/apps/events-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx +++ b/apps/events-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx @@ -1,6 +1,9 @@ +import { + ContentContainer, + PageSection, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useSearchTranslation } from '@events-helsinki/components'; import React from 'react'; -import { ContentContainer, PageSection } from 'react-helsinki-headless-cms'; import ResultsInfoContainer from './ResultsInfo'; import styles from './searchResultList.module.scss'; diff --git a/apps/events-helsinki/src/domain/search/landingPage/LandingPage.tsx b/apps/events-helsinki/src/domain/search/landingPage/LandingPage.tsx index 1943c9e30..a533e58f8 100644 --- a/apps/events-helsinki/src/domain/search/landingPage/LandingPage.tsx +++ b/apps/events-helsinki/src/domain/search/landingPage/LandingPage.tsx @@ -1,9 +1,12 @@ -import React from 'react'; import type { PageContentLayoutProps, PageType, -} from 'react-helsinki-headless-cms'; -import { PageSection, ContentContainer } from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + PageSection, + ContentContainer, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import React from 'react'; import LandingPageSearch from '../landingPageSearch/LandingPageSearch'; import styles from './landingPage.module.scss'; diff --git a/apps/events-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx b/apps/events-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx index 89fb487f5..767f663b1 100644 --- a/apps/events-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx +++ b/apps/events-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx @@ -1,3 +1,8 @@ +import { + isPageType, + SecondaryLink, + usePageContext, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { DateSelector, MobileDateSelector, @@ -8,11 +13,6 @@ import { } from '@events-helsinki/components'; import classnames from 'classnames'; import { Button, ButtonVariant, IconSearch } from 'hds-react'; -import { - isPageType, - SecondaryLink, - usePageContext, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import routerHelper from '../../../domain/app/routerHelper'; import styles from './landingPageSearchForm.module.scss'; diff --git a/apps/events-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx b/apps/events-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx index 9c0603adf..6114410b5 100644 --- a/apps/events-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx +++ b/apps/events-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx @@ -1,9 +1,8 @@ +import { TagComponent as Tag } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { IconLocation } from 'hds-react'; import React from 'react'; -import { TagComponent as Tag } from 'react-helsinki-headless-cms'; - import styles from './venueDetails.module.scss'; export type VenueDetailsProps = { diff --git a/apps/events-helsinki/src/hooks/useEventsRHHCConfig.tsx b/apps/events-helsinki/src/hooks/useEventsRHHCConfig.tsx index e49b07a03..273bc9652 100644 --- a/apps/events-helsinki/src/hooks/useEventsRHHCConfig.tsx +++ b/apps/events-helsinki/src/hooks/useEventsRHHCConfig.tsx @@ -2,6 +2,14 @@ import type { ApolloClient, NormalizedCacheObject, } from '@apollo/client/core/index.js'; +import type { + CardProps, + Config, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + defaultConfig as rhhcDefaultConfig, + ModuleItemTypeEnum, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { EventFieldsFragment } from '@events-helsinki/components'; import { useResilientTranslation, @@ -16,11 +24,6 @@ import { ButtonVariant } from 'hds-react'; import Head from 'next/head'; import Link from 'next/link'; import React from 'react'; -import type { CardProps, Config } from 'react-helsinki-headless-cms'; -import { - defaultConfig as rhhcDefaultConfig, - ModuleItemTypeEnum, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../constants'; import AppConfig from '../domain/app/AppConfig'; import routerHelper from '../domain/app/routerHelper'; diff --git a/apps/events-helsinki/src/pages/articles/[...slug].tsx b/apps/events-helsinki/src/pages/articles/[...slug].tsx index 4572a8059..b6ca242c7 100644 --- a/apps/events-helsinki/src/pages/articles/[...slug].tsx +++ b/apps/events-helsinki/src/pages/articles/[...slug].tsx @@ -1,4 +1,22 @@ import type { NormalizedCacheObject } from '@apollo/client/core/index.js'; +import type { + CollectionType, + ArticleType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + getCollections, + Page as RHHCPage, + useConfig, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + ArticleQuery, + ArticleQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { + ArticleDocument, + useCategoriesQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import { NavigationContext, ShareLinks, @@ -35,21 +53,6 @@ import type { import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useContext } from 'react'; -import type { CollectionType, ArticleType } from 'react-helsinki-headless-cms'; -import { - getCollections, - Page as RHHCPage, - useConfig, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - ArticleQuery, - ArticleQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { - ArticleDocument, - useCategoriesQuery, -} from 'react-helsinki-headless-cms/apollo'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import getEventsStaticProps from '../../domain/app/getEventsStaticProps'; @@ -60,7 +63,10 @@ import serverSideTranslationsWithCommon from '../../domain/i18n/serverSideTransl const CATEGORIES_AMOUNT = 20; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/events-helsinki/src/pages/articles/index.tsx b/apps/events-helsinki/src/pages/articles/index.tsx index 2cebd077d..448b9dec1 100644 --- a/apps/events-helsinki/src/pages/articles/index.tsx +++ b/apps/events-helsinki/src/pages/articles/index.tsx @@ -1,5 +1,27 @@ import type { ParsedUrlQueryInput } from 'querystring'; import { NetworkStatus } from '@apollo/client/core/index.js'; +import { + Page as RHHCPage, + Card, + LargeCard, + useConfig, + TemplateEnum, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + ArticleType, + CollectionItemType, + PageType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + useCategoriesQuery, + PageByTemplateDocument, + usePostsQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import type { + PageByTemplateQuery, + PageByTemplateQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { getQlLanguage, @@ -21,28 +43,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import queryString from 'query-string'; import React, { useContext } from 'react'; -import { - Page as RHHCPage, - Card, - LargeCard, - useConfig, - TemplateEnum, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - ArticleType, - CollectionItemType, - PageType, -} from 'react-helsinki-headless-cms'; -import { - useCategoriesQuery, - PageByTemplateDocument, - usePostsQuery, -} from 'react-helsinki-headless-cms/apollo'; -import type { - PageByTemplateQuery, - PageByTemplateQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../../domain/app/AppConfig'; import type { EventsGlobalPageProps } from '../../domain/app/getEventsStaticProps'; import getEventsStaticProps from '../../domain/app/getEventsStaticProps'; @@ -54,7 +54,9 @@ const CATEGORIES_AMOUNT = 20; const SearchPageContentNoSSR = dynamic( () => - import('react-helsinki-headless-cms').then((mod) => mod.SearchPageContent), + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.SearchPageContent + ), { ssr: false, } diff --git a/apps/events-helsinki/src/pages/cookie-consent/index.tsx b/apps/events-helsinki/src/pages/cookie-consent/index.tsx index 74c31f81c..c78b6eb63 100644 --- a/apps/events-helsinki/src/pages/cookie-consent/index.tsx +++ b/apps/events-helsinki/src/pages/cookie-consent/index.tsx @@ -1,3 +1,9 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + TemplateEnum, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import commonTranslationsEn from '@events-helsinki/common-i18n/locales/en/common.json'; import commonTranslationsFi from '@events-helsinki/common-i18n/locales/fi/common.json'; import commonTranslationsSv from '@events-helsinki/common-i18n/locales/sv/common.json'; @@ -23,12 +29,6 @@ import { type BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext } from 'next'; import dynamic from 'next/dynamic'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - TemplateEnum, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; import AppConfig from '../../domain/app/AppConfig'; import getEventsStaticProps from '../../domain/app/getEventsStaticProps'; import ConsentPageContent from '../../domain/cookieConsent/ConsentPageContent'; diff --git a/apps/events-helsinki/src/pages/events/[eventId]/index.tsx b/apps/events-helsinki/src/pages/events/[eventId]/index.tsx index 3ba4ea055..fef5a24ee 100644 --- a/apps/events-helsinki/src/pages/events/[eventId]/index.tsx +++ b/apps/events-helsinki/src/pages/events/[eventId]/index.tsx @@ -1,3 +1,8 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { EventDetailsDocument, NavigationContext, @@ -21,11 +26,6 @@ import type { import type { BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext, NextPage } from 'next'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import AppConfig from '../../../domain/app/AppConfig'; import getEventsStaticProps from '../../../domain/app/getEventsStaticProps'; diff --git a/apps/events-helsinki/src/pages/index.tsx b/apps/events-helsinki/src/pages/index.tsx index 81356d5c5..d5b4d6a2d 100644 --- a/apps/events-helsinki/src/pages/index.tsx +++ b/apps/events-helsinki/src/pages/index.tsx @@ -1,4 +1,19 @@ import type { NormalizedCacheObject } from '@apollo/client/core/index.js'; +import type { + PageType, + ArticleType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + useConfig, + Page as RHHCPage, + TemplateEnum, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageByTemplateQuery, + PageByTemplateQueryVariables, + PageQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageByTemplateDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { DEFAULT_LANGUAGE, @@ -20,18 +35,6 @@ import type { } from 'next'; import dynamic from 'next/dynamic'; import React, { useContext } from 'react'; -import type { PageType, ArticleType } from 'react-helsinki-headless-cms'; -import { - useConfig, - Page as RHHCPage, - TemplateEnum, -} from 'react-helsinki-headless-cms'; -import type { - PageByTemplateQuery, - PageByTemplateQueryVariables, - PageQuery, -} from 'react-helsinki-headless-cms/apollo'; -import { PageByTemplateDocument } from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../domain/app/AppConfig'; import getEventsStaticProps from '../domain/app/getEventsStaticProps'; import cmsHelper from '../domain/app/headlessCmsHelper'; @@ -39,7 +42,10 @@ import serverSideTranslationsWithCommon from '../domain/i18n/serverSideTranslati import { LandingPageContentLayout } from '../domain/search/landingPage/LandingPage'; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/events-helsinki/src/pages/pages/[...slug].tsx b/apps/events-helsinki/src/pages/pages/[...slug].tsx index 10f7cc037..3e3e7a0f2 100644 --- a/apps/events-helsinki/src/pages/pages/[...slug].tsx +++ b/apps/events-helsinki/src/pages/pages/[...slug].tsx @@ -1,4 +1,19 @@ import type { NormalizedCacheObject } from '@apollo/client/core/index.js'; +import type { + CollectionType, + PageType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + getCollections, + getBreadcrumbsFromPage, + Page as RHHCPage, + useConfig, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageQuery, + PageQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { AppLanguage, PreviewDataObject, @@ -25,18 +40,6 @@ import type { } from 'next'; import dynamic from 'next/dynamic'; import { useContext } from 'react'; -import type { CollectionType, PageType } from 'react-helsinki-headless-cms'; -import { - getCollections, - getBreadcrumbsFromPage, - Page as RHHCPage, - useConfig, -} from 'react-helsinki-headless-cms'; -import type { - PageQuery, - PageQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageDocument } from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../../domain/app/AppConfig'; import getEventsStaticProps from '../../domain/app/getEventsStaticProps'; import cmsHelper from '../../domain/app/headlessCmsHelper'; @@ -44,7 +47,10 @@ import { eventsApolloClient } from '../../domain/clients/eventsApolloClient'; import serverSideTranslationsWithCommon from '../../domain/i18n/serverSideTranslationsWithCommon'; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/events-helsinki/src/pages/search/index.tsx b/apps/events-helsinki/src/pages/search/index.tsx index 8f886553b..a0f0e48b9 100644 --- a/apps/events-helsinki/src/pages/search/index.tsx +++ b/apps/events-helsinki/src/pages/search/index.tsx @@ -1,3 +1,14 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + PageContextProvider, + Page as RHHCPage, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageQuery, + PageQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { NavigationContext, @@ -17,17 +28,6 @@ import type { GetStaticPropsContext, NextPage } from 'next'; import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import React, { useRef, useEffect, useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - PageContextProvider, - Page as RHHCPage, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - PageQuery, - PageQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageDocument } from 'react-helsinki-headless-cms/apollo'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import getEventsStaticProps from '../../domain/app/getEventsStaticProps'; diff --git a/apps/hobbies-helsinki/config/vitest/TestProviders.tsx b/apps/hobbies-helsinki/config/vitest/TestProviders.tsx index be51cd9bd..f7e4897fe 100644 --- a/apps/hobbies-helsinki/config/vitest/TestProviders.tsx +++ b/apps/hobbies-helsinki/config/vitest/TestProviders.tsx @@ -7,6 +7,13 @@ import type { import { useApolloClient } from '@apollo/client'; import type { MockedResponse } from '@apollo/client/testing'; import { MockedProvider } from '@apollo/client/testing'; +import type { Config as RHHCConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + ModuleItemTypeEnum, + ConfigProvider as RHHCConfigProvider, + getUri, + defaultConfig as rhhcDefaultConfig, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { AppRoutingProvider, CmsHelperProvider, @@ -20,13 +27,6 @@ import Link from 'next/link'; import type { NextRouter } from 'next/router'; import React from 'react'; import { ErrorBoundary } from 'react-error-boundary'; -import type { Config as RHHCConfig } from 'react-helsinki-headless-cms'; -import { - ModuleItemTypeEnum, - ConfigProvider as RHHCConfigProvider, - getUri, - defaultConfig as rhhcDefaultConfig, -} from 'react-helsinki-headless-cms'; import { I18nextProvider } from 'react-i18next'; import { ROUTES } from '../../src/constants'; diff --git a/apps/hobbies-helsinki/package.json b/apps/hobbies-helsinki/package.json index 0a2b48caa..daaf5e6e7 100644 --- a/apps/hobbies-helsinki/package.json +++ b/apps/hobbies-helsinki/package.json @@ -47,6 +47,7 @@ ], "dependencies": { "@apollo/client": "^3.11.10", + "@city-of-helsinki/react-helsinki-headless-cms": "3.0.0", "@events-helsinki/common-i18n": "workspace:^", "@events-helsinki/components": "workspace:^", "@sentry/browser": "9.38.0", @@ -78,7 +79,6 @@ "react-datepicker": "^8.4.0", "react-dom": "18.3.1", "react-error-boundary": "4.0.10", - "react-helsinki-headless-cms": "2.0.2", "react-i18next": "15.6.0", "react-scroll": "^1.9.3", "react-toastify": "^11.0.5", diff --git a/apps/hobbies-helsinki/src/domain/app/HobbiesApolloProvider.tsx b/apps/hobbies-helsinki/src/domain/app/HobbiesApolloProvider.tsx index bacf41d51..05e40a6d7 100644 --- a/apps/hobbies-helsinki/src/domain/app/HobbiesApolloProvider.tsx +++ b/apps/hobbies-helsinki/src/domain/app/HobbiesApolloProvider.tsx @@ -1,10 +1,10 @@ import { ApolloProvider as BaseApolloProvider } from '@apollo/client'; +import { ConfigProvider as RHHCConfigProvider } from '@city-of-helsinki/react-helsinki-headless-cms'; import { ApolloErrorNotification, useApolloErrorHandler, } from '@events-helsinki/components'; import React from 'react'; -import { ConfigProvider as RHHCConfigProvider } from 'react-helsinki-headless-cms'; import useHobbiesRHHCConfig from '../../hooks/useHobbiesRHHCConfig'; import { useHobbiesApolloClient } from '../clients/hobbiesApolloClient'; diff --git a/apps/hobbies-helsinki/src/domain/app/getHobbiesStaticProps.ts b/apps/hobbies-helsinki/src/domain/app/getHobbiesStaticProps.ts index 2e4a60478..bf1f922e3 100644 --- a/apps/hobbies-helsinki/src/domain/app/getHobbiesStaticProps.ts +++ b/apps/hobbies-helsinki/src/domain/app/getHobbiesStaticProps.ts @@ -1,4 +1,5 @@ import type { ApolloClient, NormalizedCacheObject } from '@apollo/client'; +import { MenuDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { Menu, Language } from '@events-helsinki/components'; import { DEFAULT_FOOTER_MENU_NAME, @@ -8,7 +9,6 @@ import { DEFAULT_HEADER_UNIVERSAL_BAR_MENU_NAME, } from '@events-helsinki/components'; import type { GetStaticPropsContext, GetStaticPropsResult } from 'next'; -import { MenuDocument } from 'react-helsinki-headless-cms/apollo'; import { staticGenerationLogger } from '../../logger'; import initializeHobbiesApolloClient from '../clients/hobbiesApolloClient'; import AppConfig from './AppConfig'; diff --git a/apps/hobbies-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx b/apps/hobbies-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx index c916205bb..97e945588 100644 --- a/apps/hobbies-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx +++ b/apps/hobbies-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx @@ -1,5 +1,5 @@ +import { TagComponent as Tag } from '@city-of-helsinki/react-helsinki-headless-cms'; import React from 'react'; -import { TagComponent as Tag } from 'react-helsinki-headless-cms'; import styles from './articleDetails.module.scss'; diff --git a/apps/hobbies-helsinki/src/domain/event/EventPageContainer.tsx b/apps/hobbies-helsinki/src/domain/event/EventPageContainer.tsx index 956a01531..1fe252fc1 100644 --- a/apps/hobbies-helsinki/src/domain/event/EventPageContainer.tsx +++ b/apps/hobbies-helsinki/src/domain/event/EventPageContainer.tsx @@ -1,3 +1,4 @@ +import { Link } from '@city-of-helsinki/react-helsinki-headless-cms'; import { LoadingSpinner, useLocale, @@ -17,7 +18,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React, { useState } from 'react'; -import { Link } from 'react-helsinki-headless-cms'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; diff --git a/apps/hobbies-helsinki/src/domain/search/eventSearch/SearchPage.tsx b/apps/hobbies-helsinki/src/domain/search/eventSearch/SearchPage.tsx index 1508e32f0..439435b34 100644 --- a/apps/hobbies-helsinki/src/domain/search/eventSearch/SearchPage.tsx +++ b/apps/hobbies-helsinki/src/domain/search/eventSearch/SearchPage.tsx @@ -1,3 +1,4 @@ +import { useConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { QueryEventListArgs } from '@events-helsinki/components'; import { useCmsRoutedAppHelper, @@ -21,7 +22,6 @@ import { ButtonPresetTheme, ButtonVariant } from 'hds-react'; import { useRouter } from 'next/router'; import queryString from 'query-string'; import React from 'react'; -import { useConfig } from 'react-helsinki-headless-cms'; import { scroller } from 'react-scroll'; import { toast } from 'react-toastify'; diff --git a/apps/hobbies-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx b/apps/hobbies-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx index a95bab733..0513adab4 100644 --- a/apps/hobbies-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx +++ b/apps/hobbies-helsinki/src/domain/search/eventSearch/advancedSearch/AdvancedSearch.tsx @@ -1,10 +1,10 @@ -import React from 'react'; import { PageSection, ContentContainer, usePageContext, getTextFromHtml, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import React from 'react'; import AdvancedSearchContext from './AdvancedSearchContext'; import { AdvancedSearchForm } from './AdvancedSearchForm'; diff --git a/apps/hobbies-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx b/apps/hobbies-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx index c529af54c..1ba902778 100644 --- a/apps/hobbies-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx +++ b/apps/hobbies-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx @@ -1,6 +1,9 @@ +import { + ContentContainer, + PageSection, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useSearchTranslation } from '@events-helsinki/components'; import React from 'react'; -import { ContentContainer, PageSection } from 'react-helsinki-headless-cms'; import ResultsInfoContainer from './ResultsInfo'; import styles from './searchResultList.module.scss'; diff --git a/apps/hobbies-helsinki/src/domain/search/landingPage/LandingPage.tsx b/apps/hobbies-helsinki/src/domain/search/landingPage/LandingPage.tsx index 1943c9e30..a533e58f8 100644 --- a/apps/hobbies-helsinki/src/domain/search/landingPage/LandingPage.tsx +++ b/apps/hobbies-helsinki/src/domain/search/landingPage/LandingPage.tsx @@ -1,9 +1,12 @@ -import React from 'react'; import type { PageContentLayoutProps, PageType, -} from 'react-helsinki-headless-cms'; -import { PageSection, ContentContainer } from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + PageSection, + ContentContainer, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import React from 'react'; import LandingPageSearch from '../landingPageSearch/LandingPageSearch'; import styles from './landingPage.module.scss'; diff --git a/apps/hobbies-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx b/apps/hobbies-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx index fb05482f8..8d1461186 100644 --- a/apps/hobbies-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx +++ b/apps/hobbies-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx @@ -1,3 +1,8 @@ +import { + isPageType, + SecondaryLink, + usePageContext, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { DateSelector, MobileDateSelector, @@ -8,11 +13,6 @@ import { } from '@events-helsinki/components'; import classnames from 'classnames'; import { Button, ButtonPresetTheme, IconSearch } from 'hds-react'; -import { - isPageType, - SecondaryLink, - usePageContext, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import routerHelper from '../../../domain/app/routerHelper'; import styles from './landingPageSearchForm.module.scss'; diff --git a/apps/hobbies-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx b/apps/hobbies-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx index 9c0603adf..6114410b5 100644 --- a/apps/hobbies-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx +++ b/apps/hobbies-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx @@ -1,9 +1,8 @@ +import { TagComponent as Tag } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { IconLocation } from 'hds-react'; import React from 'react'; -import { TagComponent as Tag } from 'react-helsinki-headless-cms'; - import styles from './venueDetails.module.scss'; export type VenueDetailsProps = { diff --git a/apps/hobbies-helsinki/src/hooks/useHobbiesRHHCConfig.tsx b/apps/hobbies-helsinki/src/hooks/useHobbiesRHHCConfig.tsx index 9fbd14d9b..91ee6660e 100644 --- a/apps/hobbies-helsinki/src/hooks/useHobbiesRHHCConfig.tsx +++ b/apps/hobbies-helsinki/src/hooks/useHobbiesRHHCConfig.tsx @@ -1,4 +1,12 @@ import type { ApolloClient, NormalizedCacheObject } from '@apollo/client'; +import type { + CardProps, + Config, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + defaultConfig as rhhcDefaultConfig, + ModuleItemTypeEnum, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { EventFieldsFragment } from '@events-helsinki/components'; import { useResilientTranslation, @@ -13,11 +21,6 @@ import { ButtonPresetTheme } from 'hds-react'; import Head from 'next/head'; import Link from 'next/link'; import React from 'react'; -import type { CardProps, Config } from 'react-helsinki-headless-cms'; -import { - defaultConfig as rhhcDefaultConfig, - ModuleItemTypeEnum, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../constants'; import AppConfig from '../domain/app/AppConfig'; diff --git a/apps/hobbies-helsinki/src/pages/articles/[...slug].tsx b/apps/hobbies-helsinki/src/pages/articles/[...slug].tsx index bca5ebc2d..0a92fe3ed 100644 --- a/apps/hobbies-helsinki/src/pages/articles/[...slug].tsx +++ b/apps/hobbies-helsinki/src/pages/articles/[...slug].tsx @@ -1,4 +1,22 @@ import type { NormalizedCacheObject } from '@apollo/client'; +import type { + CollectionType, + ArticleType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + getCollections, + Page as RHHCPage, + useConfig, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + ArticleQuery, + ArticleQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { + ArticleDocument, + useCategoriesQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import { NavigationContext, ShareLinks, @@ -35,21 +53,6 @@ import type { import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useContext } from 'react'; -import type { CollectionType, ArticleType } from 'react-helsinki-headless-cms'; -import { - getCollections, - Page as RHHCPage, - useConfig, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - ArticleQuery, - ArticleQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { - ArticleDocument, - useCategoriesQuery, -} from 'react-helsinki-headless-cms/apollo'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import getHobbiesStaticProps from '../../domain/app/getHobbiesStaticProps'; @@ -60,7 +63,10 @@ import serverSideTranslationsWithCommon from '../../domain/i18n/serverSideTransl const CATEGORIES_AMOUNT = 20; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/hobbies-helsinki/src/pages/articles/index.tsx b/apps/hobbies-helsinki/src/pages/articles/index.tsx index 5a4eec119..08e91539a 100644 --- a/apps/hobbies-helsinki/src/pages/articles/index.tsx +++ b/apps/hobbies-helsinki/src/pages/articles/index.tsx @@ -1,5 +1,27 @@ import type { ParsedUrlQueryInput } from 'querystring'; import { NetworkStatus } from '@apollo/client'; +import { + Page as RHHCPage, + Card, + LargeCard, + useConfig, + TemplateEnum, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + ArticleType, + CollectionItemType, + PageType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + useCategoriesQuery, + PageByTemplateDocument, + usePostsQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import type { + PageByTemplateQuery, + PageByTemplateQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { getQlLanguage, @@ -21,28 +43,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import queryString from 'query-string'; import React, { useContext } from 'react'; -import { - Page as RHHCPage, - Card, - LargeCard, - useConfig, - TemplateEnum, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - ArticleType, - CollectionItemType, - PageType, -} from 'react-helsinki-headless-cms'; -import { - useCategoriesQuery, - PageByTemplateDocument, - usePostsQuery, -} from 'react-helsinki-headless-cms/apollo'; -import type { - PageByTemplateQuery, - PageByTemplateQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../../domain/app/AppConfig'; import type { HobbiesGlobalPageProps } from '../../domain/app/getHobbiesStaticProps'; import getHobbiesStaticProps from '../../domain/app/getHobbiesStaticProps'; @@ -54,7 +54,9 @@ const CATEGORIES_AMOUNT = 20; const SearchPageContentNoSSR = dynamic( () => - import('react-helsinki-headless-cms').then((mod) => mod.SearchPageContent), + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.SearchPageContent + ), { ssr: false, } diff --git a/apps/hobbies-helsinki/src/pages/cookie-consent/index.tsx b/apps/hobbies-helsinki/src/pages/cookie-consent/index.tsx index 77cff8457..719d79e61 100644 --- a/apps/hobbies-helsinki/src/pages/cookie-consent/index.tsx +++ b/apps/hobbies-helsinki/src/pages/cookie-consent/index.tsx @@ -1,3 +1,9 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + TemplateEnum, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import commonTranslationsEn from '@events-helsinki/common-i18n/locales/en/common.json'; import commonTranslationsFi from '@events-helsinki/common-i18n/locales/fi/common.json'; import commonTranslationsSv from '@events-helsinki/common-i18n/locales/sv/common.json'; @@ -23,12 +29,6 @@ import { type BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext } from 'next'; import dynamic from 'next/dynamic'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - TemplateEnum, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; import AppConfig from '../../domain/app/AppConfig'; import getHobbiesStaticProps from '../../domain/app/getHobbiesStaticProps'; import ConsentPageContent from '../../domain/cookieConsent/ConsentPageContent'; diff --git a/apps/hobbies-helsinki/src/pages/courses/[eventId]/index.tsx b/apps/hobbies-helsinki/src/pages/courses/[eventId]/index.tsx index 09d63b3f5..76a5b6cc2 100644 --- a/apps/hobbies-helsinki/src/pages/courses/[eventId]/index.tsx +++ b/apps/hobbies-helsinki/src/pages/courses/[eventId]/index.tsx @@ -1,3 +1,8 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { EventDetailsDocument, NavigationContext, @@ -21,11 +26,6 @@ import type { import type { BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext, NextPage } from 'next'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import AppConfig from '../../../domain/app/AppConfig'; import getHobbiesStaticProps from '../../../domain/app/getHobbiesStaticProps'; diff --git a/apps/hobbies-helsinki/src/pages/index.tsx b/apps/hobbies-helsinki/src/pages/index.tsx index dc8f075cf..c195abe0b 100644 --- a/apps/hobbies-helsinki/src/pages/index.tsx +++ b/apps/hobbies-helsinki/src/pages/index.tsx @@ -1,3 +1,17 @@ +import type { + PageType, + ArticleType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + useConfig, + Page as RHHCPage, + TemplateEnum, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageByTemplateQuery, + PageByTemplateQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageByTemplateDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { DEFAULT_LANGUAGE, @@ -15,17 +29,6 @@ import { logger } from '@events-helsinki/components/loggers/logger'; import type { GetStaticPropsContext, NextPage } from 'next'; import dynamic from 'next/dynamic'; import React, { useContext } from 'react'; -import type { PageType, ArticleType } from 'react-helsinki-headless-cms'; -import { - useConfig, - Page as RHHCPage, - TemplateEnum, -} from 'react-helsinki-headless-cms'; -import type { - PageByTemplateQuery, - PageByTemplateQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageByTemplateDocument } from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../domain/app/AppConfig'; import getHobbiesStaticProps from '../domain/app/getHobbiesStaticProps'; import cmsHelper from '../domain/app/headlessCmsHelper'; @@ -33,7 +36,10 @@ import serverSideTranslationsWithCommon from '../domain/i18n/serverSideTranslati import { LandingPageContentLayout } from '../domain/search/landingPage/LandingPage'; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/hobbies-helsinki/src/pages/pages/[...slug].tsx b/apps/hobbies-helsinki/src/pages/pages/[...slug].tsx index a543980f1..9c1c828cb 100644 --- a/apps/hobbies-helsinki/src/pages/pages/[...slug].tsx +++ b/apps/hobbies-helsinki/src/pages/pages/[...slug].tsx @@ -1,4 +1,19 @@ import type { NormalizedCacheObject } from '@apollo/client'; +import type { + CollectionType, + PageType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + getCollections, + Page as RHHCPage, + useConfig, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageQuery, + PageQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { AppLanguage, PreviewDataObject, @@ -24,18 +39,6 @@ import type { } from 'next'; import dynamic from 'next/dynamic'; import { useContext } from 'react'; -import type { CollectionType, PageType } from 'react-helsinki-headless-cms'; -import { - getCollections, - Page as RHHCPage, - useConfig, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - PageQuery, - PageQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageDocument } from 'react-helsinki-headless-cms/apollo'; import Navigation from '../../../../../packages/components/src/components/navigation/Navigation'; import AppConfig from '../../domain/app/AppConfig'; import getHobbiesStaticProps from '../../domain/app/getHobbiesStaticProps'; @@ -44,7 +47,10 @@ import { hobbiesApolloClient } from '../../domain/clients/hobbiesApolloClient'; import serverSideTranslationsWithCommon from '../../domain/i18n/serverSideTranslationsWithCommon'; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/hobbies-helsinki/src/pages/search/index.tsx b/apps/hobbies-helsinki/src/pages/search/index.tsx index 081951d11..62933f880 100644 --- a/apps/hobbies-helsinki/src/pages/search/index.tsx +++ b/apps/hobbies-helsinki/src/pages/search/index.tsx @@ -1,3 +1,14 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + PageContextProvider, + Page as RHHCPage, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageQuery, + PageQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { NavigationContext, @@ -17,17 +28,6 @@ import type { GetStaticPropsContext, NextPage } from 'next'; import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import React, { useRef, useEffect, useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - PageContextProvider, - Page as RHHCPage, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - PageQuery, - PageQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageDocument } from 'react-helsinki-headless-cms/apollo'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import getHobbiesStaticProps from '../../domain/app/getHobbiesStaticProps'; diff --git a/apps/sports-helsinki/config/vitest/TestProviders.tsx b/apps/sports-helsinki/config/vitest/TestProviders.tsx index f51df450d..447ec1842 100644 --- a/apps/sports-helsinki/config/vitest/TestProviders.tsx +++ b/apps/sports-helsinki/config/vitest/TestProviders.tsx @@ -7,6 +7,13 @@ import type { import { useApolloClient } from '@apollo/client'; import { MockedProvider } from '@apollo/client/testing'; import type { MockedResponse } from '@apollo/client/testing'; +import { + ConfigProvider as RHHCConfigProvider, + defaultConfig as rhhcDefaultConfig, + getUri, + ModuleItemTypeEnum, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { Config as RHHCConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import { AppRoutingProvider, CmsHelperProvider, @@ -20,13 +27,6 @@ import Link from 'next/link'; import type { NextRouter } from 'next/router'; import React from 'react'; import { ErrorBoundary } from 'react-error-boundary'; -import { - ConfigProvider as RHHCConfigProvider, - defaultConfig as rhhcDefaultConfig, - getUri, - ModuleItemTypeEnum, -} from 'react-helsinki-headless-cms'; -import type { Config as RHHCConfig } from 'react-helsinki-headless-cms'; import { I18nextProvider } from 'react-i18next'; import { ROUTES } from '../../src/constants'; import cmsHelper from '../../src/domain/app/headlessCmsHelper'; diff --git a/apps/sports-helsinki/package.json b/apps/sports-helsinki/package.json index 3b63f5648..96080e966 100644 --- a/apps/sports-helsinki/package.json +++ b/apps/sports-helsinki/package.json @@ -50,6 +50,7 @@ "@apollo/client": "^3.11.10", "@apollo/datasource-rest": "6.4.1", "@apollo/subgraph": "2.11.2", + "@city-of-helsinki/react-helsinki-headless-cms": "3.0.0", "@events-helsinki/common-i18n": "workspace:^", "@events-helsinki/components": "workspace:^", "@sentry/browser": "9.38.0", @@ -84,7 +85,6 @@ "react-datepicker": "^8.4.0", "react-dom": "18.3.1", "react-error-boundary": "4.0.10", - "react-helsinki-headless-cms": "2.0.2", "react-i18next": "15.6.0", "react-leaflet": "4.2.1", "react-scroll": "^1.9.3", diff --git a/apps/sports-helsinki/src/domain/app/SportsApolloProvider.tsx b/apps/sports-helsinki/src/domain/app/SportsApolloProvider.tsx index 629e811ab..12b8eea6d 100644 --- a/apps/sports-helsinki/src/domain/app/SportsApolloProvider.tsx +++ b/apps/sports-helsinki/src/domain/app/SportsApolloProvider.tsx @@ -1,10 +1,10 @@ import { ApolloProvider as BaseApolloProvider } from '@apollo/client'; +import { ConfigProvider as RHHCConfigProvider } from '@city-of-helsinki/react-helsinki-headless-cms'; import { ApolloErrorNotification, useApolloErrorHandler, } from '@events-helsinki/components'; import React from 'react'; -import { ConfigProvider as RHHCConfigProvider } from 'react-helsinki-headless-cms'; import useSportsRHHCConfig from '../../hooks/useSportsRHHCConfig'; import { useSportsApolloClient } from '../clients/sportsApolloClient'; diff --git a/apps/sports-helsinki/src/domain/app/getSportsStaticProps.ts b/apps/sports-helsinki/src/domain/app/getSportsStaticProps.ts index f84f0050d..068d47d92 100644 --- a/apps/sports-helsinki/src/domain/app/getSportsStaticProps.ts +++ b/apps/sports-helsinki/src/domain/app/getSportsStaticProps.ts @@ -1,4 +1,5 @@ import type { ApolloClient, NormalizedCacheObject } from '@apollo/client'; +import { MenuDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { Menu, Language } from '@events-helsinki/components'; import { DEFAULT_FOOTER_MENU_NAME, @@ -8,7 +9,6 @@ import { DEFAULT_HEADER_UNIVERSAL_BAR_MENU_NAME, } from '@events-helsinki/components'; import type { GetStaticPropsContext, GetStaticPropsResult } from 'next'; -import { MenuDocument } from 'react-helsinki-headless-cms/apollo'; import { staticGenerationLogger } from '../../logger'; import initializeSportsApolloClient from '../clients/sportsApolloClient'; import AppConfig from './AppConfig'; diff --git a/apps/sports-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx b/apps/sports-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx index c916205bb..97e945588 100644 --- a/apps/sports-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx +++ b/apps/sports-helsinki/src/domain/article/articleDetails/ArticleDetails.tsx @@ -1,5 +1,5 @@ +import { TagComponent as Tag } from '@city-of-helsinki/react-helsinki-headless-cms'; import React from 'react'; -import { TagComponent as Tag } from 'react-helsinki-headless-cms'; import styles from './articleDetails.module.scss'; diff --git a/apps/sports-helsinki/src/domain/event/EventPageContainer.tsx b/apps/sports-helsinki/src/domain/event/EventPageContainer.tsx index b698a9f60..647ce1848 100644 --- a/apps/sports-helsinki/src/domain/event/EventPageContainer.tsx +++ b/apps/sports-helsinki/src/domain/event/EventPageContainer.tsx @@ -1,3 +1,4 @@ +import { Link } from '@city-of-helsinki/react-helsinki-headless-cms'; import { LoadingSpinner, useLocale, @@ -17,7 +18,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React, { useState } from 'react'; -import { Link } from 'react-helsinki-headless-cms'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; diff --git a/apps/sports-helsinki/src/domain/search/combinedSearch/CombinedSearchPage.tsx b/apps/sports-helsinki/src/domain/search/combinedSearch/CombinedSearchPage.tsx index dfb93001c..0ddf31626 100644 --- a/apps/sports-helsinki/src/domain/search/combinedSearch/CombinedSearchPage.tsx +++ b/apps/sports-helsinki/src/domain/search/combinedSearch/CombinedSearchPage.tsx @@ -1,3 +1,7 @@ +import { + ContentContainer, + PageSection, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useSearchTranslation, EventTypeId, @@ -5,7 +9,6 @@ import { } from '@events-helsinki/components'; import classNames from 'classnames'; import React from 'react'; -import { ContentContainer, PageSection } from 'react-helsinki-headless-cms'; import { SEARCH_ROUTES } from '../../../constants'; import { SimpleSearchForm } from '../combinedSearch/SearchForm'; import EventSearchPage from '../eventSearch/SearchPage'; diff --git a/apps/sports-helsinki/src/domain/search/combinedSearch/SearchUtilities.tsx b/apps/sports-helsinki/src/domain/search/combinedSearch/SearchUtilities.tsx index 6c4c01736..a62134eb8 100644 --- a/apps/sports-helsinki/src/domain/search/combinedSearch/SearchUtilities.tsx +++ b/apps/sports-helsinki/src/domain/search/combinedSearch/SearchUtilities.tsx @@ -1,3 +1,7 @@ +import { + ContentContainer, + PageSection, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useSearchTranslation, EventTypeId, @@ -7,7 +11,6 @@ import { import { Button, ButtonPresetTheme, ButtonVariant } from 'hds-react'; import { useRouter } from 'next/router'; import React, { useMemo } from 'react'; -import { ContentContainer, PageSection } from 'react-helsinki-headless-cms'; import { SEARCH_ROUTES } from '../../../constants'; import styles from './combinedSearchPage.module.scss'; import { useSearchTabResultCounts } from './hooks'; diff --git a/apps/sports-helsinki/src/domain/search/combinedSearch/types.ts b/apps/sports-helsinki/src/domain/search/combinedSearch/types.ts index 8c1ee8cab..c11efb6af 100644 --- a/apps/sports-helsinki/src/domain/search/combinedSearch/types.ts +++ b/apps/sports-helsinki/src/domain/search/combinedSearch/types.ts @@ -1,3 +1,4 @@ +import type { Config } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { EventListQuery, EventListQueryVariables, @@ -6,7 +7,6 @@ import type { KeysOfArrayFields, } from '@events-helsinki/components'; import type { FormEvent } from 'react'; -import type { Config } from 'react-helsinki-headless-cms'; import type { SearchRoute } from '../../../types'; export type SearchType = 'venue' | 'event' | 'course'; diff --git a/apps/sports-helsinki/src/domain/search/eventSearch/hooks/useSearchPage.tsx b/apps/sports-helsinki/src/domain/search/eventSearch/hooks/useSearchPage.tsx index ced951a4d..0789f9ccb 100644 --- a/apps/sports-helsinki/src/domain/search/eventSearch/hooks/useSearchPage.tsx +++ b/apps/sports-helsinki/src/domain/search/eventSearch/hooks/useSearchPage.tsx @@ -1,3 +1,4 @@ +import { useConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import { EventTypeId, useSearchTranslation, @@ -8,7 +9,6 @@ import { } from '@events-helsinki/components'; import { useRouter } from 'next/router'; import React from 'react'; -import { useConfig } from 'react-helsinki-headless-cms'; import { scroller } from 'react-scroll'; import { toast } from 'react-toastify'; import { SEARCH_ROUTES } from '../../../../constants'; diff --git a/apps/sports-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx b/apps/sports-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx index 423efb59f..73e3f9c8c 100644 --- a/apps/sports-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx +++ b/apps/sports-helsinki/src/domain/search/eventSearch/searchResultList/SearchResultsContainer.tsx @@ -1,7 +1,10 @@ +import { + ContentContainer, + PageSection, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { EventTypeId } from '@events-helsinki/components'; import { useSearchTranslation } from '@events-helsinki/components'; import React from 'react'; -import { ContentContainer, PageSection } from 'react-helsinki-headless-cms'; import ResultsInfoContainer from './ResultsInfo'; import styles from './searchResultList.module.scss'; diff --git a/apps/sports-helsinki/src/domain/search/landingPage/LandingPage.tsx b/apps/sports-helsinki/src/domain/search/landingPage/LandingPage.tsx index 144cb2646..d39836fac 100644 --- a/apps/sports-helsinki/src/domain/search/landingPage/LandingPage.tsx +++ b/apps/sports-helsinki/src/domain/search/landingPage/LandingPage.tsx @@ -1,9 +1,12 @@ -import React from 'react'; import type { PageContentLayoutProps, PageType, -} from 'react-helsinki-headless-cms'; -import { PageSection, ContentContainer } from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + PageSection, + ContentContainer, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import React from 'react'; import LandingPageSearch from '../landingPageSearch/LandingPageSearch'; import styles from './landingPage.module.scss'; diff --git a/apps/sports-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx b/apps/sports-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx index e2e2e0986..e14f48c40 100644 --- a/apps/sports-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx +++ b/apps/sports-helsinki/src/domain/search/landingPageSearch/LandingPageSearchForm.tsx @@ -1,3 +1,8 @@ +import { + isPageType, + SecondaryLink, + usePageContext, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useAppSportsTranslation, useLocale, @@ -6,11 +11,6 @@ import { } from '@events-helsinki/components'; import classnames from 'classnames'; import { Button, ButtonVariant, IconSearch } from 'hds-react'; -import { - isPageType, - SecondaryLink, - usePageContext, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import routerHelper from '../../../domain/app/routerHelper'; import styles from './landingPageSearchForm.module.scss'; diff --git a/apps/sports-helsinki/src/domain/search/searchHeader/SearchHeader.tsx b/apps/sports-helsinki/src/domain/search/searchHeader/SearchHeader.tsx index bfa9cccc0..e09b7022f 100644 --- a/apps/sports-helsinki/src/domain/search/searchHeader/SearchHeader.tsx +++ b/apps/sports-helsinki/src/domain/search/searchHeader/SearchHeader.tsx @@ -1,3 +1,7 @@ +import { + ContentContainer, + PageSection, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useCommonTranslation, Text, @@ -14,7 +18,6 @@ import { IconMenuHamburger, } from 'hds-react'; import React, { useRef, useState } from 'react'; -import { ContentContainer, PageSection } from 'react-helsinki-headless-cms'; import styles from './searchHeader.module.scss'; type Props = { diff --git a/apps/sports-helsinki/src/domain/search/venueSearch/VenueMapSearch.tsx b/apps/sports-helsinki/src/domain/search/venueSearch/VenueMapSearch.tsx index 5ec96a42d..c2b3e191f 100644 --- a/apps/sports-helsinki/src/domain/search/venueSearch/VenueMapSearch.tsx +++ b/apps/sports-helsinki/src/domain/search/venueSearch/VenueMapSearch.tsx @@ -1,5 +1,5 @@ +import { usePageContext } from '@city-of-helsinki/react-helsinki-headless-cms'; import { useSearchTranslation } from '@events-helsinki/components'; -import { usePageContext } from 'react-helsinki-headless-cms'; import { SEARCH_ROUTES } from '../../../constants'; import styles from './search.module.scss'; import SimpleVenueSearch from './VenueSearch'; diff --git a/apps/sports-helsinki/src/domain/search/venueSearch/hooks/useSearchPage.tsx b/apps/sports-helsinki/src/domain/search/venueSearch/hooks/useSearchPage.tsx index d5028d243..5e8db5e4b 100644 --- a/apps/sports-helsinki/src/domain/search/venueSearch/hooks/useSearchPage.tsx +++ b/apps/sports-helsinki/src/domain/search/venueSearch/hooks/useSearchPage.tsx @@ -1,3 +1,4 @@ +import { useConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import { useSearchTranslation, useIsSmallScreen, @@ -6,7 +7,6 @@ import { import type { UnifiedSearchVenue } from '@events-helsinki/components'; import { useRouter } from 'next/router'; import React from 'react'; -import { useConfig } from 'react-helsinki-headless-cms'; import { scroller } from 'react-scroll'; import { toast } from 'react-toastify'; import { SEARCH_ROUTES } from '../../../../constants'; diff --git a/apps/sports-helsinki/src/domain/venue/VenuePageContainer.tsx b/apps/sports-helsinki/src/domain/venue/VenuePageContainer.tsx index b894ad8ca..479efb089 100644 --- a/apps/sports-helsinki/src/domain/venue/VenuePageContainer.tsx +++ b/apps/sports-helsinki/src/domain/venue/VenuePageContainer.tsx @@ -1,3 +1,4 @@ +import { Link } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { LoadingSpinner, @@ -13,7 +14,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { Link } from 'react-helsinki-headless-cms'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import routerHelper from '../../domain/app/routerHelper'; diff --git a/apps/sports-helsinki/src/domain/venue/similarVenues/SimilarVenuesSection.tsx b/apps/sports-helsinki/src/domain/venue/similarVenues/SimilarVenuesSection.tsx index 66cfe0e5e..c5910146c 100644 --- a/apps/sports-helsinki/src/domain/venue/similarVenues/SimilarVenuesSection.tsx +++ b/apps/sports-helsinki/src/domain/venue/similarVenues/SimilarVenuesSection.tsx @@ -1,3 +1,9 @@ +import type { CollectionProps } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Collection, + ContentContainer, + PageSection, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { useVenueTranslation, @@ -6,12 +12,6 @@ import { import classNames from 'classnames'; import { useRouter } from 'next/router'; import React from 'react'; -import type { CollectionProps } from 'react-helsinki-headless-cms'; -import { - Collection, - ContentContainer, - PageSection, -} from 'react-helsinki-headless-cms'; import { useSimilarVenuesQuery } from '../../../domain/event/queryUtils'; import useVenueCards from '../useVenueCards'; import styles from './similarVenues.module.scss'; diff --git a/apps/sports-helsinki/src/domain/venue/upcomingEvents/UpcomingEventsSection.tsx b/apps/sports-helsinki/src/domain/venue/upcomingEvents/UpcomingEventsSection.tsx index a7cd8a378..9d6fdaa0f 100644 --- a/apps/sports-helsinki/src/domain/venue/upcomingEvents/UpcomingEventsSection.tsx +++ b/apps/sports-helsinki/src/domain/venue/upcomingEvents/UpcomingEventsSection.tsx @@ -1,3 +1,9 @@ +import type { CollectionProps } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Collection, + PageSection, + ContentContainer, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { GetCardUrlType, useLocationUpcomingEventsQueryProps, @@ -13,12 +19,6 @@ import { import classNames from 'classnames'; import { useRouter } from 'next/router'; import React from 'react'; -import type { CollectionProps } from 'react-helsinki-headless-cms'; -import { - Collection, - PageSection, - ContentContainer, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import { PARAM_SEARCH_TYPE } from '../../search/combinedSearch/constants'; diff --git a/apps/sports-helsinki/src/domain/venue/useVenueCards.tsx b/apps/sports-helsinki/src/domain/venue/useVenueCards.tsx index cb72c1df6..4e1a95940 100644 --- a/apps/sports-helsinki/src/domain/venue/useVenueCards.tsx +++ b/apps/sports-helsinki/src/domain/venue/useVenueCards.tsx @@ -1,11 +1,11 @@ -import type { Venue } from '@events-helsinki/components'; -import { useLocale } from '@events-helsinki/components'; -import React from 'react'; import { Card, getLocationCardProps, useConfig, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { Venue } from '@events-helsinki/components'; +import { useLocale } from '@events-helsinki/components'; +import React from 'react'; import { ROUTES } from '../../constants'; import { Sources } from '../../domain/app/appConstants'; import routerHelper from '../../domain/app/routerHelper'; diff --git a/apps/sports-helsinki/src/domain/venue/venueCard/LargeVenueCard.tsx b/apps/sports-helsinki/src/domain/venue/venueCard/LargeVenueCard.tsx index fb8689c38..41f3b73c2 100644 --- a/apps/sports-helsinki/src/domain/venue/venueCard/LargeVenueCard.tsx +++ b/apps/sports-helsinki/src/domain/venue/venueCard/LargeVenueCard.tsx @@ -1,3 +1,9 @@ +import { + BackgroundImage, + LinkBox, + SecondaryLink, + TagComponent as Tag, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useLocale, getLargeEventCardId, @@ -10,12 +16,6 @@ import { import { IconLocation, IconSize } from 'hds-react'; import { useRouter } from 'next/router'; import React from 'react'; -import { - BackgroundImage, - LinkBox, - SecondaryLink, - TagComponent as Tag, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import routerHelper from '../../../domain/app/routerHelper'; import styles from './largeVenueCard.module.scss'; diff --git a/apps/sports-helsinki/src/domain/venue/venueContent/VenueContent.tsx b/apps/sports-helsinki/src/domain/venue/venueContent/VenueContent.tsx index 5551c4f90..a4a851de6 100644 --- a/apps/sports-helsinki/src/domain/venue/venueContent/VenueContent.tsx +++ b/apps/sports-helsinki/src/domain/venue/venueContent/VenueContent.tsx @@ -1,3 +1,9 @@ +import { + PageSection, + ContentContainer, + Link, + HtmlToReact, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { useVenueTranslation, @@ -6,12 +12,6 @@ import { } from '@events-helsinki/components'; import classNames from 'classnames'; import React from 'react'; -import { - PageSection, - ContentContainer, - Link, - HtmlToReact, -} from 'react-helsinki-headless-cms'; import VenueHighlights from '../venueHighlights/VenueHighlights'; import VenueInfo from '../venueInfo/VenueInfo'; import VenueLocation from '../venueLocation/VenueLocation'; diff --git a/apps/sports-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx b/apps/sports-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx index 2a031dc03..384ced2a0 100644 --- a/apps/sports-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx +++ b/apps/sports-helsinki/src/domain/venue/venueDetails/VenueDetails.tsx @@ -1,9 +1,8 @@ +import { TagComponent as Tag } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { IconLocation } from 'hds-react'; import React from 'react'; -import { TagComponent as Tag } from 'react-helsinki-headless-cms'; - import styles from './venueDetails.module.scss'; export type VenueDetailsProps = { diff --git a/apps/sports-helsinki/src/domain/venue/venueHero/VenueHero.tsx b/apps/sports-helsinki/src/domain/venue/venueHero/VenueHero.tsx index fc3a8cf29..cd9d3f5cd 100644 --- a/apps/sports-helsinki/src/domain/venue/venueHero/VenueHero.tsx +++ b/apps/sports-helsinki/src/domain/venue/venueHero/VenueHero.tsx @@ -1,3 +1,9 @@ +import { + BackgroundImage, + ContentContainer, + PageSection, + useConfig, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { useLocale, @@ -17,12 +23,6 @@ import { IconArrowLeft, IconClock, IconLocation, IconTicket } from 'hds-react'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { - BackgroundImage, - ContentContainer, - PageSection, - useConfig, -} from 'react-helsinki-headless-cms'; import getVenueOpeningTimeDescription from '../utils/getVenueOpeningTimeDescription'; import VenueKeywords from '../venueKeywords/VenueKeywords'; diff --git a/apps/sports-helsinki/src/domain/venue/venueHighlights/VenueHighlights.tsx b/apps/sports-helsinki/src/domain/venue/venueHighlights/VenueHighlights.tsx index a7da6f989..af37a075a 100644 --- a/apps/sports-helsinki/src/domain/venue/venueHighlights/VenueHighlights.tsx +++ b/apps/sports-helsinki/src/domain/venue/venueHighlights/VenueHighlights.tsx @@ -1,7 +1,10 @@ import { createHash } from 'crypto'; +import { + HtmlToReact, + Link, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue, VenueConnection } from '@events-helsinki/components'; import React from 'react'; -import { HtmlToReact, Link } from 'react-helsinki-headless-cms'; import styles from './venueHighlights.module.scss'; type HighlightConnection = Exclude & { diff --git a/apps/sports-helsinki/src/domain/venue/venueInfo/VenueInfo.tsx b/apps/sports-helsinki/src/domain/venue/venueInfo/VenueInfo.tsx index 3643568ff..a7ac3d812 100644 --- a/apps/sports-helsinki/src/domain/venue/venueInfo/VenueInfo.tsx +++ b/apps/sports-helsinki/src/domain/venue/venueInfo/VenueInfo.tsx @@ -1,3 +1,7 @@ +import { + Link, + SecondaryLink, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import { InfoWithIcon, @@ -20,7 +24,6 @@ import { } from 'hds-react'; import { useRouter } from 'next/router'; import React from 'react'; -import { Link, SecondaryLink } from 'react-helsinki-headless-cms'; import { getGoogleDirectionsUrl, getHSLDirectionsUrl, diff --git a/apps/sports-helsinki/src/domain/venue/venuePageMeta/VenuePageMeta.tsx b/apps/sports-helsinki/src/domain/venue/venuePageMeta/VenuePageMeta.tsx index 447e14b14..913723fc5 100644 --- a/apps/sports-helsinki/src/domain/venue/venuePageMeta/VenuePageMeta.tsx +++ b/apps/sports-helsinki/src/domain/venue/venuePageMeta/VenuePageMeta.tsx @@ -1,7 +1,7 @@ +import { useConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { Venue } from '@events-helsinki/components'; import Head from 'next/head'; import React from 'react'; -import { useConfig } from 'react-helsinki-headless-cms'; interface Props { venue: Venue; diff --git a/apps/sports-helsinki/src/hooks/useSportsRHHCConfig.tsx b/apps/sports-helsinki/src/hooks/useSportsRHHCConfig.tsx index fa7fc10ce..c60ef41ee 100644 --- a/apps/sports-helsinki/src/hooks/useSportsRHHCConfig.tsx +++ b/apps/sports-helsinki/src/hooks/useSportsRHHCConfig.tsx @@ -1,4 +1,12 @@ import type { ApolloClient, NormalizedCacheObject } from '@apollo/client'; +import type { + CardProps, + Config, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + defaultConfig as rhhcDefaultConfig, + ModuleItemTypeEnum, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import type { EventFieldsFragment } from '@events-helsinki/components'; import { useResilientTranslation, @@ -13,11 +21,6 @@ import { ButtonVariant } from 'hds-react'; import Head from 'next/head'; import Link from 'next/link'; import React from 'react'; -import type { CardProps, Config } from 'react-helsinki-headless-cms'; -import { - defaultConfig as rhhcDefaultConfig, - ModuleItemTypeEnum, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../constants'; import AppConfig from '../domain/app/AppConfig'; import routerHelper from '../domain/app/routerHelper'; diff --git a/apps/sports-helsinki/src/pages/articles/[...slug].tsx b/apps/sports-helsinki/src/pages/articles/[...slug].tsx index 9f98bc113..7522e8a30 100644 --- a/apps/sports-helsinki/src/pages/articles/[...slug].tsx +++ b/apps/sports-helsinki/src/pages/articles/[...slug].tsx @@ -1,4 +1,22 @@ import type { NormalizedCacheObject } from '@apollo/client'; +import type { + CollectionType, + ArticleType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + getCollections, + Page as RHHCPage, + useConfig, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + ArticleQuery, + ArticleQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { + ArticleDocument, + useCategoriesQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import { NavigationContext, ShareLinks, @@ -35,21 +53,6 @@ import type { import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useContext } from 'react'; -import type { CollectionType, ArticleType } from 'react-helsinki-headless-cms'; -import { - getCollections, - Page as RHHCPage, - useConfig, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - ArticleQuery, - ArticleQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { - ArticleDocument, - useCategoriesQuery, -} from 'react-helsinki-headless-cms/apollo'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import getSportsStaticProps from '../../domain/app/getSportsStaticProps'; @@ -60,7 +63,10 @@ import serverSideTranslationsWithCommon from '../../domain/i18n/serverSideTransl const CATEGORIES_AMOUNT = 20; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/sports-helsinki/src/pages/articles/index.tsx b/apps/sports-helsinki/src/pages/articles/index.tsx index 0511d921f..6a0a22509 100644 --- a/apps/sports-helsinki/src/pages/articles/index.tsx +++ b/apps/sports-helsinki/src/pages/articles/index.tsx @@ -1,5 +1,27 @@ import type { ParsedUrlQueryInput } from 'querystring'; import { NetworkStatus } from '@apollo/client'; +import { + Page as RHHCPage, + Card, + LargeCard, + useConfig, + TemplateEnum, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + ArticleType, + CollectionItemType, + PageType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + useCategoriesQuery, + PageByTemplateDocument, + usePostsQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import type { + PageByTemplateQuery, + PageByTemplateQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { getQlLanguage, @@ -21,28 +43,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import queryString from 'query-string'; import React, { useContext } from 'react'; -import { - Page as RHHCPage, - Card, - LargeCard, - useConfig, - TemplateEnum, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - ArticleType, - CollectionItemType, - PageType, -} from 'react-helsinki-headless-cms'; -import { - useCategoriesQuery, - PageByTemplateDocument, - usePostsQuery, -} from 'react-helsinki-headless-cms/apollo'; -import type { - PageByTemplateQuery, - PageByTemplateQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../../domain/app/AppConfig'; import type { SportsGlobalPageProps } from '../../domain/app/getSportsStaticProps'; import getSportsStaticProps from '../../domain/app/getSportsStaticProps'; @@ -54,7 +54,9 @@ const CATEGORIES_AMOUNT = 20; const SearchPageContentNoSSR = dynamic( () => - import('react-helsinki-headless-cms').then((mod) => mod.SearchPageContent), + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.SearchPageContent + ), { ssr: false, } diff --git a/apps/sports-helsinki/src/pages/cookie-consent/index.tsx b/apps/sports-helsinki/src/pages/cookie-consent/index.tsx index 518857968..99d050c3d 100644 --- a/apps/sports-helsinki/src/pages/cookie-consent/index.tsx +++ b/apps/sports-helsinki/src/pages/cookie-consent/index.tsx @@ -1,3 +1,9 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + TemplateEnum, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import commonTranslationsEn from '@events-helsinki/common-i18n/locales/en/common.json'; import commonTranslationsFi from '@events-helsinki/common-i18n/locales/fi/common.json'; import commonTranslationsSv from '@events-helsinki/common-i18n/locales/sv/common.json'; @@ -23,12 +29,6 @@ import type { BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext } from 'next'; import dynamic from 'next/dynamic'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - TemplateEnum, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; import AppConfig from '../../domain/app/AppConfig'; import getSportsStaticProps from '../../domain/app/getSportsStaticProps'; import ConsentPageContent from '../../domain/cookieConsent/ConsentPageContent'; diff --git a/apps/sports-helsinki/src/pages/courses/[eventId]/index.tsx b/apps/sports-helsinki/src/pages/courses/[eventId]/index.tsx index b1e43f1c0..3ff62960b 100644 --- a/apps/sports-helsinki/src/pages/courses/[eventId]/index.tsx +++ b/apps/sports-helsinki/src/pages/courses/[eventId]/index.tsx @@ -1,3 +1,8 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { EventDetailsDocument, NavigationContext, @@ -21,11 +26,6 @@ import type { import type { BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext, NextPage } from 'next'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import AppConfig from '../../../domain/app/AppConfig'; import getSportsStaticProps from '../../../domain/app/getSportsStaticProps'; diff --git a/apps/sports-helsinki/src/pages/index.tsx b/apps/sports-helsinki/src/pages/index.tsx index 2d7bed29d..1c0035693 100644 --- a/apps/sports-helsinki/src/pages/index.tsx +++ b/apps/sports-helsinki/src/pages/index.tsx @@ -1,3 +1,17 @@ +import type { + PageType, + ArticleType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + useConfig, + Page as RHHCPage, + TemplateEnum, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageByTemplateQuery, + PageByTemplateQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageByTemplateDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { DEFAULT_LANGUAGE, @@ -15,17 +29,6 @@ import { logger } from '@events-helsinki/components/loggers/logger'; import type { GetStaticPropsContext, NextPage } from 'next'; import dynamic from 'next/dynamic'; import React, { useContext } from 'react'; -import type { PageType, ArticleType } from 'react-helsinki-headless-cms'; -import { - useConfig, - Page as RHHCPage, - TemplateEnum, -} from 'react-helsinki-headless-cms'; -import type { - PageByTemplateQuery, - PageByTemplateQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageByTemplateDocument } from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../domain/app/AppConfig'; import getSportsStaticProps from '../domain/app/getSportsStaticProps'; import cmsHelper from '../domain/app/headlessCmsHelper'; @@ -33,7 +36,10 @@ import serverSideTranslationsWithCommon from '../domain/i18n/serverSideTranslati import { LandingPageContentLayout } from '../domain/search/landingPage/LandingPage'; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/sports-helsinki/src/pages/pages/[...slug].tsx b/apps/sports-helsinki/src/pages/pages/[...slug].tsx index 68ac96cc2..98d9d4aab 100644 --- a/apps/sports-helsinki/src/pages/pages/[...slug].tsx +++ b/apps/sports-helsinki/src/pages/pages/[...slug].tsx @@ -1,4 +1,19 @@ import type { NormalizedCacheObject } from '@apollo/client'; +import type { + CollectionType, + PageType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + getCollections, + Page as RHHCPage, + useConfig, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageQuery, + PageQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { AppLanguage, PreviewDataObject, @@ -25,18 +40,6 @@ import type { } from 'next'; import dynamic from 'next/dynamic'; import { useContext } from 'react'; -import type { CollectionType, PageType } from 'react-helsinki-headless-cms'; -import { - getCollections, - Page as RHHCPage, - useConfig, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; -import type { - PageQuery, - PageQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageDocument } from 'react-helsinki-headless-cms/apollo'; import AppConfig from '../../domain/app/AppConfig'; import getSportsStaticProps from '../../domain/app/getSportsStaticProps'; import cmsHelper from '../../domain/app/headlessCmsHelper'; @@ -44,7 +47,10 @@ import { sportsApolloClient } from '../../domain/clients/sportsApolloClient'; import serverSideTranslationsWithCommon from '../../domain/i18n/serverSideTranslationsWithCommon'; const RHHCPageContentNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.PageContent), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.PageContent + ), { ssr: false, } diff --git a/apps/sports-helsinki/src/pages/search/index.tsx b/apps/sports-helsinki/src/pages/search/index.tsx index 6ad2d7071..e14f6d2c7 100644 --- a/apps/sports-helsinki/src/pages/search/index.tsx +++ b/apps/sports-helsinki/src/pages/search/index.tsx @@ -1,3 +1,14 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + getBreadcrumbsFromPage, + getTextFromHtml, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageQuery, + PageQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { PreviewDataObject } from '@events-helsinki/components'; import { NavigationContext, @@ -16,17 +27,6 @@ import type { BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext, NextPage } from 'next'; import dynamic from 'next/dynamic'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - getBreadcrumbsFromPage, - getTextFromHtml, -} from 'react-helsinki-headless-cms'; -import type { - PageQuery, - PageQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageDocument } from 'react-helsinki-headless-cms/apollo'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import getSportsStaticProps from '../../domain/app/getSportsStaticProps'; diff --git a/apps/sports-helsinki/src/pages/search/map.tsx b/apps/sports-helsinki/src/pages/search/map.tsx index 91b4ab07f..a1f1a85a2 100644 --- a/apps/sports-helsinki/src/pages/search/map.tsx +++ b/apps/sports-helsinki/src/pages/search/map.tsx @@ -1,3 +1,14 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + PageContextProvider, + PageSection, + Page as RHHCPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { + PageQuery, + PageQueryVariables, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; +import { PageDocument } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import type { MapItem, AppLanguage } from '@events-helsinki/components'; import { useLocale, @@ -14,17 +25,6 @@ import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import queryString from 'query-string'; import React from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - PageContextProvider, - PageSection, - Page as RHHCPage, -} from 'react-helsinki-headless-cms'; -import type { - PageQuery, - PageQueryVariables, -} from 'react-helsinki-headless-cms/apollo'; -import { PageDocument } from 'react-helsinki-headless-cms/apollo'; import { ROUTES } from '../../constants'; import AppConfig from '../../domain/app/AppConfig'; import getSportsStaticProps from '../../domain/app/getSportsStaticProps'; diff --git a/apps/sports-helsinki/src/pages/venues/[venueId]/index.tsx b/apps/sports-helsinki/src/pages/venues/[venueId]/index.tsx index 2d1332577..388e2af90 100644 --- a/apps/sports-helsinki/src/pages/venues/[venueId]/index.tsx +++ b/apps/sports-helsinki/src/pages/venues/[venueId]/index.tsx @@ -1,3 +1,8 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Page as RHHCPage, + getBreadcrumbsFromPage, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { NavigationContext, VenueDocument, @@ -19,11 +24,6 @@ import type { import type { BreadcrumbListItem } from 'hds-react'; import type { GetStaticPropsContext, NextPage } from 'next'; import React, { useContext } from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; -import { - Page as RHHCPage, - getBreadcrumbsFromPage, -} from 'react-helsinki-headless-cms'; import { ROUTES } from '../../../constants'; import AppConfig from '../../../domain/app/AppConfig'; import getSportsStaticProps from '../../../domain/app/getSportsStaticProps'; diff --git a/packages/components/config/tests/app-test-providers.tsx b/packages/components/config/tests/app-test-providers.tsx index 719954235..0898c7794 100644 --- a/packages/components/config/tests/app-test-providers.tsx +++ b/packages/components/config/tests/app-test-providers.tsx @@ -8,6 +8,11 @@ import { useApolloClient } from '@apollo/client/react/index.js'; import { MockedProvider } from '@apollo/client/testing/index.js'; import type { MockedResponse } from '@apollo/client/testing/index.js'; +import { + ConfigProvider as RHHCConfigProvider, + defaultConfig as rhhcDefaultConfig, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import type { Config as RHHCConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import { initTestI18n as i18n } from '@events-helsinki/common-i18n'; import { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime'; import Head from 'next/head'; @@ -15,11 +20,6 @@ import Link from 'next/link'; import type { NextRouter } from 'next/router'; import React from 'react'; import { ErrorBoundary } from 'react-error-boundary'; -import { - ConfigProvider as RHHCConfigProvider, - defaultConfig as rhhcDefaultConfig, -} from 'react-helsinki-headless-cms'; -import type { Config as RHHCConfig } from 'react-helsinki-headless-cms'; import { I18nextTestStubProvider } from '@/test-utils'; import { diff --git a/packages/components/package.json b/packages/components/package.json index 693dae87b..46a27ce3c 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -41,6 +41,7 @@ "dependencies": { "@apollo/client": "^3.11.10", "@changey/react-leaflet-markercluster": "4.0.0-rc1", + "@city-of-helsinki/react-helsinki-headless-cms": "3.0.0", "@jonkoops/matomo-tracker-react": "0.7.0", "@next/env": "15.5.5", "@react-leaflet/core": "2.1.0", @@ -79,7 +80,6 @@ "react-datepicker": "^8.4.0", "react-dom": "18.3.1", "react-error-boundary": "4.0.10", - "react-helsinki-headless-cms": "2.0.2", "react-i18next": "15.6.0", "react-leaflet": "4.2.1", "react-toastify": "^11.0.5", diff --git a/packages/components/src/components/category/CategoryFilter.tsx b/packages/components/src/components/category/CategoryFilter.tsx index 622be6f25..0648de3e9 100644 --- a/packages/components/src/components/category/CategoryFilter.tsx +++ b/packages/components/src/components/category/CategoryFilter.tsx @@ -1,8 +1,8 @@ +import { Link } from '@city-of-helsinki/react-helsinki-headless-cms'; import classNames from 'classnames'; import { IconAngleRight } from 'hds-react'; import type { FunctionComponent } from 'react'; import React from 'react'; -import { Link } from 'react-helsinki-headless-cms'; import type { AppCategory } from '../../types'; import styles from './categoryFilter.module.scss'; diff --git a/packages/components/src/components/domain/breadcrumb/BreadcrumbContainer.tsx b/packages/components/src/components/domain/breadcrumb/BreadcrumbContainer.tsx index 35c46a6e9..afc50bc6b 100644 --- a/packages/components/src/components/domain/breadcrumb/BreadcrumbContainer.tsx +++ b/packages/components/src/components/domain/breadcrumb/BreadcrumbContainer.tsx @@ -1,5 +1,5 @@ +import { PageContentBreadcrumb } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { BreadcrumbListItem } from 'hds-react'; -import { PageContentBreadcrumb } from 'react-helsinki-headless-cms'; import styles from './breadcrumb.module.scss'; type BreadcrumbContainerProps = { diff --git a/packages/components/src/components/domain/event/eventContent/EventContent.tsx b/packages/components/src/components/domain/event/eventContent/EventContent.tsx index a8d43b147..73b15ae46 100644 --- a/packages/components/src/components/domain/event/eventContent/EventContent.tsx +++ b/packages/components/src/components/domain/event/eventContent/EventContent.tsx @@ -1,12 +1,12 @@ -import classNames from 'classnames'; -import { useTranslation } from 'next-i18next'; -import React from 'react'; import { PageSection, ContentContainer, Link, HtmlToReact, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import classNames from 'classnames'; +import { useTranslation } from 'next-i18next'; +import React from 'react'; import ShareLinks from '../../../../components/shareLinks/ShareLinks'; import { EVENT_LOCATIONS } from '../../../../constants/event-constants'; diff --git a/packages/components/src/components/domain/event/eventInfo/EventInfo.tsx b/packages/components/src/components/domain/event/eventInfo/EventInfo.tsx index 0f042a991..ac651c8ff 100644 --- a/packages/components/src/components/domain/event/eventInfo/EventInfo.tsx +++ b/packages/components/src/components/domain/event/eventInfo/EventInfo.tsx @@ -1,3 +1,4 @@ +import { SecondaryLink } from '@city-of-helsinki/react-helsinki-headless-cms'; import * as Sentry from '@sentry/browser'; import FileSaver from 'file-saver'; import { @@ -12,7 +13,6 @@ import type { EventAttributes } from 'ics'; import { createEvent } from 'ics'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { SecondaryLink } from 'react-helsinki-headless-cms'; import IconDirections from '../../../../assets/icons/IconDirections'; import InfoWithIcon from '../../../../components/infoWithIcon/InfoWithIcon'; diff --git a/packages/components/src/components/domain/event/eventInfo/OrganizationInfo.tsx b/packages/components/src/components/domain/event/eventInfo/OrganizationInfo.tsx index 451b51adb..ecde03253 100644 --- a/packages/components/src/components/domain/event/eventInfo/OrganizationInfo.tsx +++ b/packages/components/src/components/domain/event/eventInfo/OrganizationInfo.tsx @@ -1,8 +1,8 @@ +import { SecondaryLink } from '@city-of-helsinki/react-helsinki-headless-cms'; import { IconFaceSmile, IconLayers } from 'hds-react'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { SecondaryLink } from 'react-helsinki-headless-cms'; import InfoWithIcon from '../../../../components/infoWithIcon/InfoWithIcon'; import LoadingSpinner from '../../../../components/spinner/LoadingSpinner'; import { useCommonTranslation } from '../../../../hooks'; diff --git a/packages/components/src/components/domain/event/eventInfo/eventList/EventList.tsx b/packages/components/src/components/domain/event/eventInfo/eventList/EventList.tsx index 30e84efa1..3c926d4b3 100644 --- a/packages/components/src/components/domain/event/eventInfo/eventList/EventList.tsx +++ b/packages/components/src/components/domain/event/eventInfo/eventList/EventList.tsx @@ -1,8 +1,8 @@ +import { Link } from '@city-of-helsinki/react-helsinki-headless-cms'; import { IconArrowRight } from 'hds-react'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { Link } from 'react-helsinki-headless-cms'; import useLocale from '../../../../../hooks/useLocale'; import { useAppRoutingContext } from '../../../../../routingUrlProvider'; diff --git a/packages/components/src/components/domain/event/similarEvents/SimilarEvents.tsx b/packages/components/src/components/domain/event/similarEvents/SimilarEvents.tsx index 15b3753a4..f26cfc100 100644 --- a/packages/components/src/components/domain/event/similarEvents/SimilarEvents.tsx +++ b/packages/components/src/components/domain/event/similarEvents/SimilarEvents.tsx @@ -1,10 +1,10 @@ -import React from 'react'; -import type { CollectionProps } from 'react-helsinki-headless-cms'; +import type { CollectionProps } from '@city-of-helsinki/react-helsinki-headless-cms'; import { Collection, PageSection, ContentContainer, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import React from 'react'; import useEventTranslation from '../../../../hooks/useEventTranslation'; import { useAppRoutingContext } from '../../../../routingUrlProvider'; import type { EventFields } from '../../../../types/event-types'; diff --git a/packages/components/src/components/domain/event/useEventCards.tsx b/packages/components/src/components/domain/event/useEventCards.tsx index 24a3e58f1..eafe2d0b7 100644 --- a/packages/components/src/components/domain/event/useEventCards.tsx +++ b/packages/components/src/components/domain/event/useEventCards.tsx @@ -1,9 +1,9 @@ -import React from 'react'; import { Card, getEventCardProps, useConfig, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import React from 'react'; import useClickCapture from '../../../hooks/useClickCapture'; import useLocale from '../../../hooks/useLocale'; import type { EventFields } from '../../../types/event-types'; diff --git a/packages/components/src/components/domain/seo/meta/RouteMeta.tsx b/packages/components/src/components/domain/seo/meta/RouteMeta.tsx index a633773c9..27002dfa9 100644 --- a/packages/components/src/components/domain/seo/meta/RouteMeta.tsx +++ b/packages/components/src/components/domain/seo/meta/RouteMeta.tsx @@ -1,6 +1,9 @@ +import type { + PageType, + ArticleType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import Head from 'next/head'; import { useRouter } from 'next/router'; -import type { PageType, ArticleType } from 'react-helsinki-headless-cms'; import useCanonicalUrl from './useCanonicalUrl'; type Props = { diff --git a/packages/components/src/components/domain/seo/meta/__tests__/RouteMeta.test.tsx b/packages/components/src/components/domain/seo/meta/__tests__/RouteMeta.test.tsx index be121109a..694d672ba 100644 --- a/packages/components/src/components/domain/seo/meta/__tests__/RouteMeta.test.tsx +++ b/packages/components/src/components/domain/seo/meta/__tests__/RouteMeta.test.tsx @@ -1,7 +1,7 @@ +import type { PageType } from '@city-of-helsinki/react-helsinki-headless-cms'; import { render } from '@testing-library/react'; import router from 'next-router-mock'; import React from 'react'; -import type { PageType } from 'react-helsinki-headless-cms'; import { afterEach, describe, expect, it, vi } from 'vitest'; import RouteMeta from '../RouteMeta'; diff --git a/packages/components/src/components/errorPages/ErrorPage.tsx b/packages/components/src/components/errorPages/ErrorPage.tsx index bd2324e6f..3bcc58b37 100644 --- a/packages/components/src/components/errorPages/ErrorPage.tsx +++ b/packages/components/src/components/errorPages/ErrorPage.tsx @@ -1,7 +1,7 @@ +import { Page as RHHCPage } from '@city-of-helsinki/react-helsinki-headless-cms'; import { Button, IconCrossCircle, IconSize } from 'hds-react'; import { useRouter } from 'next/router'; import React, { useContext } from 'react'; -import { Page as RHHCPage } from 'react-helsinki-headless-cms'; import { HARDCODED_LANGUAGES, MAIN_CONTENT_ID } from '../../constants'; import { useResilientTranslation } from '../../hooks'; import useLocale from '../../hooks/useLocale'; diff --git a/packages/components/src/components/eventCard/EventCard.tsx b/packages/components/src/components/eventCard/EventCard.tsx index 8e2de3299..5bad26db5 100644 --- a/packages/components/src/components/eventCard/EventCard.tsx +++ b/packages/components/src/components/eventCard/EventCard.tsx @@ -1,7 +1,10 @@ +import { + BackgroundImage, + LinkBox, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { BackgroundImage, LinkBox } from 'react-helsinki-headless-cms'; // eslint-disable-next-line @stylistic/max-len import ArrowRightWithLoadingIndicator from '../../components/arrowRightWithLoadingIndicator/ArrowRightWithLoadingIndicator'; diff --git a/packages/components/src/components/eventCard/LargeEventCard.tsx b/packages/components/src/components/eventCard/LargeEventCard.tsx index b8e5f3a76..f8f4ef0de 100644 --- a/packages/components/src/components/eventCard/LargeEventCard.tsx +++ b/packages/components/src/components/eventCard/LargeEventCard.tsx @@ -1,3 +1,7 @@ +import { + BackgroundImage, + LinkBox, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import classNames from 'classnames'; import { IconBell, @@ -9,7 +13,6 @@ import { } from 'hds-react'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { BackgroundImage, LinkBox } from 'react-helsinki-headless-cms'; // eslint-disable-next-line @stylistic/max-len import ArrowRightWithLoadingIndicator from '../../components/arrowRightWithLoadingIndicator/ArrowRightWithLoadingIndicator'; diff --git a/packages/components/src/components/eventHero/EventHero.tsx b/packages/components/src/components/eventHero/EventHero.tsx index 246217f58..8556bc93b 100644 --- a/packages/components/src/components/eventHero/EventHero.tsx +++ b/packages/components/src/components/eventHero/EventHero.tsx @@ -1,3 +1,9 @@ +import { + BackgroundImage, + ContentContainer, + PageSection, + useConfig, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import classNames from 'classnames'; import { Button, @@ -11,12 +17,6 @@ import { import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import React from 'react'; -import { - BackgroundImage, - ContentContainer, - PageSection, - useConfig, -} from 'react-helsinki-headless-cms'; import buttonStyles from '../../components/button/button.module.scss'; import { diff --git a/packages/components/src/components/eventHero/__tests__/enrolment.test.tsx b/packages/components/src/components/eventHero/__tests__/enrolment.test.tsx index eb12967cf..fa44a0d2a 100644 --- a/packages/components/src/components/eventHero/__tests__/enrolment.test.tsx +++ b/packages/components/src/components/eventHero/__tests__/enrolment.test.tsx @@ -1,3 +1,4 @@ +import { defaultConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import { render, screen } from '@testing-library/react'; import { @@ -6,7 +7,6 @@ import { startOfYesterday, subDays, } from 'date-fns'; -import { defaultConfig } from 'react-helsinki-headless-cms'; import { EnrolmentStatusLabel } from '../../../constants'; import { useAppThemeContext } from '../../../themeProvider'; import type { AppThemeContextProps } from '../../../themeProvider/AppThemeContext'; @@ -18,11 +18,14 @@ import EventHero, { getIsEnrolmentOpen, } from '../EventHero'; -vi.mock('react-helsinki-headless-cms', async (importOriginal) => ({ - ...(await importOriginal()), - useConfig: () => defaultConfig, - BackgroundImage: () =>
Mock BackgroundImage
, -})); +vi.mock( + '@city-of-helsinki/react-helsinki-headless-cms', + async (importOriginal) => ({ + ...(await importOriginal()), + useConfig: () => defaultConfig, + BackgroundImage: () =>
Mock BackgroundImage
, + }) +); vi.mock('../../../hooks/useSuperEventLazyLoad', () => ({ default: () => ({ superEvent: null }), diff --git a/packages/components/src/components/eventPageMeta/EventPageMeta.tsx b/packages/components/src/components/eventPageMeta/EventPageMeta.tsx index 273440933..b5b0f8f5e 100644 --- a/packages/components/src/components/eventPageMeta/EventPageMeta.tsx +++ b/packages/components/src/components/eventPageMeta/EventPageMeta.tsx @@ -1,6 +1,6 @@ +import { useConfig } from '@city-of-helsinki/react-helsinki-headless-cms'; import Head from 'next/head'; import React from 'react'; -import { useConfig } from 'react-helsinki-headless-cms'; import useLocale from '../../hooks/useLocale'; import type { EventFields } from '../../types/event-types'; import { getEventFields } from '../../utils/eventUtils'; diff --git a/packages/components/src/components/footer/Footer.tsx b/packages/components/src/components/footer/Footer.tsx index 1686fb1a9..5e6cfb4a2 100644 --- a/packages/components/src/components/footer/Footer.tsx +++ b/packages/components/src/components/footer/Footer.tsx @@ -1,8 +1,8 @@ +import type { Menu } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { useMenuQuery } from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import { Footer, Link, Logo, logoFi, LogoSize, logoSv } from 'hds-react'; import dynamic from 'next/dynamic'; import type { FunctionComponent } from 'react'; -import type { Menu } from 'react-helsinki-headless-cms'; -import { useMenuQuery } from 'react-helsinki-headless-cms/apollo'; import { DEFAULT_FOOTER_MENU_NAME } from '../../constants'; import { useCommonTranslation, useResilientTranslation } from '../../hooks'; import useLocale from '../../hooks/useLocale'; diff --git a/packages/components/src/components/hero/HeroComponent.tsx b/packages/components/src/components/hero/HeroComponent.tsx index dc3ae40c4..f289f7afd 100644 --- a/packages/components/src/components/hero/HeroComponent.tsx +++ b/packages/components/src/components/hero/HeroComponent.tsx @@ -2,7 +2,7 @@ import { Link, useHeadlessCmsLink, HtmlToReact, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; import Text from '../text/Text'; import styles from './heroComponent.module.scss'; diff --git a/packages/components/src/components/infoBlock/InfoBlock.tsx b/packages/components/src/components/infoBlock/InfoBlock.tsx index 984550229..d779bfcef 100644 --- a/packages/components/src/components/infoBlock/InfoBlock.tsx +++ b/packages/components/src/components/infoBlock/InfoBlock.tsx @@ -1,9 +1,9 @@ import type { UrlObject } from 'url'; +import type { SecondaryLink } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { Link } from '@city-of-helsinki/react-helsinki-headless-cms'; import classNames from 'classnames'; import { useAccordion, IconAngleDown, IconArrowRight } from 'hds-react'; import React from 'react'; -import type { SecondaryLink } from 'react-helsinki-headless-cms'; -import { Link } from 'react-helsinki-headless-cms'; import EllipsedTextWithToggle from '../ellipsedTextWithToggle/EllipsedTextWithToggle'; import Text from '../text/Text'; import styles from './infoBlock.module.scss'; diff --git a/packages/components/src/components/keyword/KeywordTag.tsx b/packages/components/src/components/keyword/KeywordTag.tsx index 5a60be9ce..4a530f865 100644 --- a/packages/components/src/components/keyword/KeywordTag.tsx +++ b/packages/components/src/components/keyword/KeywordTag.tsx @@ -1,7 +1,7 @@ +import { TagComponent as Tag } from '@city-of-helsinki/react-helsinki-headless-cms'; import classNames from 'classnames'; import type { FunctionComponent } from 'react'; import { useState } from 'react'; -import { TagComponent as Tag } from 'react-helsinki-headless-cms'; import styles from './keyword.module.scss'; diff --git a/packages/components/src/components/landingPage/CmsPageContent.tsx b/packages/components/src/components/landingPage/CmsPageContent.tsx index b084c3bfe..831cc5b36 100644 --- a/packages/components/src/components/landingPage/CmsPageContent.tsx +++ b/packages/components/src/components/landingPage/CmsPageContent.tsx @@ -1,4 +1,7 @@ -import { HtmlToReact, usePageContext } from 'react-helsinki-headless-cms'; +import { + HtmlToReact, + usePageContext, +} from '@city-of-helsinki/react-helsinki-headless-cms'; type CmsPageContentProps = { /** diff --git a/packages/components/src/components/mapBox/MapBox.tsx b/packages/components/src/components/mapBox/MapBox.tsx index 880492601..b3eda5493 100644 --- a/packages/components/src/components/mapBox/MapBox.tsx +++ b/packages/components/src/components/mapBox/MapBox.tsx @@ -1,7 +1,10 @@ +import { + Link, + SecondaryLink, +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { IconLocation, useGroupConsent } from 'hds-react'; import router from 'next/router'; import React from 'react'; -import { Link, SecondaryLink } from 'react-helsinki-headless-cms'; import { useCookieConfigurationContext } from '../../cookieConfigurationProvider'; import { useCommonTranslation } from '../../hooks'; import CookiesRequired from '../cookieConsent/CookiesRequired'; diff --git a/packages/components/src/components/navigation/Navigation.tsx b/packages/components/src/components/navigation/Navigation.tsx index d81268d37..ad6c71818 100644 --- a/packages/components/src/components/navigation/Navigation.tsx +++ b/packages/components/src/components/navigation/Navigation.tsx @@ -1,13 +1,16 @@ +import type { + ArticleType, + PageType, +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { isLanguage } from '@city-of-helsinki/react-helsinki-headless-cms'; +import { + Notification, + useLanguagesQuery, +} from '@city-of-helsinki/react-helsinki-headless-cms/apollo'; import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { useContext } from 'react'; -import type { ArticleType, PageType } from 'react-helsinki-headless-cms'; -import { isLanguage } from 'react-helsinki-headless-cms'; -import { - Notification, - useLanguagesQuery, -} from 'react-helsinki-headless-cms/apollo'; import { NavigationContext } from '../../navigationProvider'; import type { Language, Menu } from '../../types'; import styles from './navigation.module.scss'; @@ -22,7 +25,10 @@ type NavigationProps = { }; const RHHCNavigationNoSSR = dynamic( - () => import('react-helsinki-headless-cms').then((mod) => mod.Navigation), + () => + import('@city-of-helsinki/react-helsinki-headless-cms').then( + (mod) => mod.Navigation + ), { ssr: false, } diff --git a/packages/components/src/components/navigation/__tests__/useGetIsItemActive.test.tsx b/packages/components/src/components/navigation/__tests__/useGetIsItemActive.test.tsx index 596c3d911..4c1a2f9af 100644 --- a/packages/components/src/components/navigation/__tests__/useGetIsItemActive.test.tsx +++ b/packages/components/src/components/navigation/__tests__/useGetIsItemActive.test.tsx @@ -1,8 +1,8 @@ +import type { MenuItem } from '@city-of-helsinki/react-helsinki-headless-cms'; import { renderHook, waitFor } from '@testing-library/react'; import mockRouter from 'next-router-mock'; import { MemoryRouterProvider } from 'next-router-mock/MemoryRouterProvider'; -import type { MenuItem } from 'react-helsinki-headless-cms'; import CmsHelperProvider from '../../../cmsHelperProvider/CmsHelperProvider'; import { APP_LANGUAGES } from '../../../constants'; import { HeadlessCMSHelper } from '../../../utils/headless-cms/HeadlessCMSHelper'; diff --git a/packages/components/src/components/navigation/useGetIsItemActive.tsx b/packages/components/src/components/navigation/useGetIsItemActive.tsx index 1e3ee821f..0b635b4cc 100644 --- a/packages/components/src/components/navigation/useGetIsItemActive.tsx +++ b/packages/components/src/components/navigation/useGetIsItemActive.tsx @@ -1,6 +1,6 @@ +import type { NavigationProps } from '@city-of-helsinki/react-helsinki-headless-cms'; import { resolveHref } from 'next/dist/client/resolve-href'; import { useRouter } from 'next/router'; -import type { NavigationProps } from 'react-helsinki-headless-cms'; import { useCmsRoutedAppHelper } from '../../cmsHelperProvider'; import { useLocale } from '../../hooks'; diff --git a/packages/components/src/components/navigation/useGetPathnameForLanguage.tsx b/packages/components/src/components/navigation/useGetPathnameForLanguage.tsx index 7a127ec26..1de6aa0f9 100644 --- a/packages/components/src/components/navigation/useGetPathnameForLanguage.tsx +++ b/packages/components/src/components/navigation/useGetPathnameForLanguage.tsx @@ -1,10 +1,10 @@ -import { useRouter } from 'next/router'; -import { useCallback } from 'react'; import type { ArticleType, NavigationProps, PageType, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { useRouter } from 'next/router'; +import { useCallback } from 'react'; import { useCmsHelper, useCmsRoutedAppHelper } from '../../cmsHelperProvider'; import { DEFAULT_LANGUAGE } from '../../constants'; import isAppLanguage from '../../type-guards/is-app-language'; diff --git a/packages/components/src/components/section/Section.tsx b/packages/components/src/components/section/Section.tsx index eace53397..e4fa60ef7 100644 --- a/packages/components/src/components/section/Section.tsx +++ b/packages/components/src/components/section/Section.tsx @@ -1,7 +1,7 @@ +import { SecondaryLink } from '@city-of-helsinki/react-helsinki-headless-cms'; import classNames from 'classnames'; import { Koros } from 'hds-react'; import React from 'react'; -import { SecondaryLink } from 'react-helsinki-headless-cms'; import Text from '../text/Text'; import styles from './section.module.scss'; diff --git a/packages/components/src/hooks/useCommonCmsConfig.ts b/packages/components/src/hooks/useCommonCmsConfig.ts index 49273d58b..235b4160f 100644 --- a/packages/components/src/hooks/useCommonCmsConfig.ts +++ b/packages/components/src/hooks/useCommonCmsConfig.ts @@ -1,4 +1,4 @@ -import type { Config } from 'react-helsinki-headless-cms'; +import type { Config } from '@city-of-helsinki/react-helsinki-headless-cms'; import useCmsTranslation from './useCmsTranslation'; import useCommonTranslation from './useCommonTranslation'; diff --git a/packages/components/src/utils/__tests__/getLanguageCode.test.ts b/packages/components/src/utils/__tests__/getLanguageCode.test.ts index e807a7729..2680416a8 100644 --- a/packages/components/src/utils/__tests__/getLanguageCode.test.ts +++ b/packages/components/src/utils/__tests__/getLanguageCode.test.ts @@ -1,4 +1,4 @@ -import { LanguageCodeEnum } from 'react-helsinki-headless-cms'; +import { LanguageCodeEnum } from '@city-of-helsinki/react-helsinki-headless-cms'; import getLanguageCode from '../getLanguageCode'; describe('getLanguageCode function', () => { diff --git a/packages/components/src/utils/__tests__/getLanguageCodeFilter.test.ts b/packages/components/src/utils/__tests__/getLanguageCodeFilter.test.ts index d89eb9a87..a31b40d25 100644 --- a/packages/components/src/utils/__tests__/getLanguageCodeFilter.test.ts +++ b/packages/components/src/utils/__tests__/getLanguageCodeFilter.test.ts @@ -1,7 +1,7 @@ import { LanguageCodeEnum, LanguageCodeFilterEnum, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; import getLanguageCodeFilter from '../getLanguageCodeFilter'; describe('getLanguageCodeFilter function', () => { diff --git a/packages/components/src/utils/getLanguageCode.ts b/packages/components/src/utils/getLanguageCode.ts index c44aa3f33..10539a08c 100644 --- a/packages/components/src/utils/getLanguageCode.ts +++ b/packages/components/src/utils/getLanguageCode.ts @@ -1,4 +1,4 @@ -import { LanguageCodeEnum } from 'react-helsinki-headless-cms'; +import { LanguageCodeEnum } from '@city-of-helsinki/react-helsinki-headless-cms'; import type { AppLanguage } from '../types'; const appLanguageToLanguageCode: Record = { diff --git a/packages/components/src/utils/getLanguageCodeFilter.ts b/packages/components/src/utils/getLanguageCodeFilter.ts index ff7352580..7a873f060 100644 --- a/packages/components/src/utils/getLanguageCodeFilter.ts +++ b/packages/components/src/utils/getLanguageCodeFilter.ts @@ -1,7 +1,7 @@ import { LanguageCodeEnum, LanguageCodeFilterEnum, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; const languageCodeFilterMap: Record = { diff --git a/packages/components/src/utils/headless-cms/HeadlessCMSHelper.tsx b/packages/components/src/utils/headless-cms/HeadlessCMSHelper.tsx index df83cf185..3ec235878 100644 --- a/packages/components/src/utils/headless-cms/HeadlessCMSHelper.tsx +++ b/packages/components/src/utils/headless-cms/HeadlessCMSHelper.tsx @@ -1,7 +1,3 @@ -import { format } from 'date-fns'; -import type { BreadcrumbListItem } from 'hds-react'; -import parse from 'html-react-parser'; -import React from 'react'; import type { ArticleType, Category, @@ -11,7 +7,7 @@ import type { GeneralCollectionType, CardProps, LanguageCodeEnum, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; import { Card, getCollections, @@ -27,7 +23,11 @@ import { ModuleItemTypeEnum, isLocationsSelectionCollection, LocationsSelectionCollection, -} from 'react-helsinki-headless-cms'; +} from '@city-of-helsinki/react-helsinki-headless-cms'; +import { format } from 'date-fns'; +import type { BreadcrumbListItem } from 'hds-react'; +import parse from 'html-react-parser'; +import React from 'react'; import type { AppLanguage } from '../../types'; /** diff --git a/packages/components/tsconfig.build.json b/packages/components/tsconfig.build.json index d4c8b9b51..0da919709 100644 --- a/packages/components/tsconfig.build.json +++ b/packages/components/tsconfig.build.json @@ -3,13 +3,48 @@ "extends": "./tsconfig.json", "compilerOptions": { "rootDir": "./src", + "baseUrl": "./src", "target": "esnext", "module": "esnext", "jsx": "react-jsx", "jsxFactory": "", - "jsxFragmentFactory": "" + "jsxFragmentFactory": "", + "paths": { + "@/test-utils/*": [ + "../config/tests/*" + ], + "@/test-utils": [ + "../config/tests/index" + ], + "@/lib/*": [ + "./lib/*" + ], + "@events-helsinki/common-i18n/*": [ + "../../common-i18n/src/*" + ], + "@events-helsinki/common-i18n": [ + "../../common-i18n/src/index" + ], + "@events-helsinki/common-tests/*": [ + "../../common-tests/src/*" + ], + "@events-helsinki/common-tests": [ + "../../common-tests/src/index" + ], + "@city-of-helsinki/react-helsinki-headless-cms": [ + "../../../node_modules/@city-of-helsinki/react-helsinki-headless-cms/dist/index.d.ts" + ], + "@city-of-helsinki/react-helsinki-headless-cms/apollo": [ + "../../../node_modules/@city-of-helsinki/react-helsinki-headless-cms/dist/apollo.d.ts" + ], + "@city-of-helsinki/react-helsinki-headless-cms/nextjs": [ + "../../../node_modules/@city-of-helsinki/react-helsinki-headless-cms/dist/nextjs.d.ts" + ] + } }, - "include": ["src/**/*"], + "include": [ + "src/**/*" + ], "exclude": [ "**/*.stories.tsx", "**/*.stories.mdx", @@ -17,4 +52,4 @@ "dist", "**/__tests__/**" ] -} +} \ No newline at end of file diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json index f33b7ced7..b09f39255 100644 --- a/packages/components/tsconfig.json +++ b/packages/components/tsconfig.json @@ -5,23 +5,46 @@ "outDir": "./", "baseUrl": "./src", "target": "esnext", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "module": "esnext", "moduleResolution": "bundler", "jsx": "react-jsx", "noEmit": false, "incremental": true, "paths": { - "@/test-utils/*": ["../config/tests/*"], - "@/test-utils": ["../config/tests/index"], - "@/lib/*": ["./lib/*"], - "@events-helsinki/common-i18n/*": ["../../common-i18n/src/*"], - "@events-helsinki/common-i18n": ["../../common-i18n/src/index"], - "@events-helsinki/common-tests/*": ["../../common-tests/src/*"], - "@events-helsinki/common-tests": ["../../common-tests/src/index"] + "@/test-utils/*": [ + "../config/tests/*" + ], + "@/test-utils": [ + "../config/tests/index" + ], + "@/lib/*": [ + "./lib/*" + ], + "@events-helsinki/common-i18n/*": [ + "../../common-i18n/src/*" + ], + "@events-helsinki/common-i18n": [ + "../../common-i18n/src/index" + ], + "@events-helsinki/common-tests/*": [ + "../../common-tests/src/*" + ], + "@events-helsinki/common-tests": [ + "../../common-tests/src/index" + ] } }, - "exclude": ["**/node_modules", "**/.*/", "dist", "build"], + "exclude": [ + "**/node_modules", + "**/.*/", + "dist", + "build" + ], "include": [ "src/types.d/react-i18next.d.ts", "**/*.ts", @@ -34,4 +57,4 @@ "**/*.json", "config/tests/initI18n.ts" ] -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index bcbcaf1c1..91bf2fb7c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,10 +5,10 @@ __metadata: version: 7 cacheKey: 9 -"@acemir/cssom@npm:^0.9.23": - version: 0.9.23 - resolution: "@acemir/cssom@npm:0.9.23" - checksum: 749b8881762b820c08e0bf5aa6d3bb19ece2ce7a89d37a0f699ff7990024476030e20db38304a18c2fe07e3b70a98a56dbf84494513b9988c85119801a369dd0 +"@acemir/cssom@npm:^0.9.28": + version: 0.9.30 + resolution: "@acemir/cssom@npm:0.9.30" + checksum: 6618b310f7bb7e6b686a117eff6bff3346ea9547a254b0ada7964f7ff2bc3b4d3a1dae283d33e81e799b4195152856596385ac5b5154dec5e00e0d418464439f languageName: node linkType: hard @@ -412,29 +412,29 @@ __metadata: languageName: node linkType: hard -"@asamuzakjp/css-color@npm:^4.0.3": - version: 4.0.5 - resolution: "@asamuzakjp/css-color@npm:4.0.5" +"@asamuzakjp/css-color@npm:^4.1.1": + version: 4.1.1 + resolution: "@asamuzakjp/css-color@npm:4.1.1" dependencies: "@csstools/css-calc": "npm:^2.1.4" "@csstools/css-color-parser": "npm:^3.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.5" "@csstools/css-tokenizer": "npm:^3.0.4" - lru-cache: "npm:^11.2.1" - checksum: 40a7ee047bc6c7b463f11d28728dab89f601e558ad01f1a3a52dc68c64970aeada156c79262eae5951ae4dfa2885e838300e8790ce9c412e196cc9d53ddc7356 + lru-cache: "npm:^11.2.4" + checksum: 1a8f8c3f84c9a7dd733cc1df67dcaf2e65b9a1340884b9f062dab46f893036eb7316075045b8dfb49920d09eebe8a2dd43fe787c036c7c44fbd4cbde3570f7c7 languageName: node linkType: hard -"@asamuzakjp/dom-selector@npm:^6.7.4": - version: 6.7.4 - resolution: "@asamuzakjp/dom-selector@npm:6.7.4" +"@asamuzakjp/dom-selector@npm:^6.7.6": + version: 6.7.6 + resolution: "@asamuzakjp/dom-selector@npm:6.7.6" dependencies: "@asamuzakjp/nwsapi": "npm:^2.3.9" bidi-js: "npm:^1.0.3" css-tree: "npm:^3.1.0" is-potential-custom-element-name: "npm:^1.0.1" - lru-cache: "npm:^11.2.2" - checksum: 4f6d9dd92c668634989b40a87294529591ba3778332691aa31af196dcb5b43975db8d1bb449acc35fc7cafe309acf8ca898df4d8b31dd9b2fa4a3fe58f74bb84 + lru-cache: "npm:^11.2.4" + checksum: d101a855ea118f4a3d5f0f0310a8d416915a34b8586380dc576eec435161ba11f654617074cdd4832b5157f72c5d8580783c8f153955cfae239e391d7d09351f languageName: node linkType: hard @@ -1939,6 +1939,33 @@ __metadata: languageName: node linkType: hard +"@city-of-helsinki/react-helsinki-headless-cms@npm:3.0.0": + version: 3.0.0 + resolution: "@city-of-helsinki/react-helsinki-headless-cms@npm:3.0.0" + dependencies: + classnames: "npm:^2.5.1" + date-fns: "npm:^4.1.0" + doctoc: "npm:^2.2.1" + hds-design-tokens: "npm:^4.8.1" + html-entities: "npm:^2.6.0" + html-react-parser: "npm:^5.2.5" + isomorphic-dompurify: "npm:^2.34.0" + jest-environment-jsdom: "npm:^30.2.0" + jest-fixed-jsdom: "npm:^0.0.11" + lodash-es: "npm:^4.17.21" + msw: "npm:^2.12.4" + peerDependencies: + "@apollo/client": ^3.14.0 + hds-react: ">=4.8.1" + react: ^18 + react-dom: ^18 + peerDependenciesMeta: + "@apollo/client": + optional: true + checksum: e5afc402fd16fd2214aefdf0f48bacf8067631f0ba8dca8bf821fd2f2b06d89f5318f926c2fbbc33def1e913faa3029387380510b693fddcac5f6a7b3142fcca + languageName: node + linkType: hard + "@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0": version: 1.6.0 resolution: "@colors/colors@npm:1.6.0" @@ -2195,10 +2222,10 @@ __metadata: languageName: node linkType: hard -"@csstools/css-syntax-patches-for-csstree@npm:^1.0.14": - version: 1.0.16 - resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.0.16" - checksum: bd273be305453261e46f3cb3d8ec0023a69266cdef6a1ab8cd1c854885b815975cdf9f5e325b62c444ee01afe8b2626b51c80dfd1413f8a0e4de78c665c4ecea +"@csstools/css-syntax-patches-for-csstree@npm:^1.0.21": + version: 1.0.22 + resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.0.22" + checksum: 214c67f05569a89521f5d0d026f5b443b7d58766491026aa0dd06e9e230ababed6fc5bc2b79574c4f5d13cb8914d9c88d28ec6d6ae3ec54ff172183f787d315b languageName: node linkType: hard @@ -3095,6 +3122,7 @@ __metadata: "@babel/preset-react": "npm:7.27.1" "@babel/preset-typescript": "npm:7.27.1" "@changey/react-leaflet-markercluster": "npm:4.0.0-rc1" + "@city-of-helsinki/react-helsinki-headless-cms": "npm:3.0.0" "@events-helsinki/common-i18n": "workspace:^" "@events-helsinki/common-tests": "workspace:^" "@events-helsinki/eslint-config-bases": "workspace:^" @@ -3181,7 +3209,6 @@ __metadata: react-datepicker: "npm:^8.4.0" react-dom: "npm:18.3.1" react-error-boundary: "npm:4.0.10" - react-helsinki-headless-cms: "npm:2.0.2" react-i18next: "npm:15.6.0" react-leaflet: "npm:4.2.1" react-toastify: "npm:^11.0.5" @@ -3331,6 +3358,18 @@ __metadata: languageName: unknown linkType: soft +"@exodus/bytes@npm:^1.6.0": + version: 1.7.0 + resolution: "@exodus/bytes@npm:1.7.0" + peerDependencies: + "@exodus/crypto": ^1.0.0-rc.4 + peerDependenciesMeta: + "@exodus/crypto": + optional: true + checksum: 6f512bb89c401d691037c6a1fd185526494544250c803f1c77a6a8610d49342515d428cffb589b9da8326b8ca24182408f920d7f44eccb95d3c11aa83c4c7be1 + languageName: node + linkType: hard + "@faker-js/faker@npm:^9.9.0": version: 9.9.0 resolution: "@faker-js/faker@npm:9.9.0" @@ -7924,7 +7963,7 @@ __metadata: languageName: node linkType: hard -"@types/statuses@npm:^2.0.4": +"@types/statuses@npm:^2.0.6": version: 2.0.6 resolution: "@types/statuses@npm:2.0.6" checksum: f8e8e0b58b5135d2c1e022e5b80781d8ce24e0d3eb829e436a737adbd02f12e84aa545ee5376db7a1a7b8db3b082adedda37309a540b01ec2e5a61c0b0c55fc5 @@ -11777,14 +11816,14 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^5.3.3": - version: 5.3.3 - resolution: "cssstyle@npm:5.3.3" +"cssstyle@npm:^5.3.4": + version: 5.3.5 + resolution: "cssstyle@npm:5.3.5" dependencies: - "@asamuzakjp/css-color": "npm:^4.0.3" - "@csstools/css-syntax-patches-for-csstree": "npm:^1.0.14" + "@asamuzakjp/css-color": "npm:^4.1.1" + "@csstools/css-syntax-patches-for-csstree": "npm:^1.0.21" css-tree: "npm:^3.1.0" - checksum: 4ccfcfc5a551cfd7901bec0ce931be448523b36d2183b467c396df3ddd17f98cee32690b2bc6013a30a36944a0a43417b0f3e796956ac816b0bd9f59b0d7aca5 + checksum: fad7b22f734f95f75e4096f6dd5c4d2db69131e9a47c46067255106aa01881db3fd7ceaf1d5e04384393cf7f1ea8815dd967dfabe7a5c744452b65dfc7cd5993 languageName: node linkType: hard @@ -12204,7 +12243,7 @@ __metadata: languageName: node linkType: hard -"doctoc@npm:2.2.1": +"doctoc@npm:2.2.1, doctoc@npm:^2.2.1": version: 2.2.1 resolution: "doctoc@npm:2.2.1" dependencies: @@ -12336,15 +12375,15 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^3.3.0": - version: 3.3.0 - resolution: "dompurify@npm:3.3.0" +"dompurify@npm:^3.3.1": + version: 3.3.1 + resolution: "dompurify@npm:3.3.1" dependencies: "@types/trusted-types": "npm:^2.0.7" dependenciesMeta: "@types/trusted-types": optional: true - checksum: 9ee231d27de41b5031921ca1ee2a2f0c459878f076f0722539a79dce7d12e89426ece77c856de6bc7c36329c9892d13b249dd9dec869a94b3383274766cc2271 + checksum: 2f3b3d4599708bd477067540997497b96b87c628158b062620f0a43b789b10c1bc77d3fea71366e087167c6ecae1944ddc6929c364a717508391fc8b242081fd languageName: node linkType: hard @@ -12359,7 +12398,7 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^3.0.1, domutils@npm:^3.1.0, domutils@npm:^3.2.1": +"domutils@npm:^3.0.1, domutils@npm:^3.2.1": version: 3.2.2 resolution: "domutils@npm:3.2.2" dependencies: @@ -12648,7 +12687,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": +"entities@npm:^4.2.0, entities@npm:^4.4.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 3c45485495e0a5481893b0b618aec46fbe960130bf0437b052ec08c25a8c781b978a06fca889ad7af79634d9111df159c2a37b56d2b2a847c0c4625cd40ab1be @@ -13663,6 +13702,7 @@ __metadata: resolution: "events-helsinki@workspace:apps/events-helsinki" dependencies: "@apollo/client": "npm:^3.11.10" + "@city-of-helsinki/react-helsinki-headless-cms": "npm:3.0.0" "@commitlint/cli": "npm:^19.8.1" "@commitlint/config-conventional": "npm:^19.8.1" "@events-helsinki/common-i18n": "workspace:^" @@ -13755,7 +13795,6 @@ __metadata: react-datepicker: "npm:^8.4.0" react-dom: "npm:18.3.1" react-error-boundary: "npm:4.0.10" - react-helsinki-headless-cms: "npm:2.0.2" react-i18next: "npm:15.6.0" react-scroll: "npm:^1.9.3" react-toastify: "npm:^11.0.5" @@ -15144,10 +15183,10 @@ __metadata: languageName: node linkType: hard -"graphql@npm:^16.11.0, graphql@npm:^16.8.1": - version: 16.11.0 - resolution: "graphql@npm:16.11.0" - checksum: db5a488f3fac61aadea5883ed7dbfc56db25f52035ef039ff8829b34c022fad57f9ab07c531f0c3cad4023cb380186e4731dec9a84dbb082ce4365eaee9de940 +"graphql@npm:^16.11.0, graphql@npm:^16.12.0, graphql@npm:^16.8.1": + version: 16.12.0 + resolution: "graphql@npm:16.12.0" + checksum: d92745274909c1425f8e06c4c8945d66c6650ec9857b305854197b065f6a0686a66e2e6d71b3712e4df64d33194295c40397f1a6b60b6699443c17e372223531 languageName: node linkType: hard @@ -15405,6 +15444,7 @@ __metadata: resolution: "hobbies-helsinki@workspace:apps/hobbies-helsinki" dependencies: "@apollo/client": "npm:^3.11.10" + "@city-of-helsinki/react-helsinki-headless-cms": "npm:3.0.0" "@commitlint/cli": "npm:^19.8.1" "@commitlint/config-conventional": "npm:^19.8.1" "@events-helsinki/common-i18n": "workspace:^" @@ -15497,7 +15537,6 @@ __metadata: react-datepicker: "npm:^8.4.0" react-dom: "npm:18.3.1" react-error-boundary: "npm:4.0.10" - react-helsinki-headless-cms: "npm:2.0.2" react-i18next: "npm:15.6.0" react-scroll: "npm:^1.9.3" react-toastify: "npm:^11.0.5" @@ -15543,23 +15582,23 @@ __metadata: languageName: node linkType: hard -"html-dom-parser@npm:5.0.3": - version: 5.0.3 - resolution: "html-dom-parser@npm:5.0.3" +"html-dom-parser@npm:5.1.1": + version: 5.1.1 + resolution: "html-dom-parser@npm:5.1.1" dependencies: domhandler: "npm:5.0.3" - htmlparser2: "npm:9.0.0" - checksum: 461dc95df7d1d5351664244c31d7db473a6f897092a502b1037c06f83b71a1289d6b1d61b7fe2ab7b4681640d6225f8f2c785fee8a19b263b83973358975f12c + htmlparser2: "npm:10.0.0" + checksum: 639084af015ec1c41f141525c3cd43b4f13cbfa37706c1e4e6083853ef4fa32093960e9f5c861591a4c46b1a1f93fb9e3dbdc4698070c8484089a0b759c49fde languageName: node linkType: hard -"html-dom-parser@npm:5.1.1": - version: 5.1.1 - resolution: "html-dom-parser@npm:5.1.1" +"html-dom-parser@npm:5.1.2": + version: 5.1.2 + resolution: "html-dom-parser@npm:5.1.2" dependencies: domhandler: "npm:5.0.3" htmlparser2: "npm:10.0.0" - checksum: 639084af015ec1c41f141525c3cd43b4f13cbfa37706c1e4e6083853ef4fa32093960e9f5c861591a4c46b1a1f93fb9e3dbdc4698070c8484089a0b759c49fde + checksum: 8584b0e06bd64171ebf8afc0c6f1cec94597105e37ff867fea61152396e2d865974d691b63ab862b7c46ee4b3c4bc0601c8d71a046917cdae10d43a9faa7e051 languageName: node linkType: hard @@ -15572,7 +15611,16 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.1.0, html-entities@npm:^2.5.2": +"html-encoding-sniffer@npm:^6.0.0": + version: 6.0.0 + resolution: "html-encoding-sniffer@npm:6.0.0" + dependencies: + "@exodus/bytes": "npm:^1.6.0" + checksum: 70610fa35a6add4e1f045341b972808926524be75b69d29e4f852dc6fda55043571b93dc5968973edac4a3f104320d47f65ead4d32fea299297e023be2acfbf7 + languageName: node + linkType: hard + +"html-entities@npm:^2.1.0, html-entities@npm:^2.6.0": version: 2.6.0 resolution: "html-entities@npm:2.6.0" checksum: 7c9f9672685980d2a9dc7680f166df00ee6410f88d9c3fa661ef2a82cb7fb01e2d79c0d677c7b7deb3e317740de4fc5f3534f78de83440f7c04d2ae16db3b155 @@ -15630,17 +15678,21 @@ __metadata: languageName: node linkType: hard -"html-react-parser@npm:^4.2.9": - version: 4.2.10 - resolution: "html-react-parser@npm:4.2.10" +"html-react-parser@npm:^5.2.5": + version: 5.2.11 + resolution: "html-react-parser@npm:5.2.11" dependencies: domhandler: "npm:5.0.3" - html-dom-parser: "npm:5.0.3" + html-dom-parser: "npm:5.1.2" react-property: "npm:2.0.2" - style-to-js: "npm:1.1.8" + style-to-js: "npm:1.1.21" peerDependencies: - react: 0.14 || 15 || 16 || 17 || 18 - checksum: 149b2fd3bccefd8694dc580eef1ea2e937103142b64e32795a31a67966af23bbdd81903e78cff9800d661344d27d15c4f22e27fc64da470b5b4480774056faf6 + "@types/react": 0.14 || 15 || 16 || 17 || 18 || 19 + react: 0.14 || 15 || 16 || 17 || 18 || 19 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: ceb5cae55a27eddedb5cd51dfa022e6abd02dc122bf35aa1958958997e5f9fdf0b260d474ec397f20bd63c95f8a67e0de74dad597a1355cbb261fccbf401d5b6 languageName: node linkType: hard @@ -15684,18 +15736,6 @@ __metadata: languageName: node linkType: hard -"htmlparser2@npm:9.0.0": - version: 9.0.0 - resolution: "htmlparser2@npm:9.0.0" - dependencies: - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.3" - domutils: "npm:^3.1.0" - entities: "npm:^4.5.0" - checksum: 06d55a2c3e401a19d9b84e46f71ff4e7217cdfc89286263a0baf86e02df39404a17ef1b3f41c6a9a08ced342c8a9a9734db6e2fdea1141934a4f880e48af32e3 - languageName: node - linkType: hard - "htmlparser2@npm:^6.1.0": version: 6.1.0 resolution: "htmlparser2@npm:6.1.0" @@ -16170,13 +16210,6 @@ __metadata: languageName: node linkType: hard -"inline-style-parser@npm:0.2.2": - version: 0.2.2 - resolution: "inline-style-parser@npm:0.2.2" - checksum: 298c32fc865a93a5ce3c8a2489ecd553d88e35770ef5dac24f403abe4fa046f61eff179e2bdc3f397544c21db2090a2ec3c4ff6d3b3f70a6ad83068d019a7aea - languageName: node - linkType: hard - "inline-style-parser@npm:0.2.4": version: 0.2.4 resolution: "inline-style-parser@npm:0.2.4" @@ -16184,6 +16217,13 @@ __metadata: languageName: node linkType: hard +"inline-style-parser@npm:0.2.7": + version: 0.2.7 + resolution: "inline-style-parser@npm:0.2.7" + checksum: c3d9e55f04b1531ef63b8d34785739de9a0eb88f1d42638906ec98422ebe3489e2fc22d417ba8d075c7c57c650cd2ff7e5a33521c60cb0baf2209507353549e8 + languageName: node + linkType: hard + "inquirer@npm:^8.0.0": version: 8.2.5 resolution: "inquirer@npm:8.2.5" @@ -16917,13 +16957,13 @@ __metadata: languageName: node linkType: hard -"isomorphic-dompurify@npm:^2.31.0": - version: 2.31.0 - resolution: "isomorphic-dompurify@npm:2.31.0" +"isomorphic-dompurify@npm:^2.34.0": + version: 2.35.0 + resolution: "isomorphic-dompurify@npm:2.35.0" dependencies: - dompurify: "npm:^3.3.0" - jsdom: "npm:^27.1.0" - checksum: 1799a125677070879ba2e10822806151a811029ce25299255b6e7a7265202595a1472da39ecc42d54afbe9e0a48cb1389f38e22504ba8a3d64d0bf48bf13ca3c + dompurify: "npm:^3.3.1" + jsdom: "npm:^27.4.0" + checksum: 0d9200f5e63dcf35c702258763a2c53f6955ad209130889815f61c4798bed433e9dec5160310211a0d0462df563cd586d0612da14b0388c031269dfc8fbebbb8 languageName: node linkType: hard @@ -17064,12 +17104,12 @@ __metadata: languageName: node linkType: hard -"jest-fixed-jsdom@npm:^0.0.10": - version: 0.0.10 - resolution: "jest-fixed-jsdom@npm:0.0.10" +"jest-fixed-jsdom@npm:^0.0.11": + version: 0.0.11 + resolution: "jest-fixed-jsdom@npm:0.0.11" peerDependencies: jest-environment-jsdom: ">=28.0.0" - checksum: 32bd6608a917c18e8be159a302b10fc9727d162b88a97853725b214540b82fddb1b98d106c6224a46db1a4facb3c01b7d17a85e1068309a6d1e0addb3eb02e4c + checksum: b6bb753df5ea246aa753172e63a94f1d3ffdf5916103f62155bb7b02bfbeaaa1bb5da58ac3336d977c5dd4debbb4c9553aec137ed41627e38d6bb40ff52464f8 languageName: node linkType: hard @@ -17255,16 +17295,17 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^27.1.0": - version: 27.2.0 - resolution: "jsdom@npm:27.2.0" +"jsdom@npm:^27.4.0": + version: 27.4.0 + resolution: "jsdom@npm:27.4.0" dependencies: - "@acemir/cssom": "npm:^0.9.23" - "@asamuzakjp/dom-selector": "npm:^6.7.4" - cssstyle: "npm:^5.3.3" + "@acemir/cssom": "npm:^0.9.28" + "@asamuzakjp/dom-selector": "npm:^6.7.6" + "@exodus/bytes": "npm:^1.6.0" + cssstyle: "npm:^5.3.4" data-urls: "npm:^6.0.0" decimal.js: "npm:^10.6.0" - html-encoding-sniffer: "npm:^4.0.0" + html-encoding-sniffer: "npm:^6.0.0" http-proxy-agent: "npm:^7.0.2" https-proxy-agent: "npm:^7.0.6" is-potential-custom-element-name: "npm:^1.0.1" @@ -17274,7 +17315,6 @@ __metadata: tough-cookie: "npm:^6.0.0" w3c-xmlserializer: "npm:^5.0.0" webidl-conversions: "npm:^8.0.0" - whatwg-encoding: "npm:^3.1.1" whatwg-mimetype: "npm:^4.0.0" whatwg-url: "npm:^15.1.0" ws: "npm:^8.18.3" @@ -17284,7 +17324,7 @@ __metadata: peerDependenciesMeta: canvas: optional: true - checksum: da16af329120f05351ef290825a327fd622e3db4cf3bc9a4a07485f5c2b8df67e7fbebadc571721c5ec8d15ab9ebc7253bd756beb0e88d4938f0adaf7e5240e1 + checksum: 01bac2fc4434a187322d504ef7c1dee76623b20a614a4cbf421505570b71f362fb8be30b7b76ad2e53b98cc0110fc9a26df17e0120853630f1f37df0b39910cf languageName: node linkType: hard @@ -17999,10 +18039,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.0.0, lru-cache@npm:^11.2.1, lru-cache@npm:^11.2.2": - version: 11.2.2 - resolution: "lru-cache@npm:11.2.2" - checksum: 9d20e56cab124d3b9bf869520eb926b44b28950d44141904be8fba1dee01a0b796b79e9d126345efb5d85eee0d0685d08b6a591b44a96224de6990a20e09bc19 +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.2.4": + version: 11.2.4 + resolution: "lru-cache@npm:11.2.4" + checksum: 8f2fa6cb7af51f3830513ac132f7de1eca957fc22066942590624078eae197dadfc127509c1c145edd1f3b4ddbb6975b01610bb55e9daf7cc26593f7b6d41077 languageName: node linkType: hard @@ -18933,16 +18973,16 @@ __metadata: languageName: node linkType: hard -"msw@npm:^2.10.4, msw@npm:^2.11.6": - version: 2.12.1 - resolution: "msw@npm:2.12.1" +"msw@npm:^2.10.4, msw@npm:^2.12.4": + version: 2.12.7 + resolution: "msw@npm:2.12.7" dependencies: "@inquirer/confirm": "npm:^5.0.0" "@mswjs/interceptors": "npm:^0.40.0" "@open-draft/deferred-promise": "npm:^2.2.0" - "@types/statuses": "npm:^2.0.4" + "@types/statuses": "npm:^2.0.6" cookie: "npm:^1.0.2" - graphql: "npm:^16.8.1" + graphql: "npm:^16.12.0" headers-polyfill: "npm:^4.0.2" is-node-process: "npm:^1.2.0" outvariant: "npm:^1.4.3" @@ -18952,7 +18992,7 @@ __metadata: statuses: "npm:^2.0.2" strict-event-emitter: "npm:^0.5.1" tough-cookie: "npm:^6.0.0" - type-fest: "npm:^4.26.1" + type-fest: "npm:^5.2.0" until-async: "npm:^3.0.2" yargs: "npm:^17.7.2" peerDependencies: @@ -18962,7 +19002,7 @@ __metadata: optional: true bin: msw: cli/index.js - checksum: 76a498d69a365cd970e45ad6fe40c140c4b5c27f097bd105b4b10214d88a1ad19b9b8972c449dd833f722be97fd09d379c74ec128d76093e24e8ffa2040b942e + checksum: 16bf8c5c3bc1761d114c8dbc40dcf9a612f83e91bee86d057536c9a8d322939a5f957f71c90d309a232c5c70b9687bf47db75c4472cff0c7967268474250b6aa languageName: node linkType: hard @@ -21655,32 +21695,6 @@ __metadata: languageName: node linkType: hard -"react-helsinki-headless-cms@npm:2.0.2": - version: 2.0.2 - resolution: "react-helsinki-headless-cms@npm:2.0.2" - dependencies: - classnames: "npm:^2.5.1" - date-fns: "npm:^4.1.0" - hds-design-tokens: "npm:^4.8.1" - html-entities: "npm:^2.5.2" - html-react-parser: "npm:^4.2.9" - isomorphic-dompurify: "npm:^2.31.0" - jest-environment-jsdom: "npm:^30.2.0" - jest-fixed-jsdom: "npm:^0.0.10" - lodash-es: "npm:^4.17.21" - msw: "npm:^2.11.6" - peerDependencies: - "@apollo/client": ^3.11.10 - hds-react: ">=4.8.1" - react: ^18 - react-dom: ^18 - peerDependenciesMeta: - "@apollo/client": - optional: true - checksum: 1b4813370ad67f5ae29ddf26b6a9e2be2452b9ae0ca22088c25601213d4c97109137ffb5d641198ab08b9f76511178986995d2926cff03ac5def0a701a1d1355 - languageName: node - linkType: hard - "react-hook-form@npm:^7.43.3": version: 7.45.0 resolution: "react-hook-form@npm:7.45.0" @@ -23810,6 +23824,7 @@ __metadata: "@apollo/client": "npm:^3.11.10" "@apollo/datasource-rest": "npm:6.4.1" "@apollo/subgraph": "npm:2.11.2" + "@city-of-helsinki/react-helsinki-headless-cms": "npm:3.0.0" "@commitlint/cli": "npm:^19.8.1" "@commitlint/config-conventional": "npm:^19.8.1" "@events-helsinki/common-i18n": "workspace:^" @@ -23906,7 +23921,6 @@ __metadata: react-datepicker: "npm:^8.4.0" react-dom: "npm:18.3.1" react-error-boundary: "npm:4.0.10" - react-helsinki-headless-cms: "npm:2.0.2" react-i18next: "npm:15.6.0" react-leaflet: "npm:4.2.1" react-scroll: "npm:^1.9.3" @@ -24364,21 +24378,21 @@ __metadata: languageName: node linkType: hard -"style-to-js@npm:1.1.8": - version: 1.1.8 - resolution: "style-to-js@npm:1.1.8" +"style-to-js@npm:1.1.21": + version: 1.1.21 + resolution: "style-to-js@npm:1.1.21" dependencies: - style-to-object: "npm:1.0.3" - checksum: fdfdba3803258c6b99a33d9266320e321ef0c967c66f45f8ad9a4013bd47fc6c5b14fd90748ed276567f928f23ee586a0b875b80b692ebd6399cef3a205c60a9 + style-to-object: "npm:1.0.14" + checksum: 0da5bcb3bd8fb25cc36f4d1f7e42d276fae595d9f36d85152da6bf754dc8c677b2bb76f6aec6b3e4f5ebc9ed3c4a214a1f8a10ad1cbea6bbd917540bf2aa354e languageName: node linkType: hard -"style-to-object@npm:1.0.3": - version: 1.0.3 - resolution: "style-to-object@npm:1.0.3" +"style-to-object@npm:1.0.14": + version: 1.0.14 + resolution: "style-to-object@npm:1.0.14" dependencies: - inline-style-parser: "npm:0.2.2" - checksum: a8da4a22eea2964a6899d39360f80cd3c9949aedd1a219b6a3e12e2c9f296a2e8e6cf70b1da47c21144ad599808087e4c84d1d5be5d6c6ea3b75784024593669 + inline-style-parser: "npm:0.2.7" + checksum: b487baa3f8db247fa4c05d10a861dc454e72806d0f4489c7ae6fb490d9d3f3db61b0742efa29859ce92ac238180627d2656a142c1d559b27724804a48db9445d languageName: node linkType: hard @@ -24699,6 +24713,13 @@ __metadata: languageName: node linkType: hard +"tagged-tag@npm:^1.0.0": + version: 1.0.0 + resolution: "tagged-tag@npm:1.0.0" + checksum: dbf31065f65169ef144f8b9f527d9b58599d6aa2f14b6ded0f2d52235729355f89d09a5b1a098878720d7e0d33d6bb815c48d67f648989a2c62b718e3cc300a5 + languageName: node + linkType: hard + "tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": version: 2.2.2 resolution: "tapable@npm:2.2.2" @@ -25571,13 +25592,22 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^4.26.1, type-fest@npm:^4.3.2, type-fest@npm:^4.30.0": +"type-fest@npm:^4.3.2, type-fest@npm:^4.30.0": version: 4.41.0 resolution: "type-fest@npm:4.41.0" checksum: 8a7c46269001b5a8e8fc4481adcf85702b472752254769a21a993d57e2e7b09bfc29fda8bfc5cbce7c53fc93c00fdccd1d483a0d20cc36c47eb4d44aa1c302f7 languageName: node linkType: hard +"type-fest@npm:^5.2.0": + version: 5.3.1 + resolution: "type-fest@npm:5.3.1" + dependencies: + tagged-tag: "npm:^1.0.0" + checksum: aa481d35ae4ba0c088533d05d9177a520fef69e177d95608f85b63a1c05b565c5af1329e57a2e923f03d6f5ba347a3233cc817b1ca93f470459fa85189cfb109 + languageName: node + linkType: hard + "type-is@npm:^2.0.0, type-is@npm:^2.0.1": version: 2.0.1 resolution: "type-is@npm:2.0.1"