@ndla/ui 56.0.123-alpha.0 → 56.0.124-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/es/Article/Article.js +122 -194
  2. package/es/Article/Article.js.map +1 -0
  3. package/es/Article/ArticleByline.js +121 -170
  4. package/es/Article/ArticleByline.js.map +1 -0
  5. package/es/Article/ArticleFootNotes.js +38 -58
  6. package/es/Article/ArticleFootNotes.js.map +1 -0
  7. package/es/AudioPlayer/AudioPlayer.js +151 -212
  8. package/es/AudioPlayer/AudioPlayer.js.map +1 -0
  9. package/es/AudioPlayer/Controls.js +246 -324
  10. package/es/AudioPlayer/Controls.js.map +1 -0
  11. package/es/AudioPlayer/SpeechControl.js +36 -52
  12. package/es/AudioPlayer/SpeechControl.js.map +1 -0
  13. package/es/AudioPlayer/index.js +7 -9
  14. package/es/AudioPlayer/index.js.map +1 -0
  15. package/es/Breadcrumb/Breadcrumb.js +42 -58
  16. package/es/Breadcrumb/Breadcrumb.js.map +1 -0
  17. package/es/Breadcrumb/BreadcrumbItem.js +33 -59
  18. package/es/Breadcrumb/BreadcrumbItem.js.map +1 -0
  19. package/es/Breadcrumb/HomeBreadcrumb.js +41 -74
  20. package/es/Breadcrumb/HomeBreadcrumb.js.map +1 -0
  21. package/es/Breadcrumb/index.js +8 -10
  22. package/es/Breadcrumb/index.js.map +1 -0
  23. package/es/CampaignBlock/CampaignBlock.js +124 -173
  24. package/es/CampaignBlock/CampaignBlock.js.map +1 -0
  25. package/es/CodeBlock/CodeBlock.js +21 -31
  26. package/es/CodeBlock/CodeBlock.js.map +1 -0
  27. package/es/CodeBlock/codeLanguageOptions.js +112 -82
  28. package/es/CodeBlock/codeLanguageOptions.js.map +1 -0
  29. package/es/Concept/Concept.js +46 -68
  30. package/es/Concept/Concept.js.map +1 -0
  31. package/es/ContactBlock/ContactBlock.js +137 -191
  32. package/es/ContactBlock/ContactBlock.js.map +1 -0
  33. package/es/ContentTypeBadge/ContentTypeBadge.js +38 -47
  34. package/es/ContentTypeBadge/ContentTypeBadge.js.map +1 -0
  35. package/es/ContentTypeBlockQuote/ContentTypeBlockQuote.js +21 -28
  36. package/es/ContentTypeBlockQuote/ContentTypeBlockQuote.js.map +1 -0
  37. package/es/ContentTypeFramedContent/ContentTypeFramedContent.js +21 -28
  38. package/es/ContentTypeFramedContent/ContentTypeFramedContent.js.map +1 -0
  39. package/es/ContentTypeHero/ContentTypeHero.js +36 -47
  40. package/es/ContentTypeHero/ContentTypeHero.js.map +1 -0
  41. package/es/CopyParagraphButton/CopyParagraphButton.js +57 -78
  42. package/es/CopyParagraphButton/CopyParagraphButton.js.map +1 -0
  43. package/es/CopyParagraphButton/index.js +7 -10
  44. package/es/CopyParagraphButton/index.js.map +1 -0
  45. package/es/Embed/AudioEmbed.js +49 -73
  46. package/es/Embed/AudioEmbed.js.map +1 -0
  47. package/es/Embed/BrightcoveEmbed.js +90 -127
  48. package/es/Embed/BrightcoveEmbed.js.map +1 -0
  49. package/es/Embed/CodeEmbed.js +55 -73
  50. package/es/Embed/CodeEmbed.js.map +1 -0
  51. package/es/Embed/ConceptEmbed.js +72 -117
  52. package/es/Embed/ConceptEmbed.js.map +1 -0
  53. package/es/Embed/ConceptInlineTriggerButton.js +39 -44
  54. package/es/Embed/ConceptInlineTriggerButton.js.map +1 -0
  55. package/es/Embed/ContentLinkEmbed.js +29 -49
  56. package/es/Embed/ContentLinkEmbed.js.map +1 -0
  57. package/es/Embed/CopyrightEmbed.js +21 -31
  58. package/es/Embed/CopyrightEmbed.js.map +1 -0
  59. package/es/Embed/EmbedErrorPlaceholder.js +40 -55
  60. package/es/Embed/EmbedErrorPlaceholder.js.map +1 -0
  61. package/es/Embed/EmbedWrapper.js +21 -46
  62. package/es/Embed/EmbedWrapper.js.map +1 -0
  63. package/es/Embed/ExternalEmbed.js +50 -70
  64. package/es/Embed/ExternalEmbed.js.map +1 -0
  65. package/es/Embed/FootnoteEmbed.js +25 -42
  66. package/es/Embed/FootnoteEmbed.js.map +1 -0
  67. package/es/Embed/GlossEmbed.js +49 -77
  68. package/es/Embed/GlossEmbed.js.map +1 -0
  69. package/es/Embed/H5pEmbed.js +35 -58
  70. package/es/Embed/H5pEmbed.js.map +1 -0
  71. package/es/Embed/IframeEmbed.js +65 -89
  72. package/es/Embed/IframeEmbed.js.map +1 -0
  73. package/es/Embed/ImageEmbed.js +167 -225
  74. package/es/Embed/ImageEmbed.js.map +1 -0
  75. package/es/Embed/InlineTriggerButton.js +20 -32
  76. package/es/Embed/InlineTriggerButton.js.map +1 -0
  77. package/es/Embed/RelatedContentEmbed.js +36 -53
  78. package/es/Embed/RelatedContentEmbed.js.map +1 -0
  79. package/es/Embed/UnknownEmbed.js +18 -29
  80. package/es/Embed/UnknownEmbed.js.map +1 -0
  81. package/es/Embed/UuDisclaimerEmbed.js +51 -85
  82. package/es/Embed/UuDisclaimerEmbed.js.map +1 -0
  83. package/es/ErrorMessage/ErrorMessage.js +51 -92
  84. package/es/ErrorMessage/ErrorMessage.js.map +1 -0
  85. package/es/ErrorMessage/index.js +7 -9
  86. package/es/ErrorMessage/index.js.map +1 -0
  87. package/es/FactBox/FactBox.js +114 -170
  88. package/es/FactBox/FactBox.js.map +1 -0
  89. package/es/FactBox/index.js +7 -9
  90. package/es/FactBox/index.js.map +1 -0
  91. package/es/FileList/File.js +70 -95
  92. package/es/FileList/File.js.map +1 -0
  93. package/es/FileList/FileList.js +31 -46
  94. package/es/FileList/FileList.js.map +1 -0
  95. package/es/FileList/PdfFile.js +27 -49
  96. package/es/FileList/PdfFile.js.map +1 -0
  97. package/es/Gloss/Gloss.js +133 -166
  98. package/es/Gloss/Gloss.js.map +1 -0
  99. package/es/Gloss/GlossExample.js +42 -60
  100. package/es/Gloss/GlossExample.js.map +1 -0
  101. package/es/Grid/Grid.js +63 -91
  102. package/es/Grid/Grid.js.map +1 -0
  103. package/es/Grid/GridParallaxItem.js +19 -30
  104. package/es/Grid/GridParallaxItem.js.map +1 -0
  105. package/es/KeyFigure/KeyFigure.js +44 -61
  106. package/es/KeyFigure/KeyFigure.js.map +1 -0
  107. package/es/LicenseByline/EmbedByline.js +126 -206
  108. package/es/LicenseByline/EmbedByline.js.map +1 -0
  109. package/es/LicenseByline/LicenseLink.js +28 -53
  110. package/es/LicenseByline/LicenseLink.js.map +1 -0
  111. package/es/LinkBlock/LinkBlock.js +70 -99
  112. package/es/LinkBlock/LinkBlock.js.map +1 -0
  113. package/es/LinkBlock/LinkBlockSection.js +20 -32
  114. package/es/LinkBlock/LinkBlockSection.js.map +1 -0
  115. package/es/Pitch/Pitch.js +59 -80
  116. package/es/Pitch/Pitch.js.map +1 -0
  117. package/es/RelatedArticleList/RelatedArticleList.js +91 -129
  118. package/es/RelatedArticleList/RelatedArticleList.js.map +1 -0
  119. package/es/RelatedArticleList/index.js +7 -10
  120. package/es/RelatedArticleList/index.js.map +1 -0
  121. package/es/ResourceBox/ResourceBox.js +71 -96
  122. package/es/ResourceBox/ResourceBox.js.map +1 -0
  123. package/es/TagSelector/TagSelector.js +93 -136
  124. package/es/TagSelector/TagSelector.js.map +1 -0
  125. package/es/ZendeskButton/ZendeskButton.js +38 -52
  126. package/es/ZendeskButton/ZendeskButton.js.map +1 -0
  127. package/es/_virtual/rolldown_runtime.js +11 -0
  128. package/es/i18n/formatNestedMessages.js +16 -24
  129. package/es/i18n/formatNestedMessages.js.map +1 -0
  130. package/es/i18n/i18n.js +25 -31
  131. package/es/i18n/i18n.js.map +1 -0
  132. package/es/i18n/useComponentTranslations.js +147 -203
  133. package/es/i18n/useComponentTranslations.js.map +1 -0
  134. package/es/index.js +64 -44
  135. package/es/locale/messages-en.js +435 -459
  136. package/es/locale/messages-en.js.map +1 -0
  137. package/es/locale/messages-nb.js +435 -459
  138. package/es/locale/messages-nb.js.map +1 -0
  139. package/es/locale/messages-nn.js +435 -459
  140. package/es/locale/messages-nn.js.map +1 -0
  141. package/es/locale/messages-se.js +435 -459
  142. package/es/locale/messages-se.js.map +1 -0
  143. package/es/model/ContentType.js +69 -65
  144. package/es/model/ContentType.js.map +1 -0
  145. package/es/model/SubjectCategories.js +23 -10
  146. package/es/model/SubjectCategories.js.map +1 -0
  147. package/es/model/SubjectTypes.js +21 -9
  148. package/es/model/SubjectTypes.js.map +1 -0
  149. package/es/model/WordClass.js +51 -43
  150. package/es/model/WordClass.js.map +1 -0
  151. package/es/model/index.js +16 -18
  152. package/es/model/index.js.map +1 -0
  153. package/es/utils/licenseAttributes.js +15 -17
  154. package/es/utils/licenseAttributes.js.map +1 -0
  155. package/es/utils/relativeUrl.js +21 -32
  156. package/es/utils/relativeUrl.js.map +1 -0
  157. package/lib/Article/Article.js +130 -203
  158. package/lib/Article/Article.js.map +1 -0
  159. package/lib/Article/ArticleByline.js +125 -179
  160. package/lib/Article/ArticleByline.js.map +1 -0
  161. package/lib/Article/ArticleFootNotes.js +39 -65
  162. package/lib/Article/ArticleFootNotes.js.map +1 -0
  163. package/lib/AudioPlayer/AudioPlayer.js +155 -221
  164. package/lib/AudioPlayer/AudioPlayer.js.map +1 -0
  165. package/lib/AudioPlayer/Controls.js +249 -332
  166. package/lib/AudioPlayer/Controls.js.map +1 -0
  167. package/lib/AudioPlayer/SpeechControl.js +39 -60
  168. package/lib/AudioPlayer/SpeechControl.js.map +1 -0
  169. package/lib/AudioPlayer/index.js +7 -15
  170. package/lib/AudioPlayer/index.js.map +1 -0
  171. package/lib/Breadcrumb/Breadcrumb.js +43 -65
  172. package/lib/Breadcrumb/Breadcrumb.js.map +1 -0
  173. package/lib/Breadcrumb/BreadcrumbItem.js +34 -65
  174. package/lib/Breadcrumb/BreadcrumbItem.js.map +1 -0
  175. package/lib/Breadcrumb/HomeBreadcrumb.js +43 -82
  176. package/lib/Breadcrumb/HomeBreadcrumb.js.map +1 -0
  177. package/lib/Breadcrumb/index.js +8 -22
  178. package/lib/Breadcrumb/index.js.map +1 -0
  179. package/lib/CampaignBlock/CampaignBlock.js +128 -183
  180. package/lib/CampaignBlock/CampaignBlock.js.map +1 -0
  181. package/lib/CodeBlock/CodeBlock.js +23 -38
  182. package/lib/CodeBlock/CodeBlock.js.map +1 -0
  183. package/lib/CodeBlock/codeLanguageOptions.js +112 -87
  184. package/lib/CodeBlock/codeLanguageOptions.js.map +1 -0
  185. package/lib/Concept/Concept.js +48 -75
  186. package/lib/Concept/Concept.js.map +1 -0
  187. package/lib/ContactBlock/ContactBlock.js +141 -200
  188. package/lib/ContactBlock/ContactBlock.js.map +1 -0
  189. package/lib/ContentTypeBadge/ContentTypeBadge.js +40 -54
  190. package/lib/ContentTypeBadge/ContentTypeBadge.js.map +1 -0
  191. package/lib/ContentTypeBlockQuote/ContentTypeBlockQuote.js +23 -35
  192. package/lib/ContentTypeBlockQuote/ContentTypeBlockQuote.js.map +1 -0
  193. package/lib/ContentTypeFramedContent/ContentTypeFramedContent.js +23 -35
  194. package/lib/ContentTypeFramedContent/ContentTypeFramedContent.js.map +1 -0
  195. package/lib/ContentTypeHero/ContentTypeHero.js +37 -54
  196. package/lib/ContentTypeHero/ContentTypeHero.js.map +1 -0
  197. package/lib/CopyParagraphButton/CopyParagraphButton.js +61 -87
  198. package/lib/CopyParagraphButton/CopyParagraphButton.js.map +1 -0
  199. package/lib/CopyParagraphButton/index.js +7 -21
  200. package/lib/CopyParagraphButton/index.js.map +1 -0
  201. package/lib/Embed/AudioEmbed.js +51 -82
  202. package/lib/Embed/AudioEmbed.js.map +1 -0
  203. package/lib/Embed/BrightcoveEmbed.js +93 -138
  204. package/lib/Embed/BrightcoveEmbed.js.map +1 -0
  205. package/lib/Embed/CodeEmbed.js +59 -83
  206. package/lib/Embed/CodeEmbed.js.map +1 -0
  207. package/lib/Embed/ConceptEmbed.js +77 -127
  208. package/lib/Embed/ConceptEmbed.js.map +1 -0
  209. package/lib/Embed/ConceptInlineTriggerButton.js +39 -49
  210. package/lib/Embed/ConceptInlineTriggerButton.js.map +1 -0
  211. package/lib/Embed/ContentLinkEmbed.js +30 -55
  212. package/lib/Embed/ContentLinkEmbed.js.map +1 -0
  213. package/lib/Embed/CopyrightEmbed.js +22 -37
  214. package/lib/Embed/CopyrightEmbed.js.map +1 -0
  215. package/lib/Embed/EmbedErrorPlaceholder.js +42 -62
  216. package/lib/Embed/EmbedErrorPlaceholder.js.map +1 -0
  217. package/lib/Embed/EmbedWrapper.js +24 -54
  218. package/lib/Embed/EmbedWrapper.js.map +1 -0
  219. package/lib/Embed/ExternalEmbed.js +53 -79
  220. package/lib/Embed/ExternalEmbed.js.map +1 -0
  221. package/lib/Embed/FootnoteEmbed.js +26 -48
  222. package/lib/Embed/FootnoteEmbed.js.map +1 -0
  223. package/lib/Embed/GlossEmbed.js +51 -86
  224. package/lib/Embed/GlossEmbed.js.map +1 -0
  225. package/lib/Embed/H5pEmbed.js +37 -66
  226. package/lib/Embed/H5pEmbed.js.map +1 -0
  227. package/lib/Embed/IframeEmbed.js +68 -98
  228. package/lib/Embed/IframeEmbed.js.map +1 -0
  229. package/lib/Embed/ImageEmbed.js +173 -238
  230. package/lib/Embed/ImageEmbed.js.map +1 -0
  231. package/lib/Embed/InlineTriggerButton.js +23 -40
  232. package/lib/Embed/InlineTriggerButton.js.map +1 -0
  233. package/lib/Embed/RelatedContentEmbed.js +37 -59
  234. package/lib/Embed/RelatedContentEmbed.js.map +1 -0
  235. package/lib/Embed/UnknownEmbed.js +19 -35
  236. package/lib/Embed/UnknownEmbed.js.map +1 -0
  237. package/lib/Embed/UuDisclaimerEmbed.js +53 -92
  238. package/lib/Embed/UuDisclaimerEmbed.js.map +1 -0
  239. package/lib/ErrorMessage/ErrorMessage.js +53 -99
  240. package/lib/ErrorMessage/ErrorMessage.js.map +1 -0
  241. package/lib/ErrorMessage/index.js +7 -15
  242. package/lib/ErrorMessage/index.js.map +1 -0
  243. package/lib/FactBox/FactBox.js +118 -180
  244. package/lib/FactBox/FactBox.js.map +1 -0
  245. package/lib/FactBox/index.js +7 -15
  246. package/lib/FactBox/index.js.map +1 -0
  247. package/lib/FileList/File.js +75 -105
  248. package/lib/FileList/File.js.map +1 -0
  249. package/lib/FileList/FileList.js +33 -52
  250. package/lib/FileList/FileList.js.map +1 -0
  251. package/lib/FileList/PdfFile.js +27 -55
  252. package/lib/FileList/PdfFile.js.map +1 -0
  253. package/lib/Gloss/Gloss.js +138 -176
  254. package/lib/Gloss/Gloss.js.map +1 -0
  255. package/lib/Gloss/GlossExample.js +45 -68
  256. package/lib/Gloss/GlossExample.js.map +1 -0
  257. package/lib/Grid/Grid.js +64 -98
  258. package/lib/Grid/Grid.js.map +1 -0
  259. package/lib/Grid/GridParallaxItem.js +19 -36
  260. package/lib/Grid/GridParallaxItem.js.map +1 -0
  261. package/lib/KeyFigure/KeyFigure.js +45 -68
  262. package/lib/KeyFigure/KeyFigure.js.map +1 -0
  263. package/lib/LicenseByline/EmbedByline.js +130 -216
  264. package/lib/LicenseByline/EmbedByline.js.map +1 -0
  265. package/lib/LicenseByline/LicenseLink.js +29 -59
  266. package/lib/LicenseByline/LicenseLink.js.map +1 -0
  267. package/lib/LinkBlock/LinkBlock.js +73 -108
  268. package/lib/LinkBlock/LinkBlock.js.map +1 -0
  269. package/lib/LinkBlock/LinkBlockSection.js +22 -39
  270. package/lib/LinkBlock/LinkBlockSection.js.map +1 -0
  271. package/lib/Pitch/Pitch.js +61 -89
  272. package/lib/Pitch/Pitch.js.map +1 -0
  273. package/lib/RelatedArticleList/RelatedArticleList.js +96 -140
  274. package/lib/RelatedArticleList/RelatedArticleList.js.map +1 -0
  275. package/lib/RelatedArticleList/index.js +7 -20
  276. package/lib/RelatedArticleList/index.js.map +1 -0
  277. package/lib/ResourceBox/ResourceBox.js +73 -104
  278. package/lib/ResourceBox/ResourceBox.js.map +1 -0
  279. package/lib/TagSelector/TagSelector.js +103 -145
  280. package/lib/TagSelector/TagSelector.js.map +1 -0
  281. package/lib/ZendeskButton/ZendeskButton.js +39 -58
  282. package/lib/ZendeskButton/ZendeskButton.js.map +1 -0
  283. package/lib/_virtual/rolldown_runtime.js +42 -0
  284. package/lib/i18n/formatNestedMessages.js +16 -30
  285. package/lib/i18n/formatNestedMessages.js.map +1 -0
  286. package/lib/i18n/i18n.js +28 -38
  287. package/lib/i18n/i18n.js.map +1 -0
  288. package/lib/i18n/useComponentTranslations.js +154 -215
  289. package/lib/i18n/useComponentTranslations.js.map +1 -0
  290. package/lib/index.js +156 -598
  291. package/lib/locale/messages-en.js +436 -466
  292. package/lib/locale/messages-en.js.map +1 -0
  293. package/lib/locale/messages-nb.js +436 -466
  294. package/lib/locale/messages-nb.js.map +1 -0
  295. package/lib/locale/messages-nn.js +436 -466
  296. package/lib/locale/messages-nn.js.map +1 -0
  297. package/lib/locale/messages-se.js +436 -466
  298. package/lib/locale/messages-se.js.map +1 -0
  299. package/lib/model/ContentType.js +90 -70
  300. package/lib/model/ContentType.js.map +1 -0
  301. package/lib/model/SubjectCategories.js +26 -14
  302. package/lib/model/SubjectCategories.js.map +1 -0
  303. package/lib/model/SubjectTypes.js +24 -13
  304. package/lib/model/SubjectTypes.js.map +1 -0
  305. package/lib/model/WordClass.js +55 -48
  306. package/lib/model/WordClass.js.map +1 -0
  307. package/lib/model/index.js +16 -25
  308. package/lib/model/index.js.map +1 -0
  309. package/lib/utils/licenseAttributes.js +14 -22
  310. package/lib/utils/licenseAttributes.js.map +1 -0
  311. package/lib/utils/relativeUrl.js +20 -38
  312. package/lib/utils/relativeUrl.js.map +1 -0
  313. package/package.json +12 -11
  314. package/es/Article/index.js +0 -11
  315. package/es/CampaignBlock/index.js +0 -9
  316. package/es/CodeBlock/index.js +0 -10
  317. package/es/ContactBlock/index.js +0 -9
  318. package/es/ContentTypeHero/index.js +0 -9
  319. package/es/Embed/index.js +0 -25
  320. package/es/Embed/types.js +0 -1
  321. package/es/FileList/index.js +0 -11
  322. package/es/Gloss/index.js +0 -10
  323. package/es/Grid/index.js +0 -10
  324. package/es/KeyFigure/index.js +0 -9
  325. package/es/LicenseByline/index.js +0 -10
  326. package/es/LinkBlock/index.js +0 -10
  327. package/es/Pitch/index.js +0 -9
  328. package/es/ResourceBox/index.js +0 -10
  329. package/es/i18n/index.js +0 -11
  330. package/es/types.js +0 -1
  331. package/lib/Article/index.js +0 -68
  332. package/lib/CampaignBlock/index.js +0 -13
  333. package/lib/CodeBlock/index.js +0 -20
  334. package/lib/ContactBlock/index.js +0 -18
  335. package/lib/ContentTypeHero/index.js +0 -12
  336. package/lib/Embed/index.js +0 -150
  337. package/lib/Embed/types.js +0 -5
  338. package/lib/FileList/index.js +0 -44
  339. package/lib/Gloss/index.js +0 -20
  340. package/lib/Grid/index.js +0 -19
  341. package/lib/KeyFigure/index.js +0 -13
  342. package/lib/LicenseByline/index.js +0 -19
  343. package/lib/LinkBlock/index.js +0 -20
  344. package/lib/Pitch/index.js +0 -12
  345. package/lib/ResourceBox/index.js +0 -13
  346. package/lib/i18n/index.js +0 -68
  347. package/lib/types.js +0 -5
