@prezly/theme-kit-nextjs 1.6.2 → 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 (95) hide show
  1. package/README.md +30 -0
  2. package/build/adapter-nextjs/processRequest.js +3 -1
  3. package/build/adapter-nextjs/processRequest.js.map +1 -1
  4. package/build/components-nextjs/PageSeo/PageSeo.d.ts +12 -0
  5. package/build/components-nextjs/PageSeo/PageSeo.js +89 -0
  6. package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -0
  7. package/build/components-nextjs/PageSeo/index.d.ts +2 -0
  8. package/build/components-nextjs/PageSeo/index.js +17 -0
  9. package/build/components-nextjs/PageSeo/index.js.map +1 -0
  10. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.d.ts +1 -0
  11. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +11 -0
  12. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -0
  13. package/build/components-nextjs/PageSeo/lib/types.d.ts +4 -0
  14. package/build/components-nextjs/PageSeo/lib/types.js +3 -0
  15. package/build/components-nextjs/PageSeo/lib/types.js.map +1 -0
  16. package/build/components-nextjs/Sitemap/SitemapBuilder.d.ts +11 -0
  17. package/build/components-nextjs/Sitemap/SitemapBuilder.js +51 -0
  18. package/build/components-nextjs/Sitemap/SitemapBuilder.js.map +1 -0
  19. package/build/components-nextjs/Sitemap/createPaths.d.ts +2 -0
  20. package/build/components-nextjs/Sitemap/createPaths.js +50 -0
  21. package/build/components-nextjs/Sitemap/createPaths.js.map +1 -0
  22. package/build/components-nextjs/Sitemap/getInitialProps.d.ts +2 -0
  23. package/build/components-nextjs/Sitemap/getInitialProps.js +78 -0
  24. package/build/components-nextjs/Sitemap/getInitialProps.js.map +1 -0
  25. package/build/components-nextjs/Sitemap/index.d.ts +4 -0
  26. package/build/components-nextjs/Sitemap/index.js +21 -0
  27. package/build/components-nextjs/Sitemap/index.js.map +1 -0
  28. package/build/components-nextjs/Sitemap/types.d.ts +5 -0
  29. package/build/components-nextjs/Sitemap/types.js +3 -0
  30. package/build/components-nextjs/Sitemap/types.js.map +1 -0
  31. package/build/components-nextjs/StorySeo/StorySeo.d.ts +11 -0
  32. package/build/components-nextjs/StorySeo/StorySeo.js +47 -0
  33. package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -0
  34. package/build/components-nextjs/StorySeo/index.d.ts +1 -0
  35. package/build/components-nextjs/StorySeo/index.js +6 -0
  36. package/build/components-nextjs/StorySeo/index.js.map +1 -0
  37. package/build/components-nextjs/index.d.ts +3 -0
  38. package/build/components-nextjs/index.js +19 -0
  39. package/build/components-nextjs/index.js.map +1 -0
  40. package/build/data-fetching/lib/getEnvVariables.d.ts +1 -1
  41. package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
  42. package/build/index.d.ts +2 -0
  43. package/build/index.js +2 -0
  44. package/build/index.js.map +1 -1
  45. package/build/infinite-loading/apiHandlers/fetchGalleries.d.ts +2 -0
  46. package/build/infinite-loading/apiHandlers/fetchGalleries.js +73 -0
  47. package/build/infinite-loading/apiHandlers/fetchGalleries.js.map +1 -0
  48. package/build/infinite-loading/apiHandlers/fetchStories.d.ts +2 -0
  49. package/build/infinite-loading/apiHandlers/fetchStories.js +75 -0
  50. package/build/infinite-loading/apiHandlers/fetchStories.js.map +1 -0
  51. package/build/infinite-loading/apiHandlers/index.d.ts +2 -0
  52. package/build/infinite-loading/apiHandlers/index.js +8 -0
  53. package/build/infinite-loading/apiHandlers/index.js.map +1 -0
  54. package/build/infinite-loading/index.d.ts +5 -0
  55. package/build/infinite-loading/index.js +22 -0
  56. package/build/infinite-loading/index.js.map +1 -0
  57. package/build/infinite-loading/types.d.ts +5 -0
  58. package/build/infinite-loading/types.js +3 -0
  59. package/build/infinite-loading/types.js.map +1 -0
  60. package/build/infinite-loading/useInfiniteGalleriesLoading.d.ts +13 -0
  61. package/build/infinite-loading/useInfiniteGalleriesLoading.js +98 -0
  62. package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -0
  63. package/build/infinite-loading/useInfiniteLoading.d.ts +16 -0
  64. package/build/infinite-loading/useInfiniteLoading.js +115 -0
  65. package/build/infinite-loading/useInfiniteLoading.js.map +1 -0
  66. package/build/infinite-loading/useInfiniteStoriesLoading.d.ts +13 -0
  67. package/build/infinite-loading/useInfiniteStoriesLoading.js +116 -0
  68. package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -0
  69. package/build/intl/locale.js +4 -3
  70. package/build/intl/locale.js.map +1 -1
  71. package/package.json +6 -3
  72. package/src/adapter-nextjs/processRequest.ts +3 -1
  73. package/src/components-nextjs/PageSeo/PageSeo.tsx +123 -0
  74. package/src/components-nextjs/PageSeo/index.ts +2 -0
  75. package/src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts +7 -0
  76. package/src/components-nextjs/PageSeo/lib/types.ts +4 -0
  77. package/src/components-nextjs/Sitemap/SitemapBuilder.ts +56 -0
  78. package/src/components-nextjs/Sitemap/createPaths.ts +21 -0
  79. package/src/components-nextjs/Sitemap/getInitialProps.ts +37 -0
  80. package/src/components-nextjs/Sitemap/index.ts +5 -0
  81. package/src/components-nextjs/Sitemap/types.ts +5 -0
  82. package/src/components-nextjs/StorySeo/StorySeo.tsx +68 -0
  83. package/src/components-nextjs/StorySeo/index.ts +1 -0
  84. package/src/components-nextjs/index.ts +3 -0
  85. package/src/data-fetching/lib/getEnvVariables.ts +5 -3
  86. package/src/index.ts +2 -0
  87. package/src/infinite-loading/apiHandlers/fetchGalleries.ts +24 -0
  88. package/src/infinite-loading/apiHandlers/fetchStories.ts +26 -0
  89. package/src/infinite-loading/apiHandlers/index.ts +2 -0
  90. package/src/infinite-loading/index.ts +5 -0
  91. package/src/infinite-loading/types.ts +5 -0
  92. package/src/infinite-loading/useInfiniteGalleriesLoading.ts +53 -0
  93. package/src/infinite-loading/useInfiniteLoading.ts +66 -0
  94. package/src/infinite-loading/useInfiniteStoriesLoading.ts +81 -0
  95. package/src/intl/locale.ts +5 -4
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>;
@@ -0,0 +1,73 @@
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.fetchGalleries = void 0;
40
+ var data_fetching_1 = require("../../data-fetching");
41
+ function fetchGalleries(req, res) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var _a, page, pageSize, api, galleries, error_1;
44
+ return __generator(this, function (_b) {
45
+ switch (_b.label) {
46
+ case 0:
47
+ if (req.method !== 'POST') {
48
+ res.status(405);
49
+ return [2 /*return*/];
50
+ }
51
+ _a = req.body, page = _a.page, pageSize = _a.pageSize;
52
+ _b.label = 1;
53
+ case 1:
54
+ _b.trys.push([1, 3, , 4]);
55
+ api = (0, data_fetching_1.getPrezlyApi)(req);
56
+ return [4 /*yield*/, api.getGalleries({ page: page, pageSize: pageSize })];
57
+ case 2:
58
+ galleries = (_b.sent()).galleries;
59
+ res.status(200).json({ galleries: galleries });
60
+ return [3 /*break*/, 4];
61
+ case 3:
62
+ error_1 = _b.sent();
63
+ res.status(500).send({
64
+ message: error_1.message,
65
+ });
66
+ return [3 /*break*/, 4];
67
+ case 4: return [2 /*return*/];
68
+ }
69
+ });
70
+ });
71
+ }
72
+ exports.fetchGalleries = fetchGalleries;
73
+ //# sourceMappingURL=fetchGalleries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchGalleries.js","sourceRoot":"","sources":["../../../src/infinite-loading/apiHandlers/fetchGalleries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qDAAmD;AAEnD,SAAsB,cAAc,CAAC,GAAmB,EAAE,GAAoB;;;;;;oBAC1E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;wBACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,sBAAO;qBACV;oBAEK,KAAqB,GAAG,CAAC,IAAI,EAA3B,IAAI,UAAA,EAAE,QAAQ,cAAA,CAAc;;;;oBAG1B,GAAG,GAAG,IAAA,4BAAY,EAAC,GAAG,CAAC,CAAC;oBAER,qBAAM,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;oBAAxD,SAAS,GAAK,CAAA,SAA0C,CAAA,UAA/C;oBAEjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;;;;oBAEpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACjB,OAAO,EAAG,OAAe,CAAC,OAAO;qBACpC,CAAC,CAAC;;;;;;CAEV;AAnBD,wCAmBC"}
@@ -0,0 +1,2 @@
1
+ import type { NextApiRequest, NextApiResponse } from 'next';
2
+ export declare function fetchStories(req: NextApiRequest, res: NextApiResponse): Promise<void>;
@@ -0,0 +1,75 @@
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.fetchStories = void 0;
40
+ var data_fetching_1 = require("../../data-fetching");
41
+ function fetchStories(req, res) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var _a, page, pageSize, category, include, localeCode, api, stories, error_1;
44
+ return __generator(this, function (_b) {
45
+ switch (_b.label) {
46
+ case 0:
47
+ if (req.method !== 'POST') {
48
+ res.status(405);
49
+ return [2 /*return*/];
50
+ }
51
+ _a = req.body, page = _a.page, pageSize = _a.pageSize, category = _a.category, include = _a.include, localeCode = _a.localeCode;
52
+ _b.label = 1;
53
+ case 1:
54
+ _b.trys.push([1, 3, , 4]);
55
+ api = (0, data_fetching_1.getPrezlyApi)(req);
56
+ return [4 /*yield*/, (category
57
+ ? api.getStoriesFromCategory(category, { page: page, pageSize: pageSize, include: include, localeCode: localeCode })
58
+ : api.getStories({ page: page, pageSize: pageSize, include: include, localeCode: localeCode }))];
59
+ case 2:
60
+ stories = (_b.sent()).stories;
61
+ res.status(200).json({ stories: stories });
62
+ return [3 /*break*/, 4];
63
+ case 3:
64
+ error_1 = _b.sent();
65
+ res.status(500).send({
66
+ message: error_1.message,
67
+ });
68
+ return [3 /*break*/, 4];
69
+ case 4: return [2 /*return*/];
70
+ }
71
+ });
72
+ });
73
+ }
74
+ exports.fetchStories = fetchStories;
75
+ //# sourceMappingURL=fetchStories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchStories.js","sourceRoot":"","sources":["../../../src/infinite-loading/apiHandlers/fetchStories.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qDAAmD;AAEnD,SAAsB,YAAY,CAAC,GAAmB,EAAE,GAAoB;;;;;;oBACxE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;wBACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,sBAAO;qBACV;oBAEK,KAAoD,GAAG,CAAC,IAAI,EAA1D,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA,CAAc;;;;oBAGzD,GAAG,GAAG,IAAA,4BAAY,EAAC,GAAG,CAAC,CAAC;oBAEV,qBAAM,CAAC,QAAQ;4BAC/B,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,CAAC;4BAC/E,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC,EAAA;;oBAFtD,OAAO,GAAK,CAAA,SAE0C,CAAA,QAF/C;oBAIf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;;;;oBAElC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACjB,OAAO,EAAG,OAAe,CAAC,OAAO;qBACpC,CAAC,CAAC;;;;;;CAEV;AArBD,oCAqBC"}
@@ -0,0 +1,2 @@
1
+ export { fetchGalleries } from './fetchGalleries';
2
+ export { fetchStories } from './fetchStories';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchStories = exports.fetchGalleries = void 0;
4
+ var fetchGalleries_1 = require("./fetchGalleries");
5
+ Object.defineProperty(exports, "fetchGalleries", { enumerable: true, get: function () { return fetchGalleries_1.fetchGalleries; } });
6
+ var fetchStories_1 = require("./fetchStories");
7
+ Object.defineProperty(exports, "fetchStories", { enumerable: true, get: function () { return fetchStories_1.fetchStories; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infinite-loading/apiHandlers/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
@@ -0,0 +1,5 @@
1
+ export { useInfiniteLoading } from './useInfiniteLoading';
2
+ export { useInfiniteStoriesLoading } from './useInfiniteStoriesLoading';
3
+ export { useInfiniteGalleriesLoading } from './useInfiniteGalleriesLoading';
4
+ export * from './apiHandlers';
5
+ export * from './types';
@@ -0,0 +1,22 @@
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.useInfiniteGalleriesLoading = exports.useInfiniteStoriesLoading = exports.useInfiniteLoading = void 0;
14
+ var useInfiniteLoading_1 = require("./useInfiniteLoading");
15
+ Object.defineProperty(exports, "useInfiniteLoading", { enumerable: true, get: function () { return useInfiniteLoading_1.useInfiniteLoading; } });
16
+ var useInfiniteStoriesLoading_1 = require("./useInfiniteStoriesLoading");
17
+ Object.defineProperty(exports, "useInfiniteStoriesLoading", { enumerable: true, get: function () { return useInfiniteStoriesLoading_1.useInfiniteStoriesLoading; } });
18
+ var useInfiniteGalleriesLoading_1 = require("./useInfiniteGalleriesLoading");
19
+ Object.defineProperty(exports, "useInfiniteGalleriesLoading", { enumerable: true, get: function () { return useInfiniteGalleriesLoading_1.useInfiniteGalleriesLoading; } });
20
+ __exportStar(require("./apiHandlers"), exports);
21
+ __exportStar(require("./types"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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,gDAA8B;AAC9B,0CAAwB"}
@@ -0,0 +1,5 @@
1
+ export interface PaginationProps {
2
+ itemsTotal: number;
3
+ currentPage: number;
4
+ pageSize: number;
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/infinite-loading/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { NewsroomGallery } from '@prezly/sdk';
2
+ import type { PaginationProps } from './types';
3
+ /**
4
+ * NOTE: This hook depends on the presence of a Next API route (/api/fetch-galleries)!
5
+ * The handler for this route is exported from `apiHandlers/fetchGalleries.ts` file.
6
+ * See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/media/index.tsx#L23 for usage example
7
+ */
8
+ export declare function useInfiniteGalleriesLoading(initialGalleries: NewsroomGallery[], pagination: PaginationProps): {
9
+ canLoadMore: boolean;
10
+ galleries: NewsroomGallery[];
11
+ isLoading: boolean;
12
+ loadMoreGalleries: () => void;
13
+ };
@@ -0,0 +1,98 @@
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.useInfiniteGalleriesLoading = void 0;
40
+ var useInfiniteLoading_1 = require("./useInfiniteLoading");
41
+ function fetchGalleries(page, pageSize) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var result, message;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0: return [4 /*yield*/, fetch('/api/fetch-galleries', {
47
+ method: 'POST',
48
+ headers: {
49
+ 'Content-Type': 'application/json',
50
+ },
51
+ body: JSON.stringify({
52
+ page: page,
53
+ pageSize: pageSize,
54
+ }),
55
+ })];
56
+ case 1:
57
+ result = _a.sent();
58
+ if (!!result.ok) return [3 /*break*/, 3];
59
+ return [4 /*yield*/, result.json()];
60
+ case 2:
61
+ message = (_a.sent()).message;
62
+ throw new Error(message);
63
+ case 3: return [2 /*return*/, result.json()];
64
+ }
65
+ });
66
+ });
67
+ }
68
+ /**
69
+ * NOTE: This hook depends on the presence of a Next API route (/api/fetch-galleries)!
70
+ * The handler for this route is exported from `apiHandlers/fetchGalleries.ts` file.
71
+ * See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/media/index.tsx#L23 for usage example
72
+ */
73
+ function useInfiniteGalleriesLoading(initialGalleries, pagination) {
74
+ var _this = this;
75
+ var _a = (0, useInfiniteLoading_1.useInfiniteLoading)({
76
+ fetchingFn: function (nextPage, pageSize) { return __awaiter(_this, void 0, void 0, function () {
77
+ var galleries;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0: return [4 /*yield*/, fetchGalleries(nextPage, pageSize)];
81
+ case 1:
82
+ galleries = (_a.sent()).galleries;
83
+ return [2 /*return*/, galleries];
84
+ }
85
+ });
86
+ }); },
87
+ initialData: initialGalleries,
88
+ pagination: pagination,
89
+ }), canLoadMore = _a.canLoadMore, data = _a.data, isLoading = _a.isLoading, loadMore = _a.loadMore;
90
+ return {
91
+ canLoadMore: canLoadMore,
92
+ galleries: data,
93
+ isLoading: isLoading,
94
+ loadMoreGalleries: loadMore,
95
+ };
96
+ }
97
+ exports.useInfiniteGalleriesLoading = useInfiniteGalleriesLoading;
98
+ //# sourceMappingURL=useInfiniteGalleriesLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInfiniteGalleriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteGalleriesLoading.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,2DAA0D;AAE1D,SAAe,cAAc,CACzB,IAAY,EACZ,QAAgB;;;;;wBAED,qBAAM,KAAK,CAAC,sBAAsB,EAAE;wBAC/C,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACL,cAAc,EAAE,kBAAkB;yBACrC;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACjB,IAAI,MAAA;4BACJ,QAAQ,UAAA;yBACX,CAAC;qBACL,CAAC,EAAA;;oBATI,MAAM,GAAG,SASb;yBAEE,CAAC,MAAM,CAAC,EAAE,EAAV,wBAAU;oBACU,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;;oBAA/B,OAAO,GAAK,CAAA,SAAmB,CAAA,QAAxB;oBACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;wBAG7B,sBAAO,MAAM,CAAC,IAAI,EAAE,EAAC;;;;CACxB;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CACvC,gBAAmC,EACnC,UAA2B;IAF/B,iBAmBC;IAfS,IAAA,KAA6C,IAAA,uCAAkB,EAAkB;QACnF,UAAU,EAAE,UAAO,QAAQ,EAAE,QAAQ;;;;4BACX,qBAAM,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAA;;wBAAtD,SAAS,GAAK,CAAA,SAAwC,CAAA,UAA7C;wBACjB,sBAAO,SAAS,EAAC;;;aACpB;QACD,WAAW,EAAE,gBAAgB;QAC7B,UAAU,YAAA;KACb,CAAC,EAPM,WAAW,iBAAA,EAAE,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAO5C,CAAC;IAEH,OAAO;QACH,WAAW,aAAA;QACX,SAAS,EAAE,IAAI;QACf,SAAS,WAAA;QACT,iBAAiB,EAAE,QAAQ;KAC9B,CAAC;AACN,CAAC;AAnBD,kEAmBC"}
@@ -0,0 +1,16 @@
1
+ import type { PaginationProps } from './types';
2
+ interface Parameters<T> {
3
+ fetchingFn: (page: number, pageSize: number) => Promise<T[]>;
4
+ initialData: T[];
5
+ pagination: PaginationProps;
6
+ }
7
+ interface State<T> {
8
+ canLoadMore: boolean;
9
+ currentPage: number;
10
+ data: T[];
11
+ isLoading: boolean;
12
+ loadMore: () => void;
13
+ resetData: () => void;
14
+ }
15
+ export declare function useInfiniteLoading<T>({ fetchingFn, initialData, pagination, }: Parameters<T>): State<T>;
16
+ export {};
@@ -0,0 +1,115 @@
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
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
+ if (ar || !(i in from)) {
57
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
+ ar[i] = from[i];
59
+ }
60
+ }
61
+ return to.concat(ar || Array.prototype.slice.call(from));
62
+ };
63
+ Object.defineProperty(exports, "__esModule", { value: true });
64
+ exports.useInfiniteLoading = void 0;
65
+ var web_1 = require("@react-hookz/web");
66
+ var react_1 = require("react");
67
+ function useInfiniteLoading(_a) {
68
+ var _this = this;
69
+ var fetchingFn = _a.fetchingFn, initialData = _a.initialData, pagination = _a.pagination;
70
+ var _b = __read((0, react_1.useState)(initialData), 2), data = _b[0], setData = _b[1];
71
+ var _c = __read((0, react_1.useState)(pagination.currentPage), 2), currentPage = _c[0], setCurrentPage = _c[1];
72
+ var itemsTotal = pagination.itemsTotal, pageSize = pagination.pageSize;
73
+ var pagesTotal = Math.ceil(itemsTotal / pageSize);
74
+ var canLoadMore = currentPage < pagesTotal;
75
+ var _d = __read((0, web_1.useAsync)(function () { return __awaiter(_this, void 0, void 0, function () {
76
+ var nextPage, newData;
77
+ return __generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0:
80
+ nextPage = currentPage + 1;
81
+ return [4 /*yield*/, fetchingFn(nextPage, pageSize)];
82
+ case 1:
83
+ newData = _a.sent();
84
+ setCurrentPage(nextPage);
85
+ setData(function (currentData) { return __spreadArray(__spreadArray([], __read(currentData), false), __read(newData), false); });
86
+ return [2 /*return*/];
87
+ }
88
+ });
89
+ }); }), 2), _e = _d[0], error = _e.error, status = _e.status, loadMoreFn = _d[1].execute;
90
+ var loadMore = (0, react_1.useCallback)(function () {
91
+ if (canLoadMore) {
92
+ loadMoreFn();
93
+ }
94
+ }, [canLoadMore, loadMoreFn]);
95
+ var resetData = (0, react_1.useCallback)(function () {
96
+ setData(initialData);
97
+ setCurrentPage(pagination.currentPage);
98
+ }, [pagination.currentPage, initialData]);
99
+ (0, react_1.useEffect)(function () {
100
+ if (error) {
101
+ // eslint-disable-next-line no-console
102
+ console.error(error);
103
+ }
104
+ }, [error]);
105
+ return {
106
+ canLoadMore: canLoadMore,
107
+ currentPage: currentPage,
108
+ data: data,
109
+ isLoading: status === 'loading',
110
+ loadMore: loadMore,
111
+ resetData: resetData,
112
+ };
113
+ }
114
+ exports.useInfiniteLoading = useInfiniteLoading;
115
+ //# sourceMappingURL=useInfiniteLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInfiniteLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteLoading.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA4C;AAC5C,+BAAyD;AAmBzD,SAAgB,kBAAkB,CAAI,EAItB;IAJhB,iBA6CC;QA5CG,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,UAAU,gBAAA;IAEJ,IAAA,KAAA,OAAkB,IAAA,gBAAQ,EAAM,WAAW,CAAC,IAAA,EAA3C,IAAI,QAAA,EAAE,OAAO,QAA8B,CAAC;IAC7C,IAAA,KAAA,OAAgC,IAAA,gBAAQ,EAAC,UAAU,CAAC,WAAW,CAAC,IAAA,EAA/D,WAAW,QAAA,EAAE,cAAc,QAAoC,CAAC;IAE/D,IAAA,UAAU,GAAe,UAAU,WAAzB,EAAE,QAAQ,GAAK,UAAU,SAAf,CAAgB;IAC5C,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACpD,IAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IAEvC,IAAA,KAAA,OAA+C,IAAA,cAAQ,EAAC;;;;;oBACpD,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;oBACjB,qBAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAA;;oBAA9C,OAAO,GAAG,SAAoC;oBACpD,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACzB,OAAO,CAAC,UAAC,WAAW,IAAK,8CAAI,WAAW,kBAAK,OAAO,WAA3B,CAA4B,CAAC,CAAC;;;;SAC1D,CAAC,IAAA,EALK,UAAiB,EAAf,KAAK,WAAA,EAAE,MAAM,YAAA,EAAe,UAAU,gBAK7C,CAAC;IAEH,IAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC;QACzB,IAAI,WAAW,EAAE;YACb,UAAU,EAAE,CAAC;SAChB;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9B,IAAM,SAAS,GAAG,IAAA,mBAAW,EAAC;QAC1B,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;QACN,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,aAAA;QACX,WAAW,aAAA;QACX,IAAI,MAAA;QACJ,SAAS,EAAE,MAAM,KAAK,SAAS;QAC/B,QAAQ,UAAA;QACR,SAAS,WAAA;KACZ,CAAC;AACN,CAAC;AA7CD,gDA6CC"}
@@ -0,0 +1,13 @@
1
+ import type { Category, ExtraStoryFields, Story } from '@prezly/sdk';
2
+ import type { PaginationProps } from './types';
3
+ /**
4
+ * NOTE: This hook depends on the presence of a Next API route (/api/fetch-stories)!
5
+ * The handler for this route is exported from `apiHandlers/fetchStories.ts` file.
6
+ * See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/index.tsx#L24 for usage example
7
+ */
8
+ export declare function useInfiniteStoriesLoading<T extends Story = Story>(initialStories: T[], pagination: PaginationProps, category?: Category, include?: (keyof ExtraStoryFields)[]): {
9
+ canLoadMore: boolean;
10
+ isLoading: boolean;
11
+ loadMoreStories: () => void;
12
+ stories: T[];
13
+ };