@ndla/ui 51.0.0 → 52.0.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 (540) hide show
  1. package/README.md +2 -2
  2. package/es/Article/Article.js +12 -12
  3. package/es/Article/ArticleHeaderWrapper.js +0 -11
  4. package/es/Article/ArticleNotions.js +6 -6
  5. package/es/Article/ArticleParagraph.js +25 -0
  6. package/es/Article/index.js +1 -0
  7. package/es/AudioPlayer/AudioPlayer.js +13 -13
  8. package/es/AudioPlayer/Controls.js +22 -38
  9. package/es/Breadcrumb/Breadcrumb.js +2 -33
  10. package/es/Breadcrumb/BreadcrumbItem.js +16 -29
  11. package/es/Breadcrumb/index.js +0 -1
  12. package/es/CodeBlock/CodeBlock.js +115 -0
  13. package/es/CodeBlock/codeLanguageOptions.js +84 -0
  14. package/es/CodeBlock/index.js +10 -0
  15. package/es/CreatedBy/CreatedBy.js +4 -4
  16. package/es/Embed/BrightcoveEmbed.js +3 -3
  17. package/es/Embed/CodeEmbed.js +2 -2
  18. package/es/Embed/ConceptEmbed.js +37 -33
  19. package/es/Embed/ExternalEmbed.js +2 -2
  20. package/es/Embed/IframeEmbed.js +1 -1
  21. package/es/Embed/ImageEmbed.js +17 -14
  22. package/es/Embed/RelatedContentEmbed.js +3 -3
  23. package/es/Embed/UuDisclaimerEmbed.js +4 -3
  24. package/es/Embed/conceptComponents.js +10 -10
  25. package/es/Figure/Figure.js +32 -19
  26. package/es/FrontpageArticle/FrontpageArticle.js +3 -3
  27. package/es/Gloss/Gloss.js +12 -10
  28. package/es/Hero/Hero.js +1 -1
  29. package/es/Image/Image.js +3 -3
  30. package/es/LanguageSelector/LanguageSelector.js +5 -5
  31. package/es/Layout/LayoutItem.js +2 -1
  32. package/es/Layout/OneColumn.js +22 -28
  33. package/es/Layout/PageContainer.js +21 -17
  34. package/es/LicenseByline/LicenseLink.js +5 -6
  35. package/es/Messages/MessageBox.js +9 -7
  36. package/es/MyNdla/Resource/index.js +1 -2
  37. package/es/MyNdla/index.js +1 -2
  38. package/es/Notion/Notion.js +4 -4
  39. package/es/Resource/BlockResource.js +13 -15
  40. package/es/Resource/ListResource.js +13 -15
  41. package/es/Search/ContentTypeResult.js +4 -4
  42. package/es/Search/SearchResult.js +11 -11
  43. package/es/Search/SearchResultSleeve.js +16 -16
  44. package/es/TreeStructure/TreeStructure.js +6 -6
  45. package/es/all.css +1 -1
  46. package/es/index.js +5 -19
  47. package/es/locale/messages-en.js +12 -2
  48. package/es/locale/messages-nb.js +12 -2
  49. package/es/locale/messages-nn.js +13 -3
  50. package/es/locale/messages-se.js +11 -1
  51. package/es/locale/messages-sma.js +12 -2
  52. package/es/types.js +0 -9
  53. package/lib/Article/Article.d.ts +5 -7
  54. package/lib/Article/Article.js +12 -12
  55. package/lib/Article/ArticleHeaderWrapper.js +0 -11
  56. package/lib/Article/ArticleNotions.js +5 -5
  57. package/lib/Article/ArticleParagraph.d.ts +13 -0
  58. package/lib/Article/ArticleParagraph.js +32 -0
  59. package/lib/Article/index.d.ts +1 -0
  60. package/lib/Article/index.js +7 -0
  61. package/lib/AudioPlayer/AudioPlayer.js +13 -13
  62. package/lib/AudioPlayer/Controls.js +21 -37
  63. package/lib/Breadcrumb/Breadcrumb.d.ts +1 -2
  64. package/lib/Breadcrumb/Breadcrumb.js +2 -33
  65. package/lib/Breadcrumb/BreadcrumbItem.js +16 -29
  66. package/lib/Breadcrumb/index.d.ts +0 -1
  67. package/lib/Breadcrumb/index.js +0 -7
  68. package/lib/CodeBlock/CodeBlock.d.ts +18 -0
  69. package/lib/CodeBlock/CodeBlock.js +121 -0
  70. package/lib/{Navigation/index.d.ts → CodeBlock/codeLanguageOptions.d.ts} +5 -2
  71. package/lib/CodeBlock/codeLanguageOptions.js +90 -0
  72. package/lib/CodeBlock/index.d.ts +9 -0
  73. package/lib/CodeBlock/index.js +20 -0
  74. package/lib/CreatedBy/CreatedBy.js +4 -4
  75. package/lib/Embed/BrightcoveEmbed.js +3 -3
  76. package/lib/Embed/CodeEmbed.js +2 -2
  77. package/lib/Embed/ConceptEmbed.d.ts +1 -1
  78. package/lib/Embed/ConceptEmbed.js +36 -33
  79. package/lib/Embed/ExternalEmbed.js +2 -2
  80. package/lib/Embed/IframeEmbed.js +1 -1
  81. package/lib/Embed/ImageEmbed.js +17 -14
  82. package/lib/Embed/RelatedContentEmbed.js +3 -3
  83. package/lib/Embed/UuDisclaimerEmbed.js +4 -3
  84. package/lib/Embed/conceptComponents.js +10 -10
  85. package/lib/Figure/Figure.d.ts +2 -5
  86. package/lib/Figure/Figure.js +32 -23
  87. package/lib/FrontpageArticle/FrontpageArticle.js +3 -3
  88. package/lib/Gloss/Gloss.js +12 -10
  89. package/lib/Hero/Hero.js +1 -1
  90. package/lib/Image/Image.js +2 -2
  91. package/lib/LanguageSelector/LanguageSelector.js +5 -5
  92. package/lib/Layout/LayoutItem.js +2 -1
  93. package/lib/Layout/OneColumn.d.ts +3 -8
  94. package/lib/Layout/OneColumn.js +22 -30
  95. package/lib/Layout/PageContainer.d.ts +3 -7
  96. package/lib/Layout/PageContainer.js +21 -19
  97. package/lib/LicenseByline/LicenseLink.js +5 -6
  98. package/lib/Messages/MessageBox.d.ts +2 -1
  99. package/lib/Messages/MessageBox.js +9 -7
  100. package/lib/MyNdla/Resource/index.d.ts +1 -2
  101. package/lib/MyNdla/Resource/index.js +0 -7
  102. package/lib/MyNdla/index.d.ts +1 -2
  103. package/lib/MyNdla/index.js +0 -7
  104. package/lib/Notion/Notion.js +4 -4
  105. package/lib/Resource/BlockResource.js +13 -15
  106. package/lib/Resource/ListResource.js +13 -15
  107. package/lib/Search/ContentTypeResult.js +4 -4
  108. package/lib/Search/SearchResult.js +10 -10
  109. package/lib/Search/SearchResultSleeve.js +16 -16
  110. package/lib/TreeStructure/TreeStructure.js +6 -6
  111. package/lib/all.css +1 -1
  112. package/lib/index.d.ts +4 -19
  113. package/lib/index.js +17 -229
  114. package/lib/locale/messages-en.d.ts +10 -0
  115. package/lib/locale/messages-en.js +12 -2
  116. package/lib/locale/messages-nb.d.ts +10 -0
  117. package/lib/locale/messages-nb.js +12 -2
  118. package/lib/locale/messages-nn.d.ts +10 -0
  119. package/lib/locale/messages-nn.js +13 -3
  120. package/lib/locale/messages-se.d.ts +10 -0
  121. package/lib/locale/messages-se.js +11 -1
  122. package/lib/locale/messages-sma.d.ts +10 -0
  123. package/lib/locale/messages-sma.js +12 -2
  124. package/lib/types.d.ts +0 -51
  125. package/lib/types.js +1 -10
  126. package/package.json +16 -21
  127. package/src/Article/Article.tsx +14 -18
  128. package/src/Article/ArticleHeaderWrapper.tsx +1 -12
  129. package/src/Article/ArticleNotions.tsx +3 -3
  130. package/src/Article/ArticleParagraph.tsx +22 -0
  131. package/src/Article/component.article.scss +0 -7
  132. package/src/Article/index.ts +2 -0
  133. package/src/AudioPlayer/AudioPlayer.tsx +2 -2
  134. package/src/AudioPlayer/Controls.tsx +5 -5
  135. package/src/Breadcrumb/Breadcrumb.stories.tsx +0 -4
  136. package/src/Breadcrumb/Breadcrumb.tsx +1 -38
  137. package/src/Breadcrumb/BreadcrumbItem.tsx +5 -19
  138. package/src/Breadcrumb/index.ts +0 -2
  139. package/src/CodeBlock/CodeBlock.stories.tsx +113 -0
  140. package/src/CodeBlock/CodeBlock.tsx +228 -0
  141. package/src/CodeBlock/codeLanguageOptions.ts +115 -0
  142. package/src/CodeBlock/index.ts +10 -0
  143. package/src/CreatedBy/CreatedBy.tsx +2 -2
  144. package/src/Embed/AudioEmbed.stories.tsx +6 -4
  145. package/src/Embed/BrightcoveEmbed.stories.tsx +6 -4
  146. package/src/Embed/BrightcoveEmbed.tsx +2 -2
  147. package/src/Embed/CodeEmbed.tsx +2 -2
  148. package/src/Embed/ConceptEmbed.stories.tsx +6 -4
  149. package/src/Embed/ConceptEmbed.tsx +103 -96
  150. package/src/Embed/ExternalEmbed.stories.tsx +6 -4
  151. package/src/Embed/ExternalEmbed.tsx +2 -2
  152. package/src/Embed/H5pEmbed.stories.tsx +6 -4
  153. package/src/Embed/IframeEmbed.stories.tsx +6 -4
  154. package/src/Embed/IframeEmbed.tsx +1 -1
  155. package/src/Embed/ImageEmbed.stories.tsx +6 -4
  156. package/src/Embed/ImageEmbed.tsx +19 -11
  157. package/src/Embed/RelatedContentEmbed.stories.tsx +6 -4
  158. package/src/Embed/RelatedContentEmbed.tsx +3 -3
  159. package/src/Embed/UuDisclaimerEmbed.stories.tsx +23 -4
  160. package/src/Embed/UuDisclaimerEmbed.tsx +1 -1
  161. package/src/Embed/conceptComponents.tsx +1 -0
  162. package/src/Figure/Figure.tsx +57 -18
  163. package/src/Footer/Footer.stories.tsx +1 -1
  164. package/src/FrontpageArticle/FrontpageArticle.tsx +3 -3
  165. package/src/Gloss/Gloss.tsx +4 -2
  166. package/src/Hero/Hero.tsx +1 -1
  167. package/src/Image/Image.tsx +2 -2
  168. package/src/LanguageSelector/LanguageSelector.tsx +1 -1
  169. package/src/Layout/LayoutItem.tsx +2 -1
  170. package/src/Layout/OneColumn.tsx +25 -35
  171. package/src/Layout/PageContainer.tsx +19 -23
  172. package/src/LicenseByline/LicenseLink.tsx +1 -2
  173. package/src/Messages/MessageBox.tsx +3 -2
  174. package/src/MyNdla/Resource/index.ts +1 -2
  175. package/src/MyNdla/index.ts +1 -2
  176. package/src/Notion/Notion.tsx +2 -2
  177. package/src/Resource/BlockResource.tsx +4 -8
  178. package/src/Resource/ListResource.tsx +4 -6
  179. package/src/Search/ContentTypeResult.tsx +4 -4
  180. package/src/Search/SearchResult.tsx +2 -2
  181. package/src/Search/SearchResultSleeve.tsx +7 -9
  182. package/src/Table/Table.stories.tsx +8 -8
  183. package/src/TreeStructure/TreeStructure.stories.tsx +85 -28
  184. package/src/TreeStructure/TreeStructure.tsx +1 -1
  185. package/src/index.ts +5 -46
  186. package/src/locale/messages-en.ts +14 -1
  187. package/src/locale/messages-nb.ts +14 -1
  188. package/src/locale/messages-nn.ts +15 -2
  189. package/src/locale/messages-se.ts +13 -0
  190. package/src/locale/messages-sma.ts +14 -1
  191. package/src/main.scss +0 -2
  192. package/src/types.ts +0 -62
  193. package/es/Article/ArticleAccessMessage.js +0 -43
  194. package/es/Aside/Aside.js +0 -75
  195. package/es/Aside/index.js +0 -10
  196. package/es/BannerCard/BannerCard.js +0 -84
  197. package/es/BannerCard/index.js +0 -10
  198. package/es/Breadcrumb/HeaderBreadcrumb.js +0 -57
  199. package/es/CompetenceGoalTab/CompetenceGoalItem.js +0 -42
  200. package/es/CompetenceGoalTab/CompetenceGoalTab.js +0 -75
  201. package/es/CompetenceGoalTab/CompetenceItem.js +0 -108
  202. package/es/CompetenceGoalTab/CoreElementItem.js +0 -44
  203. package/es/CompetenceGoalTab/SearchButton.js +0 -43
  204. package/es/CompetenceGoalTab/index.js +0 -10
  205. package/es/CompetenceGoalTab/styles.js +0 -57
  206. package/es/Filter/FilterButtons.js +0 -185
  207. package/es/Filter/FilterCarousel.js +0 -166
  208. package/es/Filter/ToggleItem.js +0 -68
  209. package/es/Filter/index.js +0 -10
  210. package/es/Frontpage/FrontpageAllSubjects.js +0 -254
  211. package/es/LearningPaths/LearningPathContent.js +0 -25
  212. package/es/LearningPaths/LearningPathInformation.js +0 -74
  213. package/es/LearningPaths/LearningPathLastStepNavigation.js +0 -65
  214. package/es/LearningPaths/LearningPathMenu.js +0 -103
  215. package/es/LearningPaths/LearningPathMenuAside.js +0 -62
  216. package/es/LearningPaths/LearningPathMenuContent.js +0 -109
  217. package/es/LearningPaths/LearningPathMenuIntro.js +0 -72
  218. package/es/LearningPaths/LearningPathMenuModalWrapper.js +0 -63
  219. package/es/LearningPaths/LearningPathMobileHeader.js +0 -35
  220. package/es/LearningPaths/LearningPathMobileStepInfo.js +0 -34
  221. package/es/LearningPaths/LearningPathSticky.js +0 -74
  222. package/es/LearningPaths/LearningPathWrapper.js +0 -27
  223. package/es/LearningPaths/index.js +0 -18
  224. package/es/MyNdla/Resource/FolderInput.js +0 -94
  225. package/es/NDLAFilm/AllMoviesAlphabetically.js +0 -127
  226. package/es/NDLAFilm/FilmContentCard.js +0 -93
  227. package/es/NDLAFilm/FilmContentCardTags.js +0 -44
  228. package/es/NDLAFilm/FilmMovieList.js +0 -52
  229. package/es/NDLAFilm/FilmMovieSearch.js +0 -106
  230. package/es/NDLAFilm/FilmSlideshow.js +0 -138
  231. package/es/NDLAFilm/MovieGrid.js +0 -54
  232. package/es/NDLAFilm/VisualElement.js +0 -48
  233. package/es/NDLAFilm/filmStyles.js +0 -31
  234. package/es/NDLAFilm/index.js +0 -14
  235. package/es/NDLAFilm/isLetter.js +0 -13
  236. package/es/NDLAFilm/types.js +0 -1
  237. package/es/Navigation/NavigationBox.js +0 -187
  238. package/es/Navigation/index.js +0 -10
  239. package/es/NoContentBox/NoContentBox.js +0 -31
  240. package/es/NoContentBox/index.js +0 -10
  241. package/es/Programme/Programme.js +0 -104
  242. package/es/Programme/ProgrammeSubjects.js +0 -60
  243. package/es/Programme/index.js +0 -12
  244. package/es/ResourceGroup/ResourceGroup.js +0 -46
  245. package/es/ResourceGroup/ResourceItem.js +0 -196
  246. package/es/ResourceGroup/ResourceList.js +0 -57
  247. package/es/ResourceGroup/index.js +0 -10
  248. package/es/ResourcesWrapper/ResourcesTopicTitle.js +0 -160
  249. package/es/ResourcesWrapper/ResourcesWrapper.js +0 -27
  250. package/es/ResourcesWrapper/index.js +0 -11
  251. package/es/SearchTypeResult/ActiveFilterContent.js +0 -53
  252. package/es/SearchTypeResult/ActiveFilters.js +0 -124
  253. package/es/SearchTypeResult/PopupFilter.js +0 -133
  254. package/es/SearchTypeResult/ResultNavigation.js +0 -75
  255. package/es/SearchTypeResult/SearchFieldHeader.js +0 -103
  256. package/es/SearchTypeResult/SearchFilterContent.js +0 -59
  257. package/es/SearchTypeResult/SearchHeader.js +0 -160
  258. package/es/SearchTypeResult/SearchItem.js +0 -97
  259. package/es/SearchTypeResult/SearchItemList.js +0 -142
  260. package/es/SearchTypeResult/SearchItems.js +0 -60
  261. package/es/SearchTypeResult/SearchSubjectItem.js +0 -62
  262. package/es/SearchTypeResult/SearchSubjectResult.js +0 -34
  263. package/es/SearchTypeResult/SearchTypeHeader.js +0 -118
  264. package/es/SearchTypeResult/SearchTypeResult.js +0 -55
  265. package/es/SearchTypeResult/SearchViewType.js +0 -90
  266. package/es/SearchTypeResult/components/ItemContexts.js +0 -122
  267. package/es/SearchTypeResult/components/ItemResourceHeader.js +0 -96
  268. package/es/SearchTypeResult/components/ItemTopicHeader.js +0 -66
  269. package/es/SearchTypeResult/components/SubjectFilters.js +0 -130
  270. package/es/SearchTypeResult/index.js +0 -14
  271. package/es/Subject/SubjectBanner.js +0 -30
  272. package/es/Subject/index.js +0 -9
  273. package/es/ToolboxPage/ToolboxInfo.js +0 -43
  274. package/es/ToolboxPage/index.js +0 -10
  275. package/es/Topic/Loader.js +0 -107
  276. package/es/Topic/Topic.js +0 -221
  277. package/es/Topic/index.js +0 -10
  278. package/es/locale/LocaleProvider.js +0 -38
  279. package/lib/Article/ArticleAccessMessage.d.ts +0 -12
  280. package/lib/Article/ArticleAccessMessage.js +0 -50
  281. package/lib/Aside/Aside.d.ts +0 -15
  282. package/lib/Aside/Aside.js +0 -80
  283. package/lib/Aside/index.d.ts +0 -9
  284. package/lib/Aside/index.js +0 -16
  285. package/lib/BannerCard/BannerCard.d.ts +0 -29
  286. package/lib/BannerCard/BannerCard.js +0 -92
  287. package/lib/BannerCard/index.d.ts +0 -9
  288. package/lib/BannerCard/index.js +0 -13
  289. package/lib/Breadcrumb/HeaderBreadcrumb.d.ts +0 -14
  290. package/lib/Breadcrumb/HeaderBreadcrumb.js +0 -64
  291. package/lib/CompetenceGoalTab/CompetenceGoalItem.d.ts +0 -10
  292. package/lib/CompetenceGoalTab/CompetenceGoalItem.js +0 -49
  293. package/lib/CompetenceGoalTab/CompetenceGoalTab.d.ts +0 -14
  294. package/lib/CompetenceGoalTab/CompetenceGoalTab.js +0 -82
  295. package/lib/CompetenceGoalTab/CompetenceItem.d.ts +0 -30
  296. package/lib/CompetenceGoalTab/CompetenceItem.js +0 -113
  297. package/lib/CompetenceGoalTab/CoreElementItem.d.ts +0 -10
  298. package/lib/CompetenceGoalTab/CoreElementItem.js +0 -51
  299. package/lib/CompetenceGoalTab/SearchButton.d.ts +0 -14
  300. package/lib/CompetenceGoalTab/SearchButton.js +0 -50
  301. package/lib/CompetenceGoalTab/index.d.ts +0 -9
  302. package/lib/CompetenceGoalTab/index.js +0 -16
  303. package/lib/CompetenceGoalTab/styles.d.ts +0 -28
  304. package/lib/CompetenceGoalTab/styles.js +0 -62
  305. package/lib/Filter/FilterButtons.d.ts +0 -16
  306. package/lib/Filter/FilterButtons.js +0 -192
  307. package/lib/Filter/FilterCarousel.d.ts +0 -13
  308. package/lib/Filter/FilterCarousel.js +0 -171
  309. package/lib/Filter/ToggleItem.d.ts +0 -21
  310. package/lib/Filter/ToggleItem.js +0 -75
  311. package/lib/Filter/index.d.ts +0 -9
  312. package/lib/Filter/index.js +0 -20
  313. package/lib/Frontpage/FrontpageAllSubjects.d.ts +0 -27
  314. package/lib/Frontpage/FrontpageAllSubjects.js +0 -259
  315. package/lib/LearningPaths/LearningPathContent.d.ts +0 -13
  316. package/lib/LearningPaths/LearningPathContent.js +0 -33
  317. package/lib/LearningPaths/LearningPathInformation.d.ts +0 -18
  318. package/lib/LearningPaths/LearningPathInformation.js +0 -80
  319. package/lib/LearningPaths/LearningPathLastStepNavigation.d.ts +0 -22
  320. package/lib/LearningPaths/LearningPathLastStepNavigation.js +0 -72
  321. package/lib/LearningPaths/LearningPathMenu.d.ts +0 -38
  322. package/lib/LearningPaths/LearningPathMenu.js +0 -110
  323. package/lib/LearningPaths/LearningPathMenuAside.d.ts +0 -24
  324. package/lib/LearningPaths/LearningPathMenuAside.js +0 -69
  325. package/lib/LearningPaths/LearningPathMenuContent.d.ts +0 -22
  326. package/lib/LearningPaths/LearningPathMenuContent.js +0 -116
  327. package/lib/LearningPaths/LearningPathMenuIntro.d.ts +0 -17
  328. package/lib/LearningPaths/LearningPathMenuIntro.js +0 -77
  329. package/lib/LearningPaths/LearningPathMenuModalWrapper.d.ts +0 -14
  330. package/lib/LearningPaths/LearningPathMenuModalWrapper.js +0 -70
  331. package/lib/LearningPaths/LearningPathMobileHeader.d.ts +0 -9
  332. package/lib/LearningPaths/LearningPathMobileHeader.js +0 -42
  333. package/lib/LearningPaths/LearningPathMobileStepInfo.d.ts +0 -13
  334. package/lib/LearningPaths/LearningPathMobileStepInfo.js +0 -41
  335. package/lib/LearningPaths/LearningPathSticky.d.ts +0 -22
  336. package/lib/LearningPaths/LearningPathSticky.js +0 -84
  337. package/lib/LearningPaths/LearningPathWrapper.d.ts +0 -14
  338. package/lib/LearningPaths/LearningPathWrapper.js +0 -35
  339. package/lib/LearningPaths/index.d.ts +0 -17
  340. package/lib/LearningPaths/index.js +0 -74
  341. package/lib/MyNdla/Resource/FolderInput.d.ts +0 -19
  342. package/lib/MyNdla/Resource/FolderInput.js +0 -101
  343. package/lib/NDLAFilm/AllMoviesAlphabetically.d.ts +0 -13
  344. package/lib/NDLAFilm/AllMoviesAlphabetically.js +0 -134
  345. package/lib/NDLAFilm/FilmContentCard.d.ts +0 -19
  346. package/lib/NDLAFilm/FilmContentCard.js +0 -98
  347. package/lib/NDLAFilm/FilmContentCardTags.d.ts +0 -15
  348. package/lib/NDLAFilm/FilmContentCardTags.js +0 -51
  349. package/lib/NDLAFilm/FilmMovieList.d.ts +0 -17
  350. package/lib/NDLAFilm/FilmMovieList.js +0 -59
  351. package/lib/NDLAFilm/FilmMovieSearch.d.ts +0 -21
  352. package/lib/NDLAFilm/FilmMovieSearch.js +0 -113
  353. package/lib/NDLAFilm/FilmSlideshow.d.ts +0 -13
  354. package/lib/NDLAFilm/FilmSlideshow.js +0 -143
  355. package/lib/NDLAFilm/MovieGrid.d.ts +0 -17
  356. package/lib/NDLAFilm/MovieGrid.js +0 -61
  357. package/lib/NDLAFilm/VisualElement.d.ts +0 -16
  358. package/lib/NDLAFilm/VisualElement.js +0 -53
  359. package/lib/NDLAFilm/filmStyles.d.ts +0 -17
  360. package/lib/NDLAFilm/filmStyles.js +0 -39
  361. package/lib/NDLAFilm/index.d.ts +0 -13
  362. package/lib/NDLAFilm/index.js +0 -41
  363. package/lib/NDLAFilm/isLetter.d.ts +0 -8
  364. package/lib/NDLAFilm/isLetter.js +0 -20
  365. package/lib/NDLAFilm/types.d.ts +0 -22
  366. package/lib/NDLAFilm/types.js +0 -5
  367. package/lib/Navigation/NavigationBox.d.ts +0 -30
  368. package/lib/Navigation/NavigationBox.js +0 -193
  369. package/lib/Navigation/index.js +0 -13
  370. package/lib/NoContentBox/NoContentBox.d.ts +0 -14
  371. package/lib/NoContentBox/NoContentBox.js +0 -38
  372. package/lib/NoContentBox/index.d.ts +0 -9
  373. package/lib/NoContentBox/index.js +0 -16
  374. package/lib/Programme/Programme.d.ts +0 -16
  375. package/lib/Programme/Programme.js +0 -112
  376. package/lib/Programme/ProgrammeSubjects.d.ts +0 -26
  377. package/lib/Programme/ProgrammeSubjects.js +0 -67
  378. package/lib/Programme/index.d.ts +0 -11
  379. package/lib/Programme/index.js +0 -23
  380. package/lib/ResourceGroup/ResourceGroup.d.ts +0 -18
  381. package/lib/ResourceGroup/ResourceGroup.js +0 -53
  382. package/lib/ResourceGroup/ResourceItem.d.ts +0 -22
  383. package/lib/ResourceGroup/ResourceItem.js +0 -203
  384. package/lib/ResourceGroup/ResourceList.d.ts +0 -19
  385. package/lib/ResourceGroup/ResourceList.js +0 -64
  386. package/lib/ResourceGroup/index.d.ts +0 -9
  387. package/lib/ResourceGroup/index.js +0 -16
  388. package/lib/ResourcesWrapper/ResourcesTopicTitle.d.ts +0 -20
  389. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +0 -165
  390. package/lib/ResourcesWrapper/ResourcesWrapper.d.ts +0 -16
  391. package/lib/ResourcesWrapper/ResourcesWrapper.js +0 -34
  392. package/lib/ResourcesWrapper/index.d.ts +0 -10
  393. package/lib/ResourcesWrapper/index.js +0 -23
  394. package/lib/SearchTypeResult/ActiveFilterContent.d.ts +0 -23
  395. package/lib/SearchTypeResult/ActiveFilterContent.js +0 -58
  396. package/lib/SearchTypeResult/ActiveFilters.d.ts +0 -18
  397. package/lib/SearchTypeResult/ActiveFilters.js +0 -131
  398. package/lib/SearchTypeResult/PopupFilter.d.ts +0 -26
  399. package/lib/SearchTypeResult/PopupFilter.js +0 -138
  400. package/lib/SearchTypeResult/ResultNavigation.d.ts +0 -18
  401. package/lib/SearchTypeResult/ResultNavigation.js +0 -82
  402. package/lib/SearchTypeResult/SearchFieldHeader.d.ts +0 -17
  403. package/lib/SearchTypeResult/SearchFieldHeader.js +0 -109
  404. package/lib/SearchTypeResult/SearchFilterContent.d.ts +0 -16
  405. package/lib/SearchTypeResult/SearchFilterContent.js +0 -64
  406. package/lib/SearchTypeResult/SearchHeader.d.ts +0 -26
  407. package/lib/SearchTypeResult/SearchHeader.js +0 -166
  408. package/lib/SearchTypeResult/SearchItem.d.ts +0 -30
  409. package/lib/SearchTypeResult/SearchItem.js +0 -104
  410. package/lib/SearchTypeResult/SearchItemList.d.ts +0 -10
  411. package/lib/SearchTypeResult/SearchItemList.js +0 -147
  412. package/lib/SearchTypeResult/SearchItems.d.ts +0 -17
  413. package/lib/SearchTypeResult/SearchItems.js +0 -65
  414. package/lib/SearchTypeResult/SearchSubjectItem.d.ts +0 -20
  415. package/lib/SearchTypeResult/SearchSubjectItem.js +0 -67
  416. package/lib/SearchTypeResult/SearchSubjectResult.d.ts +0 -13
  417. package/lib/SearchTypeResult/SearchSubjectResult.js +0 -41
  418. package/lib/SearchTypeResult/SearchTypeHeader.d.ts +0 -22
  419. package/lib/SearchTypeResult/SearchTypeHeader.js +0 -123
  420. package/lib/SearchTypeResult/SearchTypeResult.d.ts +0 -26
  421. package/lib/SearchTypeResult/SearchTypeResult.js +0 -62
  422. package/lib/SearchTypeResult/SearchViewType.d.ts +0 -13
  423. package/lib/SearchTypeResult/SearchViewType.js +0 -95
  424. package/lib/SearchTypeResult/components/ItemContexts.d.ts +0 -19
  425. package/lib/SearchTypeResult/components/ItemContexts.js +0 -127
  426. package/lib/SearchTypeResult/components/ItemResourceHeader.d.ts +0 -16
  427. package/lib/SearchTypeResult/components/ItemResourceHeader.js +0 -101
  428. package/lib/SearchTypeResult/components/ItemTopicHeader.d.ts +0 -17
  429. package/lib/SearchTypeResult/components/ItemTopicHeader.js +0 -71
  430. package/lib/SearchTypeResult/components/SubjectFilters.d.ts +0 -32
  431. package/lib/SearchTypeResult/components/SubjectFilters.js +0 -135
  432. package/lib/SearchTypeResult/index.d.ts +0 -14
  433. package/lib/SearchTypeResult/index.js +0 -41
  434. package/lib/Subject/SubjectBanner.d.ts +0 -14
  435. package/lib/Subject/SubjectBanner.js +0 -37
  436. package/lib/Subject/index.d.ts +0 -8
  437. package/lib/Subject/index.js +0 -13
  438. package/lib/ToolboxPage/ToolboxInfo.d.ts +0 -18
  439. package/lib/ToolboxPage/ToolboxInfo.js +0 -49
  440. package/lib/ToolboxPage/index.d.ts +0 -9
  441. package/lib/ToolboxPage/index.js +0 -13
  442. package/lib/Topic/Loader.d.ts +0 -9
  443. package/lib/Topic/Loader.js +0 -114
  444. package/lib/Topic/Topic.d.ts +0 -34
  445. package/lib/Topic/Topic.js +0 -228
  446. package/lib/Topic/index.d.ts +0 -10
  447. package/lib/Topic/index.js +0 -16
  448. package/lib/locale/LocaleProvider.d.ts +0 -15
  449. package/lib/locale/LocaleProvider.js +0 -44
  450. package/src/Article/ArticleAccessMessage.tsx +0 -44
  451. package/src/Aside/Aside.tsx +0 -113
  452. package/src/Aside/index.ts +0 -11
  453. package/src/BannerCard/BannerCard.tsx +0 -99
  454. package/src/BannerCard/index.ts +0 -11
  455. package/src/Breadcrumb/HeaderBreadcrumb.tsx +0 -56
  456. package/src/CompetenceGoalTab/CompetenceGoalItem.tsx +0 -39
  457. package/src/CompetenceGoalTab/CompetenceGoalTab.tsx +0 -85
  458. package/src/CompetenceGoalTab/CompetenceItem.tsx +0 -130
  459. package/src/CompetenceGoalTab/CoreElementItem.tsx +0 -39
  460. package/src/CompetenceGoalTab/SearchButton.tsx +0 -50
  461. package/src/CompetenceGoalTab/index.ts +0 -10
  462. package/src/CompetenceGoalTab/styles.ts +0 -37
  463. package/src/Figure/component.figure.scss +0 -60
  464. package/src/Filter/FilterButtons.tsx +0 -199
  465. package/src/Filter/FilterCarousel.tsx +0 -172
  466. package/src/Filter/ToggleItem.tsx +0 -180
  467. package/src/Filter/index.ts +0 -10
  468. package/src/Frontpage/FrontpageAllSubjects.tsx +0 -231
  469. package/src/LearningPaths/LearningPathContent.tsx +0 -33
  470. package/src/LearningPaths/LearningPathInformation.tsx +0 -82
  471. package/src/LearningPaths/LearningPathLastStepNavigation.tsx +0 -89
  472. package/src/LearningPaths/LearningPathMenu.stories.tsx +0 -65
  473. package/src/LearningPaths/LearningPathMenu.tsx +0 -166
  474. package/src/LearningPaths/LearningPathMenuAside.tsx +0 -100
  475. package/src/LearningPaths/LearningPathMenuContent.tsx +0 -277
  476. package/src/LearningPaths/LearningPathMenuIntro.tsx +0 -126
  477. package/src/LearningPaths/LearningPathMenuModalWrapper.tsx +0 -71
  478. package/src/LearningPaths/LearningPathMobileHeader.tsx +0 -37
  479. package/src/LearningPaths/LearningPathMobileStepInfo.tsx +0 -38
  480. package/src/LearningPaths/LearningPathSticky.tsx +0 -122
  481. package/src/LearningPaths/LearningPathWrapper.tsx +0 -36
  482. package/src/LearningPaths/index.ts +0 -19
  483. package/src/MyNdla/Resource/FolderInput.stories.tsx +0 -27
  484. package/src/MyNdla/Resource/FolderInput.tsx +0 -89
  485. package/src/NDLAFilm/AllMoviesAlphabetically.tsx +0 -160
  486. package/src/NDLAFilm/FilmContentCard.tsx +0 -138
  487. package/src/NDLAFilm/FilmContentCardTags.tsx +0 -57
  488. package/src/NDLAFilm/FilmMovieList.tsx +0 -54
  489. package/src/NDLAFilm/FilmMovieSearch.tsx +0 -135
  490. package/src/NDLAFilm/FilmSlideshow.tsx +0 -177
  491. package/src/NDLAFilm/MovieGrid.tsx +0 -86
  492. package/src/NDLAFilm/VisualElement.tsx +0 -38
  493. package/src/NDLAFilm/__tests__/isLetter-test.ts +0 -20
  494. package/src/NDLAFilm/filmStyles.ts +0 -49
  495. package/src/NDLAFilm/index.ts +0 -15
  496. package/src/NDLAFilm/isLetter.ts +0 -13
  497. package/src/NDLAFilm/types.ts +0 -24
  498. package/src/Navigation/NavigationBox.tsx +0 -252
  499. package/src/Navigation/index.ts +0 -11
  500. package/src/NoContentBox/NoContentBox.tsx +0 -32
  501. package/src/NoContentBox/index.ts +0 -11
  502. package/src/Programme/Programme.tsx +0 -101
  503. package/src/Programme/ProgrammeSubjects.tsx +0 -83
  504. package/src/Programme/index.ts +0 -13
  505. package/src/ResourceGroup/ResourceGroup.tsx +0 -65
  506. package/src/ResourceGroup/ResourceItem.stories.tsx +0 -101
  507. package/src/ResourceGroup/ResourceItem.tsx +0 -318
  508. package/src/ResourceGroup/ResourceList.tsx +0 -80
  509. package/src/ResourceGroup/index.ts +0 -11
  510. package/src/ResourcesWrapper/ResourcesTopicTitle.tsx +0 -223
  511. package/src/ResourcesWrapper/ResourcesWrapper.tsx +0 -32
  512. package/src/ResourcesWrapper/index.ts +0 -13
  513. package/src/SearchTypeResult/ActiveFilterContent.tsx +0 -55
  514. package/src/SearchTypeResult/ActiveFilters.tsx +0 -163
  515. package/src/SearchTypeResult/PopupFilter.tsx +0 -149
  516. package/src/SearchTypeResult/ResultNavigation.tsx +0 -105
  517. package/src/SearchTypeResult/SearchFieldHeader.tsx +0 -129
  518. package/src/SearchTypeResult/SearchFilterContent.tsx +0 -61
  519. package/src/SearchTypeResult/SearchHeader.tsx +0 -180
  520. package/src/SearchTypeResult/SearchItem.tsx +0 -144
  521. package/src/SearchTypeResult/SearchItemList.tsx +0 -161
  522. package/src/SearchTypeResult/SearchItems.tsx +0 -72
  523. package/src/SearchTypeResult/SearchSubjectItem.tsx +0 -74
  524. package/src/SearchTypeResult/SearchSubjectResult.tsx +0 -58
  525. package/src/SearchTypeResult/SearchTypeHeader.tsx +0 -148
  526. package/src/SearchTypeResult/SearchTypeResult.tsx +0 -89
  527. package/src/SearchTypeResult/SearchViewType.tsx +0 -111
  528. package/src/SearchTypeResult/components/ItemContexts.tsx +0 -131
  529. package/src/SearchTypeResult/components/ItemResourceHeader.tsx +0 -130
  530. package/src/SearchTypeResult/components/ItemTopicHeader.tsx +0 -88
  531. package/src/SearchTypeResult/components/SubjectFilters.tsx +0 -149
  532. package/src/SearchTypeResult/index.ts +0 -17
  533. package/src/Subject/SubjectBanner.tsx +0 -39
  534. package/src/Subject/index.ts +0 -9
  535. package/src/ToolboxPage/ToolboxInfo.tsx +0 -42
  536. package/src/ToolboxPage/index.ts +0 -11
  537. package/src/Topic/Loader.tsx +0 -29
  538. package/src/Topic/Topic.tsx +0 -348
  539. package/src/Topic/index.ts +0 -13
  540. package/src/locale/LocaleProvider.tsx +0 -31
