diff --git a/components/ContentRenderer/components/Attachment/Attachment.tsx b/components/ContentRenderer/components/Attachment/Attachment.tsx index df6f7b8e..95e51b5c 100644 --- a/components/ContentRenderer/components/Attachment/Attachment.tsx +++ b/components/ContentRenderer/components/Attachment/Attachment.tsx @@ -1,4 +1,4 @@ -import { STORY_FILE, useAnalytics } from '@prezly/analytics-nextjs'; +import { DOWNLOAD, useAnalytics } from '@prezly/analytics-nextjs'; import type { AttachmentNode } from '@prezly/story-content-format'; import { UploadcareFile } from '@prezly/uploadcare'; @@ -21,7 +21,7 @@ export function Attachment({ node }: Props) { const fileType = fileExtension?.toUpperCase(); function handleClick() { - track(STORY_FILE.DOWNLOAD, { id: file.uuid }); + track(DOWNLOAD.ATTACHMENT, { id: file.uuid }); } return ( diff --git a/components/ContentRenderer/components/Gallery.tsx b/components/ContentRenderer/components/Gallery.tsx index e9098095..b176af36 100644 --- a/components/ContentRenderer/components/Gallery.tsx +++ b/components/ContentRenderer/components/Gallery.tsx @@ -1,4 +1,4 @@ -import { STORY_GALLERY_IMAGE, useAnalytics } from '@prezly/analytics-nextjs'; +import { DOWNLOAD, useAnalytics } from '@prezly/analytics-nextjs'; import { Elements } from '@prezly/content-renderer-react-js'; import type { GalleryNode } from '@prezly/story-content-format'; @@ -13,10 +13,7 @@ export function Gallery({ node }: Props) { { - track(STORY_GALLERY_IMAGE.DOWNLOAD, { id: image.uuid }); - }} - onPreviewOpen={(image) => { - track(STORY_GALLERY_IMAGE.VIEW, { id: image.uuid }); + track(DOWNLOAD.GALLERY_IMAGE, { id: image.uuid }); }} /> ); diff --git a/components/ContentRenderer/components/Image.tsx b/components/ContentRenderer/components/Image.tsx index eeae534a..85d566ad 100644 --- a/components/ContentRenderer/components/Image.tsx +++ b/components/ContentRenderer/components/Image.tsx @@ -1,4 +1,4 @@ -import { STORY_IMAGE, useAnalytics } from '@prezly/analytics-nextjs'; +import { DOWNLOAD, useAnalytics } from '@prezly/analytics-nextjs'; import { Elements } from '@prezly/content-renderer-react-js'; import type { ImageNode } from '@prezly/story-content-format'; import type { PropsWithChildren } from 'react'; @@ -14,10 +14,7 @@ export function Image({ node, children }: PropsWithChildren) { { - track(STORY_IMAGE.DOWNLOAD, { id: image.uuid }); - }} - onPreviewOpen={(image) => { - track(STORY_IMAGE.VIEW, { id: image.uuid }); + track(DOWNLOAD.IMAGE, { id: image.uuid }); }} > {children} diff --git a/components/Dropdown/DropdownItem.tsx b/components/Dropdown/DropdownItem.tsx index d40eaf1a..a56f97c3 100644 --- a/components/Dropdown/DropdownItem.tsx +++ b/components/Dropdown/DropdownItem.tsx @@ -9,20 +9,22 @@ import styles from './DropdownItem.module.scss'; type Props = Pick & { className?: string; - linkClassName?: string; forceRefresh?: boolean; - withMobileDisplay?: boolean; + linkClassName?: string; localeCode?: string | false; + onClick?: () => void; + withMobileDisplay?: boolean; }; function DropdownItem({ - href, - localeCode, + children, className, - linkClassName, forceRefresh, + href, + linkClassName, + localeCode, + onClick, withMobileDisplay, - children, }: PropsWithChildren) { return ( {children} diff --git a/components/RichText/Link.tsx b/components/RichText/Link.tsx index 36e5e677..4d4a4d32 100644 --- a/components/RichText/Link.tsx +++ b/components/RichText/Link.tsx @@ -1,4 +1,3 @@ -import { STORY_LINK, useAnalytics } from '@prezly/analytics-nextjs'; import type { LinkNode } from '@prezly/story-content-format'; import type { ReactNode } from 'react'; @@ -10,18 +9,12 @@ interface Props { } export function Link({ node, children }: Props) { - const { track } = useAnalytics(); const { href } = node; - function handleClick() { - track(STORY_LINK.CLICK, { href }); - } - return ( diff --git a/modules/Gallery/DownloadLink.tsx b/modules/Gallery/DownloadLink.tsx index a56726c2..e28dd828 100644 --- a/modules/Gallery/DownloadLink.tsx +++ b/modules/Gallery/DownloadLink.tsx @@ -1,3 +1,4 @@ +import { DOWNLOAD, useAnalytics } from '@prezly/analytics-nextjs'; import { translations } from '@prezly/theme-kit-intl'; import { FormattedMessage } from 'react-intl'; @@ -11,8 +12,20 @@ interface Props { } function DownloadLink({ href }: Props) { + const { track } = useAnalytics(); + + function handleClick() { + track(DOWNLOAD.MEDIA_GALLERY); + } + return ( - + diff --git a/modules/Layout/Header/LanguagesDropdown/LanguagesDropdown.tsx b/modules/Layout/Header/LanguagesDropdown/LanguagesDropdown.tsx index 298f8df7..cb68f78d 100644 --- a/modules/Layout/Header/LanguagesDropdown/LanguagesDropdown.tsx +++ b/modules/Layout/Header/LanguagesDropdown/LanguagesDropdown.tsx @@ -1,3 +1,4 @@ +import { ACTIONS, useAnalytics } from '@prezly/analytics-nextjs'; import { getLanguageDisplayName, LocaleObject } from '@prezly/theme-kit-core'; import { useCurrentLocale, @@ -22,6 +23,7 @@ type Props = { }; function LanguagesDropdown({ buttonClassName, navigationItemClassName, hasError }: Props) { + const { track } = useAnalytics(); const currentLocale = useCurrentLocale(); const languages = useLanguages(); const getTranslationUrl = useGetTranslationUrl(); @@ -65,6 +67,9 @@ function LanguagesDropdown({ buttonClassName, navigationItemClassName, hasError } forceRefresh withMobileDisplay + onClick={() => + track(ACTIONS.SWITCH_LANGUAGE, { code: locale.toHyphenCode() }) + } className={classNames({ [styles.disabled]: language.code === currentLocale.toUnderscoreCode(), diff --git a/modules/Layout/Header/SearchWidget/components/SearchBar.tsx b/modules/Layout/Header/SearchWidget/components/SearchBar.tsx index 108b7b01..b932cd24 100644 --- a/modules/Layout/Header/SearchWidget/components/SearchBar.tsx +++ b/modules/Layout/Header/SearchWidget/components/SearchBar.tsx @@ -1,5 +1,8 @@ +import { ACTIONS, useAnalytics } from '@prezly/analytics-nextjs'; import { translations } from '@prezly/theme-kit-intl'; import { useGetLinkLocaleSlug } from '@prezly/theme-kit-nextjs'; +import { useDebouncedCallback } from '@react-hookz/web'; +import type { ChangeEvent } from 'react'; import type { SearchBoxExposed, SearchBoxProvided } from 'react-instantsearch-core'; import { connectSearchBox } from 'react-instantsearch-dom'; import { FormattedMessage, useIntl } from 'react-intl'; @@ -13,12 +16,28 @@ interface Props extends SearchBoxProvided, SearchBoxExposed {} const SEARCH_PAGE_URL = 'search'; function SearchBar({ currentRefinement, refine }: Props) { + const { track } = useAnalytics(); const { formatMessage } = useIntl(); const getLinkLocaleSlug = useGetLinkLocaleSlug(); const localeSlug = getLinkLocaleSlug(); const action = localeSlug ? `/${localeSlug}/${SEARCH_PAGE_URL}` : `/${SEARCH_PAGE_URL}`; + const trackQuery = useDebouncedCallback( + (query: string) => { + track(ACTIONS.SEARCH, { query }); + }, + [track], + 500, + ); + + function handleChange(event: ChangeEvent) { + const query = event.currentTarget.value; + + refine(query); + trackQuery(query); + } + return (
@@ -27,7 +46,7 @@ function SearchBar({ currentRefinement, refine }: Props) { type="search" name="query" value={currentRefinement} - onChange={(event) => refine(event.currentTarget.value)} + onChange={handleChange} className={styles.input} autoComplete="off" /> diff --git a/modules/Search/components/SearchInput.tsx b/modules/Search/components/SearchInput.tsx index 42368d98..5131817a 100644 --- a/modules/Search/components/SearchInput.tsx +++ b/modules/Search/components/SearchInput.tsx @@ -1,4 +1,7 @@ +import { ACTIONS, useAnalytics } from '@prezly/analytics-nextjs'; import { translations } from '@prezly/theme-kit-intl'; +import { useDebouncedCallback } from '@react-hookz/web'; +import type { ChangeEvent } from 'react'; import type { SearchBoxExposed, SearchBoxProvided } from 'react-instantsearch-core'; import { connectSearchBox } from 'react-instantsearch-dom'; import { useIntl } from 'react-intl'; @@ -9,8 +12,24 @@ import { Button, FormInput } from '@/ui'; import styles from './SearchInput.module.scss'; function SearchInput({ currentRefinement, refine }: SearchBoxProvided & SearchBoxExposed) { + const { track } = useAnalytics(); const { formatMessage } = useIntl(); + const trackQuery = useDebouncedCallback( + (query: string) => { + track(ACTIONS.SEARCH, { query }); + }, + [track], + 500, + ); + + function handleChange(event: ChangeEvent) { + const query = event.currentTarget.value; + + refine(query); + trackQuery(query); + } + return ( refine(event.currentTarget.value)} + onChange={handleChange} className={styles.input} placeholder={formatMessage(translations.search.inputHint, { inputHintExtra: '' })} autoComplete="off" diff --git a/package-lock.json b/package-lock.json index e33a108b..28b169ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,8 +12,8 @@ "@hcaptcha/react-hcaptcha": "1.9.3", "@headlessui/react": "1.7.18", "@playwright/test": "^1.33.0", - "@prezly/analytics-nextjs": "1.13.0", - "@prezly/content-renderer-react-js": "0.34.1", + "@prezly/analytics-nextjs": "2.0.0", + "@prezly/content-renderer-react-js": "0.35.0", "@prezly/sdk": "18.3.0", "@prezly/story-content-format": "0.64.0", "@prezly/theme-kit-core": "7.1.0", @@ -2648,12 +2648,12 @@ "dev": true }, "node_modules/@prezly/analytics-nextjs": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@prezly/analytics-nextjs/-/analytics-nextjs-1.13.0.tgz", - "integrity": "sha512-9qbyAvqXKACYMLvHXhwX5UAIRbaBybCYgtNhuakOVTcxlRXNlvBGTyxpZD3/jIMxaTp/GKQTpf2vFeXLNm+kiw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@prezly/analytics-nextjs/-/analytics-nextjs-2.0.0.tgz", + "integrity": "sha512-E3pTHDPtO7TCQcrrB5pTZ/2fhIHV3Ln3ALEDkqkNQEuuYFgItvwK0pjgHNTAcG5xL/Ibtx+9jwtnEq2+ulDsow==", "dependencies": { "@react-hookz/web": "^14.2.2", - "@segment/analytics-next": "^1.62.0", + "@segment/analytics-next": "^1.66.0", "js-cookie": "^3.0.1", "next-plausible": "^3.12.0" }, @@ -2673,12 +2673,12 @@ } }, "node_modules/@prezly/content-renderer-react-js": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@prezly/content-renderer-react-js/-/content-renderer-react-js-0.34.1.tgz", - "integrity": "sha512-Z1Y92UwoVAZPw//d7JYh6f7EJbu/K7rcwwbaCOWzNgYS0knbnNHjA4YB8SdqVvudwMlDRpD+r3AFcATNFo1eMA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@prezly/content-renderer-react-js/-/content-renderer-react-js-0.35.0.tgz", + "integrity": "sha512-ZXkiCBHA1ZzY+RC4YQmuqw4mUQzTuwKu9+71Qns4kas5h8bhnXvMJSdH8XaHtNIsQNAkORxTPGXSTY5UpyWOXg==", "dependencies": { "@prezly/linear-partition": "^1.0.2", - "@prezly/sdk": "^6.21.0", + "@prezly/sdk": "^20.0.0", "@prezly/story-content-format": "^0.64.0", "@prezly/uploadcare": "^2.4.3", "@react-hookz/web": "^12.0.0", @@ -2694,13 +2694,13 @@ } }, "node_modules/@prezly/content-renderer-react-js/node_modules/@prezly/sdk": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/@prezly/sdk/-/sdk-6.25.0.tgz", - "integrity": "sha512-xiiuh4ayldL8OsE8Uo1EF1Rvbcmb5Zss4mSFEU1ZG+K8ubvG7pdWKtNoAb37NIuJM+fAjJbmb8R5Ocpa/O7OZw==", + "version": "20.3.0", + "resolved": "https://registry.npmjs.org/@prezly/sdk/-/sdk-20.3.0.tgz", + "integrity": "sha512-fPUNmFpEry9hUsKCsEQBTKSwiAffl0soFEZ8LLTmiXyvwnKtRPBu17BxNatyRIMO63tZXTmx/rPcMJmvyzzDpw==", "dependencies": { "@prezly/progress-promise": "^2.0.1", "@prezly/uploads": "^0.2.1", - "query-string": "^6.9.0" + "query-string": "^6.14.1" }, "engines": { "node": ">= 16" @@ -3031,29 +3031,32 @@ } }, "node_modules/@segment/analytics-core": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.0.tgz", - "integrity": "sha512-rLUv5Se0iDccykxY8bWUuoZT4gg8fNW00zMPqkJN+ONfj5/P1eaGQgygq2EHlR9j20a7tNtp5Y9bZ4rLzViIXQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.5.0.tgz", + "integrity": "sha512-xFM9sS4ltRWDnNE6bD/bwLAGGBI1Doidf35J6ePyuOfecZ7c0sADtk9xR1QD98CDDFVaQcrfV/O1l4rBZvCm4A==", "dependencies": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-generic-utils": "1.2.0", "dset": "^3.1.2", "tslib": "^2.4.1" } }, "node_modules/@segment/analytics-generic-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.0.tgz", - "integrity": "sha512-nOgmbfsKD0jFzH3df+PtjLq3qTspdcFpIy/F5ziho5qiE+QATM8wY9TpvCNBbcHr2f3OGzT6SgjJLFlmM5Yb+w==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", + "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", + "dependencies": { + "tslib": "^2.4.1" + } }, "node_modules/@segment/analytics-next": { - "version": "1.62.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.62.0.tgz", - "integrity": "sha512-RuamvHQPVAkwO9/SSd/ioC/fT+4BaWvDlgkCKQi1DHXT4+5HG7bJROIUBgrHDmXEOVavnH7U97BIkZ1tgXEchw==", + "version": "1.66.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.66.0.tgz", + "integrity": "sha512-euCOLXUAAfcd/kI5FkCrOJ+Sp3QuCn3f9/1U5J+rly+lfqczKqw4x7A5aon6X3ncBJjfEP3gt9OZdcmgco18Ow==", "dependencies": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.4.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-core": "1.5.0", + "@segment/analytics-generic-utils": "1.2.0", "@segment/analytics.js-video-plugins": "^0.2.1", "@segment/facade": "^3.4.9", "@segment/tsub": "^2.0.0", @@ -3079,9 +3082,9 @@ "integrity": "sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==" }, "node_modules/@segment/facade": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.9.tgz", - "integrity": "sha512-0RTLB0g4HiJASc6pTD2/Tru+Qz+VPGL1W+/EvkBGhY6WYk00cZhTjLsMJ8X5BO6iPqLb3vsxtfjVM/RREG5oQQ==", + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", + "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", "dependencies": { "@segment/isodate-traverse": "^1.1.1", "inherits": "^2.0.4", @@ -8906,9 +8909,9 @@ } }, "node_modules/dset": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz", - "integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", + "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", "engines": { "node": ">=4" } @@ -19241,12 +19244,12 @@ "dev": true }, "@prezly/analytics-nextjs": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@prezly/analytics-nextjs/-/analytics-nextjs-1.13.0.tgz", - "integrity": "sha512-9qbyAvqXKACYMLvHXhwX5UAIRbaBybCYgtNhuakOVTcxlRXNlvBGTyxpZD3/jIMxaTp/GKQTpf2vFeXLNm+kiw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@prezly/analytics-nextjs/-/analytics-nextjs-2.0.0.tgz", + "integrity": "sha512-E3pTHDPtO7TCQcrrB5pTZ/2fhIHV3Ln3ALEDkqkNQEuuYFgItvwK0pjgHNTAcG5xL/Ibtx+9jwtnEq2+ulDsow==", "requires": { "@react-hookz/web": "^14.2.2", - "@segment/analytics-next": "^1.62.0", + "@segment/analytics-next": "^1.66.0", "js-cookie": "^3.0.1", "next-plausible": "^3.12.0" } @@ -19261,12 +19264,12 @@ } }, "@prezly/content-renderer-react-js": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@prezly/content-renderer-react-js/-/content-renderer-react-js-0.34.1.tgz", - "integrity": "sha512-Z1Y92UwoVAZPw//d7JYh6f7EJbu/K7rcwwbaCOWzNgYS0knbnNHjA4YB8SdqVvudwMlDRpD+r3AFcATNFo1eMA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@prezly/content-renderer-react-js/-/content-renderer-react-js-0.35.0.tgz", + "integrity": "sha512-ZXkiCBHA1ZzY+RC4YQmuqw4mUQzTuwKu9+71Qns4kas5h8bhnXvMJSdH8XaHtNIsQNAkORxTPGXSTY5UpyWOXg==", "requires": { "@prezly/linear-partition": "^1.0.2", - "@prezly/sdk": "^6.21.0", + "@prezly/sdk": "^20.0.0", "@prezly/story-content-format": "^0.64.0", "@prezly/uploadcare": "^2.4.3", "@react-hookz/web": "^12.0.0", @@ -19278,13 +19281,13 @@ }, "dependencies": { "@prezly/sdk": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/@prezly/sdk/-/sdk-6.25.0.tgz", - "integrity": "sha512-xiiuh4ayldL8OsE8Uo1EF1Rvbcmb5Zss4mSFEU1ZG+K8ubvG7pdWKtNoAb37NIuJM+fAjJbmb8R5Ocpa/O7OZw==", + "version": "20.3.0", + "resolved": "https://registry.npmjs.org/@prezly/sdk/-/sdk-20.3.0.tgz", + "integrity": "sha512-fPUNmFpEry9hUsKCsEQBTKSwiAffl0soFEZ8LLTmiXyvwnKtRPBu17BxNatyRIMO63tZXTmx/rPcMJmvyzzDpw==", "requires": { "@prezly/progress-promise": "^2.0.1", "@prezly/uploads": "^0.2.1", - "query-string": "^6.9.0" + "query-string": "^6.14.1" } }, "@react-hookz/web": { @@ -19517,29 +19520,32 @@ } }, "@segment/analytics-core": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.0.tgz", - "integrity": "sha512-rLUv5Se0iDccykxY8bWUuoZT4gg8fNW00zMPqkJN+ONfj5/P1eaGQgygq2EHlR9j20a7tNtp5Y9bZ4rLzViIXQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.5.0.tgz", + "integrity": "sha512-xFM9sS4ltRWDnNE6bD/bwLAGGBI1Doidf35J6ePyuOfecZ7c0sADtk9xR1QD98CDDFVaQcrfV/O1l4rBZvCm4A==", "requires": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-generic-utils": "1.2.0", "dset": "^3.1.2", "tslib": "^2.4.1" } }, "@segment/analytics-generic-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.0.tgz", - "integrity": "sha512-nOgmbfsKD0jFzH3df+PtjLq3qTspdcFpIy/F5ziho5qiE+QATM8wY9TpvCNBbcHr2f3OGzT6SgjJLFlmM5Yb+w==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", + "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", + "requires": { + "tslib": "^2.4.1" + } }, "@segment/analytics-next": { - "version": "1.62.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.62.0.tgz", - "integrity": "sha512-RuamvHQPVAkwO9/SSd/ioC/fT+4BaWvDlgkCKQi1DHXT4+5HG7bJROIUBgrHDmXEOVavnH7U97BIkZ1tgXEchw==", + "version": "1.66.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.66.0.tgz", + "integrity": "sha512-euCOLXUAAfcd/kI5FkCrOJ+Sp3QuCn3f9/1U5J+rly+lfqczKqw4x7A5aon6X3ncBJjfEP3gt9OZdcmgco18Ow==", "requires": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.4.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-core": "1.5.0", + "@segment/analytics-generic-utils": "1.2.0", "@segment/analytics.js-video-plugins": "^0.2.1", "@segment/facade": "^3.4.9", "@segment/tsub": "^2.0.0", @@ -19567,9 +19573,9 @@ } }, "@segment/facade": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.9.tgz", - "integrity": "sha512-0RTLB0g4HiJASc6pTD2/Tru+Qz+VPGL1W+/EvkBGhY6WYk00cZhTjLsMJ8X5BO6iPqLb3vsxtfjVM/RREG5oQQ==", + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", + "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", "requires": { "@segment/isodate-traverse": "^1.1.1", "inherits": "^2.0.4", @@ -22576,9 +22582,9 @@ "dev": true }, "dset": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz", - "integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", + "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==" }, "duplexer": { "version": "0.1.2", diff --git a/package.json b/package.json index 1b9ed2ad..0d244139 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ "@hcaptcha/react-hcaptcha": "1.9.3", "@headlessui/react": "1.7.18", "@playwright/test": "^1.33.0", - "@prezly/analytics-nextjs": "1.13.0", - "@prezly/content-renderer-react-js": "0.34.1", + "@prezly/analytics-nextjs": "2.0.0", + "@prezly/content-renderer-react-js": "0.35.0", "@prezly/sdk": "18.3.0", "@prezly/story-content-format": "0.64.0", "@prezly/theme-kit-core": "7.1.0",