@@ -1,35 +1,23 @@
1
- /**
2
- * Copyright (c) 2023-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
-
9
1
  import { Children } from "react";
10
2
  import { styled } from "@ndla/styled-system/jsx";
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- const StyledList = styled("ul", {
13
- base: {
14
- display: "flex",
15
- flexDirection: "column",
16
- gap: "xsmall",
17
- listStyle: "none"
18
- }
19
- });
20
- const LinkBlockSection = _ref => {
21
- let {
22
- children,
23
- ...rest
24
- } = _ref;
25
- return /*#__PURE__*/_jsx("nav", {
26
- ...rest,
27
- "data-embed-type": "link-block-list",
28
- children: /*#__PURE__*/_jsx(StyledList, {
29
- children: Children.map(children, child => /*#__PURE__*/_jsx("li", {
30
- children: child
31
- }))
32
- })
33
- });
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region src/LinkBlock/LinkBlockSection.tsx
6
+ const StyledList = styled("ul", { base: {
7
+ display: "flex",
8
+ flexDirection: "column",
9
+ gap: "xsmall",
10
+ listStyle: "none"
11
+ } });
12
+ const LinkBlockSection = ({ children,...rest }) => {
13
+ return /* @__PURE__ */ jsx("nav", {
14
+ ...rest,
15
+ "data-embed-type": "link-block-list",
16
+ children: /* @__PURE__ */ jsx(StyledList, { children: Children.map(children, (child) => /* @__PURE__ */ jsx("li", { children: child })) })
17
+ });
34
18
  };