@@ -928,6 +928,10 @@ declare const messages: {
928
928
  private: string;
929
929
  shared: string;
930
930
  };
931
+ warning: {
932
+ authenticated: string;
933
+ unauthenticated: string;
934
+ };
931
935
  button: {
932
936
  share: string;
933
937
  shareShort: string;
@@ -936,6 +940,12 @@ declare const messages: {
936
940
  goTo: string;
937
941
  unShare: string;
938
942
  shareLink: string;
943
+ saveLink: string;
944
+ };
945
+ save: {
946
+ warning: string;
947
+ header: string;
948
+ save: string;
939
949
  };
940
950
  previewInformation: string;
941
951
  };
@@ -945,6 +945,10 @@ const messages = {
945
945
  private: "Når du deler ei mappe, lager du ei lenke som er åpen for alle som har lenka. Du kan endre innholdet eller avslutte delinga når du ønsker det. ",
946
946
  shared: "Nå kan du dele denne lenka med elever eller andre lærere. Hvis du gjør endringer i mappa, blir de synlige for alle du har delt lenka med."
947
947
  },
948
+ warning: {
949
+ authenticated: "Denne mappen er delt av {{ name }}, og inneholder fagstoff, oppgaver og lenker til tekster fra både NDLA og andre nettsteder.",
950
+ unauthenticated: "Denne mappen er delt av {{ name }}, og inneholder fagstoff, oppgaver og lenker til tekster fra både NDLA og andre nettsteder. Logg inn på Min NDLA for å kopiere mappen eller lagre lenken."
951
+ },
948
952
  button: {
949
953
  share: "Del mappe",
950
954
  shareShort: "Del",
@@ -952,7 +956,13 @@ const messages = {
952
956
  previewShort: "Forhåndsvis",
953
957
  goTo: "Gå til delt mappe",
954
958
  unShare: "Avslutt deling",
955
- shareLink: "Kopier lenke"
959
+ shareLink: "Kopier lenke",
960
+ saveLink: "Lagre lenken"
961
+ },
962
+ save: {
963
+ warning: "Dette lager en lenke til mappen i Mine mapper. Du kan enkelt finne den igjen ved å gå til Mine mapper i menyen i Min NDLA.",
964
+ header: "Lagre lenke til denne mappen",
965
+ save: "Lagre lenke til delt mappe"
956
966
  },
957
967
  previewInformation: "Forhåndsvisning av delt mappe. Mappa blir ikke tilgjengelig for andre før du setter den som delt."
958
968
  }
