@aiconomy/aico-components 0.0.179 → 0.0.187

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 (45) hide show
  1. package/README.md +0 -513
  2. package/dist/aico-components/aico-components.esm.js +1 -1
  3. package/dist/aico-components/aico-components.esm.js.map +1 -1
  4. package/dist/aico-components/{p-c9763f2d.entry.js → p-f2c14c63.entry.js} +3 -3
  5. package/dist/aico-components/p-f2c14c63.entry.js.map +1 -0
  6. package/dist/cjs/aico-album-content_27.cjs.entry.js +94 -66
  7. package/dist/cjs/aico-album-content_27.cjs.entry.js.map +1 -1
  8. package/dist/cjs/aico-components.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/collection/components/aico-news-list/aico-news-list.js +63 -23
  11. package/dist/collection/components/aico-news-list/aico-news-list.js.map +1 -1
  12. package/dist/collection/components/aico-news-list-item/aico-news-list-item.js +1 -1
  13. package/dist/collection/components/aico-news-list-item/aico-news-list-item.js.map +1 -1
  14. package/dist/collection/components/aico-special-news-carousel/aico-special-news-carousel.js +26 -6
  15. package/dist/collection/components/aico-special-news-carousel/aico-special-news-carousel.js.map +1 -1
  16. package/dist/collection/components/aico-top-news-carousel/aico-top-news-carousel.js +25 -5
  17. package/dist/collection/components/aico-top-news-carousel/aico-top-news-carousel.js.map +1 -1
  18. package/dist/collection/model/AicoApiRequestInfo.js +7 -3
  19. package/dist/collection/model/AicoApiRequestInfo.js.map +1 -1
  20. package/dist/collection/utils/utils.js +53 -34
  21. package/dist/collection/utils/utils.js.map +1 -1
  22. package/dist/components/aico-news-list-item2.js +1 -1
  23. package/dist/components/aico-news-list-item2.js.map +1 -1
  24. package/dist/components/aico-news-list.js +26 -21
  25. package/dist/components/aico-news-list.js.map +1 -1
  26. package/dist/components/aico-special-news-carousel.js +6 -4
  27. package/dist/components/aico-special-news-carousel.js.map +1 -1
  28. package/dist/components/aico-top-news-carousel.js +5 -3
  29. package/dist/components/aico-top-news-carousel.js.map +1 -1
  30. package/dist/components/utils.js +60 -37
  31. package/dist/components/utils.js.map +1 -1
  32. package/dist/esm/aico-album-content_27.entry.js +94 -66
  33. package/dist/esm/aico-album-content_27.entry.js.map +1 -1
  34. package/dist/esm/aico-components.js +1 -1
  35. package/dist/esm/loader.js +1 -1
  36. package/dist/ssr/index.js +99 -67
  37. package/dist/ssr/index.mjs +99 -67
  38. package/dist/types/components/aico-news-list/aico-news-list.d.ts +8 -0
  39. package/dist/types/components/aico-special-news-carousel/aico-special-news-carousel.d.ts +4 -0
  40. package/dist/types/components/aico-top-news-carousel/aico-top-news-carousel.d.ts +4 -0
  41. package/dist/types/components.d.ts +35 -3
  42. package/dist/types/model/AicoApiRequestInfo.d.ts +3 -2
  43. package/dist/types/utils/utils.d.ts +1 -1
  44. package/package.json +1 -1
  45. package/dist/aico-components/p-c9763f2d.entry.js.map +0 -1
@@ -1,12 +1,16 @@
1
- const getAuthenticatedHeaders = (bearerToken) => {
1
+ const getAuthenticatedHeaders = (token) => {
2
2
  const headers = new Headers();
3
3
  headers.append('Accept', 'application/vnd.api+json');
4
- headers.append('Authorization', `Bearer ${bearerToken}`);
4
+ headers.append('Authorization', `Bearer ${token}`);
5
5
  return headers;
6
6
  };
7
7
  const getAuthenticatedRequest = (api, route, query, signal) => {
8
+ const token = api.bearerToken || api.accessToken;
9
+ if (!token) {
10
+ throw new Error('No valid token found');
11
+ }
8
12
  return new Request(new URL(`${route}?${query.toString()}`, api.baseApi), {
9
- headers: getAuthenticatedHeaders(api.bearerToken),
13
+ headers: getAuthenticatedHeaders(token),
10
14
  signal,
11
15
  });
12
16
  };
@@ -16,58 +20,77 @@ function setArrayFilter(queryParams, key, values) {
16
20
  queryParams.append(key, value);
17
21
  }
18
22
  }
19
- async function fetchNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = [], hideTopArticles = false, hideSpecialArticles = false) {
23
+ async function fetchNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = [], hideTopArticles = false, hideSpecialArticles = false, latestNews = false) {
24
+ const url = api.bearerToken
25
+ ? 'news'
26
+ : api.accessToken
27
+ ? latestNews
28
+ ? 'aico-shops/1/latest-news-resource'
29
+ : 'aico-shops/1/news-resource'
30
+ : '';
20
31
  const queryParams = new URLSearchParams();
21
32
  queryParams.set('page[number]', String(page));
22
33
  queryParams.set('page[size]', String(size));
23
- queryParams.set('sort', '-publishDate');
24
- queryParams.set('filter[isActive]', '1');
25
- queryParams.set('filter[excludeTag][]', 'Eisnull');
26
- setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
27
- setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
28
- setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
29
- setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
30
- if (hideTopArticles) {
31
- queryParams.set('filter[isTopNews]', '0');
32
- }
33
- if (hideSpecialArticles) {
34
- queryParams.set('filter[isSpecialArticle]', '0');
34
+ if (api.bearerToken) {
35
+ queryParams.set('sort', '-publishDate');
36
+ queryParams.set('filter[isActive]', '1');
37
+ queryParams.set('filter[excludeTag][]', 'Eisnull');
38
+ setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
39
+ setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
40
+ setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
41
+ setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
42
+ if (hideTopArticles) {
43
+ queryParams.set('filter[isTopNews]', '0');
44
+ }
45
+ if (hideSpecialArticles) {
46
+ queryParams.set('filter[isSpecialArticle]', '0');
47
+ }
35
48
  }
36
- const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
49
+ const request = getAuthenticatedRequest(api, url, queryParams, signal);
37
50
  const response = await fetch(request);
38
51
  return await response.json();
39
52
  }
40
53
  async function fetchSpecialNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = []) {
54
+ const url = api.bearerToken
55
+ ? 'news'
56
+ : 'aico-shops/1/news-resource';
41
57
  const queryParams = new URLSearchParams();
42
58
  queryParams.set('page[number]', String(page));
43
59
  queryParams.set('page[size]', String(size));
44
- queryParams.set('sort', '-publishDate');
45
- queryParams.set('filter[isActive]', '1');
46
- queryParams.set('filter[isSpecialArticle]', '1');
47
- queryParams.set('filter[isLightVersion]', 'true');
48
- queryParams.set('filter[excludeTag][]', 'Eisnull');
49
- setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
50
- setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
51
- setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
52
- setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
53
- const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
60
+ if (api.bearerToken) {
61
+ queryParams.set('sort', '-publishDate');
62
+ queryParams.set('filter[isActive]', '1');
63
+ queryParams.set('filter[isSpecialArticle]', '1');
64
+ queryParams.set('filter[isLightVersion]', 'true');
65
+ queryParams.set('filter[excludeTag][]', 'Eisnull');
66
+ setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
67
+ setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
68
+ setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
69
+ setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
70
+ }
71
+ const request = getAuthenticatedRequest(api, url, queryParams, signal);
54
72
  const response = await fetch(request);
55
73
  return await response.json();
56
74
  }
