@ndla/ui 3.3.12 → 3.3.16

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 -8
  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 +12 -15
  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 +6 -8
  153. package/lib/Frontpage/FrontpageSearch.js +2 -6
  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 +5 -8
  239. package/lib/Search/SearchResultSleeve.js +10 -11
  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 +4 -3
  281. package/package.json +14 -14
  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 +7 -13
  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 +9 -21
  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 +5 -3
  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
@@ -7,13 +7,13 @@
7
7
  */
8
8
 
9
9
  import React from 'react';
10
- import PropTypes from 'prop-types';
11
10
  import BEMHelper from 'react-bem-helper';
11
+ import { useTranslation } from 'react-i18next';
12
12
  import { Additional, Core } from '@ndla/icons/common';
13
13
  import Tooltip from '@ndla/tooltip';
14
14
  import SafeLink from '@ndla/safelink';
15
- import { TopicShape, ShortcutShape } from '../shapes';
16
15
  import TopicIntroductionShortcuts from './TopicIntroductionShortcuts';
16
+ import { Shortcut, Topic } from './TopicIntroductionList';
17
17
 
18
18
  const topicClasses = new BEMHelper({
19
19
  prefix: 'c-',
@@ -21,23 +21,35 @@ const topicClasses = new BEMHelper({
21
21
  outputIsString: true,
22
22
  });
23
23
 
24
+ interface Props {
25
+ additional?: boolean;
26
+ showAdditionalCores?: boolean;
27
+ topic: Topic;
28
+ toTopic: (id: string) => string;
29
+ subjectPage?: boolean;
30
+ shortcuts?: Shortcut[];
31
+ twoColumns?: boolean;
32
+ shortcutAlwaysExpanded?: boolean;
33
+ id: string;
34
+ }
35
+
24
36
  export const TopicIntroduction = ({
25
37
  toTopic,
26
38
  topic,
27
39
  subjectPage,
28
40
  shortcuts,
29
- messages,
30
41
  shortcutAlwaysExpanded,
31
- additional,
32
- showAdditionalCores,
42
+ additional = false,
43
+ showAdditionalCores = false,
33
44
  id,
34
- }) => {
35
- const contentTypeDescription = additional ? messages.tooltipAdditionalTopic : messages.tooltipCoreTopic;
45
+ }: Props) => {
46
+ const { t } = useTranslation();
47
+ const contentTypeDescription = t(additional ? 'resource.tooltipAdditionalTopic' : 'resource.tooltipCoreTopic');
36
48
 
37
49
  return (
38
50
  <li
39
51
  className={topicClasses('item', {
40
- subjectPage,
52
+ subjectPage: !!subjectPage,
41
53
  additional,
42
54
  showAdditionalCores,
43
55
  })}>
@@ -52,12 +64,12 @@ export const TopicIntroduction = ({
52
64
  {contentTypeDescription}
53
65
  </span>
54
66
  {additional && (
55
- <Tooltip tooltip={messages.tooltipAdditionalTopic} align="left">
67
+ <Tooltip tooltip={t('resource.tooltipAdditionalTopic')} align="left">
56
68
  <Additional className="c-icon--20 u-margin-left-tiny" />
57
69
  </Tooltip>
58
70
  )}
59
71
  {!additional && showAdditionalCores && (
60
- <Tooltip tooltip={messages.tooltipCoreTopic} align="left">
72
+ <Tooltip tooltip={t('resource.tooltipCoreTopic')} align="left">
61
73
  <Core className="c-icon--20 u-margin-left-tiny" />
62
74
  </Tooltip>
63
75
  )}
@@ -73,9 +85,6 @@ export const TopicIntroduction = ({
73
85
  alwaysExpanded={shortcutAlwaysExpanded}
74
86
  id={`${topic.id}_shortcuts`}
75
87
  shortcuts={shortcuts}
76
- messages={{
77
- toggleButtonText: messages.shortcutButtonText,
78
- }}
79
88
  />
80
89
  )}
81
90
  </div>
@@ -89,25 +98,3 @@ export const TopicIntroduction = ({
89
98
  </li>
90
99
  );
91
100
  };
92
-
93
- TopicIntroduction.propTypes = {
94
- additional: PropTypes.bool,
95
- showAdditionalCores: PropTypes.bool,
96
- messages: PropTypes.shape({
97
- shortcutButtonText: PropTypes.string.isRequired,
98
- tooltipAdditionalTopic: PropTypes.string,
99
- tooltipCoreTopic: PropTypes.string,
100
- }),
101
- topic: TopicShape.isRequired,
102
- toTopic: PropTypes.func.isRequired,
103
- subjectPage: PropTypes.bool,
104
- shortcuts: PropTypes.arrayOf(ShortcutShape),
105
- twoColumns: PropTypes.bool,
106
- shortcutAlwaysExpanded: PropTypes.bool,
107
- id: PropTypes.string.isRequired,
108
- };
109
-
110
- TopicIntroduction.defaultProps = {
111
- showAdditionalCores: false,
112
- additional: false,
113
- };
@@ -7,11 +7,9 @@
7
7
  */
8
8
 
9
9
  import React from 'react';
10
- import PropTypes from 'prop-types';
11
10
  import BEMHelper from 'react-bem-helper';
12
11
  import { useTranslation } from 'react-i18next';
13
12
  import NoContentBox from '../NoContentBox';
14
- import { TopicShape } from '../shapes';
15
13
  import { TopicIntroduction } from './TopicIntroduction';
16
14
 
17
15
  const topicClasses = new BEMHelper({
@@ -20,14 +18,42 @@ const topicClasses = new BEMHelper({
20
18
  outputIsString: true,
21
19
  });
22
20
 
21
+ export interface Shortcut {
22
+ id: string | number;
23
+ tooltip: string;
24
+ contentType: string;
25
+ url: string;
26
+ count: number;
27
+ }
28
+ export interface Topic {
29
+ name: string;
30
+ id: string;
31
+ additional?: boolean;
32
+ shortcuts?: Shortcut[];
33
+ introduction: string;
34
+ metaImage?: {
35
+ url?: string;
36
+ alt?: string;
37
+ };
38
+ }
39
+
40
+ interface Props {
41
+ toTopic: (id: string) => string;
42
+ topics: Topic[];
43
+ twoColumns?: boolean;
44
+ shortcutAlwaysExpanded?: boolean;
45
+ showAdditionalCores?: boolean;
46
+ toggleAdditionalCores?: () => void;
47
+ }
48
+
23
49
  const TopicIntroductionList = ({
24
50
  topics,
25
- twoColumns,
26
- shortcutAlwaysExpanded,
27
- showAdditionalCores,
51
+ twoColumns = false,
52
+ shortcutAlwaysExpanded = false,
53
+ showAdditionalCores = false,
28
54
  toggleAdditionalCores,
29
55
  ...rest
30
- }) => {
56
+ }: Props) => {
31
57
  const { t } = useTranslation();
32
58
  const renderAdditionalTopicsTrigger =
33
59
  !showAdditionalCores &&
@@ -47,11 +73,6 @@ const TopicIntroductionList = ({
47
73
  additional={additional}
48
74
  showAdditionalCores={showAdditionalCores}
49
75
  shortcutAlwaysExpanded={shortcutAlwaysExpanded}
50
- messages={{
51
- shortcutButtonText: t('resource.label'),
52
- tooltipAdditionalTopic: t('resource.tooltipAdditionalTopic'),
53
- tooltipCoreTopic: t('resource.tooltipCoreTopic'),
54
- }}
55
76
  id={`${topic.id}_${index}`}
56
77
  />
57
78
  );
@@ -69,19 +90,4 @@ const TopicIntroductionList = ({
69
90
  );
70
91
  };
71
92
 
72
- TopicIntroductionList.propTypes = {
73
- toTopic: PropTypes.func.isRequired,
74
- topics: PropTypes.arrayOf(TopicShape).isRequired,
75
- twoColumns: PropTypes.bool,
76
- shortcutAlwaysExpanded: PropTypes.bool,
77
- showAdditionalCores: PropTypes.bool,
78
- toggleAdditionalCores: PropTypes.func.isRequired,
79
- };
80
-
81
- TopicIntroductionList.defaultProps = {
82
- twoColumns: false,
83
- shortcutAlwaysExpanded: false,
84
- showAdditionalCores: false,
85
- };
86
-
87
93
  export default TopicIntroductionList;
@@ -0,0 +1,71 @@
1
+ import React, { useState } from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import BEMHelper from 'react-bem-helper';
4
+ import { Forward } from '@ndla/icons/common';
5
+
6
+ import ShortcutItem from './TopicShortcutItem';
7
+
8
+ import { Shortcut } from './TopicIntroductionList';
9
+
10
+ const classes = new BEMHelper({
11
+ name: 'topic-shortcuts',
12
+ prefix: 'c-',
13
+ });
14
+
15
+ interface Props {
16
+ id: string;
17
+ alwaysExpanded?: boolean;
18
+ shortcuts: Shortcut[];
19
+ }
20
+
21
+ const TopicIntroductionShortcuts = ({ id, alwaysExpanded = false, shortcuts }: Props) => {
22
+ const { t } = useTranslation();
23
+ const [open, setOpen] = useState(alwaysExpanded);
24
+ const [returned, setReturned] = useState(false);
25
+ const [showButtonText, setShowButtonText] = useState(true);
26
+
27
+ const handleOnToggle = (newOpen: boolean) => {
28
+ setOpen(newOpen);
29
+ setShowButtonText(!newOpen);
30
+ setReturned(!newOpen);
31
+ };
32
+
33
+ let onMouseEnter = undefined;
34
+ let onMouseLeave = undefined;
35
+
36
+ let buttonView = null;
37
+
38
+ if (!alwaysExpanded) {
39
+ onMouseEnter = () => handleOnToggle(true);
40
+ onMouseLeave = () => handleOnToggle(false);
41
+
42
+ buttonView = (
43
+ <button
44
+ type="button"
45
+ aria-expanded={open}
46
+ aria-label={t('resource.label')}
47
+ aria-controls={id}
48
+ {...classes('button', returned ? 're-enter' : '')}
49
+ onClick={() => handleOnToggle(!open)}>
50
+ <Forward />
51
+ {showButtonText && <span {...classes('label')}>{t('resource.label')}</span>}
52
+ </button>
53
+ );
54
+ }
55
+ return (
56
+ <div onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave} {...classes()}>
57
+ {buttonView}
58
+ {open && (
59
+ <ul className={classes('list', open ? 'visible' : '').className}>
60
+ {shortcuts.map((shortcut) => (
61
+ <li {...classes('item')} key={shortcut.id}>
62
+ <ShortcutItem shortcut={shortcut} />
63
+ </li>
64
+ ))}
65
+ </ul>
66
+ )}
67
+ </div>
68
+ );
69
+ };
70
+
71
+ export default TopicIntroductionShortcuts;
@@ -1,19 +1,20 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import BEMHelper from 'react-bem-helper';
4
3
  import Tooltip from '@ndla/tooltip';
5
4
  import SafeLink from '@ndla/safelink';
6
5
  import { useTranslation } from 'react-i18next';
7
6
  import ContentTypeBadge from '../ContentTypeBadge';
8
-
9
- import { ShortcutShape } from '../shapes';
7
+ import { Shortcut } from './TopicIntroductionList';
10
8
 
11
9
  const classes = new BEMHelper({
12
10
  name: 'topic-shortcuts',
13
11
  prefix: 'c-',
14
12
  });
15
13
 
16
- const ShortcutItem = ({ shortcut: { id, tooltip, contentType, url, count } }) => {
14
+ interface Props {
15
+ shortcut: Shortcut;
16
+ }
17
+ const ShortcutItem = ({ shortcut: { id, tooltip, contentType, url, count } }: Props) => {
17
18
  const { t } = useTranslation();
18
19
  return (
19
20
  <Tooltip
@@ -29,13 +30,4 @@ const ShortcutItem = ({ shortcut: { id, tooltip, contentType, url, count } }) =>
29
30
  );
30
31
  };
31
32
 
32
- ShortcutItem.propTypes = {
33
- shortcut: ShortcutShape.isRequired,
34
- disableToolTip: PropTypes.bool,
35
- };
36
-
37
- ShortcutItem.defaultProps = {
38
- disableToolTip: false,
39
- };
40
-
41
33
  export default ShortcutItem;
File without changes
@@ -1,5 +1,4 @@
1
1
  import React, { ReactNode } from 'react';
2
- //@ts-ignore
3
2
  import { ArticleTabs } from '@ndla/tabs';
4
3
 
5
4
  interface Props {
@@ -9,7 +9,6 @@
9
9
  import React, { ReactElement, ReactNode } from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { useTranslation } from 'react-i18next';
12
- // @ts-ignore
13
12
  import Modal, { ModalCloseButton } from '@ndla/modal';
14
13
  // @ts-ignore
15
14
  import Button from '@ndla/button';
@@ -23,16 +23,6 @@ export {
23
23
  ToggleSearchButton,
24
24
  } from './Search';
25
25
 
26
- export {
27
- default as ContentTypeBadge,
28
- SubjectMaterialBadge,
29
- TasksAndActivitiesBadge,
30
- AssessmentResourcesBadge,
31
- LearningPathBadge,
32
- SubjectBadge,
33
- ExternalLearningResourcesBadge,
34
- SourceMaterialBadge,
35
- } from './ContentTypeBadge';
36
26
  export { default as TopicIntroductionList } from './TopicIntroductionList';
37
27
  export { default as TopicMenu, TopicMenuButton } from './TopicMenu';
38
28
  export {
@@ -43,24 +33,4 @@ export {
43
33
  CompetenceGoalsDialog,
44
34
  } from './CompetenceGoals';
45
35
 
46
- export {
47
- MediaList,
48
- MediaListItem,
49
- MediaListItemBody,
50
- MediaListItemActions,
51
- MediaListItemImage,
52
- MediaListItemMeta,
53
- } from './MediaList';
54
-
55
36
  export { EmbeddedTwitter, EmbeddedFacebook, EmbeddedFacebookPage } from './Embedded';
56
-
57
- export { DisplayOnPageYOffset } from './Animation';
58
-
59
- export {
60
- FilmSlideshow,
61
- MovieGrid,
62
- AboutNdlaFilm,
63
- FilmMovieSearch,
64
- FilmMovieList,
65
- AllMoviesAlphabetically,
66
- } from './NDLAFilm';
package/src/index.ts CHANGED
@@ -158,6 +158,37 @@ export { default as ResourceGroup } from './ResourceGroup';
158
158
 
159
159
  export { default as LayoutItem, OneColumn, PageContainer, Content } from './Layout';
160
160
 
161
+ export {
162
+ FilmSlideshow,
163
+ MovieGrid,
164
+ AboutNdlaFilm,
165
+ FilmMovieSearch,
166
+ FilmMovieList,
167
+ AllMoviesAlphabetically,
168
+ } from './NDLAFilm';
169
+
170
+ export { DisplayOnPageYOffset } from './Animation';
171
+
172
+ export {
173
+ MediaList,
174
+ MediaListItem,
175
+ MediaListItemBody,
176
+ MediaListItemActions,
177
+ MediaListItemImage,
178
+ MediaListItemMeta,
179
+ } from './MediaList';
180
+
181
+ export {
182
+ default as ContentTypeBadge,
183
+ SubjectMaterialBadge,
184
+ TasksAndActivitiesBadge,
185
+ AssessmentResourcesBadge,
186
+ LearningPathBadge,
187
+ SubjectBadge,
188
+ ExternalLearningResourcesBadge,
189
+ SourceMaterialBadge,
190
+ } from './ContentTypeBadge';
191
+
161
192
  export {
162
193
  SubjectAbout,
163
194
  SubjectArchive,
@@ -6,14 +6,14 @@
6
6
  *
7
7
  */
8
8
 
9
- import React from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import { I18nextProvider, useTranslation } from 'react-i18next';
11
11
  import { i18nInstance } from '../i18n';
12
12
  import { Locale } from '../types';
13
13
 
14
14
  type Props = {
15
15
  locale: Locale;
16
- children: React.ReactNode;
16
+ children: ReactNode;
17
17
  };
18
18
 
19
19
  const InitI18nWrapper = ({ locale, children }: Props) => {
package/src/shapes.js CHANGED
@@ -69,13 +69,6 @@ export const ResourceShape = PropTypes.shape({
69
69
  type: PropTypes.string,
70
70
  });
71
71
 
72
- export const ShortcutShape = PropTypes.shape({
73
- tooltip: PropTypes.string.isRequired,
74
- contentType: PropTypes.string.isRequired,
75
- url: PropTypes.string.isRequired,
76
- count: PropTypes.number.isRequired,
77
- });
78
-
79
72
  export const ContentTypeShape = PropTypes.oneOf([
80
73
  contentTypes.SUBJECT_MATERIAL,
81
74
  contentTypes.TASKS_AND_ACTIVITIES,
package/src/types.ts CHANGED
@@ -6,6 +6,8 @@
6
6
  *
7
7
  */
8
8
 
9
+ import { ReactNode } from 'react';
10
+
9
11
  const locales = ['nb', 'nn', 'en'] as const;
10
12
  export type Locale = typeof locales[number];
11
13
 
@@ -23,9 +25,9 @@ type ResourceTypes = {
23
25
  };
24
26
 
25
27
  export type Resource = {
26
- id: string;
28
+ id: string | number;
27
29
  name: string;
28
- contentUri: string;
30
+ contentUri?: string;
29
31
  path: string;
30
32
  primary?: boolean;
31
33
  rank?: number;
@@ -114,5 +116,5 @@ export type CompetenceGoalsItemType = {
114
116
 
115
117
  export type NotionMedia = {
116
118
  type: 'video' | 'other';
117
- element: React.ReactNode;
119
+ element: ReactNode;
118
120
  };
File without changes
@@ -1,15 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- export var movieShape = PropTypes.shape({
3
- id: PropTypes.string.isRequired,
4
- metaDescription: PropTypes.string.isRequired,
5
- title: PropTypes.string.isRequired,
6
- metaImage: PropTypes.shape({
7
- url: PropTypes.string.isRequired,
8
- alt: PropTypes.string.isRequired
9
- }),
10
- path: PropTypes.string.isRequired
11
- });
12
- export var topicShape = PropTypes.shape({
13
- id: PropTypes.string,
14
- name: PropTypes.string
15
- });
@@ -1,10 +0,0 @@
1
- export interface NDLAMovie {
2
- id: string;
3
- metaDescription: string;
4
- title: string;
5
- metaImage: {
6
- url: string;
7
- alt: string;
8
- };
9
- path: string;
10
- }
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,15 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- export declare const movieShape: PropTypes.Requireable<PropTypes.InferProps<{
3
- id: PropTypes.Validator<string>;
4
- metaDescription: PropTypes.Validator<string>;
5
- title: PropTypes.Validator<string>;
6
- metaImage: PropTypes.Requireable<PropTypes.InferProps<{
7
- url: PropTypes.Validator<string>;
8
- alt: PropTypes.Validator<string>;
9
- }>>;
10
- path: PropTypes.Validator<string>;
11
- }>>;
12
- export declare const topicShape: PropTypes.Requireable<PropTypes.InferProps<{
13
- id: PropTypes.Requireable<string>;
14
- name: PropTypes.Requireable<string>;
15
- }>>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.topicShape = exports.movieShape = void 0;
7
-
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
-
12
- var movieShape = _propTypes["default"].shape({
13
- id: _propTypes["default"].string.isRequired,
14
- metaDescription: _propTypes["default"].string.isRequired,
15
- title: _propTypes["default"].string.isRequired,
16
- metaImage: _propTypes["default"].shape({
17
- url: _propTypes["default"].string.isRequired,
18
- alt: _propTypes["default"].string.isRequired
19
- }),
20
- path: _propTypes["default"].string.isRequired
21
- });
22
-
23
- exports.movieShape = movieShape;
24
-
25
- var topicShape = _propTypes["default"].shape({
26
- id: _propTypes["default"].string,
27
- name: _propTypes["default"].string
28
- });
29
-
30
- exports.topicShape = topicShape;
@@ -1,66 +0,0 @@
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 PropTypes from 'prop-types';
11
- import BEMHelper from 'react-bem-helper';
12
- import { OneColumn } from '@ndla/ui';
13
- import SafeLink from '@ndla/safelink';
14
- import { withTranslation } from 'react-i18next';
15
- import CategorySelect from './CategorySelect';
16
-
17
- import { topicShape } from './shapes';
18
-
19
- const classes = new BEMHelper({
20
- name: 'film-moviesearch',
21
- prefix: 'c-',
22
- });
23
-
24
- const classesMovieList = new BEMHelper({
25
- name: 'film-movielist',
26
- prefix: 'c-',
27
- });
28
-
29
- const FilmMovieSearch = ({ topics, t, ...props }) => (
30
- <div {...classes('')}>
31
- <OneColumn>
32
- <div {...classes('topic-navigation')}>
33
- <h2 {...classesMovieList('heading', '', 'u-12/12 u-4/12@tablet')}>{t('ndlaFilm.subjectsInMovies')}:</h2>
34
- <nav className="u-12/12 u-8/12@tablet">
35
- <ul>
36
- {topics.map((topic) => (
37
- <li key={topic.id}>
38
- <SafeLink to={topic.path} key={topic.id}>
39
- <span>{topic.name}</span>
40
- </SafeLink>
41
- </li>
42
- ))}
43
- </ul>
44
- </nav>
45
- </div>
46
- <CategorySelect {...props} />
47
- </OneColumn>
48
- </div>
49
- );
50
-
51
- FilmMovieSearch.propTypes = {
52
- topics: PropTypes.arrayOf(topicShape),
53
- onChangeResourceType: PropTypes.func.isRequired,
54
- resourceTypeSelected: PropTypes.shape({
55
- name: PropTypes.string,
56
- id: PropTypes.string,
57
- }),
58
- ariaControlId: PropTypes.string.isRequired,
59
- t: PropTypes.func.isRequired,
60
- };
61
-
62
- FilmMovieSearch.defaultProps = {
63
- topics: [],
64
- };
65
-
66
- export default withTranslation()(FilmMovieSearch);
@@ -1,75 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import BEMHelper from 'react-bem-helper';
4
- import { css } from '@emotion/core';
5
- import { withTranslation } from 'react-i18next';
6
- import FilmContentCard from './FilmContentCard';
7
-
8
- const movieListClasses = new BEMHelper({
9
- name: 'film-movielist',
10
- prefix: 'c-',
11
- });
12
-
13
- const MovieGrid = ({
14
- resourceTypeName,
15
- fetchingMoviesByType,
16
- moviesByType,
17
- resourceTypes,
18
- loadingPlaceholderHeight,
19
- autoSizedProps,
20
- resizeThumbnailImages,
21
- t,
22
- }) => (
23
- <section>
24
- <h1
25
- {...movieListClasses('heading')}
26
- css={css`
27
- margin-left: ${autoSizedProps.margin}px;
28
- `}>
29
- {resourceTypeName && resourceTypeName.name}
30
- <small>
31
- {fetchingMoviesByType
32
- ? t('ndlaFilm.loadingMovies')
33
- : `${moviesByType.length} ${t('ndlaFilm.movieMatchInCategory')}`}
34
- </small>
35
- </h1>
36
- <div
37
- {...movieListClasses('movie-listing')}
38
- css={css`
39
- margin-left: ${autoSizedProps.margin}px;
40
- `}>
41
- {fetchingMoviesByType && (
42
- <div
43
- css={css`
44
- height: ${loadingPlaceholderHeight};
45
- `}
46
- />
47
- )}
48
- {!fetchingMoviesByType &&
49
- moviesByType.map((movie) => (
50
- <FilmContentCard
51
- hideTags
52
- movie={movie}
53
- columnWidth={autoSizedProps.columnWidth}
54
- distanceBetweenItems={autoSizedProps.distanceBetweenItems}
55
- resourceTypes={resourceTypes}
56
- resizeThumbnailImages={resizeThumbnailImages}
57
- />
58
- ))}
59
- </div>
60
- </section>
61
- );
62
-
63
- MovieGrid.propTypes = {
64
- autoSizedProps: PropTypes.shape({}),
65
- resourceTypeName: PropTypes.shape({
66
- name: PropTypes.string,
67
- }),
68
- fetchingMoviesByType: PropTypes.bool,
69
- moviesByType: PropTypes.array,
70
- classes: PropTypes.func,
71
- resourceTypes: PropTypes.array,
72
- loadingPlaceholderHeight: PropTypes.string,
73
- };
74
-
75
- export default withTranslation()(MovieGrid);