@aiconomy/aico-components 0.0.57 → 0.0.82

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 (224) hide show
  1. package/dist/aico-components/aico-components.css +1 -1
  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-0b6e7469.entry.js +2 -0
  5. package/dist/aico-components/p-0b6e7469.entry.js.map +1 -0
  6. package/dist/aico-components/p-19752961.entry.js +2 -0
  7. package/dist/aico-components/p-19752961.entry.js.map +1 -0
  8. package/dist/aico-components/p-59bfd021.js +2 -0
  9. package/dist/aico-components/p-59bfd021.js.map +1 -0
  10. package/dist/aico-components/{p-1c4a07ef.entry.js → p-7ea04e72.entry.js} +3 -3
  11. package/dist/aico-components/p-7ea04e72.entry.js.map +1 -0
  12. package/dist/aico-components/p-80cb133a.entry.js +2 -0
  13. package/dist/aico-components/p-80cb133a.entry.js.map +1 -0
  14. package/dist/aico-components/p-918b9928.entry.js +2 -0
  15. package/dist/aico-components/p-918b9928.entry.js.map +1 -0
  16. package/dist/aico-components/p-9ea26390.entry.js +2 -0
  17. package/dist/aico-components/p-9ea26390.entry.js.map +1 -0
  18. package/dist/aico-components/p-c900f292.entry.js +2 -0
  19. package/dist/aico-components/p-c900f292.entry.js.map +1 -0
  20. package/dist/cjs/aico-album-content_19.cjs.entry.js +76 -53
  21. package/dist/cjs/aico-album-content_19.cjs.entry.js.map +1 -1
  22. package/dist/cjs/aico-article-detail.cjs.entry.js +18 -17
  23. package/dist/cjs/aico-article-detail.cjs.entry.js.map +1 -1
  24. package/dist/cjs/aico-components.cjs.js +1 -1
  25. package/dist/cjs/aico-fetch-article-detail.cjs.entry.js +3 -2
  26. package/dist/cjs/aico-fetch-article-detail.cjs.entry.js.map +1 -1
  27. package/dist/cjs/aico-news-list-item.cjs.entry.js +1 -1
  28. package/dist/cjs/aico-news-list-item.cjs.entry.js.map +1 -1
  29. package/dist/cjs/aico-news-list.cjs.entry.js +4 -3
  30. package/dist/cjs/aico-news-list.cjs.entry.js.map +1 -1
  31. package/dist/cjs/aico-no-content_2.cjs.entry.js +5 -3
  32. package/dist/cjs/aico-no-content_2.cjs.entry.js.map +1 -1
  33. package/dist/cjs/aico-special-news-carousel.cjs.entry.js +4 -3
  34. package/dist/cjs/aico-special-news-carousel.cjs.entry.js.map +1 -1
  35. package/dist/cjs/loader.cjs.js +1 -1
  36. package/dist/cjs/{utils-095ed22b.js → utils-9ae3486f.js} +11 -5
  37. package/dist/cjs/utils-9ae3486f.js.map +1 -0
  38. package/dist/collection/components/aico-article-detail/aico-article-detail.js +36 -17
  39. package/dist/collection/components/aico-article-detail/aico-article-detail.js.map +1 -1
  40. package/dist/collection/components/aico-fetch-article-detail/aico-fetch-article-detail.js +20 -1
  41. package/dist/collection/components/aico-fetch-article-detail/aico-fetch-article-detail.js.map +1 -1
  42. package/dist/collection/components/aico-fetch-article-detail/aico-fetch-article-detail.stories.js +2 -0
  43. package/dist/collection/components/aico-fetch-article-detail/aico-fetch-article-detail.stories.js.map +1 -1
  44. package/dist/collection/components/aico-news-list/aico-news-list.js +19 -2
  45. package/dist/collection/components/aico-news-list/aico-news-list.js.map +1 -1
  46. package/dist/collection/components/aico-news-list-item/aico-news-list-item.js +1 -1
  47. package/dist/collection/components/aico-news-list-item/aico-news-list-item.js.map +1 -1
  48. package/dist/collection/components/aico-special-news-carousel/aico-special-news-carousel.js +19 -2
  49. package/dist/collection/components/aico-special-news-carousel/aico-special-news-carousel.js.map +1 -1
  50. package/dist/collection/components/content/aico-asking-content/aico-asking-content.js +22 -3
  51. package/dist/collection/components/content/aico-asking-content/aico-asking-content.js.map +1 -1
  52. package/dist/collection/components/content/aico-asking-content/aico-asking-content.stories.js +16 -0
  53. package/dist/collection/components/content/aico-asking-content/aico-asking-content.stories.js.map +1 -1
  54. package/dist/collection/components/content/aico-block-quote-content/aico-block-quote-content.js +21 -1
  55. package/dist/collection/components/content/aico-block-quote-content/aico-block-quote-content.js.map +1 -1
  56. package/dist/collection/components/content/aico-block-quote-content/aico-block-quote-content.stories.js +18 -0
  57. package/dist/collection/components/content/aico-block-quote-content/aico-block-quote-content.stories.js.map +1 -1
  58. package/dist/collection/components/content/aico-bullet-content/aico-bullet-content.js +25 -5
  59. package/dist/collection/components/content/aico-bullet-content/aico-bullet-content.js.map +1 -1
  60. package/dist/collection/components/content/aico-bullet-content/aico-bullet-content.stories.js +29 -0
  61. package/dist/collection/components/content/aico-bullet-content/aico-bullet-content.stories.js.map +1 -1
  62. package/dist/collection/components/content/aico-carousel-content/aico-carousel-content.js +25 -3
  63. package/dist/collection/components/content/aico-carousel-content/aico-carousel-content.js.map +1 -1
  64. package/dist/collection/components/content/aico-carousel-content/aico-carousel-content.stories.js +35 -3
  65. package/dist/collection/components/content/aico-carousel-content/aico-carousel-content.stories.js.map +1 -1
  66. package/dist/collection/components/content/aico-content-card-content/aico-content-card-content.js +22 -3
  67. package/dist/collection/components/content/aico-content-card-content/aico-content-card-content.js.map +1 -1
  68. package/dist/collection/components/content/aico-content-card-content/aico-content-card-content.stories.js +10 -0
  69. package/dist/collection/components/content/aico-content-card-content/aico-content-card-content.stories.js.map +1 -1
  70. package/dist/collection/components/content/aico-divider-content/aico-divider-content.js +21 -1
  71. package/dist/collection/components/content/aico-divider-content/aico-divider-content.js.map +1 -1
  72. package/dist/collection/components/content/aico-divider-content/aico-divider-content.stories.js +9 -0
  73. package/dist/collection/components/content/aico-divider-content/aico-divider-content.stories.js.map +1 -1
  74. package/dist/collection/components/content/aico-document-content/aico-document-content.js +22 -3
  75. package/dist/collection/components/content/aico-document-content/aico-document-content.js.map +1 -1
  76. package/dist/collection/components/content/aico-document-content/aico-document-content.stories.js +11 -0
  77. package/dist/collection/components/content/aico-document-content/aico-document-content.stories.js.map +1 -1
  78. package/dist/collection/components/content/aico-faq-content/aico-faq-content.js +21 -1
  79. package/dist/collection/components/content/aico-faq-content/aico-faq-content.js.map +1 -1
  80. package/dist/collection/components/content/aico-faq-content/aico-faq-content.stories.js +25 -0
  81. package/dist/collection/components/content/aico-faq-content/aico-faq-content.stories.js.map +1 -1
  82. package/dist/collection/components/content/aico-heading-content/aico-heading-content.js +22 -2
  83. package/dist/collection/components/content/aico-heading-content/aico-heading-content.js.map +1 -1
  84. package/dist/collection/components/content/aico-heading-content/aico-heading-content.stories.js +10 -0
  85. package/dist/collection/components/content/aico-heading-content/aico-heading-content.stories.js.map +1 -1
  86. package/dist/collection/components/content/aico-html-content/aico-html-content.js +22 -4
  87. package/dist/collection/components/content/aico-html-content/aico-html-content.js.map +1 -1
  88. package/dist/collection/components/content/aico-link-content/aico-link-content.js +22 -3
  89. package/dist/collection/components/content/aico-link-content/aico-link-content.js.map +1 -1
  90. package/dist/collection/components/content/aico-link-content/aico-link-content.stories.js +24 -0
  91. package/dist/collection/components/content/aico-link-content/aico-link-content.stories.js.map +1 -1
  92. package/dist/collection/components/content/aico-page-content/aico-page-content.js +23 -4
  93. package/dist/collection/components/content/aico-page-content/aico-page-content.js.map +1 -1
  94. package/dist/collection/components/content/aico-page-content/aico-page-content.stories.js +11 -0
  95. package/dist/collection/components/content/aico-page-content/aico-page-content.stories.js.map +1 -1
  96. package/dist/collection/components/content/aico-table-content/aico-table-content.js +26 -6
  97. package/dist/collection/components/content/aico-table-content/aico-table-content.js.map +1 -1
  98. package/dist/collection/components/content/aico-table-content/aico-table-content.stories.js +58 -0
  99. package/dist/collection/components/content/aico-table-content/aico-table-content.stories.js.map +1 -1
  100. package/dist/collection/components/content/aico-text-content/aico-text-content.js +25 -9
  101. package/dist/collection/components/content/aico-text-content/aico-text-content.js.map +1 -1
  102. package/dist/collection/components/content/aico-text-content/aico-text-content.stories.js +55 -0
  103. package/dist/collection/components/content/aico-text-content/aico-text-content.stories.js.map +1 -1
  104. package/dist/collection/components/content/aico-title-content/aico-title-content.js +23 -3
  105. package/dist/collection/components/content/aico-title-content/aico-title-content.js.map +1 -1
  106. package/dist/collection/components/content/aico-title-content/aico-title-content.stories.js +12 -1
  107. package/dist/collection/components/content/aico-title-content/aico-title-content.stories.js.map +1 -1
  108. package/dist/collection/components/content/aico-upload-content/aico-upload-content.js +22 -2
  109. package/dist/collection/components/content/aico-upload-content/aico-upload-content.js.map +1 -1
  110. package/dist/collection/components/content/aico-upload-content/aico-upload-content.stories.js +8 -0
  111. package/dist/collection/components/content/aico-upload-content/aico-upload-content.stories.js.map +1 -1
  112. package/dist/collection/components/content/aico-video-content/aico-video-content.js +22 -2
  113. package/dist/collection/components/content/aico-video-content/aico-video-content.js.map +1 -1
  114. package/dist/collection/components/content/aico-video-content/aico-video-content.stories.js +17 -0
  115. package/dist/collection/components/content/aico-video-content/aico-video-content.stories.js.map +1 -1
  116. package/dist/collection/model/article/content/CarouselContent.js.map +1 -1
  117. package/dist/collection/utils/utils.js +10 -4
  118. package/dist/collection/utils/utils.js.map +1 -1
  119. package/dist/components/aico-article-detail2.js +20 -18
  120. package/dist/components/aico-article-detail2.js.map +1 -1
  121. package/dist/components/aico-asking-content2.js +6 -4
  122. package/dist/components/aico-asking-content2.js.map +1 -1
  123. package/dist/components/aico-block-quote-content2.js +5 -2
  124. package/dist/components/aico-block-quote-content2.js.map +1 -1
  125. package/dist/components/aico-bullet-content2.js +9 -6
  126. package/dist/components/aico-bullet-content2.js.map +1 -1
  127. package/dist/components/aico-carousel-content2.js +9 -4
  128. package/dist/components/aico-carousel-content2.js.map +1 -1
  129. package/dist/components/aico-content-card-content2.js +6 -4
  130. package/dist/components/aico-content-card-content2.js.map +1 -1
  131. package/dist/components/aico-divider-content2.js +5 -2
  132. package/dist/components/aico-divider-content2.js.map +1 -1
  133. package/dist/components/aico-document-content2.js +6 -4
  134. package/dist/components/aico-document-content2.js.map +1 -1
  135. package/dist/components/aico-faq-content2.js +5 -2
  136. package/dist/components/aico-faq-content2.js.map +1 -1
  137. package/dist/components/aico-fetch-article-detail.js +3 -1
  138. package/dist/components/aico-fetch-article-detail.js.map +1 -1
  139. package/dist/components/aico-heading-content2.js +6 -3
  140. package/dist/components/aico-heading-content2.js.map +1 -1
  141. package/dist/components/aico-html-content2.js +7 -12
  142. package/dist/components/aico-html-content2.js.map +1 -1
  143. package/dist/components/aico-link-content2.js +6 -4
  144. package/dist/components/aico-link-content2.js.map +1 -1
  145. package/dist/components/aico-news-list-item2.js +1 -1
  146. package/dist/components/aico-news-list-item2.js.map +1 -1
  147. package/dist/components/aico-news-list.js +4 -2
  148. package/dist/components/aico-news-list.js.map +1 -1
  149. package/dist/components/aico-page-content2.js +7 -5
  150. package/dist/components/aico-page-content2.js.map +1 -1
  151. package/dist/components/aico-special-news-carousel.js +4 -2
  152. package/dist/components/aico-special-news-carousel.js.map +1 -1
  153. package/dist/components/aico-table-content2.js +10 -7
  154. package/dist/components/aico-table-content2.js.map +1 -1
  155. package/dist/components/aico-text-content2.js +9 -10
  156. package/dist/components/aico-text-content2.js.map +1 -1
  157. package/dist/components/aico-title-content2.js +7 -4
  158. package/dist/components/aico-title-content2.js.map +1 -1
  159. package/dist/components/aico-upload-content2.js +6 -3
  160. package/dist/components/aico-upload-content2.js.map +1 -1
  161. package/dist/components/aico-video-content2.js +6 -3
  162. package/dist/components/aico-video-content2.js.map +1 -1
  163. package/dist/components/utils.js +10 -4
  164. package/dist/components/utils.js.map +1 -1
  165. package/dist/esm/aico-album-content_19.entry.js +76 -53
  166. package/dist/esm/aico-album-content_19.entry.js.map +1 -1
  167. package/dist/esm/aico-article-detail.entry.js +18 -17
  168. package/dist/esm/aico-article-detail.entry.js.map +1 -1
  169. package/dist/esm/aico-components.js +1 -1
  170. package/dist/esm/aico-fetch-article-detail.entry.js +3 -2
  171. package/dist/esm/aico-fetch-article-detail.entry.js.map +1 -1
  172. package/dist/esm/aico-news-list-item.entry.js +1 -1
  173. package/dist/esm/aico-news-list-item.entry.js.map +1 -1
  174. package/dist/esm/aico-news-list.entry.js +4 -3
  175. package/dist/esm/aico-news-list.entry.js.map +1 -1
  176. package/dist/esm/aico-no-content_2.entry.js +5 -3
  177. package/dist/esm/aico-no-content_2.entry.js.map +1 -1
  178. package/dist/esm/aico-special-news-carousel.entry.js +4 -3
  179. package/dist/esm/aico-special-news-carousel.entry.js.map +1 -1
  180. package/dist/esm/loader.js +1 -1
  181. package/dist/esm/{utils-54ffec33.js → utils-25eef7c7.js} +11 -5
  182. package/dist/esm/utils-25eef7c7.js.map +1 -0
  183. package/dist/types/components/aico-article-detail/aico-article-detail.d.ts +1 -0
  184. package/dist/types/components/aico-fetch-article-detail/aico-fetch-article-detail.d.ts +1 -0
  185. package/dist/types/components/aico-news-list/aico-news-list.d.ts +1 -0
  186. package/dist/types/components/aico-special-news-carousel/aico-special-news-carousel.d.ts +1 -0
  187. package/dist/types/components/content/aico-asking-content/aico-asking-content.d.ts +1 -0
  188. package/dist/types/components/content/aico-block-quote-content/aico-block-quote-content.d.ts +1 -0
  189. package/dist/types/components/content/aico-bullet-content/aico-bullet-content.d.ts +1 -0
  190. package/dist/types/components/content/aico-carousel-content/aico-carousel-content.d.ts +1 -0
  191. package/dist/types/components/content/aico-content-card-content/aico-content-card-content.d.ts +1 -0
  192. package/dist/types/components/content/aico-divider-content/aico-divider-content.d.ts +1 -0
  193. package/dist/types/components/content/aico-document-content/aico-document-content.d.ts +1 -0
  194. package/dist/types/components/content/aico-faq-content/aico-faq-content.d.ts +1 -0
  195. package/dist/types/components/content/aico-heading-content/aico-heading-content.d.ts +1 -0
  196. package/dist/types/components/content/aico-html-content/aico-html-content.d.ts +1 -0
  197. package/dist/types/components/content/aico-link-content/aico-link-content.d.ts +1 -0
  198. package/dist/types/components/content/aico-page-content/aico-page-content.d.ts +1 -0
  199. package/dist/types/components/content/aico-table-content/aico-table-content.d.ts +1 -0
  200. package/dist/types/components/content/aico-text-content/aico-text-content.d.ts +1 -0
  201. package/dist/types/components/content/aico-title-content/aico-title-content.d.ts +1 -0
  202. package/dist/types/components/content/aico-upload-content/aico-upload-content.d.ts +1 -0
  203. package/dist/types/components/content/aico-video-content/aico-video-content.d.ts +1 -0
  204. package/dist/types/components.d.ts +42 -0
  205. package/dist/types/model/article/content/CarouselContent.d.ts +4 -2
  206. package/dist/types/utils/utils.d.ts +2 -2
  207. package/package.json +3 -2
  208. package/dist/aico-components/p-0ca1f065.entry.js +0 -2
  209. package/dist/aico-components/p-0ca1f065.entry.js.map +0 -1
  210. package/dist/aico-components/p-1c4a07ef.entry.js.map +0 -1
  211. package/dist/aico-components/p-406fa2e5.entry.js +0 -2
  212. package/dist/aico-components/p-406fa2e5.entry.js.map +0 -1
  213. package/dist/aico-components/p-4c0f3325.entry.js +0 -2
  214. package/dist/aico-components/p-4c0f3325.entry.js.map +0 -1
  215. package/dist/aico-components/p-5109399b.entry.js +0 -2
  216. package/dist/aico-components/p-5109399b.entry.js.map +0 -1
  217. package/dist/aico-components/p-6464810e.entry.js +0 -2
  218. package/dist/aico-components/p-6464810e.entry.js.map +0 -1
  219. package/dist/aico-components/p-b1f8308f.entry.js +0 -2
  220. package/dist/aico-components/p-b1f8308f.entry.js.map +0 -1
  221. package/dist/aico-components/p-dfd3b0d3.js +0 -2
  222. package/dist/aico-components/p-dfd3b0d3.js.map +0 -1
  223. package/dist/cjs/utils-095ed22b.js.map +0 -1
  224. package/dist/esm/utils-54ffec33.js.map +0 -1