57
75
  async function fetchTopNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = []) {
76
+ const url = api.bearerToken
77
+ ? 'news'
78
+ : 'aico-shops/1/news-resource';
58
79
  const queryParams = new URLSearchParams();
59
80
  queryParams.set('page[number]', String(page));
60
81
  queryParams.set('page[size]', String(size));
61
- queryParams.set('sort', '-publishDate');
62
- queryParams.set('filter[isActive]', '1');
63
- queryParams.set('filter[isTopNews]', '1');
64
- queryParams.set('filter[isLightVersion]', 'true');
65
- queryParams.set('filter[excludeTag][]', 'Eisnull');
66
- setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
67
- setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
68
- setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
69
- setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
70
- const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
82
+ if (api.bearerToken) {
83
+ queryParams.set('sort', '-publishDate');
84
+ queryParams.set('filter[isActive]', '1');
85
+ queryParams.set('filter[isTopNews]', '1');
86
+ queryParams.set('filter[isLightVersion]', 'true');
87
+ queryParams.set('filter[excludeTag][]', 'Eisnull');
88
+ setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
89
+ setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
90
+ setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
91
+ setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
92
+ }
93
+ const request = getAuthenticatedRequest(api, url, queryParams, signal);
71
94
  const response = await fetch(request);
72
95
  return await response.json();
73
96
  }
