@prezly/theme-kit-nextjs 1.18.2 → 2.0.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/build/@types/global.d.js +1 -0
  2. package/build/adapter-nextjs/api-handlers/fetchGalleries.js +27 -23
  3. package/build/adapter-nextjs/api-handlers/fetchGalleries.js.map +1 -1
  4. package/build/adapter-nextjs/api-handlers/fetchStories.js +37 -25
  5. package/build/adapter-nextjs/api-handlers/fetchStories.js.map +1 -1
  6. package/build/adapter-nextjs/api-handlers/index.js +2 -8
  7. package/build/adapter-nextjs/api-handlers/index.js.map +1 -1
  8. package/build/adapter-nextjs/getNewsroomServerSideProps.js +16 -15
  9. package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
  10. package/build/adapter-nextjs/getNewsroomStaticProps.js +15 -15
  11. package/build/adapter-nextjs/getNewsroomStaticProps.js.map +1 -1
  12. package/build/adapter-nextjs/index.js +6 -23
  13. package/build/adapter-nextjs/index.js.map +1 -1
  14. package/build/adapter-nextjs/page-props/category.d.ts +2 -2
  15. package/build/adapter-nextjs/page-props/category.js +118 -100
  16. package/build/adapter-nextjs/page-props/category.js.map +1 -1
  17. package/build/adapter-nextjs/page-props/gallery.js +87 -68
  18. package/build/adapter-nextjs/page-props/gallery.js.map +1 -1
  19. package/build/adapter-nextjs/page-props/galleryAlbum.js +64 -53
  20. package/build/adapter-nextjs/page-props/galleryAlbum.js.map +1 -1
  21. package/build/adapter-nextjs/page-props/home.d.ts +2 -2
  22. package/build/adapter-nextjs/page-props/home.js +83 -69
  23. package/build/adapter-nextjs/page-props/home.js.map +1 -1
  24. package/build/adapter-nextjs/page-props/index.js +8 -42
  25. package/build/adapter-nextjs/page-props/index.js.map +1 -1
  26. package/build/adapter-nextjs/page-props/lib/types.js +1 -3
  27. package/build/adapter-nextjs/page-props/search.js +25 -31
  28. package/build/adapter-nextjs/page-props/search.js.map +1 -1
  29. package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +29 -50
  30. package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js.map +1 -1
  31. package/build/adapter-nextjs/page-props/sitemap/createPaths.js +13 -19
  32. package/build/adapter-nextjs/page-props/sitemap/createPaths.js.map +1 -1
  33. package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +33 -35
  34. package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js.map +1 -1
  35. package/build/adapter-nextjs/page-props/sitemap/index.js +4 -25
  36. package/build/adapter-nextjs/page-props/sitemap/index.js.map +1 -1
  37. package/build/adapter-nextjs/page-props/sitemap/types.js +1 -3
  38. package/build/adapter-nextjs/page-props/story.js +77 -64
  39. package/build/adapter-nextjs/page-props/story.js.map +1 -1
  40. package/build/adapter-nextjs/page-props/storyPreview.js +27 -26
  41. package/build/adapter-nextjs/page-props/storyPreview.js.map +1 -1
  42. package/build/adapter-nextjs/processRequest.js +34 -25
  43. package/build/adapter-nextjs/processRequest.js.map +1 -1
  44. package/build/adapter-nextjs/processStaticRequest.js +19 -16
  45. package/build/adapter-nextjs/processStaticRequest.js.map +1 -1
  46. package/build/components-nextjs/PageSeo/PageSeo.js +84 -78
  47. package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
  48. package/build/components-nextjs/PageSeo/index.js +2 -21
  49. package/build/components-nextjs/PageSeo/index.js.map +1 -1
  50. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +5 -10
  51. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -1
  52. package/build/components-nextjs/PageSeo/lib/types.js +1 -3
  53. package/build/components-nextjs/StorySeo/StorySeo.js +69 -47
  54. package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -1
  55. package/build/components-nextjs/StorySeo/index.js +1 -6
  56. package/build/components-nextjs/StorySeo/index.js.map +1 -1
  57. package/build/components-nextjs/document.js +31 -48
  58. package/build/components-nextjs/document.js.map +1 -1
  59. package/build/components-nextjs/index.js +3 -10
  60. package/build/components-nextjs/index.js.map +1 -1
  61. package/build/data-fetching/api/PrezlyApi.d.ts +4 -5
  62. package/build/data-fetching/api/PrezlyApi.js +207 -192
  63. package/build/data-fetching/api/PrezlyApi.js.map +1 -1
  64. package/build/data-fetching/api/getPrezlyApi.js +21 -21
  65. package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
  66. package/build/data-fetching/api/index.js +1 -18
  67. package/build/data-fetching/api/index.js.map +1 -1
  68. package/build/data-fetching/api/queries.js +76 -47
  69. package/build/data-fetching/api/queries.js.map +1 -1
  70. package/build/data-fetching/index.js +3 -20
  71. package/build/data-fetching/index.js.map +1 -1
  72. package/build/data-fetching/lib/getAlgoliaSettings.js +22 -22
  73. package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
  74. package/build/data-fetching/lib/getEnvVariables.js +35 -38
  75. package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
  76. package/build/data-fetching/lib/index.js +4 -12
  77. package/build/data-fetching/lib/index.js.map +1 -1
  78. package/build/data-fetching/lib/isSdkError.js +3 -8
  79. package/build/data-fetching/lib/isSdkError.js.map +1 -1
  80. package/build/data-fetching/lib/isUuid.js +3 -8
  81. package/build/data-fetching/lib/isUuid.js.map +1 -1
  82. package/build/data-fetching/types.js +1 -3
  83. package/build/index.js +9 -26
  84. package/build/index.js.map +1 -1
  85. package/build/infinite-loading/index.js +4 -25
  86. package/build/infinite-loading/index.js.map +1 -1
  87. package/build/infinite-loading/types.js +1 -3
  88. package/build/infinite-loading/useInfiniteGalleriesLoading.js +42 -37
  89. package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -1
  90. package/build/infinite-loading/useInfiniteLoading.js +50 -43
  91. package/build/infinite-loading/useInfiniteLoading.js.map +1 -1
  92. package/build/infinite-loading/useInfiniteStoriesLoading.d.ts +2 -2
  93. package/build/infinite-loading/useInfiniteStoriesLoading.js +56 -50
  94. package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -1
  95. package/build/intl/index.d.ts +1 -1
  96. package/build/intl/index.js +4 -26
  97. package/build/intl/index.js.map +1 -1
  98. package/build/intl/languages.d.ts +1 -1
  99. package/build/intl/languages.js +146 -122
  100. package/build/intl/languages.js.map +1 -1
  101. package/build/intl/locale.js +52 -107
  102. package/build/intl/locale.js.map +1 -1
  103. package/build/intl/localeConfig.d.ts +1 -2
  104. package/build/intl/localeConfig.js +7 -14
  105. package/build/intl/localeConfig.js.map +1 -1
  106. package/build/intl/localeList.d.ts +4 -2
  107. package/build/intl/localeList.js +1 -109
  108. package/build/intl/localeList.js.map +1 -1
  109. package/build/intl/localeObject.js +80 -82
  110. package/build/intl/localeObject.js.map +1 -1
  111. package/build/newsroom-context/context.js +35 -25
  112. package/build/newsroom-context/context.js.map +1 -1
  113. package/build/newsroom-context/hooks/index.js +11 -28
  114. package/build/newsroom-context/hooks/index.js.map +1 -1
  115. package/build/newsroom-context/hooks/useAlgoliaSettings.js +5 -10
  116. package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
  117. package/build/newsroom-context/hooks/useCategories.js +5 -10
  118. package/build/newsroom-context/hooks/useCategories.js.map +1 -1
  119. package/build/newsroom-context/hooks/useCompanyInformation.js +5 -10
  120. package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
  121. package/build/newsroom-context/hooks/useCurrentCategory.js +5 -10
  122. package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
  123. package/build/newsroom-context/hooks/useCurrentLocale.js +5 -10
  124. package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
  125. package/build/newsroom-context/hooks/useCurrentStory.js +5 -10
  126. package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
  127. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +17 -21
  128. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
  129. package/build/newsroom-context/hooks/useGetTranslationUrl.js +52 -55
  130. package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
  131. package/build/newsroom-context/hooks/useLanguages.js +5 -10
  132. package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
  133. package/build/newsroom-context/hooks/useNewsroom.js +5 -10
  134. package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
  135. package/build/newsroom-context/hooks/useNewsroomContext.js +11 -16
  136. package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
  137. package/build/newsroom-context/index.js +2 -22
  138. package/build/newsroom-context/index.js.map +1 -1
  139. package/build/sentry/client.js +4 -9
  140. package/build/sentry/client.js.map +1 -1
  141. package/build/sentry/common.js +26 -29
  142. package/build/sentry/common.js.map +1 -1
  143. package/build/sentry/index.js +2 -8
  144. package/build/sentry/index.js.map +1 -1
  145. package/build/sentry/server.js +4 -9
  146. package/build/sentry/server.js.map +1 -1
  147. package/build/types.d.ts +2 -2
  148. package/build/types.js +1 -3
  149. package/build/utils/boilerplate.js +7 -22
  150. package/build/utils/boilerplate.js.map +1 -1
  151. package/build/utils/constants.js +3 -7
  152. package/build/utils/constants.js.map +1 -1
  153. package/build/utils/getAssetsUrl.js +4 -9
  154. package/build/utils/getAssetsUrl.js.map +1 -1
  155. package/build/utils/getDataRequestLink.js +6 -12
  156. package/build/utils/getDataRequestLink.js.map +1 -1
  157. package/build/utils/getLocalizedCategoryData.js +33 -33
  158. package/build/utils/getLocalizedCategoryData.js.map +1 -1
  159. package/build/utils/getNewsroomLogoUrl.js +15 -21
  160. package/build/utils/getNewsroomLogoUrl.js.map +1 -1
  161. package/build/utils/getPrivacyPortalUrl.js +11 -13
  162. package/build/utils/getPrivacyPortalUrl.js.map +1 -1
  163. package/build/utils/getStoryPublicationDate.js +9 -14
  164. package/build/utils/getStoryPublicationDate.js.map +1 -1
  165. package/build/utils/getUploadcareGroupUrl.js +5 -10
  166. package/build/utils/getUploadcareGroupUrl.js.map +1 -1
  167. package/build/utils/index.js +10 -27
  168. package/build/utils/index.js.map +1 -1
  169. package/build/utils/isEmbargoStory.js +3 -8
  170. package/build/utils/isEmbargoStory.js.map +1 -1
  171. package/package.json +26 -18
  172. package/build/tsconfig.tsbuildinfo +0 -1
  173. package/src/@types/global.d.ts +0 -7
  174. package/src/__mocks__/languages.ts +0 -417
  175. package/src/__mocks__/story.ts +0 -351
  176. package/src/adapter-nextjs/api-handlers/fetchGalleries.ts +0 -24
  177. package/src/adapter-nextjs/api-handlers/fetchStories.ts +0 -26
  178. package/src/adapter-nextjs/api-handlers/index.ts +0 -2
  179. package/src/adapter-nextjs/getNewsroomServerSideProps.ts +0 -29
  180. package/src/adapter-nextjs/getNewsroomStaticProps.ts +0 -29
  181. package/src/adapter-nextjs/index.ts +0 -6
  182. package/src/adapter-nextjs/page-props/category.ts +0 -157
  183. package/src/adapter-nextjs/page-props/gallery.ts +0 -114
  184. package/src/adapter-nextjs/page-props/galleryAlbum.ts +0 -89
  185. package/src/adapter-nextjs/page-props/home.ts +0 -113
  186. package/src/adapter-nextjs/page-props/index.ts +0 -26
  187. package/src/adapter-nextjs/page-props/lib/types.ts +0 -8
  188. package/src/adapter-nextjs/page-props/search.ts +0 -53
  189. package/src/adapter-nextjs/page-props/sitemap/SitemapBuilder.ts +0 -56
  190. package/src/adapter-nextjs/page-props/sitemap/createPaths.ts +0 -21
  191. package/src/adapter-nextjs/page-props/sitemap/getServerSideProps.ts +0 -43
  192. package/src/adapter-nextjs/page-props/sitemap/index.ts +0 -5
  193. package/src/adapter-nextjs/page-props/sitemap/types.ts +0 -5
  194. package/src/adapter-nextjs/page-props/story.ts +0 -94
  195. package/src/adapter-nextjs/page-props/storyPreview.ts +0 -33
  196. package/src/adapter-nextjs/processRequest.ts +0 -49
  197. package/src/adapter-nextjs/processStaticRequest.ts +0 -32
  198. package/src/components-nextjs/PageSeo/PageSeo.tsx +0 -131
  199. package/src/components-nextjs/PageSeo/index.ts +0 -2
  200. package/src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts +0 -7
  201. package/src/components-nextjs/PageSeo/lib/types.ts +0 -4
  202. package/src/components-nextjs/StorySeo/StorySeo.tsx +0 -80
  203. package/src/components-nextjs/StorySeo/index.ts +0 -1
  204. package/src/components-nextjs/document.tsx +0 -38
  205. package/src/components-nextjs/index.ts +0 -3
  206. package/src/data-fetching/api/PrezlyApi.ts +0 -302
  207. package/src/data-fetching/api/getPrezlyApi.ts +0 -24
  208. package/src/data-fetching/api/index.ts +0 -1
  209. package/src/data-fetching/api/queries.ts +0 -51
  210. package/src/data-fetching/index.ts +0 -3
  211. package/src/data-fetching/lib/getAlgoliaSettings.ts +0 -29
  212. package/src/data-fetching/lib/getEnvVariables.ts +0 -46
  213. package/src/data-fetching/lib/index.ts +0 -4
  214. package/src/data-fetching/lib/isSdkError.ts +0 -5
  215. package/src/data-fetching/lib/isUuid.ts +0 -5
  216. package/src/data-fetching/types.ts +0 -14
  217. package/src/index.ts +0 -9
  218. package/src/infinite-loading/index.ts +0 -4
  219. package/src/infinite-loading/types.ts +0 -5
  220. package/src/infinite-loading/useInfiniteGalleriesLoading.ts +0 -53
  221. package/src/infinite-loading/useInfiniteLoading.ts +0 -66
  222. package/src/infinite-loading/useInfiniteStoriesLoading.ts +0 -81
  223. package/src/intl/index.ts +0 -4
  224. package/src/intl/languages.test.ts +0 -232
  225. package/src/intl/languages.ts +0 -233
  226. package/src/intl/locale.test.ts +0 -94
  227. package/src/intl/locale.ts +0 -140
  228. package/src/intl/localeConfig.js +0 -23
  229. package/src/intl/localeList.js +0 -110
  230. package/src/intl/localeObject.test.ts +0 -81
  231. package/src/intl/localeObject.ts +0 -99
  232. package/src/newsroom-context/context.tsx +0 -115
  233. package/src/newsroom-context/hooks/index.ts +0 -11
  234. package/src/newsroom-context/hooks/useAlgoliaSettings.ts +0 -7
  235. package/src/newsroom-context/hooks/useCategories.ts +0 -7
  236. package/src/newsroom-context/hooks/useCompanyInformation.ts +0 -7
  237. package/src/newsroom-context/hooks/useCurrentCategory.ts +0 -7
  238. package/src/newsroom-context/hooks/useCurrentLocale.ts +0 -7
  239. package/src/newsroom-context/hooks/useCurrentStory.ts +0 -7
  240. package/src/newsroom-context/hooks/useGetLinkLocaleSlug.ts +0 -37
  241. package/src/newsroom-context/hooks/useGetTranslationUrl.ts +0 -96
  242. package/src/newsroom-context/hooks/useLanguages.ts +0 -7
  243. package/src/newsroom-context/hooks/useNewsroom.ts +0 -7
  244. package/src/newsroom-context/hooks/useNewsroomContext.ts +0 -15
  245. package/src/newsroom-context/index.ts +0 -2
  246. package/src/sentry/client.ts +0 -7
  247. package/src/sentry/common.ts +0 -27
  248. package/src/sentry/index.ts +0 -2
  249. package/src/sentry/server.ts +0 -7
  250. package/src/types.ts +0 -51
  251. package/src/utils/boilerplate.ts +0 -27
  252. package/src/utils/constants.ts +0 -3
  253. package/src/utils/getAssetsUrl.test.ts +0 -9
  254. package/src/utils/getAssetsUrl.ts +0 -9
  255. package/src/utils/getDataRequestLink.ts +0 -14
  256. package/src/utils/getLocalizedCategoryData.ts +0 -47
  257. package/src/utils/getNewsroomLogoUrl.ts +0 -22
  258. package/src/utils/getPrivacyPortalUrl.ts +0 -25
  259. package/src/utils/getStoryPublicationDate.tsx +0 -15
  260. package/src/utils/getUploadcareGroupUrl.ts +0 -13
  261. package/src/utils/index.ts +0 -10
  262. package/src/utils/isEmbargoStory.ts +0 -10
