@prezly/theme-kit-nextjs 2.0.1-0 → 2.0.1-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 (85) hide show
  1. package/build/@types/global.d.js +1 -1
  2. package/build/adapter-nextjs/api-handlers/fetchGalleries.js +9 -3
  3. package/build/adapter-nextjs/api-handlers/fetchStories.js +9 -3
  4. package/build/adapter-nextjs/api-handlers/index.js +19 -2
  5. package/build/adapter-nextjs/getNewsroomServerSideProps.js +9 -3
  6. package/build/adapter-nextjs/getNewsroomStaticProps.js +9 -3
  7. package/build/adapter-nextjs/index.js +71 -6
  8. package/build/adapter-nextjs/page-props/category.js +27 -19
  9. package/build/adapter-nextjs/page-props/gallery.js +20 -13
  10. package/build/adapter-nextjs/page-props/galleryAlbum.js +21 -13
  11. package/build/adapter-nextjs/page-props/home.js +20 -13
  12. package/build/adapter-nextjs/page-props/index.js +138 -8
  13. package/build/adapter-nextjs/page-props/lib/types.js +1 -1
  14. package/build/adapter-nextjs/page-props/search.js +17 -10
  15. package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +9 -2
  16. package/build/adapter-nextjs/page-props/sitemap/createPaths.js +7 -1
  17. package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +13 -7
  18. package/build/adapter-nextjs/page-props/sitemap/index.js +43 -4
  19. package/build/adapter-nextjs/page-props/sitemap/types.js +1 -1
  20. package/build/adapter-nextjs/page-props/story.js +25 -17
  21. package/build/adapter-nextjs/page-props/storyPreview.js +13 -7
  22. package/build/adapter-nextjs/processRequest.js +11 -5
  23. package/build/adapter-nextjs/processStaticRequest.js +7 -1
  24. package/build/components-nextjs/PageSeo/PageSeo.js +30 -24
  25. package/build/components-nextjs/PageSeo/index.js +27 -2
  26. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +7 -1
  27. package/build/components-nextjs/PageSeo/lib/types.js +1 -1
  28. package/build/components-nextjs/StorySeo/StorySeo.js +12 -6
  29. package/build/components-nextjs/StorySeo/index.js +12 -1
  30. package/build/components-nextjs/document.js +19 -10
  31. package/build/components-nextjs/index.js +26 -3
  32. package/build/data-fetching/api/PrezlyApi.js +37 -30
  33. package/build/data-fetching/api/getPrezlyApi.js +11 -5
  34. package/build/data-fetching/api/index.js +16 -1
  35. package/build/data-fetching/api/queries.js +15 -5
  36. package/build/data-fetching/index.js +38 -3
  37. package/build/data-fetching/lib/getAlgoliaSettings.js +9 -3
  38. package/build/data-fetching/lib/getEnvVariables.js +10 -3
  39. package/build/data-fetching/lib/index.js +33 -4
  40. package/build/data-fetching/lib/isSdkError.js +7 -1
  41. package/build/data-fetching/lib/isUuid.js +7 -1
  42. package/build/data-fetching/types.js +1 -1
  43. package/build/index.js +104 -9
  44. package/build/infinite-loading/index.js +43 -4
  45. package/build/infinite-loading/types.js +1 -1
  46. package/build/infinite-loading/useInfiniteGalleriesLoading.js +9 -3
  47. package/build/infinite-loading/useInfiniteLoading.js +15 -9
  48. package/build/infinite-loading/useInfiniteStoriesLoading.js +13 -7
  49. package/build/intl/index.js +49 -4
  50. package/build/intl/languages.js +39 -23
  51. package/build/intl/locale.js +20 -10
  52. package/build/intl/localeConfig.js +14 -5
  53. package/build/intl/localeList.js +8 -1
  54. package/build/intl/localeObject.js +11 -4
  55. package/build/newsroom-context/context.js +13 -5
  56. package/build/newsroom-context/hooks/index.js +126 -11
  57. package/build/newsroom-context/hooks/useAlgoliaSettings.js +9 -3
  58. package/build/newsroom-context/hooks/useCategories.js +9 -3
  59. package/build/newsroom-context/hooks/useCompanyInformation.js +9 -3
  60. package/build/newsroom-context/hooks/useCurrentCategory.js +9 -3
  61. package/build/newsroom-context/hooks/useCurrentLocale.js +9 -3
  62. package/build/newsroom-context/hooks/useCurrentStory.js +9 -3
  63. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +16 -10
  64. package/build/newsroom-context/hooks/useGetTranslationUrl.js +26 -20
  65. package/build/newsroom-context/hooks/useLanguages.js +9 -3
  66. package/build/newsroom-context/hooks/useNewsroom.js +9 -3
  67. package/build/newsroom-context/hooks/useNewsroomContext.js +10 -4
  68. package/build/newsroom-context/index.js +34 -2
  69. package/build/sentry/client.js +9 -3
  70. package/build/sentry/common.js +7 -1
  71. package/build/sentry/index.js +19 -2
  72. package/build/sentry/server.js +9 -3
  73. package/build/types.js +1 -1
  74. package/build/utils/boilerplate.js +11 -3
  75. package/build/utils/constants.js +12 -3
  76. package/build/utils/getAssetsUrl.js +9 -3
  77. package/build/utils/getDataRequestLink.js +9 -3
  78. package/build/utils/getLocalizedCategoryData.js +11 -3
  79. package/build/utils/getNewsroomLogoUrl.js +12 -5
  80. package/build/utils/getPrivacyPortalUrl.js +7 -1
  81. package/build/utils/getStoryPublicationDate.js +7 -1
  82. package/build/utils/getUploadcareGroupUrl.js +9 -3
  83. package/build/utils/index.js +115 -10
  84. package/build/utils/isEmbargoStory.js +7 -1
  85. package/package.json +2 -3