@@ -1 +1 @@
1
- {"file":"utils.js","mappings":"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","names":[],"sources":["src/model/AicoApiRequestInfo.ts","src/utils/utils.ts"],"sourcesContent":["export type AicoApiRequestInfo = {\n baseApi: string;\n bearerToken: string;\n};\n\nexport const getAuthenticatedHeaders = (bearerToken: string): Headers => {\n const headers = new Headers();\n headers.append('Accept', 'application/vnd.api+json');\n headers.append('Authorization', `Bearer ${bearerToken}`);\n return headers;\n};\n\nexport const getAuthenticatedRequest = (api: AicoApiRequestInfo, route: string, query: URLSearchParams, signal?: AbortSignal): Request => {\n return new Request(new URL(`${route}?${query.toString()}`, api.baseApi), {\n headers: getAuthenticatedHeaders(api.bearerToken),\n signal,\n });\n};\n","import { Article } from '../components';\nimport { AicoApiRequestInfo, getAuthenticatedHeaders, getAuthenticatedRequest } from '../model/AicoApiRequestInfo';\nimport { NewsResponse } from '../model/NewsResponse';\n\nfunction setArrayFilter(queryParams: URLSearchParams, key: string, values: string[]) {\n for (const value of values) {\n queryParams.append(key, value);\n }\n}\n\nexport async function fetchNewsArticles(\n api: AicoApiRequestInfo,\n page: number,\n size: number,\n signal: AbortSignal,\n newsChannels: string[] = [],\n newsSellerIds: string[] = [],\n newsBrandIds: string[] = [],\n newsLanguageLocales: string[] = [],\n hideTopArticles: boolean = false,\n hideSpecialArticles: boolean = false,\n): Promise<NewsResponse> {\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\n queryParams.set('sort', '-publishDate');\n queryParams.set('filter[isActive]', '1');\n queryParams.set('filter[excludeTag][]', 'Eisnull');\n setArrayFilter(queryParams, 'filter[channel][]', newsChannels);\n setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);\n setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);\n setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);\n if (hideTopArticles) {\n queryParams.set('filter[isTopNews]', '0');\n }\n\n if (hideSpecialArticles) {\n queryParams.set('filter[isSpecialArticle]', '0');\n }\n\n const request = getAuthenticatedRequest(api, 'news', queryParams, signal);\n const response = await fetch(request);\n return await response.json();\n}\n\nexport async function fetchSpecialNewsArticles(\n api: AicoApiRequestInfo,\n page: number,\n size: number,\n signal: AbortSignal,\n newsChannels: string[] = [],\n newsSellerIds: string[] = [],\n newsBrandIds: string[] = [],\n newsLanguageLocales: string[] = [],\n): Promise<NewsResponse> {\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\n queryParams.set('sort', '-publishDate');\n queryParams.set('filter[isActive]', '1');\n queryParams.set('filter[isSpecialArticle]', '1');\n queryParams.set('filter[isLightVersion]', 'true');\n queryParams.set('filter[excludeTag][]', 'Eisnull');\n setArrayFilter(queryParams, 'filter[channel][]', newsChannels);\n setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);\n setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);\n setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);\n\n const request = getAuthenticatedRequest(api, 'news', queryParams, signal);\n const response = await fetch(request);\n return await response.json();\n}\n\nexport async function fetchTopNewsArticles(\n api: AicoApiRequestInfo,\n page: number,\n size: number,\n signal: AbortSignal,\n newsChannels: string[] = [],\n newsSellerIds: string[] = [],\n newsBrandIds: string[] = [],\n newsLanguageLocales: string[] = [],\n): Promise<NewsResponse> {\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\n queryParams.set('sort', '-publishDate');\n queryParams.set('filter[isActive]', '1');\n queryParams.set('filter[isTopNews]', '1');\n queryParams.set('filter[isLightVersion]', 'true');\n queryParams.set('filter[excludeTag][]', 'Eisnull');\n setArrayFilter(queryParams, 'filter[channel][]', newsChannels);\n setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);\n setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);\n setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);\n\n const request = getAuthenticatedRequest(api, 'news', queryParams, signal);\n const response = await fetch(request);\n return await response.json();\n}\n\nexport async function fetchNewsArticle(api: AicoApiRequestInfo, articleId: string, signal: AbortSignal): Promise<Article> {\n const request = getAuthenticatedRequest(api, `news/${articleId}`, new URLSearchParams(), signal);\n const response = await fetch(request);\n const article = await response.json();\n return article.data;\n}\n\nexport async function fetchNewsArticleByHandle(api: AicoApiRequestInfo, urlHandle: string, signal: AbortSignal): Promise<Article | undefined> {\n const queryParams = new URLSearchParams();\n queryParams.set('filter[urlHandle]', urlHandle);\n\n const request = getAuthenticatedRequest(api, 'news', queryParams, signal);\n const response = await fetch(request);\n const articles = await response.json();\n return articles.data.length === 1 ? articles.data[0] : undefined;\n}\n\nexport async function fetchArticle(url: string, bearerToken: string, signal: AbortSignal): Promise<Article> {\n const request = new Request(new URL(url), {\n headers: getAuthenticatedHeaders(bearerToken),\n signal,\n });\n const response = await fetch(request);\n return await response.json();\n}\n\nexport function getImageWidthPrc(pictureSize?: string): string {\n switch (pictureSize) {\n case 'extra-small':\n return '28%';\n case 'small':\n return '40%';\n case 'large':\n return '80%';\n case 'extra large': // TODO: has - or not?\n return '100%';\n default:\n return '60%';\n }\n}\n\nexport function getYoutubeURL(url: string): string | null {\n const regExp = /.*(?:youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=)([^#&?]*).*/;\n const match = url.match(regExp);\n if (match && match[1].length == 11) {\n return `https://www.youtube.com/embed/${match[1]}`;\n }\n\n return null;\n}\n\nexport function strIsNullOrEmptyOrWhitespace(str?: string | null): boolean {\n if (!str || str === ' ') {\n return true;\n }\n\n return false;\n}\n\nexport function getClass(conditions: { [key: string]: boolean }): string {\n const classes: string[] = [];\n for (const kvp of Object.entries(conditions)) {\n if (kvp[1]) {\n classes.push(kvp[0]);\n }\n }\n\n return classes.join(' ');\n}\n\nexport function splitByComma(str?: string | null): string[] {\n if (strIsNullOrEmptyOrWhitespace(str)) {\n return [];\n }\n\n str = str!;\n return str.indexOf(',') === -1 ? [str] : str.split(',');\n}\n"],"version":3}
1
+ {"file":"utils.js","mappings":"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","names":[],"sources":["src/model/AicoApiRequestInfo.ts","src/utils/utils.ts"],"sourcesContent":["export type AicoApiRequestInfo = {\n baseApi: string;\n bearerToken?: string;\n accessToken?: string;\n};\n\nexport const getAuthenticatedHeaders = (token: string): Headers => {\n const headers = new Headers();\n headers.append('Accept', 'application/vnd.api+json');\n headers.append('Authorization', `Bearer ${token}`);\n return headers;\n};\n\nexport const getAuthenticatedRequest = (api: AicoApiRequestInfo, route: string, query: URLSearchParams, signal?: AbortSignal): Request => {\n const token = api.bearerToken || api.accessToken;\n\n if (!token) {\n throw new Error('No valid token found');\n }\n \n return new Request(new URL(`${route}?${query.toString()}`, api.baseApi), {\n headers: getAuthenticatedHeaders(token),\n signal,\n });\n};\n","import { Article } from '../components';\nimport { AicoApiRequestInfo, getAuthenticatedHeaders, getAuthenticatedRequest } from '../model/AicoApiRequestInfo';\nimport { NewsResponse } from '../model/NewsResponse';\n\nfunction setArrayFilter(queryParams: URLSearchParams, key: string, values: string[]) {\n for (const value of values) {\n queryParams.append(key, value);\n }\n}\n\nexport async function fetchNewsArticles(\n api: AicoApiRequestInfo,\n page: number,\n size: number,\n signal: AbortSignal,\n newsChannels: string[] = [],\n newsSellerIds: string[] = [],\n newsBrandIds: string[] = [],\n newsLanguageLocales: string[] = [],\n hideTopArticles: boolean = false,\n hideSpecialArticles: boolean = false,\n latestNews: boolean = false\n): Promise<NewsResponse> {\n const url = api.bearerToken\n ? 'news'\n : api.accessToken\n ? latestNews\n ? 'aico-shops/1/latest-news-resource'\n : 'aico-shops/1/news-resource'\n : '';\n\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\n\n if (api.bearerToken) {\n queryParams.set('sort', '-publishDate');\n queryParams.set('filter[isActive]', '1');\n queryParams.set('filter[excludeTag][]', 'Eisnull');\n setArrayFilter(queryParams, 'filter[channel][]', newsChannels);\n setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);\n setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);\n setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);\n\n if (hideTopArticles) {\n queryParams.set('filter[isTopNews]', '0');\n }\n\n if (hideSpecialArticles) {\n queryParams.set('filter[isSpecialArticle]', '0');\n }\n }\n\n const request = getAuthenticatedRequest(api, url, queryParams, signal);\n const response = await fetch(request);\n return await response.json();\n}\n\nexport async function fetchSpecialNewsArticles(\n api: AicoApiRequestInfo,\n page: number,\n size: number,\n signal: AbortSignal,\n newsChannels: string[] = [],\n newsSellerIds: string[] = [],\n newsBrandIds: string[] = [],\n newsLanguageLocales: string[] = [],\n): Promise<NewsResponse> {\n const url = api.bearerToken\n ? 'news'\n : 'aico-shops/1/news-resource';\n\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\n\n if (api.bearerToken) {\n queryParams.set('sort', '-publishDate');\n queryParams.set('filter[isActive]', '1');\n queryParams.set('filter[isSpecialArticle]', '1');\n queryParams.set('filter[isLightVersion]', 'true');\n queryParams.set('filter[excludeTag][]', 'Eisnull');\n setArrayFilter(queryParams, 'filter[channel][]', newsChannels);\n setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);\n setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);\n setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);\n }\n\n const request = getAuthenticatedRequest(api, url, queryParams, signal);\n const response = await fetch(request);\n return await response.json();\n}\n\nexport async function fetchTopNewsArticles(\n api: AicoApiRequestInfo,\n page: number,\n size: number,\n signal: AbortSignal,\n newsChannels: string[] = [],\n newsSellerIds: string[] = [],\n newsBrandIds: string[] = [],\n newsLanguageLocales: string[] = [],\n): Promise<NewsResponse> {\n const url = api.bearerToken\n ? 'news'\n : 'aico-shops/1/news-resource';\n\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\n\n if (api.bearerToken) {\n queryParams.set('sort', '-publishDate');\n queryParams.set('filter[isActive]', '1');\n queryParams.set('filter[isTopNews]', '1');\n queryParams.set('filter[isLightVersion]', 'true');\n queryParams.set('filter[excludeTag][]', 'Eisnull');\n setArrayFilter(queryParams, 'filter[channel][]', newsChannels);\n setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);\n setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);\n setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);\n }\n\n const request = getAuthenticatedRequest(api, url, queryParams, signal);\n const response = await fetch(request);\n return await response.json();\n}\n\nexport async function fetchNewsArticle(api: AicoApiRequestInfo, articleId: string, signal: AbortSignal): Promise<Article> {\n const request = getAuthenticatedRequest(api, `news/${articleId}`, new URLSearchParams(), signal);\n const response = await fetch(request);\n const article = await response.json();\n return article.data;\n}\n\nexport async function fetchNewsArticleByHandle(api: AicoApiRequestInfo, urlHandle: string, signal: AbortSignal): Promise<Article | undefined> {\n const queryParams = new URLSearchParams();\n queryParams.set('filter[urlHandle]', urlHandle);\n\n const request = getAuthenticatedRequest(api, 'news', queryParams, signal);\n const response = await fetch(request);\n const articles = await response.json();\n return articles.data.length === 1 ? articles.data[0] : undefined;\n}\n\nexport async function fetchArticle(url: string, bearerToken: string, signal: AbortSignal): Promise<Article> {\n const request = new Request(new URL(url), {\n headers: getAuthenticatedHeaders(bearerToken),\n signal,\n });\n const response = await fetch(request);\n return await response.json();\n}\n\nexport function getImageWidthPrc(pictureSize?: string): string {\n switch (pictureSize) {\n case 'extra-small':\n return '28%';\n case 'small':\n return '40%';\n case 'large':\n return '80%';\n case 'extra large': // TODO: has - or not?\n return '100%';\n default:\n return '60%';\n }\n}\n\nexport function getYoutubeURL(url: string): string | null {\n const regExp = /.*(?:youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=)([^#&?]*).*/;\n const match = url.match(regExp);\n if (match && match[1].length == 11) {\n return `https://www.youtube.com/embed/${match[1]}`;\n }\n\n return null;\n}\n\nexport function strIsNullOrEmptyOrWhitespace(str?: string | null): boolean {\n if (!str || str === ' ') {\n return true;\n }\n\n return false;\n}\n\nexport function getClass(conditions: { [key: string]: boolean }): string {\n const classes: string[] = [];\n for (const kvp of Object.entries(conditions)) {\n if (kvp[1]) {\n classes.push(kvp[0]);\n }\n }\n\n return classes.join(' ');\n}\n\nexport function splitByComma(str?: string | null): string[] {\n if (strIsNullOrEmptyOrWhitespace(str)) {\n return [];\n }\n\n str = str!;\n return str.indexOf(',') === -1 ? [str] : str.split(',');\n}\n"],"version":3}
@@ -13773,15 +13773,19 @@ const ConditionalRender = ({ condition }, children) => {
13773
13773
  return condition ? children : [];
13774
13774
  };
