@ndla/ui 50.2.2 → 50.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (631) hide show
  1. package/es/Article/Article.js +6 -6
  2. package/es/Article/ArticleByline.js +8 -8
  3. package/es/Article/ArticleFootNotes.js +3 -3
  4. package/es/Article/ArticleNotions.js +5 -5
  5. package/es/Aside/index.js +8 -0
  6. package/es/AudioPlayer/AudioPlayer.js +16 -16
  7. package/es/AudioPlayer/Controls.js +26 -26
  8. package/es/AudioPlayer/SpeechControl.js +1 -1
  9. package/es/AudioPlayer/index.js +8 -0
  10. package/es/BannerCard/BannerCard.js +7 -7
  11. package/es/BlogPost/BlogPost.js +6 -6
  12. package/es/Breadcrumb/Breadcrumb.js +3 -3
  13. package/es/Breadcrumb/BreadcrumbItem.js +8 -8
  14. package/es/CampaignBlock/CampaignBlock.js +8 -8
  15. package/es/CompetenceGoalTab/CompetenceGoalTab.js +4 -4
  16. package/es/CompetenceGoalTab/CompetenceItem.js +7 -7
  17. package/es/CompetenceGoalTab/index.js +8 -0
  18. package/es/ContactBlock/ContactBlock.js +14 -14
  19. package/es/ContentTypeBadge/ContentTypeBadge.js +9 -1
  20. package/es/ContentTypeBadge/index.js +8 -0
  21. package/es/CopyParagraphButton/CopyParagraphButton.js +3 -3
  22. package/es/DefinitionList/DefinitionDescription.js +2 -2
  23. package/es/DefinitionList/DefinitionTerm.js +2 -2
  24. package/es/Embed/AudioEmbed.js +1 -1
  25. package/es/Embed/BrightcoveEmbed.js +6 -6
  26. package/es/Embed/ConceptEmbed.js +15 -15
  27. package/es/Embed/ConceptListEmbed.js +3 -3
  28. package/es/Embed/EmbedErrorPlaceholder.js +3 -3
  29. package/es/Embed/ExternalEmbed.js +2 -2
  30. package/es/Embed/FootnoteEmbed.js +1 -1
  31. package/es/Embed/ImageEmbed.js +6 -6
  32. package/es/Embed/conceptComponents.js +12 -12
  33. package/es/ErrorMessage/ErrorResourceAccessDenied.js +2 -2
  34. package/es/FactBox/FactBox.js +8 -8
  35. package/es/FactBox/index.js +8 -0
  36. package/es/Figure/FigureOpenDialogButton.js +1 -1
  37. package/es/FileList/File.js +4 -4
  38. package/es/FileList/FileList.js +4 -4
  39. package/es/FileList/index.js +8 -0
  40. package/es/Filter/FilterButtons.js +11 -11
  41. package/es/Filter/FilterCarousel.js +5 -5
  42. package/es/Filter/FilterList.js +2 -2
  43. package/es/Filter/FilterListPhone.js +4 -4
  44. package/es/Filter/ToggleItem.js +1 -1
  45. package/es/Filter/filterClasses.js +1 -1
  46. package/es/Footer/Footer.js +9 -9
  47. package/es/Footer/FooterLinks.js +16 -8
  48. package/es/Footer/index.js +1 -1
  49. package/es/Frontpage/FrontpageAllSubjects.js +18 -10
  50. package/es/FrontpageArticle/FrontpageArticle.js +1 -1
  51. package/es/Gloss/Gloss.js +9 -9
  52. package/es/Grid/Grid.js +2 -2
  53. package/es/Image/Image.js +2 -2
  54. package/es/Image/ImageLink.js +1 -1
  55. package/es/KeyFigure/KeyFigure.js +5 -5
  56. package/es/KeyFigure/index.js +1 -1
  57. package/es/LanguageSelector/LanguageSelector.js +8 -8
  58. package/es/LanguageSelector/index.js +8 -0
  59. package/es/LearningPaths/LearningPathLastStepNavigation.js +6 -6
  60. package/es/LearningPaths/LearningPathMenu.js +8 -8
  61. package/es/LearningPaths/LearningPathMenuAside.js +6 -6
  62. package/es/LearningPaths/LearningPathMenuAsideCopyright.js +3 -3
  63. package/es/LearningPaths/LearningPathMenuContent.js +6 -6
  64. package/es/LearningPaths/LearningPathMenuIntro.js +7 -7
  65. package/es/LearningPaths/LearningPathMenuModalWrapper.js +5 -5
  66. package/es/LearningPaths/LearningPathMobileHeader.js +3 -3
  67. package/es/LearningPaths/LearningPathMobileStepInfo.js +2 -2
  68. package/es/LearningPaths/LearningPathSticky.js +4 -4
  69. package/es/LearningPaths/index.js +2 -2
  70. package/es/LetterFilter/LetterFilter.js +3 -3
  71. package/es/LicenseByline/EmbedByline.js +7 -7
  72. package/es/LicenseByline/LicenseDescription.js +1 -1
  73. package/es/LicenseByline/LicenseLink.js +3 -3
  74. package/es/LicenseByline/index.js +8 -0
  75. package/es/LinkBlock/LinkBlock.js +8 -8
  76. package/es/LinkBlock/LinkBlockSection.js +2 -2
  77. package/es/List/OrderedList.js +2 -2
  78. package/es/List/UnOrderedList.js +2 -2
  79. package/es/Masthead/Masthead.js +4 -4
  80. package/es/Masthead/SkipToMainContent.js +9 -1
  81. package/es/Masthead/index.js +1 -1
  82. package/es/MediaList/MediaList.js +6 -6
  83. package/es/Messages/MessageBanner.js +4 -4
  84. package/es/Messages/MessageBox.js +7 -7
  85. package/es/Messages/index.js +1 -1
  86. package/es/MyNdla/Resource/Folder.js +10 -10
  87. package/es/MyNdla/Resource/FolderInput.js +6 -6
  88. package/es/MyNdla/index.js +8 -0
  89. package/es/NDLAFilm/AllMoviesAlphabetically.js +12 -12
  90. package/es/NDLAFilm/FilmContentCard.js +5 -5
  91. package/es/NDLAFilm/FilmContentCardTags.js +10 -2
  92. package/es/NDLAFilm/FilmMovieList.js +5 -4
  93. package/es/NDLAFilm/FilmMovieSearch.js +5 -5
  94. package/es/NDLAFilm/FilmSlideshow.js +9 -9
  95. package/es/NDLAFilm/MovieGrid.js +11 -3
  96. package/es/NDLAFilm/filmStyles.js +11 -3
  97. package/es/NDLAFilm/index.js +4 -5
  98. package/es/Navigation/NavigationBox.js +29 -21
  99. package/es/Notion/Notion.js +4 -4
  100. package/es/Notion/NotionImage.js +6 -5
  101. package/es/Notion/index.js +8 -0
  102. package/es/Programme/Programme.js +15 -7
  103. package/es/Programme/ProgrammeSubjects.js +2 -2
  104. package/es/ProgrammeCard/ProgrammeCard.js +4 -4
  105. package/es/RelatedArticleList/RelatedArticleList.js +64 -30
  106. package/es/Resource/BlockResource.js +8 -8
  107. package/es/Resource/ListResource.js +7 -7
  108. package/es/Resource/resourceComponents.js +16 -16
  109. package/es/Resource/storyComponents.js +2 -2
  110. package/es/ResourceBox/ResourceBox.js +6 -7
  111. package/es/ResourceGroup/ResourceGroup.js +4 -4
  112. package/es/ResourceGroup/ResourceItem.js +11 -11
  113. package/es/ResourceGroup/ResourceList.js +2 -2
  114. package/es/ResourcesWrapper/ResourcesTopicTitle.js +22 -14
  115. package/es/Search/ActiveFilterContent.js +11 -3
  116. package/es/Search/ActiveFilters.js +15 -7
  117. package/es/Search/ContentTypeResult.js +12 -4
  118. package/es/Search/ContentTypeResultStyles.js +19 -11
  119. package/es/Search/IsPathToHighlight.js +8 -0
  120. package/es/Search/LoadingWrapper.js +9 -1
  121. package/es/Search/SearchField.js +4 -4
  122. package/es/Search/SearchFieldForm.js +10 -2
  123. package/es/Search/SearchResult.js +23 -15
  124. package/es/Search/SearchResultSleeve.js +10 -10
  125. package/es/Search/index.js +1 -1
  126. package/es/SearchTypeResult/ActiveFilterContent.js +5 -5
  127. package/es/SearchTypeResult/ActiveFilters.js +7 -7
  128. package/es/SearchTypeResult/PopupFilter.js +9 -9
  129. package/es/SearchTypeResult/ResultNavigation.js +5 -5
  130. package/es/SearchTypeResult/SearchFieldHeader.js +6 -6
  131. package/es/SearchTypeResult/SearchHeader.js +10 -10
  132. package/es/SearchTypeResult/SearchItem.js +11 -11
  133. package/es/SearchTypeResult/SearchItemList.js +13 -13
  134. package/es/SearchTypeResult/SearchItems.js +2 -2
  135. package/es/SearchTypeResult/SearchNotionsResult.js +5 -5
  136. package/es/SearchTypeResult/SearchSubjectItem.js +5 -5
  137. package/es/SearchTypeResult/SearchTypeHeader.js +10 -10
  138. package/es/SearchTypeResult/SearchTypeResult.js +4 -4
  139. package/es/SearchTypeResult/SearchViewType.js +6 -6
  140. package/es/SearchTypeResult/components/ItemContexts.js +9 -9
  141. package/es/SearchTypeResult/components/ItemResourceHeader.js +7 -7
  142. package/es/SearchTypeResult/components/ItemTopicHeader.js +4 -4
  143. package/es/SearchTypeResult/components/SubjectFilters.js +2 -2
  144. package/es/SearchTypeResult/index.js +3 -3
  145. package/es/SectionHeading/SectionHeading.js +10 -2
  146. package/es/SectionHeading/index.js +8 -0
  147. package/es/Subject/SubjectBanner.js +9 -1
  148. package/es/Subject/SubjectHeader.js +11 -3
  149. package/es/Subject/index.js +8 -0
  150. package/es/Table/Table.js +9 -9
  151. package/es/TagSelector/Control.js +1 -1
  152. package/es/TagSelector/DropdownIndicator.js +2 -2
  153. package/es/TagSelector/Input.js +2 -2
  154. package/es/TagSelector/Menu.js +2 -2
  155. package/es/TagSelector/MenuList.js +1 -1
  156. package/es/TagSelector/Option.js +2 -2
  157. package/es/TagSelector/SelectContainer.js +1 -1
  158. package/es/TagSelector/TagSelector.js +9 -9
  159. package/es/TagSelector/ValueButton.js +1 -1
  160. package/es/Topic/Loader.js +8 -0
  161. package/es/Topic/Topic.js +23 -23
  162. package/es/TreeStructure/AddFolderButton.js +3 -3
  163. package/es/TreeStructure/ComboboxButton.js +5 -5
  164. package/es/TreeStructure/FolderItem.js +9 -9
  165. package/es/TreeStructure/FolderItems.js +2 -2
  166. package/es/TreeStructure/TreeStructure.js +8 -8
  167. package/es/TreeStructure/helperFunctions.js +8 -0
  168. package/es/all.css +1 -1
  169. package/es/i18n/i18n.js +3 -3
  170. package/es/index.js +1 -1
  171. package/es/locale/messages-en.js +12 -259
  172. package/es/locale/messages-nb.js +12 -259
  173. package/es/locale/messages-nn.js +12 -259
  174. package/es/locale/messages-se.js +12 -259
  175. package/es/locale/messages-sma.js +12 -259
  176. package/lib/Article/Article.js +6 -6
  177. package/lib/Article/ArticleByline.js +8 -8
  178. package/lib/Article/ArticleFootNotes.d.ts +7 -0
  179. package/lib/Article/ArticleFootNotes.js +3 -3
  180. package/lib/Article/ArticleNotions.js +5 -5
  181. package/lib/Aside/index.d.ts +7 -0
  182. package/lib/Aside/index.js +7 -0
  183. package/lib/AudioPlayer/AudioPlayer.js +16 -16
  184. package/lib/AudioPlayer/Controls.js +26 -26
  185. package/lib/AudioPlayer/SpeechControl.js +1 -1
  186. package/lib/AudioPlayer/index.d.ts +7 -0
  187. package/lib/AudioPlayer/index.js +7 -0
  188. package/lib/BannerCard/BannerCard.js +7 -7
  189. package/lib/BlogPost/BlogPost.js +6 -6
  190. package/lib/Breadcrumb/Breadcrumb.js +3 -3
  191. package/lib/Breadcrumb/BreadcrumbItem.js +8 -8
  192. package/lib/CampaignBlock/CampaignBlock.js +8 -8
  193. package/lib/CompetenceGoalTab/CompetenceGoalTab.js +4 -4
  194. package/lib/CompetenceGoalTab/CompetenceItem.js +7 -7
  195. package/lib/CompetenceGoalTab/index.d.ts +7 -0
  196. package/lib/CompetenceGoalTab/index.js +7 -0
  197. package/lib/ContactBlock/ContactBlock.js +14 -14
  198. package/lib/ContentTypeBadge/ContentTypeBadge.d.ts +7 -0
  199. package/lib/ContentTypeBadge/ContentTypeBadge.js +9 -1
  200. package/lib/ContentTypeBadge/index.d.ts +7 -0
  201. package/lib/ContentTypeBadge/index.js +7 -0
  202. package/lib/CopyParagraphButton/CopyParagraphButton.js +3 -3
  203. package/lib/DefinitionList/DefinitionDescription.js +2 -2
  204. package/lib/DefinitionList/DefinitionTerm.js +2 -2
  205. package/lib/Embed/AudioEmbed.js +1 -1
  206. package/lib/Embed/BrightcoveEmbed.js +6 -6
  207. package/lib/Embed/ConceptEmbed.js +15 -15
  208. package/lib/Embed/ConceptListEmbed.js +3 -3
  209. package/lib/Embed/EmbedErrorPlaceholder.js +3 -3
  210. package/lib/Embed/ExternalEmbed.js +2 -2
  211. package/lib/Embed/FootnoteEmbed.js +1 -1
  212. package/lib/Embed/ImageEmbed.js +6 -6
  213. package/lib/Embed/conceptComponents.d.ts +1 -1
  214. package/lib/Embed/conceptComponents.js +12 -12
  215. package/lib/Embed/types.d.ts +1 -1
  216. package/lib/ErrorMessage/ErrorResourceAccessDenied.js +2 -2
  217. package/lib/FactBox/FactBox.js +8 -8
  218. package/lib/FactBox/index.d.ts +7 -0
  219. package/lib/FactBox/index.js +7 -0
  220. package/lib/Figure/FigureOpenDialogButton.js +1 -1
  221. package/lib/FileList/File.js +4 -4
  222. package/lib/FileList/FileList.js +4 -4
  223. package/lib/FileList/index.d.ts +7 -0
  224. package/lib/FileList/index.js +7 -0
  225. package/lib/Filter/FilterButtons.js +11 -11
  226. package/lib/Filter/FilterCarousel.js +5 -5
  227. package/lib/Filter/FilterList.d.ts +7 -0
  228. package/lib/Filter/FilterList.js +2 -2
  229. package/lib/Filter/FilterListPhone.d.ts +7 -0
  230. package/lib/Filter/FilterListPhone.js +4 -4
  231. package/lib/Filter/ToggleItem.d.ts +7 -0
  232. package/lib/Filter/ToggleItem.js +1 -1
  233. package/lib/Filter/filterClasses.d.ts +7 -0
  234. package/lib/Filter/filterClasses.js +1 -1
  235. package/lib/Footer/Footer.js +9 -9
  236. package/lib/Footer/FooterLinks.d.ts +7 -0
  237. package/lib/Footer/FooterLinks.js +15 -9
  238. package/lib/Footer/index.d.ts +1 -1
  239. package/lib/Footer/index.js +1 -1
  240. package/lib/Frontpage/FrontpageAllSubjects.d.ts +7 -0
  241. package/lib/Frontpage/FrontpageAllSubjects.js +17 -11
  242. package/lib/FrontpageArticle/FrontpageArticle.js +1 -1
  243. package/lib/Gloss/Gloss.js +9 -9
  244. package/lib/Grid/Grid.js +2 -2
  245. package/lib/Image/Image.js +2 -2
  246. package/lib/Image/ImageLink.js +1 -1
  247. package/lib/KeyFigure/KeyFigure.d.ts +7 -0
  248. package/lib/KeyFigure/KeyFigure.js +5 -5
  249. package/lib/KeyFigure/index.d.ts +7 -0
  250. package/lib/LanguageSelector/LanguageSelector.js +8 -8
  251. package/lib/LanguageSelector/index.d.ts +7 -0
  252. package/lib/LearningPaths/LearningPathLastStepNavigation.js +6 -6
  253. package/lib/LearningPaths/LearningPathMenu.js +8 -8
  254. package/lib/LearningPaths/LearningPathMenuAside.js +6 -6
  255. package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +3 -3
  256. package/lib/LearningPaths/LearningPathMenuContent.js +6 -6
  257. package/lib/LearningPaths/LearningPathMenuIntro.js +7 -7
  258. package/lib/LearningPaths/LearningPathMenuModalWrapper.js +5 -5
  259. package/lib/LearningPaths/LearningPathMobileHeader.js +3 -3
  260. package/lib/LearningPaths/LearningPathMobileStepInfo.js +2 -2
  261. package/lib/LearningPaths/LearningPathSticky.js +4 -4
  262. package/lib/LearningPaths/index.d.ts +2 -2
  263. package/lib/LearningPaths/index.js +2 -2
  264. package/lib/LetterFilter/LetterFilter.js +3 -3
  265. package/lib/LicenseByline/EmbedByline.d.ts +1 -1
  266. package/lib/LicenseByline/EmbedByline.js +7 -7
  267. package/lib/LicenseByline/LicenseDescription.js +1 -1
  268. package/lib/LicenseByline/LicenseLink.js +3 -3
  269. package/lib/LicenseByline/index.d.ts +7 -0
  270. package/lib/LinkBlock/LinkBlock.js +8 -8
  271. package/lib/LinkBlock/LinkBlockSection.js +2 -2
  272. package/lib/List/OrderedList.js +2 -2
  273. package/lib/List/UnOrderedList.js +2 -2
  274. package/lib/Masthead/Masthead.js +4 -4
  275. package/lib/Masthead/SkipToMainContent.d.ts +7 -0
  276. package/lib/Masthead/SkipToMainContent.js +9 -1
  277. package/lib/Masthead/index.d.ts +1 -1
  278. package/lib/Masthead/index.js +1 -1
  279. package/lib/MediaList/MediaList.d.ts +7 -0
  280. package/lib/MediaList/MediaList.js +6 -6
  281. package/lib/Messages/MessageBanner.js +4 -4
  282. package/lib/Messages/MessageBox.js +7 -7
  283. package/lib/Messages/index.d.ts +1 -1
  284. package/lib/Messages/index.js +1 -1
  285. package/lib/MyNdla/Resource/Folder.js +10 -10
  286. package/lib/MyNdla/Resource/FolderInput.js +6 -6
  287. package/lib/MyNdla/index.d.ts +7 -0
  288. package/lib/NDLAFilm/AllMoviesAlphabetically.js +12 -12
  289. package/lib/NDLAFilm/FilmContentCard.js +5 -5
  290. package/lib/NDLAFilm/FilmContentCardTags.d.ts +7 -0
  291. package/lib/NDLAFilm/FilmContentCardTags.js +10 -2
  292. package/lib/NDLAFilm/FilmMovieList.d.ts +2 -1
  293. package/lib/NDLAFilm/FilmMovieList.js +5 -4
  294. package/lib/NDLAFilm/FilmMovieSearch.js +5 -5
  295. package/lib/NDLAFilm/FilmSlideshow.js +9 -9
  296. package/lib/NDLAFilm/MovieGrid.d.ts +7 -0
  297. package/lib/NDLAFilm/MovieGrid.js +11 -3
  298. package/lib/NDLAFilm/filmStyles.d.ts +7 -0
  299. package/lib/NDLAFilm/filmStyles.js +11 -3
  300. package/lib/NDLAFilm/index.d.ts +4 -5
  301. package/lib/NDLAFilm/index.js +3 -10
  302. package/lib/NDLAFilm/types.d.ts +7 -0
  303. package/lib/Navigation/NavigationBox.d.ts +7 -0
  304. package/lib/Navigation/NavigationBox.js +28 -22
  305. package/lib/Notion/Notion.js +4 -4
  306. package/lib/Notion/NotionImage.d.ts +2 -1
  307. package/lib/Notion/NotionImage.js +6 -5
  308. package/lib/Notion/index.d.ts +7 -0
  309. package/lib/Programme/Programme.d.ts +7 -0
  310. package/lib/Programme/Programme.js +14 -8
  311. package/lib/Programme/ProgrammeSubjects.js +2 -2
  312. package/lib/ProgrammeCard/ProgrammeCard.js +4 -4
  313. package/lib/RelatedArticleList/RelatedArticleList.d.ts +2 -2
  314. package/lib/RelatedArticleList/RelatedArticleList.js +64 -30
  315. package/lib/Resource/BlockResource.js +8 -8
  316. package/lib/Resource/ListResource.js +7 -7
  317. package/lib/Resource/resourceComponents.js +16 -16
  318. package/lib/Resource/storyComponents.js +2 -2
  319. package/lib/ResourceBox/ResourceBox.d.ts +0 -1
  320. package/lib/ResourceBox/ResourceBox.js +6 -7
  321. package/lib/ResourceGroup/ResourceGroup.js +4 -4
  322. package/lib/ResourceGroup/ResourceItem.js +11 -11
  323. package/lib/ResourceGroup/ResourceList.js +2 -2
  324. package/lib/ResourcesWrapper/ResourcesTopicTitle.d.ts +7 -0
  325. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +21 -15
  326. package/lib/Search/ActiveFilterContent.d.ts +7 -0
  327. package/lib/Search/ActiveFilterContent.js +11 -3
  328. package/lib/Search/ActiveFilters.d.ts +7 -0
  329. package/lib/Search/ActiveFilters.js +14 -8
  330. package/lib/Search/ContentTypeResult.d.ts +7 -0
  331. package/lib/Search/ContentTypeResult.js +12 -4
  332. package/lib/Search/ContentTypeResultStyles.d.ts +7 -0
  333. package/lib/Search/ContentTypeResultStyles.js +19 -11
  334. package/lib/Search/IsPathToHighlight.d.ts +7 -0
  335. package/lib/Search/IsPathToHighlight.js +8 -0
  336. package/lib/Search/LoadingWrapper.d.ts +7 -0
  337. package/lib/Search/LoadingWrapper.js +9 -1
  338. package/lib/Search/SearchField.d.ts +7 -0
  339. package/lib/Search/SearchField.js +4 -4
  340. package/lib/Search/SearchFieldForm.d.ts +7 -0
  341. package/lib/Search/SearchFieldForm.js +10 -2
  342. package/lib/Search/SearchResult.d.ts +7 -0
  343. package/lib/Search/SearchResult.js +23 -15
  344. package/lib/Search/SearchResultSleeve.d.ts +7 -0
  345. package/lib/Search/SearchResultSleeve.js +10 -10
  346. package/lib/Search/index.d.ts +1 -1
  347. package/lib/Search/index.js +1 -1
  348. package/lib/SearchTypeResult/ActiveFilterContent.js +5 -5
  349. package/lib/SearchTypeResult/ActiveFilters.js +7 -7
  350. package/lib/SearchTypeResult/PopupFilter.js +9 -9
  351. package/lib/SearchTypeResult/ResultNavigation.js +5 -5
  352. package/lib/SearchTypeResult/SearchFieldHeader.js +6 -6
  353. package/lib/SearchTypeResult/SearchHeader.d.ts +1 -1
  354. package/lib/SearchTypeResult/SearchHeader.js +10 -10
  355. package/lib/SearchTypeResult/SearchItem.d.ts +1 -1
  356. package/lib/SearchTypeResult/SearchItem.js +11 -11
  357. package/lib/SearchTypeResult/SearchItemList.js +13 -13
  358. package/lib/SearchTypeResult/SearchItems.js +2 -2
  359. package/lib/SearchTypeResult/SearchNotionsResult.js +5 -5
  360. package/lib/SearchTypeResult/SearchSubjectItem.js +5 -5
  361. package/lib/SearchTypeResult/SearchTypeHeader.js +10 -10
  362. package/lib/SearchTypeResult/SearchTypeResult.d.ts +3 -3
  363. package/lib/SearchTypeResult/SearchTypeResult.js +4 -4
  364. package/lib/SearchTypeResult/SearchViewType.js +6 -6
  365. package/lib/SearchTypeResult/components/ItemContexts.js +9 -9
  366. package/lib/SearchTypeResult/components/ItemResourceHeader.d.ts +1 -1
  367. package/lib/SearchTypeResult/components/ItemResourceHeader.js +7 -7
  368. package/lib/SearchTypeResult/components/ItemTopicHeader.js +4 -4
  369. package/lib/SearchTypeResult/components/SubjectFilters.d.ts +1 -1
  370. package/lib/SearchTypeResult/components/SubjectFilters.js +2 -2
  371. package/lib/SearchTypeResult/index.d.ts +3 -3
  372. package/lib/SearchTypeResult/index.js +3 -3
  373. package/lib/SectionHeading/SectionHeading.d.ts +7 -0
  374. package/lib/SectionHeading/SectionHeading.js +10 -2
  375. package/lib/SectionHeading/index.d.ts +7 -0
  376. package/lib/SectionHeading/index.js +7 -0
  377. package/lib/Subject/SubjectBanner.d.ts +7 -0
  378. package/lib/Subject/SubjectBanner.js +9 -1
  379. package/lib/Subject/SubjectHeader.d.ts +7 -0
  380. package/lib/Subject/SubjectHeader.js +11 -3
  381. package/lib/Subject/index.d.ts +7 -0
  382. package/lib/Table/Table.d.ts +7 -0
  383. package/lib/Table/Table.js +16 -16
  384. package/lib/TagSelector/Control.js +1 -1
  385. package/lib/TagSelector/DropdownIndicator.js +2 -2
  386. package/lib/TagSelector/Input.js +2 -2
  387. package/lib/TagSelector/Menu.js +2 -2
  388. package/lib/TagSelector/MenuList.js +1 -1
  389. package/lib/TagSelector/Option.js +2 -2
  390. package/lib/TagSelector/SelectContainer.js +1 -1
  391. package/lib/TagSelector/TagSelector.js +9 -9
  392. package/lib/TagSelector/ValueButton.js +1 -1
  393. package/lib/TagSelector/ariaMessages.d.ts +1 -1
  394. package/lib/Topic/Loader.d.ts +7 -0
  395. package/lib/Topic/Loader.js +8 -0
  396. package/lib/Topic/Topic.js +23 -23
  397. package/lib/TreeStructure/AddFolderButton.js +3 -3
  398. package/lib/TreeStructure/ComboboxButton.js +5 -5
  399. package/lib/TreeStructure/FolderItem.js +9 -9
  400. package/lib/TreeStructure/FolderItems.js +2 -2
  401. package/lib/TreeStructure/TreeStructure.js +8 -8
  402. package/lib/TreeStructure/arrowNavigation.d.ts +1 -1
  403. package/lib/TreeStructure/helperFunctions.d.ts +7 -0
  404. package/lib/TreeStructure/helperFunctions.js +8 -0
  405. package/lib/all.css +1 -1
  406. package/lib/i18n/i18n.d.ts +7 -0
  407. package/lib/i18n/i18n.js +3 -3
  408. package/lib/index.d.ts +1 -1
  409. package/lib/index.js +0 -6
  410. package/lib/locale/messages-en.d.ts +552 -793
  411. package/lib/locale/messages-en.js +13 -261
  412. package/lib/locale/messages-nb.d.ts +552 -793
  413. package/lib/locale/messages-nb.js +13 -261
  414. package/lib/locale/messages-nn.d.ts +552 -793
  415. package/lib/locale/messages-nn.js +13 -261
  416. package/lib/locale/messages-se.d.ts +552 -793
  417. package/lib/locale/messages-se.js +13 -261
  418. package/lib/locale/messages-sma.d.ts +552 -793
  419. package/lib/locale/messages-sma.js +13 -261
  420. package/package.json +21 -21
  421. package/src/Article/Article.tsx +5 -5
  422. package/src/Article/ArticleByline.stories.tsx +1 -1
  423. package/src/Article/ArticleByline.tsx +4 -4
  424. package/src/Article/ArticleFootNotes.tsx +1 -1
  425. package/src/Article/ArticleNotions.tsx +2 -2
  426. package/src/Aside/index.ts +8 -0
  427. package/src/AudioPlayer/AudioPlayer.tsx +2 -2
  428. package/src/AudioPlayer/Controls.tsx +5 -5
  429. package/src/AudioPlayer/SpeechControl.tsx +1 -1
  430. package/src/AudioPlayer/index.ts +8 -0
  431. package/src/BannerCard/BannerCard.tsx +1 -1
  432. package/src/BlogPost/BlogPost.tsx +3 -3
  433. package/src/Breadcrumb/Breadcrumb.tsx +2 -2
  434. package/src/Breadcrumb/BreadcrumbItem.tsx +3 -3
  435. package/src/CampaignBlock/CampaignBlock.tsx +3 -3
  436. package/src/CompetenceGoalTab/CompetenceGoalItem.tsx +1 -1
  437. package/src/CompetenceGoalTab/CompetenceGoalTab.tsx +3 -3
  438. package/src/CompetenceGoalTab/CompetenceItem.tsx +3 -3
  439. package/src/CompetenceGoalTab/CoreElementItem.tsx +1 -1
  440. package/src/CompetenceGoalTab/index.ts +8 -0
  441. package/src/ContactBlock/ContactBlock.tsx +3 -3
  442. package/src/ContentTypeBadge/ContentTypeBadge.tsx +9 -1
  443. package/src/ContentTypeBadge/index.ts +8 -0
  444. package/src/CopyParagraphButton/CopyParagraphButton.tsx +1 -1
  445. package/src/DefinitionList/DefinitionDescription.tsx +1 -1
  446. package/src/DefinitionList/DefinitionTerm.tsx +1 -1
  447. package/src/Embed/AudioEmbed.tsx +4 -4
  448. package/src/Embed/BrightcoveEmbed.tsx +6 -6
  449. package/src/Embed/ConceptEmbed.tsx +9 -9
  450. package/src/Embed/ConceptListEmbed.tsx +1 -1
  451. package/src/Embed/EmbedErrorPlaceholder.tsx +1 -1
  452. package/src/Embed/ExternalEmbed.tsx +3 -3
  453. package/src/Embed/FootnoteEmbed.tsx +1 -1
  454. package/src/Embed/IframeEmbed.tsx +1 -1
  455. package/src/Embed/ImageEmbed.stories.tsx +2 -2
  456. package/src/Embed/ImageEmbed.tsx +8 -8
  457. package/src/Embed/RelatedContentEmbed.stories.tsx +1 -1
  458. package/src/Embed/RelatedContentEmbed.tsx +1 -1
  459. package/src/Embed/conceptComponents.tsx +6 -6
  460. package/src/Embed/types.ts +1 -1
  461. package/src/ErrorMessage/ErrorMessage.stories.tsx +1 -1
  462. package/src/ErrorMessage/ErrorResourceAccessDenied.tsx +1 -1
  463. package/src/FactBox/FactBox.tsx +2 -2
  464. package/src/FactBox/index.ts +8 -0
  465. package/src/Figure/FigureOpenDialogButton.tsx +1 -1
  466. package/src/FileList/File.tsx +2 -2
  467. package/src/FileList/FileList.stories.tsx +1 -1
  468. package/src/FileList/FileList.tsx +2 -2
  469. package/src/FileList/index.ts +8 -0
  470. package/src/Filter/FilterButtons.tsx +2 -2
  471. package/src/Filter/FilterCarousel.tsx +2 -2
  472. package/src/Filter/FilterList.tsx +2 -2
  473. package/src/Filter/FilterListPhone.tsx +4 -4
  474. package/src/Filter/ToggleItem.tsx +1 -1
  475. package/src/Filter/filterClasses.ts +1 -1
  476. package/src/Footer/Footer.stories.tsx +2 -2
  477. package/src/Footer/Footer.tsx +2 -2
  478. package/src/Footer/FooterLinks.tsx +10 -2
  479. package/src/Footer/index.ts +1 -1
  480. package/src/FramedContent/FramedContent.stories.tsx +1 -1
  481. package/src/Frontpage/FrontpageAllSubjects.tsx +12 -4
  482. package/src/FrontpageArticle/FrontpageArticle.tsx +2 -2
  483. package/src/Gloss/Gloss.tsx +4 -4
  484. package/src/Grid/Grid.stories.tsx +1 -1
  485. package/src/Grid/Grid.tsx +1 -1
  486. package/src/Hero/Hero.stories.tsx +1 -1
  487. package/src/Image/Image.tsx +1 -1
  488. package/src/Image/ImageLink.tsx +1 -1
  489. package/src/KeyFigure/KeyFigure.stories.tsx +1 -1
  490. package/src/KeyFigure/KeyFigure.tsx +1 -1
  491. package/src/KeyFigure/index.ts +1 -1
  492. package/src/LanguageSelector/LanguageSelector.stories.tsx +2 -2
  493. package/src/LanguageSelector/LanguageSelector.tsx +3 -3
  494. package/src/LanguageSelector/index.ts +8 -0
  495. package/src/LearningPaths/LearningPathLastStepNavigation.tsx +3 -3
  496. package/src/LearningPaths/LearningPathMenu.stories.tsx +1 -1
  497. package/src/LearningPaths/LearningPathMenu.tsx +6 -6
  498. package/src/LearningPaths/LearningPathMenuAside.tsx +3 -3
  499. package/src/LearningPaths/LearningPathMenuAsideCopyright.tsx +1 -1
  500. package/src/LearningPaths/LearningPathMenuContent.tsx +2 -2
  501. package/src/LearningPaths/LearningPathMenuIntro.tsx +2 -2
  502. package/src/LearningPaths/LearningPathMenuModalWrapper.tsx +4 -4
  503. package/src/LearningPaths/LearningPathMobileHeader.tsx +1 -1
  504. package/src/LearningPaths/LearningPathMobileStepInfo.tsx +1 -1
  505. package/src/LearningPaths/LearningPathSticky.tsx +2 -2
  506. package/src/LearningPaths/index.ts +2 -2
  507. package/src/LetterFilter/LetterFilter.stories.tsx +2 -2
  508. package/src/LetterFilter/LetterFilter.tsx +2 -2
  509. package/src/LicenseByline/EmbedByline.stories.tsx +3 -3
  510. package/src/LicenseByline/EmbedByline.tsx +4 -4
  511. package/src/LicenseByline/LicenseDescription.tsx +1 -1
  512. package/src/LicenseByline/LicenseLink.tsx +1 -1
  513. package/src/LicenseByline/index.tsx +8 -0
  514. package/src/LinkBlock/LinkBlock.stories.tsx +1 -1
  515. package/src/LinkBlock/LinkBlock.tsx +3 -3
  516. package/src/LinkBlock/LinkBlockSection.tsx +1 -1
  517. package/src/List/OrderedList.tsx +1 -1
  518. package/src/List/UnOrderedList.tsx +1 -1
  519. package/src/Masthead/Masthead.tsx +2 -2
  520. package/src/Masthead/SkipToMainContent.tsx +8 -0
  521. package/src/Masthead/index.ts +1 -1
  522. package/src/MediaList/MediaList.tsx +5 -5
  523. package/src/Messages/MessageBanner.tsx +2 -2
  524. package/src/Messages/MessageBox.tsx +3 -3
  525. package/src/Messages/index.ts +1 -1
  526. package/src/MyNdla/Resource/Folder.stories.tsx +4 -5
  527. package/src/MyNdla/Resource/Folder.tsx +4 -4
  528. package/src/MyNdla/Resource/FolderInput.tsx +4 -4
  529. package/src/MyNdla/index.ts +8 -0
  530. package/src/NDLAFilm/AllMoviesAlphabetically.tsx +4 -4
  531. package/src/NDLAFilm/FilmContentCard.tsx +2 -2
  532. package/src/NDLAFilm/FilmContentCardTags.tsx +9 -1
  533. package/src/NDLAFilm/FilmMovieList.tsx +5 -4
  534. package/src/NDLAFilm/FilmMovieSearch.tsx +2 -2
  535. package/src/NDLAFilm/FilmSlideshow.tsx +2 -2
  536. package/src/NDLAFilm/MovieGrid.tsx +10 -2
  537. package/src/NDLAFilm/filmStyles.ts +8 -0
  538. package/src/NDLAFilm/index.ts +4 -5
  539. package/src/NDLAFilm/types.ts +8 -0
  540. package/src/Navigation/NavigationBox.tsx +13 -5
  541. package/src/Notion/Notion.tsx +1 -1
  542. package/src/Notion/NotionImage.tsx +4 -3
  543. package/src/Notion/index.ts +8 -0
  544. package/src/Programme/Programme.tsx +10 -2
  545. package/src/Programme/ProgrammeSubjects.tsx +1 -1
  546. package/src/ProgrammeCard/ProgrammeCard.tsx +1 -1
  547. package/src/RelatedArticleList/RelatedArticleList.tsx +79 -24
  548. package/src/Resource/BlockResource.stories.tsx +2 -2
  549. package/src/Resource/BlockResource.tsx +3 -3
  550. package/src/Resource/ListResource.stories.tsx +1 -1
  551. package/src/Resource/ListResource.tsx +2 -2
  552. package/src/Resource/resourceComponents.tsx +6 -6
  553. package/src/Resource/storyComponents.tsx +2 -2
  554. package/src/ResourceBox/ResourceBox.tsx +1 -2
  555. package/src/ResourceGroup/ResourceGroup.tsx +1 -1
  556. package/src/ResourceGroup/ResourceItem.tsx +4 -4
  557. package/src/ResourceGroup/ResourceList.tsx +2 -2
  558. package/src/ResourcesWrapper/ResourcesTopicTitle.tsx +10 -2
  559. package/src/Search/ActiveFilterContent.tsx +9 -1
  560. package/src/Search/ActiveFilters.tsx +10 -2
  561. package/src/Search/ContentTypeResult.tsx +12 -4
  562. package/src/Search/ContentTypeResultStyles.tsx +9 -1
  563. package/src/Search/IsPathToHighlight.ts +8 -0
  564. package/src/Search/LoadingWrapper.tsx +8 -0
  565. package/src/Search/SearchField.tsx +3 -3
  566. package/src/Search/SearchFieldForm.tsx +9 -1
  567. package/src/Search/SearchResult.tsx +13 -5
  568. package/src/Search/SearchResultSleeve.tsx +2 -2
  569. package/src/Search/index.ts +1 -2
  570. package/src/SearchTypeResult/ActiveFilterContent.tsx +3 -3
  571. package/src/SearchTypeResult/ActiveFilters.tsx +2 -2
  572. package/src/SearchTypeResult/PopupFilter.tsx +3 -3
  573. package/src/SearchTypeResult/ResultNavigation.tsx +1 -1
  574. package/src/SearchTypeResult/SearchFieldHeader.tsx +2 -2
  575. package/src/SearchTypeResult/SearchHeader.tsx +3 -3
  576. package/src/SearchTypeResult/SearchItem.tsx +5 -5
  577. package/src/SearchTypeResult/SearchItemList.tsx +2 -2
  578. package/src/SearchTypeResult/SearchItems.tsx +2 -2
  579. package/src/SearchTypeResult/SearchNotionsResult.tsx +1 -1
  580. package/src/SearchTypeResult/SearchSubjectItem.tsx +2 -2
  581. package/src/SearchTypeResult/SearchTypeHeader.tsx +2 -2
  582. package/src/SearchTypeResult/SearchTypeResult.tsx +4 -4
  583. package/src/SearchTypeResult/SearchViewType.tsx +2 -2
  584. package/src/SearchTypeResult/components/ItemContexts.tsx +4 -4
  585. package/src/SearchTypeResult/components/ItemResourceHeader.tsx +3 -4
  586. package/src/SearchTypeResult/components/ItemTopicHeader.tsx +1 -1
  587. package/src/SearchTypeResult/components/SubjectFilters.tsx +2 -2
  588. package/src/SearchTypeResult/index.ts +3 -3
  589. package/src/SectionHeading/SectionHeading.tsx +8 -0
  590. package/src/SectionHeading/index.ts +8 -0
  591. package/src/Subject/SubjectBanner.tsx +8 -0
  592. package/src/Subject/SubjectHeader.tsx +9 -1
  593. package/src/Subject/index.ts +8 -0
  594. package/src/Table/Table.stories.tsx +1 -1
  595. package/src/Table/Table.tsx +3 -3
  596. package/src/TagSelector/Control.tsx +1 -1
  597. package/src/TagSelector/DropdownIndicator.tsx +2 -2
  598. package/src/TagSelector/Input.tsx +1 -1
  599. package/src/TagSelector/Menu.tsx +1 -1
  600. package/src/TagSelector/MenuList.tsx +1 -1
  601. package/src/TagSelector/Option.tsx +1 -1
  602. package/src/TagSelector/SelectContainer.tsx +1 -1
  603. package/src/TagSelector/TagSelector.stories.tsx +1 -1
  604. package/src/TagSelector/TagSelector.tsx +9 -9
  605. package/src/TagSelector/ValueButton.tsx +1 -1
  606. package/src/TagSelector/ariaMessages.ts +1 -1
  607. package/src/ToolboxPage/ToolboxInfo.tsx +1 -1
  608. package/src/Topic/Loader.tsx +8 -0
  609. package/src/Topic/Topic.tsx +9 -9
  610. package/src/TreeStructure/AddFolderButton.tsx +1 -1
  611. package/src/TreeStructure/ComboboxButton.tsx +3 -3
  612. package/src/TreeStructure/FolderItem.tsx +3 -3
  613. package/src/TreeStructure/FolderItems.tsx +1 -1
  614. package/src/TreeStructure/TreeStructure.stories.tsx +2 -2
  615. package/src/TreeStructure/TreeStructure.tsx +3 -3
  616. package/src/TreeStructure/arrowNavigation.ts +1 -1
  617. package/src/TreeStructure/helperFunctions.ts +8 -0
  618. package/src/i18n/i18n.ts +3 -3
  619. package/src/index.ts +1 -8
  620. package/src/locale/__tests__/translations-test.ts +1 -1
  621. package/src/locale/messages-en.ts +2 -256
  622. package/src/locale/messages-nb.ts +2 -255
  623. package/src/locale/messages-nn.ts +2 -255
  624. package/src/locale/messages-se.ts +2 -255
  625. package/src/locale/messages-sma.ts +2 -255
  626. package/src/main.scss +0 -1
  627. package/es/NDLAFilm/AboutNdlaFilm.js +0 -57
  628. package/lib/NDLAFilm/AboutNdlaFilm.d.ts +0 -15
  629. package/lib/NDLAFilm/AboutNdlaFilm.js +0 -63
  630. package/src/NDLAFilm/AboutNdlaFilm.tsx +0 -84
  631. package/src/RelatedArticleList/component.related-articles.scss +0 -115