@@ -1,83 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PageSeo = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const next_seo_1 = require("next-seo");
6
- const router_1 = require("next/router");
7
- const react_1 = require("react");
8
- const intl_1 = require("../../intl");
9
- const newsroom_context_1 = require("../../newsroom-context");
10
- const utils_1 = require("../../utils");
11
- const getAbsoluteUrl_1 = require("./lib/getAbsoluteUrl");
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import { NextSeo } from 'next-seo';
3
+ import { useRouter } from 'next/router';
4
+ import { useMemo } from 'react';
5
+ import { getUsedLanguages, LocaleObject } from "../../intl/index.js";
6
+ import { useCompanyInformation, useCurrentLocale, useCurrentStory, useGetLinkLocaleSlug, useGetTranslationUrl, useLanguages, useNewsroom } from "../../newsroom-context/index.js";
7
+ import { getNewsroomLogoUrl } from "../../utils/index.js";
8
+ import { getAbsoluteUrl } from "./lib/getAbsoluteUrl.js";
12
9
  /**
13
10
  * This component provides base page attributes for every Newsroom page.
14
11
  * It depends on information from NewsroomContext, so the component should be placed inside the `NewsroomContextProvider`.
15
12
  * You can pass additional props expected by NextSeo component to override any info that is provided by the NewsroomContext.
16
13
  */