13775
13775
 
13776
- const getAuthenticatedHeaders = (bearerToken) => {
13776
+ const getAuthenticatedHeaders = (token) => {
13777
13777
  const headers = new Headers();
13778
13778
  headers.append('Accept', 'application/vnd.api+json');
13779
- headers.append('Authorization', `Bearer ${bearerToken}`);
13779
+ headers.append('Authorization', `Bearer ${token}`);
13780
13780
  return headers;
13781
13781
  };
13782
13782
  const getAuthenticatedRequest = (api, route, query, signal) => {
13783
+ const token = api.bearerToken || api.accessToken;
13784
+ if (!token) {
13785
+ throw new Error('No valid token found');
13786
+ }
13783
13787
  return new Request(new URL(`${route}?${query.toString()}`, api.baseApi), {
13784
- headers: getAuthenticatedHeaders(api.bearerToken),
13788
+ headers: getAuthenticatedHeaders(token),
13785
13789
  signal,
13786
13790
  });
13787
13791
  };
@@ -13791,58 +13795,77 @@ function setArrayFilter(queryParams, key, values) {
13791
13795
  queryParams.append(key, value);
13792
13796
  }
13793
13797
  }
13794
- async function fetchNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = [], hideTopArticles = false, hideSpecialArticles = false) {
13798
+ async function fetchNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = [], hideTopArticles = false, hideSpecialArticles = false, latestNews = false) {
13799
+ const url = api.bearerToken
13800
+ ? 'news'
13801
+ : api.accessToken
13802
+ ? latestNews
13803
+ ? 'aico-shops/1/latest-news-resource'
13804
+ : 'aico-shops/1/news-resource'
13805
+ : '';
13795
13806
  const queryParams = new URLSearchParams();
13796
13807
  queryParams.set('page[number]', String(page));
13797
13808
  queryParams.set('page[size]', String(size));
13798
- queryParams.set('sort', '-publishDate');
13799
- queryParams.set('filter[isActive]', '1');
13800
- queryParams.set('filter[excludeTag][]', 'Eisnull');
13801
- setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
13802
- setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
13803
- setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
13804
- setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
13805
- if (hideTopArticles) {
13806
- queryParams.set('filter[isTopNews]', '0');
13807
- }
13808
- if (hideSpecialArticles) {
13809
- queryParams.set('filter[isSpecialArticle]', '0');
13809
+ if (api.bearerToken) {
13810
+ queryParams.set('sort', '-publishDate');
13811
+ queryParams.set('filter[isActive]', '1');
13812
+ queryParams.set('filter[excludeTag][]', 'Eisnull');
13813
+ setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
13814
+ setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
13815
+ setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
13816
+ setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
13817
+ if (hideTopArticles) {
13818
+ queryParams.set('filter[isTopNews]', '0');
13819
+ }
13820
+ if (hideSpecialArticles) {
13821
+ queryParams.set('filter[isSpecialArticle]', '0');
13822
+ }
13810
13823
  }
13811
- const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
13824
+ const request = getAuthenticatedRequest(api, url, queryParams, signal);
13812
13825
  const response = await fetch(request);
13813
13826
  return await response.json();
13814
13827
  }
13815
13828
  async function fetchSpecialNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = []) {
13829
+ const url = api.bearerToken
13830
+ ? 'news'
13831
+ : 'aico-shops/1/news-resource';
13816
13832
  const queryParams = new URLSearchParams();
13817
13833
  queryParams.set('page[number]', String(page));
13818
13834
  queryParams.set('page[size]', String(size));
13819
- queryParams.set('sort', '-publishDate');
13820
- queryParams.set('filter[isActive]', '1');
13821
- queryParams.set('filter[isSpecialArticle]', '1');
13822
- queryParams.set('filter[isLightVersion]', 'true');
13823
- queryParams.set('filter[excludeTag][]', 'Eisnull');
13824
- setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
13825
- setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
13826
- setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
13827
- setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
13828
- const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
13835
+ if (api.bearerToken) {
13836
+ queryParams.set('sort', '-publishDate');
13837
+ queryParams.set('filter[isActive]', '1');
13838
+ queryParams.set('filter[isSpecialArticle]', '1');
13839
+ queryParams.set('filter[isLightVersion]', 'true');
13840
+ queryParams.set('filter[excludeTag][]', 'Eisnull');
13841
+ setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
13842
+ setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
13843
+ setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
13844
+ setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
13845
+ }
13846
+ const request = getAuthenticatedRequest(api, url, queryParams, signal);
13829
13847
  const response = await fetch(request);
13830
13848
  return await response.json();
13831
13849
  }