@@ -8,12 +8,14 @@ const AicoTitleContent = /*@__PURE__*/ proxyCustomElement(class AicoTitleContent
8
8
  super();
9
9
  this.__registerHost();
10
10
  this.content = undefined;
11
+ this.locale = 'de';
11
12
  }
12
13
  render() {
13
- var _a;
14
+ var _a, _b;
14
15
  if (!this.content.size || this.content.translations.length === 0) {
15
16
  return h("aico-no-content", null);
16
17
  }
18
+ const translation = (_a = this.content.translations.find(translation => translation.locale === this.locale)) !== null && _a !== void 0 ? _a : null;
17
19
  const CustomTag = this.content.size;
18
20
  const defaultColor = 'black';
19
21
  const styles = {
@@ -21,14 +23,15 @@ const AicoTitleContent = /*@__PURE__*/ proxyCustomElement(class AicoTitleContent
21
23
  };
22
24
  if (this.content.hasUnderscore) {
23
25
  styles['text-decoration-line'] = 'underline';
24
- styles['text-decoration-color'] = (_a = this.content.underscoreColor) !== null && _a !== void 0 ? _a : defaultColor;
26
+ styles['text-decoration-color'] = (_b = this.content.underscoreColor) !== null && _b !== void 0 ? _b : defaultColor;
25
27
  styles['text-decoration-thickness'] = '3px';
26
28
  }
27
- return (h(CustomTag, null, h("span", { style: styles }, this.content.translations[0].title)));
29
+ return (h(CustomTag, null, h("span", { style: styles }, translation === null || translation === void 0 ? void 0 : translation.title)));
28
30
  }
29
31
  static get style() { return aicoTitleContentCss; }
30
32
  }, [2, "aico-title-content", {
31
- "content": [16]
33
+ "content": [16],
34
+ "locale": [1]
32
35
  }]);
