@newskit-render/standalone-components 0.2.0 → 0.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 (68) hide show
  1. package/README.md +79 -0
  2. package/dist/article-recommendations/components/ArticleRecommendation.d.ts +4 -0
  3. package/dist/article-recommendations/components/ArticleRecommendation.js +19 -0
  4. package/dist/article-recommendations/components/ArticleRecommendation.js.map +1 -0
  5. package/dist/article-recommendations/components/ArticleRecommendationLarge.d.ts +6 -0
  6. package/dist/article-recommendations/components/ArticleRecommendationLarge.js +44 -0
  7. package/dist/article-recommendations/components/ArticleRecommendationLarge.js.map +1 -0
  8. package/dist/article-recommendations/components/ArticleRecommendationSmall.d.ts +6 -0
  9. package/dist/article-recommendations/components/ArticleRecommendationSmall.js +33 -0
  10. package/dist/article-recommendations/components/ArticleRecommendationSmall.js.map +1 -0
  11. package/dist/article-recommendations/components/index.d.ts +2 -0
  12. package/dist/article-recommendations/components/index.js +9 -0
  13. package/dist/article-recommendations/components/index.js.map +1 -0
  14. package/dist/article-recommendations/index.d.ts +3 -0
  15. package/dist/article-recommendations/index.js +16 -0
  16. package/dist/article-recommendations/index.js.map +1 -0
  17. package/dist/article-recommendations/provider/index.d.ts +1 -0
  18. package/dist/article-recommendations/provider/index.js +14 -0
  19. package/dist/article-recommendations/provider/index.js.map +1 -0
  20. package/dist/article-recommendations/provider/queries/getRecommendationsQuery.d.ts +1 -0
  21. package/dist/article-recommendations/provider/queries/getRecommendationsQuery.js +11 -0
  22. package/dist/article-recommendations/provider/queries/getRecommendationsQuery.js.map +1 -0
  23. package/dist/article-recommendations/provider/queries/index.d.ts +1 -0
  24. package/dist/article-recommendations/provider/queries/index.js +14 -0
  25. package/dist/article-recommendations/provider/queries/index.js.map +1 -0
  26. package/dist/article-recommendations/provider/recommendationsProvider.d.ts +2 -0
  27. package/dist/article-recommendations/provider/recommendationsProvider.js +74 -0
  28. package/dist/article-recommendations/provider/recommendationsProvider.js.map +1 -0
  29. package/dist/article-recommendations/types/index.d.ts +15 -0
  30. package/dist/article-recommendations/types/index.js +3 -0
  31. package/dist/article-recommendations/types/index.js.map +1 -0
  32. package/dist/cjs/article-recommendations/components/ArticleRecommendation.d.ts +4 -0
  33. package/dist/cjs/article-recommendations/components/ArticleRecommendation.js +19 -0
  34. package/dist/cjs/article-recommendations/components/ArticleRecommendation.js.map +1 -0
  35. package/dist/cjs/article-recommendations/components/ArticleRecommendationLarge.d.ts +6 -0
  36. package/dist/cjs/article-recommendations/components/ArticleRecommendationLarge.js +44 -0
  37. package/dist/cjs/article-recommendations/components/ArticleRecommendationLarge.js.map +1 -0
  38. package/dist/cjs/article-recommendations/components/ArticleRecommendationSmall.d.ts +6 -0
  39. package/dist/cjs/article-recommendations/components/ArticleRecommendationSmall.js +33 -0
  40. package/dist/cjs/article-recommendations/components/ArticleRecommendationSmall.js.map +1 -0
  41. package/dist/cjs/article-recommendations/components/index.d.ts +2 -0
  42. package/dist/cjs/article-recommendations/components/index.js +9 -0
  43. package/dist/cjs/article-recommendations/components/index.js.map +1 -0
  44. package/dist/cjs/article-recommendations/index.d.ts +3 -0
  45. package/dist/cjs/article-recommendations/index.js +16 -0
  46. package/dist/cjs/article-recommendations/index.js.map +1 -0
  47. package/dist/cjs/article-recommendations/provider/index.d.ts +1 -0
  48. package/dist/cjs/article-recommendations/provider/index.js +14 -0
  49. package/dist/cjs/article-recommendations/provider/index.js.map +1 -0
  50. package/dist/cjs/article-recommendations/provider/queries/getRecommendationsQuery.d.ts +1 -0
  51. package/dist/cjs/article-recommendations/provider/queries/getRecommendationsQuery.js +11 -0
  52. package/dist/cjs/article-recommendations/provider/queries/getRecommendationsQuery.js.map +1 -0
  53. package/dist/cjs/article-recommendations/provider/queries/index.d.ts +1 -0
  54. package/dist/cjs/article-recommendations/provider/queries/index.js +14 -0
  55. package/dist/cjs/article-recommendations/provider/queries/index.js.map +1 -0
  56. package/dist/cjs/article-recommendations/provider/recommendationsProvider.d.ts +2 -0
  57. package/dist/cjs/article-recommendations/provider/recommendationsProvider.js +74 -0
  58. package/dist/cjs/article-recommendations/provider/recommendationsProvider.js.map +1 -0
  59. package/dist/cjs/article-recommendations/types/index.d.ts +15 -0
  60. package/dist/cjs/article-recommendations/types/index.js +3 -0
  61. package/dist/cjs/article-recommendations/types/index.js.map +1 -0
  62. package/dist/cjs/index.d.ts +1 -1
  63. package/dist/cjs/index.js +11 -2
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.js +11 -2
  67. package/dist/index.js.map +1 -1
  68. package/package.json +12 -3
