@ndla/ui 3.3.13 → 3.3.17

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 (410) hide show
  1. package/README.md +0 -3
  2. package/es/Article/Article.js +3 -3
  3. package/es/Article/ArticleByline.js +4 -5
  4. package/es/Article/ArticleNotions.js +5 -6
  5. package/es/Article/ArticleSideBar.js +11 -12
  6. package/es/AudioPlayer/AudioPlayer.js +15 -16
  7. package/es/AudioPlayer/SpeechControl.js +2 -3
  8. package/es/BlogPosts/BlogPost.js +6 -8
  9. package/es/BlogPosts/BlogPostWrapper.js +1 -1
  10. package/es/Breadcrumb/Breadcrumb.js +1 -2
  11. package/es/Breadcrumb/BreadcrumbItem.js +2 -3
  12. package/es/Breadcrumblist/Breadcrumblist.js +7 -8
  13. package/es/CompetenceGoalTab/CompetenceGoalTab.js +6 -7
  14. package/es/CompetenceGoalTab/CompetenceItem.js +11 -13
  15. package/es/ComponentCursor/ComponentCursor.js +8 -8
  16. package/es/CopyParagraphButton/CopyParagraphButton.js +3 -4
  17. package/es/CreatedBy/CreatedBy.js +5 -6
  18. package/es/Dialog/Dialog.js +1 -2
  19. package/es/Embedded/Twitter.js +5 -5
  20. package/es/ErrorMessage/ErrorMessage.js +5 -5
  21. package/es/Figure/Figure.js +3 -1
  22. package/es/Figure/FigureLicenseDialog.js +1 -2
  23. package/es/Filter/FilterButtons.js +11 -13
  24. package/es/Footer/Footer.js +8 -9
  25. package/es/Footer/FooterLinks.js +7 -8
  26. package/es/Footer/FooterPrivacy.js +2 -3
  27. package/es/Footer/FooterText.js +1 -1
  28. package/es/Frontpage/FrontpageAllSubjects.js +10 -11
  29. package/es/Frontpage/FrontpageFilm.js +6 -8
  30. package/es/Frontpage/FrontpageHeader.js +5 -6
  31. package/es/Frontpage/FrontpageInfo.js +1 -1
  32. package/es/Frontpage/FrontpageMultidisciplinarySubject.js +8 -9
  33. package/es/Frontpage/FrontpageSearch.js +4 -6
  34. package/es/Frontpage/FrontpageToolbox.js +5 -6
  35. package/es/Frontpage/illustrations/FrontpageSubjectIllustration.js +1 -1
  36. package/es/LanguageSelector/LanguageSelector.js +8 -9
  37. package/es/LearningPaths/LearningPathContent.js +1 -1
  38. package/es/LearningPaths/LearningPathInformation.js +1 -1
  39. package/es/LearningPaths/LearningPathLastStepNavigation.js +4 -4
  40. package/es/LearningPaths/LearningPathMenu.js +5 -7
  41. package/es/LearningPaths/LearningPathMenuAside.js +7 -8
  42. package/es/LearningPaths/LearningPathMenuAsideCopyright.js +1 -2
  43. package/es/LearningPaths/LearningPathMenuContent.js +6 -8
  44. package/es/LearningPaths/LearningPathMenuIntro.js +7 -8
  45. package/es/LearningPaths/LearningPathMenuModalWrapper.js +3 -5
  46. package/es/LearningPaths/LearningPathMobileHeader.js +4 -5
  47. package/es/LearningPaths/LearningPathMobileStepInfo.js +1 -1
  48. package/es/LearningPaths/LearningPathSticky.js +4 -5
  49. package/es/LearningPaths/LearningPathWrapper.js +2 -2
  50. package/es/Masthead/MastheadSearchModal.js +5 -7
  51. package/es/NDLAFilm/AboutNdlaFilm.js +6 -17
  52. package/es/NDLAFilm/AllMoviesAlphabetically.js +14 -15
  53. package/es/NDLAFilm/CategorySelect.js +17 -18
  54. package/es/NDLAFilm/FilmContentCard.js +8 -23
  55. package/es/NDLAFilm/FilmContentCardTags.js +4 -8
  56. package/es/NDLAFilm/FilmMovieList.js +6 -21
  57. package/es/NDLAFilm/FilmMovieSearch.js +18 -26
  58. package/es/NDLAFilm/FilmSlideshow.js +3 -3
  59. package/es/NDLAFilm/MovieGrid.js +10 -19
  60. package/es/NDLAFilm/VisualElement.js +22 -29
  61. package/es/Navigation/NavigationBox.js +19 -19
  62. package/es/Navigation/NavigationHeading.js +4 -4
  63. package/es/Navigation/NavigationTopicAbout.js +15 -16
  64. package/es/Notion/Notion.js +4 -4
  65. package/es/RelatedArticleList/RelatedArticleList.js +4 -4
  66. package/es/ResourceGroup/ResourceItem.js +12 -14
  67. package/es/ResourceGroup/ResourceList.js +3 -4
  68. package/es/ResourcesWrapper/ResourcesTopicTitle.js +5 -6
  69. package/es/Search/ContentTypeResult.js +4 -7
  70. package/es/Search/LoadingWrapper.js +2 -3
  71. package/es/Search/SearchFieldForm.js +3 -3
  72. package/es/Search/SearchPage.js +2 -2
  73. package/es/Search/SearchResultSleeve.js +8 -8
  74. package/es/SearchTypeResult/ActiveFilterContent.js +1 -2
  75. package/es/SearchTypeResult/ActiveFilters.js +6 -7
  76. package/es/SearchTypeResult/PopupFilter.js +9 -11
  77. package/es/SearchTypeResult/ResultNavigation.js +2 -3
  78. package/es/SearchTypeResult/SearchFieldHeader.js +7 -9
  79. package/es/SearchTypeResult/SearchItem.js +20 -24
  80. package/es/SearchTypeResult/SearchItems.js +4 -4
  81. package/es/SearchTypeResult/SearchNotionItem.js +16 -20
  82. package/es/SearchTypeResult/SearchNotionsResult.js +6 -8
  83. package/es/SearchTypeResult/SearchSubjectItem.js +3 -4
  84. package/es/SearchTypeResult/SearchTypeHeader.js +9 -10
  85. package/es/SearchTypeResult/SearchTypeResult.js +5 -6
  86. package/es/ToolboxPage/ToolboxInfo.js +2 -2
  87. package/es/Topic/Loader.js +1 -2
  88. package/es/Topic/Topic.js +21 -22
  89. package/es/TopicIntroductionList/TopicIntroduction.js +14 -33
  90. package/es/TopicIntroductionList/TopicIntroductionList.js +6 -23
  91. package/es/TopicIntroductionList/TopicIntroductionShortcuts.js +71 -110
  92. package/es/TopicIntroductionList/TopicShortcutItem.js +0 -9
  93. package/es/Translation/TranslationBox.js +1 -2
  94. package/es/User/AuthModal.js +9 -10
  95. package/es/all.css +1 -4
  96. package/es/index-javascript.js +1 -5
  97. package/es/index.js +4 -0
  98. package/es/shapes.js +0 -6
  99. package/lib/Article/Article.d.ts +2 -2
  100. package/lib/Article/Article.js +2 -4
  101. package/lib/Article/ArticleByline.d.ts +2 -2
  102. package/lib/Article/ArticleByline.js +4 -4
  103. package/lib/Article/ArticleNotions.d.ts +2 -2
  104. package/lib/Article/ArticleNotions.js +4 -4
  105. package/lib/Article/ArticleSideBar.d.ts +4 -4
  106. package/lib/Article/ArticleSideBar.js +10 -11
  107. package/lib/Aside/Aside.d.ts +2 -2
  108. package/lib/AudioPlayer/AudioPlayer.js +14 -14
  109. package/lib/AudioPlayer/SpeechControl.js +1 -2
  110. package/lib/BlogPosts/BlogPost.d.ts +1 -2
  111. package/lib/BlogPosts/BlogPost.js +4 -6
  112. package/lib/BlogPosts/BlogPostWrapper.d.ts +3 -3
  113. package/lib/BlogPosts/BlogPostWrapper.js +1 -1
  114. package/lib/Breadcrumb/Breadcrumb.d.ts +4 -4
  115. package/lib/Breadcrumb/Breadcrumb.js +0 -1
  116. package/lib/Breadcrumb/BreadcrumbBlock.d.ts +3 -3
  117. package/lib/Breadcrumb/BreadcrumbItem.d.ts +2 -2
  118. package/lib/Breadcrumb/BreadcrumbItem.js +1 -2
  119. package/lib/Breadcrumblist/Breadcrumblist.d.ts +4 -4
  120. package/lib/Breadcrumblist/Breadcrumblist.js +6 -6
  121. package/lib/CompetenceGoalTab/CompetenceGoalTab.js +5 -5
  122. package/lib/CompetenceGoalTab/CompetenceItem.js +10 -10
  123. package/lib/ComponentCursor/ComponentCursor.js +8 -8
  124. package/lib/CopyParagraphButton/CopyParagraphButton.js +2 -2
  125. package/lib/CreatedBy/CreatedBy.js +4 -4
  126. package/lib/Embedded/Twitter.js +5 -5
  127. package/lib/ErrorMessage/ErrorMessage.d.ts +2 -2
  128. package/lib/ErrorMessage/ErrorMessage.js +5 -5
  129. package/lib/Figure/Figure.js +3 -1
  130. package/lib/Filter/FilterButtons.js +9 -9
  131. package/lib/Footer/EditorName.d.ts +1 -2
  132. package/lib/Footer/Footer.d.ts +5 -5
  133. package/lib/Footer/Footer.js +7 -7
  134. package/lib/Footer/FooterLinks.d.ts +3 -3
  135. package/lib/Footer/FooterLinks.js +6 -6
  136. package/lib/Footer/FooterPrivacy.d.ts +1 -2
  137. package/lib/Footer/FooterPrivacy.js +2 -3
  138. package/lib/Footer/FooterText.d.ts +3 -3
  139. package/lib/Footer/FooterText.js +1 -1
  140. package/lib/Footer/privacy_en.d.ts +1 -2
  141. package/lib/Footer/privacy_nb.d.ts +1 -2
  142. package/lib/Footer/privacy_nn.d.ts +1 -2
  143. package/lib/Frontpage/FrontpageAllSubjects.js +15 -9
  144. package/lib/Frontpage/FrontpageFilm.d.ts +1 -1
  145. package/lib/Frontpage/FrontpageFilm.js +4 -6
  146. package/lib/Frontpage/FrontpageHeader.d.ts +3 -2
  147. package/lib/Frontpage/FrontpageHeader.js +4 -5
  148. package/lib/Frontpage/FrontpageInfo.d.ts +3 -3
  149. package/lib/Frontpage/FrontpageInfo.js +1 -1
  150. package/lib/Frontpage/FrontpageMultidisciplinarySubject.d.ts +1 -1
  151. package/lib/Frontpage/FrontpageMultidisciplinarySubject.js +7 -7
  152. package/lib/Frontpage/FrontpageSearch.d.ts +3 -3
  153. package/lib/Frontpage/FrontpageSearch.js +2 -4
  154. package/lib/Frontpage/FrontpageToolbox.d.ts +1 -1
  155. package/lib/Frontpage/FrontpageToolbox.js +4 -5
  156. package/lib/Frontpage/illustrations/Fellesfag.d.ts +1 -2
  157. package/lib/Frontpage/illustrations/FrontpageHeaderIllustration.d.ts +1 -2
  158. package/lib/Frontpage/illustrations/FrontpageSubjectIllustration.d.ts +1 -2
  159. package/lib/Frontpage/illustrations/FrontpageSubjectIllustration.js +1 -1
  160. package/lib/Frontpage/illustrations/MenuFellesfag.d.ts +1 -2
  161. package/lib/Frontpage/illustrations/MenuStudiespesialiserende.d.ts +1 -2
  162. package/lib/Frontpage/illustrations/MenuYrkesfag.d.ts +1 -2
  163. package/lib/Frontpage/illustrations/Studiespesialiserende.d.ts +1 -2
  164. package/lib/Frontpage/illustrations/Yrkesfag.d.ts +1 -2
  165. package/lib/Frontpage/illustrations/index.d.ts +6 -6
  166. package/lib/LanguageSelector/LanguageSelector.js +7 -7
  167. package/lib/LearningPaths/LearningPathContent.d.ts +3 -3
  168. package/lib/LearningPaths/LearningPathContent.js +1 -1
  169. package/lib/LearningPaths/LearningPathInformation.d.ts +1 -2
  170. package/lib/LearningPaths/LearningPathInformation.js +1 -1
  171. package/lib/LearningPaths/LearningPathLastStepNavigation.d.ts +3 -3
  172. package/lib/LearningPaths/LearningPathLastStepNavigation.js +4 -4
  173. package/lib/LearningPaths/LearningPathMenu.d.ts +1 -2
  174. package/lib/LearningPaths/LearningPathMenu.js +3 -3
  175. package/lib/LearningPaths/LearningPathMenuAside.d.ts +1 -1
  176. package/lib/LearningPaths/LearningPathMenuAside.js +6 -7
  177. package/lib/LearningPaths/LearningPathMenuAsideCopyright.d.ts +1 -2
  178. package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +1 -2
  179. package/lib/LearningPaths/LearningPathMenuContent.d.ts +1 -2
  180. package/lib/LearningPaths/LearningPathMenuContent.js +5 -7
  181. package/lib/LearningPaths/LearningPathMenuIntro.d.ts +1 -2
  182. package/lib/LearningPaths/LearningPathMenuIntro.js +6 -6
  183. package/lib/LearningPaths/LearningPathMenuModalWrapper.d.ts +3 -3
  184. package/lib/LearningPaths/LearningPathMenuModalWrapper.js +1 -3
  185. package/lib/LearningPaths/LearningPathMobileHeader.d.ts +1 -1
  186. package/lib/LearningPaths/LearningPathMobileHeader.js +4 -5
  187. package/lib/LearningPaths/LearningPathMobileStepInfo.d.ts +1 -1
  188. package/lib/LearningPaths/LearningPathMobileStepInfo.js +1 -1
  189. package/lib/LearningPaths/LearningPathSticky.d.ts +11 -5
  190. package/lib/LearningPaths/LearningPathSticky.js +3 -4
  191. package/lib/LearningPaths/LearningPathWrapper.d.ts +3 -3
  192. package/lib/LearningPaths/LearningPathWrapper.js +2 -2
  193. package/lib/Masthead/MastheadSearchModal.d.ts +3 -3
  194. package/lib/Masthead/MastheadSearchModal.js +3 -5
  195. package/lib/NDLAFilm/AboutNdlaFilm.d.ts +15 -0
  196. package/lib/NDLAFilm/AboutNdlaFilm.js +6 -18
  197. package/lib/NDLAFilm/AllMoviesAlphabetically.d.ts +3 -4
  198. package/lib/NDLAFilm/AllMoviesAlphabetically.js +12 -13
  199. package/lib/NDLAFilm/CategorySelect.d.ts +11 -0
  200. package/lib/NDLAFilm/CategorySelect.js +20 -19
  201. package/lib/NDLAFilm/FilmContentCard.d.ts +11 -0
  202. package/lib/NDLAFilm/FilmContentCard.js +8 -24
  203. package/lib/NDLAFilm/FilmContentCardTags.d.ts +7 -0
  204. package/lib/NDLAFilm/FilmContentCardTags.js +4 -9
  205. package/lib/NDLAFilm/FilmMovieList.d.ts +19 -0
  206. package/lib/NDLAFilm/FilmMovieList.js +5 -21
  207. package/lib/NDLAFilm/FilmMovieSearch.d.ts +21 -0
  208. package/lib/NDLAFilm/FilmMovieSearch.js +25 -30
  209. package/lib/NDLAFilm/FilmSlideshow.d.ts +5 -5
  210. package/lib/NDLAFilm/FilmSlideshow.js +2 -1
  211. package/lib/NDLAFilm/MovieGrid.d.ts +13 -0
  212. package/lib/NDLAFilm/MovieGrid.js +9 -21
  213. package/lib/NDLAFilm/SlideshowIndicator.d.ts +2 -2
  214. package/lib/NDLAFilm/VisualElement.d.ts +16 -0
  215. package/lib/NDLAFilm/VisualElement.js +22 -30
  216. package/lib/NDLAFilm/index.d.ts +14 -0
  217. package/lib/NDLAFilm/types.d.ts +8 -6
  218. package/lib/Navigation/NavigationBox.d.ts +3 -3
  219. package/lib/Navigation/NavigationBox.js +19 -19
  220. package/lib/Navigation/NavigationHeading.d.ts +2 -2
  221. package/lib/Navigation/NavigationHeading.js +4 -4
  222. package/lib/Navigation/NavigationTopicAbout.d.ts +2 -2
  223. package/lib/Navigation/NavigationTopicAbout.js +14 -14
  224. package/lib/Notion/Notion.d.ts +4 -4
  225. package/lib/Notion/Notion.js +4 -4
  226. package/lib/RadioButtonGroup/RadioButtonGroup.d.ts +2 -2
  227. package/lib/RelatedArticleList/RelatedArticleList.js +3 -3
  228. package/lib/ResourceGroup/ResourceItem.js +11 -11
  229. package/lib/ResourceGroup/ResourceList.js +2 -2
  230. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +4 -4
  231. package/lib/Search/ContentTypeResult.d.ts +1 -2
  232. package/lib/Search/ContentTypeResult.js +1 -1
  233. package/lib/Search/LoadingWrapper.d.ts +1 -2
  234. package/lib/Search/LoadingWrapper.js +1 -2
  235. package/lib/Search/SearchFieldForm.d.ts +4 -4
  236. package/lib/Search/SearchFieldForm.js +3 -3
  237. package/lib/Search/SearchPage.js +1 -1
  238. package/lib/Search/SearchResultSleeve.d.ts +1 -2
  239. package/lib/Search/SearchResultSleeve.js +8 -8
  240. package/lib/SearchTypeResult/ActiveFilterContent.js +1 -2
  241. package/lib/SearchTypeResult/ActiveFilters.d.ts +2 -2
  242. package/lib/SearchTypeResult/ActiveFilters.js +5 -5
  243. package/lib/SearchTypeResult/PopupFilter.js +8 -8
  244. package/lib/SearchTypeResult/ResultNavigation.js +2 -3
  245. package/lib/SearchTypeResult/SearchFieldHeader.d.ts +2 -2
  246. package/lib/SearchTypeResult/SearchFieldHeader.js +5 -5
  247. package/lib/SearchTypeResult/SearchItem.d.ts +2 -2
  248. package/lib/SearchTypeResult/SearchItem.js +17 -17
  249. package/lib/SearchTypeResult/SearchItems.js +10 -4
  250. package/lib/SearchTypeResult/SearchNotionItem.d.ts +4 -4
  251. package/lib/SearchTypeResult/SearchNotionItem.js +12 -12
  252. package/lib/SearchTypeResult/SearchNotionsResult.d.ts +2 -2
  253. package/lib/SearchTypeResult/SearchNotionsResult.js +4 -4
  254. package/lib/SearchTypeResult/SearchSubjectItem.js +3 -3
  255. package/lib/SearchTypeResult/SearchTypeHeader.js +14 -8
  256. package/lib/SearchTypeResult/SearchTypeResult.d.ts +2 -2
  257. package/lib/SearchTypeResult/SearchTypeResult.js +10 -5
  258. package/lib/ToolboxPage/ToolboxInfo.d.ts +2 -2
  259. package/lib/ToolboxPage/ToolboxInfo.js +2 -2
  260. package/lib/Topic/Loader.js +0 -1
  261. package/lib/Topic/Topic.d.ts +5 -5
  262. package/lib/Topic/Topic.js +20 -20
  263. package/lib/TopicIntroductionList/TopicIntroduction.d.ts +21 -0
  264. package/lib/TopicIntroductionList/TopicIntroduction.js +16 -36
  265. package/lib/TopicIntroductionList/TopicIntroductionList.d.ts +35 -0
  266. package/lib/TopicIntroductionList/TopicIntroductionList.js +6 -25
  267. package/lib/TopicIntroductionList/TopicIntroductionShortcuts.d.ts +8 -0
  268. package/lib/TopicIntroductionList/TopicIntroductionShortcuts.js +72 -110
  269. package/lib/TopicIntroductionList/TopicShortcutItem.d.ts +6 -0
  270. package/lib/TopicIntroductionList/TopicShortcutItem.js +0 -11
  271. package/lib/TopicIntroductionList/index.d.ts +9 -0
  272. package/lib/Translation/TranslationBox.js +0 -1
  273. package/lib/User/AuthModal.js +8 -8
  274. package/lib/all.css +1 -4
  275. package/lib/index-javascript.js +3 -137
  276. package/lib/index.d.ts +4 -0
  277. package/lib/index.js +155 -0
  278. package/lib/locale/LocaleProvider.d.ts +2 -2
  279. package/lib/shapes.js +1 -10
  280. package/lib/types.d.ts +2 -1
  281. package/package.json +15 -15
  282. package/src/Article/Article.tsx +3 -3
  283. package/src/Article/ArticleByline.tsx +2 -3
  284. package/src/Article/ArticleNotions.tsx +2 -4
  285. package/src/Article/ArticleSideBar.tsx +7 -8
  286. package/src/Aside/Aside.tsx +2 -2
  287. package/src/AudioPlayer/AudioPlayer.tsx +0 -1
  288. package/src/AudioPlayer/SpeechControl.tsx +0 -1
  289. package/src/BlogPosts/BlogPost.tsx +2 -4
  290. package/src/BlogPosts/BlogPostWrapper.tsx +3 -3
  291. package/src/Breadcrumb/Breadcrumb.tsx +4 -5
  292. package/src/Breadcrumb/BreadcrumbBlock.tsx +3 -3
  293. package/src/Breadcrumb/BreadcrumbItem.tsx +3 -4
  294. package/src/Breadcrumblist/Breadcrumblist.tsx +5 -6
  295. package/src/CompetenceGoalTab/CompetenceGoalTab.tsx +0 -1
  296. package/src/CompetenceGoalTab/CompetenceItem.tsx +1 -5
  297. package/src/ComponentCursor/ComponentCursor.tsx +2 -2
  298. package/src/CopyParagraphButton/CopyParagraphButton.tsx +2 -3
  299. package/src/CreatedBy/CreatedBy.tsx +0 -1
  300. package/src/Dialog/Dialog.tsx +0 -1
  301. package/src/Embedded/Twitter.jsx +3 -3
  302. package/src/ErrorMessage/ErrorMessage.tsx +2 -7
  303. package/src/Figure/Figure.tsx +2 -1
  304. package/src/Figure/FigureLicenseDialog.tsx +0 -1
  305. package/src/Figure/component.figure.scss +37 -3
  306. package/src/Filter/FilterButtons.tsx +0 -3
  307. package/src/Footer/EditorName.tsx +1 -1
  308. package/src/Footer/Footer.tsx +4 -5
  309. package/src/Footer/FooterLinks.tsx +4 -8
  310. package/src/Footer/FooterPrivacy.tsx +1 -2
  311. package/src/Footer/FooterText.tsx +3 -5
  312. package/src/Footer/privacy_en.tsx +1 -1
  313. package/src/Footer/privacy_nb.tsx +1 -1
  314. package/src/Footer/privacy_nn.tsx +1 -1
  315. package/src/Frontpage/FrontpageAllSubjects.tsx +5 -6
  316. package/src/Frontpage/FrontpageFilm.tsx +1 -3
  317. package/src/Frontpage/FrontpageHeader.tsx +3 -8
  318. package/src/Frontpage/FrontpageInfo.tsx +3 -3
  319. package/src/Frontpage/FrontpageMultidisciplinarySubject.tsx +1 -2
  320. package/src/Frontpage/FrontpageSearch.tsx +4 -6
  321. package/src/Frontpage/FrontpageToolbox.tsx +1 -2
  322. package/src/Frontpage/illustrations/Fellesfag.tsx +1 -1
  323. package/src/Frontpage/illustrations/FrontpageHeaderIllustration.tsx +1 -1
  324. package/src/Frontpage/illustrations/FrontpageSubjectIllustration.tsx +1 -1
  325. package/src/Frontpage/illustrations/MenuFellesfag.tsx +1 -1
  326. package/src/Frontpage/illustrations/MenuStudiespesialiserende.tsx +1 -1
  327. package/src/Frontpage/illustrations/MenuYrkesfag.tsx +1 -1
  328. package/src/Frontpage/illustrations/Studiespesialiserende.tsx +1 -1
  329. package/src/Frontpage/illustrations/Yrkesfag.tsx +1 -1
  330. package/src/LanguageSelector/LanguageSelector.tsx +0 -1
  331. package/src/LearningPaths/LearningPathContent.tsx +3 -5
  332. package/src/LearningPaths/LearningPathInformation.tsx +1 -6
  333. package/src/LearningPaths/LearningPathLastStepNavigation.tsx +3 -9
  334. package/src/LearningPaths/LearningPathMenu.tsx +2 -4
  335. package/src/LearningPaths/LearningPathMenuAside.tsx +2 -3
  336. package/src/LearningPaths/LearningPathMenuAsideCopyright.tsx +1 -2
  337. package/src/LearningPaths/LearningPathMenuContent.tsx +2 -4
  338. package/src/LearningPaths/LearningPathMenuIntro.tsx +1 -2
  339. package/src/LearningPaths/LearningPathMenuModalWrapper.tsx +3 -5
  340. package/src/LearningPaths/LearningPathMobileHeader.tsx +2 -3
  341. package/src/LearningPaths/LearningPathMobileStepInfo.tsx +1 -1
  342. package/src/LearningPaths/LearningPathSticky.tsx +5 -14
  343. package/src/LearningPaths/LearningPathWrapper.tsx +3 -3
  344. package/src/Masthead/MastheadSearchModal.tsx +4 -6
  345. package/src/NDLAFilm/{AboutNdlaFilm.jsx → AboutNdlaFilm.tsx} +19 -18
  346. package/src/NDLAFilm/AllMoviesAlphabetically.tsx +6 -7
  347. package/src/NDLAFilm/{CategorySelect.jsx → CategorySelect.tsx} +23 -20
  348. package/src/NDLAFilm/{FilmContentCard.jsx → FilmContentCard.tsx} +21 -22
  349. package/src/NDLAFilm/{FilmContentCardTags.jsx → FilmContentCardTags.tsx} +7 -7
  350. package/src/NDLAFilm/{FilmMovieList.jsx → FilmMovieList.tsx} +17 -27
  351. package/src/NDLAFilm/FilmMovieSearch.tsx +71 -0
  352. package/src/NDLAFilm/FilmSlideshow.tsx +9 -10
  353. package/src/NDLAFilm/MovieGrid.tsx +76 -0
  354. package/src/NDLAFilm/SlideshowIndicator.tsx +2 -2
  355. package/src/NDLAFilm/VisualElement.tsx +40 -0
  356. package/src/NDLAFilm/{index.js → index.ts} +0 -0
  357. package/src/NDLAFilm/types.ts +9 -6
  358. package/src/Navigation/NavigationBox.tsx +4 -4
  359. package/src/Navigation/NavigationHeading.tsx +2 -2
  360. package/src/Navigation/NavigationTopicAbout.tsx +2 -3
  361. package/src/Notion/Notion.tsx +4 -4
  362. package/src/RadioButtonGroup/RadioButtonGroup.tsx +2 -2
  363. package/src/RelatedArticleList/RelatedArticleList.tsx +4 -4
  364. package/src/ResourceGroup/ResourceItem.tsx +0 -3
  365. package/src/ResourceGroup/ResourceList.tsx +0 -1
  366. package/src/ResourcesWrapper/ResourcesTopicTitle.tsx +0 -1
  367. package/src/Search/ContentTypeResult.tsx +4 -7
  368. package/src/Search/LoadingWrapper.tsx +1 -2
  369. package/src/Search/SearchFieldForm.tsx +4 -4
  370. package/src/Search/SearchPage.jsx +2 -2
  371. package/src/Search/SearchResultSleeve.tsx +2 -2
  372. package/src/SearchTypeResult/ActiveFilterContent.tsx +0 -1
  373. package/src/SearchTypeResult/ActiveFilters.tsx +2 -3
  374. package/src/SearchTypeResult/PopupFilter.tsx +0 -2
  375. package/src/SearchTypeResult/ResultNavigation.tsx +0 -1
  376. package/src/SearchTypeResult/SearchFieldHeader.tsx +1 -3
  377. package/src/SearchTypeResult/SearchItem.tsx +3 -8
  378. package/src/SearchTypeResult/SearchItems.tsx +2 -2
  379. package/src/SearchTypeResult/SearchNotionItem.tsx +4 -8
  380. package/src/SearchTypeResult/SearchNotionsResult.tsx +2 -4
  381. package/src/SearchTypeResult/SearchSubjectItem.tsx +0 -1
  382. package/src/SearchTypeResult/SearchTypeHeader.tsx +3 -4
  383. package/src/SearchTypeResult/SearchTypeResult.tsx +3 -4
  384. package/src/ToolboxPage/ToolboxInfo.tsx +2 -2
  385. package/src/Topic/Loader.tsx +0 -1
  386. package/src/Topic/Topic.tsx +5 -6
  387. package/src/TopicIntroductionList/{TopicIntroduction.jsx → TopicIntroduction.tsx} +22 -35
  388. package/src/TopicIntroductionList/{TopicIntroductionList.jsx → TopicIntroductionList.tsx} +32 -26
  389. package/src/TopicIntroductionList/TopicIntroductionShortcuts.tsx +71 -0
  390. package/src/TopicIntroductionList/{TopicShortcutItem.jsx → TopicShortcutItem.tsx} +5 -13
  391. package/src/TopicIntroductionList/{index.js → index.ts} +0 -0
  392. package/src/Translation/TranslationBox.tsx +0 -1
  393. package/src/User/AuthModal.tsx +0 -1
  394. package/src/index-javascript.js +0 -30
  395. package/src/index.ts +31 -0
  396. package/src/locale/LocaleProvider.tsx +2 -2
  397. package/src/shapes.js +0 -7
  398. package/src/types.ts +3 -1
  399. package/es/NDLAFilm/interfaces.js +0 -0
  400. package/es/NDLAFilm/shapes.js +0 -15
  401. package/lib/NDLAFilm/interfaces.d.ts +0 -10
  402. package/lib/NDLAFilm/interfaces.js +0 -1
  403. package/lib/NDLAFilm/shapes.d.ts +0 -15
  404. package/lib/NDLAFilm/shapes.js +0 -30
  405. package/src/NDLAFilm/FilmMovieSearch.jsx +0 -66
  406. package/src/NDLAFilm/MovieGrid.jsx +0 -75
  407. package/src/NDLAFilm/VisualElement.jsx +0 -48
  408. package/src/NDLAFilm/interfaces.ts +0 -10
  409. package/src/NDLAFilm/shapes.ts +0 -17
  410. package/src/TopicIntroductionList/TopicIntroductionShortcuts.jsx +0 -92
