@prezly/theme-kit-nextjs 1.6.3 → 1.6.4-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 (86) hide show
  1. package/README.md +30 -0
  2. package/build/components-nextjs/PageSeo/PageSeo.d.ts +12 -0
  3. package/build/components-nextjs/PageSeo/PageSeo.js +89 -0
  4. package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -0
  5. package/build/components-nextjs/PageSeo/index.d.ts +2 -0
  6. package/build/components-nextjs/PageSeo/index.js +17 -0
  7. package/build/components-nextjs/PageSeo/index.js.map +1 -0
  8. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.d.ts +1 -0
  9. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +11 -0
  10. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -0
  11. package/build/components-nextjs/PageSeo/lib/types.d.ts +4 -0
  12. package/build/components-nextjs/PageSeo/lib/types.js +3 -0
  13. package/build/components-nextjs/PageSeo/lib/types.js.map +1 -0
  14. package/build/components-nextjs/Sitemap/SitemapBuilder.d.ts +11 -0
  15. package/build/components-nextjs/Sitemap/SitemapBuilder.js +51 -0
  16. package/build/components-nextjs/Sitemap/SitemapBuilder.js.map +1 -0
  17. package/build/components-nextjs/Sitemap/createPaths.d.ts +2 -0
  18. package/build/components-nextjs/Sitemap/createPaths.js +50 -0
  19. package/build/components-nextjs/Sitemap/createPaths.js.map +1 -0
  20. package/build/components-nextjs/Sitemap/getInitialProps.d.ts +2 -0
  21. package/build/components-nextjs/Sitemap/getInitialProps.js +78 -0
  22. package/build/components-nextjs/Sitemap/getInitialProps.js.map +1 -0
  23. package/build/components-nextjs/Sitemap/index.d.ts +4 -0
  24. package/build/components-nextjs/Sitemap/index.js +21 -0
  25. package/build/components-nextjs/Sitemap/index.js.map +1 -0
  26. package/build/components-nextjs/Sitemap/types.d.ts +5 -0
  27. package/build/components-nextjs/Sitemap/types.js +3 -0
  28. package/build/components-nextjs/Sitemap/types.js.map +1 -0
  29. package/build/components-nextjs/StorySeo/StorySeo.d.ts +11 -0
  30. package/build/components-nextjs/StorySeo/StorySeo.js +47 -0
  31. package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -0
  32. package/build/components-nextjs/StorySeo/index.d.ts +1 -0
  33. package/build/components-nextjs/StorySeo/index.js +6 -0
  34. package/build/components-nextjs/StorySeo/index.js.map +1 -0
  35. package/build/components-nextjs/index.d.ts +3 -0
  36. package/build/components-nextjs/index.js +19 -0
  37. package/build/components-nextjs/index.js.map +1 -0
  38. package/build/index.d.ts +2 -0
  39. package/build/index.js +2 -0
  40. package/build/index.js.map +1 -1
  41. package/build/infinite-loading/apiHandlers/fetchGalleries.d.ts +2 -0
  42. package/build/infinite-loading/apiHandlers/fetchGalleries.js +73 -0
  43. package/build/infinite-loading/apiHandlers/fetchGalleries.js.map +1 -0
  44. package/build/infinite-loading/apiHandlers/fetchStories.d.ts +2 -0
  45. package/build/infinite-loading/apiHandlers/fetchStories.js +75 -0
  46. package/build/infinite-loading/apiHandlers/fetchStories.js.map +1 -0
  47. package/build/infinite-loading/apiHandlers/index.d.ts +2 -0
  48. package/build/infinite-loading/apiHandlers/index.js +8 -0
  49. package/build/infinite-loading/apiHandlers/index.js.map +1 -0
  50. package/build/infinite-loading/index.d.ts +5 -0
  51. package/build/infinite-loading/index.js +22 -0
  52. package/build/infinite-loading/index.js.map +1 -0
  53. package/build/infinite-loading/types.d.ts +5 -0
  54. package/build/infinite-loading/types.js +3 -0
  55. package/build/infinite-loading/types.js.map +1 -0
  56. package/build/infinite-loading/useInfiniteGalleriesLoading.d.ts +13 -0
  57. package/build/infinite-loading/useInfiniteGalleriesLoading.js +98 -0
  58. package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -0
  59. package/build/infinite-loading/useInfiniteLoading.d.ts +16 -0
  60. package/build/infinite-loading/useInfiniteLoading.js +115 -0
  61. package/build/infinite-loading/useInfiniteLoading.js.map +1 -0
  62. package/build/infinite-loading/useInfiniteStoriesLoading.d.ts +13 -0
  63. package/build/infinite-loading/useInfiniteStoriesLoading.js +116 -0
  64. package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -0
  65. package/package.json +6 -3
  66. package/src/components-nextjs/PageSeo/PageSeo.tsx +123 -0
  67. package/src/components-nextjs/PageSeo/index.ts +2 -0
  68. package/src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts +7 -0
  69. package/src/components-nextjs/PageSeo/lib/types.ts +4 -0
  70. package/src/components-nextjs/Sitemap/SitemapBuilder.ts +56 -0
  71. package/src/components-nextjs/Sitemap/createPaths.ts +21 -0
  72. package/src/components-nextjs/Sitemap/getInitialProps.ts +37 -0
  73. package/src/components-nextjs/Sitemap/index.ts +5 -0
  74. package/src/components-nextjs/Sitemap/types.ts +5 -0
  75. package/src/components-nextjs/StorySeo/StorySeo.tsx +68 -0
  76. package/src/components-nextjs/StorySeo/index.ts +1 -0
  77. package/src/components-nextjs/index.ts +3 -0
  78. package/src/index.ts +2 -0
  79. package/src/infinite-loading/apiHandlers/fetchGalleries.ts +24 -0
  80. package/src/infinite-loading/apiHandlers/fetchStories.ts +26 -0
  81. package/src/infinite-loading/apiHandlers/index.ts +2 -0
  82. package/src/infinite-loading/index.ts +5 -0
  83. package/src/infinite-loading/types.ts +5 -0
  84. package/src/infinite-loading/useInfiniteGalleriesLoading.ts +53 -0
  85. package/src/infinite-loading/useInfiniteLoading.ts +66 -0
  86. package/src/infinite-loading/useInfiniteStoriesLoading.ts +81 -0
