@prezly/theme-kit-nextjs 1.16.0-1 → 1.16.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/adapter-nextjs/api-handlers/fetchGalleries.js +7 -3
- package/build/adapter-nextjs/api-handlers/fetchGalleries.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/fetchStories.js +7 -3
- package/build/adapter-nextjs/api-handlers/fetchStories.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/index.js +7 -2
- package/build/adapter-nextjs/api-handlers/index.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomServerSideProps.js +7 -3
- package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomStaticProps.js +7 -3
- package/build/adapter-nextjs/getNewsroomStaticProps.js.map +1 -1
- package/build/adapter-nextjs/index.js +22 -6
- package/build/adapter-nextjs/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/category.js +27 -27
- package/build/adapter-nextjs/page-props/category.js.map +1 -1
- package/build/adapter-nextjs/page-props/gallery.js +18 -13
- package/build/adapter-nextjs/page-props/gallery.js.map +1 -1
- package/build/adapter-nextjs/page-props/galleryAlbum.js +19 -13
- package/build/adapter-nextjs/page-props/galleryAlbum.js.map +1 -1
- package/build/adapter-nextjs/page-props/home.js +18 -13
- package/build/adapter-nextjs/page-props/home.js.map +1 -1
- package/build/adapter-nextjs/page-props/index.js +41 -8
- package/build/adapter-nextjs/page-props/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/lib/types.js +2 -1
- package/build/adapter-nextjs/page-props/search.js +15 -10
- package/build/adapter-nextjs/page-props/search.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +5 -1
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js +5 -1
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +11 -7
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/index.js +24 -4
- package/build/adapter-nextjs/page-props/sitemap/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/types.js +2 -1
- package/build/adapter-nextjs/page-props/story.js +25 -25
- package/build/adapter-nextjs/page-props/story.js.map +1 -1
- package/build/adapter-nextjs/page-props/storyPreview.js +12 -11
- package/build/adapter-nextjs/page-props/storyPreview.js.map +1 -1
- package/build/adapter-nextjs/processRequest.js +9 -5
- package/build/adapter-nextjs/processRequest.js.map +1 -1
- package/build/adapter-nextjs/processStaticRequest.js +5 -1
- package/build/adapter-nextjs/processStaticRequest.js.map +1 -1
- package/build/components-nextjs/PageSeo/PageSeo.js +28 -24
- package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
- package/build/components-nextjs/PageSeo/index.js +20 -2
- package/build/components-nextjs/PageSeo/index.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +5 -1
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/types.js +2 -1
- package/build/components-nextjs/StorySeo/StorySeo.js +11 -7
- package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -1
- package/build/components-nextjs/StorySeo/index.js +5 -1
- package/build/components-nextjs/StorySeo/index.js.map +1 -1
- package/build/components-nextjs/document.js +35 -8
- package/build/components-nextjs/document.js.map +1 -1
- package/build/components-nextjs/index.js +9 -3
- package/build/components-nextjs/index.js.map +1 -1
- package/build/data-fetching/api/PrezlyApi.js +36 -29
- package/build/data-fetching/api/PrezlyApi.js.map +1 -1
- package/build/data-fetching/api/getPrezlyApi.js +9 -5
- package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
- package/build/data-fetching/api/index.js +17 -1
- package/build/data-fetching/api/index.js.map +1 -1
- package/build/data-fetching/api/queries.js +13 -5
- package/build/data-fetching/api/queries.js.map +1 -1
- package/build/data-fetching/index.js +19 -3
- package/build/data-fetching/index.js.map +1 -1
- package/build/data-fetching/lib/getAlgoliaSettings.js +7 -3
- package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
- package/build/data-fetching/lib/getEnvVariables.js +10 -3
- package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
- package/build/data-fetching/lib/index.js +11 -4
- package/build/data-fetching/lib/index.js.map +1 -1
- package/build/data-fetching/lib/isSdkError.js +5 -1
- package/build/data-fetching/lib/isSdkError.js.map +1 -1
- package/build/data-fetching/lib/isUuid.js +5 -1
- package/build/data-fetching/lib/isUuid.js.map +1 -1
- package/build/data-fetching/types.js +2 -1
- package/build/index.js +25 -9
- package/build/index.js.map +1 -1
- package/build/infinite-loading/index.js +24 -4
- package/build/infinite-loading/index.js.map +1 -1
- package/build/infinite-loading/types.js +2 -1
- package/build/infinite-loading/useInfiniteGalleriesLoading.js +7 -3
- package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteLoading.js +13 -9
- package/build/infinite-loading/useInfiniteLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteStoriesLoading.js +11 -7
- package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -1
- package/build/intl/index.js +25 -4
- package/build/intl/index.js.map +1 -1
- package/build/intl/languages.js +35 -22
- package/build/intl/languages.js.map +1 -1
- package/build/intl/locale.js +17 -11
- package/build/intl/locale.js.map +1 -1
- package/build/intl/localeObject.js +10 -3
- package/build/intl/localeObject.js.map +1 -1
- package/build/newsroom-context/context.js +11 -7
- package/build/newsroom-context/context.js.map +1 -1
- package/build/newsroom-context/hooks/index.js +27 -11
- package/build/newsroom-context/hooks/index.js.map +1 -1
- package/build/newsroom-context/hooks/useAlgoliaSettings.js +7 -3
- package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
- package/build/newsroom-context/hooks/useCategories.js +7 -3
- package/build/newsroom-context/hooks/useCategories.js.map +1 -1
- package/build/newsroom-context/hooks/useCompanyInformation.js +7 -3
- package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentCategory.js +7 -3
- package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentLocale.js +7 -3
- package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentStory.js +7 -3
- package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +14 -10
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
- package/build/newsroom-context/hooks/useGetTranslationUrl.js +16 -12
- package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
- package/build/newsroom-context/hooks/useLanguages.js +7 -3
- package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroom.js +7 -3
- package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroomContext.js +8 -4
- package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
- package/build/newsroom-context/index.js +21 -2
- package/build/newsroom-context/index.js.map +1 -1
- package/build/sentry/client.js +7 -3
- package/build/sentry/client.js.map +1 -1
- package/build/sentry/common.js +5 -1
- package/build/sentry/common.js.map +1 -1
- package/build/sentry/index.js +7 -2
- package/build/sentry/index.js.map +1 -1
- package/build/sentry/server.js +7 -3
- package/build/sentry/server.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types.js +2 -1
- package/build/utils/boilerplate.js +9 -3
- package/build/utils/boilerplate.js.map +1 -1
- package/build/utils/constants.js +6 -3
- package/build/utils/constants.js.map +1 -1
- package/build/utils/getAssetsUrl.js +7 -3
- package/build/utils/getAssetsUrl.js.map +1 -1
- package/build/utils/getDataRequestLink.js +7 -3
- package/build/utils/getDataRequestLink.js.map +1 -1
- package/build/utils/getLocalizedCategoryData.js +9 -3
- package/build/utils/getLocalizedCategoryData.js.map +1 -1
- package/build/utils/getNewsroomLogoUrl.js +10 -5
- package/build/utils/getNewsroomLogoUrl.js.map +1 -1
- package/build/utils/getPrivacyPortalUrl.js +5 -1
- package/build/utils/getPrivacyPortalUrl.js.map +1 -1
- package/build/utils/getStoryPublicationDate.js +5 -1
- package/build/utils/getStoryPublicationDate.js.map +1 -1
- package/build/utils/getUploadcareGroupUrl.js +7 -3
- package/build/utils/getUploadcareGroupUrl.js.map +1 -1
- package/build/utils/index.js +26 -10
- package/build/utils/index.js.map +1 -1
- package/build/utils/isEmbargoStory.js +5 -1
- package/build/utils/isEmbargoStory.js.map +1 -1
- package/package.json +2 -2
- package/src/adapter-nextjs/page-props/category.ts +4 -8
- package/src/adapter-nextjs/page-props/story.ts +4 -8
- package/src/adapter-nextjs/page-props/storyPreview.ts +2 -4
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isUuid = void 0;
|
|
1
4
|
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
2
|
-
|
|
5
|
+
function isUuid(input) {
|
|
3
6
|
return UUID_REGEX.test(input);
|
|
4
7
|
}
|
|
8
|
+
exports.isUuid = isUuid;
|
|
5
9
|
//# sourceMappingURL=isUuid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUuid.js","sourceRoot":"","sources":["../../../src/data-fetching/lib/isUuid.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,gEAAgE,CAAC;AAEpF,
|
|
1
|
+
{"version":3,"file":"isUuid.js","sourceRoot":"","sources":["../../../src/data-fetching/lib/isUuid.ts"],"names":[],"mappings":";;;AAAA,MAAM,UAAU,GAAG,gEAAgE,CAAC;AAEpF,SAAgB,MAAM,CAAC,KAAa;IAChC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAFD,wBAEC"}
|
package/build/index.js
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./adapter-nextjs"), exports);
|
|
18
|
+
__exportStar(require("./components-nextjs"), exports);
|
|
19
|
+
__exportStar(require("./data-fetching"), exports);
|
|
20
|
+
__exportStar(require("./infinite-loading"), exports);
|
|
21
|
+
__exportStar(require("./intl"), exports);
|
|
22
|
+
__exportStar(require("./newsroom-context"), exports);
|
|
23
|
+
__exportStar(require("./sentry"), exports);
|
|
24
|
+
__exportStar(require("./types"), exports);
|
|
25
|
+
__exportStar(require("./utils"), exports);
|
|
10
26
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,sDAAoC;AACpC,kDAAgC;AAChC,qDAAmC;AACnC,yCAAuB;AACvB,qDAAmC;AACnC,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.useInfiniteGalleriesLoading = exports.useInfiniteStoriesLoading = exports.useInfiniteLoading = void 0;
|
|
18
|
+
var useInfiniteLoading_1 = require("./useInfiniteLoading");
|
|
19
|
+
Object.defineProperty(exports, "useInfiniteLoading", { enumerable: true, get: function () { return useInfiniteLoading_1.useInfiniteLoading; } });
|
|
20
|
+
var useInfiniteStoriesLoading_1 = require("./useInfiniteStoriesLoading");
|
|
21
|
+
Object.defineProperty(exports, "useInfiniteStoriesLoading", { enumerable: true, get: function () { return useInfiniteStoriesLoading_1.useInfiniteStoriesLoading; } });
|
|
22
|
+
var useInfiniteGalleriesLoading_1 = require("./useInfiniteGalleriesLoading");
|
|
23
|
+
Object.defineProperty(exports, "useInfiniteGalleriesLoading", { enumerable: true, get: function () { return useInfiniteGalleriesLoading_1.useInfiniteGalleriesLoading; } });
|
|
24
|
+
__exportStar(require("./types"), exports);
|
|
5
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infinite-loading/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infinite-loading/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,0CAAwB"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useInfiniteGalleriesLoading = void 0;
|
|
4
|
+
const useInfiniteLoading_1 = require("./useInfiniteLoading");
|
|
2
5
|
async function fetchGalleries(page, pageSize) {
|
|
3
6
|
const result = await fetch('/api/fetch-galleries', {
|
|
4
7
|
method: 'POST',
|
|
@@ -21,8 +24,8 @@ async function fetchGalleries(page, pageSize) {
|
|
|
21
24
|
* The handler for this route is exported from `apiHandlers/fetchGalleries.ts` file.
|
|
22
25
|
* See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/media/index.tsx#L23 for usage example
|
|
23
26
|
*/
|
|
24
|
-
|
|
25
|
-
const { canLoadMore, data, isLoading, loadMore } = useInfiniteLoading({
|
|
27
|
+
function useInfiniteGalleriesLoading(initialGalleries, pagination) {
|
|
28
|
+
const { canLoadMore, data, isLoading, loadMore } = (0, useInfiniteLoading_1.useInfiniteLoading)({
|
|
26
29
|
fetchingFn: async (nextPage, pageSize) => {
|
|
27
30
|
const { galleries } = await fetchGalleries(nextPage, pageSize);
|
|
28
31
|
return galleries;
|
|
@@ -37,4 +40,5 @@ export function useInfiniteGalleriesLoading(initialGalleries, pagination) {
|
|
|
37
40
|
loadMoreGalleries: loadMore,
|
|
38
41
|
};
|
|
39
42
|
}
|
|
43
|
+
exports.useInfiniteGalleriesLoading = useInfiniteGalleriesLoading;
|
|
40
44
|
//# sourceMappingURL=useInfiniteGalleriesLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteGalleriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteGalleriesLoading.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"useInfiniteGalleriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteGalleriesLoading.ts"],"names":[],"mappings":";;;AAGA,6DAA0D;AAE1D,KAAK,UAAU,cAAc,CACzB,IAAY,EACZ,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,sBAAsB,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,IAAI;YACJ,QAAQ;SACX,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,SAAgB,2BAA2B,CACvC,gBAAmC,EACnC,UAA2B;IAE3B,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,uCAAkB,EAAkB;QACnF,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/D,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,WAAW,EAAE,gBAAgB;QAC7B,UAAU;KACb,CAAC,CAAC;IAEH,OAAO;QACH,WAAW;QACX,SAAS,EAAE,IAAI;QACf,SAAS;QACT,iBAAiB,EAAE,QAAQ;KAC9B,CAAC;AACN,CAAC;AAnBD,kEAmBC"}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useInfiniteLoading = void 0;
|
|
4
|
+
const web_1 = require("@react-hookz/web");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
function useInfiniteLoading({ fetchingFn, initialData, pagination, }) {
|
|
7
|
+
const [data, setData] = (0, react_1.useState)(initialData);
|
|
8
|
+
const [currentPage, setCurrentPage] = (0, react_1.useState)(pagination.currentPage);
|
|
6
9
|
const { itemsTotal, pageSize } = pagination;
|
|
7
10
|
const pagesTotal = Math.ceil(itemsTotal / pageSize);
|
|
8
11
|
const canLoadMore = currentPage < pagesTotal;
|
|
9
|
-
const [{ error, status }, { execute: loadMoreFn }] = useAsync(async () => {
|
|
12
|
+
const [{ error, status }, { execute: loadMoreFn }] = (0, web_1.useAsync)(async () => {
|
|
10
13
|
const nextPage = currentPage + 1;
|
|
11
14
|
const newData = await fetchingFn(nextPage, pageSize);
|
|
12
15
|
setCurrentPage(nextPage);
|
|
13
16
|
setData((currentData) => [...currentData, ...newData]);
|
|
14
17
|
});
|
|
15
|
-
const loadMore = useCallback(() => {
|
|
18
|
+
const loadMore = (0, react_1.useCallback)(() => {
|
|
16
19
|
if (canLoadMore) {
|
|
17
20
|
loadMoreFn();
|
|
18
21
|
}
|
|
19
22
|
}, [canLoadMore, loadMoreFn]);
|
|
20
|
-
const resetData = useCallback(() => {
|
|
23
|
+
const resetData = (0, react_1.useCallback)(() => {
|
|
21
24
|
setData(initialData);
|
|
22
25
|
setCurrentPage(pagination.currentPage);
|
|
23
26
|
}, [pagination.currentPage, initialData]);
|
|
24
|
-
useEffect(() => {
|
|
27
|
+
(0, react_1.useEffect)(() => {
|
|
25
28
|
if (error) {
|
|
26
29
|
// eslint-disable-next-line no-console
|
|
27
30
|
console.error(error);
|
|
@@ -36,4 +39,5 @@ export function useInfiniteLoading({ fetchingFn, initialData, pagination, }) {
|
|
|
36
39
|
resetData,
|
|
37
40
|
};
|
|
38
41
|
}
|
|
42
|
+
exports.useInfiniteLoading = useInfiniteLoading;
|
|
39
43
|
//# sourceMappingURL=useInfiniteLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteLoading.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"useInfiniteLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteLoading.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;AAC5C,iCAAyD;AAmBzD,SAAgB,kBAAkB,CAAI,EAClC,UAAU,EACV,WAAW,EACX,UAAU,GACE;IACZ,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAM,WAAW,CAAC,CAAC;IACnD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEvE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IAE7C,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,IAAA,cAAQ,EAAC,KAAK,IAAI,EAAE;QACrE,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC9B,IAAI,WAAW,EAAE;YACb,UAAU,EAAE,CAAC;SAChB;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,WAAW,CAAC,CAAC;QACrB,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,KAAK,EAAE;YACP,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO;QACH,WAAW;QACX,WAAW;QACX,IAAI;QACJ,SAAS,EAAE,MAAM,KAAK,SAAS;QAC/B,QAAQ;QACR,SAAS;KACZ,CAAC;AACN,CAAC;AA7CD,gDA6CC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useInfiniteStoriesLoading = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const newsroom_context_1 = require("../newsroom-context");
|
|
6
|
+
const useInfiniteLoading_1 = require("./useInfiniteLoading");
|
|
4
7
|
async function fetchStories(page, pageSize, category, locale, include) {
|
|
5
8
|
const result = await fetch('/api/fetch-stories', {
|
|
6
9
|
method: 'POST',
|
|
@@ -28,9 +31,9 @@ async function fetchStories(page, pageSize, category, locale, include) {
|
|
|
28
31
|
* The handler for this route is exported from `apiHandlers/fetchStories.ts` file.
|
|
29
32
|
* See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/index.tsx#L24 for usage example
|
|
30
33
|
*/
|
|
31
|
-
|
|
32
|
-
const currentLocale = useCurrentLocale();
|
|
33
|
-
const { canLoadMore, data, isLoading, loadMore, resetData } = useInfiniteLoading({
|
|
34
|
+
function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
|
|
35
|
+
const currentLocale = (0, newsroom_context_1.useCurrentLocale)();
|
|
36
|
+
const { canLoadMore, data, isLoading, loadMore, resetData } = (0, useInfiniteLoading_1.useInfiniteLoading)({
|
|
34
37
|
fetchingFn: async (nextPage, pageSize) => {
|
|
35
38
|
const { stories } = await fetchStories(nextPage, pageSize, category, currentLocale, include);
|
|
36
39
|
return stories;
|
|
@@ -38,7 +41,7 @@ export function useInfiniteStoriesLoading(initialStories, pagination, category,
|
|
|
38
41
|
initialData: initialStories,
|
|
39
42
|
pagination,
|
|
40
43
|
});
|
|
41
|
-
useEffect(() => {
|
|
44
|
+
(0, react_1.useEffect)(() => {
|
|
42
45
|
if (category?.id) {
|
|
43
46
|
resetData();
|
|
44
47
|
}
|
|
@@ -50,4 +53,5 @@ export function useInfiniteStoriesLoading(initialStories, pagination, category,
|
|
|
50
53
|
stories: data,
|
|
51
54
|
};
|
|
52
55
|
}
|
|
56
|
+
exports.useInfiniteStoriesLoading = useInfiniteStoriesLoading;
|
|
53
57
|
//# sourceMappingURL=useInfiniteStoriesLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":";;;AACA,iCAAkC;AAGlC,0DAAuD;AAGvD,6DAA0D;AAE1D,KAAK,UAAU,YAAY,CACvB,IAAY,EACZ,QAAgB,EAChB,QAAmB,EACnB,MAAqB,EACrB,OAAoC;IAEpC,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,SAAgB,yBAAyB,CACrC,cAAmB,EACnB,UAA2B,EAC3B,QAAmB,EACnB,OAAoC;IAEpC,MAAM,aAAa,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAEzC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,uCAAkB,EAAI;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,IAAA,iBAAS,EAAC,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;AAnCD,8DAmCC"}
|
package/build/intl/index.js
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
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);
|
|
5
26
|
//# sourceMappingURL=index.js.map
|
package/build/intl/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,2CAAyB;AACzB,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,iDAA+B"}
|
package/build/intl/languages.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getShortestLocaleCode = 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");
|
|
3
6
|
function isOnlyCulture(culture, languages) {
|
|
4
7
|
const numberOfLanguages = languages.filter(({ locale: { language_code } }) => language_code === culture.language_code).length;
|
|
5
8
|
return numberOfLanguages === 1;
|
|
@@ -16,7 +19,7 @@ function isOnlyCulture(culture, languages) {
|
|
|
16
19
|
* - English (Global), English (UK), Spanish (Spain)
|
|
17
20
|
* - -> English (Global), English (UK), Spanish
|
|
18
21
|
*/
|
|
19
|
-
|
|
22
|
+
function getLanguageDisplayName(language, languages) {
|
|
20
23
|
const { locale } = language;
|
|
21
24
|
if (isOnlyCulture(locale, languages)) {
|
|
22
25
|
const cultureNameIndex = locale.native_name.indexOf('(');
|
|
@@ -26,24 +29,28 @@ export function getLanguageDisplayName(language, languages) {
|
|
|
26
29
|
}
|
|
27
30
|
return locale.native_name;
|
|
28
31
|
}
|
|
32
|
+
exports.getLanguageDisplayName = getLanguageDisplayName;
|
|
29
33
|
/**
|
|
30
34
|
* @returns Language set as default in the Newsroom Settings.
|
|
31
35
|
*/
|
|
32
|
-
|
|
36
|
+
function getDefaultLanguage(languages) {
|
|
33
37
|
return languages.find(({ is_default }) => is_default) || languages[0];
|
|
34
38
|
}
|
|
39
|
+
exports.getDefaultLanguage = getDefaultLanguage;
|
|
35
40
|
/**
|
|
36
41
|
* @returns Only languages having at least one published story
|
|
37
42
|
*/
|
|
38
|
-
|
|
43
|
+
function getUsedLanguages(languages) {
|
|
39
44
|
return languages.filter((language) => language.public_stories_count > 0);
|
|
40
45
|
}
|
|
41
|
-
|
|
46
|
+
exports.getUsedLanguages = getUsedLanguages;
|
|
47
|
+
function getLanguageByExactLocaleCode(languages, locale) {
|
|
42
48
|
const localeCode = locale.toUnderscoreCode();
|
|
43
49
|
return languages.find(({ code }) => code === localeCode);
|
|
44
50
|
}
|
|
51
|
+
exports.getLanguageByExactLocaleCode = getLanguageByExactLocaleCode;
|
|
45
52
|
// See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L123
|
|
46
|
-
|
|
53
|
+
function getLanguageByNeutralLocaleCode(languages, locale) {
|
|
47
54
|
const neutralLanguageCode = locale.toNeutralLanguageCode();
|
|
48
55
|
// Prefer default language
|
|
49
56
|
const defaultLanguage = getDefaultLanguage(languages);
|
|
@@ -53,40 +60,42 @@ export function getLanguageByNeutralLocaleCode(languages, locale) {
|
|
|
53
60
|
}
|
|
54
61
|
// Try to look in used cultures first (giving priority to used ones)
|
|
55
62
|
const usedLanguages = getUsedLanguages(languages);
|
|
56
|
-
const usedLanguage = usedLanguages.find(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
63
|
+
const usedLanguage = usedLanguages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
57
64
|
if (usedLanguage) {
|
|
58
65
|
return usedLanguage;
|
|
59
66
|
}
|
|
60
67
|
// Search in all languages
|
|
61
|
-
return languages.find(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
68
|
+
return languages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
62
69
|
}
|
|
70
|
+
exports.getLanguageByNeutralLocaleCode = getLanguageByNeutralLocaleCode;
|
|
63
71
|
// See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L159
|
|
64
|
-
|
|
72
|
+
function getLanguageByShortRegionCode(languages, locale) {
|
|
65
73
|
const shortRegionCode = locale.toRegionCode();
|
|
66
74
|
// Prefer default language
|
|
67
75
|
const defaultLanguage = getDefaultLanguage(languages);
|
|
68
|
-
if (LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
|
|
76
|
+
if (localeObject_1.LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
|
|
69
77
|
return defaultLanguage;
|
|
70
78
|
}
|
|
71
79
|
// Try to look in used cultures first (giving priority to used ones)
|
|
72
80
|
const usedLanguages = getUsedLanguages(languages);
|
|
73
|
-
const usedLanguage = usedLanguages.find(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
81
|
+
const usedLanguage = usedLanguages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
74
82
|
if (usedLanguage) {
|
|
75
83
|
return usedLanguage;
|
|
76
84
|
}
|
|
77
85
|
// Search in all languages
|
|
78
|
-
return languages.find(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
86
|
+
return languages.find(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
79
87
|
}
|
|
88
|
+
exports.getLanguageByShortRegionCode = getLanguageByShortRegionCode;
|
|
80
89
|
/**
|
|
81
90
|
* Retrieve a culture with fallback to legacy codes support.
|
|
82
91
|
* Pulled from https://github.com/prezly/prezly/blob/de9900d9890a33502780494aa3fb85c9a732b3c3/lib/model/CulturePeer.php#L91-L114
|
|
83
92
|
*/
|
|
84
|
-
|
|
93
|
+
function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
|
|
85
94
|
const defaultLanguage = getDefaultLanguage(languages);
|
|
86
|
-
if (!nextLocaleIsoCode || nextLocaleIsoCode === DUMMY_DEFAULT_LOCALE) {
|
|
95
|
+
if (!nextLocaleIsoCode || nextLocaleIsoCode === locale_1.DUMMY_DEFAULT_LOCALE) {
|
|
87
96
|
return defaultLanguage;
|
|
88
97
|
}
|
|
89
|
-
const locale = LocaleObject.fromAnyCode(nextLocaleIsoCode);
|
|
98
|
+
const locale = localeObject_1.LocaleObject.fromAnyCode(nextLocaleIsoCode);
|
|
90
99
|
let targetLanguage;
|
|
91
100
|
if (nextLocaleIsoCode.length >= 2 && nextLocaleIsoCode.length <= 4) {
|
|
92
101
|
// The order of methods here is reversed from `getShortestLocaleCode`, so that the logic "unwraps" the possible variants with no collisions
|
|
@@ -100,17 +109,20 @@ export function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
|
|
|
100
109
|
}
|
|
101
110
|
return targetLanguage;
|
|
102
111
|
}
|
|
103
|
-
|
|
112
|
+
exports.getLanguageFromNextLocaleIsoCode = getLanguageFromNextLocaleIsoCode;
|
|
113
|
+
function getLanguageFromStory(languages, story) {
|
|
104
114
|
const { code: storyLocaleCode } = story.culture;
|
|
105
115
|
return languages.find(({ code }) => code === storyLocaleCode);
|
|
106
116
|
}
|
|
117
|
+
exports.getLanguageFromStory = getLanguageFromStory;
|
|
107
118
|
/**
|
|
108
119
|
* Extracts company information for the selected locale
|
|
109
120
|
*/
|
|
110
|
-
|
|
121
|
+
function getCompanyInformation(languages, locale) {
|
|
111
122
|
const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
|
|
112
123
|
return currentLanguage.company_information;
|
|
113
124
|
}
|
|
125
|
+
exports.getCompanyInformation = getCompanyInformation;
|
|
114
126
|
/**
|
|
115
127
|
* Get shortest locale code possible from full locale code
|
|
116
128
|
* First: try shorting to neutral language code (there should be no locales with the same language code)
|
|
@@ -119,7 +131,7 @@ export function getCompanyInformation(languages, locale) {
|
|
|
119
131
|
*
|
|
120
132
|
* @param locale A LocaleObject constructed from FULL locale code (taken straight from the selected language)
|
|
121
133
|
*/
|
|
122
|
-
|
|
134
|
+
function getShortestLocaleCode(languages, locale) {
|
|
123
135
|
const localeCode = locale.toUnderscoreCode();
|
|
124
136
|
const defaultLanguage = getDefaultLanguage(languages);
|
|
125
137
|
// If it's a default locale, return false (no locale needed in URL)
|
|
@@ -128,17 +140,17 @@ export function getShortestLocaleCode(languages, locale) {
|
|
|
128
140
|
}
|
|
129
141
|
// Try shorting to neutral language code
|
|
130
142
|
const neutralLanguageCode = locale.toNeutralLanguageCode();
|
|
131
|
-
const matchingLanguagesByNeutralCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode ||
|
|
143
|
+
const matchingLanguagesByNeutralCode = languages.filter(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode ||
|
|
132
144
|
code === neutralLanguageCode);
|
|
133
145
|
if (matchingLanguagesByNeutralCode.length === 1) {
|
|
134
146
|
return neutralLanguageCode;
|
|
135
147
|
}
|
|
136
148
|
// Try shorting to region code
|
|
137
149
|
const shortRegionCode = locale.toRegionCode();
|
|
138
|
-
const matchingLanguagesByRegionCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
150
|
+
const matchingLanguagesByRegionCode = languages.filter(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
139
151
|
// Prevent collision with neutral language codes
|
|
140
152
|
const lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
|
|
141
|
-
const mathchingNeutralLanguagesByRegionCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode ||
|
|
153
|
+
const mathchingNeutralLanguagesByRegionCode = languages.filter(({ code }) => localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode ||
|
|
142
154
|
code === lowerCasedShortRegionCode);
|
|
143
155
|
if (matchingLanguagesByRegionCode.length === 1 &&
|
|
144
156
|
// If there are 2 or more matching neutral languages, it means that there are no languages that can be shortened to neutral code
|
|
@@ -149,4 +161,5 @@ export function getShortestLocaleCode(languages, locale) {
|
|
|
149
161
|
}
|
|
150
162
|
return localeCode;
|
|
151
163
|
}
|
|
164
|
+
exports.getShortestLocaleCode = getShortestLocaleCode;
|
|
152
165
|
//# sourceMappingURL=languages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"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"}
|
package/build/intl/locale.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
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';
|
|
4
7
|
// We use pseudo locale used for localization testing, to reliably determine if we need to fallback to the default newsroom language
|
|
5
|
-
|
|
8
|
+
exports.DUMMY_DEFAULT_LOCALE = 'qps-ploc';
|
|
6
9
|
/**
|
|
7
10
|
* This a list of locales that Prezly has translations for. Each code represents a language file in the `@prezly/themes-intl-messages` package.
|
|
8
11
|
* See https://github.com/prezly/themes-intl-messages for more info.
|
|
@@ -60,7 +63,7 @@ const SUPPORTED_LOCALES = [
|
|
|
60
63
|
* Use this function to determine which translations file you should load from `@prezly/themes-intl-mesages` package.
|
|
61
64
|
* See https://github.com/prezly/theme-nextjs-bea/blob/main/utils/lang.ts for a usage example.
|
|
62
65
|
*/
|
|
63
|
-
|
|
66
|
+
function getSupportedLocaleIsoCode(locale) {
|
|
64
67
|
const localeIsoCode = locale.toHyphenCode();
|
|
65
68
|
const isSupportedLocale = localeIsoCode.length >= 2 && SUPPORTED_LOCALES.includes(localeIsoCode);
|
|
66
69
|
if (isSupportedLocale) {
|
|
@@ -81,19 +84,20 @@ export function getSupportedLocaleIsoCode(locale) {
|
|
|
81
84
|
// This code should never be reached, because locale code check is happening in `LocaleObject.fromAnyCode`
|
|
82
85
|
// eslint-disable-next-line no-console
|
|
83
86
|
console.warn('Unsupported locale provided. Please use `LocaleObject.fromAnyCode` to ensure you are using a correct language code');
|
|
84
|
-
return DEFAULT_LOCALE;
|
|
87
|
+
return exports.DEFAULT_LOCALE;
|
|
85
88
|
}
|
|
86
|
-
|
|
89
|
+
exports.getSupportedLocaleIsoCode = getSupportedLocaleIsoCode;
|
|
90
|
+
function getRedirectToCanonicalLocale(shortestLocaleCode, nextLocaleIsoCode, redirectPath, query) {
|
|
87
91
|
// No need to redirect if no particular locale was requested by the application
|
|
88
|
-
if (!nextLocaleIsoCode || nextLocaleIsoCode === DUMMY_DEFAULT_LOCALE) {
|
|
92
|
+
if (!nextLocaleIsoCode || nextLocaleIsoCode === exports.DUMMY_DEFAULT_LOCALE) {
|
|
89
93
|
return undefined;
|
|
90
94
|
}
|
|
91
95
|
const shortestLocaleSlug = shortestLocaleCode
|
|
92
|
-
? LocaleObject.fromAnyCode(shortestLocaleCode).toUrlSlug()
|
|
96
|
+
? localeObject_1.LocaleObject.fromAnyCode(shortestLocaleCode).toUrlSlug()
|
|
93
97
|
: shortestLocaleCode;
|
|
94
98
|
if (shortestLocaleSlug !== nextLocaleIsoCode) {
|
|
95
99
|
const prefixedPath = redirectPath && !redirectPath.startsWith('/') ? `/${redirectPath}` : redirectPath;
|
|
96
|
-
const urlQuery = query ? `?${stringify(query)}` : '';
|
|
100
|
+
const urlQuery = query ? `?${(0, querystring_1.stringify)(query)}` : '';
|
|
97
101
|
return {
|
|
98
102
|
destination: shortestLocaleSlug
|
|
99
103
|
? `/${shortestLocaleSlug}${prefixedPath}${urlQuery}`
|
|
@@ -103,11 +107,13 @@ export function getRedirectToCanonicalLocale(shortestLocaleCode, nextLocaleIsoCo
|
|
|
103
107
|
}
|
|
104
108
|
return undefined;
|
|
105
109
|
}
|
|
106
|
-
|
|
110
|
+
exports.getRedirectToCanonicalLocale = getRedirectToCanonicalLocale;
|
|
111
|
+
function getLocaleDirection(locale) {
|
|
107
112
|
const neutralLanguageCode = locale.toNeutralLanguageCode();
|
|
108
113
|
if (['ar', 'he', 'ur'].includes(neutralLanguageCode)) {
|
|
109
114
|
return 'rtl';
|
|
110
115
|
}
|
|
111
116
|
return 'ltr';
|
|
112
117
|
}
|
|
118
|
+
exports.getLocaleDirection = getLocaleDirection;
|
|
113
119
|
//# sourceMappingURL=locale.js.map
|
package/build/intl/locale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LocaleObject = void 0;
|
|
7
|
+
const localeConfig_1 = __importDefault(require("./localeConfig"));
|
|
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
|
-
|
|
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 =
|
|
42
|
+
const foundCode = localeConfig_1.default.find((code) => code === lowercaseCode);
|
|
37
43
|
if (!foundCode) {
|
|
38
44
|
throw new Error(`Unsupported locale code provided: "${lowercaseCode}"`);
|
|
39
45
|
}
|
|
@@ -81,4 +87,5 @@ export class LocaleObject {
|
|
|
81
87
|
return anotherLocale.toHyphenCode() === this.localeCode;
|
|
82
88
|
}
|
|
83
89
|
}
|
|
90
|
+
exports.LocaleObject = LocaleObject;
|
|
84
91
|
//# sourceMappingURL=localeObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localeObject.js","sourceRoot":"","sources":["../../src/intl/localeObject.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"localeObject.js","sourceRoot":"","sources":["../../src/intl/localeObject.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAE1C;;;;GAIG;AACH,MAAa,YAAY;IACrB;;;OAGG;IACK,UAAU,CAAS;IAE3B,YAAoB,UAAkB;QAClC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QAED,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE;YACR,2FAA2F;YAC3F,MAAM,YAAY,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAEvE,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxD;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC9B;IACL,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CAAC,UAAkB;QACxC,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,sBAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,GAAG,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,qBAAqB;QACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,YAAY;QACf,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;SACjC;QAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,aAA2B;QACtC,OAAO,aAAa,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC;IAC5D,CAAC;CACJ;AA3FD,oCA2FC"}
|