35
- export default LinkBlockSection;
19
+ var LinkBlockSection_default = LinkBlockSection;
20
+
21
+ //#endregion
22
+ export { LinkBlockSection_default };
23
+ //# sourceMappingURL=LinkBlockSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkBlockSection.js","names":[],"sources":["../../src/LinkBlock/LinkBlockSection.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { Children, type HTMLAttributes, type ReactNode } from \"react\";\nimport { styled } from \"@ndla/styled-system/jsx\";\n\ninterface Props extends HTMLAttributes<HTMLElement> {\n children: ReactNode;\n}\n\nconst StyledList = styled(\"ul\", {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"xsmall\",\n listStyle: \"none\",\n },\n});\n\nconst LinkBlockSection = ({ children, ...rest }: Props) => {\n return (\n <nav {...rest} data-embed-type=\"link-block-list\">\n <StyledList>\n {Children.map(children, (child) => (\n <li>{child}</li>\n ))}\n </StyledList>\n </nav>\n );\n};\n\nexport default LinkBlockSection;\n"],"mappings":";;;;;AAeA,MAAM,aAAa,OAAO,MAAM,EAC9B,MAAM;CACJ,SAAS;CACT,eAAe;CACf,KAAK;CACL,WAAW;AACZ,EACF,EAAC;AAEF,MAAM,mBAAmB,CAAC,EAAE,SAAU,GAAG,MAAa,KAAK;AACzD,wBACE,IAAC;EAAI,GAAI;EAAM,mBAAgB;4BAC7B,IAAC,wBACE,SAAS,IAAI,UAAU,CAAC,0BACvB,IAAC,kBAAI,QAAW,CAChB,GACS;GACT;AAET;AAED,+BAAe"}
package/es/Pitch/Pitch.js CHANGED
@@ -1,83 +1,62 @@
1
- /**
2
- * Copyright (c) 2024-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
-
9
- import parse from "html-react-parser";
1
+ import { getPossiblyRelativeUrl } from "../utils/relativeUrl.js";
10
2
  import { CardHeading, CardImage, CardRoot, Text } from "@ndla/primitives";
11
- import { SafeLink } from "@ndla/safelink";
12
3
  import { styled } from "@ndla/styled-system/jsx";
4
+ import parse from "html-react-parser";
5
+ import { SafeLink } from "@ndla/safelink";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
13
7
  import { linkOverlay } from "@ndla/styled-system/patterns";
14
- import { getPossiblyRelativeUrl } from "../utils/relativeUrl";
15
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
- const StyledCardHeading = styled(CardHeading, {
17
- base: {
18
- paddingBlockStart: "medium"
19
- }
20
- });
21
- const StyledText = styled(Text, {
22
- base: {
23
- paddingBlockEnd: "medium"
24
- }
25
- });
26
- const StyledCardRoot = styled(CardRoot, {
27
- base: {
28
- border: "0",
29
- display: "flex",
30
- flexDirection: "column",
31
- gap: "small"
32
- }
33
- });
34
- const StyledCardImage = styled(CardImage, {
35
- base: {
36
- aspectRatio: "16/9",
37
- height: "unset"
38
- }
39
- });
40
- export const Pitch = _ref => {
41
- let {
42
- title,
43
- url,
44
- metaImage,
45
- path,
46
- description
47
- } = _ref;
48
- const href = getPossiblyRelativeUrl(url, path);
49
- return /*#__PURE__*/_jsx(StyledCardRoot, {
50
- variant: "subtle",
51
- "data-embed-type": "pitch",
52
- asChild: true,
53
- consumeCss: true,
54
- children: /*#__PURE__*/_jsxs("div", {
55
- children: [/*#__PURE__*/_jsx(StyledCardHeading, {
56
- textStyle: "heading.small",
57
- asChild: true,
58
- consumeCss: true,
59
- children: /*#__PURE__*/_jsx(SafeLink, {
60
- to: href,
61
- unstyled: true,
62
- css: linkOverlay.raw(),
63
- children: parse(title)
64
- })
65
- }), !!description && /*#__PURE__*/_jsx(StyledText, {
66
- textStyle: "body.xlarge",
67
- asChild: true,
68
- consumeCss: true,
69
- children: /*#__PURE__*/_jsx("div", {
70
- children: parse(description)
71
- })
72
- }), /*#__PURE__*/_jsx(StyledCardImage, {
73
- variant: "rounded",
74
- src: metaImage.url,
75
- alt: metaImage.alt,
76
- sizes: "480px",
77
- fallbackWidth: 300,
78
- width: 550,
79
- height: 310
80
- })]
81
- })
82
- });
83
- };
8
+
9
+ //#region src/Pitch/Pitch.tsx
10
+ const StyledCardHeading = styled(CardHeading, { base: { paddingBlockStart: "medium" } });
11
+ const StyledText = styled(Text, { base: { paddingBlockEnd: "medium" } });
12
+ const StyledCardRoot = styled(CardRoot, { base: {
13
+ border: "0",
14
+ display: "flex",
15
+ flexDirection: "column",
16
+ gap: "small"
17
+ } });
18
+ const StyledCardImage = styled(CardImage, { base: {
19
+ aspectRatio: "16/9",
20
+ height: "unset"
21
+ } });
22
+ const Pitch = ({ title, url, metaImage, path, description }) => {
23
+ const href = getPossiblyRelativeUrl(url, path);
24
+ return /* @__PURE__ */ jsx(StyledCardRoot, {
25
+ variant: "subtle",
26
+ "data-embed-type": "pitch",
27
+ asChild: true,
28
+ consumeCss: true,
29
+ children: /* @__PURE__ */ jsxs("div", { children: [
30
+ /* @__PURE__ */ jsx(StyledCardHeading, {
31
+ textStyle: "heading.small",
32
+ asChild: true,
33
+ consumeCss: true,
34
+ children: /* @__PURE__ */ jsx(SafeLink, {
35
+ to: href,
36
+ unstyled: true,
37
+ css: linkOverlay.raw(),
38
+ children: parse(title)
39
+ })
40
+ }),
41
+ !!description && /* @__PURE__ */ jsx(StyledText, {
42
+ textStyle: "body.xlarge",
43
+ asChild: true,
44
+ consumeCss: true,
45
+ children: /* @__PURE__ */ jsx("div", { children: parse(description) })
46
+ }),
47
+ /* @__PURE__ */ jsx(StyledCardImage, {
48
+ variant: "rounded",
49
+ src: metaImage.url,
50
+ alt: metaImage.alt,
51
+ sizes: "480px",
52
+ fallbackWidth: 300,
53
+ width: 550,
54
+ height: 310
55
+ })
56
+ ] })
57
+ });
58
+ };
59
+
60
+ //#endregion
61
+ export { Pitch };
62
+ //# sourceMappingURL=Pitch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pitch.js","names":[],"sources":["../../src/Pitch/Pitch.tsx"],"sourcesContent":["/**\n * Copyright (c) 2024-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport parse from \"html-react-parser\";\nimport { CardHeading, CardImage, CardRoot, Text } from \"@ndla/primitives\";\nimport { SafeLink } from \"@ndla/safelink\";\nimport { styled } from \"@ndla/styled-system/jsx\";\nimport { linkOverlay } from \"@ndla/styled-system/patterns\";\nimport { getPossiblyRelativeUrl } from \"../utils/relativeUrl\";\n\nexport interface Props {\n title: string;\n url: string;\n description?: string;\n metaImage: {\n url: string;\n alt: string;\n };\n path?: string;\n}\n\nconst StyledCardHeading = styled(CardHeading, {\n base: {\n paddingBlockStart: \"medium\",\n },\n});\n\nconst StyledText = styled(Text, {\n base: {\n paddingBlockEnd: \"medium\",\n },\n});\n\nconst StyledCardRoot = styled(CardRoot, {\n base: {\n border: \"0\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"small\",\n },\n});\n\nconst StyledCardImage = styled(CardImage, {\n base: {\n aspectRatio: \"16/9\",\n height: \"unset\",\n },\n});\n\nexport const Pitch = ({ title, url, metaImage, path, description }: Props) => {\n const href = getPossiblyRelativeUrl(url, path);\n\n return (\n <StyledCardRoot variant=\"subtle\" data-embed-type=\"pitch\" asChild consumeCss>\n <div>\n <StyledCardHeading textStyle=\"heading.small\" asChild consumeCss>\n <SafeLink to={href} unstyled css={linkOverlay.raw()}>\n {parse(title)}\n </SafeLink>\n </StyledCardHeading>\n {!!description && (\n <StyledText textStyle=\"body.xlarge\" asChild consumeCss>\n <div>{parse(description)}</div>\n </StyledText>\n )}\n <StyledCardImage\n variant=\"rounded\"\n src={metaImage.url}\n alt={metaImage.alt}\n sizes=\"480px\"\n fallbackWidth={300}\n width={550}\n height={310}\n />\n </div>\n </StyledCardRoot>\n );\n};\n"],"mappings":";;;;;;;;;AA0BA,MAAM,oBAAoB,OAAO,aAAa,EAC5C,MAAM,EACJ,mBAAmB,SACpB,EACF,EAAC;AAEF,MAAM,aAAa,OAAO,MAAM,EAC9B,MAAM,EACJ,iBAAiB,SAClB,EACF,EAAC;AAEF,MAAM,iBAAiB,OAAO,UAAU,EACtC,MAAM;CACJ,QAAQ;CACR,SAAS;CACT,eAAe;CACf,KAAK;AACN,EACF,EAAC;AAEF,MAAM,kBAAkB,OAAO,WAAW,EACxC,MAAM;CACJ,aAAa;CACb,QAAQ;AACT,EACF,EAAC;AAEF,MAAa,QAAQ,CAAC,EAAE,OAAO,KAAK,WAAW,MAAM,aAAoB,KAAK;CAC5E,MAAM,OAAO,uBAAuB,KAAK,KAAK;AAE9C,wBACE,IAAC;EAAe,SAAQ;EAAS,mBAAgB;EAAQ;EAAQ;4BAC/D,KAAC;mBACC,IAAC;IAAkB,WAAU;IAAgB;IAAQ;8BACnD,IAAC;KAAS,IAAI;KAAM;KAAS,KAAK,YAAY,KAAK;eAChD,MAAM,MAAM;MACJ;KACO;KACjB,+BACD,IAAC;IAAW,WAAU;IAAc;IAAQ;8BAC1C,IAAC,mBAAK,MAAM,YAAY,GAAO;KACpB;mBAEf,IAAC;IACC,SAAQ;IACR,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAM;IACN,eAAe;IACf,OAAO;IACP,QAAQ;KACR;MACE;GACS;AAEpB"}
@@ -1,135 +1,97 @@
1
- /**
2
- * Copyright (c) 2023-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
-
1
+ import { contentTypes } from "../model/ContentType.js";
2
+ import { ContentTypeBadge } from "../ContentTypeBadge/ContentTypeBadge.js";
9
3
  import { Children, useMemo, useState } from "react";
4
+ import { Button, CardContent, CardHeading, CardRoot, Heading, Text } from "@ndla/primitives";
5
+ import { styled } from "@ndla/styled-system/jsx";
10
6
  import { useTranslation } from "react-i18next";
11
7
  import { ExternalLinkLine } from "@ndla/icons";
12
- import { CardContent, CardHeading, CardRoot, Text, Heading, Button } from "@ndla/primitives";
13
8
  import { SafeLink } from "@ndla/safelink";
14
- import { styled } from "@ndla/styled-system/jsx";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
15
10
  import { linkOverlay } from "@ndla/styled-system/patterns";
16
- import { ContentTypeBadge } from "../ContentTypeBadge/ContentTypeBadge";
17
- import { contentTypes } from "../model/ContentType";
18
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
- const StyledSpan = styled("span", {
20
- base: {
21
- display: "flex",
22
- gap: "3xsmall"
23
- }
24
- });
25
- export const RelatedArticle = _ref => {
26
- let {
27
- title,
28
- introduction,
29
- to,
30
- linkInfo = "",
31
- target = "",
32
- type = contentTypes.SUBJECT_MATERIAL
33
- } = _ref;
34
- return /*#__PURE__*/_jsx(CardRoot, {
35
- "data-embed-type": "related-article",
36
- children: /*#__PURE__*/_jsxs(CardContent, {
37
- children: [/*#__PURE__*/_jsx(ContentTypeBadge, {
38
- contentType: type
39
- }), /*#__PURE__*/_jsx(CardHeading, {
40
- asChild: true,
41
- consumeCss: true,
42
- children: /*#__PURE__*/_jsx("span", {
43
- children: /*#__PURE__*/_jsx(SafeLink, {
44
- unstyled: true,
45
- to: to,
46
- target: target,
47
- rel: linkInfo ? "noopener noreferrer" : undefined,
48
- css: linkOverlay.raw(),
49
- children: /*#__PURE__*/_jsxs(StyledSpan, {
50
- children: [title, target === "_blank" && /*#__PURE__*/_jsx(ExternalLinkLine, {})]
51
- })
52
- })
53
- })
54
- }), /*#__PURE__*/_jsx(Text, {
55
- dangerouslySetInnerHTML: {
56
- __html: introduction
57
- }
58
- }), /*#__PURE__*/_jsx(Text, {
59
- color: "text.subtle",
60
- textStyle: "label.small",
61
- children: linkInfo
62
- })]
63
- })
64
- });
11
+
12
+ //#region src/RelatedArticleList/RelatedArticleList.tsx
13
+ const StyledSpan = styled("span", { base: {
14
+ display: "flex",
15
+ gap: "3xsmall"
16
+ } });
17
+ const RelatedArticle = ({ title, introduction, to, linkInfo = "", target = "", type = contentTypes.SUBJECT_MATERIAL }) => {
18
+ return /* @__PURE__ */ jsx(CardRoot, {
19
+ "data-embed-type": "related-article",
20
+ children: /* @__PURE__ */ jsxs(CardContent, { children: [
21
+ /* @__PURE__ */ jsx(ContentTypeBadge, { contentType: type }),
22
+ /* @__PURE__ */ jsx(CardHeading, {
23
+ asChild: true,
24
+ consumeCss: true,
25
+ children: /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(SafeLink, {
26
+ unstyled: true,
27
+ to,
28
+ target,
29
+ rel: linkInfo ? "noopener noreferrer" : void 0,
30
+ css: linkOverlay.raw(),
31
+ children: /* @__PURE__ */ jsxs(StyledSpan, { children: [title, target === "_blank" && /* @__PURE__ */ jsx(ExternalLinkLine, {})] })
32
+ }) })
33
+ }),
34
+ /* @__PURE__ */ jsx(Text, { dangerouslySetInnerHTML: { __html: introduction } }),
35
+ /* @__PURE__ */ jsx(Text, {
36
+ color: "text.subtle",
37
+ textStyle: "label.small",
38
+ children: linkInfo
39
+ })
40
+ ] })
41
+ });
42
+ };
43
+ const HeadingWrapper = styled("div", { base: {
44
+ display: "flex",
45
+ width: "100%",
46
+ justifyContent: "space-between",
47
+ alignItems: "center",
48
+ alignSelf: "flex-start"
49
+ } });
50
+ const ArticlesWrapper = styled("div", { base: {
51
+ display: "grid",
52
+ width: "100%",
53
+ gridTemplateColumns: "repeat(2, 1fr)",
54
+ gap: "medium",
55
+ tabletDown: { gridTemplateColumns: "1fr" }
56
+ } });
57
+ const StyledSection = styled("section", { base: {
58
+ display: "flex",
59
+ flexDirection: "column",
60
+ alignItems: "center",
61
+ gap: "medium",
62
+ clear: "both"
63
+ } });
64
+ const StyledButton = styled(Button, { base: { marginBlockStart: "xsmall" } });
65
+ const RelatedArticleList = ({ children = [], articleCount, headingLevel: HeadingElement = "h2", headingButtons,...rest }) => {
66
+ const [expanded, setExpanded] = useState(false);
67
+ const { t } = useTranslation();
68
+ const childCount = useMemo(() => articleCount ?? Children.count(children), [children, articleCount]);
69
+ const childrenToShow = useMemo(() => childCount > 2 && !expanded ? children?.slice(0, 2) : children, [
70
+ childCount,
71
+ children,
72
+ expanded
73
+ ]);
74
+ return /* @__PURE__ */ jsxs(StyledSection, {
75
+ ...rest,
76
+ "data-embed-type": "related-content-list",
77
+ children: [
78
+ /* @__PURE__ */ jsxs(HeadingWrapper, { children: [/* @__PURE__ */ jsx(Heading, {
79
+ asChild: true,
80
+ consumeCss: true,
81
+ textStyle: "title.large",
82
+ fontWeight: "bold",
83
+ children: /* @__PURE__ */ jsx(HeadingElement, { children: t("related.title") })
84
+ }), headingButtons] }),
85
+ /* @__PURE__ */ jsx(ArticlesWrapper, { children: childrenToShow }),
86
+ childCount > 2 ? /* @__PURE__ */ jsx(StyledButton, {
87
+ variant: "secondary",
88
+ onClick: () => setExpanded((p) => !p),
89
+ children: t(`related.show${expanded ? "Less" : "More"}`)
90
+ }) : null
91
+ ]
92
+ });
65
93
  };