@@ -928,6 +928,10 @@ declare const messages: {
928
928
  private: string;
929
929
  shared: string;
930
930
  };
931
+ warning: {
932
+ authenticated: string;
933
+ unauthenticated: string;
934
+ };
931
935
  button: {
932
936
  share: string;
933
937
  shareShort: string;
@@ -936,6 +940,12 @@ declare const messages: {
936
940
  goTo: string;
937
941
  unShare: string;
938
942
  shareLink: string;
943
+ saveLink: string;
944
+ };
945
+ save: {
946
+ warning: string;
947
+ header: string;
948
+ save: string;
939
949
  };
940
950
  previewInformation: string;
941
951
  };
@@ -283,7 +283,7 @@ const messages = {
283
283
  resources: "Dette er ikke et komplett læremiddel produsert av NDLA, men ei ressurssamling som vi håper kan være nyttig for deg.",
284
284
  subjectOutdated: "Dette faget følger en utgått læreplan.",
285
285
  subjectFuture: "Dette faget følger en kommende læreplan.",
286
- subjectBeta: "Dette faget er i betaversjon. Vi fyller på med ressurser fortløpende.",
286
+ subjectBeta: "Dette faget er under utvikling. Vi fyller på med ressurser fortløpende.",
287
287
  newVersion: "Denne læringsressursen er ikke oppdatert etter gjeldende læreplan. Du finner en oppdatert versjon her: ",
288
288
  frontPageBeta: "Kommende fag er tilpassa ny læreplan som gjelder fra neste skoleår. Vi håper likevel at læringsressursene i kommende fag kan være nyttige allerede nå.",
289
289
  frontPageExpired: "Utgåtte fag undervises det ikke i lenger, men det kan fortsatt være mulig å ta eksamen i faga som privatist."
@@ -945,6 +945,10 @@ const messages = {
945
945
  private: "Når du deler ei mappe, lager du ei lenke som er åpen for alle som har lenka. Du kan endre innholdet eller avslutte delinga når du ønsker det. ",
946
946
  shared: "Nå kan du dele denne lenka med elever eller andre lærere. Hvis du gjør endringer i mappa, blir de synlige for alle du har delt lenka med."
947
947
  },
948
+ warning: {
949
+ authenticated: "Denne mappen er delt av {{ name }}, og inneholder fagstoff, oppgaver og lenker til tekster fra både NDLA og andre nettsteder.",
950
+ unauthenticated: "Denne mappen er delt av {{ name }}, og inneholder fagstoff, oppgaver og lenker til tekster fra både NDLA og andre nettsteder. Logg inn på Min NDLA for å kopiere mappen eller lagre lenken."
951
+ },
948
952
  button: {
949
953
  share: "Del mappe",
950
954
  shareShort: "Del",
@@ -952,7 +956,13 @@ const messages = {
952
956
  previewShort: "Forhåndsvis",
953
957
  goTo: "Gå til delt mappe",
954
958
  unShare: "Avslutt deling",
955
- shareLink: "Kopier lenke"
959
+ shareLink: "Kopier lenke",
960
+ saveLink: "Lagre lenken"
961
+ },
962
+ save: {
963
+ warning: "Dette lager en lenke til mappen i Mine mapper. Du kan enkelt finne den igjen ved å gå til Mine mapper i menyen i Min NDLA.",
964
+ header: "Lagre lenke til denne mappen",
965
+ save: "Lagre lenke til delt mappe"
956
966
  },
957
967
  previewInformation: "Forhåndsvisning av delt mappe. Mappa blir ikke tilgjengelig for andre før du setter den som delt."
958
968
  }
package/lib/types.d.ts CHANGED
@@ -6,15 +6,6 @@
6
6
  *
7
7
  */
8
8
  import { ReactNode } from "react";
9
- declare const locales: readonly ["nb", "nn", "en", "se", "sma"];
10
- export type Locale = (typeof locales)[number];
11
- export type Link = {
12
- text: string;
13
- to: string;
14
- };
15
- export type Messages = {
16
- closeSearchLabel: string;
17
- };
18
9
  type ResourceTypes = {
19
10
  name: string;
20
11
  };
@@ -63,51 +54,9 @@ export interface Article {
63
54
  copyright?: Copyright;
64
55
  published: string;
65
56
  }
66
- export type SearchResult = {
67
- title: string;
68
- contentType: string;
69
- resources: Array<Resource>;
70
- };
71
57
  export interface ContentTypeResultType {
72
58
  title?: string;
73
59
  contentType?: string;
74
60
  resources: Array<Resource>;
75
61
  }
76
- export type subjectProp = {
77
- text: string;
78
- url: string;
79
- yearInfo?: string;
80
- beta?: boolean;
81
- };
82
- export type category = {
83
- name: string;
84
- subjects: Array<subjectProp>;
85
- };
86
- export type elementRectType = {
87
- fromX: number;
88
- fromY: number;
89
- fromScale: number;
90
- };
91
- interface GrepCode {
92
- id: string;
93
- title: string;
94
- }
95
- export interface CompetenceGoalsItemType extends GrepCode {
96
- goals: {
97
- id: string;
98
- text: string;
99
- url?: string;
100
- }[];
101
- selected?: boolean;
102
- isOembed?: boolean;
103
- }
104
- export interface CoreElementsItemType extends GrepCode {
105
- text?: string;
106
- url?: string;
107
- isOembed?: boolean;
108
- }
109
- export type NotionMedia = {
110
- type: "video" | "other";
111
- element: ReactNode;
112
- };
113
62
  export {};
package/lib/types.js CHANGED
@@ -2,13 +2,4 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
6
- /**
7
- * Copyright (c) 2019-present, NDLA.
8
- *
9
- * This source code is licensed under the GPLv3 license found in the
10
- * LICENSE file in the root directory of this source tree.
11
- *
12
- */
13
-
14
- const locales = ["nb", "nn", "en", "se", "sma"];
5
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/ui",
3
- "version": "51.0.0",
3
+ "version": "52.0.0",
4
4
  "description": "UI component library for NDLA.",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -31,24 +31,19 @@
31
31
  "types"
32
32
  ],