package/README.md CHANGED
@@ -1,4 +1,83 @@
1
1
  # @newskit-render/standalone-components
2
2
 
3
+ ## Overview
4
+
5
+ The Standalone-components package contains components, that can live with or without the Render application.
6
+
7
+ ## Getting started
8
+
9
+ Install the package to start using it. Depending on your package manager, run:
10
+
11
+ For yarn:
12
+ `yarn add @newskit-render/standalone-components`
13
+
14
+ For npm:
15
+ `npm install @newskit-render/standalone-components`.
16
+
17
+ ## Components
18
+
19
+ 1. Article recommendations: this component provides two main facilities:
20
+
21
+ - recommendationsProvider: Provider function that accepts `articleId`, `publisher` and `userId`. The function will return an array of recommended articles.
22
+ - ArticleRecommendation: a component that accepts `article` and `size`, where
23
+
24
+ - `article` is an object with the following properties:
25
+ - href: string // mandatory
26
+ - title: string // mandatory
27
+ - text: string // optional
28
+ - `size` can be `large` or `small`.
29
+
30
+ # How to use
31
+
32
+ First, you need to fetch some article recommendations with the recommendationsProvider function, then iterate over the returned array and use the ArticleRecommendation component to display them.
33
+
34
+ Example of use:
35
+
36
+ ```typescript
37
+ import React from 'react'
38
+ import { Block, Grid, Cell } from 'newskit'
39
+ import {
40
+ ArticleRecommendation,
41
+ recommendationsProvider,
42
+ Article,
43
+ } from '@newskit-render/standalone-components'
44
+ import { Publisher } from '@newskit-render/api'
45
+
46
+ const Recommendations: React.FC<{
47
+ recommendations: Article[]
48
+ }> = ({ recommendations }) => (
49
+ <Block data-testid="RelatedArticles">
50
+ <Grid xsMargin="space000">
51
+ {recommendations.map((article) => (
52
+ <Cell
53
+ key={article.title}
54
+ xs={12}
55
+ sm={6}
56
+ lg={3}
57
+ data-testid="RelatedArticlesVerticalCard"
58
+ >
59
+ <ArticleRecommendation article={article} size="large" />
60
+ </Cell>
61
+ ))}
62
+ </Grid>
63
+ </Block>
64
+ )
65
+
66
+ export default Recommendations
67
+
68
+ export async function getServerSideProps(context) {
69
+ const recommendations = await recommendationsProvider({
70
+ articleId,
71
+ publisher: Publisher.SUN_UK,
72
+ })
73
+
74
+ return {
75
+ props: {
76
+ recommendations,
77
+ },
78
+ }
79
+ }
80
+ ```
81
+
3
82
  .
4
83
  .