13832
13850
  async function fetchTopNewsArticles(api, page, size, signal, newsChannels = [], newsSellerIds = [], newsBrandIds = [], newsLanguageLocales = []) {
13851
+ const url = api.bearerToken
13852
+ ? 'news'
13853
+ : 'aico-shops/1/news-resource';
13833
13854
  const queryParams = new URLSearchParams();
13834
13855
  queryParams.set('page[number]', String(page));
13835
13856
  queryParams.set('page[size]', String(size));
13836
- queryParams.set('sort', '-publishDate');
13837
- queryParams.set('filter[isActive]', '1');
13838
- queryParams.set('filter[isTopNews]', '1');
13839
- queryParams.set('filter[isLightVersion]', 'true');
13840
- queryParams.set('filter[excludeTag][]', 'Eisnull');
13841
- setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
13842
- setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
13843
- setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
13844
- setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
13845
- const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
13857
+ if (api.bearerToken) {
13858
+ queryParams.set('sort', '-publishDate');
13859
+ queryParams.set('filter[isActive]', '1');
13860
+ queryParams.set('filter[isTopNews]', '1');
13861
+ queryParams.set('filter[isLightVersion]', 'true');
13862
+ queryParams.set('filter[excludeTag][]', 'Eisnull');
13863
+ setArrayFilter(queryParams, 'filter[channel][]', newsChannels);
13864
+ setArrayFilter(queryParams, 'filter[sellerIds][]', newsSellerIds);
13865
+ setArrayFilter(queryParams, 'filter[brandId][]', newsBrandIds);
13866
+ setArrayFilter(queryParams, 'filter[newsLanguage][]', newsLanguageLocales);
13867
+ }
13868
+ const request = getAuthenticatedRequest(api, url, queryParams, signal);
13846
13869
  const response = await fetch(request);
13847
13870
  return await response.json();
13848
13871
  }