33
33
  "dependencies": {
34
- "@ndla/accordion": "^3.0.42",
35
- "@ndla/button": "^12.0.45",
36
- "@ndla/carousel": "^4.0.43",
37
- "@ndla/code": "^5.0.57",
38
- "@ndla/core": "^4.5.5",
39
- "@ndla/dropdown-menu": "^1.0.36",
40
- "@ndla/forms": "^7.1.2",
41
- "@ndla/hooks": "^2.1.6",
42
- "@ndla/icons": "^6.1.3",
34
+ "@ndla/accordion": "^4.0.0",
35
+ "@ndla/button": "^13.0.0",
36
+ "@ndla/core": "^5.0.0",
37
+ "@ndla/dropdown-menu": "^1.0.37",
38
+ "@ndla/forms": "^8.0.0",
39
+ "@ndla/hooks": "^2.1.7",
40
+ "@ndla/icons": "^6.1.4",
43
41
  "@ndla/licenses": "^7.2.6",
44
- "@ndla/modal": "^5.0.42",
45
- "@ndla/notion": "^6.0.43",
46
- "@ndla/safelink": "^5.1.2",
47
- "@ndla/select": "^3.3.17",
48
- "@ndla/switch": "^1.1.42",
49
- "@ndla/tabs": "^4.0.5",
50
- "@ndla/tooltip": "^7.0.5",
51
- "@ndla/typography": "^0.4.19",
42
+ "@ndla/modal": "^6.0.0",
43
+ "@ndla/notion": "^7.0.0",
44
+ "@ndla/safelink": "^5.1.3",
45
+ "@ndla/tooltip": "^8.0.0",
46
+ "@ndla/typography": "^0.4.20",
52
47
  "@ndla/util": "^4.0.4",
53
48
  "@radix-ui/react-popover": "^1.0.7",
54
49
  "@radix-ui/react-slider": "^1.1.2",
@@ -64,10 +59,10 @@
64
59
  "peerDependencies": {
65
60
  "@emotion/react": "^11.10.4",
66
61
  "@emotion/styled": "^11.10.4",
67
- "i18next": "^23.5.1",
62
+ "i18next": "^23.11.5",
68
63
  "react": ">= 16.8.0",
69
64
  "react-dom": ">= 16.8.0",
70
- "react-i18next": "^13.3.0",
65
+ "react-i18next": "^14.1.1",
71
66
  "react-router-dom": "> 6.0.0"
72
67
  },
73
68
  "devDependencies": {
@@ -82,5 +77,5 @@
82
77
  "publishConfig": {
83
78
  "access": "public"
84
79
  },
85
- "gitHead": "4c02a36e29e56aef17cf835b383799a1898b99e3"
80
+ "gitHead": "dab99b8c9bf77c2ee7690d348b2ae811af81bd3d"
86
81
  }
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import { ReactNode, useEffect, useRef, useState, forwardRef } from "react";
9
+ import { ReactNode, useEffect, useRef, useState, forwardRef, ComponentPropsWithRef } from "react";
10
10
  import BEMHelper from "react-bem-helper";
11
11
  import styled from "@emotion/styled";
12
12
 
@@ -14,7 +14,6 @@ import { spacing, mq, breakpoints } from "@ndla/core";
14
14
  import { useIntersectionObserver } from "@ndla/hooks";
15
15
  import { Heading, Text } from "@ndla/typography";
16
16
  import { resizeObserver } from "@ndla/util";
17
- import ArticleAccessMessage from "./ArticleAccessMessage";
18
17
  import ArticleByline from "./ArticleByline";
19
18
  import ArticleHeaderWrapper from "./ArticleHeaderWrapper";
20
19
  import ArticleNotions from "./ArticleNotions";
@@ -27,16 +26,17 @@ const classes = new BEMHelper({
27
26
  prefix: "c-",
28
27
  });
29
28
 
30
- type ArticleWrapperProps = {
29
+ interface ArticleWrapperProps extends ComponentPropsWithRef<"article"> {
31
30
  modifier?: string;
32
- children: ReactNode;
33
- };
31
+ }
34
32
 
35
- export const ArticleWrapper = forwardRef<HTMLElement, ArticleWrapperProps>(({ children, modifier }, ref) => (
36
- <article {...classes(undefined, modifier)} ref={ref}>
37
- {children}
38
- </article>
39
- ));
33
+ export const ArticleWrapper = forwardRef<HTMLElement, ArticleWrapperProps>(
34
+ ({ children, modifier, className, ...rest }, ref) => (
35
+ <article {...rest} {...classes(undefined, modifier, className)} ref={ref}>
36
+ {children}
37
+ </article>
38
+ ),
39
+ );
40
40
 
41
41
  type ArticleTitleProps = {
42
42
  icon?: ReactNode;
@@ -115,7 +115,6 @@ type Props = {
115
115
  competenceGoals?: ReactNode;
116
116
  id: string;
117
117
  notions?: ReactNode;
118
- accessMessage?: string;
119
118
  lang?: string;
120
119
  };
121
120
 
@@ -142,7 +141,6 @@ export const Article = ({
142
141
  competenceGoals,
143
142
  id,
144
143
  notions,
145
- accessMessage,
146
144
  heartButton,
147
145
  contentTransformed,
148
146
  lang,
@@ -156,12 +154,12 @@ export const Article = ({
156
154
  });
157
155
  const [articlePositionRight, setArticlePositionRight] = useState(0);
158
156
 
159
- const showExplainNotions = entry && entry.isIntersecting;
157
+ const showExplainNotions = !!entry?.isIntersecting;
160
158
 
161
159
  useEffect(() => {
162
- if (wrapperRef && wrapperRef.current) {
160
+ if (wrapperRef?.current) {
163
161
  const handler = () => {
164
- if (wrapperRef && wrapperRef.current) {
162
+ if (wrapperRef?.current) {
165
163
  const offset =
166
164
  wrapperRef.current.getBoundingClientRect().left + wrapperRef.current.getBoundingClientRect().width;
167
165
  setArticlePositionRight(offset);
@@ -180,10 +178,8 @@ export const Article = ({
180
178
 
181
179
  return (
182
180
  <div ref={wrapperRef}>
183
- <ArticleWrapper modifier={modifier} ref={articleRef}>
181
+ <ArticleWrapper modifier={modifier} ref={articleRef} data-ndla-article="">
184
182
  <LayoutItem layout="center">
185
- {accessMessage && <ArticleAccessMessage message={accessMessage} />}
186
-
187
183
  {messages.messageBox && (
188
184
  <MSGboxWrapper>
189
185
  <MessageBox links={messageBoxLinks}>{messages.messageBox}</MessageBox>
@@ -6,9 +6,8 @@
6
6
  *
7
7
  */
8
8
 
9
- import { ReactNode, useEffect } from "react";
9
+ import { ReactNode } from "react";
10
10
  import BEMHelper from "react-bem-helper";
11
- import { isMobile } from "react-device-detect";
12
11
 
13
12
  const classes = new BEMHelper({
14
13
  name: "article",
@@ -21,16 +20,6 @@ type Props = {
21
20
  };
22
21
 
23
22
  const ArticleHeaderWrapper = ({ children, competenceGoals }: Props) => {
24
- useEffect(() => {
25
- if (isMobile) {
26
- const heroContentList: NodeListOf<HTMLElement> = document.querySelectorAll(".c-article__header");
27
- if (heroContentList.length === 1) {
28
- heroContentList[0].scrollIntoView(true);
29
- window.scrollBy(0, heroContentList[0].offsetTop - 120); // Adjust for header
30
- }
31
- }
32
- }, []);
33
-
34
23
  return (
35
24
  <div {...classes("header")}>
36
25
  {children}
@@ -9,7 +9,7 @@
9
9
  import { ReactNode } from "react";
10
10
  import { useTranslation } from "react-i18next";
11
11
  import styled from "@emotion/styled";
12
- import { breakpoints, colors, fonts, mq, stackOrder } from "@ndla/core";
12
+ import { breakpoints, colors, fonts, misc, mq, spacing, stackOrder } from "@ndla/core";
13
13
  import { Explanation, NotionFlip } from "@ndla/icons/common";
14
14
  import { ModalHeader, ModalCloseButton, ModalBody, Modal, ModalTitle, ModalTrigger, ModalContent } from "@ndla/modal";
15
15
 
@@ -22,11 +22,11 @@ const ArticleNotionsContainer = styled.div`
22
22
  `;
23
23
 
24
24
  const NotionsTrigger = styled.div`
25
- padding: 0 16px;
25
+ padding: 0 ${spacing.nsmall};
26
26
  display: inline-flex;
27
27
  align-items: center;
28
28
  background-color: ${colors.brand.greyLighter};
29
- border-radius: 4px;
29
+ border-radius: ${misc.borderRadius};
30
30
  cursor: pointer;
31
31
 
32
32
  ${mq.range({ from: breakpoints.tablet })} {
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) 2024-present, NDLA.
3
+ *
4
+ * This source code is licensed under the GPLv3 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
10
+ import styled from "@emotion/styled";
11
+
12
+ interface Props extends ComponentPropsWithoutRef<"p"> {
13
+ children?: ReactNode;
14
+ }
15
+
16
+ const StyledParagraph = styled.p`
17
+ &[data-align="center"] {
18
+ text-align: center;
19
+ }
20
+ `;
21
+
22
+ export const ArticleParagraph = (props: Props) => <StyledParagraph {...props} />;
@@ -91,13 +91,6 @@
91
91
  margin-top: 0;
92
92
  padding: 0;
93
93
  padding-left: $spacing--medium;
94
- figure.c-figure.u-float-full {
95
- left: 0 !important;
96
- right: 0 !important;
97
- padding-left: 0;
98
- padding-right: 0;
99
- max-width: 100%;
100
- }
101
94
  }
102
95
 
103
96
  .c-article__header {
@@ -12,4 +12,6 @@ import ArticleFootNotes from "./ArticleFootNotes";
12
12
  import ArticleHeaderWrapper from "./ArticleHeaderWrapper";
13
13
 
14
14
  export { ArticleByline, ArticleFootNotes, ArticleHeaderWrapper, ArticleTitle, ArticleIntroduction, ArticleWrapper };
15
+ export { ArticleParagraph } from "./ArticleParagraph";
16
+
15
17
  export default Article;
@@ -120,7 +120,7 @@ const TextVersionHeading = styled(Heading)`
120
120
  const LinkButton = styled(ButtonV2)`
121
121
  box-shadow: none;
122
122
  padding-left: 0;
123
- padding-right: 4px;
123
+ padding-right: ${spacing.xxsmall};
124
124
  min-height: ${spacing.medium};
125
125
  flex: 0 0 auto;
126
126
  &:hover,
@@ -200,7 +200,7 @@ const AudioPlayer = ({ src, title, subtitle, speech, description, img, textVersi
200
200
  <TextWrapper data-has-image={!!img}>
201
201
  <TitleWrapper>
202
202
  <div>
203
- {subtitle && subtitle.url ? <SafeLink to={subtitle.url}>{subtitle.title}</SafeLink> : subtitle?.title}
203
+ {subtitle?.url ? <SafeLink to={subtitle.url}>{subtitle.title}</SafeLink> : subtitle?.title}
204
204
  <Title element="h3" headingStyle="h4" margin="none" data-has-desc={!!description}>
205
205
  {title}
206
206
  </Title>
@@ -12,7 +12,7 @@ import styled from "@emotion/styled";
12
12
  import { Root as PopoverRoot, PopoverContent, PopoverTrigger, PopoverPortal } from "@radix-ui/react-popover";
13
13
  import { Root as SliderRoot, Track, Range, SliderThumb } from "@radix-ui/react-slider";
14
14
  import { ButtonV2, IconButtonV2 } from "@ndla/button";
15
- import { breakpoints, colors, fonts, mq, spacing, stackOrder } from "@ndla/core";
15
+ import { breakpoints, colors, fonts, misc, mq, spacing, stackOrder } from "@ndla/core";
16
16
  import { DropdownMenu, DropdownContent, DropdownItem, DropdownTrigger } from "@ndla/dropdown-menu";
17
17
  import { Back15, Forward15 } from "@ndla/icons/action";
18
18
  import { Play, Pause, VolumeUp } from "@ndla/icons/common";
@@ -82,11 +82,11 @@ const SpeedValueButton = styled(ButtonV2)`
82
82
 
83
83
  const SpeedSelectedMark = styled.span`
84
84
  align-self: flex-start;
85
- border-radius: 50%;
85
+ border-radius: ${misc.borderRadiusLarge};
86
86
  background: #d1372e;
87
87
  width: 6px;
88
88
  height: 6px;
89
- margin: 6px 0 0 2px;
89
+ margin: ${spacing.xsmall} 0 0 2px;
90
90
  `;
91
91
 
92
92
  const Time = styled.div`
@@ -132,7 +132,7 @@ const StyledThumb = styled(SliderThumb)`
132
132
  width: 20px;
133
133
  height: 20px;
134
134
  background: #5cbc80;
135
- border-radius: 50%;
135
+ border-radius: ${misc.borderRadiusLarge};
136
136
  outline: none;
137
137
  `;
138
138
 
@@ -188,7 +188,7 @@ const VolumeSliderHandle = styled(SliderThumb)`
188
188
  width: 20px;
189
189
  height: 20px;
190
190
  background: ${colors.brand.primary};
191
- border-radius: 50%;
191
+ border-radius: ${misc.borderRadiusLarge};
192
192
  `;
193
193
 
194
194
  const formatTime = (seconds: number) => {
@@ -50,10 +50,6 @@ export const CollapseLast: StoryObj<typeof Breadcrumb> = {
50
50
  args: { collapseLast: true },
51
51
  };
52
52
 
53
- export const AutoCollapse: StoryObj<typeof Breadcrumb> = {
54
- args: { autoCollapse: true },
55
- };
56
-
57
53
  export const CustomSeparator: StoryObj<typeof Breadcrumb> = {
58
54
  args: {
59
55
  renderSeparator: (item, totalCount) => (
@@ -9,12 +9,10 @@
9
9
  import { ReactNode, useRef } from "react";
10
10
  import { useTranslation } from "react-i18next";
11
11
  import styled from "@emotion/styled";
12
- import { useComponentSize, useIsomorphicLayoutEffect } from "@ndla/hooks";
13
12
  import BreadcrumbItem, { IndexedBreadcrumbItem, SimpleBreadcrumbItem } from "./BreadcrumbItem";
14
13
 
15
14
  interface Props {
16
15
  items: SimpleBreadcrumbItem[];
17
- autoCollapse?: boolean;
18
16
  collapseFirst?: boolean;
19
17
  collapseLast?: boolean;
20
18
  renderItem?: (item: IndexedBreadcrumbItem, totalCount: number) => ReactNode;
@@ -31,50 +29,18 @@ const StyledList = styled.ol`
31
29
  list-style: none;
32
30
  `;
33
31
 
34
- const Breadcrumb = ({
35
- items,
36
- autoCollapse,
37
- renderItem,
38
- renderSeparator,
39
- collapseFirst,
40
- collapseLast = true,
41
- }: Props) => {
32
+ const Breadcrumb = ({ items, renderItem, renderSeparator, collapseFirst, collapseLast = true }: Props) => {
42
33
  const { t } = useTranslation();
43
34
  const olRef = useRef<any>();
44
35
  const containerRef = useRef<HTMLDivElement>(null);
45
36
  // No idiomatic way of dealing with sets of refs yet
46
37
  // See: https://github.com/facebook/react/issues/14072#issuecomment-446777406
47
- const breadcrumbItemRefs = useRef(new Map()).current;
48
- const size = useComponentSize(containerRef);
49
-
50
- useIsomorphicLayoutEffect(() => {
51
- if (!autoCollapse) {
52
- return;
53
- }
54
- // Create an array of all breadcrumb item refs
55
- const items = Array.from(breadcrumbItemRefs).map(([key, value]) => value);
56
-
57
- // Clear max width on all items
58
- items.forEach((el) => {
59
- el.setMaxWidth("none");
60
- });
61
-
62
- // Set maxWidth on breadcrumb text items iteratively until
63
- // the ordered list fits on a single line. It's on a single line
64
- // if the height of the list is less then 70.
65
- items.forEach((el) => {
66
- if (olRef.current.offsetHeight > 60) {
67
- el.setMaxWidth("40px");
68
- }
69
- });
70
- }, [size, items]);
71
38
 
72
39
  return (
73
40
  <BreadcrumbNav ref={containerRef} aria-label={t("breadcrumb.breadcrumb")}>
74
41
  <StyledList ref={olRef}>
75
42
  {items.map((item, index) => (
76
43
  <BreadcrumbItem
77
- autoCollapse={autoCollapse}
78
44
  renderItem={renderItem}
79
45
  renderSeparator={renderSeparator}
80
46
  ref={(element) => {
@@ -86,9 +52,6 @@ const Breadcrumb = ({
86
52
  if (element) {
87
53
  element.setMaxWidth("none");
88
54
  }
89
- breadcrumbItemRefs.delete(item.to);
90
- } else {
91
- breadcrumbItemRefs.set(item.to, element);
92
55
  }
93
56
  }}
94
57
  key={typeof item.to === "string" ? item.to : item.to.pathname}
@@ -7,7 +7,6 @@
7
7
  */
8
8
 
9
9
  import { useRef, useImperativeHandle, ReactNode, forwardRef } from "react";
10
- import { css } from "@emotion/react";
11
10
  import styled from "@emotion/styled";
12
11
  import { mq, spacing, breakpoints } from "@ndla/core";
13
12
  import { ChevronRight } from "@ndla/icons/common";
@@ -38,27 +37,14 @@ const StyledListItem = styled.li<AutoCollapseProps>`
38
37
  :before {
39
38
  display: none;
40
39
  }
41
-
42
- ${({ autoCollapse }) =>
43
- !autoCollapse &&
44
- css`
45
- ${mq.range({ until: breakpoints.tablet })} {
46
- display: block;
47
- }
48
- `}
40
+ ${mq.range({ until: breakpoints.tablet })} {
41
+ display: block;
42
+ }
49
43
  `;
50
44
 
51
- const CollapseContainer = styled.div<AutoCollapseProps>`
45
+ const CollapseContainer = styled.div`
52
46
  display: inline-block;
53
47
  color: inherit;
54
- ${({ autoCollapse }) =>
55
- autoCollapse &&
56
- css`
57
- text-overflow: ellipsis;
58
- white-space: nowrap;
59
- overflow: hidden;
60
- display: inline-block;
61
- `}
62
48
  `;
63
49
 
64
50
  const StyledChevron = styled(ChevronRight)`
@@ -92,7 +78,7 @@ const BreadcrumbItem = forwardRef<any, Props>(
92
78
  const isLast = index === totalCount - 1;
93
79
  return (
94
80
  <StyledListItem ref={liRef} autoCollapse={autoCollapse} aria-current={isLast ? "page" : undefined}>
95
- <CollapseContainer autoCollapse={autoCollapse}>
81
+ <CollapseContainer>
96
82
  {renderItem ? (
97
83
  renderItem(item, totalCount)
98
84
  ) : isLast ? (
@@ -10,8 +10,6 @@ import Breadcrumb from "./Breadcrumb";
10
10
 
11
11
  export type { SimpleBreadcrumbItem, IndexedBreadcrumbItem } from "./BreadcrumbItem";
12
12
 
13
- export { default as HeaderBreadcrumb } from "./HeaderBreadcrumb";
14
-
15
13
  export { default as HomeBreadcrumb } from "./HomeBreadcrumb";
16
14
 
17
15
  export default Breadcrumb;