package/README.md CHANGED
@@ -173,6 +173,36 @@ This function returns the combined base props and your additional props, with so
173
173
 
174
174
  The third argument is needed to properly handle locale redirects. It should contain the URL for the current page without locale prefixes (like `/`, `/media`, `/category/${category.slug}`. If omitted, the redirect logic will not be executing.
175
175
 
176
+ ### SEO Helper components
177
+
178
+ This library provides two components: [PageSeo](./tree/main/src/components-nextjs/PageSeo) and [StorySeo](./tree/main/src/components-nextjs/StorySeo), both based on the [next-seo](https://github.com/garmeeh/next-seo) library. They consume information from the `NewsroomContext` and provide all the necessary tags for your pages, with correct social preview, as well as JsonLD and OpenGraph data for your stories. You can also override the parameters for `PageSeo` component, these will be passed straight to `NextSeo` component. See the JSDoc comments on the exported components to get instructions on their usage.
179
+
180
+ ### Auto-generated Sitemap
181
+
182
+ This kit can also help you with building your Sitemap automatically. Here's what you need to get started:
183
+
184
+ 1. Create a sitemap page file: `/pages/sitemap.xml.ts`
185
+ 2. Use this code to display the default Sitemap built with your Newsroom stories:
186
+ ```ts
187
+ import type { NextPage } from 'next';
188
+ import { getSitemapInitialProps } from '@prezly/theme-kit-nextjs';
189
+
190
+ const Sitemap: NextPage = () => null;
191
+
192
+ Sitemap.getInitialProps = getSitemapInitialProps;
193
+
194
+ export default Sitemap;
195
+ ```
196
+
197
+ You can also add additional paths to the sitemap by passing them as a second argument to `getSitemapInitialProps`, like so:
198
+ ```ts
199
+ const additionalPaths = ['/my-custom-path'];
200
+
201
+ Sitemap.getInitialProps = (ctx: NextPageContext) => getSitemapInitialProps(ctx, additionalPaths);
202
+ ```
203
+
204
+ If you need a more customized approach, you can build your own Sitemap by extending the `SitemapBuilder` class exported from the library, as well as referring to the code in the [Sitemap](./tree/main/src/components-nextjs/Sitemap) component directory.
205
+
176
206
  ----
177
207
 
178
208
  ## What's next
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import type { NextSeoProps } from 'next-seo';
3
+ declare type Props = NextSeoProps & {
4
+ imageUrl?: string;
5
+ };
6
+ /**
7
+ * This component provides base page attributes for every Newsroom page.
8
+ * It depends on information from NewsroomContext, so the component should be placed inside the `NewsroomContextProvider`.
9
+ * You can pass additional props expected by NextSeo component to override any info that is provided by the NewsroomContext.
10
+ */
11
+ export declare function PageSeo({ title, description, imageUrl, canonical, openGraph, twitter, ...nextSeoProps }: Props): JSX.Element;
12
+ export {};
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.PageSeo = void 0;
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var next_seo_1 = require("next-seo");
28
+ var router_1 = require("next/router");
29
+ var react_1 = require("react");
30
+ var string_strip_html_1 = require("string-strip-html");
31
+ var data_fetching_1 = require("../../data-fetching");
32
+ var intl_1 = require("../../intl");
33
+ var newsroom_context_1 = require("../../newsroom-context");
34
+ var getAbsoluteUrl_1 = require("./lib/getAbsoluteUrl");
35
+ /**
36
+ * This component provides base page attributes for every Newsroom page.
37
+ * It depends on information from NewsroomContext, so the component should be placed inside the `NewsroomContextProvider`.
38
+ * You can pass additional props expected by NextSeo component to override any info that is provided by the NewsroomContext.
39
+ */
40
+ function PageSeo(_a) {
41
+ var title = _a.title, description = _a.description, imageUrl = _a.imageUrl, canonical = _a.canonical, openGraph = _a.openGraph, twitter = _a.twitter, nextSeoProps = __rest(_a, ["title", "description", "imageUrl", "canonical", "openGraph", "twitter"]);
42
+ var companyInformation = (0, newsroom_context_1.useCompanyInformation)();
43
+ var newsroom = (0, newsroom_context_1.useNewsroom)();
44
+ var currentLocale = (0, newsroom_context_1.useCurrentLocale)();
45
+ var languages = (0, newsroom_context_1.useLanguages)();
46
+ var getTranslationUrl = (0, newsroom_context_1.useGetTranslationUrl)();
47
+ var getLinkLocaleSlug = (0, newsroom_context_1.useGetLinkLocaleSlug)();
48
+ var currentStory = (0, newsroom_context_1.useCurrentStory)();
49
+ var asPath = (0, router_1.useRouter)().asPath;
50
+ var pageTitle = title || companyInformation.name;
51
+ var pageDescription = description || (0, string_strip_html_1.stripHtml)(companyInformation.about).result;
52
+ var canonicalUrl = canonical || (0, getAbsoluteUrl_1.getAbsoluteUrl)(asPath, newsroom.url, getLinkLocaleSlug(currentLocale));
53
+ var siteName = companyInformation.name;
54
+ var logoUrl = imageUrl || (0, data_fetching_1.getNewsroomLogoUrl)(newsroom);
55
+ var alternateLanguageLinks = (0, react_1.useMemo)(function () {
56
+ if (!languages.length) {
57
+ return [];
58
+ }
59
+ var alternateLanguages = (0, data_fetching_1.getUsedLanguages)(languages).filter(function (language) { return language.code !== currentLocale.toUnderscoreCode(); });
60
+ return alternateLanguages
61
+ .map(function (language) {
62
+ var locale = intl_1.LocaleObject.fromAnyCode(language.code);
63
+ var translationLink = getTranslationUrl(locale, true);
64
+ if (!translationLink) {
65
+ return undefined;
66
+ }
67
+ return {
68
+ hrefLang: locale.toHyphenCode(),
69
+ href: (0, getAbsoluteUrl_1.getAbsoluteUrl)(translationLink, newsroom.url, currentStory && translationLink !== '/' ? false : getLinkLocaleSlug(locale)),
70
+ };
71
+ })
72
+ .filter(Boolean);
73
+ }, [
74
+ currentLocale,
75
+ getLinkLocaleSlug,
76
+ getTranslationUrl,
77
+ languages,
78
+ newsroom.url,
79
+ currentStory,
80
+ ]);
81
+ return ((0, jsx_runtime_1.jsx)(next_seo_1.NextSeo, __assign({ title: pageTitle, description: pageDescription, canonical: canonicalUrl, openGraph: __assign({ url: canonicalUrl, title: pageTitle, description: pageDescription, locale: currentLocale.toUnderscoreCode(), images: [
82
+ {
83
+ url: logoUrl,
84
+ alt: pageTitle,
85
+ },
86
+ ], site_name: siteName }, openGraph), twitter: __assign({ site: siteName, cardType: 'summary' }, twitter), additionalMetaTags: [{ name: 'twitter:image', content: logoUrl }], languageAlternates: alternateLanguageLinks }, nextSeoProps), void 0));
87
+ }
88
+ exports.PageSeo = PageSeo;
89
+ //# sourceMappingURL=PageSeo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageSeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/PageSeo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { PageSeo } from './PageSeo';
2
+ export * from './lib/types';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PageSeo = void 0;
14
+ var PageSeo_1 = require("./PageSeo");
15
+ Object.defineProperty(exports, "PageSeo", { enumerable: true, get: function () { return PageSeo_1.PageSeo; } });
16
+ __exportStar(require("./lib/types"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,8CAA4B"}
@@ -0,0 +1 @@
1
+ export declare function getAbsoluteUrl(path: string, origin: string, localeCode?: string | false): string;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAbsoluteUrl = void 0;
4
+ // Returns absolute URL based on the path and without any query parameters
5
+ function getAbsoluteUrl(path, origin, localeCode) {
6
+ var url = new URL("".concat(localeCode ? "/".concat(localeCode) : '').concat(path || '/'), origin);
7
+ url.search = '';
8
+ return url.toString();
9
+ }
10
+ exports.getAbsoluteUrl = getAbsoluteUrl;
11
+ //# sourceMappingURL=getAbsoluteUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAbsoluteUrl.js","sourceRoot":"","sources":["../../../../src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,SAAgB,cAAc,CAAC,IAAY,EAAE,MAAc,EAAE,UAA2B;IACpF,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAG,UAAU,CAAC,CAAC,CAAC,WAAI,UAAU,CAAE,CAAC,CAAC,CAAC,EAAE,SAAG,IAAI,IAAI,GAAG,CAAE,EAAE,MAAM,CAAC,CAAC;IACnF,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AALD,wCAKC"}
@@ -0,0 +1,4 @@
1
+ export declare type AlternateLanguageLink = {
2
+ href: string;
3
+ hrefLang: string;
4
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components-nextjs/PageSeo/lib/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { SitemapUrl } from './types';
2
+ export declare class SitemapBuilder {
3
+ private baseUrl;
4
+ private urls;
5
+ constructor(baseUrl: string);
6
+ addUrl(location: string): void;
7
+ private static guessFrequency;
8
+ private static guessPriority;
9
+ static serializeLocation(url: SitemapUrl): string;
10
+ serialize(): string;
11
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SitemapBuilder = void 0;
4
+ var SitemapBuilder = /** @class */ (function () {
5
+ function SitemapBuilder(baseUrl) {
6
+ this.urls = [];
7
+ this.baseUrl = baseUrl;
8
+ }
9
+ SitemapBuilder.prototype.addUrl = function (location) {
10
+ this.urls.push({
11
+ location: this.baseUrl + location,
12
+ changeFrequency: SitemapBuilder.guessFrequency(location),
13
+ priority: SitemapBuilder.guessPriority(location),
14
+ });
15
+ };
16
+ SitemapBuilder.guessFrequency = function (location) {
17
+ if (location === '/')
18
+ return 'daily';
19
+ return 'weekly';
20
+ };
21
+ SitemapBuilder.guessPriority = function (location) {
22
+ if (location === '/')
23
+ return '0.9';
24
+ if (location.startsWith('/category/')) {
25
+ return '0.8';
26
+ }
27
+ return '0.7';
28
+ };
29
+ SitemapBuilder.serializeLocation = function (url) {
30
+ return [
31
+ '<url>',
32
+ url.location && "\t<loc>".concat(url.location, "</loc>"),
33
+ url.changeFrequency && "\t<changefreq>".concat(url.changeFrequency, "</changefreq>"),
34
+ url.priority && "\t<priority>".concat(url.priority, "</priority>"),
35
+ '</url>',
36
+ ]
37
+ .filter(Boolean)
38
+ .join('\n');
39
+ };
40
+ SitemapBuilder.prototype.serialize = function () {
41
+ return [
42
+ '<?xml version="1.0" encoding="UTF-8" ?>',
43
+ '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">',
44
+ this.urls.map(SitemapBuilder.serializeLocation).join('\n'),
45
+ '</urlset>',
46
+ ].join('\n');
47
+ };
48
+ return SitemapBuilder;
49
+ }());
50
+ exports.SitemapBuilder = SitemapBuilder;
51
+ //# sourceMappingURL=SitemapBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SitemapBuilder.js","sourceRoot":"","sources":["../../../src/components-nextjs/Sitemap/SitemapBuilder.ts"],"names":[],"mappings":";;;AAEA;IAKI,wBAAY,OAAe;QAFnB,SAAI,GAAiB,EAAE,CAAC;QAG5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,+BAAM,GAAb,UAAc,QAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,OAAO,GAAG,QAAQ;YACjC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC;YACxD,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC;SACnD,CAAC,CAAC;IACP,CAAC;IAEc,6BAAc,GAA7B,UAA8B,QAAgB;QAC1C,IAAI,QAAQ,KAAK,GAAG;YAAE,OAAO,OAAO,CAAC;QAErC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEc,4BAAa,GAA5B,UAA6B,QAAgB;QACzC,IAAI,QAAQ,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAEnC,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gCAAiB,GAAxB,UAAyB,GAAe;QACpC,OAAO;YACH,OAAO;YACP,GAAG,CAAC,QAAQ,IAAI,iBAAU,GAAG,CAAC,QAAQ,WAAQ;YAC9C,GAAG,CAAC,eAAe,IAAI,wBAAiB,GAAG,CAAC,eAAe,kBAAe;YAC1E,GAAG,CAAC,QAAQ,IAAI,sBAAe,GAAG,CAAC,QAAQ,gBAAa;YACxD,QAAQ;SACX;aACI,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,kCAAS,GAAT;QACI,OAAO;YACH,yCAAyC;YACzC,wLAAwL;YACxL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,WAAW;SACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACL,qBAAC;AAAD,CAAC,AArDD,IAqDC;AArDY,wCAAc"}
@@ -0,0 +1,2 @@
1
+ import type { Category, Story } from '@prezly/sdk';
2
+ export declare function createPaths(stories: Story[], categories: Category[]): string[];
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.createPaths = void 0;
29
+ function createPaths(stories, categories) {
30
+ var storiesUrls = stories.map(function (_a) {
31
+ var slug = _a.slug;
32
+ return "/".concat(slug);
33
+ });
34
+ var categoriesUrls = categories
35
+ .map(function (category) {
36
+ var translations = Object.values(category.i18n);
37
+ var allSlugs = translations
38
+ .map(function (_a) {
39
+ var slug = _a.slug;
40
+ return slug || '';
41
+ })
42
+ .filter(Boolean)
43
+ .reduce(function (slugs, slug) { return (slugs.includes(slug) ? __spreadArray([], __read(slugs), false) : __spreadArray(__spreadArray([], __read(slugs), false), [slug], false)); }, []);
44
+ return allSlugs.map(function (slug) { return "/category/".concat(slug); });
45
+ })
46
+ .flat();
47
+ return __spreadArray(__spreadArray([], __read(storiesUrls), false), __read(categoriesUrls), false);
48
+ }
49
+ exports.createPaths = createPaths;
50
+ //# sourceMappingURL=createPaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPaths.js","sourceRoot":"","sources":["../../../src/components-nextjs/Sitemap/createPaths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAgB,WAAW,CAAC,OAAgB,EAAE,UAAsB;IAChE,IAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,WAAI,IAAI,CAAE;IAAV,CAAU,CAAC,CAAC;IAC1D,IAAM,cAAc,GAAG,UAAU;SAC5B,GAAG,CAAC,UAAC,QAAQ;QACV,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,IAAM,QAAQ,GAAG,YAAY;aACxB,GAAG,CAAC,UAAC,EAAQ;gBAAN,IAAI,UAAA;YAAO,OAAA,IAAI,IAAI,EAAE;QAAV,CAAU,CAAC;aAC7B,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CACH,UAAC,KAAK,EAAE,IAAI,IAAK,OAAA,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAK,KAAK,UAAE,CAAC,wCAAK,KAAK,YAAE,IAAI,SAAC,CAAC,EAAtD,CAAsD,EACvE,EAAE,CACL,CAAC;QAEN,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,oBAAa,IAAI,CAAE,EAAnB,CAAmB,CAAC,CAAC;IACvD,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;IAEZ,8CAAW,WAAW,kBAAK,cAAc,UAAE;AAC/C,CAAC;AAlBD,kCAkBC"}
@@ -0,0 +1,2 @@
1
+ import type { NextPageContext } from 'next';
2
+ export declare function getInitialProps(ctx: NextPageContext, additionalPaths?: string[]): Promise<null>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getInitialProps = void 0;
40
+ var data_fetching_1 = require("../../data-fetching");
41
+ var createPaths_1 = require("./createPaths");
42
+ var SitemapBuilder_1 = require("./SitemapBuilder");
43
+ function getInitialProps(ctx, additionalPaths) {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ var res, req, baseUrl, api, stories, categories, paths, sitemapBuilder;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ res = ctx.res, req = ctx.req;
50
+ if (!req || !res) {
51
+ // client side
52
+ return [2 /*return*/, null];
53
+ }
54
+ baseUrl = req.headers.host || '/';
55
+ api = (0, data_fetching_1.getPrezlyApi)(req);
56
+ return [4 /*yield*/, api.getAllStories()];
57
+ case 1:
58
+ stories = _a.sent();
59
+ return [4 /*yield*/, api.getCategories()];
60
+ case 2:
61
+ categories = _a.sent();
62
+ paths = (0, createPaths_1.createPaths)(stories, categories);
63
+ sitemapBuilder = new SitemapBuilder_1.SitemapBuilder(baseUrl);
64
+ sitemapBuilder.addUrl('/');
65
+ paths.forEach(function (path) { return sitemapBuilder.addUrl(path); });
66
+ if (additionalPaths) {
67
+ additionalPaths.forEach(function (path) { return sitemapBuilder.addUrl(path); });
68
+ }
69
+ res.setHeader('Content-Type', 'text/xml');
70
+ res.write(sitemapBuilder.serialize());
71
+ res.end();
72
+ return [2 /*return*/, null];
73
+ }
74
+ });
75
+ });
76
+ }
77
+ exports.getInitialProps = getInitialProps;
78
+ //# sourceMappingURL=getInitialProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInitialProps.js","sourceRoot":"","sources":["../../../src/components-nextjs/Sitemap/getInitialProps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qDAAmD;AAEnD,6CAA4C;AAC5C,mDAAkD;AAElD,SAAsB,eAAe,CAAC,GAAoB,EAAE,eAA0B;;;;;;oBAC1E,GAAG,GAAU,GAAG,IAAb,EAAE,GAAG,GAAK,GAAG,IAAR,CAAS;oBAEzB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;wBACd,cAAc;wBACd,sBAAO,IAAI,EAAC;qBACf;oBAEK,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC;oBAElC,GAAG,GAAG,IAAA,4BAAY,EAAC,GAAG,CAAC,CAAC;oBACd,qBAAM,GAAG,CAAC,aAAa,EAAE,EAAA;;oBAAnC,OAAO,GAAG,SAAyB;oBACtB,qBAAM,GAAG,CAAC,aAAa,EAAE,EAAA;;oBAAtC,UAAU,GAAG,SAAyB;oBAEtC,KAAK,GAAG,IAAA,yBAAW,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBACzC,cAAc,GAAG,IAAI,+BAAc,CAAC,OAAO,CAAC,CAAC;oBAEnD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3B,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;oBAErD,IAAI,eAAe,EAAE;wBACjB,eAAe,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;qBAClE;oBAED,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;oBAC1C,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;oBACtC,GAAG,CAAC,GAAG,EAAE,CAAC;oBAEV,sBAAO,IAAI,EAAC;;;;CACf;AA7BD,0CA6BC"}
@@ -0,0 +1,4 @@
1
+ export { getInitialProps as getSitemapInitialProps } from './getInitialProps';
2
+ export { SitemapBuilder } from './SitemapBuilder';
3
+ export { createPaths } from './createPaths';
4
+ export * from './types';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.createPaths = exports.SitemapBuilder = exports.getSitemapInitialProps = void 0;
14
+ var getInitialProps_1 = require("./getInitialProps");
15
+ Object.defineProperty(exports, "getSitemapInitialProps", { enumerable: true, get: function () { return getInitialProps_1.getInitialProps; } });
16
+ var SitemapBuilder_1 = require("./SitemapBuilder");
17
+ Object.defineProperty(exports, "SitemapBuilder", { enumerable: true, get: function () { return SitemapBuilder_1.SitemapBuilder; } });
18
+ var createPaths_1 = require("./createPaths");
19
+ Object.defineProperty(exports, "createPaths", { enumerable: true, get: function () { return createPaths_1.createPaths; } });
20
+ __exportStar(require("./types"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components-nextjs/Sitemap/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qDAA8E;AAArE,yHAAA,eAAe,OAA0B;AAElD,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,0CAAwB"}
@@ -0,0 +1,5 @@
1
+ export declare type SitemapUrl = {
2
+ location: string;
3
+ changeFrequency?: string;
4
+ priority?: string;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components-nextjs/Sitemap/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import type { ExtendedStory } from '@prezly/sdk';
3
+ declare type Props = {
4
+ story: ExtendedStory;
5
+ };
6
+ /**
7
+ * This components provides additional page attributes for the Story page.
8
+ * It works in conjunction with `PageSeo` component, overidding some of its attributes.
9
+ */
10
+ export declare function StorySeo({ story }: Props): JSX.Element;
11
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.StorySeo = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var next_seo_1 = require("next-seo");
17
+ /**
18
+ * This components provides additional page attributes for the Story page.
19
+ * It works in conjunction with `PageSeo` component, overidding some of its attributes.
20
+ */
21
+ function StorySeo(_a) {
22
+ var story = _a.story;
23
+ var title = story.title, subtitle = story.subtitle, published_at = story.published_at, updated_at = story.updated_at, author = story.author, oembed = story.oembed, newsroom = story.newsroom, summary = story.summary;
24
+ var authorName = (author === null || author === void 0 ? void 0 : author.display_name) || (author === null || author === void 0 ? void 0 : author.email) || 'Unknown';
25
+ var description = subtitle || summary;
26
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(next_seo_1.NextSeo, { title: title, description: description, canonical: oembed.url, openGraph: __assign({ title: title, description: description, url: oembed.url, site_name: newsroom.display_name, type: 'article', article: {
27
+ publishedTime: published_at || undefined,
28
+ modifiedTime: updated_at,
29
+ authors: [authorName],
30
+ } }, (oembed.thumbnail_url && {
31
+ images: [
32
+ {
33
+ url: oembed.thumbnail_url,
34
+ alt: oembed.title,
35
+ width: oembed.thumbnail_width,
36
+ height: oembed.thumbnail_height,
37
+ },
38
+ ],
39
+ })), additionalMetaTags: oembed.thumbnail_url
40
+ ? [
41
+ { name: 'twitter:card', content: 'summary_large_image' },
42
+ { name: 'twitter:image', content: oembed.thumbnail_url },
43
+ ]
44
+ : undefined }, void 0), (0, jsx_runtime_1.jsx)(next_seo_1.ArticleJsonLd, { url: oembed.url, title: title, images: oembed.thumbnail_url ? [oembed.thumbnail_url] : [], datePublished: published_at || '', dateModified: updated_at, authorName: [authorName], publisherName: newsroom.display_name, publisherLogo: newsroom.thumbnail_url, description: description }, void 0)] }, void 0));
45
+ }
46
+ exports.StorySeo = StorySeo;
47
+ //# sourceMappingURL=StorySeo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorySeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/StorySeo/StorySeo.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,qCAAkD;AAMlD;;;GAGG;AACH,SAAgB,QAAQ,CAAC,EAAgB;QAAd,KAAK,WAAA;IACpB,IAAA,KAAK,GAA4E,KAAK,MAAjF,EAAE,QAAQ,GAAkE,KAAK,SAAvE,EAAE,YAAY,GAAoD,KAAK,aAAzD,EAAE,UAAU,GAAwC,KAAK,WAA7C,EAAE,MAAM,GAAgC,KAAK,OAArC,EAAE,MAAM,GAAwB,KAAK,OAA7B,EAAE,QAAQ,GAAc,KAAK,SAAnB,EAAE,OAAO,GAAK,KAAK,QAAV,CAAW;IAE/F,IAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,IAAI,SAAS,CAAC;IACtE,IAAM,WAAW,GAAG,QAAQ,IAAI,OAAO,CAAC;IAExC,OAAO,CACH,6DACI,uBAAC,kBAAO,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,SAAS,aACL,KAAK,OAAA,EACL,WAAW,aAAA,EACX,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,SAAS,EAAE,QAAQ,CAAC,YAAY,EAChC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE;wBACL,aAAa,EAAE,YAAY,IAAI,SAAS;wBACxC,YAAY,EAAE,UAAU;wBACxB,OAAO,EAAE,CAAC,UAAU,CAAC;qBACxB,IACE,CAAC,MAAM,CAAC,aAAa,IAAI;oBACxB,MAAM,EAAE;wBACJ;4BACI,GAAG,EAAE,MAAM,CAAC,aAAa;4BACzB,GAAG,EAAE,MAAM,CAAC,KAAK;4BACjB,KAAK,EAAE,MAAM,CAAC,eAAe;4BAC7B,MAAM,EAAE,MAAM,CAAC,gBAAgB;yBAClC;qBACJ;iBACJ,CAAC,GAEN,kBAAkB,EACd,MAAM,CAAC,aAAa;oBAChB,CAAC,CAAC;wBACI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE;wBACxD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE;qBAC3D;oBACH,CAAC,CAAC,SAAS,WAErB,EACF,uBAAC,wBAAa,IACV,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1D,aAAa,EAAE,YAAY,IAAI,EAAE,EACjC,YAAY,EAAE,UAAU,EACxB,UAAU,EAAE,CAAC,UAAU,CAAC,EACxB,aAAa,EAAE,QAAQ,CAAC,YAAY,EACpC,aAAa,EAAE,QAAQ,CAAC,aAAa,EACrC,WAAW,EAAE,WAAW,WAC1B,YACH,CACN,CAAC;AACN,CAAC;AAxDD,4BAwDC"}
@@ -0,0 +1 @@
1
+ export { StorySeo } from './StorySeo';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorySeo = void 0;
4
+ var StorySeo_1 = require("./StorySeo");
5
+ Object.defineProperty(exports, "StorySeo", { enumerable: true, get: function () { return StorySeo_1.StorySeo; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components-nextjs/StorySeo/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
@@ -0,0 +1,3 @@
1
+ export { PageSeo } from './PageSeo';
2
+ export * from './Sitemap';
3
+ export { StorySeo } from './StorySeo';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.StorySeo = exports.PageSeo = void 0;
14
+ var PageSeo_1 = require("./PageSeo");
15
+ Object.defineProperty(exports, "PageSeo", { enumerable: true, get: function () { return PageSeo_1.PageSeo; } });
16
+ __exportStar(require("./Sitemap"), exports);
17
+ var StorySeo_1 = require("./StorySeo");
18
+ Object.defineProperty(exports, "StorySeo", { enumerable: true, get: function () { return StorySeo_1.StorySeo; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components-nextjs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,4CAA0B;AAC1B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
package/build/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './adapter-nextjs';
2
+ export * from './components-nextjs';
2
3
  export * from './data-fetching';
4
+ export * from './infinite-loading';
3
5
  export * from './intl';
4
6
  export * from './newsroom-context';
5
7
  export * from './types';
package/build/index.js CHANGED
@@ -11,7 +11,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./adapter-nextjs"), exports);
14
+ __exportStar(require("./components-nextjs"), exports);
14
15
  __exportStar(require("./data-fetching"), exports);
16
+ __exportStar(require("./infinite-loading"), exports);
15
17
  __exportStar(require("./intl"), exports);
16
18
  __exportStar(require("./newsroom-context"), exports);
17
19
  __exportStar(require("./types"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,yCAAuB;AACvB,qDAAmC;AACnC,0CAAwB"}
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,0CAAwB"}
@@ -0,0 +1,2 @@
1
+ import type { NextApiRequest, NextApiResponse } from 'next';
2
+ export declare function fetchGalleries(req: NextApiRequest, res: NextApiResponse): Promise<void>;