@@ -0,0 +1,4 @@
1
+ import { ArticleRecommendationProps } from '../types';
2
+ import React from 'react';
3
+ declare const ArticleRecommendation: React.FC<ArticleRecommendationProps>;
4
+ export default ArticleRecommendation;
@@ -0,0 +1,19 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var ArticleRecommendationLarge_1 = __importDefault(require("./ArticleRecommendationLarge"));
8
+ var ArticleRecommendationSmall_1 = __importDefault(require("./ArticleRecommendationSmall"));
9
+ var articlesMap = {
10
+ large: ArticleRecommendationLarge_1.default,
11
+ small: ArticleRecommendationSmall_1.default,
12
+ };
13
+ var ArticleRecommendation = function (_a) {
14
+ var article = _a.article, size = _a.size;
15
+ var Article = articlesMap[size];
16
+ return react_1.default.createElement(Article, { article: article });
17
+ };
18
+ exports.default = ArticleRecommendation;
19
+ //# sourceMappingURL=ArticleRecommendation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleRecommendation.js","sourceRoot":"","sources":["../../../src/article-recommendations/components/ArticleRecommendation.tsx"],"names":[],"mappings":";;;;;AACA,gDAAyB;AACzB,4FAAqE;AACrE,4FAAqE;AAErE,IAAM,WAAW,GAAG;IAClB,KAAK,EAAE,oCAA0B;IACjC,KAAK,EAAE,oCAA0B;CAClC,CAAA;AAED,IAAM,qBAAqB,GAAyC,UAAC,EAGpE;QAFC,OAAO,aAAA,EACP,IAAI,UAAA;IAEJ,IAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,8BAAC,OAAO,IAAC,OAAO,EAAE,OAAO,GAAI,CAAA;AACtC,CAAC,CAAA;AAED,kBAAe,qBAAqB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { Article } from '../types';
3
+ declare const ArticleRecommendationLarge: React.FC<{
4
+ article: Article;
5
+ }>;
6
+ export default ArticleRecommendationLarge;
@@ -0,0 +1,44 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var newskit_1 = require("newskit");
8
+ var ArticleRecommendationLarge = function (_a) {
9
+ var article = _a.article;
10
+ var href = article.href, title = article.title, text = article.text;
11
+ return (react_1.default.createElement(react_1.default.Fragment, null,
12
+ react_1.default.createElement(newskit_1.Card, { href: "" + process.env.SITE_HOST, media: {
13
+ src: href,
14
+ alt: title,
15
+ loadingAspectRatio: '3:2',
16
+ }, overrides: {
17
+ stylePreset: 'cardContainer',
18
+ mediaContainer: {
19
+ spaceInline: 'space030',
20
+ },
21
+ } },
22
+ react_1.default.createElement(newskit_1.Block, { spaceStack: "space060" },
23
+ react_1.default.createElement(newskit_1.Block, { spaceStack: {
24
+ xs: 'space040',
25
+ md: 'space050',
26
+ } },
27
+ react_1.default.createElement(newskit_1.Headline, { headingAs: "h6", overrides: {
28
+ typographyPreset: {
29
+ xs: 'editorialHeadline020',
30
+ md: 'editorialHeadline030',
31
+ xl: 'editorialHeadline040',
32
+ },
33
+ } }, title)),
34
+ react_1.default.createElement(newskit_1.Block, { spaceStack: {
35
+ xs: 'space040',
36
+ md: 'space050',
37
+ } },
38
+ react_1.default.createElement(newskit_1.TextBlock, { stylePreset: "inkContrast", typographyPreset: {
39
+ xs: 'editorialParagraph010',
40
+ md: 'editorialParagraph020',
41
+ } }, text))))));
42
+ };
43
+ exports.default = ArticleRecommendationLarge;
44
+ //# sourceMappingURL=ArticleRecommendationLarge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleRecommendationLarge.js","sourceRoot":"","sources":["../../../src/article-recommendations/components/ArticleRecommendationLarge.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,mCAA0D;AAE1D,IAAM,0BAA0B,GAAmC,UAAC,EAEnE;QADC,OAAO,aAAA;IAEC,IAAA,IAAI,GAAkB,OAAO,KAAzB,EAAE,KAAK,GAAW,OAAO,MAAlB,EAAE,IAAI,GAAK,OAAO,KAAZ,CAAY;IACrC,OAAO,CACL;QACE,8BAAC,cAAI,IACH,IAAI,EAAE,KAAG,OAAO,CAAC,GAAG,CAAC,SAAW,EAChC,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,KAAK;gBACV,kBAAkB,EAAE,KAAK;aAC1B,EACD,SAAS,EAAE;gBACT,WAAW,EAAE,eAAe;gBAC5B,cAAc,EAAE;oBACd,WAAW,EAAE,UAAU;iBACxB;aACF;YAED,8BAAC,eAAK,IAAC,UAAU,EAAC,UAAU;gBAC1B,8BAAC,eAAK,IACJ,UAAU,EAAE;wBACV,EAAE,EAAE,UAAU;wBACd,EAAE,EAAE,UAAU;qBACf;oBAED,8BAAC,kBAAQ,IACP,SAAS,EAAC,IAAI,EACd,SAAS,EAAE;4BACT,gBAAgB,EAAE;gCAChB,EAAE,EAAE,sBAAsB;gCAC1B,EAAE,EAAE,sBAAsB;gCAC1B,EAAE,EAAE,sBAAsB;6BAC3B;yBACF,IAEA,KAAK,CACG,CACL;gBACR,8BAAC,eAAK,IACJ,UAAU,EAAE;wBACV,EAAE,EAAE,UAAU;wBACd,EAAE,EAAE,UAAU;qBACf;oBAED,8BAAC,mBAAS,IACR,WAAW,EAAC,aAAa,EACzB,gBAAgB,EAAE;4BAChB,EAAE,EAAE,uBAAuB;4BAC3B,EAAE,EAAE,uBAAuB;yBAC5B,IAEA,IAAI,CACK,CACN,CACF,CACH,CACN,CACJ,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,0BAA0B,CAAA"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { Article } from '../types';
3
+ declare const ArticleRecommendationSmall: React.FC<{
4
+ article: Article;
5
+ }>;
6
+ export default ArticleRecommendationSmall;
@@ -0,0 +1,33 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var newskit_1 = require("newskit");
8
+ var ArticleRecommendationSmall = function (_a) {
9
+ var article = _a.article;
10
+ var href = article.href, title = article.title;
11
+ return (react_1.default.createElement(newskit_1.Card, { href: "" + process.env.SITE_HOST, layout: "horizontal", media: {
12
+ src: href,
13
+ alt: 'Card Media',
14
+ loadingAspectRatio: '3:2',
15
+ overrides: {
16
+ width: '150px',
17
+ height: '100px',
18
+ },
19
+ }, overrides: {
20
+ stylePreset: 'cardContainer',
21
+ mediaContainer: {
22
+ spaceInline: 'space030',
23
+ },
24
+ } },
25
+ react_1.default.createElement(newskit_1.Headline, { headingAs: "h4", overrides: {
26
+ typographyPreset: {
27
+ xs: 'editorialHeadline040',
28
+ xl: 'editorialHeadline020',
29
+ },
30
+ } }, title)));
31
+ };
32
+ exports.default = ArticleRecommendationSmall;
33
+ //# sourceMappingURL=ArticleRecommendationSmall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleRecommendationSmall.js","sourceRoot":"","sources":["../../../src/article-recommendations/components/ArticleRecommendationSmall.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,mCAAwC;AAGxC,IAAM,0BAA0B,GAAmC,UAAC,EAEnE;QADC,OAAO,aAAA;IAEC,IAAA,IAAI,GAAY,OAAO,KAAnB,EAAE,KAAK,GAAK,OAAO,MAAZ,CAAY;IAC/B,OAAO,CACL,8BAAC,cAAI,IACH,IAAI,EAAE,KAAG,OAAO,CAAC,GAAG,CAAC,SAAW,EAChC,MAAM,EAAC,YAAY,EACnB,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,YAAY;YACjB,kBAAkB,EAAE,KAAK;YACzB,SAAS,EAAE;gBACT,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,OAAO;aAChB;SACF,EACD,SAAS,EAAE;YACT,WAAW,EAAE,eAAe;YAC5B,cAAc,EAAE;gBACd,WAAW,EAAE,UAAU;aACxB;SACF;QAED,8BAAC,kBAAQ,IACP,SAAS,EAAC,IAAI,EACd,SAAS,EAAE;gBACT,gBAAgB,EAAE;oBAChB,EAAE,EAAE,sBAAsB;oBAC1B,EAAE,EAAE,sBAAsB;iBAC3B;aACF,IAEA,KAAK,CACG,CACN,CACR,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,0BAA0B,CAAA"}
@@ -0,0 +1,2 @@
1
+ import ArticleRecommendation from './ArticleRecommendation';
2
+ export { ArticleRecommendation };
@@ -0,0 +1,9 @@
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.ArticleRecommendation = void 0;
7
+ var ArticleRecommendation_1 = __importDefault(require("./ArticleRecommendation"));
8
+ exports.ArticleRecommendation = ArticleRecommendation_1.default;
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/article-recommendations/components/index.ts"],"names":[],"mappings":";;;;;;AAAA,kFAA2D;AAElD,gCAFF,+BAAqB,CAEE"}
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './provider';
3
+ export * from './types';
@@ -0,0 +1,16 @@
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
+ __exportStar(require("./components"), exports);
14
+ __exportStar(require("./provider"), exports);
15
+ __exportStar(require("./types"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/article-recommendations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4B;AAC5B,6CAA0B;AAC1B,0CAAuB"}
@@ -0,0 +1 @@
1
+ export * from './recommendationsProvider';
@@ -0,0 +1,14 @@
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
+ __exportStar(require("./recommendationsProvider"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/article-recommendations/provider/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAyC"}
@@ -0,0 +1 @@
1
+ export declare const GET_RECOMMENDATIONS: import("@apollo/client").DocumentNode;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GET_RECOMMENDATIONS = void 0;
8
+ var client_1 = require("@apollo/client");
9
+ exports.GET_RECOMMENDATIONS = (0, client_1.gql)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query getRecommendedArticlesSUN_UK(\n $recomArgs: RecommendationsParameters!\n $publisher: Publisher!\n ) {\n recommendations(publisher: $publisher, recomArgs: $recomArgs) {\n feedbackId\n articles {\n headline\n kicker\n url\n media {\n ... on Image {\n crops(\n cropsArguments: [\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 150 }\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 620 }\n ]\n ) {\n url\n alt\n width\n height\n }\n }\n ... on Video {\n posterImage {\n crops {\n url\n }\n }\n }\n }\n }\n }\n }\n"], ["\n query getRecommendedArticlesSUN_UK(\n $recomArgs: RecommendationsParameters!\n $publisher: Publisher!\n ) {\n recommendations(publisher: $publisher, recomArgs: $recomArgs) {\n feedbackId\n articles {\n headline\n kicker\n url\n media {\n ... on Image {\n crops(\n cropsArguments: [\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 150 }\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 620 }\n ]\n ) {\n url\n alt\n width\n height\n }\n }\n ... on Video {\n posterImage {\n crops {\n url\n }\n }\n }\n }\n }\n }\n }\n"])));
10
+ var templateObject_1;
11
+ //# sourceMappingURL=getRecommendationsQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRecommendationsQuery.js","sourceRoot":"","sources":["../../../../src/article-recommendations/provider/queries/getRecommendationsQuery.ts"],"names":[],"mappings":";;;;;;;AAAA,yCAAoC;AAEvB,QAAA,mBAAmB,OAAG,YAAG,m3BAAA,+yBAoCrC,KAAA"}
@@ -0,0 +1 @@
1
+ export * from './getRecommendationsQuery';
@@ -0,0 +1,14 @@
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
+ __exportStar(require("./getRecommendationsQuery"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/article-recommendations/provider/queries/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAyC"}
@@ -0,0 +1,2 @@
1
+ import { ProviderArgs, Article } from '../index';
2
+ export declare const recommendationsProvider: ({ articleId, publisher, userId, }: ProviderArgs) => Promise<Article[]>;
@@ -0,0 +1,74 @@
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.recommendationsProvider = void 0;
40
+ var api_1 = require("@newskit-render/api");
41
+ var queries_1 = require("./queries");
42
+ var recommendationsProvider = function (_a) {
43
+ var articleId = _a.articleId, publisher = _a.publisher, userId = _a.userId;
44
+ return __awaiter(void 0, void 0, void 0, function () {
45
+ var apolloClient, response, recommendedArticles;
46
+ return __generator(this, function (_b) {
47
+ switch (_b.label) {
48
+ case 0: return [4 /*yield*/, (0, api_1.createApolloClient)(api_1.ClientTypes.nkapi)];
49
+ case 1:
50
+ apolloClient = _b.sent();
51
+ return [4 /*yield*/, apolloClient.query({
52
+ query: queries_1.GET_RECOMMENDATIONS,
53
+ variables: { publisher: publisher, recomArgs: { articleId: articleId, userId: userId } },
54
+ })];
55
+ case 2:
56
+ response = _b.sent();
57
+ recommendedArticles = response.data.recommendations.articles.map(function (article) {
58
+ var _a, _b, _c, _d, _e, _f, _g;
59
+ return ({
60
+ title: article.kicker,
61
+ tag: article.kicker,
62
+ text: article.headline,
63
+ href: ((_d = (_c = (_b = (_a = article.media) === null || _a === void 0 ? void 0 : _a.posterImage) === null || _b === void 0 ? void 0 : _b.crops) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.url) ||
64
+ ((_g = (_f = (_e = article.media) === null || _e === void 0 ? void 0 : _e.crops) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.url) ||
65
+ null,
66
+ });
67
+ });
68
+ return [2 /*return*/, recommendedArticles];
69
+ }
70
+ });
71
+ });
72
+ };
73
+ exports.recommendationsProvider = recommendationsProvider;
74
+ //# sourceMappingURL=recommendationsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendationsProvider.js","sourceRoot":"","sources":["../../../src/article-recommendations/provider/recommendationsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,qCAA+C;AAGxC,IAAM,uBAAuB,GAAG,UAAO,EAI/B;QAHb,SAAS,eAAA,EACT,SAAS,eAAA,EACT,MAAM,YAAA;;;;;wBAEe,qBAAM,IAAA,wBAAkB,EAAC,iBAAW,CAAC,KAAK,CAAC,EAAA;;oBAA1D,YAAY,GAAG,SAA2C;oBAC/C,qBAAM,YAAY,CAAC,KAAK,CAAC;4BACxC,KAAK,EAAE,6BAAmB;4BAC1B,SAAS,EAAE,EAAE,SAAS,WAAA,EAAE,SAAS,EAAE,EAAE,SAAS,WAAA,EAAE,MAAM,QAAA,EAAE,EAAE;yBAC3D,CAAC,EAAA;;oBAHI,QAAQ,GAAG,SAGf;oBAEI,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CACpE,UAAC,OAAO;;wBAAK,OAAA,CAAC;4BACZ,KAAK,EAAE,OAAO,CAAC,MAAM;4BACrB,GAAG,EAAE,OAAO,CAAC,MAAM;4BACnB,IAAI,EAAE,OAAO,CAAC,QAAQ;4BACtB,IAAI,EACF,CAAA,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,WAAW,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,GAAG;iCAC3C,MAAA,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,GAAG,CAAA;gCAC9B,IAAI;yBACP,CAAC,CAAA;qBAAA,CACH,CAAA;oBAED,sBAAO,mBAAmB,EAAA;;;;CAC3B,CAAA;AAxBY,QAAA,uBAAuB,2BAwBnC"}
@@ -0,0 +1,15 @@
1
+ import { Publisher } from '@newskit-render/api';
2
+ export declare type Article = {
3
+ href: string;
4
+ title: string;
5
+ text?: string;
6
+ };
7
+ export declare type ArticleRecommendationProps = {
8
+ article: Article;
9
+ size: 'large' | 'small';
10
+ };
11
+ export declare type ProviderArgs = {
12
+ userId?: string;
13
+ publisher: Publisher;
14
+ articleId: string;
15
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/article-recommendations/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { ArticleRecommendationProps } from '../types';
2
+ import React from 'react';
3
+ declare const ArticleRecommendation: React.FC<ArticleRecommendationProps>;
4
+ export default ArticleRecommendation;
@@ -0,0 +1,19 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var ArticleRecommendationLarge_1 = __importDefault(require("./ArticleRecommendationLarge"));
8
+ var ArticleRecommendationSmall_1 = __importDefault(require("./ArticleRecommendationSmall"));
9
+ var articlesMap = {
10
+ large: ArticleRecommendationLarge_1.default,
11
+ small: ArticleRecommendationSmall_1.default,
12
+ };
13
+ var ArticleRecommendation = function (_a) {
14
+ var article = _a.article, size = _a.size;
15
+ var Article = articlesMap[size];
16
+ return react_1.default.createElement(Article, { article: article });
17
+ };
18
+ exports.default = ArticleRecommendation;
19
+ //# sourceMappingURL=ArticleRecommendation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleRecommendation.js","sourceRoot":"","sources":["../../../../src/article-recommendations/components/ArticleRecommendation.tsx"],"names":[],"mappings":";;;;;AACA,gDAAyB;AACzB,4FAAqE;AACrE,4FAAqE;AAErE,IAAM,WAAW,GAAG;IAClB,KAAK,EAAE,oCAA0B;IACjC,KAAK,EAAE,oCAA0B;CAClC,CAAA;AAED,IAAM,qBAAqB,GAAyC,UAAC,EAGpE;QAFC,OAAO,aAAA,EACP,IAAI,UAAA;IAEJ,IAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,8BAAC,OAAO,IAAC,OAAO,EAAE,OAAO,GAAI,CAAA;AACtC,CAAC,CAAA;AAED,kBAAe,qBAAqB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { Article } from '../types';
3
+ declare const ArticleRecommendationLarge: React.FC<{
4
+ article: Article;
5
+ }>;
6
+ export default ArticleRecommendationLarge;
@@ -0,0 +1,44 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var newskit_1 = require("newskit");
8
+ var ArticleRecommendationLarge = function (_a) {
9
+ var article = _a.article;
10
+ var href = article.href, title = article.title, text = article.text;
11
+ return (react_1.default.createElement(react_1.default.Fragment, null,
12
+ react_1.default.createElement(newskit_1.Card, { href: "" + process.env.SITE_HOST, media: {
13
+ src: href,
14
+ alt: title,
15
+ loadingAspectRatio: '3:2',
16
+ }, overrides: {
17
+ stylePreset: 'cardContainer',
18
+ mediaContainer: {
19
+ spaceInline: 'space030',
20
+ },
21
+ } },
22
+ react_1.default.createElement(newskit_1.Block, { spaceStack: "space060" },
23
+ react_1.default.createElement(newskit_1.Block, { spaceStack: {
24
+ xs: 'space040',
25
+ md: 'space050',
26
+ } },
27
+ react_1.default.createElement(newskit_1.Headline, { headingAs: "h6", overrides: {
28
+ typographyPreset: {
29
+ xs: 'editorialHeadline020',
30
+ md: 'editorialHeadline030',
31
+ xl: 'editorialHeadline040',
32
+ },
33
+ } }, title)),
34
+ react_1.default.createElement(newskit_1.Block, { spaceStack: {
35
+ xs: 'space040',
36
+ md: 'space050',
37
+ } },
38
+ react_1.default.createElement(newskit_1.TextBlock, { stylePreset: "inkContrast", typographyPreset: {
39
+ xs: 'editorialParagraph010',
40
+ md: 'editorialParagraph020',
41
+ } }, text))))));
42
+ };
43
+ exports.default = ArticleRecommendationLarge;
44
+ //# sourceMappingURL=ArticleRecommendationLarge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleRecommendationLarge.js","sourceRoot":"","sources":["../../../../src/article-recommendations/components/ArticleRecommendationLarge.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,mCAA0D;AAE1D,IAAM,0BAA0B,GAAmC,UAAC,EAEnE;QADC,OAAO,aAAA;IAEC,IAAA,IAAI,GAAkB,OAAO,KAAzB,EAAE,KAAK,GAAW,OAAO,MAAlB,EAAE,IAAI,GAAK,OAAO,KAAZ,CAAY;IACrC,OAAO,CACL;QACE,8BAAC,cAAI,IACH,IAAI,EAAE,KAAG,OAAO,CAAC,GAAG,CAAC,SAAW,EAChC,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,KAAK;gBACV,kBAAkB,EAAE,KAAK;aAC1B,EACD,SAAS,EAAE;gBACT,WAAW,EAAE,eAAe;gBAC5B,cAAc,EAAE;oBACd,WAAW,EAAE,UAAU;iBACxB;aACF;YAED,8BAAC,eAAK,IAAC,UAAU,EAAC,UAAU;gBAC1B,8BAAC,eAAK,IACJ,UAAU,EAAE;wBACV,EAAE,EAAE,UAAU;wBACd,EAAE,EAAE,UAAU;qBACf;oBAED,8BAAC,kBAAQ,IACP,SAAS,EAAC,IAAI,EACd,SAAS,EAAE;4BACT,gBAAgB,EAAE;gCAChB,EAAE,EAAE,sBAAsB;gCAC1B,EAAE,EAAE,sBAAsB;gCAC1B,EAAE,EAAE,sBAAsB;6BAC3B;yBACF,IAEA,KAAK,CACG,CACL;gBACR,8BAAC,eAAK,IACJ,UAAU,EAAE;wBACV,EAAE,EAAE,UAAU;wBACd,EAAE,EAAE,UAAU;qBACf;oBAED,8BAAC,mBAAS,IACR,WAAW,EAAC,aAAa,EACzB,gBAAgB,EAAE;4BAChB,EAAE,EAAE,uBAAuB;4BAC3B,EAAE,EAAE,uBAAuB;yBAC5B,IAEA,IAAI,CACK,CACN,CACF,CACH,CACN,CACJ,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,0BAA0B,CAAA"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { Article } from '../types';
3
+ declare const ArticleRecommendationSmall: React.FC<{
4
+ article: Article;
5
+ }>;
6
+ export default ArticleRecommendationSmall;
@@ -0,0 +1,33 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var newskit_1 = require("newskit");
8
+ var ArticleRecommendationSmall = function (_a) {
9
+ var article = _a.article;
10
+ var href = article.href, title = article.title;
11
+ return (react_1.default.createElement(newskit_1.Card, { href: "" + process.env.SITE_HOST, layout: "horizontal", media: {
12
+ src: href,
13
+ alt: 'Card Media',
14
+ loadingAspectRatio: '3:2',
15
+ overrides: {
16
+ width: '150px',
17
+ height: '100px',
18
+ },
19
+ }, overrides: {
20
+ stylePreset: 'cardContainer',
21
+ mediaContainer: {
22
+ spaceInline: 'space030',
23
+ },
24
+ } },
25
+ react_1.default.createElement(newskit_1.Headline, { headingAs: "h4", overrides: {
26
+ typographyPreset: {
27
+ xs: 'editorialHeadline040',
28
+ xl: 'editorialHeadline020',
29
+ },
30
+ } }, title)));
31
+ };
32
+ exports.default = ArticleRecommendationSmall;
33
+ //# sourceMappingURL=ArticleRecommendationSmall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleRecommendationSmall.js","sourceRoot":"","sources":["../../../../src/article-recommendations/components/ArticleRecommendationSmall.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,mCAAwC;AAGxC,IAAM,0BAA0B,GAAmC,UAAC,EAEnE;QADC,OAAO,aAAA;IAEC,IAAA,IAAI,GAAY,OAAO,KAAnB,EAAE,KAAK,GAAK,OAAO,MAAZ,CAAY;IAC/B,OAAO,CACL,8BAAC,cAAI,IACH,IAAI,EAAE,KAAG,OAAO,CAAC,GAAG,CAAC,SAAW,EAChC,MAAM,EAAC,YAAY,EACnB,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,YAAY;YACjB,kBAAkB,EAAE,KAAK;YACzB,SAAS,EAAE;gBACT,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,OAAO;aAChB;SACF,EACD,SAAS,EAAE;YACT,WAAW,EAAE,eAAe;YAC5B,cAAc,EAAE;gBACd,WAAW,EAAE,UAAU;aACxB;SACF;QAED,8BAAC,kBAAQ,IACP,SAAS,EAAC,IAAI,EACd,SAAS,EAAE;gBACT,gBAAgB,EAAE;oBAChB,EAAE,EAAE,sBAAsB;oBAC1B,EAAE,EAAE,sBAAsB;iBAC3B;aACF,IAEA,KAAK,CACG,CACN,CACR,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,0BAA0B,CAAA"}
@@ -0,0 +1,2 @@
1
+ import ArticleRecommendation from './ArticleRecommendation';
2
+ export { ArticleRecommendation };
@@ -0,0 +1,9 @@
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.ArticleRecommendation = void 0;
7
+ var ArticleRecommendation_1 = __importDefault(require("./ArticleRecommendation"));
8
+ exports.ArticleRecommendation = ArticleRecommendation_1.default;
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/article-recommendations/components/index.ts"],"names":[],"mappings":";;;;;;AAAA,kFAA2D;AAElD,gCAFF,+BAAqB,CAEE"}
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './provider';
3
+ export * from './types';
@@ -0,0 +1,16 @@
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
+ __exportStar(require("./components"), exports);
14
+ __exportStar(require("./provider"), exports);
15
+ __exportStar(require("./types"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/article-recommendations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4B;AAC5B,6CAA0B;AAC1B,0CAAuB"}
@@ -0,0 +1 @@
1
+ export * from './recommendationsProvider';
@@ -0,0 +1,14 @@
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
+ __exportStar(require("./recommendationsProvider"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/article-recommendations/provider/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAyC"}
@@ -0,0 +1 @@
1
+ export declare const GET_RECOMMENDATIONS: import("@apollo/client").DocumentNode;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GET_RECOMMENDATIONS = void 0;
8
+ var client_1 = require("@apollo/client");
9
+ exports.GET_RECOMMENDATIONS = (0, client_1.gql)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query getRecommendedArticlesSUN_UK(\n $recomArgs: RecommendationsParameters!\n $publisher: Publisher!\n ) {\n recommendations(publisher: $publisher, recomArgs: $recomArgs) {\n feedbackId\n articles {\n headline\n kicker\n url\n media {\n ... on Image {\n crops(\n cropsArguments: [\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 150 }\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 620 }\n ]\n ) {\n url\n alt\n width\n height\n }\n }\n ... on Video {\n posterImage {\n crops {\n url\n }\n }\n }\n }\n }\n }\n }\n"], ["\n query getRecommendedArticlesSUN_UK(\n $recomArgs: RecommendationsParameters!\n $publisher: Publisher!\n ) {\n recommendations(publisher: $publisher, recomArgs: $recomArgs) {\n feedbackId\n articles {\n headline\n kicker\n url\n media {\n ... on Image {\n crops(\n cropsArguments: [\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 150 }\n { ratio: THREE_BY_TWO, maxPhysicalWidth: 620 }\n ]\n ) {\n url\n alt\n width\n height\n }\n }\n ... on Video {\n posterImage {\n crops {\n url\n }\n }\n }\n }\n }\n }\n }\n"])));
10
+ var templateObject_1;
11
+ //# sourceMappingURL=getRecommendationsQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRecommendationsQuery.js","sourceRoot":"","sources":["../../../../../src/article-recommendations/provider/queries/getRecommendationsQuery.ts"],"names":[],"mappings":";;;;;;;AAAA,yCAAoC;AAEvB,QAAA,mBAAmB,OAAG,YAAG,m3BAAA,+yBAoCrC,KAAA"}
@@ -0,0 +1 @@
1
+ export * from './getRecommendationsQuery';
@@ -0,0 +1,14 @@
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
+ __exportStar(require("./getRecommendationsQuery"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/article-recommendations/provider/queries/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAyC"}
@@ -0,0 +1,2 @@
1
+ import { ProviderArgs, Article } from '../index';
2
+ export declare const recommendationsProvider: ({ articleId, publisher, userId, }: ProviderArgs) => Promise<Article[]>;
@@ -0,0 +1,74 @@
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.recommendationsProvider = void 0;
40
+ var api_1 = require("@newskit-render/api");
41
+ var queries_1 = require("./queries");
42
+ var recommendationsProvider = function (_a) {
43
+ var articleId = _a.articleId, publisher = _a.publisher, userId = _a.userId;
44
+ return __awaiter(void 0, void 0, void 0, function () {
45
+ var apolloClient, response, recommendedArticles;
46
+ return __generator(this, function (_b) {
47
+ switch (_b.label) {
48
+ case 0: return [4 /*yield*/, (0, api_1.createApolloClient)(api_1.ClientTypes.nkapi)];
49
+ case 1:
50
+ apolloClient = _b.sent();
51
+ return [4 /*yield*/, apolloClient.query({
52
+ query: queries_1.GET_RECOMMENDATIONS,
53
+ variables: { publisher: publisher, recomArgs: { articleId: articleId, userId: userId } },
54
+ })];
55
+ case 2:
56
+ response = _b.sent();
57
+ recommendedArticles = response.data.recommendations.articles.map(function (article) {
58
+ var _a, _b, _c, _d, _e, _f, _g;
59
+ return ({
60
+ title: article.kicker,
61
+ tag: article.kicker,
62
+ text: article.headline,
63
+ href: ((_d = (_c = (_b = (_a = article.media) === null || _a === void 0 ? void 0 : _a.posterImage) === null || _b === void 0 ? void 0 : _b.crops) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.url) ||
64
+ ((_g = (_f = (_e = article.media) === null || _e === void 0 ? void 0 : _e.crops) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.url) ||
65
+ null,
66
+ });
67
+ });
68
+ return [2 /*return*/, recommendedArticles];
69
+ }
70
+ });
71
+ });
72
+ };
73
+ exports.recommendationsProvider = recommendationsProvider;
74
+ //# sourceMappingURL=recommendationsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendationsProvider.js","sourceRoot":"","sources":["../../../../src/article-recommendations/provider/recommendationsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,qCAA+C;AAGxC,IAAM,uBAAuB,GAAG,UAAO,EAI/B;QAHb,SAAS,eAAA,EACT,SAAS,eAAA,EACT,MAAM,YAAA;;;;;wBAEe,qBAAM,IAAA,wBAAkB,EAAC,iBAAW,CAAC,KAAK,CAAC,EAAA;;oBAA1D,YAAY,GAAG,SAA2C;oBAC/C,qBAAM,YAAY,CAAC,KAAK,CAAC;4BACxC,KAAK,EAAE,6BAAmB;4BAC1B,SAAS,EAAE,EAAE,SAAS,WAAA,EAAE,SAAS,EAAE,EAAE,SAAS,WAAA,EAAE,MAAM,QAAA,EAAE,EAAE;yBAC3D,CAAC,EAAA;;oBAHI,QAAQ,GAAG,SAGf;oBAEI,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CACpE,UAAC,OAAO;;wBAAK,OAAA,CAAC;4BACZ,KAAK,EAAE,OAAO,CAAC,MAAM;4BACrB,GAAG,EAAE,OAAO,CAAC,MAAM;4BACnB,IAAI,EAAE,OAAO,CAAC,QAAQ;4BACtB,IAAI,EACF,CAAA,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,WAAW,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,GAAG;iCAC3C,MAAA,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,GAAG,CAAA;gCAC9B,IAAI;yBACP,CAAC,CAAA;qBAAA,CACH,CAAA;oBAED,sBAAO,mBAAmB,EAAA;;;;CAC3B,CAAA;AAxBY,QAAA,uBAAuB,2BAwBnC"}
@@ -0,0 +1,15 @@
1
+ import { Publisher } from '@newskit-render/api';
2
+ export declare type Article = {
3
+ href: string;
4
+ title: string;
5
+ text?: string;
6
+ };
7
+ export declare type ArticleRecommendationProps = {
8
+ article: Article;
9
+ size: 'large' | 'small';
10
+ };
11
+ export declare type ProviderArgs = {
12
+ userId?: string;
13
+ publisher: Publisher;
14
+ articleId: string;
15
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/article-recommendations/types/index.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- export declare const test = "test";
1
+ export * from './article-recommendations';
package/dist/cjs/index.js CHANGED
@@ -1,5 +1,14 @@
1
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
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.test = void 0;
4
- exports.test = 'test';
13
+ __exportStar(require("./article-recommendations"), exports);
5
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAyC"}
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const test = "test";
1
+ export * from './article-recommendations';
package/dist/index.js CHANGED
@@ -1,5 +1,14 @@
1
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
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.test = void 0;
4
- exports.test = 'test';
13
+ __exportStar(require("./article-recommendations"), exports);
5
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAyC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/standalone-components",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Newskit Render Standalone Components",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -76,7 +76,16 @@
76
76
  "access": "public"
77
77
  },
78
78
  "dependencies": {
79
- "@hookform/resolvers": "2.8.3",
80
- "striptags": "3.2.0"
79
+ "@apollo/client": "3.4.16",
80
+ "@newskit-render/api": "^0.19.0",
81
+ "graphql": "15.6.0"
82
+ },
83
+ "resolutions": {
84
+ "@types/react": "^17.0.1",
85
+ "@types/react-dom": "^17.0.2"
86
+ },
87
+ "overrides": {
88
+ "@types/react": "^17.0.1",
89
+ "@types/react-dom": "^17.0.2"
81
90
  }
82
91
  }