@pronto-tools-and-more/components 9.19.0 → 10.1.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.
package/dist/main.js CHANGED
@@ -4,6 +4,170 @@ var JsonComponent = ({ json }) => {
4
4
  return node;
5
5
  };
6
6
 
7
+ // src/parts/ArticleAuthors/ArticleAuthors.tsx
8
+ var ArticleAuthors = ({
9
+ render
10
+ }) => {
11
+ const json = {
12
+ render,
13
+ dataSource: {
14
+ data: "$context.content.taxonomies",
15
+ type: "context",
16
+ batchSize: 1e6
17
+ },
18
+ type: "list",
19
+ class: "data-custom-author-list",
20
+ template: "horizontal"
21
+ };
22
+ return /* @__PURE__ */ React.createElement("div", { className: "ArticleAuthors" }, /* @__PURE__ */ React.createElement(JsonComponent, { json }));
23
+ };
24
+
25
+ // src/parts/CreateFilterFromProperties/CreateFilterFromProperties.ts
26
+ var createFilterFromProperties = ({
27
+ properties,
28
+ authorId,
29
+ categoryId,
30
+ bundleId
31
+ }) => {
32
+ if (bundleId) {
33
+ return [
34
+ {
35
+ bundle: {
36
+ value: {
37
+ id: bundleId
38
+ }
39
+ }
40
+ }
41
+ ];
42
+ }
43
+ if (categoryId) {
44
+ return [
45
+ {
46
+ taxonomies: {
47
+ content: {
48
+ value: {
49
+ id: {
50
+ value: authorId
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ ];
57
+ }
58
+ if (authorId) {
59
+ return [
60
+ {
61
+ taxonomies: {
62
+ content: {
63
+ value: {
64
+ id: {
65
+ value: authorId
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ ];
72
+ }
73
+ const entries = Object.entries(properties);
74
+ if (entries.length === 0) {
75
+ return [];
76
+ }
77
+ const outerFilter = [];
78
+ for (const [key, value] of Object.entries(properties)) {
79
+ if (Array.isArray(value)) {
80
+ const innerFilter = [];
81
+ for (const item of value) {
82
+ innerFilter.push({
83
+ properties: {
84
+ key,
85
+ value: item
86
+ }
87
+ });
88
+ }
89
+ if (innerFilter.length > 0) {
90
+ outerFilter.push({
91
+ OR: innerFilter
92
+ });
93
+ }
94
+ }
95
+ }
96
+ return outerFilter;
97
+ };
98
+
99
+ // src/parts/ArticleList/ArticleList.tsx
100
+ var ArticleList = ({
101
+ properties,
102
+ render,
103
+ authorId,
104
+ categoryId,
105
+ bundleId
106
+ }) => {
107
+ const additionalFilter = createFilterFromProperties({
108
+ properties,
109
+ authorId,
110
+ categoryId,
111
+ bundleId
112
+ });
113
+ const json = {
114
+ render,
115
+ dataSource: {
116
+ type: "content",
117
+ filter: {
118
+ AND: [
119
+ {
120
+ postType: {
121
+ value: "post"
122
+ }
123
+ },
124
+ {
125
+ contentType: {
126
+ value: "POST"
127
+ }
128
+ },
129
+ ...additionalFilter
130
+ ]
131
+ },
132
+ offset: "0",
133
+ sort: [
134
+ {
135
+ publicationDate: {
136
+ direction: "DESC"
137
+ }
138
+ }
139
+ ],
140
+ contextKey: "content"
141
+ },
142
+ type: "list",
143
+ tapEntry: {
144
+ value: {
145
+ type: "openUrl",
146
+ url: "#",
147
+ target: "#"
148
+ },
149
+ condition: {
150
+ compareValue: "external_links",
151
+ value: "#"
152
+ },
153
+ fallback: {
154
+ type: "openContent"
155
+ }
156
+ },
157
+ class: "data-custom-list",
158
+ template: "horizontal",
159
+ pagination: {
160
+ suffix: "articles",
161
+ text: {
162
+ next: {
163
+ label: ""
164
+ }
165
+ }
166
+ }
167
+ };
168
+ return /* @__PURE__ */ React.createElement("div", { className: "ArticleList IssueList" }, /* @__PURE__ */ React.createElement(JsonComponent, { json }));
169
+ };
170
+
7
171
  // src/parts/Button/Button.tsx
8
172
  var Button = ({
9
173
  message,
@@ -259,152 +423,6 @@ var Heading = ({
259
423
  return /* @__PURE__ */ React.createElement("h4", { className: fullClassName }, text);
260
424
  };
261
425
 
262
- // src/parts/CreateFilterFromProperties/CreateFilterFromProperties.ts
263
- var createFilterFromProperties = ({
264
- properties,
265
- authorId,
266
- categoryId,
267
- bundleId
268
- }) => {
269
- if (bundleId) {
270
- return [
271
- {
272
- bundle: {
273
- value: {
274
- id: bundleId
275
- }
276
- }
277
- }
278
- ];
279
- }
280
- if (categoryId) {
281
- return [
282
- {
283
- taxonomies: {
284
- content: {
285
- value: {
286
- id: {
287
- value: authorId
288
- }
289
- }
290
- }
291
- }
292
- }
293
- ];
294
- }
295
- if (authorId) {
296
- return [
297
- {
298
- taxonomies: {
299
- content: {
300
- value: {
301
- id: {
302
- value: authorId
303
- }
304
- }
305
- }
306
- }
307
- }
308
- ];
309
- }
310
- const entries = Object.entries(properties);
311
- if (entries.length === 0) {
312
- return [];
313
- }
314
- const outerFilter = [];
315
- for (const [key, value] of Object.entries(properties)) {
316
- if (Array.isArray(value)) {
317
- const innerFilter = [];
318
- for (const item of value) {
319
- innerFilter.push({
320
- properties: {
321
- key,
322
- value: item
323
- }
324
- });
325
- }
326
- if (innerFilter.length > 0) {
327
- outerFilter.push({
328
- OR: innerFilter
329
- });
330
- }
331
- }
332
- }
333
- return outerFilter;
334
- };
335
-
336
- // src/parts/IssueList/IssueList.tsx
337
- var IssueList = ({
338
- properties,
339
- render,
340
- authorId,
341
- categoryId,
342
- bundleId
343
- }) => {
344
- const additionalFilter = createFilterFromProperties({
345
- properties,
346
- authorId,
347
- categoryId,
348
- bundleId
349
- });
350
- const json = {
351
- render,
352
- dataSource: {
353
- type: "content",
354
- filter: {
355
- AND: [
356
- {
357
- postType: {
358
- value: "post"
359
- }
360
- },
361
- {
362
- contentType: {
363
- value: "POST"
364
- }
365
- },
366
- ...additionalFilter
367
- ]
368
- },
369
- offset: "0",
370
- sort: [
371
- {
372
- publicationDate: {
373
- direction: "DESC"
374
- }
375
- }
376
- ],
377
- contextKey: "content"
378
- },
379
- type: "list",
380
- tapEntry: {
381
- value: {
382
- type: "openUrl",
383
- url: "#",
384
- target: "#"
385
- },
386
- condition: {
387
- compareValue: "external_links",
388
- value: "#"
389
- },
390
- fallback: {
391
- type: "openContent"
392
- }
393
- },
394
- class: "data-custom-list",
395
- template: "horizontal",
396
- pagination: {
397
- suffix: "articles",
398
- text: {
399
- next: {
400
- label: ""
401
- }
402
- }
403
- }
404
- };
405
- return /* @__PURE__ */ React.createElement("div", { className: "IssueList" }, /* @__PURE__ */ React.createElement(JsonComponent, { json }));
406
- };
407
-
408
426
  // src/parts/Link/Link.tsx
409
427
  var Link = ({
410
428
  to,
@@ -686,6 +704,8 @@ var SubscriptionLink = ({ message } = {}) => {
686
704
  return /* @__PURE__ */ React.createElement("div", { className: "SubscriptionLink" }, /* @__PURE__ */ React.createElement(JsonComponent, { json }));
687
705
  };
688
706
  export {
707
+ ArticleAuthors,
708
+ ArticleList,
689
709
  Button,
690
710
  CategoryList,
691
711
  Collection,
@@ -702,7 +722,6 @@ export {
702
722
  HeaderLogoSection,
703
723
  HeaderMenuItems,
704
724
  Heading,
705
- IssueList,
706
725
  JsonComponent,
707
726
  Link,
708
727
  Login,
@@ -0,0 +1,5 @@
1
+ import type React from "react";
2
+ import type { IAuthorItem } from "../IAuthorItem/IAuthorItem.ts";
3
+ export interface ArticleAuthorRenderer {
4
+ (item: IAuthorItem): React.ReactNode;
5
+ }
@@ -0,0 +1,4 @@
1
+ import { ArticleAuthorRenderer } from "../ArticleAuthorRenderer/ArticleAuthorRenderer.ts";
2
+ export declare const ArticleAuthors: ({ render, }: {
3
+ render: ArticleAuthorRenderer;
4
+ }) => import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { ArticleListItemRenderer } from "../ArticleListItemRenderer/ArticleListItemRenderer.ts";
2
+ export declare const ArticleList: ({ properties, render, authorId, categoryId, bundleId, }: {
3
+ properties: any;
4
+ authorId?: string;
5
+ categoryId?: string;
6
+ bundleId?: string;
7
+ render: ArticleListItemRenderer;
8
+ }) => import("react").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type React from "react";
2
+ import type { IArticleListItem } from "../IArticleListItem/IArticleListItem.ts";
3
+ export interface ArticleListItemRenderer {
4
+ ({ name, description, imageSrc, properties, }: IArticleListItem): React.ReactNode;
5
+ }
@@ -1,3 +1,6 @@
1
+ export * from "../ArticleAuthors/ArticleAuthors.tsx";
2
+ export * from "../ArticleList/ArticleList.tsx";
3
+ export * from "../ArticleListItemRenderer/ArticleListItemRenderer.ts";
1
4
  export * from "../Button/Button.tsx";
2
5
  export * from "../CategoryList/CategoryList.tsx";
3
6
  export * from "../Collection/Collection.tsx";
@@ -14,13 +17,11 @@ export * from "../HeaderLogo/HeaderLogo.tsx";
14
17
  export * from "../HeaderLogoSection/HeaderLogoSection.tsx";
15
18
  export * from "../HeaderMenuItems/HeaderMenuItems.tsx";
16
19
  export * from "../Heading/Heading.tsx";
20
+ export * from "../IArticleListItem/IArticleListItem.ts";
17
21
  export * from "../ICategoryItem/ICategoryItem.ts";
18
22
  export * from "../IFooterSocialLink/IFooterSocialLink.ts";
19
- export * from "../IIssueListItem/IIssueListItem.ts";
20
23
  export * from "../ISearchResult/ISearchResult.ts";
21
24
  export * from "../ISearchResultComponent/ISearchResultComponent.tsx";
22
- export * from "../IssueList/IssueList.tsx";
23
- export * from "../IssueListItemRenderer/IssueListItemRenderer.ts";
24
25
  export * from "../JsonComponent/JsonComponent.tsx";
25
26
  export * from "../Link/Link.tsx";
26
27
  export * from "../Login/Login.tsx";
@@ -1,4 +1,4 @@
1
- export interface IIssueListItem {
1
+ export interface IArticleListItem {
2
2
  readonly name: string;
3
3
  readonly description: string;
4
4
  readonly imageSrc: string;
@@ -0,0 +1,8 @@
1
+ export interface IAuthorItem {
2
+ readonly name: string;
3
+ readonly id: string;
4
+ readonly language: string;
5
+ readonly imageSrc: string;
6
+ readonly email: string;
7
+ readonly description: string;
8
+ }
@@ -2,7 +2,7 @@ export * from "../AppBar/AppBar.tsx";
2
2
  export * from "../Button/Button.tsx";
3
3
  export * from "../EPapers/EPapers.tsx";
4
4
  export * from "../Home/Home.tsx";
5
- export * from "../IssueList/IssueList.tsx";
5
+ export * from "../ArticleList/ArticleList.tsx";
6
6
  export * from "../Login/Login.tsx";
7
7
  export * from "../MostRead/MostRead.tsx";
8
8
  export * from "../NoSearchResults/NoSearchResults.tsx";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pronto-tools-and-more/components",
3
- "version": "9.19.0",
3
+ "version": "10.1.0",
4
4
  "description": "",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -1,8 +0,0 @@
1
- import { IssueListItemRenderer } from "../IssueListItemRenderer/IssueListItemRenderer.ts";
2
- export declare const IssueList: ({ properties, render, authorId, categoryId, bundleId, }: {
3
- properties: any;
4
- authorId?: string;
5
- categoryId?: string;
6
- bundleId?: string;
7
- render: IssueListItemRenderer;
8
- }) => import("react").JSX.Element;
@@ -1,5 +0,0 @@
1
- import type React from "react";
2
- import type { IIssueListItem } from "../IIssueListItem/IIssueListItem.ts";
3
- export interface IssueListItemRenderer {
4
- ({ name, description, imageSrc, properties, }: IIssueListItem): React.ReactNode;
5
- }