33
36
  function defineCustomElement() {
34
37
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"aico-title-content2.js","mappings":";;;AAAA,MAAM,mBAAmB,GAAG,yCAAyC;;MCQxD,gBAAgB;;;;;;IAG3B,MAAM;;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAChE,OAAO,0BAAmB,CAAC;SAC5B;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAEpC,MAAM,YAAY,GAAG,OAAO,CAAC;QAC7B,MAAM,MAAM,GAA8B;YACxC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,YAAY;SACxE,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC9B,MAAM,CAAC,sBAAsB,CAAC,GAAG,WAAW,CAAC;YAC7C,MAAM,CAAC,uBAAuB,CAAC,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,eAAe,mCAAI,YAAY,CAAC;YAC/E,MAAM,CAAC,2BAA2B,CAAC,GAAG,KAAK,CAAC;SAC7C;QAED,QACE,EAAC,SAAS,QACR,YAAM,KAAK,EAAE,MAAM,IAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAQ,CACtD,EACZ;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/content/aico-title-content/aico-title-content.css?tag=aico-title-content&encapsulation=scoped","src/components/content/aico-title-content/aico-title-content.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport { TitleContent } from '../../../model/article/content/TitleContent';\n\n@Component({\n tag: 'aico-title-content',\n styleUrl: 'aico-title-content.css',\n scoped: true,\n})\nexport class AicoTitleContent {\n @Prop() content!: TitleContent;\n\n render() {\n if (!this.content.size || this.content.translations.length === 0) {\n return <aico-no-content />;\n }\n\n const CustomTag = this.content.size;\n\n const defaultColor = 'black';\n const styles: { [key: string]: string } = {\n color: this.content.titleColor ? this.content.titleColor : defaultColor,\n };\n\n if (this.content.hasUnderscore) {\n styles['text-decoration-line'] = 'underline';\n styles['text-decoration-color'] = this.content.underscoreColor ?? defaultColor;\n styles['text-decoration-thickness'] = '3px';\n }\n\n return (\n <CustomTag>\n <span style={styles}>{this.content.translations[0].title}</span>\n </CustomTag>\n );\n }\n}\n"],"version":3}
1
+ {"file":"aico-title-content2.js","mappings":";;;AAAA,MAAM,mBAAmB,GAAG,yCAAyC;;MCQxD,gBAAgB;;;;;sBAGF,IAAI;;IAE7B,MAAM;;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAChE,OAAO,0BAAmB,CAAC;SAC5B;QAED,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;QAC9G,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAEpC,MAAM,YAAY,GAAG,OAAO,CAAC;QAC7B,MAAM,MAAM,GAA8B;YACxC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,YAAY;SACxE,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC9B,MAAM,CAAC,sBAAsB,CAAC,GAAG,WAAW,CAAC;YAC7C,MAAM,CAAC,uBAAuB,CAAC,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,eAAe,mCAAI,YAAY,CAAC;YAC/E,MAAM,CAAC,2BAA2B,CAAC,GAAG,KAAK,CAAC;SAC7C;QAED,QACE,EAAC,SAAS,QACR,YAAM,KAAK,EAAE,MAAM,IAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAQ,CACtC,EACZ;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/content/aico-title-content/aico-title-content.css?tag=aico-title-content&encapsulation=scoped","src/components/content/aico-title-content/aico-title-content.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport { TitleContent } from '../../../model/article/content/TitleContent';\n\n@Component({\n tag: 'aico-title-content',\n styleUrl: 'aico-title-content.css',\n scoped: true,\n})\nexport class AicoTitleContent {\n @Prop() content!: TitleContent;\n\n @Prop() locale: string = 'de';\n\n render() {\n if (!this.content.size || this.content.translations.length === 0) {\n return <aico-no-content />;\n }\n\n const translation = this.content.translations.find(translation => translation.locale === this.locale) ?? null;\n const CustomTag = this.content.size;\n\n const defaultColor = 'black';\n const styles: { [key: string]: string } = {\n color: this.content.titleColor ? this.content.titleColor : defaultColor,\n };\n\n if (this.content.hasUnderscore) {\n styles['text-decoration-line'] = 'underline';\n styles['text-decoration-color'] = this.content.underscoreColor ?? defaultColor;\n styles['text-decoration-thickness'] = '3px';\n }\n\n return (\n <CustomTag>\n <span style={styles}>{translation?.title}</span>\n </CustomTag>\n );\n }\n}\n"],"version":3}
@@ -11,11 +11,13 @@ const AicoUploadContent = /*@__PURE__*/ proxyCustomElement(class AicoUploadConte
11
11
  super();
12
12
  this.__registerHost();
13
13
  this.content = undefined;
14
+ this.locale = 'de';
14
15
  }