@@ -1,11 +1,19 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import { spacing, colors, fonts, breakpoints } from '@ndla/core';
4
3
  import SafeLink from '@ndla/safelink';
5
4
  import styled from '@emotion/styled';
6
- // @ts-ignore
7
5
  import { makeSrcQueryString } from '../Image';
8
6
  import FilmContentCardTags from './FilmContentCardTags';
7
+ import { MovieResourceType, MovieType } from './types';
8
+
9
+ interface Props {
10
+ movie: MovieType;
11
+ columnWidth: number;
12
+ distanceBetweenItems?: number;
13
+ resourceTypes: MovieResourceType[];
14
+ resizeThumbnailImages?: boolean;
15
+ hideTags?: boolean;
16
+ }
9
17
 
10
18
  const FilmContentCard = ({
11
19
  movie: { metaImage, resourceTypes: movieResourceTypes, title, id, path },
@@ -13,8 +21,8 @@ const FilmContentCard = ({
13
21
  distanceBetweenItems,
14
22
  resourceTypes,
15
23
  resizeThumbnailImages,
16
- hideTags,
17
- }) => {
24
+ hideTags = false,
25
+ }: Props) => {
18
26
  let backgroundImage = `${(metaImage && metaImage.url) || ''}`;
19
27
  if (resizeThumbnailImages && metaImage) {
20
28
  backgroundImage += '?width=480';
@@ -55,7 +63,10 @@ const StyledMovieTitle = styled.h2`
55
63
  }
56
64
  `;
57
65
 
58
- const StyledImage = styled.div`
66
+ interface StyledImageProps {
67
+ columnWidth: number;
68
+ }
69
+ const StyledImage = styled.div<StyledImageProps>`
59
70
  height: ${(props) => props.columnWidth * 0.5625}px;
60
71
  background-size: cover;
61
72
  background-color: ${colors.ndlaFilm.filmColorLight};
@@ -78,7 +89,11 @@ const StyledImage = styled.div`
78
89
  }
79
90
  `;
80
91
 
81
- const StyledSlideWrapper = styled.div`
92
+ interface StyledSlideWrapperProps {
93
+ columnWidth: number;
94
+ }
95
+
96
+ const StyledSlideWrapper = styled.div<StyledSlideWrapperProps>`
82
97
  width: ${(props) => props.columnWidth}px;
83
98
  color: #fff;
84
99
  box-shadow: none;
@@ -98,20 +113,4 @@ const StyledSlideWrapper = styled.div`
98
113
  }
99
114
  `;
100
115
 
101
- FilmContentCard.propTypes = {
102
- movie: PropTypes.shape({
103
- id: PropTypes.string,
104
- url: PropTypes.string,
105
- }).isRequired,
106
- columnWidth: PropTypes.number,
107
- distanceBetweenItems: PropTypes.number,
108
- resourceTypes: PropTypes.arrayOf(PropTypes.object),
109
- resizeThumbnailImages: PropTypes.bool,
110
- hideTags: PropTypes.bool,
111
- };
112
-
113
- FilmContentCard.defaultProps = {
114
- hideTags: false,
115
- };
116
-
117
116
  export default FilmContentCard;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import { spacing, spacingUnit, colors, fonts, misc } from '@ndla/core';
4
3
  import styled from '@emotion/styled';
4
+ import { MovieResourceType } from './types';
5
5
 
6
6
  const StyledWrapperDiv = styled.div`
7
7
  transition: opacity 200ms ease;
@@ -22,8 +22,12 @@ const StyledMovieTags = styled.span`
22
22
  margin-bottom: ${spacingUnit / 8}px;
23
23
  `;
24
24
 
25
- const FilmContentCardTags = ({ movieResourceTypes, resourceTypes }) => {
26
- const resources = {};
25
+ interface Props {
26
+ movieResourceTypes: MovieResourceType[];
27
+ resourceTypes: MovieResourceType[];
28
+ }
29
+ const FilmContentCardTags = ({ movieResourceTypes, resourceTypes }: Props) => {
30
+ const resources: Record<string, boolean> = {};
27
31
  movieResourceTypes.forEach((movieResourceType) => {
28
32
  const resource = resourceTypes.find((resourceType) => resourceType.id === movieResourceType.id);
29
33
  if (resource) {
@@ -39,8 +43,4 @@ const FilmContentCardTags = ({ movieResourceTypes, resourceTypes }) => {
39
43
  );
40
44
  };
41
45
 
42
- FilmContentCardTags.propTypes = {
43
- resourceTypes: PropTypes.arrayOf(PropTypes.object).isRequired,
44
- };
45
-
46
46
  export default FilmContentCardTags;
@@ -1,5 +1,4 @@
1
- /**
2
- * Copyright (c) 2016-present, NDLA.
1
+ /** * Copyright (c) 2016-present, NDLA.
3
2
  *
4
3
  * This source code is licensed under the GPLv3 license found in the
5
4
  * LICENSE file in the root directory of this source tree.
@@ -7,31 +6,41 @@
7
6
  */
8
7
 
9
8
  import React from 'react';
10
- import PropTypes from 'prop-types';
11
9
  import BEMHelper from 'react-bem-helper';
12
- import { Carousel } from '@ndla/carousel';
10
+ import { Carousel, CalculatedCarouselProps } from '@ndla/carousel';
13
11
  import FilmContentCard from './FilmContentCard';
14
- import { movieShape } from './shapes';
12
+ import { MovieResourceType, MovieType } from './types';
15
13
 
16
14
  const classes = new BEMHelper({
17
15
  name: 'film-movielist',
18
16
  prefix: 'c-',
19
17
  });
20
18
 
19
+ interface Props {
20
+ movies: MovieType[];
21
+ name: string;
22
+ slideBackwardsLabel: string;
23
+ slideForwardsLabel: string;
24
+ resourceTypes: MovieResourceType[];
25
+ autoSizedProps: CalculatedCarouselProps;
26
+ resizeThumbnailImages?: boolean;
27
+ }
28
+
21
29
  const FilmMovieList = ({
22
30
  name,
23
- movies,
31
+ movies = [],
24
32
  slideBackwardsLabel,
25
33
  slideForwardsLabel,
26
- resourceTypes,
34
+ resourceTypes = [],
27
35
  autoSizedProps,
28
36
  resizeThumbnailImages,
29
- }) => (
37
+ }: Props) => (
30
38
  <section {...classes()}>
31
39
  <h1 {...classes('heading')} style={{ marginLeft: `${autoSizedProps.margin}px` }}>
32
40
  {name}
33
41
  </h1>
34
42
  <Carousel
43
+ disableScroll={false}
35
44
  slideBackwardsLabel={slideBackwardsLabel}
36
45
  slideForwardsLabel={slideForwardsLabel}
37
46
  buttonClass="c-film-movielist__carousel-buttons"
@@ -50,23 +59,4 @@ const FilmMovieList = ({
50
59
  </section>
51
60
  );
52
61
 
53
- FilmMovieList.propTypes = {
54
- movies: PropTypes.arrayOf(movieShape),
55
- name: PropTypes.string.isRequired,
56
- slideBackwardsLabel: PropTypes.string.isRequired,
57
- slideForwardsLabel: PropTypes.string.isRequired,
58
- resourceTypes: PropTypes.arrayOf(
59
- PropTypes.shape({
60
- name: PropTypes.string,
61
- id: PropTypes.id,
62
- }),
63
- ),
64
- autoSizedProps: PropTypes.shape({}),
65
- };
66
-
67
- FilmMovieList.defaultProps = {
68
- movies: [],
69
- resourceTypes: [],
70
- };
71
-
72
62
  export default FilmMovieList;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Copyright (c) 2016-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 React from 'react';
10
+ import BEMHelper from 'react-bem-helper';
11
+ import SafeLink from '@ndla/safelink';
12
+ import { useTranslation } from 'react-i18next';
13
+ import CategorySelect from './CategorySelect';
14
+ import { MovieResourceType } from './types';
15
+ import { OneColumn } from '..';
16
+
17
+ const classes = new BEMHelper({
18
+ name: 'film-moviesearch',
19
+ prefix: 'c-',
20
+ });
21
+
22
+ const classesMovieList = new BEMHelper({
23
+ name: 'film-movielist',
24
+ prefix: 'c-',
25
+ });
26
+
27
+ interface Props {
28
+ topics?: { id: string; path: string; name: string }[];
29
+ onChangeResourceType: (resourceType?: string) => void;
30
+ resourceTypeSelected?: MovieResourceType;
31
+ resourceTypes: MovieResourceType[];
32
+ ariaControlId: string;
33
+ }
34
+
35
+ const FilmMovieSearch = ({
36
+ topics = [],
37
+ onChangeResourceType,
38
+ resourceTypes,
39
+ resourceTypeSelected,
40
+ ariaControlId,
41
+ }: Props) => {
42
+ const { t } = useTranslation();
43
+ return (
44
+ <div {...classes('')}>
45
+ <OneColumn>
46
+ <div {...classes('topic-navigation')}>
47
+ <h2 {...classesMovieList('heading', '', 'u-12/12 u-4/12@tablet')}>{t('ndlaFilm.subjectsInMovies')}:</h2>
48
+ <nav className="u-12/12 u-8/12@tablet">
49
+ <ul>
50
+ {topics.map((topic) => (
51
+ <li key={topic.id}>
52
+ <SafeLink to={topic.path} key={topic.id}>
53
+ <span>{topic.name}</span>
54
+ </SafeLink>
55
+ </li>
56
+ ))}
57
+ </ul>
58
+ </nav>
59
+ </div>
60
+ <CategorySelect
61
+ onChangeResourceType={onChangeResourceType}
62
+ resourceTypes={resourceTypes}
63
+ resourceTypeSelected={resourceTypeSelected}
64
+ ariaControlId={ariaControlId}
65
+ />
66
+ </OneColumn>
67
+ </div>
68
+ );
69
+ };
70
+
71
+ export default FilmMovieSearch;
@@ -7,21 +7,20 @@
7
7
  */
8
8
 
9
9
  import React, { useCallback, useEffect, useRef, useState } from 'react';
10
- // @ts-ignore
11
10
  import { SwipeEventData, useSwipeable } from 'react-swipeable';
12
11
  import BEMHelper from 'react-bem-helper';
13
12
  import SafeLink from '@ndla/safelink';
14
13
  import { OneColumn } from '../Layout';
15
14
  import Spinner from '../Spinner';
16
- import { NDLAMovie } from './interfaces';
17
15
  import NavigationArrow from './NavigationArrow';
18
16
  import SlideshowIndicator from './SlideshowIndicator';
17
+ import { MovieType } from './types';
19
18
 
20
19
  interface Props {
21
- autoSlide: boolean;
22
- randomStart: boolean;
23
- slideshow: NDLAMovie[];
24
- slideInterval: number;
20
+ autoSlide?: boolean;
21
+ randomStart?: boolean;
22
+ slideshow: MovieType[];
23
+ slideInterval?: number;
25
24
  }
26
25
 
27
26
  const classes = new BEMHelper({
@@ -32,7 +31,7 @@ const classes = new BEMHelper({
32
31
  const defaultTransitionSwipeEnd = 'transform 600ms cubic-bezier(0, 0.76, 0.09, 1)';
33
32
  const defaultTransitionText = 'opacity 600ms ease';
34
33
 
35
- const renderSlideItem = (slide: NDLAMovie) => (
34
+ const renderSlideItem = (slide: MovieType) => (
36
35
  <div
37
36
  {...classes('item')}
38
37
  key={slide.id}
@@ -206,6 +205,8 @@ const FilmSlideshow = ({ autoSlide = false, slideshow = [], slideInterval = 5000
206
205
  activeSlide = 0;
207
206
  }
208
207
 
208
+ const backgroundImage = slideshow[activeSlide].metaImage;
209
+
209
210
  return (
210
211
  <section {...classes('')} {...handlers}>
211
212
  <>
@@ -238,9 +239,7 @@ const FilmSlideshow = ({ autoSlide = false, slideshow = [], slideInterval = 5000
238
239
  role="img"
239
240
  onAnimationEnd={onChangedSlide}
240
241
  style={{
241
- backgroundImage: `url(${
242
- (slideshow[activeSlide].metaImage && slideshow[activeSlide].metaImage.url) || ''
243
- })`,
242
+ backgroundImage: `url(${(backgroundImage && backgroundImage.url) || ''})`,
244
243
  }}
245
244
  />
246
245
  )}
@@ -0,0 +1,76 @@
1
+ import React from 'react';
2
+ import BEMHelper from 'react-bem-helper';
3
+ import { css } from '@emotion/core';
4
+ import { CalculatedCarouselProps } from '@ndla/carousel';
5
+ import { useTranslation } from 'react-i18next';
6
+ import FilmContentCard from './FilmContentCard';
7
+ import { MovieResourceType, MovieType } from './types';
8
+
9
+ const movieListClasses = new BEMHelper({
10
+ name: 'film-movielist',
11
+ prefix: 'c-',
12
+ });
13
+
14
+ interface Props {
15
+ autoSizedProps: CalculatedCarouselProps;
16
+ resourceTypeName?: MovieResourceType;
17
+ fetchingMoviesByType: boolean;
18
+ moviesByType: MovieType[];
19
+ resourceTypes: MovieResourceType[];
20
+ loadingPlaceholderHeight?: string;
21
+ resizeThumbnailImages?: boolean;
22
+ }
23
+
24
+ const MovieGrid = ({
25
+ resourceTypeName,
26
+ fetchingMoviesByType,
27
+ moviesByType,
28
+ resourceTypes,
29
+ loadingPlaceholderHeight,
30
+ autoSizedProps,
31
+ resizeThumbnailImages,
32
+ }: Props) => {
33
+ const { t } = useTranslation();
34
+ return (
35
+ <section>
36
+ <h1
37
+ {...movieListClasses('heading')}
38
+ css={css`
39
+ margin-left: ${autoSizedProps.margin}px;
40
+ `}>
41
+ {resourceTypeName && resourceTypeName.name}
42
+ <small>
43
+ {fetchingMoviesByType
44
+ ? t('ndlaFilm.loadingMovies')
45
+ : `${moviesByType.length} ${t('ndlaFilm.movieMatchInCategory')}`}
46
+ </small>
47
+ </h1>
48
+ <div
49
+ {...movieListClasses('movie-listing')}
50
+ css={css`
51
+ margin-left: ${autoSizedProps.margin}px;
52
+ `}>
53
+ {fetchingMoviesByType && (
54
+ <div
55
+ css={css`
56
+ height: ${loadingPlaceholderHeight};
57
+ `}
58
+ />
59
+ )}
60
+ {!fetchingMoviesByType &&
61
+ moviesByType.map((movie) => (
62
+ <FilmContentCard
63
+ hideTags
64
+ movie={movie}
65
+ columnWidth={autoSizedProps.columnWidth}
66
+ distanceBetweenItems={autoSizedProps.distanceBetweenItems}
67
+ resourceTypes={resourceTypes}
68
+ resizeThumbnailImages={resizeThumbnailImages}
69
+ />
70
+ ))}
71
+ </div>
72
+ </section>
73
+ );
74
+ };
75
+
76
+ export default MovieGrid;
@@ -8,10 +8,10 @@
8
8
 
9
9
  import React from 'react';
10
10
  import BEMHelper from 'react-bem-helper';
11
- import { NDLAMovie } from './interfaces';
11
+ import { MovieType } from './types';
12
12
 
13
13
  interface Props {
14
- slideshow: NDLAMovie[];
14
+ slideshow: MovieType[];
15
15
  activeSlide: number;
16
16
  gotoSlide: (indexTarget: number, useAnimation: boolean) => void;
17
17
  }
@@ -0,0 +1,40 @@
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
+
9
+ import React from 'react';
10
+ import styled from '@emotion/styled';
11
+ import Image from '../Image';
12
+
13
+ const StylediFrame = styled.iframe`
14
+ height: 100%;
15
+ width: 100%;
16
+ border: 0;
17
+ margin: 0;
18
+ padding: 0;
19
+ `;
20
+
21
+ interface Props {
22
+ visualElement: {
23
+ alt?: string;
24
+ url: string;
25
+ type: string;
26
+ };
27
+ }
28
+ const VisualElement = ({ visualElement }: Props) => {
29
+ const { type, url, alt } = visualElement;
30
+ if (type === 'image') {
31
+ return <Image src={url} alt={alt ?? ''} />;
32
+ } else if (type === 'brightcove') {
33
+ //@ts-ignore react does not recognize fullscreen properties.
34
+ return <StylediFrame allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" src={url} />;
35
+ } else {
36
+ return null;
37
+ }
38
+ };
39
+
40
+ export default VisualElement;
File without changes
@@ -1,13 +1,16 @@
1
- export interface movieType {
2
- id: string;
1
+ export interface MovieType {
2
+ id: number | string;
3
3
  metaDescription: string;
4
- metaImage: {
4
+ resourceTypes: MovieResourceType[];
5
+ metaImage?: {
5
6
  alt: string;
6
7
  url: string;
7
8
  };
8
- movieTypes: {
9
- [key: string]: boolean;
10
- };
11
9
  path: string;
12
10
  title: string;
13
11
  }
12
+
13
+ export interface MovieResourceType {
14
+ id: string;
15
+ name: string;
16
+ }
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { MouseEvent, ChangeEventHandler } from 'react';
2
2
  import styled from '@emotion/styled';
3
3
  import { SafeLinkButton } from '@ndla/safelink';
4
4
  // @ts-ignore
@@ -186,12 +186,12 @@ type Props = {
186
186
  colorMode?: 'dark' | 'light' | 'greyLightest' | 'greyLighter';
187
187
  isButtonElements?: boolean;
188
188
  items: ItemProps[];
189
- onClick?: (event: React.MouseEvent<HTMLElement>, id?: string) => void;
189
+ onClick?: (event: MouseEvent<HTMLElement>, id?: string) => void;
190
190
  hasAdditionalResources?: boolean;
191
191
  showAdditionalResources?: boolean;
192
192
  listDirection?: listProps['direction'];
193
193
  invertedStyle?: boolean;
194
- onToggleAdditionalResources?: React.ChangeEventHandler<HTMLInputElement>;
194
+ onToggleAdditionalResources?: ChangeEventHandler<HTMLInputElement>;
195
195
  };
196
196
 
197
197
  export const NavigationBox = ({
@@ -240,7 +240,7 @@ export const NavigationBox = ({
240
240
  borderShape="sharpened"
241
241
  width="full"
242
242
  textAlign="left"
243
- onClick={(e: React.MouseEvent<HTMLElement>) => {
243
+ onClick={(e: MouseEvent<HTMLElement>) => {
244
244
  if (onClick) {
245
245
  onClick(e, item.id);
246
246
  }
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import styled from '@emotion/styled';
3
3
  import { css } from '@emotion/core';
4
4
  import { breakpoints, fonts, mq } from '@ndla/core';
@@ -43,7 +43,7 @@ const StyledSubText = styled.span`
43
43
 
44
44
  type Props = {
45
45
  subHeading?: string;
46
- children: React.ReactNode;
46
+ children: ReactNode;
47
47
  invertedStyle?: boolean;
48
48
  };
49
49
 
@@ -1,11 +1,10 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import parse from 'html-react-parser';
3
3
  import styled from '@emotion/styled';
4
4
  import { breakpoints, colors, fonts, mq, spacing } from '@ndla/core';
5
5
  import { css } from '@emotion/core';
6
6
  // @ts-ignore
7
7
  import Button from '@ndla/button';
8
- // @ts-ignore
9
8
  import { ChevronDown, ChevronUp } from '@ndla/icons/common';
10
9
  import { useTranslation } from 'react-i18next';
11
10
 
@@ -114,7 +113,7 @@ type Props = {
114
113
  isAdditionalTopic?: boolean;
115
114
  invertedStyle?: boolean;
116
115
  renderMarkdown: (text: string) => string;
117
- children: React.ReactNode;
116
+ children: ReactNode;
118
117
  };
119
118
 
120
119
  export const NavigationTopicAbout = ({
@@ -1,7 +1,7 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import HTMLReactParser from 'html-react-parser';
4
- import React from 'react';
4
+ import React, { MouseEventHandler, ReactNode } from 'react';
5
5
 
6
6
  // @ts-ignore
7
7
  import Button from '@ndla/button';
@@ -59,10 +59,10 @@ export type NotionProps = {
59
59
  labels?: string[];
60
60
  license?: string;
61
61
  locale?: Locale;
62
- media?: React.ReactNode;
63
- onReferenceClick?: React.MouseEventHandler<HTMLButtonElement>;
62
+ media?: ReactNode;
63
+ onReferenceClick?: MouseEventHandler<HTMLButtonElement>;
64
64
  renderMarkdown?: (text: string) => string;
65
- text: React.ReactNode;
65
+ text: ReactNode;
66
66
  title: string;
67
67
  };
68
68
 
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import React, { Fragment, Component } from 'react';
9
+ import React, { Fragment, Component, ChangeEvent } from 'react';
10
10
  import BEMHelper from 'react-bem-helper';
11
11
  import { uuid } from '@ndla/util';
12
12
 
@@ -39,7 +39,7 @@ class RadioButtonGroup extends Component<Props, State> {
39
39
  this.uuid = this.props.uniqeIds ? uuid() : undefined;
40
40
  }
41
41
 
42
- handleOnChange(e: React.ChangeEvent<HTMLInputElement>) {
42
+ handleOnChange(e: ChangeEvent<HTMLInputElement>) {
43
43
  this.setState({
44
44
  selected: e.target.value,
45
45
  });
@@ -1,4 +1,4 @@
1
- import React, { cloneElement, ReactElement } from 'react';
1
+ import React, { Children, cloneElement, ReactElement } from 'react';
2
2
  import BEMHelper from 'react-bem-helper';
3
3
  //@ts-ignore
4
4
  import Button from '@ndla/button';
@@ -61,13 +61,13 @@ interface Props {
61
61
  const RelatedArticleList = ({ messages, children, articleCount, dangerouslySetInnerHTML }: Props) => {
62
62
  const clonedChildren =
63
63
  !dangerouslySetInnerHTML && children
64
- ? React.Children.map(children, (article, i) =>
65
- React.cloneElement(article, {
64
+ ? Children.map(children, (article, i) =>
65
+ cloneElement(article, {
66
66
  modifier: i >= 2 ? `${article.props.modifier} hidden` : article.props.modifier,
67
67
  }),
68
68
  )
69
69
  : null;
70
- const childrenCount = articleCount || React.Children.count(children);
70
+ const childrenCount = articleCount || Children.count(children);
71
71
 
72
72
  return (
73
73
  <section {...classes('')}>
@@ -14,11 +14,8 @@ import { keyframes } from '@emotion/core';
14
14
  import SafeLink from '@ndla/safelink';
15
15
  import { Additional, Core, HumanMaleBoard } from '@ndla/icons/common';
16
16
  import { breakpoints, colors, fonts, mq, spacing } from '@ndla/core';
17
-
18
- // @ts-ignore
19
17
  import Tooltip from '@ndla/tooltip';
20
18
  import { Resource } from '../types';
21
- // @ts-ignore
22
19
  import ContentTypeBadge from '../ContentTypeBadge';
23
20
  import * as contentTypes from '../model/ContentType';
24
21
 
@@ -11,7 +11,6 @@ import styled from '@emotion/styled';
11
11
  import css from '@emotion/css';
12
12
  import { keyframes } from '@emotion/core';
13
13
  import { useTranslation } from 'react-i18next';
14
- // @ts-ignore
15
14
  import NoContentBox from '../NoContentBox';
16
15
  import ResourceItem from './ResourceItem';
17
16
  import { Resource } from '../types';
@@ -3,7 +3,6 @@ import { css } from '@emotion/core';
3
3
  import styled from '@emotion/styled';
4
4
  import { spacing } from '@ndla/core';
5
5
  import { HelpCircleDual } from '@ndla/icons/common';
6
- //@ts-ignore
7
6
  import Modal, { ModalBody, ModalHeader, ModalCloseButton } from '@ndla/modal';
8
7
  import Tooltip from '@ndla/tooltip';
9
8
  import { Switch } from '@ndla/switch';
@@ -1,13 +1,10 @@
1
- import React, { useState, useEffect, useRef } from 'react';
1
+ import React, { useState, useEffect, useRef, ReactElement } from 'react';
2
2
  // @ts-ignore
3
3
  import Button from '@ndla/button';
4
- // @ts-ignore
5
4
  import Tooltip from '@ndla/tooltip';
6
- // @ts-ignore
7
5
  import { Additional, ChevronUp, ChevronDown } from '@ndla/icons/common';
8
6
  import SafeLink from '@ndla/safelink';
9
7
  import { useTranslation } from 'react-i18next';
10
- // @ts-ignore
11
8
  import ContentTypeBadge from '../ContentTypeBadge';
12
9
  import { ContentTypeResultType, Resource } from '../types';
13
10
  import {
@@ -24,7 +21,7 @@ import {
24
21
  } from './ContentTypeResultStyles';
25
22
  import { isPathToHighlight } from './IsPathToHighlight';
26
23
 
27
- const renderAdditionalIcon = (label: string, isAdditional?: boolean): React.ReactElement | null => {
24
+ const renderAdditionalIcon = (label: string, isAdditional?: boolean): ReactElement | null => {
28
25
  if (isAdditional && label) {
29
26
  return (
30
27
  <Tooltip tooltip={label} align="top" css={tooltipStyle}>
@@ -58,7 +55,7 @@ type Props = {
58
55
  unGrouped?: boolean;
59
56
  };
60
57
 
61
- const ContentTypeResult: React.FC<Props> = ({
58
+ const ContentTypeResult = ({
62
59
  contentTypeResult,
63
60
  onNavigate,
64
61
  defaultCount,
@@ -70,7 +67,7 @@ const ContentTypeResult: React.FC<Props> = ({
70
67
  inMenu,
71
68
  animateList,
72
69
  unGrouped,
73
- }) => {
70
+ }: Props) => {
74
71
  const { t } = useTranslation();
75
72
  const [showAll, toggleShowAll] = useState(false);
76
73
  const showAllRef = useRef<HTMLLIElement>(null);