@prezly/theme-kit-nextjs 2.0.1-1 → 2.1.0

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 (259) hide show
  1. package/README.md +15 -15
  2. package/build/adapter-nextjs/api-handlers/fetchGalleries.js +21 -31
  3. package/build/adapter-nextjs/api-handlers/fetchGalleries.js.map +1 -1
  4. package/build/adapter-nextjs/api-handlers/fetchStories.js +23 -41
  5. package/build/adapter-nextjs/api-handlers/fetchStories.js.map +1 -1
  6. package/build/adapter-nextjs/api-handlers/index.js +7 -18
  7. package/build/adapter-nextjs/api-handlers/index.js.map +1 -1
  8. package/build/adapter-nextjs/getNewsroomServerSideProps.js +13 -20
  9. package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
  10. package/build/adapter-nextjs/getNewsroomStaticProps.js +13 -19
  11. package/build/adapter-nextjs/getNewsroomStaticProps.js.map +1 -1
  12. package/build/adapter-nextjs/index.js +21 -69
  13. package/build/adapter-nextjs/index.js.map +1 -1
  14. package/build/adapter-nextjs/page-props/category.js +96 -122
  15. package/build/adapter-nextjs/page-props/category.js.map +1 -1
  16. package/build/adapter-nextjs/page-props/gallery.js +65 -91
  17. package/build/adapter-nextjs/page-props/gallery.js.map +1 -1
  18. package/build/adapter-nextjs/page-props/galleryAlbum.js +49 -68
  19. package/build/adapter-nextjs/page-props/galleryAlbum.js.map +1 -1
  20. package/build/adapter-nextjs/page-props/home.js +66 -87
  21. package/build/adapter-nextjs/page-props/home.js.map +1 -1
  22. package/build/adapter-nextjs/page-props/index.js +40 -136
  23. package/build/adapter-nextjs/page-props/index.js.map +1 -1
  24. package/build/adapter-nextjs/page-props/lib/types.js +3 -1
  25. package/build/adapter-nextjs/page-props/search.js +28 -29
  26. package/build/adapter-nextjs/page-props/search.js.map +1 -1
  27. package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +46 -32
  28. package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js.map +1 -1
  29. package/build/adapter-nextjs/page-props/sitemap/createPaths.js +17 -17
  30. package/build/adapter-nextjs/page-props/sitemap/createPaths.js.map +1 -1
  31. package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +33 -37
  32. package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js.map +1 -1
  33. package/build/adapter-nextjs/page-props/sitemap/index.js +23 -41
  34. package/build/adapter-nextjs/page-props/sitemap/index.js.map +1 -1
  35. package/build/adapter-nextjs/page-props/sitemap/types.js +3 -1
  36. package/build/adapter-nextjs/page-props/story.js +60 -81
  37. package/build/adapter-nextjs/page-props/story.js.map +1 -1
  38. package/build/adapter-nextjs/page-props/storyPreview.js +24 -31
  39. package/build/adapter-nextjs/page-props/storyPreview.js.map +1 -1
  40. package/build/adapter-nextjs/processRequest.js +23 -38
  41. package/build/adapter-nextjs/processRequest.js.map +1 -1
  42. package/build/adapter-nextjs/processStaticRequest.js +14 -23
  43. package/build/adapter-nextjs/processStaticRequest.js.map +1 -1
  44. package/build/components-nextjs/PageSeo/PageSeo.js +77 -89
  45. package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
  46. package/build/components-nextjs/PageSeo/index.js +19 -25
  47. package/build/components-nextjs/PageSeo/index.js.map +1 -1
  48. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +8 -9
  49. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -1
  50. package/build/components-nextjs/PageSeo/lib/types.js +3 -1
  51. package/build/components-nextjs/StorySeo/StorySeo.js +46 -74
  52. package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -1
  53. package/build/components-nextjs/StorySeo/index.js +5 -11
  54. package/build/components-nextjs/StorySeo/index.js.map +1 -1
  55. package/build/components-nextjs/document.js +44 -36
  56. package/build/components-nextjs/document.js.map +1 -1
  57. package/build/components-nextjs/index.js +9 -25
  58. package/build/components-nextjs/index.js.map +1 -1
  59. package/build/data-fetching/api/PrezlyApi.js +187 -210
  60. package/build/data-fetching/api/PrezlyApi.js.map +1 -1
  61. package/build/data-fetching/api/getPrezlyApi.js +19 -25
  62. package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
  63. package/build/data-fetching/api/index.js +16 -14
  64. package/build/data-fetching/api/index.js.map +1 -1
  65. package/build/data-fetching/api/queries.js +41 -80
  66. package/build/data-fetching/api/queries.js.map +1 -1
  67. package/build/data-fetching/index.js +18 -36
  68. package/build/data-fetching/index.js.map +1 -1
  69. package/build/data-fetching/lib/getAlgoliaSettings.js +20 -26
  70. package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
  71. package/build/data-fetching/lib/getEnvVariables.js +36 -40
  72. package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
  73. package/build/data-fetching/lib/index.js +11 -32
  74. package/build/data-fetching/lib/index.js.map +1 -1
  75. package/build/data-fetching/lib/isSdkError.js +6 -7
  76. package/build/data-fetching/lib/isSdkError.js.map +1 -1
  77. package/build/data-fetching/lib/isUuid.js +6 -7
  78. package/build/data-fetching/lib/isUuid.js.map +1 -1
  79. package/build/data-fetching/types.js +3 -1
  80. package/build/index.js +25 -103
  81. package/build/index.js.map +1 -1
  82. package/build/infinite-loading/index.js +23 -41
  83. package/build/infinite-loading/index.js.map +1 -1
  84. package/build/infinite-loading/types.js +3 -1
  85. package/build/infinite-loading/useInfiniteGalleriesLoading.js +35 -46
  86. package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -1
  87. package/build/infinite-loading/useInfiniteLoading.js +41 -54
  88. package/build/infinite-loading/useInfiniteLoading.js.map +1 -1
  89. package/build/infinite-loading/useInfiniteStoriesLoading.js +48 -60
  90. package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -1
  91. package/build/intl/index.d.ts +1 -1
  92. package/build/intl/index.js +24 -47
  93. package/build/intl/index.js.map +1 -1
  94. package/build/intl/languages.js +110 -150
  95. package/build/intl/languages.js.map +1 -1
  96. package/build/intl/locale.d.ts +1 -0
  97. package/build/intl/locale.js +104 -58
  98. package/build/intl/locale.js.map +1 -1
  99. package/build/intl/localeConfig.d.ts +2 -3
  100. package/build/intl/localeConfig.js +13 -28
  101. package/build/intl/localeConfig.js.map +1 -1
  102. package/build/intl/localeList.d.ts +2 -4
  103. package/build/intl/localeList.js +108 -7
  104. package/build/intl/localeList.js.map +1 -1
  105. package/build/intl/localeObject.js +78 -83
  106. package/build/intl/localeObject.js.map +1 -1
  107. package/build/newsroom-context/context.js +24 -42
  108. package/build/newsroom-context/context.js.map +1 -1
  109. package/build/newsroom-context/hooks/index.js +27 -125
  110. package/build/newsroom-context/hooks/index.js.map +1 -1
  111. package/build/newsroom-context/hooks/useAlgoliaSettings.js +8 -9
  112. package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
  113. package/build/newsroom-context/hooks/useCategories.js +8 -9
  114. package/build/newsroom-context/hooks/useCategories.js.map +1 -1
  115. package/build/newsroom-context/hooks/useCompanyInformation.js +8 -9
  116. package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
  117. package/build/newsroom-context/hooks/useCurrentCategory.js +8 -9
  118. package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
  119. package/build/newsroom-context/hooks/useCurrentLocale.js +8 -9
  120. package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
  121. package/build/newsroom-context/hooks/useCurrentStory.js +8 -9
  122. package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
  123. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +19 -21
  124. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
  125. package/build/newsroom-context/hooks/useGetTranslationUrl.js +54 -56
  126. package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
  127. package/build/newsroom-context/hooks/useLanguages.js +8 -9
  128. package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
  129. package/build/newsroom-context/hooks/useNewsroom.js +8 -9
  130. package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
  131. package/build/newsroom-context/hooks/useNewsroomContext.js +14 -15
  132. package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
  133. package/build/newsroom-context/index.d.ts +1 -2
  134. package/build/newsroom-context/index.js +20 -32
  135. package/build/newsroom-context/index.js.map +1 -1
  136. package/build/sentry/client.js +7 -8
  137. package/build/sentry/client.js.map +1 -1
  138. package/build/sentry/common.js +27 -30
  139. package/build/sentry/common.js.map +1 -1
  140. package/build/sentry/index.js +7 -18
  141. package/build/sentry/index.js.map +1 -1
  142. package/build/sentry/server.js +7 -8
  143. package/build/sentry/server.js.map +1 -1
  144. package/build/tsconfig.tsbuildinfo +1 -0
  145. package/build/types.js +3 -1
  146. package/build/utils/boilerplate.js +18 -11
  147. package/build/utils/boilerplate.js.map +1 -1
  148. package/build/utils/constants.js +6 -11
  149. package/build/utils/constants.js.map +1 -1
  150. package/build/utils/getAssetsUrl.js +7 -8
  151. package/build/utils/getAssetsUrl.js.map +1 -1
  152. package/build/utils/getDataRequestLink.js +10 -10
  153. package/build/utils/getDataRequestLink.js.map +1 -1
  154. package/build/utils/getLocalizedCategoryData.js +29 -37
  155. package/build/utils/getLocalizedCategoryData.js.map +1 -1
  156. package/build/utils/getNewsroomLogoUrl.js +18 -19
  157. package/build/utils/getNewsroomLogoUrl.js.map +1 -1
  158. package/build/utils/getPrivacyPortalUrl.js +11 -15
  159. package/build/utils/getPrivacyPortalUrl.js.map +1 -1
  160. package/build/utils/getStoryPublicationDate.js +12 -13
  161. package/build/utils/getStoryPublicationDate.js.map +1 -1
  162. package/build/utils/getUploadcareGroupUrl.js +8 -9
  163. package/build/utils/getUploadcareGroupUrl.js.map +1 -1
  164. package/build/utils/index.js +26 -114
  165. package/build/utils/index.js.map +1 -1
  166. package/build/utils/isEmbargoStory.js +6 -7
  167. package/build/utils/isEmbargoStory.js.map +1 -1
  168. package/package.json +12 -26
  169. package/src/@types/global.d.ts +7 -0
  170. package/src/__mocks__/languages.ts +416 -0
  171. package/src/__mocks__/story.ts +359 -0
  172. package/src/adapter-nextjs/api-handlers/fetchGalleries.ts +24 -0
  173. package/src/adapter-nextjs/api-handlers/fetchStories.ts +26 -0
  174. package/src/adapter-nextjs/api-handlers/index.ts +2 -0
  175. package/src/adapter-nextjs/getNewsroomServerSideProps.ts +29 -0
  176. package/src/adapter-nextjs/getNewsroomStaticProps.ts +29 -0
  177. package/src/adapter-nextjs/index.ts +6 -0
  178. package/src/adapter-nextjs/page-props/category.ts +157 -0
  179. package/src/adapter-nextjs/page-props/gallery.ts +114 -0
  180. package/src/adapter-nextjs/page-props/galleryAlbum.ts +89 -0
  181. package/src/adapter-nextjs/page-props/home.ts +113 -0
  182. package/src/adapter-nextjs/page-props/index.ts +26 -0
  183. package/src/adapter-nextjs/page-props/lib/types.ts +8 -0
  184. package/src/adapter-nextjs/page-props/search.ts +53 -0
  185. package/src/adapter-nextjs/page-props/sitemap/SitemapBuilder.ts +56 -0
  186. package/src/adapter-nextjs/page-props/sitemap/createPaths.ts +21 -0
  187. package/src/adapter-nextjs/page-props/sitemap/getServerSideProps.ts +43 -0
  188. package/src/adapter-nextjs/page-props/sitemap/index.ts +5 -0
  189. package/src/adapter-nextjs/page-props/sitemap/types.ts +5 -0
  190. package/src/adapter-nextjs/page-props/story.ts +94 -0
  191. package/src/adapter-nextjs/page-props/storyPreview.ts +33 -0
  192. package/src/adapter-nextjs/processRequest.ts +49 -0
  193. package/src/adapter-nextjs/processStaticRequest.ts +32 -0
  194. package/src/components-nextjs/PageSeo/PageSeo.tsx +131 -0
  195. package/src/components-nextjs/PageSeo/index.ts +2 -0
  196. package/src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts +7 -0
  197. package/src/components-nextjs/PageSeo/lib/types.ts +4 -0
  198. package/src/components-nextjs/StorySeo/StorySeo.tsx +80 -0
  199. package/src/components-nextjs/StorySeo/index.ts +1 -0
  200. package/src/components-nextjs/document.tsx +38 -0
  201. package/src/components-nextjs/index.ts +3 -0
  202. package/src/data-fetching/api/PrezlyApi.ts +304 -0
  203. package/src/data-fetching/api/getPrezlyApi.ts +24 -0
  204. package/src/data-fetching/api/index.ts +1 -0
  205. package/src/data-fetching/api/queries.ts +51 -0
  206. package/src/data-fetching/index.ts +3 -0
  207. package/src/data-fetching/lib/getAlgoliaSettings.ts +29 -0
  208. package/src/data-fetching/lib/getEnvVariables.ts +46 -0
  209. package/src/data-fetching/lib/index.ts +4 -0
  210. package/src/data-fetching/lib/isSdkError.ts +5 -0
  211. package/src/data-fetching/lib/isUuid.ts +5 -0
  212. package/src/data-fetching/types.ts +14 -0
  213. package/src/index.ts +9 -0
  214. package/src/infinite-loading/index.ts +4 -0
  215. package/src/infinite-loading/types.ts +5 -0
  216. package/src/infinite-loading/useInfiniteGalleriesLoading.ts +53 -0
  217. package/src/infinite-loading/useInfiniteLoading.ts +66 -0
  218. package/src/infinite-loading/useInfiniteStoriesLoading.ts +81 -0
  219. package/src/intl/index.ts +4 -0
  220. package/src/intl/languages.test.ts +232 -0
  221. package/src/intl/languages.ts +233 -0
  222. package/src/intl/locale.test.ts +95 -0
  223. package/src/intl/locale.ts +140 -0
  224. package/src/intl/localeConfig.js +23 -0
  225. package/src/intl/localeList.js +110 -0
  226. package/src/intl/localeObject.test.ts +81 -0
  227. package/src/intl/localeObject.ts +99 -0
  228. package/src/newsroom-context/context.tsx +115 -0
  229. package/src/newsroom-context/hooks/index.ts +11 -0
  230. package/src/newsroom-context/hooks/useAlgoliaSettings.ts +7 -0
  231. package/src/newsroom-context/hooks/useCategories.ts +7 -0
  232. package/src/newsroom-context/hooks/useCompanyInformation.ts +7 -0
  233. package/src/newsroom-context/hooks/useCurrentCategory.ts +7 -0
  234. package/src/newsroom-context/hooks/useCurrentLocale.ts +7 -0
  235. package/src/newsroom-context/hooks/useCurrentStory.ts +7 -0
  236. package/src/newsroom-context/hooks/useGetLinkLocaleSlug.ts +37 -0
  237. package/src/newsroom-context/hooks/useGetTranslationUrl.ts +97 -0
  238. package/src/newsroom-context/hooks/useLanguages.ts +7 -0
  239. package/src/newsroom-context/hooks/useNewsroom.ts +7 -0
  240. package/src/newsroom-context/hooks/useNewsroomContext.ts +15 -0
  241. package/src/newsroom-context/index.ts +2 -0
  242. package/src/sentry/client.ts +7 -0
  243. package/src/sentry/common.ts +27 -0
  244. package/src/sentry/index.ts +2 -0
  245. package/src/sentry/server.ts +7 -0
  246. package/src/types.ts +51 -0
  247. package/src/utils/boilerplate.ts +27 -0
  248. package/src/utils/constants.ts +3 -0
  249. package/src/utils/getAssetsUrl.test.ts +9 -0
  250. package/src/utils/getAssetsUrl.ts +9 -0
  251. package/src/utils/getDataRequestLink.ts +14 -0
  252. package/src/utils/getLocalizedCategoryData.ts +47 -0
  253. package/src/utils/getNewsroomLogoUrl.ts +22 -0
  254. package/src/utils/getPrivacyPortalUrl.ts +25 -0
  255. package/src/utils/getStoryPublicationDate.tsx +15 -0
  256. package/src/utils/getUploadcareGroupUrl.ts +13 -0
  257. package/src/utils/index.ts +10 -0
  258. package/src/utils/isEmbargoStory.ts +10 -0
  259. package/build/@types/global.d.js +0 -1
