@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.
- package/build/@types/global.d.js +1 -0
- package/build/adapter-nextjs/api-handlers/fetchGalleries.js +27 -23
- package/build/adapter-nextjs/api-handlers/fetchGalleries.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/fetchStories.js +37 -25
- package/build/adapter-nextjs/api-handlers/fetchStories.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/index.js +2 -8
- package/build/adapter-nextjs/api-handlers/index.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomServerSideProps.js +16 -15
- package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomStaticProps.js +15 -15
- package/build/adapter-nextjs/getNewsroomStaticProps.js.map +1 -1
- package/build/adapter-nextjs/index.js +6 -23
- package/build/adapter-nextjs/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/category.d.ts +2 -2
- package/build/adapter-nextjs/page-props/category.js +118 -100
- package/build/adapter-nextjs/page-props/category.js.map +1 -1
- package/build/adapter-nextjs/page-props/gallery.js +87 -68
- package/build/adapter-nextjs/page-props/gallery.js.map +1 -1
- package/build/adapter-nextjs/page-props/galleryAlbum.js +64 -53
- package/build/adapter-nextjs/page-props/galleryAlbum.js.map +1 -1
- package/build/adapter-nextjs/page-props/home.d.ts +2 -2
- package/build/adapter-nextjs/page-props/home.js +83 -69
- package/build/adapter-nextjs/page-props/home.js.map +1 -1
- package/build/adapter-nextjs/page-props/index.js +8 -42
- package/build/adapter-nextjs/page-props/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/lib/types.js +1 -3
- package/build/adapter-nextjs/page-props/search.js +25 -31
- package/build/adapter-nextjs/page-props/search.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +29 -50
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js +13 -19
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +33 -35
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/index.js +4 -25
- package/build/adapter-nextjs/page-props/sitemap/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/types.js +1 -3
- package/build/adapter-nextjs/page-props/story.js +77 -64
- package/build/adapter-nextjs/page-props/story.js.map +1 -1
- package/build/adapter-nextjs/page-props/storyPreview.js +27 -26
- package/build/adapter-nextjs/page-props/storyPreview.js.map +1 -1
- package/build/adapter-nextjs/processRequest.js +34 -25
- package/build/adapter-nextjs/processRequest.js.map +1 -1
- package/build/adapter-nextjs/processStaticRequest.js +19 -16
- package/build/adapter-nextjs/processStaticRequest.js.map +1 -1
- package/build/components-nextjs/PageSeo/PageSeo.js +84 -78
- package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
- package/build/components-nextjs/PageSeo/index.js +2 -21
- package/build/components-nextjs/PageSeo/index.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +5 -10
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/types.js +1 -3
- package/build/components-nextjs/StorySeo/StorySeo.js +69 -47
- package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -1
- package/build/components-nextjs/StorySeo/index.js +1 -6
- package/build/components-nextjs/StorySeo/index.js.map +1 -1
- package/build/components-nextjs/document.js +31 -48
- package/build/components-nextjs/document.js.map +1 -1
- package/build/components-nextjs/index.js +3 -10
- package/build/components-nextjs/index.js.map +1 -1
- package/build/data-fetching/api/PrezlyApi.d.ts +4 -5
- package/build/data-fetching/api/PrezlyApi.js +207 -192
- package/build/data-fetching/api/PrezlyApi.js.map +1 -1
- package/build/data-fetching/api/getPrezlyApi.js +21 -21
- package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
- package/build/data-fetching/api/index.js +1 -18
- package/build/data-fetching/api/index.js.map +1 -1
- package/build/data-fetching/api/queries.js +76 -47
- package/build/data-fetching/api/queries.js.map +1 -1
- package/build/data-fetching/index.js +3 -20
- package/build/data-fetching/index.js.map +1 -1
- package/build/data-fetching/lib/getAlgoliaSettings.js +22 -22
- package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
- package/build/data-fetching/lib/getEnvVariables.js +35 -38
- package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
- package/build/data-fetching/lib/index.js +4 -12
- package/build/data-fetching/lib/index.js.map +1 -1
- package/build/data-fetching/lib/isSdkError.js +3 -8
- package/build/data-fetching/lib/isSdkError.js.map +1 -1
- package/build/data-fetching/lib/isUuid.js +3 -8
- package/build/data-fetching/lib/isUuid.js.map +1 -1
- package/build/data-fetching/types.js +1 -3
- package/build/index.js +9 -26
- package/build/index.js.map +1 -1
- package/build/infinite-loading/index.js +4 -25
- package/build/infinite-loading/index.js.map +1 -1
- package/build/infinite-loading/types.js +1 -3
- package/build/infinite-loading/useInfiniteGalleriesLoading.js +42 -37
- package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteLoading.js +50 -43
- package/build/infinite-loading/useInfiniteLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteStoriesLoading.d.ts +2 -2
- package/build/infinite-loading/useInfiniteStoriesLoading.js +56 -50
- package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -1
- package/build/intl/index.d.ts +1 -1
- package/build/intl/index.js +4 -26
- package/build/intl/index.js.map +1 -1
- package/build/intl/languages.d.ts +1 -1
- package/build/intl/languages.js +146 -122
- package/build/intl/languages.js.map +1 -1
- package/build/intl/locale.js +52 -107
- package/build/intl/locale.js.map +1 -1
- package/build/intl/localeConfig.d.ts +1 -2
- package/build/intl/localeConfig.js +7 -14
- package/build/intl/localeConfig.js.map +1 -1
- package/build/intl/localeList.d.ts +4 -2
- package/build/intl/localeList.js +1 -109
- package/build/intl/localeList.js.map +1 -1
- package/build/intl/localeObject.js +80 -82
- package/build/intl/localeObject.js.map +1 -1
- package/build/newsroom-context/context.js +35 -25
- package/build/newsroom-context/context.js.map +1 -1
- package/build/newsroom-context/hooks/index.js +11 -28
- package/build/newsroom-context/hooks/index.js.map +1 -1
- package/build/newsroom-context/hooks/useAlgoliaSettings.js +5 -10
- package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
- package/build/newsroom-context/hooks/useCategories.js +5 -10
- package/build/newsroom-context/hooks/useCategories.js.map +1 -1
- package/build/newsroom-context/hooks/useCompanyInformation.js +5 -10
- package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentCategory.js +5 -10
- package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentLocale.js +5 -10
- package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentStory.js +5 -10
- package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +17 -21
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
- package/build/newsroom-context/hooks/useGetTranslationUrl.js +52 -55
- package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
- package/build/newsroom-context/hooks/useLanguages.js +5 -10
- package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroom.js +5 -10
- package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroomContext.js +11 -16
- package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
- package/build/newsroom-context/index.js +2 -22
- package/build/newsroom-context/index.js.map +1 -1
- package/build/sentry/client.js +4 -9
- package/build/sentry/client.js.map +1 -1
- package/build/sentry/common.js +26 -29
- package/build/sentry/common.js.map +1 -1
- package/build/sentry/index.js +2 -8
- package/build/sentry/index.js.map +1 -1
- package/build/sentry/server.js +4 -9
- package/build/sentry/server.js.map +1 -1
- package/build/types.d.ts +2 -2
- package/build/types.js +1 -3
- package/build/utils/boilerplate.js +7 -22
- package/build/utils/boilerplate.js.map +1 -1
- package/build/utils/constants.js +3 -7
- package/build/utils/constants.js.map +1 -1
- package/build/utils/getAssetsUrl.js +4 -9
- package/build/utils/getAssetsUrl.js.map +1 -1
- package/build/utils/getDataRequestLink.js +6 -12
- package/build/utils/getDataRequestLink.js.map +1 -1
- package/build/utils/getLocalizedCategoryData.js +33 -33
- package/build/utils/getLocalizedCategoryData.js.map +1 -1
- package/build/utils/getNewsroomLogoUrl.js +15 -21
- package/build/utils/getNewsroomLogoUrl.js.map +1 -1
- package/build/utils/getPrivacyPortalUrl.js +11 -13
- package/build/utils/getPrivacyPortalUrl.js.map +1 -1
- package/build/utils/getStoryPublicationDate.js +9 -14
- package/build/utils/getStoryPublicationDate.js.map +1 -1
- package/build/utils/getUploadcareGroupUrl.js +5 -10
- package/build/utils/getUploadcareGroupUrl.js.map +1 -1
- package/build/utils/index.js +10 -27
- package/build/utils/index.js.map +1 -1
- package/build/utils/isEmbargoStory.js +3 -8
- package/build/utils/isEmbargoStory.js.map +1 -1
- package/package.json +26 -18
- package/build/tsconfig.tsbuildinfo +0 -1
- package/src/@types/global.d.ts +0 -7
- package/src/__mocks__/languages.ts +0 -417
- package/src/__mocks__/story.ts +0 -351
- package/src/adapter-nextjs/api-handlers/fetchGalleries.ts +0 -24
- package/src/adapter-nextjs/api-handlers/fetchStories.ts +0 -26
- package/src/adapter-nextjs/api-handlers/index.ts +0 -2
- package/src/adapter-nextjs/getNewsroomServerSideProps.ts +0 -29
- package/src/adapter-nextjs/getNewsroomStaticProps.ts +0 -29
- package/src/adapter-nextjs/index.ts +0 -6
- package/src/adapter-nextjs/page-props/category.ts +0 -157
- package/src/adapter-nextjs/page-props/gallery.ts +0 -114
- package/src/adapter-nextjs/page-props/galleryAlbum.ts +0 -89
- package/src/adapter-nextjs/page-props/home.ts +0 -113
- package/src/adapter-nextjs/page-props/index.ts +0 -26
- package/src/adapter-nextjs/page-props/lib/types.ts +0 -8
- package/src/adapter-nextjs/page-props/search.ts +0 -53
- package/src/adapter-nextjs/page-props/sitemap/SitemapBuilder.ts +0 -56
- package/src/adapter-nextjs/page-props/sitemap/createPaths.ts +0 -21
- package/src/adapter-nextjs/page-props/sitemap/getServerSideProps.ts +0 -43
- package/src/adapter-nextjs/page-props/sitemap/index.ts +0 -5
- package/src/adapter-nextjs/page-props/sitemap/types.ts +0 -5
- package/src/adapter-nextjs/page-props/story.ts +0 -94
- package/src/adapter-nextjs/page-props/storyPreview.ts +0 -33
- package/src/adapter-nextjs/processRequest.ts +0 -49
- package/src/adapter-nextjs/processStaticRequest.ts +0 -32
- package/src/components-nextjs/PageSeo/PageSeo.tsx +0 -131
- package/src/components-nextjs/PageSeo/index.ts +0 -2
- package/src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts +0 -7
- package/src/components-nextjs/PageSeo/lib/types.ts +0 -4
- package/src/components-nextjs/StorySeo/StorySeo.tsx +0 -80
- package/src/components-nextjs/StorySeo/index.ts +0 -1
- package/src/components-nextjs/document.tsx +0 -38
- package/src/components-nextjs/index.ts +0 -3
- package/src/data-fetching/api/PrezlyApi.ts +0 -302
- package/src/data-fetching/api/getPrezlyApi.ts +0 -24
- package/src/data-fetching/api/index.ts +0 -1
- package/src/data-fetching/api/queries.ts +0 -51
- package/src/data-fetching/index.ts +0 -3
- package/src/data-fetching/lib/getAlgoliaSettings.ts +0 -29
- package/src/data-fetching/lib/getEnvVariables.ts +0 -46
- package/src/data-fetching/lib/index.ts +0 -4
- package/src/data-fetching/lib/isSdkError.ts +0 -5
- package/src/data-fetching/lib/isUuid.ts +0 -5
- package/src/data-fetching/types.ts +0 -14
- package/src/index.ts +0 -9
- package/src/infinite-loading/index.ts +0 -4
- package/src/infinite-loading/types.ts +0 -5
- package/src/infinite-loading/useInfiniteGalleriesLoading.ts +0 -53
- package/src/infinite-loading/useInfiniteLoading.ts +0 -66
- package/src/infinite-loading/useInfiniteStoriesLoading.ts +0 -81
- package/src/intl/index.ts +0 -4
- package/src/intl/languages.test.ts +0 -232
- package/src/intl/languages.ts +0 -233
- package/src/intl/locale.test.ts +0 -94
- package/src/intl/locale.ts +0 -140
- package/src/intl/localeConfig.js +0 -23
- package/src/intl/localeList.js +0 -110
- package/src/intl/localeObject.test.ts +0 -81
- package/src/intl/localeObject.ts +0 -99
- package/src/newsroom-context/context.tsx +0 -115
- package/src/newsroom-context/hooks/index.ts +0 -11
- package/src/newsroom-context/hooks/useAlgoliaSettings.ts +0 -7
- package/src/newsroom-context/hooks/useCategories.ts +0 -7
- package/src/newsroom-context/hooks/useCompanyInformation.ts +0 -7
- package/src/newsroom-context/hooks/useCurrentCategory.ts +0 -7
- package/src/newsroom-context/hooks/useCurrentLocale.ts +0 -7
- package/src/newsroom-context/hooks/useCurrentStory.ts +0 -7
- package/src/newsroom-context/hooks/useGetLinkLocaleSlug.ts +0 -37
- package/src/newsroom-context/hooks/useGetTranslationUrl.ts +0 -96
- package/src/newsroom-context/hooks/useLanguages.ts +0 -7
- package/src/newsroom-context/hooks/useNewsroom.ts +0 -7
- package/src/newsroom-context/hooks/useNewsroomContext.ts +0 -15
- package/src/newsroom-context/index.ts +0 -2
- package/src/sentry/client.ts +0 -7
- package/src/sentry/common.ts +0 -27
- package/src/sentry/index.ts +0 -2
- package/src/sentry/server.ts +0 -7
- package/src/types.ts +0 -51
- package/src/utils/boilerplate.ts +0 -27
- package/src/utils/constants.ts +0 -3
- package/src/utils/getAssetsUrl.test.ts +0 -9
- package/src/utils/getAssetsUrl.ts +0 -9
- package/src/utils/getDataRequestLink.ts +0 -14
- package/src/utils/getLocalizedCategoryData.ts +0 -47
- package/src/utils/getNewsroomLogoUrl.ts +0 -22
- package/src/utils/getPrivacyPortalUrl.ts +0 -25
- package/src/utils/getStoryPublicationDate.tsx +0 -15
- package/src/utils/getUploadcareGroupUrl.ts +0 -13
- package/src/utils/index.ts +0 -10
- package/src/utils/isEmbargoStory.ts +0 -10
|
@@ -1,57 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const newsroom_context_1 = require("../newsroom-context");
|
|
6
|
-
const useInfiniteLoading_1 = require("./useInfiniteLoading");
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useCurrentLocale } from "../newsroom-context/index.js";
|
|
3
|
+
import { useInfiniteLoading } from "./useInfiniteLoading.js";
|
|
7
4
|
async function fetchStories(page, pageSize, category, locale, include) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
5
|
+
const result = await fetch('/api/fetch-stories', {
|
|
6
|
+
method: 'POST',
|
|
7
|
+
headers: {
|
|
8
|
+
'Content-Type': 'application/json'
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify({
|
|
11
|
+
page,
|
|
12
|
+
pageSize,
|
|
13
|
+
category,
|
|
14
|
+
include,
|
|
15
|
+
...(locale && {
|
|
16
|
+
localeCode: locale.toUnderscoreCode()
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
if (!result.ok) {
|
|
21
|
+
const {
|
|
22
|
+
message
|
|
23
|
+
} = await result.json();
|
|
24
|
+
throw new Error(message);
|
|
25
|
+
}
|
|
26
|
+
return result.json();
|
|
28
27
|
}
|
|
28
|
+
|
|
29
29
|
/**
|
|
30
30
|
* NOTE: This hook depends on the presence of a Next API route (/api/fetch-stories)!
|
|
31
31
|
* The handler for this route is exported from `apiHandlers/fetchStories.ts` file.
|
|
32
32
|
* See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/index.tsx#L24 for usage example
|
|
33
33
|
*/
|
|
34
|
-
function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
34
|
+
export function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
|
|
35
|
+
const currentLocale = useCurrentLocale();
|
|
36
|
+
const {
|
|
37
|
+
canLoadMore,
|
|
38
|
+
data,
|
|
39
|
+
isLoading,
|
|
40
|
+
loadMore,
|
|
41
|
+
resetData
|
|
42
|
+
} = useInfiniteLoading({
|
|
43
|
+
fetchingFn: async (nextPage, pageSize) => {
|
|
44
|
+
const {
|
|
45
|
+
stories
|
|
46
|
+
} = await fetchStories(nextPage, pageSize, category, currentLocale, include);
|
|
47
|
+
return stories;
|
|
48
|
+
},
|
|
49
|
+
initialData: initialStories,
|
|
50
|
+
pagination
|
|
51
|
+
});
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (category?.id) {
|
|
54
|
+
resetData();
|
|
55
|
+
}
|
|
56
|
+
}, [category?.id, resetData]);
|
|
57
|
+
return {
|
|
58
|
+
canLoadMore,
|
|
59
|
+
isLoading,
|
|
60
|
+
loadMoreStories: loadMore,
|
|
61
|
+
stories: data
|
|
62
|
+
};
|
|
63
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,KAAK,UAAU,YAAY,CACvB,IAAY,EACZ,QAAgB,EAChB,QAAmB,EACnB,MAAqB,EACrB,OAAqC;IAErC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,IAAI;YACJ,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,GAAG,CAAC,MAAM,IAAI;gBACV,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE;aACxC,CAAC;SACL,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACrC,cAAmB,EACnB,UAA2B,EAC3B,QAAmB,EACnB,OAAqC;IAErC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAI;QAChF,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAClC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,OAAO,CACV,CAAC;YACF,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,WAAW,EAAE,cAAc;QAC3B,UAAU;KACb,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,QAAQ,EAAE,EAAE,EAAE;YACd,SAAS,EAAE,CAAC;SACf;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO;QACH,WAAW;QACX,SAAS;QACT,eAAe,EAAE,QAAQ;QACzB,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC"}
|
package/build/intl/index.d.ts
CHANGED
package/build/intl/index.js
CHANGED
|
@@ -1,26 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.localeConfig = void 0;
|
|
21
|
-
__exportStar(require("./languages"), exports);
|
|
22
|
-
__exportStar(require("./locale"), exports);
|
|
23
|
-
var localeConfig_1 = require("./localeConfig");
|
|
24
|
-
Object.defineProperty(exports, "localeConfig", { enumerable: true, get: function () { return __importDefault(localeConfig_1).default; } });
|
|
25
|
-
__exportStar(require("./localeObject"), exports);
|
|
26
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export * from "./languages.js";
|
|
2
|
+
export * from "./locale.js";
|
|
3
|
+
export { localeConfig } from "./localeConfig.js";
|
|
4
|
+
export * from "./localeObject.js";
|
package/build/intl/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC"}
|
|
@@ -37,7 +37,7 @@ export declare function getCompanyInformation(languages: NewsroomLanguageSetting
|
|
|
37
37
|
/**
|
|
38
38
|
* Get newsroom notifications for the selected locale
|
|
39
39
|
*/
|
|
40
|
-
export declare function getNotifications(languages: NewsroomLanguageSettings[], locale: LocaleObject): import("@prezly/sdk").Notification[];
|
|
40
|
+
export declare function getNotifications(languages: NewsroomLanguageSettings[], locale: LocaleObject): import("@prezly/sdk").Notification<string>[];
|
|
41
41
|
/**
|
|
42
42
|
* Get the shortest locale code possible from full locale code
|
|
43
43
|
* First: try shorting to neutral language code (there should be no locales with the same language code)
|
package/build/intl/languages.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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");
|
|
1
|
+
import { DUMMY_DEFAULT_LOCALE } from "./locale.js";
|
|
2
|
+
import { LocaleObject } from "./localeObject.js";
|
|
6
3
|
function isOnlyCulture(culture, languages) {
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const numberOfLanguages = languages.filter(({
|
|
5
|
+
locale: {
|
|
6
|
+
language_code
|
|
7
|
+
}
|
|
8
|
+
}) => language_code === culture.language_code).length;
|
|
9
|
+
return numberOfLanguages === 1;
|
|
9
10
|
}
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
13
|
* @returns the display name of the locale in its native language
|
|
12
14
|
*
|
|
@@ -19,118 +21,136 @@ function isOnlyCulture(culture, languages) {
|
|
|
19
21
|
* - English (Global), English (UK), Spanish (Spain)
|
|
20
22
|
* - -> English (Global), English (UK), Spanish
|
|
21
23
|
*/
|
|
22
|
-
function getLanguageDisplayName(language, languages) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
export function getLanguageDisplayName(language, languages) {
|
|
25
|
+
const {
|
|
26
|
+
locale
|
|
27
|
+
} = language;
|
|
28
|
+
if (isOnlyCulture(locale, languages)) {
|
|
29
|
+
const cultureNameIndex = locale.native_name.indexOf('(');
|
|
30
|
+
if (cultureNameIndex !== -1) {
|
|
31
|
+
return locale.native_name.slice(0, cultureNameIndex - 1);
|
|
29
32
|
}
|
|
30
|
-
|
|
33
|
+
}
|
|
34
|
+
return locale.native_name;
|
|
31
35
|
}
|
|
32
|
-
|
|
36
|
+
|
|
33
37
|
/**
|
|
34
38
|
* @returns Language set as default in the Newsroom Settings.
|
|
35
39
|
*/
|
|
36
|
-
function getDefaultLanguage(languages) {
|
|
37
|
-
|
|
40
|
+
export function getDefaultLanguage(languages) {
|
|
41
|
+
return languages.find(({
|
|
42
|
+
is_default
|
|
43
|
+
}) => is_default) || languages[0];
|
|
38
44
|
}
|
|
39
|
-
|
|
45
|
+
|
|
40
46
|
/**
|
|
41
47
|
* @returns Only languages having at least one published story
|
|
42
48
|
*/
|
|
43
|
-
function getUsedLanguages(languages) {
|
|
44
|
-
|
|
49
|
+
export function getUsedLanguages(languages) {
|
|
50
|
+
return languages.filter(language => language.public_stories_count > 0);
|
|
45
51
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
export function getLanguageByExactLocaleCode(languages, locale) {
|
|
53
|
+
const localeCode = locale.toUnderscoreCode();
|
|
54
|
+
return languages.find(({
|
|
55
|
+
code
|
|
56
|
+
}) => code === localeCode);
|
|
50
57
|
}
|
|
51
|
-
|
|
58
|
+
|
|
52
59
|
// See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L123
|
|
53
|
-
function getLanguageByNeutralLocaleCode(languages, locale) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
60
|
+
export function getLanguageByNeutralLocaleCode(languages, locale) {
|
|
61
|
+
const neutralLanguageCode = locale.toNeutralLanguageCode();
|
|
62
|
+
|
|
63
|
+
// Prefer default language
|
|
64
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
65
|
+
// TODO: This doesn't align with other methods logic
|
|
66
|
+
if (defaultLanguage.code === locale.toUnderscoreCode()) {
|
|
67
|
+
return defaultLanguage;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Try to look in used cultures first (giving priority to used ones)
|
|
71
|
+
const usedLanguages = getUsedLanguages(languages);
|
|
72
|
+
const usedLanguage = usedLanguages.find(({
|
|
73
|
+
code
|
|
74
|
+
}) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
75
|
+
if (usedLanguage) {
|
|
76
|
+
return usedLanguage;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Search in all languages
|
|
80
|
+
return languages.find(({
|
|
81
|
+
code
|
|
82
|
+
}) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
69
83
|
}
|
|
70
|
-
|
|
84
|
+
|
|
71
85
|
// See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L159
|
|
72
|
-
function getLanguageByShortRegionCode(languages, locale) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
export function getLanguageByShortRegionCode(languages, locale) {
|
|
87
|
+
const shortRegionCode = locale.toRegionCode();
|
|
88
|
+
|
|
89
|
+
// Prefer default language
|
|
90
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
91
|
+
if (LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
|
|
92
|
+
return defaultLanguage;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Try to look in used cultures first (giving priority to used ones)
|
|
96
|
+
const usedLanguages = getUsedLanguages(languages);
|
|
97
|
+
const usedLanguage = usedLanguages.find(({
|
|
98
|
+
code
|
|
99
|
+
}) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
100
|
+
if (usedLanguage) {
|
|
101
|
+
return usedLanguage;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Search in all languages
|
|
105
|
+
return languages.find(({
|
|
106
|
+
code
|
|
107
|
+
}) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
87
108
|
}
|
|
88
|
-
|
|
109
|
+
|
|
89
110
|
/**
|
|
90
111
|
* Retrieve a culture with fallback to legacy codes support.
|
|
91
112
|
* Pulled from https://github.com/prezly/prezly/blob/de9900d9890a33502780494aa3fb85c9a732b3c3/lib/model/CulturePeer.php#L91-L114
|
|
92
113
|
*/
|
|
93
|
-
function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
else {
|
|
108
|
-
targetLanguage = getLanguageByExactLocaleCode(languages, locale);
|
|
109
|
-
}
|
|
110
|
-
return targetLanguage;
|
|
114
|
+
export function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
|
|
115
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
116
|
+
if (!nextLocaleIsoCode || nextLocaleIsoCode === DUMMY_DEFAULT_LOCALE) {
|
|
117
|
+
return defaultLanguage;
|
|
118
|
+
}
|
|
119
|
+
const locale = LocaleObject.fromAnyCode(nextLocaleIsoCode);
|
|
120
|
+
let targetLanguage;
|
|
121
|
+
if (nextLocaleIsoCode.length >= 2 && nextLocaleIsoCode.length <= 4) {
|
|
122
|
+
// The order of methods here is reversed from `getShortestLocaleCode`, so that the logic "unwraps" the possible variants with no collisions
|
|
123
|
+
targetLanguage = getLanguageByExactLocaleCode(languages, locale) || getLanguageByShortRegionCode(languages, locale) || getLanguageByNeutralLocaleCode(languages, locale);
|
|
124
|
+
} else {
|
|
125
|
+
targetLanguage = getLanguageByExactLocaleCode(languages, locale);
|
|
126
|
+
}
|
|
127
|
+
return targetLanguage;
|
|
111
128
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
129
|
+
export function getLanguageFromStory(languages, story) {
|
|
130
|
+
const {
|
|
131
|
+
code: storyLocaleCode
|
|
132
|
+
} = story.culture;
|
|
133
|
+
return languages.find(({
|
|
134
|
+
code
|
|
135
|
+
}) => code === storyLocaleCode);
|
|
116
136
|
}
|
|
117
|
-
|
|
137
|
+
|
|
118
138
|
/**
|
|
119
139
|
* Extracts company information for the selected locale
|
|
120
140
|
*/
|
|
121
|
-
function getCompanyInformation(languages, locale) {
|
|
122
|
-
|
|
123
|
-
|
|
141
|
+
export function getCompanyInformation(languages, locale) {
|
|
142
|
+
const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
|
|
143
|
+
return currentLanguage.company_information;
|
|
124
144
|
}
|
|
125
|
-
|
|
145
|
+
|
|
126
146
|
/**
|
|
127
147
|
* Get newsroom notifications for the selected locale
|
|
128
148
|
*/
|
|
129
|
-
function getNotifications(languages, locale) {
|
|
130
|
-
|
|
131
|
-
|
|
149
|
+
export function getNotifications(languages, locale) {
|
|
150
|
+
const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
|
|
151
|
+
return currentLanguage.notifications;
|
|
132
152
|
}
|
|
133
|
-
|
|
153
|
+
|
|
134
154
|
/**
|
|
135
155
|
* Get the shortest locale code possible from full locale code
|
|
136
156
|
* First: try shorting to neutral language code (there should be no locales with the same language code)
|
|
@@ -139,35 +159,39 @@ exports.getNotifications = getNotifications;
|
|
|
139
159
|
*
|
|
140
160
|
* @param locale A LocaleObject constructed from FULL locale code (taken straight from the selected language)
|
|
141
161
|
*/
|
|
142
|
-
function getShortestLocaleCode(languages, locale) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
162
|
+
export function getShortestLocaleCode(languages, locale) {
|
|
163
|
+
const localeCode = locale.toUnderscoreCode();
|
|
164
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
165
|
+
// If it's a default locale, return false (no locale needed in URL)
|
|
166
|
+
if (localeCode === defaultLanguage.code) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Try shorting to neutral language code
|
|
171
|
+
const neutralLanguageCode = locale.toNeutralLanguageCode();
|
|
172
|
+
const matchingLanguagesByNeutralCode = languages.filter(({
|
|
173
|
+
code
|
|
174
|
+
}) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode || code === neutralLanguageCode);
|
|
175
|
+
if (matchingLanguagesByNeutralCode.length === 1) {
|
|
176
|
+
return neutralLanguageCode;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Try shorting to region code
|
|
180
|
+
const shortRegionCode = locale.toRegionCode();
|
|
181
|
+
const matchingLanguagesByRegionCode = languages.filter(({
|
|
182
|
+
code
|
|
183
|
+
}) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
184
|
+
// Prevent collision with neutral language codes
|
|
185
|
+
const lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
|
|
186
|
+
const mathchingNeutralLanguagesByRegionCode = languages.filter(({
|
|
187
|
+
code
|
|
188
|
+
}) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode || code === lowerCasedShortRegionCode);
|
|
189
|
+
if (matchingLanguagesByRegionCode.length === 1 &&
|
|
190
|
+
// If there are 2 or more matching neutral languages, it means that there are no languages that can be shortened to neutral code
|
|
191
|
+
mathchingNeutralLanguagesByRegionCode.length !== 1 &&
|
|
192
|
+
// We don't want just numbers in our region code
|
|
193
|
+
Number.isNaN(Number(shortRegionCode))) {
|
|
194
|
+
return shortRegionCode;
|
|
195
|
+
}
|
|
196
|
+
return localeCode;
|
|
197
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"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"}
|