17
- function PageSeo({ title, description, imageUrl, canonical, openGraph, twitter, ...nextSeoProps }) {
18
- const companyInformation = (0, newsroom_context_1.useCompanyInformation)();
19
- const newsroom = (0, newsroom_context_1.useNewsroom)();
20
- const currentLocale = (0, newsroom_context_1.useCurrentLocale)();
21
- const languages = (0, newsroom_context_1.useLanguages)();
22
- const getTranslationUrl = (0, newsroom_context_1.useGetTranslationUrl)();
23
- const getLinkLocaleSlug = (0, newsroom_context_1.useGetLinkLocaleSlug)();
24
- const currentStory = (0, newsroom_context_1.useCurrentStory)();
25
- const { asPath } = (0, router_1.useRouter)();
26
- const pageTitle = title || companyInformation.name;
27
- const pageDescription = description || companyInformation.about_plaintext;
28
- const canonicalUrl = canonical || (0, getAbsoluteUrl_1.getAbsoluteUrl)(asPath, newsroom.url, getLinkLocaleSlug(currentLocale));
29
- const siteName = companyInformation.name;
30
- const logoUrl = imageUrl || (0, utils_1.getNewsroomLogoUrl)(newsroom);
31
- const alternateLanguageLinks = (0, react_1.useMemo)(() => {
32
- if (!languages.length) {
33
- return [];
34
- }
35
- const alternateLanguages = (0, intl_1.getUsedLanguages)(languages).filter((language) => language.code !== currentLocale.toUnderscoreCode());
36
- return alternateLanguages
37
- .map((language) => {
38
- const locale = intl_1.LocaleObject.fromAnyCode(language.code);
39
- const translationLink = getTranslationUrl(locale, true);
40
- if (!translationLink) {
41
- return undefined;
42
- }
43
- return {
44
- hrefLang: locale.toHyphenCode(),
45
- href: (0, getAbsoluteUrl_1.getAbsoluteUrl)(translationLink, newsroom.url, currentStory && translationLink !== '/' ? false : getLinkLocaleSlug(locale)),
46
- };
47
- })
48
- .filter(Boolean);
49
- }, [
50
- currentLocale,
51
- getLinkLocaleSlug,
52
- getTranslationUrl,
53
- languages,
54
- newsroom.url,
55
- currentStory,
56
- ]);
57
- return ((0, jsx_runtime_1.jsx)(next_seo_1.NextSeo, { title: pageTitle, description: pageDescription, canonical: canonicalUrl, noindex: nextSeoProps.noindex ?? !newsroom.is_indexable, nofollow: nextSeoProps.nofollow ?? !newsroom.is_indexable, openGraph: {
58
- url: canonicalUrl,
59
- title: pageTitle,
60
- description: pageDescription,
61
- locale: currentLocale.toUnderscoreCode(),
62
- images: [
63
- {
64
- url: logoUrl,
65
- alt: pageTitle,
66
- },
67
- ],
68
- site_name: siteName,
69
- ...openGraph,
70
- }, twitter: {
71
- site: siteName,
72
- cardType: 'summary',
73
- ...twitter,
74
- }, additionalMetaTags: [{ name: 'twitter:image', content: logoUrl }], additionalLinkTags: [
75
- {
76
- rel: 'alternate',
77
- type: 'application/rss+xml',
78
- href: (0, getAbsoluteUrl_1.getAbsoluteUrl)('/feed', newsroom.url),
79
- },
80
- ], languageAlternates: alternateLanguageLinks, ...nextSeoProps }));
81
- }
82
- exports.PageSeo = PageSeo;
83
- //# sourceMappingURL=PageSeo.js.map
14
+ export function PageSeo({
15
+ title,
16
+ description,
17
+ imageUrl,
18
+ canonical,
19
+ openGraph,
20
+ twitter,
21
+ ...nextSeoProps
22
+ }) {
23
+ const companyInformation = useCompanyInformation();
24
+ const newsroom = useNewsroom();
25
+ const currentLocale = useCurrentLocale();
26
+ const languages = useLanguages();
27
+ const getTranslationUrl = useGetTranslationUrl();
28
+ const getLinkLocaleSlug = useGetLinkLocaleSlug();
29
+ const currentStory = useCurrentStory();
30
+ const {
31
+ asPath
32
+ } = useRouter();
33
+ const pageTitle = title || companyInformation.name;
34
+ const pageDescription = description || companyInformation.about_plaintext;
35
+ const canonicalUrl = canonical || getAbsoluteUrl(asPath, newsroom.url, getLinkLocaleSlug(currentLocale));
36
+ const siteName = companyInformation.name;
37
+ const logoUrl = imageUrl || getNewsroomLogoUrl(newsroom);
38
+ const alternateLanguageLinks = useMemo(() => {
39
+ if (!languages.length) {
40
+ return [];
41
+ }
42
+ const alternateLanguages = getUsedLanguages(languages).filter(language => language.code !== currentLocale.toUnderscoreCode());
43
+ return alternateLanguages.map(language => {
44
+ const locale = LocaleObject.fromAnyCode(language.code);
45
+ const translationLink = getTranslationUrl(locale, true);
46
+ if (!translationLink) {
47
+ return undefined;
48
+ }
49
+ return {
50
+ hrefLang: locale.toHyphenCode(),
51
+ href: getAbsoluteUrl(translationLink, newsroom.url, currentStory && translationLink !== '/' ? false : getLinkLocaleSlug(locale))
52
+ };
53
+ }).filter(Boolean);
54
+ }, [currentLocale, getLinkLocaleSlug, getTranslationUrl, languages, newsroom.url, currentStory]);
55
+ return /*#__PURE__*/React.createElement(NextSeo, _extends({
56
+ title: pageTitle,
57
+ description: pageDescription,
58
+ canonical: canonicalUrl,
59
+ noindex: nextSeoProps.noindex ?? !newsroom.is_indexable,
60
+ nofollow: nextSeoProps.nofollow ?? !newsroom.is_indexable,
61
+ openGraph: {
62
+ url: canonicalUrl,
63
+ title: pageTitle,
64
+ description: pageDescription,
65
+ locale: currentLocale.toUnderscoreCode(),
66
+ images: [{
67
+ url: logoUrl,
68
+ alt: pageTitle
69
+ }],
70
+ site_name: siteName,
71
+ ...openGraph
72
+ },
73
+ twitter: {
74
+ site: siteName,
75
+ cardType: 'summary',
76
+ ...twitter
77
+ },
78
+ additionalMetaTags: [{
79
+ name: 'twitter:image',
80
+ content: logoUrl
81
+ }],
82
+ additionalLinkTags: [{
83
+ rel: 'alternate',
84
+ type: 'application/rss+xml',
85
+ href: getAbsoluteUrl('/feed', newsroom.url)
86
+ }],
87
+ languageAlternates: alternateLanguageLinks
88
+ }, nextSeoProps));
89
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"PageSeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/PageSeo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageSeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/PageSeo.tsx"],"names":[],"mappings":"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"}
@@ -1,21 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.PageSeo = void 0;
18
- var PageSeo_1 = require("./PageSeo");
19
- Object.defineProperty(exports, "PageSeo", { enumerable: true, get: function () { return PageSeo_1.PageSeo; } });
20
- __exportStar(require("./lib/types"), exports);
21
- //# sourceMappingURL=index.js.map
1
+ export { PageSeo } from "./PageSeo.js";
2
+ export * from "./lib/types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,cAAc,aAAa,CAAC"}
@@ -1,11 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAbsoluteUrl = void 0;
4
1
  // Returns absolute URL based on the path and without any query parameters