@@ -20673,13 +20696,15 @@ const AicoNewsList = class {
20673
20696
  this.newsBrandIdsArr = [];
20674
20697
  this.newsLanguageLocalesArr = [];
20675
20698
  this.aicoUrl = undefined;
20676
- this.aicoBearerToken = undefined;
20699
+ this.aicoBearerToken = '';
20700
+ this.userAccessToken = '';
20677
20701
  this.newsChannels = '';
20678
20702
  this.newsSellerIds = '';
20679
20703
  this.newsBrandIds = '';
20680
20704
  this.newsLanguageLocales = '';
20681
20705
  this.hideTopArticles = true;
20682
20706
  this.hideSpecialArticles = false;
20707
+ this.latestNews = false;
20683
20708
  this.pageSize = 16;
20684
20709
  this.nextButtonText = 'Next';
20685
20710
  this.previousButtonText = 'Previous';
@@ -20688,7 +20713,7 @@ const AicoNewsList = class {
20688
20713
  connectedCallback() {
20689
20714
  this.newsListFetchController = new AbortController();
20690
20715
  this.pageNumber = 1;
20691
- this.api = { baseApi: this.aicoUrl, bearerToken: this.aicoBearerToken };
20716
+ this.api = { baseApi: this.aicoUrl, bearerToken: this.aicoBearerToken, accessToken: this.userAccessToken };
20692
20717
  this.newsChannelsArr = splitByComma(this.newsChannels);
20693
20718
  this.newsSellerIdsArr = splitByComma(this.newsSellerIds);
20694
20719
  this.newsBrandIdsArr = splitByComma(this.newsBrandIds);
@@ -20698,36 +20723,37 @@ const AicoNewsList = class {
20698
20723
  this.newsListFetchController.abort('disconnected');
20699
20724
  }
20700
20725
  async componentWillLoad() {
20701
- this.newsResponse = await fetchNewsArticles(this.api, this.pageNumber, this.pageSize, this.newsListFetchController.signal, this.newsChannelsArr, this.newsSellerIdsArr, this.newsBrandIdsArr, this.newsLanguageLocalesArr, this.hideTopArticles, this.hideSpecialArticles);
20726
+ this.newsResponse = await fetchNewsArticles(this.api, this.pageNumber, this.pageSize, this.newsListFetchController.signal, this.newsChannelsArr, this.newsSellerIdsArr, this.newsBrandIdsArr, this.newsLanguageLocalesArr, this.hideTopArticles, this.hideSpecialArticles, this.latestNews);
20702
20727
  }
20703
20728
  async componentWillUpdate() {
20704
20729
  this.newsListFetchController = new AbortController();
20705
- this.newsResponse = await fetchNewsArticles(this.api, this.pageNumber, this.pageSize, this.newsListFetchController.signal, this.newsChannelsArr, this.newsSellerIdsArr, this.newsBrandIdsArr, this.newsLanguageLocalesArr, this.hideTopArticles, this.hideSpecialArticles);
20730
+ this.newsResponse = await fetchNewsArticles(this.api, this.pageNumber, this.pageSize, this.newsListFetchController.signal, this.newsChannelsArr, this.newsSellerIdsArr, this.newsBrandIdsArr, this.newsLanguageLocalesArr, this.hideTopArticles, this.hideSpecialArticles, this.latestNews);
20706
20731
  }
20707
20732
  render() {
20708
20733
  var _a, _b, _c;
20709
- return (h(Host, { key: 'aacad98b3f28998312f373ce64352e4d0e053255' }, h("div", { key: '5d1d20400ca9c70e948d8c3ace1c1ec73706d650', class: "newslist-grid-container mb-4" }, (_a = this.newsResponse) === null || _a === void 0 ? void 0 : _a.data.filter(article => !article.attributes.isTopNews).map((article, articleIndex) => {
20734
+ return (h(Host, { key: 'e1667c954dd75052b26f824431174b7e734b484c' }, h("div", { key: '93ebe550604322a061fc082390592445491877a6', class: "newslist-grid-container mb-4" }, (_a = this.newsResponse) === null || _a === void 0 ? void 0 : _a.data.filter(article => this.latestNews || !article.attributes.isTopNews).map((article, articleIndex) => {
20710
20735
  return (h("div", { key: article.id, class: "col" }, h("aico-news-list-item", { article: article, articleIndex: articleIndex, onArticleClick: e => {
20711
20736
  var _a;
20712
20737
  (_a = this.articleClick) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
20713
20738
  e.stopPropagation();
20714
20739
  }, locale: this.locale })));
20715
- })), h("nav", { key: 'bfb45f66e785d2541815cfbe35a84f64405256aa', class: "w-100", "aria-label": "News navigation" }, h("ul", { key: '1c0ec21fb0b2637883b3cb2108767c78d33306ac', class: "pagination justify-content-center" }, h("li", { key: '1e70a53475fc409cd00ea92f7dcf69bacbfc5579', class: `page-item page-link user-select-none d-flex align-items-center ${!((_b = this.newsResponse) === null || _b === void 0 ? void 0 : _b.links.prev) ? 'disabled' : ''}`, style: { cursor: 'pointer' }, onClick: () => {
20716
- if (this.pageNumber > 1) {
20717
- this.pageNumber -= 1;
20718
- }
20719
- return false;
20720
- } }, h("svg", { key: '90f7a776166c44dc5bd74fcdf1cec89bbca167b2', xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", class: "bi bi-chevron-left me-1 fs-4", style: { width: '1em', height: '1em' }, viewBox: "0 0 16 16" }, h("path", { key: '2762edda4d68a9fa6022c0cd8cbc7c5cff710c6b', "fill-rule": "evenodd", d: "M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0" })), this.previousButtonText), this.getViewablePages().map(page => (h("li", { class: `page-item page-link user-select-none ${page === '...' ? 'disabled' : Number(page) === this.pageNumber ? 'active' : ''}`, style: { cursor: 'pointer' }, onClick: () => {
20721
- if (page !== '...') {
20722
- this.pageNumber = Number(page);
20723
- }
20724
- return false;
20725
- } }, page))), h("li", { key: '788a95d3978bccb990c7497cfc7b52b794159d97', class: `page-item page-link user-select-none d-flex align-items-center ${!((_c = this.newsResponse) === null || _c === void 0 ? void 0 : _c.links.next) ? 'disabled' : ''}`, style: { cursor: 'pointer' }, onClick: () => {
20726
- var _a, _b;
20727
- if (((_a = this.newsResponse) === null || _a === void 0 ? void 0 : _a.meta.page.lastPage) && this.pageNumber < ((_b = this.newsResponse) === null || _b === void 0 ? void 0 : _b.meta.page.lastPage)) {
20728
- this.pageNumber += 1;
20729
- }
20730
- } }, this.nextButtonText, h("svg", { key: 'debb4cd195cc6bfe8c1bead7c324eebfb393f0b9', xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", class: "bi bi-chevron-right ms-1 fs-4", style: { width: '1em', height: '1em' }, viewBox: "0 0 16 16" }, h("path", { key: 'ec9997466d968752da2213d5167db8f1b7b6191f', "fill-rule": "evenodd", d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708" })))))));
20740
+ })), !this.latestNews &&
20741
+ h("nav", { key: 'b4e081968bf0de39ca6deb53f46e51149ba90c96', class: "w-100", "aria-label": "News navigation" }, h("ul", { key: '306919fae60915ef97b0f8b499105252cffa7355', class: "pagination justify-content-center" }, h("li", { key: '2004858d91a1d36f344947003e16276c06d012e4', class: `page-item page-link user-select-none d-flex align-items-center ${!((_b = this.newsResponse) === null || _b === void 0 ? void 0 : _b.links.prev) ? 'disabled' : ''}`, style: { cursor: 'pointer' }, onClick: () => {
20742
+ if (this.pageNumber > 1) {
20743
+ this.pageNumber -= 1;
20744
+ }
20745
+ return false;
20746
+ } }, h("svg", { key: '794bc0a90223b0bfb469732e64c8ecdc33cbf95f', xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", class: "bi bi-chevron-left me-1 fs-4", style: { width: '1em', height: '1em' }, viewBox: "0 0 16 16" }, h("path", { key: 'c114c34774e564ee68e70a72f02a53acc7d7403f', "fill-rule": "evenodd", d: "M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0" })), this.previousButtonText), this.getViewablePages().map(page => (h("li", { class: `page-item page-link user-select-none ${page === '...' ? 'disabled' : Number(page) === this.pageNumber ? 'active' : ''}`, style: { cursor: 'pointer' }, onClick: () => {
20747
+ if (page !== '...') {
20748
+ this.pageNumber = Number(page);
20749
+ }
20750
+ return false;
20751
+ } }, page))), h("li", { key: 'a3b8aa8f9d69ad837e90b17f683fbcb97e70dd56', class: `page-item page-link user-select-none d-flex align-items-center ${!((_c = this.newsResponse) === null || _c === void 0 ? void 0 : _c.links.next) ? 'disabled' : ''}`, style: { cursor: 'pointer' }, onClick: () => {
20752
+ var _a, _b;
20753
+ if (((_a = this.newsResponse) === null || _a === void 0 ? void 0 : _a.meta.page.lastPage) && this.pageNumber < ((_b = this.newsResponse) === null || _b === void 0 ? void 0 : _b.meta.page.lastPage)) {
20754
+ this.pageNumber += 1;
20755
+ }
20756
+ } }, this.nextButtonText, h("svg", { key: '46589c53b68ba1f8a87a893a63469e460d01b25e', xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", class: "bi bi-chevron-right ms-1 fs-4", style: { width: '1em', height: '1em' }, viewBox: "0 0 16 16" }, h("path", { key: '5ea164fd74b2138274adcba33e0e54a42e52be4e', "fill-rule": "evenodd", d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708" })))))));
20731
20757
  }