15
16
  render() {
16
- const translation = this.content.translations.length > 0 ? this.content.translations[0] : null;
17
+ var _a;
18
+ const translation = (_a = this.content.translations.find(translation => translation.locale === this.locale)) !== null && _a !== void 0 ? _a : null;
17
19
  const youtubeUrl = this.content && this.content.videoUrl ? getYoutubeURL(this.content.videoUrl) : null;
18
- return (h(Host, null, h(ConditionalRender, { condition: translation !== null }, h("aico-title-content", { content: this.makeTitleContent(translation) })), h(ConditionalRender, { condition: !strIsNullOrEmptyOrWhitespace(youtubeUrl) }, h("div", { class: "ratio ratio-16x9" }, h("iframe", { allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, src: youtubeUrl }))), h(ConditionalRender, { condition: !this.content.shouldHideFile }, h("p", { class: "fs-3 mt-3" }, "Files:"), h("div", { class: "list-group list-group-flush" }, this.content.uploads.map(upload => {
20
+ return (h(Host, null, h(ConditionalRender, { condition: translation !== null }, h("aico-title-content", { content: this.makeTitleContent(translation), locale: this.locale })), h(ConditionalRender, { condition: !strIsNullOrEmptyOrWhitespace(youtubeUrl) }, h("div", { class: "ratio ratio-16x9" }, h("iframe", { allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, src: youtubeUrl }))), h(ConditionalRender, { condition: !this.content.shouldHideFile }, h("p", { class: "fs-3 mt-3" }, "Files:"), h("div", { class: "list-group list-group-flush" }, this.content.uploads.map(upload => {
19
21
  if (strIsNullOrEmptyOrWhitespace(upload.path)) {
20
22
  return null;
21
23
  }
@@ -34,7 +36,8 @@ const AicoUploadContent = /*@__PURE__*/ proxyCustomElement(class AicoUploadConte
34
36
  }
35
37
  static get style() { return aicoUploadContentCss; }
36
38
  }, [2, "aico-upload-content", {
37
- "content": [16]
39
+ "content": [16],
40
+ "locale": [1]
38
41
  }]);
39
42
  function defineCustomElement() {
40
43
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"aico-upload-content2.js","mappings":";;;;;;AAAA,MAAM,oBAAoB,GAAG,0CAA0C;;MCY1D,iBAAiB;;;;;;IAG5B,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAEvG,QACE,EAAC,IAAI,QACH,EAAC,iBAAiB,IAAC,SAAS,EAAE,WAAW,KAAK,IAAI,IAChD,0BAAoB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAY,CAAC,GAAI,CAClD,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,IACrE,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cAAQ,KAAK,EAAC,0FAA0F,EAAC,eAAe,QAAC,GAAG,EAAE,UAAW,GAAI,CACzI,CACY,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IACxD,SAAG,KAAK,EAAC,WAAW,aAAW,EAC/B,WAAK,KAAK,EAAC,6BAA6B,IACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;YAC9B,IAAI,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC7C,OAAO,IAAI,CAAC;aACb;YAED,QACE,SAAG,IAAI,EAAE,MAAM,CAAC,IAAK,EAAE,MAAM,EAAC,QAAQ,EAAC,KAAK,EAAC,wCAAwC,IAClF,MAAM,CAAC,IAAI,CACV,EACJ;SACH,CAAC,CACE,CACY,CACf,EACP;KACH;IAEO,gBAAgB,CAAC,WAAwB;QAC/C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,mBAAM,WAAW,EAAG;SACnC,CAAC;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/content/aico-upload-content/aico-upload-content.css?tag=aico-upload-content&encapsulation=scoped","src/components/content/aico-upload-content/aico-upload-content.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport type { UploadContent } from '../../../model/article/content/UploadContent';\nimport type { Translation } from '../../../model/article/Translation';\nimport type { TitleContent } from '../../../model/article/content/TitleContent';\nimport { getYoutubeURL, strIsNullOrEmptyOrWhitespace } from '../../../utils/utils';\nimport ConditionalRender from '../../../utils/ConditionalRender';\n\n@Component({\n tag: 'aico-upload-content',\n styleUrl: 'aico-upload-content.css',\n scoped: true,\n})\nexport class AicoUploadContent {\n @Prop() content!: UploadContent;\n\n render() {\n const translation = this.content.translations.length > 0 ? this.content.translations[0] : null;\n const youtubeUrl = this.content && this.content.videoUrl ? getYoutubeURL(this.content.videoUrl) : null;\n\n return (\n <Host>\n <ConditionalRender condition={translation !== null}>\n <aico-title-content content={this.makeTitleContent(translation!)} />\n </ConditionalRender>\n <ConditionalRender condition={!strIsNullOrEmptyOrWhitespace(youtubeUrl)}>\n <div class=\"ratio ratio-16x9\">\n <iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowFullScreen src={youtubeUrl!} />\n </div>\n </ConditionalRender>\n <ConditionalRender condition={!this.content.shouldHideFile}>\n <p class=\"fs-3 mt-3\">Files:</p>\n <div class=\"list-group list-group-flush\">\n {this.content.uploads.map(upload => {\n if (strIsNullOrEmptyOrWhitespace(upload.path)) {\n return null;\n }\n\n return (\n <a href={upload.path!} target=\"_blank\" class=\"list-group-item list-group-item-action\">\n {upload.name}\n </a>\n );\n })}\n </div>\n </ConditionalRender>\n </Host>\n );\n }\n\n private makeTitleContent(translation: Translation): TitleContent {\n return {\n id: this.content.id,\n createdAt: this.content.createdAt,\n updatedAt: this.content.updatedAt,\n hasUnderscore: false,\n size: 'h2',\n translations: [{ ...translation }],\n };\n }\n}\n"],"version":3}
1
+ {"file":"aico-upload-content2.js","mappings":";;;;;;AAAA,MAAM,oBAAoB,GAAG,0CAA0C;;MCY1D,iBAAiB;;;;;sBAGH,IAAI;;IAE7B,MAAM;;QACJ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;QAC9G,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAEvG,QACE,EAAC,IAAI,QACH,EAAC,iBAAiB,IAAC,SAAS,EAAE,WAAW,KAAK,IAAI,IAChD,0BAAoB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI,CACvE,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,IACrE,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cAAQ,KAAK,EAAC,0FAA0F,EAAC,eAAe,QAAC,GAAG,EAAE,UAAW,GAAI,CACzI,CACY,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IACxD,SAAG,KAAK,EAAC,WAAW,aAAW,EAC/B,WAAK,KAAK,EAAC,6BAA6B,IACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;YAC9B,IAAI,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC7C,OAAO,IAAI,CAAC;aACb;YAED,QACE,SAAG,IAAI,EAAE,MAAM,CAAC,IAAK,EAAE,MAAM,EAAC,QAAQ,EAAC,KAAK,EAAC,wCAAwC,IAClF,MAAM,CAAC,IAAI,CACV,EACJ;SACH,CAAC,CACE,CACY,CACf,EACP;KACH;IAEO,gBAAgB,CAAC,WAAwB;QAC/C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,mBAAM,WAAW,EAAG;SACnC,CAAC;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/content/aico-upload-content/aico-upload-content.css?tag=aico-upload-content&encapsulation=scoped","src/components/content/aico-upload-content/aico-upload-content.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport type { UploadContent } from '../../../model/article/content/UploadContent';\nimport type { Translation } from '../../../model/article/Translation';\nimport type { TitleContent } from '../../../model/article/content/TitleContent';\nimport { getYoutubeURL, strIsNullOrEmptyOrWhitespace } from '../../../utils/utils';\nimport ConditionalRender from '../../../utils/ConditionalRender';\n\n@Component({\n tag: 'aico-upload-content',\n styleUrl: 'aico-upload-content.css',\n scoped: true,\n})\nexport class AicoUploadContent {\n @Prop() content!: UploadContent;\n\n @Prop() locale: string = 'de';\n\n render() {\n const translation = this.content.translations.find(translation => translation.locale === this.locale) ?? null;\n const youtubeUrl = this.content && this.content.videoUrl ? getYoutubeURL(this.content.videoUrl) : null;\n\n return (\n <Host>\n <ConditionalRender condition={translation !== null}>\n <aico-title-content content={this.makeTitleContent(translation!)} locale={this.locale} />\n </ConditionalRender>\n <ConditionalRender condition={!strIsNullOrEmptyOrWhitespace(youtubeUrl)}>\n <div class=\"ratio ratio-16x9\">\n <iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowFullScreen src={youtubeUrl!} />\n </div>\n </ConditionalRender>\n <ConditionalRender condition={!this.content.shouldHideFile}>\n <p class=\"fs-3 mt-3\">Files:</p>\n <div class=\"list-group list-group-flush\">\n {this.content.uploads.map(upload => {\n if (strIsNullOrEmptyOrWhitespace(upload.path)) {\n return null;\n }\n\n return (\n <a href={upload.path!} target=\"_blank\" class=\"list-group-item list-group-item-action\">\n {upload.name}\n </a>\n );\n })}\n </div>\n </ConditionalRender>\n </Host>\n );\n }\n\n private makeTitleContent(translation: Translation): TitleContent {\n return {\n id: this.content.id,\n createdAt: this.content.createdAt,\n updatedAt: this.content.updatedAt,\n hasUnderscore: false,\n size: 'h2',\n translations: [{ ...translation }],\n };\n }\n}\n"],"version":3}
@@ -11,11 +11,13 @@ const AicoVideoContent = /*@__PURE__*/ proxyCustomElement(class AicoVideoContent
11
11
  super();
12
12
  this.__registerHost();
13
13
  this.content = undefined;
14
+ this.locale = 'de';
14
15
  }
15
16
  render() {
16
- const translation = this.content.translations.length > 0 ? this.content.translations[0] : null;
17
+ var _a;
18
+ const translation = (_a = this.content.translations.find(translation => translation.locale === this.locale)) !== null && _a !== void 0 ? _a : null;
17
19
  const youtubeUrl = translation && translation.videoUrl ? getYoutubeURL(translation.videoUrl) : null;
18
- return (h(Host, null, h(ConditionalRender, { condition: translation !== null }, h("aico-title-content", { content: this.makeTitleContent(translation) })), h(ConditionalRender, { condition: !strIsNullOrEmptyOrWhitespace(youtubeUrl) }, h("div", { class: "ratio ratio-16x9" }, h("iframe", { allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, src: youtubeUrl }))), h(ConditionalRender, { condition: !strIsNullOrEmptyOrWhitespace(this.content.localVideoUrl) }, h("div", { class: "ratio ratio-16x9" }, h("video", { class: "media-card-video", controls: true, playsInline: true, style: { height: this.content.isVideoMinimized ? '400px' : '100%' } }, h("source", { src: this.content.localVideoUrl, type: "video/mp4" }))))));
20
+ return (h(Host, null, h(ConditionalRender, { condition: translation !== null }, h("aico-title-content", { content: this.makeTitleContent(translation), locale: this.locale })), h(ConditionalRender, { condition: !strIsNullOrEmptyOrWhitespace(youtubeUrl) }, h("div", { class: "ratio ratio-16x9" }, h("iframe", { allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, src: youtubeUrl }))), h(ConditionalRender, { condition: !strIsNullOrEmptyOrWhitespace(this.content.localVideoUrl) }, h("div", { class: "ratio ratio-16x9" }, h("video", { class: "media-card-video", controls: true, playsInline: true, style: { height: this.content.isVideoMinimized ? '400px' : '100%' } }, h("source", { src: this.content.localVideoUrl, type: "video/mp4" }))))));
19
21
  }
20
22
  makeTitleContent(translation) {
21
23
  var _a;
@@ -30,7 +32,8 @@ const AicoVideoContent = /*@__PURE__*/ proxyCustomElement(class AicoVideoContent
30
32
  }
31
33
  static get style() { return aicoVideoContentCss; }
32
34
  }, [2, "aico-video-content", {
33
- "content": [16]
35
+ "content": [16],
36
+ "locale": [1]
34
37
  }]);
35
38
  function defineCustomElement() {
36
39
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"aico-video-content2.js","mappings":";;;;;;AAAA,MAAM,mBAAmB,GAAG,6KAA6K;;MCY5L,gBAAgB;;;;;;IAG3B,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/F,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAEpG,QACE,EAAC,IAAI,QACH,EAAC,iBAAiB,IAAC,SAAS,EAAE,WAAW,KAAK,IAAI,IAChD,0BAAoB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAY,CAAC,GAAI,CAClD,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,IACrE,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cAAQ,KAAK,EAAC,0FAA0F,EAAC,eAAe,QAAC,GAAG,EAAE,UAAW,GAAI,CACzI,CACY,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IACrF,WAAK,KAAK,EAAC,kBAAkB,IAC3B,aAAO,KAAK,EAAC,kBAAkB,EAAC,QAAQ,QAAC,WAAW,QAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,OAAO,GAAG,MAAM,EAAE,IACtH,cAAQ,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAC,WAAW,GAAG,CACtD,CACJ,CACY,CACf,EACP;KACH;IAEO,gBAAgB,CAAC,WAAwB;;QAC/C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,mCAAI,IAAI;YACpC,YAAY,EAAE,mBAAM,WAAW,EAAG;SACnC,CAAC;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/content/aico-video-content/aico-video-content.css?tag=aico-video-content&encapsulation=scoped","src/components/content/aico-video-content/aico-video-content.tsx"],"sourcesContent":[".media-card-video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 100%;\n width: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport type { VideoContent } from '../../../model/article/content/VideoContent';\nimport type { Translation } from '../../../model/article/Translation';\nimport type { TitleContent } from '../../../model/article/content/TitleContent';\nimport ConditionalRender from '../../../utils/ConditionalRender';\nimport { getYoutubeURL, strIsNullOrEmptyOrWhitespace } from '../../../utils/utils';\n\n@Component({\n tag: 'aico-video-content',\n styleUrl: 'aico-video-content.css',\n scoped: true,\n})\nexport class AicoVideoContent {\n @Prop() content!: VideoContent;\n\n render() {\n const translation = this.content.translations.length > 0 ? this.content.translations[0] : null;\n const youtubeUrl = translation && translation.videoUrl ? getYoutubeURL(translation.videoUrl) : null;\n\n return (\n <Host>\n <ConditionalRender condition={translation !== null}>\n <aico-title-content content={this.makeTitleContent(translation!)} />\n </ConditionalRender>\n <ConditionalRender condition={!strIsNullOrEmptyOrWhitespace(youtubeUrl)}>\n <div class=\"ratio ratio-16x9\">\n <iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowFullScreen src={youtubeUrl!} />\n </div>\n </ConditionalRender>\n <ConditionalRender condition={!strIsNullOrEmptyOrWhitespace(this.content.localVideoUrl)}>\n <div class=\"ratio ratio-16x9\">\n <video class=\"media-card-video\" controls playsInline style={{ height: this.content.isVideoMinimized ? '400px' : '100%' }}>\n <source src={this.content.localVideoUrl} type=\"video/mp4\" />\n </video>\n </div>\n </ConditionalRender>\n </Host>\n );\n }\n\n private makeTitleContent(translation: Translation): TitleContent {\n return {\n id: this.content.id,\n createdAt: this.content.createdAt,\n updatedAt: this.content.updatedAt,\n hasUnderscore: false,\n size: this.content.titleSize ?? 'h2',\n translations: [{ ...translation }],\n };\n }\n}\n"],"version":3}
1
+ {"file":"aico-video-content2.js","mappings":";;;;;;AAAA,MAAM,mBAAmB,GAAG,6KAA6K;;MCY5L,gBAAgB;;;;;sBAGF,IAAI;;IAE7B,MAAM;;QACJ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;QAC9G,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAEpG,QACE,EAAC,IAAI,QACH,EAAC,iBAAiB,IAAC,SAAS,EAAE,WAAW,KAAK,IAAI,IAChD,0BAAoB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI,CACvE,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,IACrE,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cAAQ,KAAK,EAAC,0FAA0F,EAAC,eAAe,QAAC,GAAG,EAAE,UAAW,GAAI,CACzI,CACY,EACpB,EAAC,iBAAiB,IAAC,SAAS,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IACrF,WAAK,KAAK,EAAC,kBAAkB,IAC3B,aAAO,KAAK,EAAC,kBAAkB,EAAC,QAAQ,QAAC,WAAW,QAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,OAAO,GAAG,MAAM,EAAE,IACtH,cAAQ,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAC,WAAW,GAAG,CACtD,CACJ,CACY,CACf,EACP;KACH;IAEO,gBAAgB,CAAC,WAAwB;;QAC/C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,mCAAI,IAAI;YACpC,YAAY,EAAE,mBAAM,WAAW,EAAG;SACnC,CAAC;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/content/aico-video-content/aico-video-content.css?tag=aico-video-content&encapsulation=scoped","src/components/content/aico-video-content/aico-video-content.tsx"],"sourcesContent":[".media-card-video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 100%;\n width: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport type { VideoContent } from '../../../model/article/content/VideoContent';\nimport type { Translation } from '../../../model/article/Translation';\nimport type { TitleContent } from '../../../model/article/content/TitleContent';\nimport ConditionalRender from '../../../utils/ConditionalRender';\nimport { getYoutubeURL, strIsNullOrEmptyOrWhitespace } from '../../../utils/utils';\n\n@Component({\n tag: 'aico-video-content',\n styleUrl: 'aico-video-content.css',\n scoped: true,\n})\nexport class AicoVideoContent {\n @Prop() content!: VideoContent;\n\n @Prop() locale: string = 'de';\n\n render() {\n const translation = this.content.translations.find(translation => translation.locale === this.locale) ?? null;\n const youtubeUrl = translation && translation.videoUrl ? getYoutubeURL(translation.videoUrl) : null;\n\n return (\n <Host>\n <ConditionalRender condition={translation !== null}>\n <aico-title-content content={this.makeTitleContent(translation!)} locale={this.locale} />\n </ConditionalRender>\n <ConditionalRender condition={!strIsNullOrEmptyOrWhitespace(youtubeUrl)}>\n <div class=\"ratio ratio-16x9\">\n <iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowFullScreen src={youtubeUrl!} />\n </div>\n </ConditionalRender>\n <ConditionalRender condition={!strIsNullOrEmptyOrWhitespace(this.content.localVideoUrl)}>\n <div class=\"ratio ratio-16x9\">\n <video class=\"media-card-video\" controls playsInline style={{ height: this.content.isVideoMinimized ? '400px' : '100%' }}>\n <source src={this.content.localVideoUrl} type=\"video/mp4\" />\n </video>\n </div>\n </ConditionalRender>\n </Host>\n );\n }\n\n private makeTitleContent(translation: Translation): TitleContent {\n return {\n id: this.content.id,\n createdAt: this.content.createdAt,\n updatedAt: this.content.updatedAt,\n hasUnderscore: false,\n size: this.content.titleSize ?? 'h2',\n translations: [{ ...translation }],\n };\n }\n}\n"],"version":3}
@@ -11,26 +11,32 @@ const getAuthenticatedRequest = (api, route, query, signal) => {
11
11
  });
12
12
  };
13
13
 
14
- async function fetchNewsArticles(api, page, size, signal) {
14
+ async function fetchNewsArticles(api, page, size, signal, newsChannels = []) {
15
15
  const queryParams = new URLSearchParams();
16
16
  queryParams.set('page[number]', String(page));
17
17
  queryParams.set('page[size]', String(size));
18
+ queryParams.set('sort', '-publishDate');
18
19
  queryParams.set('filter[isActive]', '1');
19
20
  queryParams.set('filter[excludeTag][]', 'Eisnull');
20
- queryParams.set('sort', '-publishDate');
21
+ for (const newsChannel of newsChannels) {
22
+ queryParams.append('filter[channel][]', newsChannel);
23
+ }
21
24
  const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
22
25
  const response = await fetch(request);
23
26
  return await response.json();
24
27
  }
25
- async function fetchSpecialNewsArticles(api, page, size, signal) {
28
+ async function fetchSpecialNewsArticles(api, page, size, signal, newsChannels = []) {
26
29
  const queryParams = new URLSearchParams();
27
30
  queryParams.set('page[number]', String(page));
28
31
  queryParams.set('page[size]', String(size));
32
+ queryParams.set('sort', '-publishDate');
29
33
  queryParams.set('filter[isActive]', '1');
30
34
  queryParams.set('filter[isSpecialArticle]', '1');
31
35
  queryParams.set('filter[isLightVersion]', 'true');
32
36
  queryParams.set('filter[excludeTag][]', 'Eisnull');
33
- queryParams.set('sort', '-publishDate');
37
+ for (const newsChannel of newsChannels) {
38
+ queryParams.append('filter[channel][]', newsChannel);
39
+ }
34
40
  const request = getAuthenticatedRequest(api, 'news', queryParams, signal);
35
41
  const response = await fetch(request);
36
42
  return await response.json();
@@ -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\nexport async function fetchNewsArticles(api: AicoApiRequestInfo, page: number, size: number, signal: AbortSignal): Promise<NewsResponse> {\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\n queryParams.set('filter[isActive]', '1');\n queryParams.set('filter[excludeTag][]', 'Eisnull');\n queryParams.set('sort', '-publishDate');\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(api: AicoApiRequestInfo, page: number, size: number, signal: AbortSignal): Promise<NewsResponse> {\n const queryParams = new URLSearchParams();\n queryParams.set('page[number]', String(page));\n queryParams.set('page[size]', String(size));\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 queryParams.set('sort', '-publishDate');\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> {\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[0];\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"],"version":3}
1
+ {"file":"utils.js","mappings":"AAKO,MAAM,uBAAuB,GAAG,CAAC,WAAmB;IACzD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,WAAW,EAAE,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,GAAuB,EAAE,KAAa,EAAE,KAAsB,EAAE,MAAoB;IAC1H,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;QACvE,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC;QACjD,MAAM;KACP,CAAC,CAAC;AACL,CAAC;;ACbM,eAAe,iBAAiB,CAAC,GAAuB,EAAE,IAAY,EAAE,IAAY,EAAE,MAAmB,EAAE,eAAyB,EAAE;IAC3I,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzC,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,WAAW,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;KACtD;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAEM,eAAe,wBAAwB,CAAC,GAAuB,EAAE,IAAY,EAAE,IAAY,EAAE,MAAmB,EAAE,eAAyB,EAAE;IAClJ,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzC,WAAW,CAAC,GAAG,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;IACjD,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IAClD,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,WAAW,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;KACtD;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAEM,eAAe,gBAAgB,CAAC,GAAuB,EAAE,SAAiB,EAAE,MAAmB;IACpG,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,EAAE,QAAQ,SAAS,EAAE,EAAE,IAAI,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAEM,eAAe,wBAAwB,CAAC,GAAuB,EAAE,SAAiB,EAAE,MAAmB;IAC5G,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,WAAW,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;SAWe,gBAAgB,CAAC,WAAoB;IACnD,QAAQ,WAAW;QACjB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;SAEe,aAAa,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,2DAA2D,CAAC;IAC3E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;QAClC,OAAO,iCAAiC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;SAEe,4BAA4B,CAAC,GAAmB;IAC9D,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;SAEe,QAAQ,CAAC,UAAsC;IAC7D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC5C,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACtB;KACF;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B;;;;","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\nexport async function fetchNewsArticles(api: AicoApiRequestInfo, page: number, size: number, signal: AbortSignal, newsChannels: string[] = []): 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 for (const newsChannel of newsChannels) {\n queryParams.append('filter[channel][]', newsChannel);\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(api: AicoApiRequestInfo, page: number, size: number, signal: AbortSignal, newsChannels: string[] = []): 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 for (const newsChannel of newsChannels) {\n queryParams.append('filter[channel][]', newsChannel);\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 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> {\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[0];\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"],"version":3}