5
- function getAbsoluteUrl(path, origin, localeCode) {
6
- const url = new URL(`${localeCode ? `/${localeCode}` : ''}${path || '/'}`, origin);
7
- url.search = '';
8
- return url.toString();
9
- }
10
- exports.getAbsoluteUrl = getAbsoluteUrl;
11
- //# sourceMappingURL=getAbsoluteUrl.js.map
2
+ export function getAbsoluteUrl(path, origin, localeCode) {
3
+ const url = new URL(`${localeCode ? `/${localeCode}` : ''}${path || '/'}`, origin);
4
+ url.search = '';
5
+ return url.toString();
6
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"getAbsoluteUrl.js","sourceRoot":"","sources":["../../../../src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,SAAgB,cAAc,CAAC,IAAY,EAAE,MAAc,EAAE,UAA2B;IACpF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACnF,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AALD,wCAKC"}
1
+ {"version":3,"file":"getAbsoluteUrl.js","sourceRoot":"","sources":["../../../../src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAc,EAAE,UAA2B;IACpF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACnF,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
1
+ export {};
@@ -1,51 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorySeo = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const sdk_1 = require("@prezly/sdk");
6
- const next_seo_1 = require("next-seo");
1
+ import { Story } from '@prezly/sdk';
2
+ import { ArticleJsonLd, NextSeo } from 'next-seo';
7
3
  /**
8
4
  * This components provides additional page attributes for the Story page.
9
5
  * It works in conjunction with `PageSeo` component, overidding some of its attributes.
10
6
  */
11
- function StorySeo({ story, noindex }) {
12
- const { title, subtitle, published_at, updated_at, author, oembed, newsroom, summary } = story;
13
- const authorName = author?.display_name || author?.email || 'Unknown';
14
- const description = subtitle || summary;
15
- const indexable = newsroom.is_indexable && story.visibility === sdk_1.StoryVisibility.PUBLIC;
16
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(next_seo_1.NextSeo, { title: title, description: description, canonical: oembed.url, noindex: noindex ?? !indexable, nofollow: noindex ?? !indexable, openGraph: {
17
- title,
18
- description,
19
- url: oembed.url,
20
- site_name: newsroom.display_name,
21
- type: 'article',
22
- article: {
23
- publishedTime: published_at || undefined,
24
- modifiedTime: updated_at,
25
- authors: [authorName],
26
- },
27
- ...(oembed.thumbnail_url && {
28
- images: [
29
- {
30
- url: oembed.thumbnail_url,
31
- alt: oembed.title,
32
- width: oembed.thumbnail_width,
33
- height: oembed.thumbnail_height,
34
- },
35
- ],
36
- }),
37
- }, additionalMetaTags: oembed.thumbnail_url
38
- ? [
39
- { name: 'twitter:card', content: 'summary_large_image' },
40
- { name: 'twitter:image', content: oembed.thumbnail_url },
41
- ]
42
- : undefined, additionalLinkTags: [
43
- {
44
- rel: 'alternate',
45
- type: 'application/json',
46
- href: `${oembed.url}.json`,
47
- },
48
- ] }), (0, jsx_runtime_1.jsx)(next_seo_1.ArticleJsonLd, { url: oembed.url, title: title, images: oembed.thumbnail_url ? [oembed.thumbnail_url] : [], datePublished: published_at || '', dateModified: updated_at, authorName: [authorName], publisherName: newsroom.display_name, publisherLogo: newsroom.thumbnail_url, description: description })] }));
49
- }
50
- exports.StorySeo = StorySeo;
51
- //# sourceMappingURL=StorySeo.js.map
7
+ export function StorySeo({
8
+ story,
9
+ noindex
10
+ }) {
11
+ const {
12
+ title,
13
+ subtitle,
14
+ published_at,
15
+ updated_at,
16
+ author,
17
+ oembed,
18
+ newsroom,
19
+ summary
20
+ } = story;
21
+ const authorName = author?.display_name || author?.email || 'Unknown';
22
+ const description = subtitle || summary;
23
+ const indexable = newsroom.is_indexable && story.visibility === Story.Visibility.PUBLIC;
24
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NextSeo, {
25
+ title: title,
26
+ description: description,
27
+ canonical: oembed.url,
28
+ noindex: noindex ?? !indexable,
29
+ nofollow: noindex ?? !indexable,
30
+ openGraph: {
31
+ title,
32
+ description,
33
+ url: oembed.url,
34
+ site_name: newsroom.display_name,
35
+ type: 'article',
36
+ article: {
37
+ publishedTime: published_at || undefined,
38
+ modifiedTime: updated_at,
39
+ authors: [authorName]
40
+ },
41
+ ...(oembed.thumbnail_url && {
42
+ images: [{
43
+ url: oembed.thumbnail_url,
44
+ alt: oembed.title,
45
+ width: oembed.thumbnail_width,
46
+ height: oembed.thumbnail_height
47
+ }]
48
+ })
49
+ },
50
+ additionalMetaTags: oembed.thumbnail_url ? [{
51
+ name: 'twitter:card',
52
+ content: 'summary_large_image'
53
+ }, {
54
+ name: 'twitter:image',
55
+ content: oembed.thumbnail_url
56
+ }] : undefined,
57
+ additionalLinkTags: [{
58
+ rel: 'alternate',
59
+ type: 'application/json',
60
+ href: `${oembed.url}.json`
61
+ }]
62
+ }), /*#__PURE__*/React.createElement(ArticleJsonLd, {
63
+ url: oembed.url,
64
+ title: title,
65
+ images: oembed.thumbnail_url ? [oembed.thumbnail_url] : [],
66
+ datePublished: published_at || '',
67
+ dateModified: updated_at,
68
+ authorName: [authorName],
69
+ publisherName: newsroom.display_name,
70
+ publisherLogo: newsroom.thumbnail_url,
71
+ description: description
72
+ }));
73
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"StorySeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/StorySeo/StorySeo.tsx"],"names":[],"mappings":";;;;AACA,qCAA8C;AAC9C,uCAAkD;AAOlD;;;GAGG;AACH,SAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAS;IAC9C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE/F,MAAM,UAAU,GAAG,MAAM,EAAE,YAAY,IAAI,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC;IACtE,MAAM,WAAW,GAAG,QAAQ,IAAI,OAAO,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,KAAK,qBAAe,CAAC,MAAM,CAAC;IAEvF,OAAO,CACH,6DACI,uBAAC,kBAAO,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,OAAO,EAAE,OAAO,IAAI,CAAC,SAAS,EAC9B,QAAQ,EAAE,OAAO,IAAI,CAAC,SAAS,EAC/B,SAAS,EAAE;oBACP,KAAK;oBACL,WAAW;oBACX,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,SAAS,EAAE,QAAQ,CAAC,YAAY;oBAChC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACL,aAAa,EAAE,YAAY,IAAI,SAAS;wBACxC,YAAY,EAAE,UAAU;wBACxB,OAAO,EAAE,CAAC,UAAU,CAAC;qBACxB;oBACD,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI;wBACxB,MAAM,EAAE;4BACJ;gCACI,GAAG,EAAE,MAAM,CAAC,aAAa;gCACzB,GAAG,EAAE,MAAM,CAAC,KAAK;gCACjB,KAAK,EAAE,MAAM,CAAC,eAAe;gCAC7B,MAAM,EAAE,MAAM,CAAC,gBAAgB;6BAClC;yBACJ;qBACJ,CAAC;iBACL,EACD,kBAAkB,EACd,MAAM,CAAC,aAAa;oBAChB,CAAC,CAAC;wBACI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE;wBACxD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE;qBAC3D;oBACH,CAAC,CAAC,SAAS,EAEnB,kBAAkB,EAAE;oBAChB;wBACI,GAAG,EAAE,WAAW;wBAChB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,OAAO;qBAC7B;iBACJ,GACH,EACF,uBAAC,wBAAa,IACV,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1D,aAAa,EAAE,YAAY,IAAI,EAAE,EACjC,YAAY,EAAE,UAAU,EACxB,UAAU,EAAE,CAAC,UAAU,CAAC,EACxB,aAAa,EAAE,QAAQ,CAAC,YAAY,EACpC,aAAa,EAAE,QAAQ,CAAC,aAAa,EACrC,WAAW,EAAE,WAAW,GAC1B,IACH,CACN,CAAC;AACN,CAAC;AAlED,4BAkEC"}
1
+ {"version":3,"file":"StorySeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/StorySeo/StorySeo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAOlD;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAS;IAC9C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE/F,MAAM,UAAU,GAAG,MAAM,EAAE,YAAY,IAAI,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC;IACtE,MAAM,WAAW,GAAG,QAAQ,IAAI,OAAO,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IAExF,OAAO,CACH,8BACI,KAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,OAAO,EAAE,OAAO,IAAI,CAAC,SAAS,EAC9B,QAAQ,EAAE,OAAO,IAAI,CAAC,SAAS,EAC/B,SAAS,EAAE;oBACP,KAAK;oBACL,WAAW;oBACX,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,SAAS,EAAE,QAAQ,CAAC,YAAY;oBAChC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACL,aAAa,EAAE,YAAY,IAAI,SAAS;wBACxC,YAAY,EAAE,UAAU;wBACxB,OAAO,EAAE,CAAC,UAAU,CAAC;qBACxB;oBACD,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI;wBACxB,MAAM,EAAE;4BACJ;gCACI,GAAG,EAAE,MAAM,CAAC,aAAa;gCACzB,GAAG,EAAE,MAAM,CAAC,KAAK;gCACjB,KAAK,EAAE,MAAM,CAAC,eAAe;gCAC7B,MAAM,EAAE,MAAM,CAAC,gBAAgB;6BAClC;yBACJ;qBACJ,CAAC;iBACL,EACD,kBAAkB,EACd,MAAM,CAAC,aAAa;oBAChB,CAAC,CAAC;wBACI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE;wBACxD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE;qBAC3D;oBACH,CAAC,CAAC,SAAS,EAEnB,kBAAkB,EAAE;oBAChB;wBACI,GAAG,EAAE,WAAW;wBAChB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,OAAO;qBAC7B;iBACJ,GACH,EACF,KAAC,aAAa,IACV,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1D,aAAa,EAAE,YAAY,IAAI,EAAE,EACjC,YAAY,EAAE,UAAU,EACxB,UAAU,EAAE,CAAC,UAAU,CAAC,EACxB,aAAa,EAAE,QAAQ,CAAC,YAAY,EACpC,aAAa,EAAE,QAAQ,CAAC,aAAa,EACrC,WAAW,EAAE,WAAW,GAC1B,IACH,CACN,CAAC;AACN,CAAC"}
@@ -1,6 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorySeo = void 0;
4
- var StorySeo_1 = require("./StorySeo");
5
- Object.defineProperty(exports, "StorySeo", { enumerable: true, get: function () { return StorySeo_1.StorySeo; } });
6
- //# sourceMappingURL=index.js.map
1
+ export { StorySeo } from "./StorySeo.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components-nextjs/StorySeo/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components-nextjs/StorySeo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,48 +1,31 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.PrezlyThemeDocument = void 0;
27
- const jsx_runtime_1 = require("react/jsx-runtime");
28
- const document_1 = __importStar(require("next/document"));
29
- const intl_1 = require("../intl");
30
- class PrezlyThemeDocument extends document_1.default {
31
- getLocaleCode() {
32
- const { newsroomContextProps,
33
- // eslint-disable-next-line no-underscore-dangle
34
- } = this.props.__NEXT_DATA__.props.pageProps;
35
- // In some cases (like server errors) the newsroom context props will not be loaded.
36
- // We need to fall back to default locale to keep the app working.
37
- const { localeCode } = newsroomContextProps ?? { localeCode: intl_1.DEFAULT_LOCALE };
38
- return localeCode;
39
- }
40
- render() {
41
- const locale = intl_1.LocaleObject.fromAnyCode(this.getLocaleCode());
42
- // TODO: The direction can be pulled from the Language object
43
- const direction = (0, intl_1.getLocaleDirection)(locale);
44
- return ((0, jsx_runtime_1.jsxs)(document_1.Html, { lang: locale.toHyphenCode(), dir: direction, children: [(0, jsx_runtime_1.jsx)(document_1.Head, { children: (0, jsx_runtime_1.jsx)("meta", { name: "og:locale", content: locale.toHyphenCode() }) }), (0, jsx_runtime_1.jsxs)("body", { children: [(0, jsx_runtime_1.jsx)(document_1.Main, {}), (0, jsx_runtime_1.jsx)(document_1.NextScript, {})] })] }));
45
- }
46
- }
47
- exports.PrezlyThemeDocument = PrezlyThemeDocument;
48
- //# sourceMappingURL=document.js.map
1
+ import Document, { Head, Html, Main, NextScript } from 'next/document';
2
+ import { DEFAULT_LOCALE, getLocaleDirection, LocaleObject } from "../intl/index.js";
3
+ export class PrezlyThemeDocument extends Document {
4
+ getLocaleCode() {
5
+ const {
6
+ newsroomContextProps
7
+ // eslint-disable-next-line no-underscore-dangle
8
+ } = this.props.__NEXT_DATA__.props.pageProps;
9
+
10
+ // In some cases (like server errors) the newsroom context props will not be loaded.
11
+ // We need to fall back to default locale to keep the app working.
12
+ const {
13
+ localeCode
14
+ } = newsroomContextProps ?? {
15
+ localeCode: DEFAULT_LOCALE
16
+ };
17
+ return localeCode;
18
+ }
19
+ render() {
20
+ const locale = LocaleObject.fromAnyCode(this.getLocaleCode());
21
+ // TODO: The direction can be pulled from the Language object
22
+ const direction = getLocaleDirection(locale);
23
+ return /*#__PURE__*/React.createElement(Html, {
24
+ lang: locale.toHyphenCode(),
25
+ dir: direction
26
+ }, /*#__PURE__*/React.createElement(Head, null, /*#__PURE__*/React.createElement("meta", {
27
+ name: "og:locale",
28
+ content: locale.toHyphenCode()
29
+ })), /*#__PURE__*/React.createElement("body", null, /*#__PURE__*/React.createElement(Main, null), /*#__PURE__*/React.createElement(NextScript, null)));
30
+ }
31
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/components-nextjs/document.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAuE;AAEvE,kCAA2E;AAG3E,MAAa,mBAAoB,SAAQ,kBAAQ;IAC7C,aAAa;QACT,MAAM,EACF,oBAAoB;QACpB,gDAAgD;UACnD,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAsB,CAAC;QAE1D,oFAAoF;QACpF,kEAAkE;QAClE,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,IAAI,EAAE,UAAU,EAAE,qBAAc,EAAE,CAAC;QAE9E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM;QACF,MAAM,MAAM,GAAG,mBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9D,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAAC,MAAM,CAAC,CAAC;QAE7C,OAAO,CACH,wBAAC,eAAI,IAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,aAC7C,uBAAC,eAAI,cACD,iCAAM,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,GAAI,GAEtD,EACP,6CACI,uBAAC,eAAI,KAAG,EACR,uBAAC,qBAAU,KAAG,IACX,IACJ,CACV,CAAC;IACN,CAAC;CACJ;AAhCD,kDAgCC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/components-nextjs/document.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG3E,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC7C,aAAa;QACT,MAAM,EACF,oBAAoB;QACpB,gDAAgD;UACnD,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAsB,CAAC;QAE1D,oFAAoF;QACpF,kEAAkE;QAClE,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;QAE9E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM;QACF,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9D,6DAA6D;QAC7D,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO,CACH,MAAC,IAAI,IAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,aAC7C,KAAC,IAAI,cACD,eAAM,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,GAAI,GAEtD,EACP,2BACI,KAAC,IAAI,KAAG,EACR,KAAC,UAAU,KAAG,IACX,IACJ,CACV,CAAC;IACN,CAAC;CACJ"}
@@ -1,10 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PrezlyThemeDocument = exports.StorySeo = exports.PageSeo = void 0;
4
- var PageSeo_1 = require("./PageSeo");
5
- Object.defineProperty(exports, "PageSeo", { enumerable: true, get: function () { return PageSeo_1.PageSeo; } });
6
- var StorySeo_1 = require("./StorySeo");
7
- Object.defineProperty(exports, "StorySeo", { enumerable: true, get: function () { return StorySeo_1.StorySeo; } });
8
- var document_1 = require("./document");
9
- Object.defineProperty(exports, "PrezlyThemeDocument", { enumerable: true, get: function () { return document_1.PrezlyThemeDocument; } });
10
- //# sourceMappingURL=index.js.map
1
+ export { PageSeo } from "./PageSeo/index.js";
2
+ export { StorySeo } from "./StorySeo/index.js";
3
+ export { PrezlyThemeDocument } from "./document.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components-nextjs/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components-nextjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,6 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { Category, ExtraStoryFields, Newsroom, NewsroomLanguageSettings, Story } from '@prezly/sdk';
3
- import PrezlySDK from '@prezly/sdk';
2
+ import type { Category, Newsroom, NewsroomLanguageSettings, Stories, Story } from '@prezly/sdk';
4
3
  import type { IncomingMessage } from 'http';
5
4
  import type { PageProps, ServerSidePageProps } from '../../types';
6
5
  declare type SortOrder = 'desc' | 'asc';
@@ -8,7 +7,7 @@ interface GetStoriesOptions {
8
7
  page?: number;
9
8
  pageSize?: number;
10
9
  order?: SortOrder;
11
- include?: (keyof ExtraStoryFields)[];
10
+ include?: (keyof Story.ExtraFields)[];
12
11
  localeCode?: string;
13
12
  }
14
13
  interface GetGalleriesOptions {
@@ -39,8 +38,8 @@ export declare class PrezlyApi {
39
38
  getStoryBySlug(slug: string): Promise<import("@prezly/sdk").ExtendedStory | null | undefined>;
40
39
  getCategories(): Promise<Category[]>;
41
40
  getCategoryBySlug(slug: string): Promise<Category | undefined>;
42
- searchStories: typeof PrezlySDK.prototype.stories.search;
43
- getGalleries({ page, pageSize }: GetGalleriesOptions): Promise<import("@prezly/sdk/dist/Sdk/NewsroomGalleries/types").NewsroomGalleriesListResponse>;
41
+ searchStories: Stories.Client['search'];
42
+ getGalleries({ page, pageSize }: GetGalleriesOptions): Promise<import("@prezly/sdk/dist/endpoints/NewsroomGalleries").ListResponse>;
44
43
  getGallery(uuid: string): Promise<import("@prezly/sdk").NewsroomGallery | null | undefined>;
45
44
  /**
46
45
  * In order to prevent issues with theme preview, we only load the theme preset for a specified theme, and not the currently active one.