20732
20758
  getViewablePages(lookAhead = 2) {
20733
20759
  var _a, _b, _c, _d, _e, _f, _g;
@@ -20797,7 +20823,7 @@ const AicoNewsListItem = class {
20797
20823
  return (h("div", { key: 'c133677601367cd225d44f120e7efa6db950c902', class: "card h-100 pe-auto", style: { cursor: 'pointer' }, onClick: () => {
20798
20824
  var _a;
20799
20825
  (_a = this.articleClick) === null || _a === void 0 ? void 0 : _a.emit(this.article);
20800
- } }, h("div", { key: '33be1f94f953a1d60f5abba57c52f1a8d0d4d4ab', class: "ratio ratio-16x9 overflow-hidden" }, h("img", { key: 'd4b5349021cba1d93c9a0dbaba3b8ea5ecb94ce1', class: "object-fit-cover", style: { 'min-height': '15rem' }, alt: "Article image", src: (_e = (_d = (_c = (_b = (_a = translation === null || translation === void 0 ? void 0 : translation.image) !== null && _a !== void 0 ? _a : translation === null || translation === void 0 ? void 0 : translation.optimizedImage) !== null && _b !== void 0 ? _b : translation === null || translation === void 0 ? void 0 : translation.optimizedListImage) !== null && _c !== void 0 ? _c : this.article.attributes.image) !== null && _d !== void 0 ? _d : this.article.attributes.optimizedImage) !== null && _e !== void 0 ? _e : this.article.attributes.optimizedListImage }), h("div", { key: 'a3745aafc708a3e18adcb68b6c7d265ab12e8730', class: "card-img-overlay d-flex justify-content-end" })), h("div", { key: '28f1a23fe2174a590e5ac571c34b11efd759596c', class: "card-body" }, h("h5", { key: '8a9279c63bbfaef47496b89553bbc1e74a67e56d', class: "card-title" }, (_f = translation === null || translation === void 0 ? void 0 : translation.name) !== null && _f !== void 0 ? _f : this.article.attributes.name), h("p", { key: '5ca9ae322f1244e8e5c0d2afc35eec71ba580de1', class: "card-text" }, (_g = translation === null || translation === void 0 ? void 0 : translation.excerpt) !== null && _g !== void 0 ? _g : this.article.attributes.excerpt))));
20826
+ } }, h("div", { key: '33be1f94f953a1d60f5abba57c52f1a8d0d4d4ab', class: "ratio ratio-16x9 overflow-hidden" }, h("img", { key: 'd4b5349021cba1d93c9a0dbaba3b8ea5ecb94ce1', class: "object-fit-cover", style: { 'min-height': '15rem' }, alt: "Article image", src: (_e = (_d = (_c = (_b = (_a = translation === null || translation === void 0 ? void 0 : translation.optimizedListImage) !== null && _a !== void 0 ? _a : translation === null || translation === void 0 ? void 0 : translation.optimizedImage) !== null && _b !== void 0 ? _b : translation === null || translation === void 0 ? void 0 : translation.image) !== null && _c !== void 0 ? _c : this.article.attributes.optimizedListImage) !== null && _d !== void 0 ? _d : this.article.attributes.optimizedImage) !== null && _e !== void 0 ? _e : this.article.attributes.image }), h("div", { key: 'a3745aafc708a3e18adcb68b6c7d265ab12e8730', class: "card-img-overlay d-flex justify-content-end" })), h("div", { key: '28f1a23fe2174a590e5ac571c34b11efd759596c', class: "card-body" }, h("h5", { key: '8a9279c63bbfaef47496b89553bbc1e74a67e56d', class: "card-title" }, (_f = translation === null || translation === void 0 ? void 0 : translation.name) !== null && _f !== void 0 ? _f : this.article.attributes.name), h("p", { key: '5ca9ae322f1244e8e5c0d2afc35eec71ba580de1', class: "card-text" }, (_g = translation === null || translation === void 0 ? void 0 : translation.excerpt) !== null && _g !== void 0 ? _g : this.article.attributes.excerpt))));
20801
20827
  }
20802
20828
  get thisHtml() { return getElement$1(this); }
20803
20829
  };