@@ -6,22 +6,16 @@
6
6
  *
7
7
  */
8
8
 
9
- import { Children, HTMLProps, ReactNode, useMemo, useState } from 'react';
10
- import BEMHelper from 'react-bem-helper';
9
+ import { CSSProperties, Children, ComponentProps, ReactNode, useMemo, useState } from 'react';
11
10
  import { useTranslation } from 'react-i18next';
12
11
  import styled from '@emotion/styled';
13
12
  import { ButtonV2 } from '@ndla/button';
13
+ import { breakpoints, colors, fonts, mq, spacing } from '@ndla/core';
14
14
  import SafeLink from '@ndla/safelink';
15
- import { HeadingLevel } from '@ndla/typography';
16
- import SectionHeading from '../SectionHeading';
15
+ import { Heading, HeadingLevel, Text } from '@ndla/typography';
17
16
  import ContentTypeBadge from '../ContentTypeBadge';
18
17
  import { contentTypes } from '../model/ContentType';
19
18
 
20
- const classes = new BEMHelper({
21
- name: 'related-articles',
22
- prefix: 'c-',
23
- });
24
-
25
19
  interface RelatedArticleProps {
26
20
  title: string;
27
21
  introduction: string;
@@ -31,6 +25,45 @@ interface RelatedArticleProps {
31
25
  type?: string;
32
26
  }
33
27
 
28
+ const TitleWrapper = styled.div`
29
+ display: flex;
30
+ gap: ${spacing.small};
31
+ align-items: flex-start;
32
+ div {
33
+ min-width: 34px;
34
+ min-height: 34px;
35
+ max-width: 34px;
36
+ max-height: 34px;
37
+ }
38
+ `;
39
+
40
+ const StyledRelatedArticle = styled.article`
41
+ border-left: 6px solid var(--border-color, ${colors.brand.greyLight});
42
+ flex-grow: 0;
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: ${spacing.xsmall};
46
+ padding: 0px ${spacing.normal} 0px ${spacing.normal};
47
+ `;
48
+
49
+ const LinkInfo = styled(Text)`
50
+ font-weight: ${fonts.weight.bold};
51
+ `;
52
+
53
+ const LinkText = styled(Text)`
54
+ font-weight: ${fonts.weight.semibold};
55
+ `;
56
+
57
+ const colorMap = {
58
+ [contentTypes.SUBJECT_MATERIAL]: colors.subjectMaterial.light,
59
+ [contentTypes.TASKS_AND_ACTIVITIES]: colors.tasksAndActivities.background,
60
+ [contentTypes.ASSESSMENT_RESOURCES]: colors.assessmentResource.background,
61
+ [contentTypes.EXTERNAL_LEARNING_RESOURCES]: colors.externalLearningResource.background,
62
+ [contentTypes.SOURCE_MATERIAL]: colors.sourceMaterial.light,
63
+ [contentTypes.LEARNING_PATH]: colors.learningPath.background,
64
+ [contentTypes.SUBJECT]: colors.subject.light,
65
+ };
66
+
34
67
  export const RelatedArticle = ({
35
68
  title,
36
69
  introduction,
@@ -40,33 +73,55 @@ export const RelatedArticle = ({
40
73
  type = contentTypes.SUBJECT_MATERIAL,
41
74
  }: RelatedArticleProps) => {
42
75
  return (
43
- <article {...classes('item', type)}>
44
- <h3 {...classes('title')}>
76
+ <StyledRelatedArticle style={{ '--border-color': colorMap[type] } as CSSProperties}>
77
+ <TitleWrapper>
45
78
  <ContentTypeBadge type={type} background size="small" />
46
- <span {...classes('link-wrapper')}>
47
- <SafeLink to={to} {...classes('link')} target={target} rel={linkInfo ? 'noopener noreferrer' : undefined}>
79
+ <LinkText element="span" textStyle="meta-text-medium" margin="none">
80
+ <SafeLink to={to} target={target} rel={linkInfo ? 'noopener noreferrer' : undefined}>
48
81
  {title}
49
82
  </SafeLink>
50
- </span>
51
- </h3>
52
- <p {...classes('description')} dangerouslySetInnerHTML={{ __html: introduction }} />
53
- {linkInfo && <p {...classes('link-info')}>{linkInfo}</p>}
54
- </article>
83
+ </LinkText>
84
+ </TitleWrapper>
85
+ <Text textStyle="meta-text-small" margin="none" dangerouslySetInnerHTML={{ __html: introduction }} />
86
+ <LinkInfo textStyle="content" margin="none">
87
+ {linkInfo}
88
+ </LinkInfo>
89
+ </StyledRelatedArticle>
55
90
  );
56
91
  };
57
92
 
58
93
  const HeadingWrapper = styled.div`
59
94
  display: flex;
95
+ width: 100%;
60
96
  justify-content: space-between;
61
97
  align-items: center;
98
+ align-self: flex-start;
99
+ `;
100
+
101
+ const ArticlesWrapper = styled.div`
102
+ display: grid;
103
+ width: 100%;
104
+ grid-template-columns: repeat(2, 1fr);
105
+ row-gap: ${spacing.large};
106
+ ${mq.range({ until: breakpoints.tablet })} {
107
+ grid-template-columns: 1fr;
108
+ }
62
109
  `;
63
110
 
64
- interface Props extends HTMLProps<HTMLElement> {
111
+ interface Props extends ComponentProps<'section'> {
65
112
  children?: JSX.Element[];
66
113
  articleCount?: number;
67
114
  headingLevel?: HeadingLevel;
68
115
  headingButtons?: ReactNode;
69
116
  }
117
+
118
+ const StyledSection = styled.section`
119
+ display: flex;
120
+ flex-direction: column;
121
+ align-items: center;
122
+ gap: ${spacing.normal};
123
+ `;
124
+
70
125
  export const RelatedArticleList = ({
71
126
  children = [],
72
127
  articleCount,
@@ -83,19 +138,19 @@ export const RelatedArticleList = ({
83
138
  );
84
139
 
85
140
  return (
86
- <section {...classes('')} {...rest}>
141
+ <StyledSection {...rest}>
87
142
  <HeadingWrapper>
88
- <SectionHeading headingLevel={headingLevel} className={classes('component-title').className}>
143
+ <Heading element={headingLevel} margin="none" headingStyle="list-title">
89
144
  {t('related.title')}
90
- </SectionHeading>
145
+ </Heading>
91
146
  {headingButtons}
92
147
  </HeadingWrapper>
93
- <div {...classes('articles')}>{childrenToShow}</div>
148
+ <ArticlesWrapper>{childrenToShow}</ArticlesWrapper>
94
149
  {childCount > 2 ? (
95
150
  <ButtonV2 onClick={() => setExpanded((p) => !p)} variant="outline">
96
151
  {t(`related.show${expanded ? 'Less' : 'More'}`)}
97
152
  </ButtonV2>
98
153
  ) : null}
99
- </section>
154
+ </StyledSection>
100
155
  );
101
156
  };
@@ -6,12 +6,12 @@
6
6
  *
7
7
  */
8
8
 
9
- import { Meta, StoryFn, StoryObj } from '@storybook/react';
10
9
  import styled from '@emotion/styled';
10
+ import { Meta, StoryFn, StoryObj } from '@storybook/react';
11
11
  import { spacing } from '@ndla/core';
12
- import { defaultParameters } from '../../../../stories/defaults';
13
12
  import BlockResource from './BlockResource';
14
13
  import { StoryResourceMenu, resourceTypesArr } from './storyComponents';
14
+ import { defaultParameters } from '../../../../stories/defaults';
15
15
 
16
16
  export default {
17
17
  title: 'My NDLA/BlockResource',
@@ -6,11 +6,9 @@
6
6
  *
7
7
  */
8
8
 
9
- import styled from '@emotion/styled';
10
9
  import { ReactNode } from 'react';
10
+ import styled from '@emotion/styled';
11
11
  import { colors, fonts, spacing } from '@ndla/core';
12
- import ContentTypeBadge from '../ContentTypeBadge';
13
- import Image from '../Image';
14
12
  import {
15
13
  CompressedTagList,
16
14
  ResourceImageProps,
@@ -21,6 +19,8 @@ import {
21
19
  resourceHeadingStyle,
22
20
  } from './resourceComponents';
23
21
  import ContentLoader from '../ContentLoader';
22
+ import ContentTypeBadge from '../ContentTypeBadge';
23
+ import Image from '../Image';
24
24
  import { contentTypeMapping, resourceEmbedTypeMapping } from '../model/ContentType';
25
25
 
26
26
  const BlockElementWrapper = styled.div`
@@ -9,8 +9,8 @@
9
9
  import styled from '@emotion/styled';
10
10
  import { Meta, StoryFn, StoryObj } from '@storybook/react';
11
11
  import ListResource from './ListResource';
12
- import { defaultParameters } from '../../../../stories/defaults';
13
12
  import { StoryResourceMenu, resourceTypesArr } from './storyComponents';
13
+ import { defaultParameters } from '../../../../stories/defaults';
14
14
  import { spacing } from '../../../core/src';
15
15
 
16
16
  export default {
@@ -6,10 +6,9 @@
6
6
  *
7
7
  */
8
8
 
9
- import styled from '@emotion/styled';
10
9
  import { ReactNode } from 'react';
10
+ import styled from '@emotion/styled';
11
11
  import { fonts, spacing, colors, breakpoints, mq } from '@ndla/core';
12
- import Image from '../Image';
13
12
  import {
14
13
  CompressedTagList,
15
14
  ResourceImageProps,
@@ -21,6 +20,7 @@ import {
21
20
  } from './resourceComponents';
22
21
  import ContentLoader from '../ContentLoader';
23
22
  import ContentTypeBadge from '../ContentTypeBadge';
23
+ import Image from '../Image';
24
24
  import { contentTypeMapping, resourceEmbedTypeMapping } from '../model/ContentType';
25
25
 
26
26
  const ListResourceWrapper = styled.div`
@@ -6,17 +6,17 @@
6
6
  *
7
7
  */
8
8
 
9
- import styled from '@emotion/styled';
10
- import { colors, fonts, spacing } from '@ndla/core';
11
9
  import { CSSProperties, HTMLAttributes, ReactNode, useMemo } from 'react';
12
10
  import { useTranslation } from 'react-i18next';
13
- import { IconButtonV2 } from '@ndla/button';
14
- import SafeLink, { SafeLinkButton } from '@ndla/safelink';
15
- import { HashTag } from '@ndla/icons/common';
16
11
  import { css } from '@emotion/react';
12
+ import styled from '@emotion/styled';
13
+ import { IconButtonV2 } from '@ndla/button';
14
+ import { colors, fonts, spacing } from '@ndla/core';
17
15
  import { DropdownMenu, DropdownContent, DropdownTrigger, DropdownItem } from '@ndla/dropdown-menu';
18
- import resourceTypeColor from '../utils/resourceTypeColor';
16
+ import { HashTag } from '@ndla/icons/common';
17
+ import SafeLink, { SafeLinkButton } from '@ndla/safelink';
19
18
  import { resourceEmbedTypeMapping } from '../model/ContentType';
19
+ import resourceTypeColor from '../utils/resourceTypeColor';
20
20
 
21
21
  export interface ResourceImageProps {
22
22
  alt: string;
@@ -6,10 +6,10 @@
6
6
  *
7
7
  */
8
8
 
9
- import { DropdownMenu, DropdownTrigger, DropdownContent, DropdownItem } from '@ndla/dropdown-menu';
10
9
  import { IconButtonV2, ButtonV2 } from '@ndla/button';
11
- import { HorizontalMenu } from '@ndla/icons/contentType';
10
+ import { DropdownMenu, DropdownTrigger, DropdownContent, DropdownItem } from '@ndla/dropdown-menu';
12
11
  import { Pencil } from '@ndla/icons/action';
12
+ import { HorizontalMenu } from '@ndla/icons/contentType';
13
13
  import { DeleteForever } from '@ndla/icons/editor';
14
14
 
15
15
  export const resourceTypesArr = [
@@ -1,5 +1,4 @@
1
1
  /**
2
- *
3
2
  * Copyright (c) 2022-present, NDLA.
4
3
  *
5
4
  * This source code is licensed under the GPLv3 license found in the
@@ -7,10 +6,10 @@
7
6
  *
8
7
  */
9
8
 
9
+ import styled from '@emotion/styled';
10
10
  import { breakpoints, fonts, mq, colors, spacing } from '@ndla/core';
11
11
  import { Launch } from '@ndla/icons/common';
12
12
  import { SafeLinkButton } from '@ndla/safelink';
13
- import styled from '@emotion/styled';
14
13
  import Image from '../Image';
15
14
 
16
15
  const ResourceBoxContainer = styled.div`
@@ -7,8 +7,8 @@
7
7
  */
8
8
 
9
9
  import { ReactNode } from 'react';
10
- import styled from '@emotion/styled';
11
10
  import { css } from '@emotion/react';
11
+ import styled from '@emotion/styled';
12
12
  import { colors, fonts, spacing } from '@ndla/core';
13
13
 
14
14
  import { HeadingLevel } from '@ndla/typography';
@@ -8,14 +8,14 @@
8
8
 
9
9
  import { CSSProperties, ReactNode, useMemo } from 'react';
10
10
  import { useTranslation } from 'react-i18next';
11
- import styled from '@emotion/styled';
12
11
  import { keyframes } from '@emotion/react';
13
- import SafeLink from '@ndla/safelink';
14
- import { Additional, Core, HumanMaleBoard } from '@ndla/icons/common';
12
+ import styled from '@emotion/styled';
15
13
  import { breakpoints, colors, fonts, misc, mq, spacing } from '@ndla/core';
16
- import { Resource } from '../types';
14
+ import { Additional, Core, HumanMaleBoard } from '@ndla/icons/common';
15
+ import SafeLink from '@ndla/safelink';
17
16
  import ContentTypeBadge from '../ContentTypeBadge';
18
17
  import * as contentTypes from '../model/ContentType';
18
+ import { Resource } from '../types';
19
19
 
20
20
  const listElementActiveColor = (contentType?: string) => {
21
21
  switch (contentType) {
@@ -7,11 +7,11 @@
7
7
  */
8
8
 
9
9
  import { ReactNode } from 'react';
10
- import styled from '@emotion/styled';
11
10
  import { useTranslation } from 'react-i18next';
11
+ import styled from '@emotion/styled';
12
12
  import { fonts } from '@ndla/core';
13
- import NoContentBox from '../NoContentBox';
14
13
  import ResourceItem from './ResourceItem';
14
+ import NoContentBox from '../NoContentBox';
15
15
  import { Resource } from '../types';
16
16
 
17
17
  const StyledResourceList = styled.ul`
@@ -1,11 +1,19 @@
1
+ /**
2
+ * Copyright (c) 2018-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
9
  import { useTranslation } from 'react-i18next';
2
10
  import { css } from '@emotion/react';
3
11
  import styled from '@emotion/styled';
4
12
  import { breakpoints, colors, fonts, mq, spacing } from '@ndla/core';
13
+ import { LearningPathQuiz } from '@ndla/icons/contentType';
5
14
  import { ModalBody, ModalHeader, ModalCloseButton, Modal, ModalTitle, ModalTrigger, ModalContent } from '@ndla/modal';
6
- import Tooltip from '@ndla/tooltip';
7
15
  import { Switch } from '@ndla/switch';
8
- import { LearningPathQuiz } from '@ndla/icons/contentType';
16
+ import Tooltip from '@ndla/tooltip';
9
17
 
10
18
  interface HelpIconProps {
11
19
  invertedStyle: boolean;
@@ -1,7 +1,15 @@
1
+ /**
2
+ * Copyright (c) 2019-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
9
  import { forwardRef } from 'react';
2
10
  import styled from '@emotion/styled';
3
- import { Cross } from '@ndla/icons/action';
4
11
  import { spacing, mq, breakpoints, colors, misc, fonts } from '@ndla/core';
12
+ import { Cross } from '@ndla/icons/action';
5
13
 
6
14
  const StyledActiveFilter = styled('button')`
7
15
  height: 38px;
@@ -1,8 +1,16 @@
1
- import styled from '@emotion/styled';
1
+ /**
2
+ * Copyright (c) 2018-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 { useTranslation } from 'react-i18next';
2
10
  import { css } from '@emotion/react';
11
+ import styled from '@emotion/styled';
3
12
  import { spacing, mq, breakpoints } from '@ndla/core';
4
13
  import Tooltip from '@ndla/tooltip';
5
- import { useTranslation } from 'react-i18next';
6
14
  import ActiveFilterContent, { StyledActiveFilterTitle } from './ActiveFilterContent';
7
15
 
8
16
  interface StyledActiveFiltersProps {
@@ -1,11 +1,17 @@
1
+ /**
2
+ * Copyright (c) 2018-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 { ReactElement, useEffect, useRef, useState } from 'react';
10
+ import { useTranslation } from 'react-i18next';
1
11
  import { ButtonV2 } from '@ndla/button';
2
12
  import { Additional, ChevronDown, ChevronUp } from '@ndla/icons/common';
3
13
  import SafeLink from '@ndla/safelink';
4
14
  import Tooltip from '@ndla/tooltip';
5
- import { ReactElement, useEffect, useRef, useState } from 'react';
6
- import { useTranslation } from 'react-i18next';
7
- import ContentTypeBadge from '../ContentTypeBadge';
8
- import { ContentTypeResultType, Resource } from '../types';
9
15
  import {
10
16
  highlightStyle,
11
17
  noWidthhighlightStyle,
@@ -18,6 +24,8 @@ import {
18
24
  StyledWrapper,
19
25
  } from './ContentTypeResultStyles';
20
26
  import { isPathToHighlight } from './IsPathToHighlight';
27
+ import ContentTypeBadge from '../ContentTypeBadge';
28
+ import { ContentTypeResultType, Resource } from '../types';
21
29
 
22
30
  const renderAdditionalIcon = (label: string, isAdditional?: boolean): ReactElement | null => {
23
31
  if (isAdditional && label) {
@@ -1,5 +1,13 @@
1
- import styled from '@emotion/styled';
1
+ /**
2
+ * Copyright (c) 2019-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
+
2
9
  import { css } from '@emotion/react';
10
+ import styled from '@emotion/styled';
3
11
  import { colors, spacing, spacingUnit, fonts, misc, animations, mq, breakpoints } from '@ndla/core';
4
12
 
5
13
  export const highlightStyle = css`
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2020-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
9
  export const isPathToHighlight = (path: string, href: string | false | null): boolean => {
2
10
  const regexForPath = new RegExp(`^(/.*)?${path}$`);
3
11
  return regexForPath.test(href || '') || path === href;
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2019-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
9
  import styled from '@emotion/styled';
2
10
  import { spacing, spacingUnit, animations } from '@ndla/core';
3
11
  import { Spinner } from '@ndla/icons';
@@ -1,4 +1,4 @@
1
- /*
1
+ /**
2
2
  * Copyright (c) 2016-present, NDLA.
3
3
  *
4
4
  * This source code is licensed under the GPLv3 license found in the
@@ -7,12 +7,12 @@
7
7
  */
8
8
 
9
9
  import { FocusEvent, MouseEvent, RefObject } from 'react';
10
- import { useTranslation } from 'react-i18next';
11
10
  import BEMHelper from 'react-bem-helper';
11
+ import { useTranslation } from 'react-i18next';
12
12
  import { css } from '@emotion/react';
13
13
  import styled from '@emotion/styled';
14
- import { Search as SearchIcon } from '@ndla/icons/common';
15
14
  import { colors, spacing, mq, breakpoints, misc, fonts } from '@ndla/core';
15
+ import { Search as SearchIcon } from '@ndla/icons/common';
16
16
 
17
17
  import ActiveFilters from './ActiveFilters';
18
18
  import LoadingWrapper from './LoadingWrapper';
@@ -1,6 +1,14 @@
1
+ /**
2
+ * Copyright (c) 2019-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
9
  import { FormEvent, ReactNode } from 'react';
2
- import styled from '@emotion/styled';
3
10
  import { css } from '@emotion/react';
11
+ import styled from '@emotion/styled';
4
12
  import { spacing, mq, breakpoints } from '@ndla/core';
5
13
 
6
14
  interface Props {
@@ -1,12 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2022-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
9
  import { ElementType, Fragment, ReactNode } from 'react';
2
- import { ChevronRight } from '@ndla/icons/common';
3
- import { uuid } from '@ndla/util';
4
10
  import { useTranslation } from 'react-i18next';
5
- import Tooltip from '@ndla/tooltip';
6
- import SafeLink from '@ndla/safelink';
7
- import { Spinner } from '@ndla/icons';
8
11
  import styled from '@emotion/styled';
9
12
  import { fonts, mq, spacing, breakpoints, colors, spacingUnit } from '@ndla/core';
13
+ import { Spinner } from '@ndla/icons';
14
+ import { ChevronRight } from '@ndla/icons/common';
15
+ import SafeLink from '@ndla/safelink';
16
+ import Tooltip from '@ndla/tooltip';
17
+ import { uuid } from '@ndla/util';
10
18
 
11
19
  interface ItemType {
12
20
  id: string | number;
@@ -1,4 +1,4 @@
1
- /*
1
+ /**
2
2
  * Copyright (c) 2019-present, NDLA.
3
3
  *
4
4
  * This source code is licensed under the GPLv3 license found in the
@@ -7,11 +7,11 @@
7
7
  */
8
8
 
9
9
  import { useEffect, useRef, useState } from 'react';
10
+ import { useTranslation } from 'react-i18next';
10
11
  import styled from '@emotion/styled';
11
12
  import { breakpoints, colors, fonts, misc, mq, spacing } from '@ndla/core';
12
13
  import { ChevronDown, ChevronUp, Esc, KeyboardReturn, Search as SearchIcon, Wrench } from '@ndla/icons/common';
13
14
  import SafeLink from '@ndla/safelink';
14
- import { useTranslation } from 'react-i18next';
15
15
  import ContentTypeResult from './ContentTypeResult';
16
16
  import { highlightStyle } from './ContentTypeResultStyles';
17
17
  import { ContentTypeResultType, Resource } from '../types';
@@ -6,10 +6,9 @@
6
6
  *
7
7
  */
8
8
 
9
+ import ActiveFilters from './ActiveFilters';
9
10
  import SearchField from './SearchField';
10
11
 
11
12
  import { SearchResultList, SearchResultItem } from './SearchResult';
12
13
 
13
- import ActiveFilters from './ActiveFilters';
14
-
15
14
  export { SearchField, SearchResultItem, SearchResultList, ActiveFilters };
@@ -7,11 +7,11 @@
7
7
  */
8
8
 
9
9
  import { forwardRef } from 'react';
10
+ import { useTranslation } from 'react-i18next';
10
11
  import styled from '@emotion/styled';
11
- import { Cross } from '@ndla/icons/action';
12
- import { spacing, fonts } from '@ndla/core';
13
12
  import { ButtonV2 } from '@ndla/button';
14
- import { useTranslation } from 'react-i18next';
13
+ import { spacing, fonts } from '@ndla/core';
14
+ import { Cross } from '@ndla/icons/action';
15
15
 
16
16
  export const StyledActiveFilterTitle = styled.span`
17
17
  white-space: nowrap;
@@ -8,11 +8,11 @@
8
8
 
9
9
  import { ReactElement } from 'react';
10
10
  import { useTranslation } from 'react-i18next';
11
- import styled from '@emotion/styled';
12
11
  import { css } from '@emotion/react';
12
+ import styled from '@emotion/styled';
13
+ import { ButtonV2 } from '@ndla/button';
13
14
  import { spacing, mq, breakpoints } from '@ndla/core';
14
15
  import Tooltip from '@ndla/tooltip';
15
- import { ButtonV2 } from '@ndla/button';
16
16
  import ActiveFilterContent, { FilterProps, StyledActiveFilterTitle } from './ActiveFilterContent';
17
17
 
18
18
  type StyledActiveFiltersProps = {
@@ -7,11 +7,11 @@
7
7
  */
8
8
 
9
9
  import { useState } from 'react';
10
+ import { useTranslation } from 'react-i18next';
10
11
  import styled from '@emotion/styled';
11
- import { ModalCloseButton, ModalBody, ModalTitle, ModalContent } from '@ndla/modal';
12
- import { breakpoints, mq, spacing } from '@ndla/core';
13
12
  import { ButtonV2 } from '@ndla/button';
14
- import { useTranslation } from 'react-i18next';
13
+ import { breakpoints, mq, spacing } from '@ndla/core';
14
+ import { ModalCloseButton, ModalBody, ModalTitle, ModalContent } from '@ndla/modal';
15
15
  import { ToggleItem } from '../Filter';
16
16
 
17
17
  import FrontpageAllSubjects, { subjectsProps } from '../Frontpage/FrontpageAllSubjects';
@@ -6,10 +6,10 @@
6
6
  *
7
7
  */
8
8
 
9
+ import { useTranslation } from 'react-i18next';
9
10
  import styled from '@emotion/styled';
10
11
  import { ButtonV2 } from '@ndla/button';
11
12
  import { fonts, spacing, colors } from '@ndla/core';
12
- import { useTranslation } from 'react-i18next';
13
13
 
14
14
  const ResultNav = styled.div`
15
15
  font-size: 14px;
@@ -6,12 +6,12 @@
6
6
  *
7
7
  */
8
8
  import { FormEvent, useRef, useState } from 'react';
9
+ import { useTranslation } from 'react-i18next';
9
10
  import styled from '@emotion/styled';
10
- import { Search as SearchIcon } from '@ndla/icons/common';
11
11
  import { spacing, colors } from '@ndla/core';
12
12
  import { Cross as CrossIcon } from '@ndla/icons/action';
13
+ import { Search as SearchIcon } from '@ndla/icons/common';
13
14
 
14
- import { useTranslation } from 'react-i18next';
15
15
  import SubjectFilters, { SubjectFilterProps } from './components/SubjectFilters';
16
16
 
17
17
  type StyledProps = {
@@ -8,14 +8,14 @@
8
8
  import { FormEvent, useEffect, useState } from 'react';
9
9
  import { useTranslation } from 'react-i18next';
10
10
  import styled from '@emotion/styled';
11
- import { breakpoints, fonts, mq, spacing } from '@ndla/core';
12
11
  import { ButtonV2 } from '@ndla/button';
12
+ import { breakpoints, fonts, mq, spacing } from '@ndla/core';
13
13
 
14
+ import SubjectFilters, { SubjectFilterProps } from './components/SubjectFilters';
14
15
  import SearchFieldHeader from './SearchFieldHeader';
15
- import { CompetenceGoalsItemType, CoreElementsItemType } from '../types';
16
16
  import CompetenceGoalItem from '../CompetenceGoalTab/CompetenceGoalItem';
17
- import SubjectFilters, { SubjectFilterProps } from './components/SubjectFilters';
18
17
  import CoreElementItem from '../CompetenceGoalTab/CoreElementItem';
18
+ import { CompetenceGoalsItemType, CoreElementsItemType } from '../types';
19
19
 
20
20
  const Wrapper = styled.div`
21
21
  margin-top: ${spacing.normal};