@@ -1,30 +1,12 @@
1
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");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getShortestLocaleCode = exports.getNotifications = exports.getCompanyInformation = exports.getLanguageFromStory = exports.getLanguageFromNextLocaleIsoCode = exports.getLanguageByShortRegionCode = exports.getLanguageByNeutralLocaleCode = exports.getLanguageByExactLocaleCode = exports.getUsedLanguages = exports.getDefaultLanguage = exports.getLanguageDisplayName = void 0;
4
+ const locale_1 = require("./locale");
5
+ const localeObject_1 = require("./localeObject");
19
6
  function isOnlyCulture(culture, languages) {
20
- const numberOfLanguages = languages.filter(({
21
- locale: {
22
- language_code
23
- }
24
- }) => language_code === culture.language_code).length;
25
- return numberOfLanguages === 1;
7
+ const numberOfLanguages = languages.filter(({ locale: { language_code } }) => language_code === culture.language_code).length;
8
+ return numberOfLanguages === 1;
26
9
  }
27
-
28
10
  /**
29
11
  * @returns the display name of the locale in its native language
30
12
  *
@@ -38,135 +20,117 @@ function isOnlyCulture(culture, languages) {
38
20
  * - -> English (Global), English (UK), Spanish
39
21
  */
40
22
  function getLanguageDisplayName(language, languages) {
41
- const {
42
- locale
43
- } = language;
44
- if (isOnlyCulture(locale, languages)) {
45
- const cultureNameIndex = locale.native_name.indexOf('(');
46
- if (cultureNameIndex !== -1) {
47
- return locale.native_name.slice(0, cultureNameIndex - 1);
23
+ const { locale } = language;
24
+ if (isOnlyCulture(locale, languages)) {
25
+ const cultureNameIndex = locale.native_name.indexOf('(');
26
+ if (cultureNameIndex !== -1) {
27
+ return locale.native_name.slice(0, cultureNameIndex - 1);
28
+ }
48
29
  }
49
- }
50
- return locale.native_name;
30
+ return locale.native_name;
51
31
  }
52
-
32
+ exports.getLanguageDisplayName = getLanguageDisplayName;
53
33
  /**
54
34
  * @returns Language set as default in the Newsroom Settings.
55
35
  */
56
36
  function getDefaultLanguage(languages) {
57
- return languages.find(({
58
- is_default
59
- }) => is_default) || languages[0];
37
+ return languages.find(({ is_default }) => is_default) || languages[0];
60
38
  }
61
-
39
+ exports.getDefaultLanguage = getDefaultLanguage;
62
40
  /**
63
41
  * @returns Only languages having at least one published story
64
42
  */
65
43
  function getUsedLanguages(languages) {
66
- return languages.filter(language => language.public_stories_count > 0);
44
+ return languages.filter((language) => language.public_stories_count > 0);
67
45
  }
46
+ exports.getUsedLanguages = getUsedLanguages;
68
47
  function getLanguageByExactLocaleCode(languages, locale) {
69
- const localeCode = locale.toUnderscoreCode();
70
- return languages.find(({
71
- code
72
- }) => code === localeCode);
48
+ const localeCode = locale.toUnderscoreCode();
49
+ return languages.find(({ code }) => code === localeCode);
73
50
  }
74
-
51
+ exports.getLanguageByExactLocaleCode = getLanguageByExactLocaleCode;
75
52
  // See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L123
76
53
  function getLanguageByNeutralLocaleCode(languages, locale) {
77
- const neutralLanguageCode = locale.toNeutralLanguageCode();
78
-
79
- // Prefer default language
80
- const defaultLanguage = getDefaultLanguage(languages);
81
- // TODO: This doesn't align with other methods logic
82
- if (defaultLanguage.code === locale.toUnderscoreCode()) {
83
- return defaultLanguage;
84
- }
85
-
86
- // Try to look in used cultures first (giving priority to used ones)
87
- const usedLanguages = getUsedLanguages(languages);
88
- const usedLanguage = usedLanguages.find(({
89
- code
90
- }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
91
- if (usedLanguage) {
92
- return usedLanguage;
93
- }
94
-
95
- // Search in all languages
96
- return languages.find(({
97
- code
98
- }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
54
+ const neutralLanguageCode = locale.toNeutralLanguageCode();
55
+ // Prefer default language
56
+ const defaultLanguage = getDefaultLanguage(languages);
57
+ // TODO: This doesn't align with other methods logic
58
+ if (defaultLanguage.code === locale.toUnderscoreCode()) {
59
+ return defaultLanguage;
60
+ }
61
+ // Try to look in used cultures first (giving priority to used ones)
62
+ const usedLanguages = getUsedLanguages(languages);
63
+ const usedLanguage = usedLanguages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
64
+ if (usedLanguage) {
65
+ return usedLanguage;
66
+ }
67
+ // Search in all languages
68
+ return languages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
99
69
  }
100
-
70
+ exports.getLanguageByNeutralLocaleCode = getLanguageByNeutralLocaleCode;
101
71
  // See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L159
102
72
  function getLanguageByShortRegionCode(languages, locale) {
103
- const shortRegionCode = locale.toRegionCode();
104
-
105
- // Prefer default language
106
- const defaultLanguage = getDefaultLanguage(languages);
107
- if (_localeObject.LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
108
- return defaultLanguage;
109
- }
110
-
111
- // Try to look in used cultures first (giving priority to used ones)
112
- const usedLanguages = getUsedLanguages(languages);
113
- const usedLanguage = usedLanguages.find(({
114
- code
115
- }) => _localeObject.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
116
- if (usedLanguage) {
117
- return usedLanguage;
118
- }
119
-
120
- // Search in all languages
121
- return languages.find(({
122
- code
123
- }) => _localeObject.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
73
+ const shortRegionCode = locale.toRegionCode();
74
+ // Prefer default language
75
+ const defaultLanguage = getDefaultLanguage(languages);
76
+ if (localeObject_1.LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
77
+ return defaultLanguage;
78
+ }
79
+ // Try to look in used cultures first (giving priority to used ones)
80
+ const usedLanguages = getUsedLanguages(languages);
81
+ const usedLanguage = usedLanguages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
82
+ if (usedLanguage) {
83
+ return usedLanguage;
84
+ }
85
+ // Search in all languages
86
+ return languages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
124
87
  }
125
-
88
+ exports.getLanguageByShortRegionCode = getLanguageByShortRegionCode;
126
89
  /**
127
90
  * Retrieve a culture with fallback to legacy codes support.
128
91
  * Pulled from https://github.com/prezly/prezly/blob/de9900d9890a33502780494aa3fb85c9a732b3c3/lib/model/CulturePeer.php#L91-L114
129
92
  */
130
93
  function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
131
- const defaultLanguage = getDefaultLanguage(languages);
132
- if (!nextLocaleIsoCode || nextLocaleIsoCode === _localeConfig.DUMMY_DEFAULT_LOCALE) {
133
- return defaultLanguage;
134
- }
135
- const locale = _localeObject.LocaleObject.fromAnyCode(nextLocaleIsoCode);
136
- let targetLanguage;
137
- if (nextLocaleIsoCode.length >= 2 && nextLocaleIsoCode.length <= 4) {
138
- // The order of methods here is reversed from `getShortestLocaleCode`, so that the logic "unwraps" the possible variants with no collisions
139
- targetLanguage = getLanguageByExactLocaleCode(languages, locale) || getLanguageByShortRegionCode(languages, locale) || getLanguageByNeutralLocaleCode(languages, locale);
140
- } else {
141
- targetLanguage = getLanguageByExactLocaleCode(languages, locale);
142
- }
143
- return targetLanguage;
94
+ const defaultLanguage = getDefaultLanguage(languages);
95
+ if (!nextLocaleIsoCode || nextLocaleIsoCode === locale_1.DUMMY_DEFAULT_LOCALE) {
96
+ return defaultLanguage;
97
+ }
98
+ const locale = localeObject_1.LocaleObject.fromAnyCode(nextLocaleIsoCode);
99
+ let targetLanguage;
100
+ if (nextLocaleIsoCode.length >= 2 && nextLocaleIsoCode.length <= 4) {
101
+ // The order of methods here is reversed from `getShortestLocaleCode`, so that the logic "unwraps" the possible variants with no collisions
102
+ targetLanguage =
103
+ getLanguageByExactLocaleCode(languages, locale) ||
104
+ getLanguageByShortRegionCode(languages, locale) ||
105
+ getLanguageByNeutralLocaleCode(languages, locale);
106
+ }
107
+ else {
108
+ targetLanguage = getLanguageByExactLocaleCode(languages, locale);
109
+ }
110
+ return targetLanguage;
144
111
  }
112
+ exports.getLanguageFromNextLocaleIsoCode = getLanguageFromNextLocaleIsoCode;
145
113
  function getLanguageFromStory(languages, story) {
146
- const {
147
- code: storyLocaleCode
148
- } = story.culture;
149
- return languages.find(({
150
- code
151
- }) => code === storyLocaleCode);
114
+ const { code: storyLocaleCode } = story.culture;
115
+ return languages.find(({ code }) => code === storyLocaleCode);
152
116
  }
153
-
117
+ exports.getLanguageFromStory = getLanguageFromStory;
154
118
  /**
155
119
  * Extracts company information for the selected locale
156
120
  */
157
121
  function getCompanyInformation(languages, locale) {
158
- const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
159
- return currentLanguage.company_information;
122
+ const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
123
+ return currentLanguage.company_information;
160
124
  }
161
-
125
+ exports.getCompanyInformation = getCompanyInformation;
162
126
  /**
163
127
  * Get newsroom notifications for the selected locale
164
128
  */
165
129
  function getNotifications(languages, locale) {
166
- const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
167
- return currentLanguage.notifications;
130
+ const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
131
+ return currentLanguage.notifications;
168
132
  }
169
-
133
+ exports.getNotifications = getNotifications;
170
134
  /**
171
135
  * Get the shortest locale code possible from full locale code
172
136
  * First: try shorting to neutral language code (there should be no locales with the same language code)
@@ -176,38 +140,34 @@ function getNotifications(languages, locale) {
176
140
  * @param locale A LocaleObject constructed from FULL locale code (taken straight from the selected language)
177
141
  */
178
142
  function getShortestLocaleCode(languages, locale) {
179
- const localeCode = locale.toUnderscoreCode();
180
- const defaultLanguage = getDefaultLanguage(languages);
181
- // If it's a default locale, return false (no locale needed in URL)
182
- if (localeCode === defaultLanguage.code) {
183
- return false;
184
- }
185
-
186
- // Try shorting to neutral language code
187
- const neutralLanguageCode = locale.toNeutralLanguageCode();
188
- const matchingLanguagesByNeutralCode = languages.filter(({
189
- code
190
- }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode || code === neutralLanguageCode);
191
- if (matchingLanguagesByNeutralCode.length === 1) {
192
- return neutralLanguageCode;
193
- }
194
-
195
- // Try shorting to region code
196
- const shortRegionCode = locale.toRegionCode();
197
- const matchingLanguagesByRegionCode = languages.filter(({
198
- code
199
- }) => _localeObject.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
200
- // Prevent collision with neutral language codes
201
- const lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
202
- const mathchingNeutralLanguagesByRegionCode = languages.filter(({
203
- code
204
- }) => _localeObject.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode || code === lowerCasedShortRegionCode);
205
- if (matchingLanguagesByRegionCode.length === 1 &&
206
- // If there are 2 or more matching neutral languages, it means that there are no languages that can be shortened to neutral code
207
- mathchingNeutralLanguagesByRegionCode.length !== 1 &&
208
- // We don't want just numbers in our region code
209
- Number.isNaN(Number(shortRegionCode))) {
210
- return shortRegionCode;
211
- }
212
- return localeCode;
213
- }
143
+ const localeCode = locale.toUnderscoreCode();
144
+ const defaultLanguage = getDefaultLanguage(languages);
145
+ // If it's a default locale, return false (no locale needed in URL)
146
+ if (localeCode === defaultLanguage.code) {
147
+ return false;
148
+ }
149
+ // Try shorting to neutral language code
150
+ const neutralLanguageCode = locale.toNeutralLanguageCode();
151
+ const matchingLanguagesByNeutralCode = languages.filter(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode ||
152
+ code === neutralLanguageCode);
153
+ if (matchingLanguagesByNeutralCode.length === 1) {
154
+ return neutralLanguageCode;
155
+ }
156
+ // Try shorting to region code
157
+ const shortRegionCode = locale.toRegionCode();
158
+ const matchingLanguagesByRegionCode = languages.filter(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
159
+ // Prevent collision with neutral language codes
160
+ const lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
161
+ const mathchingNeutralLanguagesByRegionCode = languages.filter(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode ||
162
+ code === lowerCasedShortRegionCode);
163
+ if (matchingLanguagesByRegionCode.length === 1 &&
164
+ // If there are 2 or more matching neutral languages, it means that there are no languages that can be shortened to neutral code
165
+ mathchingNeutralLanguagesByRegionCode.length !== 1 &&
166
+ // We don't want just numbers in our region code
167
+ Number.isNaN(Number(shortRegionCode))) {
168
+ return shortRegionCode;
169
+ }
170
+ return localeCode;
171
+ }
172
+ exports.getShortestLocaleCode = getShortestLocaleCode;
173
+ //# sourceMappingURL=languages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Redirect } from 'next';
3
3
  import type { ParsedUrlQuery } from 'querystring';
4
4
  import { LocaleObject } from './localeObject';
5
5
  export declare const DEFAULT_LOCALE = "en";
6
+ export declare const DUMMY_DEFAULT_LOCALE = "qps-ploc";
6
7
  /**
7
8
  * Use this function to determine which translations file you should load from `@prezly/themes-intl-mesages` package.
8
9
  * See https://github.com/prezly/theme-nextjs-bea/blob/main/utils/lang.ts for a usage example.
@@ -1,73 +1,119 @@
1
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';
14
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLocaleDirection = exports.getRedirectToCanonicalLocale = exports.getSupportedLocaleIsoCode = exports.DUMMY_DEFAULT_LOCALE = exports.DEFAULT_LOCALE = void 0;
4
+ const querystring_1 = require("querystring");
5
+ const localeObject_1 = require("./localeObject");
6
+ exports.DEFAULT_LOCALE = 'en';
7
+ // We use pseudo locale used for localization testing, to reliably determine if we need to fallback to the default newsroom language
8
+ exports.DUMMY_DEFAULT_LOCALE = 'qps-ploc';
15
9
  /**
16
10
  * This a list of locales that Prezly has translations for. Each code represents a language file in the `@prezly/themes-intl-messages` package.
17
11
  * See https://github.com/prezly/themes-intl-messages for more info.
18
12
  */
19
- exports.DEFAULT_LOCALE = DEFAULT_LOCALE;
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'];
21
-
13
+ const SUPPORTED_LOCALES = [
14
+ 'af',
15
+ 'ar',
16
+ 'az',
17
+ 'be',
18
+ 'bg',
19
+ 'cs',
20
+ 'da',
21
+ 'de',
22
+ 'el',
23
+ 'en',
24
+ 'es',
25
+ 'et',
26
+ 'fi',
27
+ 'fil',
28
+ 'fr',
29
+ 'ga',
30
+ 'he',
31
+ 'hi',
32
+ 'hr',
33
+ 'hu',
34
+ 'id',
35
+ 'it',
36
+ 'ja',
37
+ 'kk',
38
+ 'ko',
39
+ 'lt',
40
+ 'lv',
41
+ 'mt',
42
+ 'nl',
43
+ 'no',
44
+ 'pl',
45
+ 'pt-BR',
46
+ 'pt',
47
+ 'ro',
48
+ 'ru',
49
+ 'sk',
50
+ 'sl',
51
+ 'sv',
52
+ 'sw',
53
+ 'th',
54
+ 'tr',
55
+ 'uk',
56
+ 'ur',
57
+ 'uz',
58
+ 'vi',
59
+ 'zh-CN',
60
+ 'zh-TW',
61
+ ];
22
62
  /**
23
63
  * Use this function to determine which translations file you should load from `@prezly/themes-intl-mesages` package.
24
64
  * See https://github.com/prezly/theme-nextjs-bea/blob/main/utils/lang.ts for a usage example.
25
65
  */
26
66
  function getSupportedLocaleIsoCode(locale) {
27
- const localeIsoCode = locale.toHyphenCode();
28
- const isSupportedLocale = localeIsoCode.length >= 2 && SUPPORTED_LOCALES.includes(localeIsoCode);
29
- if (isSupportedLocale) {
30
- return localeIsoCode;
31
- }
32
- const language = locale.toNeutralLanguageCode();
33
- const isSupportedLanguage = SUPPORTED_LOCALES.includes(language);
34
- if (isSupportedLanguage) {
35
- return language;
36
- }
37
-
38
- // Custom mapping for Chinese locales
39
- if (localeIsoCode.toLowerCase() === 'zh-hant') {
40
- return 'zh-TW';
41
- }
42
- if (localeIsoCode.toLowerCase() === 'zh-hk') {
43
- return 'zh-CN';
44
- }
45
-
46
- // This code should never be reached, because locale code check is happening in `LocaleObject.fromAnyCode`
47
- // eslint-disable-next-line no-console
48
- console.warn('Unsupported locale provided. Please use `LocaleObject.fromAnyCode` to ensure you are using a correct language code');
49
- return DEFAULT_LOCALE;
67
+ const localeIsoCode = locale.toHyphenCode();
68
+ const isSupportedLocale = localeIsoCode.length >= 2 && SUPPORTED_LOCALES.includes(localeIsoCode);
69
+ if (isSupportedLocale) {
70
+ return localeIsoCode;
71
+ }
72
+ const language = locale.toNeutralLanguageCode();
73
+ const isSupportedLanguage = SUPPORTED_LOCALES.includes(language);
74
+ if (isSupportedLanguage) {
75
+ return language;
76
+ }
77
+ // Custom mapping for Chinese locales
78
+ if (localeIsoCode.toLowerCase() === 'zh-hant') {
79
+ return 'zh-TW';
80
+ }
81
+ if (localeIsoCode.toLowerCase() === 'zh-hk') {
82
+ return 'zh-CN';
83
+ }
84
+ // This code should never be reached, because locale code check is happening in `LocaleObject.fromAnyCode`
85
+ // eslint-disable-next-line no-console
86
+ console.warn('Unsupported locale provided. Please use `LocaleObject.fromAnyCode` to ensure you are using a correct language code');
87
+ return exports.DEFAULT_LOCALE;
50
88
  }
89
+ exports.getSupportedLocaleIsoCode = getSupportedLocaleIsoCode;
51
90
  function getRedirectToCanonicalLocale(shortestLocaleCode, nextLocaleIsoCode, redirectPath, query) {
52
- // No need to redirect if no particular locale was requested by the application
53
- if (!nextLocaleIsoCode || nextLocaleIsoCode === _localeConfig.DUMMY_DEFAULT_LOCALE) {
91
+ // No need to redirect if no particular locale was requested by the application
92
+ if (!nextLocaleIsoCode || nextLocaleIsoCode === exports.DUMMY_DEFAULT_LOCALE) {
93
+ return undefined;
94
+ }
95
+ const shortestLocaleSlug = shortestLocaleCode
96
+ ? localeObject_1.LocaleObject.fromAnyCode(shortestLocaleCode).toUrlSlug()
97
+ : shortestLocaleCode;
98
+ if (shortestLocaleSlug !== nextLocaleIsoCode) {
99
+ const prefixedPath = redirectPath && !redirectPath.startsWith('/') ? `/${redirectPath}` : redirectPath;
100
+ const urlQuery = query ? `?${(0, querystring_1.stringify)(query)}` : '';
101
+ return {
102
+ destination: shortestLocaleSlug
103
+ ? `/${shortestLocaleSlug}${prefixedPath}${urlQuery}`
104
+ : `${prefixedPath}${urlQuery}`,
105
+ permanent: false,
106
+ };
107
+ }
54
108
  return undefined;
55
- }
56
- const shortestLocaleSlug = shortestLocaleCode ? _localeObject.LocaleObject.fromAnyCode(shortestLocaleCode).toUrlSlug() : shortestLocaleCode;
57
- if (shortestLocaleSlug !== nextLocaleIsoCode) {
58
- const prefixedPath = redirectPath && !redirectPath.startsWith('/') ? `/${redirectPath}` : redirectPath;
59
- const urlQuery = query ? `?${(0, _querystring.stringify)(query)}` : '';
60
- return {
61
- destination: shortestLocaleSlug ? `/${shortestLocaleSlug}${prefixedPath}${urlQuery}` : `${prefixedPath}${urlQuery}`,
62
- permanent: false
63
- };
64
- }
65
- return undefined;
66
109
  }
110
+ exports.getRedirectToCanonicalLocale = getRedirectToCanonicalLocale;
67
111
  function getLocaleDirection(locale) {
68
- const neutralLanguageCode = locale.toNeutralLanguageCode();
69
- if (['ar', 'he', 'ur'].includes(neutralLanguageCode)) {
70
- return 'rtl';
71
- }
72
- return 'ltr';
73
- }
112
+ const neutralLanguageCode = locale.toNeutralLanguageCode();
113
+ if (['ar', 'he', 'ur'].includes(neutralLanguageCode)) {
114
+ return 'rtl';
115
+ }
116
+ return 'ltr';
117
+ }
118
+ exports.getLocaleDirection = getLocaleDirection;
119
+ //# sourceMappingURL=locale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- import type { I18NConfig } from 'next/dist/server/config-shared';
2
- export declare const DUMMY_DEFAULT_LOCALE = "qps-ploc";
3
- export declare const localeConfig: I18NConfig;
1
+ export = lowercaseLocalPermutations;
2
+ declare const lowercaseLocalPermutations: string[];
@@ -1,35 +1,20 @@
1
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");
8
2
  /**
9
3
  * This list is pulled from the main Prezly application. The underscores are replaced with dashes.
10
4
  * Together with permutation performed lower in the code,
11
5
  * the exported list represents all of the possible locale codes that Next.js theme application might accept.
12
6
  */
13
-
14
- const lowercaseLocales = _localeList.localeList.map(l => l.toLowerCase());
15
-
16
- // We use pseudo locale used for localization testing, to reliably determine if we need to fallback to the default newsroom language
17
- const DUMMY_DEFAULT_LOCALE = 'qps-ploc';
18
-
7
+ const supportedLocales = require('./localeList');
8
+ const lowercaseLocales = supportedLocales.map((l) => l.toLowerCase());
19
9
  // 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;
21
- const lowercaseLocalPermutations = Array.from(new Set([...lowercaseLocales, ...lowercaseLocales.map(code => code.split('-')[0]), ...lowercaseLocales.map(code => code.split('-')[1]).filter(Boolean)
22
- // Remove number-only codes from possible permutations (like `419` for `es-419`)
23
- .filter(code => Number.isNaN(Number(code)))])).sort();
24
- const localeConfig = {
25
- // These are all the locales you want to support in
26
- // your application
27
- locales: [DUMMY_DEFAULT_LOCALE, ...lowercaseLocalPermutations],
28
- // This is the default locale you want to be used when visiting
29
- // a non-locale prefixed path e.g. `/media`
30
- // We use Pseudo locale used for localization testing, to reliably determine if we need to fallback to the default newsroom language
31
- defaultLocale: DUMMY_DEFAULT_LOCALE,
32
- // Default locale detection is disabled, since the locales would be determined by Prezly API
33
- localeDetection: false
34
- };
35
- exports.localeConfig = localeConfig;
10
+ const lowercaseLocalPermutations = Array.from(new Set([
11
+ ...lowercaseLocales,
12
+ ...lowercaseLocales.map((code) => code.split('-')[0]),
13
+ ...lowercaseLocales
14
+ .map((code) => code.split('-')[1])
15
+ .filter(Boolean)
16
+ // Remove number-only codes from possible permutations (like `419` for `es-419`)
17
+ .filter((code) => Number.isNaN(Number(code))),
18
+ ])).sort();
19
+ module.exports = lowercaseLocalPermutations;
20
+ //# sourceMappingURL=localeConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localeConfig.js","sourceRoot":"","sources":["../../src/intl/localeConfig.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAEhE,oIAAoI;AACpI,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,6HAA6H;AAC7H,MAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CACzC,IAAI,GAAG,CAAC;IACJ,GAAG,gBAAgB;IACnB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,gBAAgB;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC,MAAM,CAAC,OAAO,CAAC;QAChB,gFAAgF;SAC/E,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;CACpD,CAAC,CACL,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,YAAY,GAAe;IACpC,mDAAmD;IACnD,mBAAmB;IACnB,OAAO,EAAE,CAAC,oBAAoB,EAAE,GAAG,0BAA0B,CAAC;IAC9D,+DAA+D;IAC/D,2CAA2C;IAC3C,oIAAoI;IACpI,aAAa,EAAE,oBAAoB;IACnC,4FAA4F;IAC5F,eAAe,EAAE,KAAK;CACzB,CAAC"}
1
+ {"version":3,"file":"localeConfig.js","sourceRoot":"","sources":["../../src/intl/localeConfig.js"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAEjD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAEtE,6HAA6H;AAC7H,MAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CACzC,IAAI,GAAG,CAAC;IACJ,GAAG,gBAAgB;IACnB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,gBAAgB;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC,MAAM,CAAC,OAAO,CAAC;QAChB,gFAAgF;SAC/E,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;CACpD,CAAC,CACL,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,OAAO,GAAG,0BAA0B,CAAC"}
@@ -1,4 +1,2 @@
1
- /**
2
- * This list is pulled from the main Prezly application. The underscores are replaced with dashes.
3
- */
4
- export declare const localeList: string[];
1
+ declare const _exports: string[];
2
+ export = _exports;