66
- const HeadingWrapper = styled("div", {
67
- base: {
68
- display: "flex",
69
- width: "100%",
70
- justifyContent: "space-between",
71
- alignItems: "center",
72
- alignSelf: "flex-start"
73
- }
74
- });
75
- const ArticlesWrapper = styled("div", {
76
- base: {
77
- display: "grid",
78
- width: "100%",
79
- gridTemplateColumns: "repeat(2, 1fr)",
80
- gap: "medium",
81
- tabletDown: {
82
- gridTemplateColumns: "1fr"
83
- }
84
- }
85
- });
86
- const StyledSection = styled("section", {
87
- base: {
88
- display: "flex",
89
- flexDirection: "column",
90
- alignItems: "center",
91
- gap: "medium",
92
- clear: "both"
93
- }
94
- });
95
- const StyledButton = styled(Button, {
96
- base: {
97
- marginBlockStart: "xsmall"
98
- }
99
- });
100
- export const RelatedArticleList = _ref2 => {
101
- let {
102
- children = [],
103
- articleCount,
104
- headingLevel: HeadingElement = "h2",
105
- headingButtons,
106
- ...rest
107
- } = _ref2;
108
- const [expanded, setExpanded] = useState(false);
109
- const {
110
- t
111
- } = useTranslation();
112
- const childCount = useMemo(() => articleCount ?? Children.count(children), [children, articleCount]);
113
- const childrenToShow = useMemo(() => childCount > 2 && !expanded ? children?.slice(0, 2) : children, [childCount, children, expanded]);
114
- return /*#__PURE__*/_jsxs(StyledSection, {
115
- ...rest,
116
- "data-embed-type": "related-content-list",
117
- children: [/*#__PURE__*/_jsxs(HeadingWrapper, {
118
- children: [/*#__PURE__*/_jsx(Heading, {
119
- asChild: true,
120
- consumeCss: true,
121
- textStyle: "title.large",
122
- fontWeight: "bold",
123
- children: /*#__PURE__*/_jsx(HeadingElement, {
124
- children: t("related.title")
125
- })
126
- }), headingButtons]
127
- }), /*#__PURE__*/_jsx(ArticlesWrapper, {
128
- children: childrenToShow
129
- }), childCount > 2 ? /*#__PURE__*/_jsx(StyledButton, {
130
- variant: "secondary",
131
- onClick: () => setExpanded(p => !p),
132
- children: t(`related.show${expanded ? "Less" : "More"}`)
133
- }) : null]
134
- });
135
- };
94
+
95
+ //#endregion
96
+ export { RelatedArticle, RelatedArticleList };
97
+ //# sourceMappingURL=RelatedArticleList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelatedArticleList.js","names":[],"sources":["../../src/RelatedArticleList/RelatedArticleList.tsx"],"sourcesContent":["/**\n * Copyright (c) 2023-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { Children, type ComponentPropsWithoutRef, type ReactElement, type ReactNode, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ExternalLinkLine } from \"@ndla/icons\";\nimport { CardContent, CardHeading, CardRoot, Text, Heading, Button } from \"@ndla/primitives\";\nimport { SafeLink } from \"@ndla/safelink\";\nimport { styled } from \"@ndla/styled-system/jsx\";\nimport { linkOverlay } from \"@ndla/styled-system/patterns\";\nimport { ContentTypeBadge } from \"../ContentTypeBadge/ContentTypeBadge\";\nimport { contentTypes } from \"../model/ContentType\";\nimport type { HeadingLevel } from \"../types\";\n\ninterface RelatedArticleProps {\n title: string;\n introduction: string;\n to: string;\n linkInfo?: string;\n target?: string;\n type?: string;\n}\n\nconst StyledSpan = styled(\"span\", {\n base: {\n display: \"flex\",\n gap: \"3xsmall\",\n },\n});\n\nexport const RelatedArticle = ({\n title,\n introduction,\n to,\n linkInfo = \"\",\n target = \"\",\n type = contentTypes.SUBJECT_MATERIAL,\n}: RelatedArticleProps) => {\n return (\n <CardRoot data-embed-type=\"related-article\">\n <CardContent>\n <ContentTypeBadge contentType={type} />\n <CardHeading asChild consumeCss>\n <span>\n <SafeLink\n unstyled\n to={to}\n target={target}\n rel={linkInfo ? \"noopener noreferrer\" : undefined}\n css={linkOverlay.raw()}\n >\n <StyledSpan>\n {title}\n {target === \"_blank\" && <ExternalLinkLine />}\n </StyledSpan>\n </SafeLink>\n </span>\n </CardHeading>\n <Text dangerouslySetInnerHTML={{ __html: introduction }} />\n <Text color=\"text.subtle\" textStyle=\"label.small\">\n {linkInfo}\n </Text>\n </CardContent>\n </CardRoot>\n );\n};\n\nconst HeadingWrapper = styled(\"div\", {\n base: {\n display: \"flex\",\n width: \"100%\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n alignSelf: \"flex-start\",\n },\n});\n\nconst ArticlesWrapper = styled(\"div\", {\n base: {\n display: \"grid\",\n width: \"100%\",\n gridTemplateColumns: \"repeat(2, 1fr)\",\n gap: \"medium\",\n tabletDown: {\n gridTemplateColumns: \"1fr\",\n },\n },\n});\n\nconst StyledSection = styled(\"section\", {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"medium\",\n clear: \"both\",\n },\n});\n\nconst StyledButton = styled(Button, {\n base: {\n marginBlockStart: \"xsmall\",\n },\n});\n\ninterface Props extends ComponentPropsWithoutRef<\"section\"> {\n children?: ReactElement[];\n articleCount?: number;\n headingLevel?: HeadingLevel;\n headingButtons?: ReactNode;\n}\n\nexport const RelatedArticleList = ({\n children = [],\n articleCount,\n headingLevel: HeadingElement = \"h2\",\n headingButtons,\n ...rest\n}: Props) => {\n const [expanded, setExpanded] = useState(false);\n const { t } = useTranslation();\n const childCount = useMemo(() => articleCount ?? Children.count(children), [children, articleCount]);\n const childrenToShow = useMemo(\n () => (childCount > 2 && !expanded ? children?.slice(0, 2) : children),\n [childCount, children, expanded],\n );\n\n return (\n <StyledSection {...rest} data-embed-type=\"related-content-list\">\n <HeadingWrapper>\n <Heading asChild consumeCss textStyle=\"title.large\" fontWeight=\"bold\">\n <HeadingElement>{t(\"related.title\")}</HeadingElement>\n </Heading>\n {headingButtons}\n </HeadingWrapper>\n <ArticlesWrapper>{childrenToShow}</ArticlesWrapper>\n {childCount > 2 ? (\n <StyledButton variant=\"secondary\" onClick={() => setExpanded((p) => !p)}>\n {t(`related.show${expanded ? \"Less\" : \"More\"}`)}\n </StyledButton>\n ) : null}\n </StyledSection>\n );\n};\n"],"mappings":";;;;;;;;;;;;AA4BA,MAAM,aAAa,OAAO,QAAQ,EAChC,MAAM;CACJ,SAAS;CACT,KAAK;AACN,EACF,EAAC;AAEF,MAAa,iBAAiB,CAAC,EAC7B,OACA,cACA,IACA,WAAW,IACX,SAAS,IACT,OAAO,aAAa,kBACA,KAAK;AACzB,wBACE,IAAC;EAAS,mBAAgB;4BACxB,KAAC;mBACC,IAAC,oBAAiB,aAAa,OAAQ;mBACvC,IAAC;IAAY;IAAQ;8BACnB,IAAC,oCACC,IAAC;KACC;KACI;KACI;KACR,KAAK,WAAW;KAChB,KAAK,YAAY,KAAK;+BAEtB,KAAC,yBACE,OACA,WAAW,4BAAY,IAAC,qBAAmB,IACjC;MACJ,GACN;KACK;mBACd,IAAC,QAAK,yBAAyB,EAAE,QAAQ,aAAc,IAAI;mBAC3D,IAAC;IAAK,OAAM;IAAc,WAAU;cACjC;KACI;MACK;GACL;AAEd;AAED,MAAM,iBAAiB,OAAO,OAAO,EACnC,MAAM;CACJ,SAAS;CACT,OAAO;CACP,gBAAgB;CAChB,YAAY;CACZ,WAAW;AACZ,EACF,EAAC;AAEF,MAAM,kBAAkB,OAAO,OAAO,EACpC,MAAM;CACJ,SAAS;CACT,OAAO;CACP,qBAAqB;CACrB,KAAK;CACL,YAAY,EACV,qBAAqB,MACtB;AACF,EACF,EAAC;AAEF,MAAM,gBAAgB,OAAO,WAAW,EACtC,MAAM;CACJ,SAAS;CACT,eAAe;CACf,YAAY;CACZ,KAAK;CACL,OAAO;AACR,EACF,EAAC;AAEF,MAAM,eAAe,OAAO,QAAQ,EAClC,MAAM,EACJ,kBAAkB,SACnB,EACF,EAAC;AASF,MAAa,qBAAqB,CAAC,EACjC,WAAW,CAAE,GACb,cACA,cAAc,iBAAiB,MAC/B,eACA,GAAG,MACG,KAAK;CACX,MAAM,CAAC,UAAU,YAAY,GAAG,SAAS,MAAM;CAC/C,MAAM,EAAE,GAAG,GAAG,gBAAgB;CAC9B,MAAM,aAAa,QAAQ,MAAM,gBAAgB,SAAS,MAAM,SAAS,EAAE,CAAC,UAAU,YAAa,EAAC;CACpG,MAAM,iBAAiB,QACrB,MAAO,aAAa,MAAM,WAAW,UAAU,MAAM,GAAG,EAAE,GAAG,UAC7D;EAAC;EAAY;EAAU;CAAS,EACjC;AAED,wBACE,KAAC;EAAc,GAAI;EAAM,mBAAgB;;mBACvC,KAAC,6CACC,IAAC;IAAQ;IAAQ;IAAW,WAAU;IAAc,YAAW;8BAC7D,IAAC,4BAAgB,EAAE,gBAAgB,GAAkB;KAC7C,EACT,kBACc;mBACjB,IAAC,6BAAiB,iBAAiC;GAClD,aAAa,oBACZ,IAAC;IAAa,SAAQ;IAAY,SAAS,MAAM,YAAY,CAAC,OAAO,EAAE;cACpE,GAAG,cAAc,WAAW,SAAS,OAAO,EAAE;KAClC,GACb;;GACU;AAEnB"}
@@ -1,11 +1,8 @@
1
- /**
2
- * Copyright (c) 2017-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
1
+ import { RelatedArticle, RelatedArticleList } from "./RelatedArticleList.js";
8
2
 
9
- import { RelatedArticle, RelatedArticleList } from "./RelatedArticleList";
10
- export { RelatedArticle };
11
- export default RelatedArticleList;
3
+ //#region src/RelatedArticleList/index.ts
4
+ var RelatedArticleList_default = RelatedArticleList;
5
+
6
+ //#endregion
7
+ export { RelatedArticleList_default };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/RelatedArticleList/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2017-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { RelatedArticle, RelatedArticleList } from \"./RelatedArticleList\";\n\nexport { RelatedArticle };\n\nexport default RelatedArticleList;\n"],"mappings":";;;AAYA,iCAAe"}