@@ -20851,7 +20877,8 @@ const AicoSpecialNewsCarousel = class {
20851
20877
  this.newsBrandIdsArr = [];
20852
20878
  this.newsLanguageLocalesArr = [];
20853
20879
  this.aicoUrl = undefined;
20854
- this.aicoBearerToken = undefined;
20880
+ this.aicoBearerToken = '';
20881
+ this.userAccessToken = '';
20855
20882
  this.newsChannels = '';
20856
20883
  this.newsSellerIds = '';
20857
20884
  this.newsBrandIds = '';
@@ -20861,7 +20888,7 @@ const AicoSpecialNewsCarousel = class {
20861
20888
  }
20862
20889
  connectedCallback() {
20863
20890
  this.newsListFetchController = new AbortController();
20864
- this.api = { baseApi: this.aicoUrl, bearerToken: this.aicoBearerToken };
20891
+ this.api = { baseApi: this.aicoUrl, bearerToken: this.aicoBearerToken, accessToken: this.userAccessToken };
20865
20892
  this.newsChannelsArr = splitByComma(this.newsChannels);
20866
20893
  this.newsSellerIdsArr = splitByComma(this.newsSellerIds);
20867
20894
  this.newsBrandIdsArr = splitByComma(this.newsBrandIds);
@@ -20887,7 +20914,7 @@ const AicoSpecialNewsCarousel = class {
20887
20914
  });
20888
20915
  }
20889
20916
  render() {
20890
- return (h("div", { key: 'ba2ff387f355995b8123e472de17810f0705b23a', class: "carousel" }, this.newsResponse.data.map(article => {
20917
+ return (h("div", { key: 'cdbe261371e46876ac8b4677067c0c1d60d2e9e9', class: "carousel" }, this.newsResponse.data.map(article => {
20891
20918
  var _a, _b, _c, _d, _e, _f, _g;
20892
20919
  const focusX = article.attributes.focusXPercentage ? `${article.attributes.focusXPercentage}%` : 'center';
20893
20920
  const focusY = article.attributes.focusYPercentage ? `${article.attributes.focusYPercentage}%` : 'center';
@@ -20896,7 +20923,7 @@ const AicoSpecialNewsCarousel = class {
20896
20923
  var _a;
20897
20924
  e.preventDefault();
20898
20925
  (_a = this.articleClicked) === null || _a === void 0 ? void 0 : _a.emit(article);
20899
- } }, (_a = translation === null || translation === void 0 ? void 0 : translation.name) !== null && _a !== void 0 ? _a : article.attributes.name)), h("p", { class: "card-text text-center" }, (_b = translation === null || translation === void 0 ? void 0 : translation.excerpt) !== null && _b !== void 0 ? _b : article.attributes.excerpt)), h("div", { class: "ratio ratio-16x9 mx-auto", style: { 'max-width': '50%' } }, h("img", { class: "card-img-bottom object-fit-cover", style: { 'object-position': `${focusX} ${focusY}`, 'min-height': '15rem' }, alt: "News Picture", "data-lazy": (_g = (_f = (_e = (_d = (_c = translation === null || translation === void 0 ? void 0 : translation.image) !== null && _c !== void 0 ? _c : translation === null || translation === void 0 ? void 0 : translation.optimizedListImage) !== null && _d !== void 0 ? _d : translation === null || translation === void 0 ? void 0 : translation.optimizedImage) !== null && _e !== void 0 ? _e : article.attributes.image) !== null && _f !== void 0 ? _f : article.attributes.optimizedListImage) !== null && _g !== void 0 ? _g : article.attributes.optimizedImage }))));
20926
+ } }, (_a = translation === null || translation === void 0 ? void 0 : translation.name) !== null && _a !== void 0 ? _a : article.attributes.name)), h("p", { class: "card-text text-center" }, (_b = translation === null || translation === void 0 ? void 0 : translation.excerpt) !== null && _b !== void 0 ? _b : article.attributes.excerpt)), h("div", { class: "ratio ratio-16x9 mx-auto", style: { 'max-width': '50%' } }, h("img", { class: "card-img-bottom object-fit-cover", style: { 'object-position': `${focusX} ${focusY}`, 'min-height': '15rem' }, alt: "News Picture", "data-lazy": (_g = (_f = (_e = (_d = (_c = translation === null || translation === void 0 ? void 0 : translation.optimizedListImage) !== null && _c !== void 0 ? _c : translation === null || translation === void 0 ? void 0 : translation.optimizedImage) !== null && _d !== void 0 ? _d : translation === null || translation === void 0 ? void 0 : translation.image) !== null && _e !== void 0 ? _e : article.attributes.optimizedListImage) !== null && _f !== void 0 ? _f : article.attributes.optimizedImage) !== null && _g !== void 0 ? _g : article.attributes.image }))));
20900
20927
  })));
20901
20928
  }
20902
20929
  };
@@ -21090,7 +21117,8 @@ const AicoTopNewsCarousel = class {
21090
21117
  this.newsBrandIdsArr = [];
21091
21118
  this.newsLanguageLocalesArr = [];
21092
21119
  this.aicoUrl = undefined;
21093
- this.aicoBearerToken = undefined;
21120
+ this.aicoBearerToken = '';
21121
+ this.userAccessToken = '';
21094
21122
  this.newsChannels = '';
21095
21123
  this.newsSellerIds = '';
21096
21124
  this.newsBrandIds = '';
@@ -21100,7 +21128,7 @@ const AicoTopNewsCarousel = class {
21100
21128
  }
21101
21129
  connectedCallback() {
21102
21130
  this.newsListFetchController = new AbortController();
21103
- this.api = { baseApi: this.aicoUrl, bearerToken: this.aicoBearerToken };
21131
+ this.api = { baseApi: this.aicoUrl, bearerToken: this.aicoBearerToken, accessToken: this.userAccessToken };
21104
21132
  this.newsChannelsArr = splitByComma(this.newsChannels);
21105
21133
  this.newsSellerIdsArr = splitByComma(this.newsSellerIds);
21106
21134
  this.newsBrandIdsArr = splitByComma(this.newsBrandIds);
@@ -21126,7 +21154,7 @@ const AicoTopNewsCarousel = class {
21126
21154
  });
21127
21155
  }
21128
21156
  render() {
21129
- return (h("div", { key: '35573f965fd179a8fe35125da8856e42533b86b4', class: "carousel" }, this.newsResponse.data.map(article => {
21157
+ return (h("div", { key: '403ffcf2505ada818121277bedf4099015221c9a', class: "carousel" }, this.newsResponse.data.map(article => {
21130
21158
  var _a, _b, _c, _d, _e, _f, _g;
21131
21159
  const focusX = article.attributes.focusXPercentage ? `${article.attributes.focusXPercentage}%` : 'center';
21132
21160
  const focusY = article.attributes.focusYPercentage ? `${article.attributes.focusYPercentage}%` : 'center';