@@ -1,12 +1,18 @@
1
- import { useAsync } from '@react-hookz/web';
2
- import { useCallback, useEffect, useState } from 'react';
3
- export function useInfiniteLoading({
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useInfiniteLoading = useInfiniteLoading;
7
+ var _web = require("@react-hookz/web");
8
+ var _react = require("react");
9
+ function useInfiniteLoading({
4
10
  fetchingFn,
5
11
  initialData,
6
12
  pagination
7
13
  }) {
8
- const [data, setData] = useState(initialData);
9
- const [currentPage, setCurrentPage] = useState(pagination.currentPage);
14
+ const [data, setData] = (0, _react.useState)(initialData);
15
+ const [currentPage, setCurrentPage] = (0, _react.useState)(pagination.currentPage);
10
16
  const {
11
17
  itemsTotal,
12
18
  pageSize
@@ -18,22 +24,22 @@ export function useInfiniteLoading({
18
24
  status
19
25
  }, {
20
26
  execute: loadMoreFn
21
- }] = useAsync(async () => {
27
+ }] = (0, _web.useAsync)(async () => {
22
28
  const nextPage = currentPage + 1;
23
29
  const newData = await fetchingFn(nextPage, pageSize);
24
30
  setCurrentPage(nextPage);
25
31
  setData(currentData => [...currentData, ...newData]);
26
32
  });
27
- const loadMore = useCallback(() => {
33
+ const loadMore = (0, _react.useCallback)(() => {
28
34
  if (canLoadMore) {
29
35
  loadMoreFn();
30
36
  }
31
37
  }, [canLoadMore, loadMoreFn]);
32
- const resetData = useCallback(() => {
38
+ const resetData = (0, _react.useCallback)(() => {
33
39
  setData(initialData);
34
40
  setCurrentPage(pagination.currentPage);
35
41
  }, [pagination.currentPage, initialData]);
36
- useEffect(() => {
42
+ (0, _react.useEffect)(() => {
37
43
  if (error) {
38
44
  // eslint-disable-next-line no-console
39
45
  console.error(error);
@@ -1,6 +1,12 @@
1
- import { useEffect } from 'react';
2
- import { useCurrentLocale } from "../newsroom-context/index.js";
3
- import { useInfiniteLoading } from "./useInfiniteLoading.js";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useInfiniteStoriesLoading = useInfiniteStoriesLoading;
7
+ var _react = require("react");
8
+ var _index = require("../newsroom-context/index.js");
9
+ var _useInfiniteLoading = require("./useInfiniteLoading.js");
4
10
  async function fetchStories(page, pageSize, category, locale, include) {
5
11
  const result = await fetch('/api/fetch-stories', {
6
12
  method: 'POST',
@@ -31,15 +37,15 @@ async function fetchStories(page, pageSize, category, locale, include) {
31
37
  * The handler for this route is exported from `apiHandlers/fetchStories.ts` file.
32
38
  * See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/index.tsx#L24 for usage example
33
39
  */
34
- export function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
35
- const currentLocale = useCurrentLocale();
40
+ function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
41
+ const currentLocale = (0, _index.useCurrentLocale)();
36
42
  const {
37
43
  canLoadMore,
38
44
  data,
39
45
  isLoading,
40
46
  loadMore,
41
47
  resetData
42
- } = useInfiniteLoading({
48
+ } = (0, _useInfiniteLoading.useInfiniteLoading)({
43
49
  fetchingFn: async (nextPage, pageSize) => {
44
50
  const {
45
51
  stories
@@ -49,7 +55,7 @@ export function useInfiniteStoriesLoading(initialStories, pagination, category,
49
55
  initialData: initialStories,
50
56
  pagination
51
57
  });
52
- useEffect(() => {
58
+ (0, _react.useEffect)(() => {
53
59
  if (category?.id) {
54
60
  resetData();
55
61
  }
@@ -1,4 +1,49 @@
1
- export * from "./languages.js";
2
- export * from "./locale.js";
3
- export * from "./localeConfig.js";
4
- export * from "./localeObject.js";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _languages = require("./languages.js");
7
+ Object.keys(_languages).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _languages[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _languages[key];
14
+ }
15
+ });
16
+ });
17
+ var _locale = require("./locale.js");
18
+ Object.keys(_locale).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _locale[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _locale[key];
25
+ }
26
+ });
27
+ });
28
+ var _localeConfig = require("./localeConfig.js");
29
+ Object.keys(_localeConfig).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _localeConfig[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _localeConfig[key];
36
+ }
37
+ });
38
+ });
39
+ var _localeObject = require("./localeObject.js");
40
+ Object.keys(_localeObject).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _localeObject[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _localeObject[key];
47
+ }
48
+ });
49
+ });
@@ -1,5 +1,21 @@
1
- import { DUMMY_DEFAULT_LOCALE } from "./localeConfig.js";
2
- import { LocaleObject } from "./localeObject.js";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCompanyInformation = getCompanyInformation;
7
+ exports.getDefaultLanguage = getDefaultLanguage;
8
+ exports.getLanguageByExactLocaleCode = getLanguageByExactLocaleCode;
9
+ exports.getLanguageByNeutralLocaleCode = getLanguageByNeutralLocaleCode;
10
+ exports.getLanguageByShortRegionCode = getLanguageByShortRegionCode;
11
+ exports.getLanguageDisplayName = getLanguageDisplayName;
12
+ exports.getLanguageFromNextLocaleIsoCode = getLanguageFromNextLocaleIsoCode;
13
+ exports.getLanguageFromStory = getLanguageFromStory;
14
+ exports.getNotifications = getNotifications;
15
+ exports.getShortestLocaleCode = getShortestLocaleCode;
16
+ exports.getUsedLanguages = getUsedLanguages;
17
+ var _localeConfig = require("./localeConfig.js");
18
+ var _localeObject = require("./localeObject.js");
3
19
  function isOnlyCulture(culture, languages) {
4
20
  const numberOfLanguages = languages.filter(({
5
21
  locale: {
@@ -21,7 +37,7 @@ function isOnlyCulture(culture, languages) {
21
37
  * - English (Global), English (UK), Spanish (Spain)
22
38
  * - -> English (Global), English (UK), Spanish
23
39
  */
24
- export function getLanguageDisplayName(language, languages) {
40
+ function getLanguageDisplayName(language, languages) {
25
41
  const {
26
42
  locale
27
43
  } = language;
@@ -37,7 +53,7 @@ export function getLanguageDisplayName(language, languages) {
37
53
  /**
38
54
  * @returns Language set as default in the Newsroom Settings.
39
55
  */
40
- export function getDefaultLanguage(languages) {
56
+ function getDefaultLanguage(languages) {
41
57
  return languages.find(({
42
58
  is_default
43
59
  }) => is_default) || languages[0];
@@ -46,10 +62,10 @@ export function getDefaultLanguage(languages) {
46
62
  /**
47
63
  * @returns Only languages having at least one published story
48
64
  */
49
- export function getUsedLanguages(languages) {
65
+ function getUsedLanguages(languages) {
50
66
  return languages.filter(language => language.public_stories_count > 0);
51
67
  }
52
- export function getLanguageByExactLocaleCode(languages, locale) {
68
+ function getLanguageByExactLocaleCode(languages, locale) {
53
69
  const localeCode = locale.toUnderscoreCode();
54
70
  return languages.find(({
55
71
  code
@@ -57,7 +73,7 @@ export function getLanguageByExactLocaleCode(languages, locale) {
57
73
  }
58
74
 
59
75
  // See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L123
60
- export function getLanguageByNeutralLocaleCode(languages, locale) {
76
+ function getLanguageByNeutralLocaleCode(languages, locale) {
61
77
  const neutralLanguageCode = locale.toNeutralLanguageCode();
62
78
 
63
79
  // Prefer default language
@@ -71,7 +87,7 @@ export function getLanguageByNeutralLocaleCode(languages, locale) {
71
87
  const usedLanguages = getUsedLanguages(languages);
72
88
  const usedLanguage = usedLanguages.find(({
73
89
  code
74
- }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
90
+ }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
75
91
  if (usedLanguage) {
76
92
  return usedLanguage;
77
93
  }
@@ -79,16 +95,16 @@ export function getLanguageByNeutralLocaleCode(languages, locale) {
79
95
  // Search in all languages
80
96
  return languages.find(({
81
97
  code
82
- }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
98
+ }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
83
99
  }
84
100
 
85
101
  // See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L159
86
- export function getLanguageByShortRegionCode(languages, locale) {
102
+ function getLanguageByShortRegionCode(languages, locale) {
87
103
  const shortRegionCode = locale.toRegionCode();
88
104
 
89
105
  // Prefer default language
90
106
  const defaultLanguage = getDefaultLanguage(languages);
91
- if (LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
107
+ if (_localeObject.LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
92
108
  return defaultLanguage;
93
109
  }
94
110
 
@@ -96,7 +112,7 @@ export function getLanguageByShortRegionCode(languages, locale) {
96
112
  const usedLanguages = getUsedLanguages(languages);
97
113
  const usedLanguage = usedLanguages.find(({
98
114
  code
99
- }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
115
+ }) => _localeObject.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
100
116
  if (usedLanguage) {
101
117
  return usedLanguage;
102
118
  }
@@ -104,19 +120,19 @@ export function getLanguageByShortRegionCode(languages, locale) {
104
120
  // Search in all languages
105
121
  return languages.find(({
106
122
  code
107
- }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
123
+ }) => _localeObject.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
108
124
  }
109
125
 
110
126
  /**
111
127
  * Retrieve a culture with fallback to legacy codes support.
112
128
  * Pulled from https://github.com/prezly/prezly/blob/de9900d9890a33502780494aa3fb85c9a732b3c3/lib/model/CulturePeer.php#L91-L114
113
129
  */
114
- export function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
130
+ function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
115
131
  const defaultLanguage = getDefaultLanguage(languages);
116
- if (!nextLocaleIsoCode || nextLocaleIsoCode === DUMMY_DEFAULT_LOCALE) {
132
+ if (!nextLocaleIsoCode || nextLocaleIsoCode === _localeConfig.DUMMY_DEFAULT_LOCALE) {
117
133
  return defaultLanguage;
118
134
  }
119
- const locale = LocaleObject.fromAnyCode(nextLocaleIsoCode);
135
+ const locale = _localeObject.LocaleObject.fromAnyCode(nextLocaleIsoCode);
120
136
  let targetLanguage;
121
137
  if (nextLocaleIsoCode.length >= 2 && nextLocaleIsoCode.length <= 4) {
122
138
  // The order of methods here is reversed from `getShortestLocaleCode`, so that the logic "unwraps" the possible variants with no collisions
@@ -126,7 +142,7 @@ export function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
126
142
  }
127
143
  return targetLanguage;
128
144
  }
129
- export function getLanguageFromStory(languages, story) {
145
+ function getLanguageFromStory(languages, story) {
130
146
  const {
131
147
  code: storyLocaleCode
132
148
  } = story.culture;
@@ -138,7 +154,7 @@ export function getLanguageFromStory(languages, story) {
138
154
  /**
139
155
  * Extracts company information for the selected locale
140
156
  */
141
- export function getCompanyInformation(languages, locale) {
157
+ function getCompanyInformation(languages, locale) {
142
158
  const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
143
159
  return currentLanguage.company_information;
144
160
  }
@@ -146,7 +162,7 @@ export function getCompanyInformation(languages, locale) {
146
162
  /**
147
163
  * Get newsroom notifications for the selected locale
148
164
  */
149
- export function getNotifications(languages, locale) {
165
+ function getNotifications(languages, locale) {
150
166
  const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
151
167
  return currentLanguage.notifications;
152
168
  }
@@ -159,7 +175,7 @@ export function getNotifications(languages, locale) {
159
175
  *
160
176
  * @param locale A LocaleObject constructed from FULL locale code (taken straight from the selected language)
161
177
  */
162
- export function getShortestLocaleCode(languages, locale) {
178
+ function getShortestLocaleCode(languages, locale) {
163
179
  const localeCode = locale.toUnderscoreCode();
164
180
  const defaultLanguage = getDefaultLanguage(languages);
165
181
  // If it's a default locale, return false (no locale needed in URL)
@@ -171,7 +187,7 @@ export function getShortestLocaleCode(languages, locale) {
171
187
  const neutralLanguageCode = locale.toNeutralLanguageCode();
172
188
  const matchingLanguagesByNeutralCode = languages.filter(({
173
189
  code
174
- }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode || code === neutralLanguageCode);
190
+ }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode || code === neutralLanguageCode);
175
191
  if (matchingLanguagesByNeutralCode.length === 1) {
176
192
  return neutralLanguageCode;
177
193
  }
@@ -180,12 +196,12 @@ export function getShortestLocaleCode(languages, locale) {
180
196
  const shortRegionCode = locale.toRegionCode();
181
197
  const matchingLanguagesByRegionCode = languages.filter(({
182
198
  code
183
- }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
199
+ }) => _localeObject.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
184
200
  // Prevent collision with neutral language codes
185
201
  const lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
186
202
  const mathchingNeutralLanguagesByRegionCode = languages.filter(({
187
203
  code
188
- }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode || code === lowerCasedShortRegionCode);
204
+ }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode || code === lowerCasedShortRegionCode);
189
205
  if (matchingLanguagesByRegionCode.length === 1 &&
190
206
  // If there are 2 or more matching neutral languages, it means that there are no languages that can be shortened to neutral code
191
207
  mathchingNeutralLanguagesByRegionCode.length !== 1 &&
@@ -1,19 +1,29 @@
1
- import { stringify } from 'querystring';
2
- import { DUMMY_DEFAULT_LOCALE } from "./localeConfig.js";
3
- import { LocaleObject } from "./localeObject.js";
4
- export const DEFAULT_LOCALE = 'en';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_LOCALE = void 0;
7
+ exports.getLocaleDirection = getLocaleDirection;
8
+ exports.getRedirectToCanonicalLocale = getRedirectToCanonicalLocale;
9
+ exports.getSupportedLocaleIsoCode = getSupportedLocaleIsoCode;
10
+ var _querystring = require("querystring");
11
+ var _localeConfig = require("./localeConfig.js");
12
+ var _localeObject = require("./localeObject.js");
13
+ const DEFAULT_LOCALE = 'en';
5
14
 
6
15
  /**
7
16
  * This a list of locales that Prezly has translations for. Each code represents a language file in the `@prezly/themes-intl-messages` package.
8
17
  * See https://github.com/prezly/themes-intl-messages for more info.
9
18
  */
19
+ exports.DEFAULT_LOCALE = DEFAULT_LOCALE;
10
20
  const SUPPORTED_LOCALES = ['af', 'ar', 'az', 'be', 'bg', 'cs', 'da', 'de', 'el', 'en', 'es', 'et', 'fi', 'fil', 'fr', 'ga', 'he', 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kk', 'ko', 'lt', 'lv', 'mt', 'nl', 'no', 'pl', 'pt-BR', 'pt', 'ro', 'ru', 'sk', 'sl', 'sv', 'sw', 'th', 'tr', 'uk', 'ur', 'uz', 'vi', 'zh-CN', 'zh-TW'];
11
21
 
12
22
  /**
13
23
  * Use this function to determine which translations file you should load from `@prezly/themes-intl-mesages` package.
14
24
  * See https://github.com/prezly/theme-nextjs-bea/blob/main/utils/lang.ts for a usage example.
15
25
  */
16
- export function getSupportedLocaleIsoCode(locale) {
26
+ function getSupportedLocaleIsoCode(locale) {
17
27
  const localeIsoCode = locale.toHyphenCode();
18
28
  const isSupportedLocale = localeIsoCode.length >= 2 && SUPPORTED_LOCALES.includes(localeIsoCode);
19
29
  if (isSupportedLocale) {
@@ -38,15 +48,15 @@ export function getSupportedLocaleIsoCode(locale) {
38
48
  console.warn('Unsupported locale provided. Please use `LocaleObject.fromAnyCode` to ensure you are using a correct language code');
39
49
  return DEFAULT_LOCALE;
40
50
  }
41
- export function getRedirectToCanonicalLocale(shortestLocaleCode, nextLocaleIsoCode, redirectPath, query) {
51
+ function getRedirectToCanonicalLocale(shortestLocaleCode, nextLocaleIsoCode, redirectPath, query) {
42
52
  // No need to redirect if no particular locale was requested by the application
43
- if (!nextLocaleIsoCode || nextLocaleIsoCode === DUMMY_DEFAULT_LOCALE) {
53
+ if (!nextLocaleIsoCode || nextLocaleIsoCode === _localeConfig.DUMMY_DEFAULT_LOCALE) {
44
54
  return undefined;
45
55
  }
46
- const shortestLocaleSlug = shortestLocaleCode ? LocaleObject.fromAnyCode(shortestLocaleCode).toUrlSlug() : shortestLocaleCode;
56
+ const shortestLocaleSlug = shortestLocaleCode ? _localeObject.LocaleObject.fromAnyCode(shortestLocaleCode).toUrlSlug() : shortestLocaleCode;
47
57
  if (shortestLocaleSlug !== nextLocaleIsoCode) {
48
58
  const prefixedPath = redirectPath && !redirectPath.startsWith('/') ? `/${redirectPath}` : redirectPath;
49
- const urlQuery = query ? `?${stringify(query)}` : '';
59
+ const urlQuery = query ? `?${(0, _querystring.stringify)(query)}` : '';
50
60
  return {
51
61
  destination: shortestLocaleSlug ? `/${shortestLocaleSlug}${prefixedPath}${urlQuery}` : `${prefixedPath}${urlQuery}`,
52
62
  permanent: false
@@ -54,7 +64,7 @@ export function getRedirectToCanonicalLocale(shortestLocaleCode, nextLocaleIsoCo
54
64
  }
55
65
  return undefined;
56
66
  }
57
- export function getLocaleDirection(locale) {
67
+ function getLocaleDirection(locale) {
58
68
  const neutralLanguageCode = locale.toNeutralLanguageCode();
59
69
  if (['ar', 'he', 'ur'].includes(neutralLanguageCode)) {
60
70
  return 'rtl';
@@ -1,19 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.localeConfig = exports.DUMMY_DEFAULT_LOCALE = void 0;
7
+ var _localeList = require("./localeList.js");
1
8
  /**
2
9
  * This list is pulled from the main Prezly application. The underscores are replaced with dashes.
3
10
  * Together with permutation performed lower in the code,
4
11
  * the exported list represents all of the possible locale codes that Next.js theme application might accept.
5
12
  */
6
- import { localeList } from "./localeList.js";
7
- const lowercaseLocales = localeList.map(l => l.toLowerCase());
13
+
14
+ const lowercaseLocales = _localeList.localeList.map(l => l.toLowerCase());
8
15
 
9
16
  // We use pseudo locale used for localization testing, to reliably determine if we need to fallback to the default newsroom language
10
- export const DUMMY_DEFAULT_LOCALE = 'qps-ploc';
17
+ const DUMMY_DEFAULT_LOCALE = 'qps-ploc';
11
18
 
12
19
  // Get all permutations for the shorter locale codes supported by Prezly (e.g. short region codes and neutral language codes)
20
+ exports.DUMMY_DEFAULT_LOCALE = DUMMY_DEFAULT_LOCALE;
13
21
  const lowercaseLocalPermutations = Array.from(new Set([...lowercaseLocales, ...lowercaseLocales.map(code => code.split('-')[0]), ...lowercaseLocales.map(code => code.split('-')[1]).filter(Boolean)
14
22
  // Remove number-only codes from possible permutations (like `419` for `es-419`)
15
23
  .filter(code => Number.isNaN(Number(code)))])).sort();
16
- export const localeConfig = {
24
+ const localeConfig = {
17
25
  // These are all the locales you want to support in
18
26
  // your application
19
27
  locales: [DUMMY_DEFAULT_LOCALE, ...lowercaseLocalPermutations],
@@ -23,4 +31,5 @@ export const localeConfig = {
23
31
  defaultLocale: DUMMY_DEFAULT_LOCALE,
24
32
  // Default locale detection is disabled, since the locales would be determined by Prezly API
25
33
  localeDetection: false
26
- };
34
+ };
35
+ exports.localeConfig = localeConfig;
@@ -1,4 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.localeList = void 0;
1
7
  /**
2
8
  * This list is pulled from the main Prezly application. The underscores are replaced with dashes.
3
9
  */
4
- export const localeList = ['af-ZA', 'ar', 'ar-AE', 'ar-BH', 'ar-QA', 'ar-SA', 'az', 'be', 'bg-BG', 'ca', 'cs-CZ', 'da-DK', 'de', 'de-DE', 'de-BE', 'de-AT', 'de-CH', 'el-GR', 'en', 'en-US', 'en-AE', 'en-AU', 'en-BD', 'en-BE', 'en-BH', 'en-CA', 'en-CN', 'en-DE', 'en-DK', 'en-GB', 'en-HK', 'en-ID', 'en-IE', 'en-IL', 'en-IN', 'en-JM', 'en-JP', 'en-KH', 'en-KR', 'en-LK', 'en-MV', 'en-MM', 'en-MY', 'en-NP', 'en-NZ', 'en-PH', 'en-PK', 'en-QA', 'en-SA', 'en-SG', 'en-TH', 'en-TW', 'en-VN', 'en-ZA', 'es', 'es-ES', 'es-MX', 'et-EE', 'es-419', 'fi-FI', 'fil', 'fr', 'fr-BE', 'fr-FR', 'fr-CA', 'fr-LU', 'ga-IE', 'he-IL', 'hi-IN', 'hr-HR', 'hu-HU', 'id-ID', 'it-IT', 'ja-JP', 'kk', 'ko-KR', 'ky', 'lt-LT', 'lv-LV', 'mt-MT', 'ms-MY', 'nb-NO', 'nl', 'nl-BE', 'nl-NL', 'pl-PL', 'pt', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sk-SK', 'sl-SI', 'sv-SE', 'sw', 'th-TH', 'tr-TR', 'uk-UA', 'ur-PK', 'uz', 'vi-VN', 'zh-Hant', 'zh-HK', 'zh-TW', 'zh-CN'];
10
+ const localeList = ['af-ZA', 'ar', 'ar-AE', 'ar-BH', 'ar-QA', 'ar-SA', 'az', 'be', 'bg-BG', 'ca', 'cs-CZ', 'da-DK', 'de', 'de-DE', 'de-BE', 'de-AT', 'de-CH', 'el-GR', 'en', 'en-US', 'en-AE', 'en-AU', 'en-BD', 'en-BE', 'en-BH', 'en-CA', 'en-CN', 'en-DE', 'en-DK', 'en-GB', 'en-HK', 'en-ID', 'en-IE', 'en-IL', 'en-IN', 'en-JM', 'en-JP', 'en-KH', 'en-KR', 'en-LK', 'en-MV', 'en-MM', 'en-MY', 'en-NP', 'en-NZ', 'en-PH', 'en-PK', 'en-QA', 'en-SA', 'en-SG', 'en-TH', 'en-TW', 'en-VN', 'en-ZA', 'es', 'es-ES', 'es-MX', 'et-EE', 'es-419', 'fi-FI', 'fil', 'fr', 'fr-BE', 'fr-FR', 'fr-CA', 'fr-LU', 'ga-IE', 'he-IL', 'hi-IN', 'hr-HR', 'hu-HU', 'id-ID', 'it-IT', 'ja-JP', 'kk', 'ko-KR', 'ky', 'lt-LT', 'lv-LV', 'mt-MT', 'ms-MY', 'nb-NO', 'nl', 'nl-BE', 'nl-NL', 'pl-PL', 'pt', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sk-SK', 'sl-SI', 'sv-SE', 'sw', 'th-TH', 'tr-TR', 'uk-UA', 'ur-PK', 'uz', 'vi-VN', 'zh-Hant', 'zh-HK', 'zh-TW', 'zh-CN'];
11
+ exports.localeList = localeList;
@@ -1,10 +1,16 @@
1
- import { localeConfig } from "./localeConfig.js";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LocaleObject = void 0;
7
+ var _localeConfig = require("./localeConfig.js");
2
8
  /**
3
9
  * This class is created to simplify working with locales and transforming between different locale code formats.
4
10
  * Prezly API uses underscore-codes, while most frontend application tend to use hyphen-codes or slugs.
5
11
  * Note that `fromAnyCode` constructor only accepts locales supported by Prezly backend. See `localeConfig` for reference.
6
12
  */
7
- export class LocaleObject {
13
+ class LocaleObject {
8
14
  /**
9
15
  * Hyphen-separated locale code.
10
16
  * Examples: `nl-BE`, `en-US`, `fr`, `fil`
@@ -33,7 +39,7 @@ export class LocaleObject {
33
39
  */
34
40
  static fromAnyCode(localeCode) {
35
41
  const lowercaseCode = localeCode.toLowerCase().replace('_', '-');
36
- const foundCode = localeConfig.locales.find(code => code === lowercaseCode);
42
+ const foundCode = _localeConfig.localeConfig.locales.find(code => code === lowercaseCode);
37
43
  if (!foundCode) {
38
44
  throw new Error(`Unsupported locale code provided: "${lowercaseCode}"`);
39
45
  }
@@ -86,4 +92,5 @@ export class LocaleObject {
86
92
  isEqual(anotherLocale) {
87
93
  return anotherLocale.toHyphenCode() === this.localeCode;
88
94
  }
89
- }
95
+ }
96
+ exports.LocaleObject = LocaleObject;
@@ -1,12 +1,20 @@
1
- import { createContext, useMemo } from 'react';
2
- import { DEFAULT_LOCALE, LocaleObject } from "../intl/index.js";
3
- export const NewsroomContext = /*#__PURE__*/createContext(undefined);
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NewsroomContext = void 0;
7
+ exports.NewsroomContextProvider = NewsroomContextProvider;
8
+ var _react = require("react");
9
+ var _index = require("../intl/index.js");
10
+ const NewsroomContext = /*#__PURE__*/(0, _react.createContext)(undefined);
4
11
 
5
12
  /**
6
13
  * This context provides common Newsroom information retrieved by `getNewsroomServerSideProps` helper.
7
14
  * Please refer to the `NewsroomContextType` definition for more info on what's exposed from the context.
8
15
  */
9
- export function NewsroomContextProvider({
16
+ exports.NewsroomContext = NewsroomContext;
17
+ function NewsroomContextProvider({
10
18
  categories,
11
19
  contacts,
12
20
  newsroom,
@@ -20,7 +28,7 @@ export function NewsroomContextProvider({
20
28
  algoliaSettings,
21
29
  children
22
30
  }) {
23
- const locale = useMemo(() => LocaleObject.fromAnyCode(localeCode || DEFAULT_LOCALE), [localeCode]);
31
+ const locale = (0, _react.useMemo)(() => _index.LocaleObject.fromAnyCode(localeCode || _index.DEFAULT_LOCALE), [localeCode]);
24
32
  return /*#__PURE__*/React.createElement(NewsroomContext.Provider, {
25
33
  value: {
26
34
  categories,
@@ -1,11 +1,126 @@
1
- export * from "./useAlgoliaSettings.js";
2
- export * from "./useCategories.js";
3
- export * from "./useCompanyInformation.js";
4
- export * from "./useCurrentCategory.js";
5
- export * from "./useCurrentLocale.js";
6
- export * from "./useCurrentStory.js";
7
- export * from "./useGetLinkLocaleSlug.js";
8
- export * from "./useGetTranslationUrl.js";
9
- export * from "./useLanguages.js";
10
- export * from "./useNewsroom.js";
11
- export * from "./useNewsroomContext.js";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _useAlgoliaSettings = require("./useAlgoliaSettings.js");
7
+ Object.keys(_useAlgoliaSettings).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useAlgoliaSettings[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _useAlgoliaSettings[key];
14
+ }
15
+ });
16
+ });
17
+ var _useCategories = require("./useCategories.js");
18
+ Object.keys(_useCategories).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _useCategories[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _useCategories[key];
25
+ }
26
+ });
27
+ });
28
+ var _useCompanyInformation = require("./useCompanyInformation.js");
29
+ Object.keys(_useCompanyInformation).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _useCompanyInformation[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _useCompanyInformation[key];
36
+ }
37
+ });
38
+ });
39
+ var _useCurrentCategory = require("./useCurrentCategory.js");
40
+ Object.keys(_useCurrentCategory).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _useCurrentCategory[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _useCurrentCategory[key];
47
+ }
48
+ });
49
+ });
50
+ var _useCurrentLocale = require("./useCurrentLocale.js");
51
+ Object.keys(_useCurrentLocale).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _useCurrentLocale[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _useCurrentLocale[key];
58
+ }
59
+ });
60
+ });
61
+ var _useCurrentStory = require("./useCurrentStory.js");
62
+ Object.keys(_useCurrentStory).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _useCurrentStory[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _useCurrentStory[key];
69
+ }
70
+ });
71
+ });
72
+ var _useGetLinkLocaleSlug = require("./useGetLinkLocaleSlug.js");
73
+ Object.keys(_useGetLinkLocaleSlug).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _useGetLinkLocaleSlug[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _useGetLinkLocaleSlug[key];
80
+ }
81
+ });
82
+ });
83
+ var _useGetTranslationUrl = require("./useGetTranslationUrl.js");
84
+ Object.keys(_useGetTranslationUrl).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _useGetTranslationUrl[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _useGetTranslationUrl[key];
91
+ }
92
+ });
93
+ });
94
+ var _useLanguages = require("./useLanguages.js");
95
+ Object.keys(_useLanguages).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (key in exports && exports[key] === _useLanguages[key]) return;
98
+ Object.defineProperty(exports, key, {
99
+ enumerable: true,
100
+ get: function () {
101
+ return _useLanguages[key];
102
+ }
103
+ });
104
+ });
105
+ var _useNewsroom = require("./useNewsroom.js");
106
+ Object.keys(_useNewsroom).forEach(function (key) {
107
+ if (key === "default" || key === "__esModule") return;
108
+ if (key in exports && exports[key] === _useNewsroom[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _useNewsroom[key];
113
+ }
114
+ });
115
+ });
116
+ var _useNewsroomContext = require("./useNewsroomContext.js");
117
+ Object.keys(_useNewsroomContext).forEach(function (key) {
118
+ if (key === "default" || key === "__esModule") return;
119
+ if (key in exports && exports[key] === _useNewsroomContext[key]) return;
120
+ Object.defineProperty(exports, key, {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _useNewsroomContext[key];
124
+ }
125
+ });
126
+ });