@ndla/ui 30.0.2 → 30.0.6

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 (518) hide show
  1. package/es/Animation/DisplayOnPageYOffset.js +6 -4
  2. package/es/Animation/Fade.js +12 -6
  3. package/es/Article/Article.js +91 -68
  4. package/es/Article/ArticleAccessMessage.js +12 -8
  5. package/es/Article/ArticleByline.js +88 -70
  6. package/es/Article/ArticleContent.js +8 -3
  7. package/es/Article/ArticleFavoritesButton.js +18 -16
  8. package/es/Article/ArticleFootNotes.js +28 -20
  9. package/es/Article/ArticleHeaderWrapper.js +42 -29
  10. package/es/Article/ArticleNotions.js +58 -50
  11. package/es/Article/ArticleSideBar.js +53 -43
  12. package/es/Aside/Aside.js +13 -5
  13. package/es/AudioPlayer/AudioPlayer.js +99 -93
  14. package/es/AudioPlayer/Controls.js +181 -192
  15. package/es/AudioPlayer/SpeechControl.js +20 -18
  16. package/es/AudioPlayer/initAudioPlayers.js +4 -3
  17. package/es/AuthorInfo/AuthorInfo.js +23 -17
  18. package/es/BannerCard/BannerCard.js +27 -29
  19. package/es/BlogPosts/BlogPost.js +33 -28
  20. package/es/BlogPosts/BlogPostWrapper.js +6 -7
  21. package/es/Breadcrumb/ActionBreadcrumb.js +22 -34
  22. package/es/Breadcrumb/Breadcrumb.js +30 -33
  23. package/es/Breadcrumb/BreadcrumbItem.js +24 -28
  24. package/es/Breadcrumb/HeaderBreadcrumb.js +18 -29
  25. package/es/Breadcrumb/HomeBreadcrumb.js +28 -43
  26. package/es/Breadcrumblist/Breadcrumblist.js +62 -61
  27. package/es/CompetenceGoalTab/CompetenceGoalItem.js +33 -34
  28. package/es/CompetenceGoalTab/CompetenceGoalTab.js +44 -40
  29. package/es/CompetenceGoalTab/CompetenceItem.js +66 -63
  30. package/es/CompetenceGoalTab/SearchButton.js +20 -16
  31. package/es/CompetenceGoals/CompetenceGoalsDialog.js +41 -29
  32. package/es/ComponentCursor/ComponentCursor.js +19 -34
  33. package/es/ContentCard/ContentCard.js +38 -35
  34. package/es/ContentLoader/index.js +57 -43
  35. package/es/ContentPlaceholder/ContentPlaceholder.js +8 -11
  36. package/es/ContentTypeBadge/ContentTypeBadge.js +27 -20
  37. package/es/CopyParagraphButton/CopyParagraphButton.js +32 -30
  38. package/es/CopyParagraphButton/initCopyParagraphButtons.js +3 -2
  39. package/es/CreatedBy/CreatedBy.js +24 -23
  40. package/es/Dialog/Dialog.js +23 -12
  41. package/es/ErrorMessage/ErrorMessage.js +46 -34
  42. package/es/ErrorMessage/ErrorResourceAccessDenied.js +14 -13
  43. package/es/FactBox/FactBox.js +20 -11
  44. package/es/Figure/Figure.js +72 -34
  45. package/es/Figure/FigureBylineExpandButton.js +11 -8
  46. package/es/Figure/FigureExpandButton.js +11 -8
  47. package/es/Figure/FigureLicense.js +42 -24
  48. package/es/Figure/FigureLicenseDialog.js +27 -15
  49. package/es/Figure/FigureOpenDialogButton.js +29 -26
  50. package/es/FileList/File.js +24 -22
  51. package/es/FileList/FileList.js +17 -17
  52. package/es/Filter/FilterButtons.js +112 -87
  53. package/es/Filter/FilterCarousel.js +52 -48
  54. package/es/Filter/FilterList.js +74 -51
  55. package/es/Filter/FilterListPhone.js +152 -110
  56. package/es/Filter/ToggleItem.js +24 -13
  57. package/es/Footer/EditorName.js +8 -2
  58. package/es/Footer/Footer.js +40 -34
  59. package/es/Footer/FooterAuth.js +51 -54
  60. package/es/Footer/FooterLinks.js +43 -36
  61. package/es/Footer/FooterPrivacy.js +30 -24
  62. package/es/Footer/FooterText.js +5 -5
  63. package/es/Footer/privacy_en.js +36 -2
  64. package/es/Footer/privacy_nb.js +36 -2
  65. package/es/Footer/privacy_nn.js +34 -2
  66. package/es/Frontpage/FrontpageAllSubjects.js +75 -64
  67. package/es/Frontpage/FrontpageFilm.js +27 -27
  68. package/es/Frontpage/FrontpageHeader.js +20 -21
  69. package/es/Frontpage/FrontpageInfo.js +5 -5
  70. package/es/Frontpage/FrontpageMultidisciplinarySubject.js +41 -40
  71. package/es/Frontpage/FrontpageProgramMenu.js +53 -53
  72. package/es/Frontpage/FrontpageSearch.js +42 -41
  73. package/es/Frontpage/FrontpageToolbox.js +29 -27
  74. package/es/Frontpage/illustrations/Fellesfag.js +85 -81
  75. package/es/Frontpage/illustrations/FrontpageHeaderIllustration.js +100 -87
  76. package/es/Frontpage/illustrations/FrontpageIllustrations.js +2 -6
  77. package/es/Frontpage/illustrations/FrontpageSubjectIllustration.js +162 -155
  78. package/es/Frontpage/illustrations/MenuFellesfag.js +66 -61
  79. package/es/Frontpage/illustrations/MenuStudiespesialiserende.js +63 -59
  80. package/es/Frontpage/illustrations/MenuYrkesfag.js +93 -89
  81. package/es/Frontpage/illustrations/Studiespesialiserende.js +73 -69
  82. package/es/Frontpage/illustrations/Yrkesfag.js +104 -100
  83. package/es/Hero/Hero.js +17 -10
  84. package/es/Image/Image.js +35 -24
  85. package/es/Image/ImageLink.js +11 -7
  86. package/es/Image/LazyLoadImage.js +29 -21
  87. package/es/InfoBlock/InfoBlock.js +18 -17
  88. package/es/InfoBox/InfoBox.js +5 -5
  89. package/es/InfoWidget/InfoWidget.js +54 -58
  90. package/es/LanguageSelector/LanguageSelector.js +54 -67
  91. package/es/LanguageSelector/LanguageSelectorContent.js +30 -32
  92. package/es/Layout/Content.js +6 -4
  93. package/es/Layout/LayoutItem.js +18 -13
  94. package/es/Layout/OneColumn.js +6 -4
  95. package/es/Layout/PageContainer.js +12 -3
  96. package/es/LearningPaths/LearningPathContent.js +5 -5
  97. package/es/LearningPaths/LearningPathInformation.js +25 -25
  98. package/es/LearningPaths/LearningPathLastStepNavigation.js +32 -28
  99. package/es/LearningPaths/LearningPathMenu.js +48 -47
  100. package/es/LearningPaths/LearningPathMenuAside.js +30 -43
  101. package/es/LearningPaths/LearningPathMenuAsideCopyright.js +16 -15
  102. package/es/LearningPaths/LearningPathMenuContent.js +38 -39
  103. package/es/LearningPaths/LearningPathMenuIntro.js +25 -31
  104. package/es/LearningPaths/LearningPathMenuModalWrapper.js +29 -18
  105. package/es/LearningPaths/LearningPathMobileHeader.js +12 -19
  106. package/es/LearningPaths/LearningPathMobileStepInfo.js +8 -8
  107. package/es/LearningPaths/LearningPathSticky.js +22 -22
  108. package/es/LearningPaths/LearningPathWrapper.js +8 -13
  109. package/es/Logo/Logo.js +25 -12
  110. package/es/Logo/SvgLogo.js +25 -18
  111. package/es/Masthead/Masthead.js +34 -38
  112. package/es/Masthead/MastheadAuthModal.js +13 -9
  113. package/es/Masthead/MastheadSearchModal.js +31 -32
  114. package/es/Masthead/SkipToMainContent.js +6 -7
  115. package/es/MediaList/MediaList.js +58 -38
  116. package/es/Messages/MessageBanner.js +15 -19
  117. package/es/Messages/MessageBox.js +41 -50
  118. package/es/Messages/MessageBoxTag.js +5 -5
  119. package/es/MultidisciplinarySubject/Illustrations.js +7 -21
  120. package/es/MultidisciplinarySubject/List.js +19 -16
  121. package/es/MultidisciplinarySubject/ListItem.js +30 -32
  122. package/es/MultidisciplinarySubject/MultidisciplinarySubject.js +40 -34
  123. package/es/MultidisciplinarySubject/MultidisciplinarySubjectHeader.js +37 -33
  124. package/es/MyNdla/Resource/Folder.js +46 -63
  125. package/es/MyNdla/Resource/FolderInput.js +40 -38
  126. package/es/NDLAFilm/AboutNdlaFilm.js +38 -21
  127. package/es/NDLAFilm/AllMoviesAlphabetically.js +47 -55
  128. package/es/NDLAFilm/CategorySelect.js +64 -52
  129. package/es/NDLAFilm/FilmContentCard.js +25 -26
  130. package/es/NDLAFilm/FilmContentCardTags.js +10 -12
  131. package/es/NDLAFilm/FilmMovieList.js +28 -23
  132. package/es/NDLAFilm/FilmMovieSearch.js +33 -24
  133. package/es/NDLAFilm/FilmSlideshow.js +73 -59
  134. package/es/NDLAFilm/MovieGrid.js +26 -23
  135. package/es/NDLAFilm/NavigationArrow.js +19 -29
  136. package/es/NDLAFilm/SlideshowIndicator.js +15 -17
  137. package/es/NDLAFilm/VisualElement.js +4 -6
  138. package/es/NDLAFilm/filmStyles.js +2 -6
  139. package/es/Navigation/NavigationBox.js +90 -111
  140. package/es/Navigation/NavigationHeading.js +15 -15
  141. package/es/Navigation/NavigationTopicAbout.js +60 -57
  142. package/es/NoContentBox/NoContentBox.js +16 -5
  143. package/es/Notion/ConceptNotion.js +68 -55
  144. package/es/Notion/FigureNotion.js +40 -41
  145. package/es/Notion/Notion.js +23 -20
  146. package/es/Notion/NotionImage.js +18 -19
  147. package/es/Notion/NotionVisualElement.js +18 -17
  148. package/es/Portrait/Portrait.js +12 -21
  149. package/es/Programme/Programme.js +32 -27
  150. package/es/Programme/ProgrammeSubjects.js +27 -22
  151. package/es/RadioButtonGroup/RadioButtonGroup.js +31 -32
  152. package/es/RelatedArticleList/RelatedArticleList.js +42 -22
  153. package/es/Resource/BlockResource.js +85 -84
  154. package/es/Resource/ListResource.js +107 -108
  155. package/es/Resource/resourceComponents.js +56 -76
  156. package/es/ResourceBox/ResourceBox.js +28 -30
  157. package/es/ResourceGroup/ResourceGroup.js +21 -21
  158. package/es/ResourceGroup/ResourceItem.js +77 -79
  159. package/es/ResourceGroup/ResourceList.js +35 -32
  160. package/es/ResourcesWrapper/ResourcesTitle.js +17 -5
  161. package/es/ResourcesWrapper/ResourcesTopicTitle.js +76 -49
  162. package/es/ResourcesWrapper/ResourcesWrapper.js +15 -6
  163. package/es/Search/ActiveFilterContent.js +10 -10
  164. package/es/Search/ActiveFilters.js +33 -43
  165. package/es/Search/ContentTypeResult.js +96 -69
  166. package/es/Search/ContentTypeResultStyles.js +15 -59
  167. package/es/Search/LoadingWrapper.js +12 -7
  168. package/es/Search/SearchField.js +55 -50
  169. package/es/Search/SearchFieldForm.js +9 -18
  170. package/es/Search/SearchResult.js +101 -73
  171. package/es/Search/SearchResultSleeve.js +78 -64
  172. package/es/Search/ToggleSearchButton.js +15 -10
  173. package/es/SearchTypeResult/ActiveFilterContent.js +10 -10
  174. package/es/SearchTypeResult/ActiveFilters.js +50 -53
  175. package/es/SearchTypeResult/PopupFilter.js +68 -65
  176. package/es/SearchTypeResult/ResultNavigation.js +29 -28
  177. package/es/SearchTypeResult/SearchFieldHeader.js +53 -57
  178. package/es/SearchTypeResult/SearchFilterContent.js +19 -18
  179. package/es/SearchTypeResult/SearchHeader.js +60 -48
  180. package/es/SearchTypeResult/SearchItem.js +52 -45
  181. package/es/SearchTypeResult/SearchItemList.js +56 -54
  182. package/es/SearchTypeResult/SearchItems.js +16 -18
  183. package/es/SearchTypeResult/SearchNotionItem.js +86 -77
  184. package/es/SearchTypeResult/SearchNotionsResult.js +20 -19
  185. package/es/SearchTypeResult/SearchSubjectItem.js +19 -15
  186. package/es/SearchTypeResult/SearchSubjectResult.js +10 -12
  187. package/es/SearchTypeResult/SearchTypeHeader.js +53 -51
  188. package/es/SearchTypeResult/SearchTypeResult.js +24 -17
  189. package/es/SearchTypeResult/SearchViewType.js +42 -39
  190. package/es/SearchTypeResult/components/ItemContexts.js +65 -58
  191. package/es/SearchTypeResult/components/ItemResourceHeader.js +41 -38
  192. package/es/SearchTypeResult/components/ItemTopicHeader.js +24 -23
  193. package/es/SearchTypeResult/components/SubjectFilters.js +32 -21
  194. package/es/SectionHeading/SectionHeading.js +9 -16
  195. package/es/SnackBar/DefaultSnackbar.js +18 -18
  196. package/es/SnackBar/SnackbarProvider.js +24 -26
  197. package/es/Subject/Subject.js +52 -54
  198. package/es/Subject/SubjectAbout.js +27 -36
  199. package/es/Subject/SubjectArchive.js +64 -57
  200. package/es/Subject/SubjectBanner.js +3 -5
  201. package/es/Subject/SubjectCarousel.js +94 -93
  202. package/es/Subject/SubjectHeader.js +20 -25
  203. package/es/Subject/SubjectLinks.js +26 -15
  204. package/es/Subject/SubjectNewContent.js +37 -35
  205. package/es/Subject/SubjectShortcuts.js +32 -27
  206. package/es/Subject/SubjectSocial.js +12 -9
  207. package/es/Table/Table.js +39 -21
  208. package/es/TagSelector/Control.js +11 -14
  209. package/es/TagSelector/DropdownIndicator.js +15 -11
  210. package/es/TagSelector/Input.js +9 -8
  211. package/es/TagSelector/Menu.js +12 -9
  212. package/es/TagSelector/MenuList.js +11 -14
  213. package/es/TagSelector/Option.js +13 -10
  214. package/es/TagSelector/SelectContainer.js +11 -12
  215. package/es/TagSelector/TagSelector.js +49 -50
  216. package/es/TagSelector/ValueButton.js +15 -9
  217. package/es/ToolboxPage/ToolboxInfo.js +18 -14
  218. package/es/Topic/Loader.js +97 -95
  219. package/es/Topic/Topic.js +128 -121
  220. package/es/TopicIntroductionList/TopicIntroduction.js +51 -36
  221. package/es/TopicIntroductionList/TopicIntroductionList.js +29 -22
  222. package/es/TopicIntroductionList/TopicIntroductionShortcuts.js +29 -16
  223. package/es/TopicIntroductionList/TopicShortcutItem.js +22 -12
  224. package/es/TopicMenu/SubtopicLinkList.js +109 -101
  225. package/es/TopicMenu/TopicMenu.js +202 -139
  226. package/es/TopicMenu/TopicMenuButton.js +14 -10
  227. package/es/Translation/Translation.js +16 -2
  228. package/es/Translation/TranslationBox.js +10 -8
  229. package/es/Translation/TranslationLine.js +23 -7
  230. package/es/TreeStructure/AddFolderButton.js +33 -34
  231. package/es/TreeStructure/ComboboxButton.js +32 -32
  232. package/es/TreeStructure/FolderItem.js +55 -58
  233. package/es/TreeStructure/FolderItems.js +59 -51
  234. package/es/TreeStructure/NavigationLink.js +10 -17
  235. package/es/TreeStructure/TreeStructure.js +64 -75
  236. package/es/User/AuthModal.js +48 -45
  237. package/es/User/UserInfo.js +51 -40
  238. package/es/internal-icons/Book.js +8 -6
  239. package/es/internal-icons/Download.js +9 -7
  240. package/es/internal-icons/Embed.js +8 -6
  241. package/es/internal-icons/InsertTemplate.js +8 -6
  242. package/es/internal-icons/OpenWindow.js +8 -6
  243. package/es/locale/LocaleProvider.js +13 -7
  244. package/es/locale/messages-en.js +1 -1
  245. package/es/locale/messages-nb.js +1 -1
  246. package/es/locale/messages-nn.js +1 -1
  247. package/es/locale/messages-se.js +1 -1
  248. package/es/locale/messages-sma.js +1 -1
  249. package/es/model/SubjectTypes.js +1 -0
  250. package/es/utils/createUniversalPortal.js +6 -4
  251. package/lib/Animation/DisplayOnPageYOffset.js +6 -5
  252. package/lib/Animation/Fade.js +12 -7
  253. package/lib/Article/Article.js +91 -69
  254. package/lib/Article/ArticleAccessMessage.js +11 -9
  255. package/lib/Article/ArticleByline.js +87 -71
  256. package/lib/Article/ArticleContent.js +8 -4
  257. package/lib/Article/ArticleFavoritesButton.js +18 -17
  258. package/lib/Article/ArticleFootNotes.js +27 -21
  259. package/lib/Article/ArticleHeaderWrapper.js +42 -30
  260. package/lib/Article/ArticleNotions.js +58 -51
  261. package/lib/Article/ArticleSideBar.js +52 -44
  262. package/lib/Aside/Aside.js +13 -6
  263. package/lib/AudioPlayer/AudioPlayer.js +98 -94
  264. package/lib/AudioPlayer/Controls.js +181 -193
  265. package/lib/AudioPlayer/SpeechControl.js +20 -19
  266. package/lib/AudioPlayer/initAudioPlayers.js +4 -4
  267. package/lib/AuthorInfo/AuthorInfo.js +23 -18
  268. package/lib/BannerCard/BannerCard.js +27 -30
  269. package/lib/BlogPosts/BlogPost.js +32 -29
  270. package/lib/BlogPosts/BlogPostWrapper.js +7 -8
  271. package/lib/Breadcrumb/ActionBreadcrumb.js +23 -34
  272. package/lib/Breadcrumb/Breadcrumb.js +31 -34
  273. package/lib/Breadcrumb/BreadcrumbItem.js +24 -27
  274. package/lib/Breadcrumb/HeaderBreadcrumb.js +18 -29
  275. package/lib/Breadcrumb/HomeBreadcrumb.js +29 -37
  276. package/lib/Breadcrumblist/Breadcrumblist.js +61 -62
  277. package/lib/CompetenceGoalTab/CompetenceGoalItem.js +33 -35
  278. package/lib/CompetenceGoalTab/CompetenceGoalTab.js +44 -41
  279. package/lib/CompetenceGoalTab/CompetenceItem.js +65 -64
  280. package/lib/CompetenceGoalTab/SearchButton.js +20 -17
  281. package/lib/CompetenceGoals/CompetenceGoalsDialog.js +40 -30
  282. package/lib/ComponentCursor/ComponentCursor.js +19 -33
  283. package/lib/ContentCard/ContentCard.js +38 -36
  284. package/lib/ContentLoader/index.js +56 -44
  285. package/lib/ContentPlaceholder/ContentPlaceholder.js +8 -12
  286. package/lib/ContentTypeBadge/ContentTypeBadge.js +27 -21
  287. package/lib/CopyParagraphButton/CopyParagraphButton.js +32 -31
  288. package/lib/CopyParagraphButton/initCopyParagraphButtons.js +3 -3
  289. package/lib/CreatedBy/CreatedBy.js +24 -24
  290. package/lib/Dialog/Dialog.js +22 -13
  291. package/lib/ErrorMessage/ErrorMessage.js +46 -33
  292. package/lib/ErrorMessage/ErrorResourceAccessDenied.js +14 -14
  293. package/lib/FactBox/FactBox.js +19 -12
  294. package/lib/Figure/Figure.js +70 -35
  295. package/lib/Figure/FigureBylineExpandButton.js +10 -9
  296. package/lib/Figure/FigureExpandButton.js +10 -9
  297. package/lib/Figure/FigureLicense.js +40 -25
  298. package/lib/Figure/FigureLicenseDialog.js +26 -16
  299. package/lib/Figure/FigureOpenDialogButton.js +28 -27
  300. package/lib/FileList/File.js +24 -23
  301. package/lib/FileList/FileList.js +17 -18
  302. package/lib/Filter/FilterButtons.js +111 -88
  303. package/lib/Filter/FilterCarousel.js +52 -47
  304. package/lib/Filter/FilterList.js +73 -53
  305. package/lib/Filter/FilterListPhone.js +150 -111
  306. package/lib/Filter/ToggleItem.js +23 -14
  307. package/lib/Footer/EditorName.js +7 -3
  308. package/lib/Footer/Footer.js +39 -35
  309. package/lib/Footer/FooterAuth.js +50 -48
  310. package/lib/Footer/FooterLinks.js +42 -37
  311. package/lib/Footer/FooterPrivacy.js +30 -25
  312. package/lib/Footer/FooterText.js +6 -6
  313. package/lib/Footer/privacy_en.js +35 -3
  314. package/lib/Footer/privacy_nb.js +35 -3
  315. package/lib/Footer/privacy_nn.js +33 -3
  316. package/lib/Frontpage/FrontpageAllSubjects.d.ts +1 -0
  317. package/lib/Frontpage/FrontpageAllSubjects.js +74 -66
  318. package/lib/Frontpage/FrontpageFilm.js +27 -26
  319. package/lib/Frontpage/FrontpageHeader.js +20 -22
  320. package/lib/Frontpage/FrontpageInfo.js +6 -6
  321. package/lib/Frontpage/FrontpageMultidisciplinarySubject.js +41 -41
  322. package/lib/Frontpage/FrontpageProgramMenu.js +53 -54
  323. package/lib/Frontpage/FrontpageSearch.js +42 -42
  324. package/lib/Frontpage/FrontpageToolbox.js +29 -28
  325. package/lib/Frontpage/illustrations/Fellesfag.js +84 -82
  326. package/lib/Frontpage/illustrations/FrontpageHeaderIllustration.js +99 -88
  327. package/lib/Frontpage/illustrations/FrontpageIllustrations.js +2 -6
  328. package/lib/Frontpage/illustrations/FrontpageSubjectIllustration.js +161 -154
  329. package/lib/Frontpage/illustrations/MenuFellesfag.js +65 -62
  330. package/lib/Frontpage/illustrations/MenuStudiespesialiserende.js +62 -60
  331. package/lib/Frontpage/illustrations/MenuYrkesfag.js +92 -90
  332. package/lib/Frontpage/illustrations/Studiespesialiserende.js +72 -70
  333. package/lib/Frontpage/illustrations/Yrkesfag.js +103 -101
  334. package/lib/Hero/Hero.js +17 -11
  335. package/lib/Image/Image.js +35 -25
  336. package/lib/Image/ImageLink.js +12 -8
  337. package/lib/Image/LazyLoadImage.js +27 -22
  338. package/lib/InfoBlock/InfoBlock.js +18 -18
  339. package/lib/InfoBox/InfoBox.js +6 -6
  340. package/lib/InfoWidget/InfoWidget.js +56 -59
  341. package/lib/LanguageSelector/LanguageSelector.js +54 -66
  342. package/lib/LanguageSelector/LanguageSelectorContent.js +30 -32
  343. package/lib/Layout/Content.js +6 -5
  344. package/lib/Layout/LayoutItem.js +18 -14
  345. package/lib/Layout/OneColumn.js +6 -5
  346. package/lib/Layout/PageContainer.js +12 -11
  347. package/lib/LearningPaths/LearningPathContent.js +6 -6
  348. package/lib/LearningPaths/LearningPathInformation.js +25 -26
  349. package/lib/LearningPaths/LearningPathLastStepNavigation.js +32 -27
  350. package/lib/LearningPaths/LearningPathMenu.js +47 -46
  351. package/lib/LearningPaths/LearningPathMenuAside.js +30 -42
  352. package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +16 -16
  353. package/lib/LearningPaths/LearningPathMenuContent.js +38 -38
  354. package/lib/LearningPaths/LearningPathMenuIntro.js +25 -30
  355. package/lib/LearningPaths/LearningPathMenuModalWrapper.js +27 -17
  356. package/lib/LearningPaths/LearningPathMobileHeader.js +12 -19
  357. package/lib/LearningPaths/LearningPathMobileStepInfo.js +9 -9
  358. package/lib/LearningPaths/LearningPathSticky.js +22 -21
  359. package/lib/LearningPaths/LearningPathWrapper.js +9 -12
  360. package/lib/Logo/Logo.js +23 -21
  361. package/lib/Logo/SvgLogo.js +24 -19
  362. package/lib/Masthead/Masthead.js +33 -37
  363. package/lib/Masthead/MastheadAuthModal.js +13 -10
  364. package/lib/Masthead/MastheadSearchModal.js +30 -31
  365. package/lib/Masthead/SkipToMainContent.js +7 -8
  366. package/lib/MediaList/MediaList.js +58 -40
  367. package/lib/Messages/MessageBanner.js +15 -20
  368. package/lib/Messages/MessageBox.js +41 -49
  369. package/lib/Messages/MessageBoxTag.js +6 -6
  370. package/lib/MultidisciplinarySubject/Illustrations.js +7 -21
  371. package/lib/MultidisciplinarySubject/List.js +19 -17
  372. package/lib/MultidisciplinarySubject/ListItem.js +30 -33
  373. package/lib/MultidisciplinarySubject/MultidisciplinarySubject.js +39 -35
  374. package/lib/MultidisciplinarySubject/MultidisciplinarySubjectHeader.js +36 -34
  375. package/lib/MyNdla/Resource/Folder.js +46 -61
  376. package/lib/MyNdla/Resource/FolderInput.js +39 -32
  377. package/lib/NDLAFilm/AboutNdlaFilm.js +38 -22
  378. package/lib/NDLAFilm/AllMoviesAlphabetically.js +47 -54
  379. package/lib/NDLAFilm/CategorySelect.js +64 -51
  380. package/lib/NDLAFilm/FilmContentCard.js +25 -27
  381. package/lib/NDLAFilm/FilmContentCardTags.js +11 -13
  382. package/lib/NDLAFilm/FilmMovieList.js +28 -24
  383. package/lib/NDLAFilm/FilmMovieSearch.js +33 -25
  384. package/lib/NDLAFilm/FilmSlideshow.js +72 -58
  385. package/lib/NDLAFilm/MovieGrid.js +26 -24
  386. package/lib/NDLAFilm/NavigationArrow.js +20 -28
  387. package/lib/NDLAFilm/SlideshowIndicator.js +16 -18
  388. package/lib/NDLAFilm/VisualElement.js +5 -7
  389. package/lib/NDLAFilm/filmStyles.js +2 -6
  390. package/lib/Navigation/NavigationBox.js +90 -110
  391. package/lib/Navigation/NavigationHeading.js +15 -14
  392. package/lib/Navigation/NavigationTopicAbout.js +59 -56
  393. package/lib/NoContentBox/NoContentBox.js +15 -6
  394. package/lib/Notion/ConceptNotion.js +67 -50
  395. package/lib/Notion/FigureNotion.js +40 -37
  396. package/lib/Notion/Notion.js +22 -21
  397. package/lib/Notion/NotionImage.js +19 -20
  398. package/lib/Notion/NotionVisualElement.js +19 -16
  399. package/lib/Portrait/Portrait.js +13 -21
  400. package/lib/Programme/Programme.js +32 -28
  401. package/lib/Programme/ProgrammeSubjects.js +26 -23
  402. package/lib/RadioButtonGroup/RadioButtonGroup.js +31 -33
  403. package/lib/RelatedArticleList/RelatedArticleList.js +41 -23
  404. package/lib/Resource/BlockResource.js +84 -78
  405. package/lib/Resource/ListResource.js +106 -102
  406. package/lib/Resource/resourceComponents.js +55 -70
  407. package/lib/ResourceBox/ResourceBox.js +28 -31
  408. package/lib/ResourceGroup/ResourceGroup.js +21 -22
  409. package/lib/ResourceGroup/ResourceItem.js +76 -78
  410. package/lib/ResourceGroup/ResourceList.js +35 -31
  411. package/lib/ResourcesWrapper/ResourcesTitle.js +16 -13
  412. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +75 -48
  413. package/lib/ResourcesWrapper/ResourcesWrapper.js +14 -7
  414. package/lib/Search/ActiveFilterContent.js +10 -11
  415. package/lib/Search/ActiveFilters.js +34 -42
  416. package/lib/Search/ContentTypeResult.js +92 -68
  417. package/lib/Search/ContentTypeResultStyles.js +15 -59
  418. package/lib/Search/LoadingWrapper.js +12 -8
  419. package/lib/Search/SearchField.js +57 -51
  420. package/lib/Search/SearchFieldForm.js +10 -17
  421. package/lib/Search/SearchResult.js +101 -74
  422. package/lib/Search/SearchResultSleeve.js +78 -65
  423. package/lib/Search/ToggleSearchButton.js +15 -11
  424. package/lib/SearchTypeResult/ActiveFilterContent.js +10 -11
  425. package/lib/SearchTypeResult/ActiveFilters.js +50 -52
  426. package/lib/SearchTypeResult/PopupFilter.js +68 -66
  427. package/lib/SearchTypeResult/ResultNavigation.js +29 -29
  428. package/lib/SearchTypeResult/SearchFieldHeader.js +53 -58
  429. package/lib/SearchTypeResult/SearchFilterContent.js +19 -19
  430. package/lib/SearchTypeResult/SearchHeader.js +59 -49
  431. package/lib/SearchTypeResult/SearchItem.js +51 -46
  432. package/lib/SearchTypeResult/SearchItemList.js +55 -55
  433. package/lib/SearchTypeResult/SearchItems.js +17 -19
  434. package/lib/SearchTypeResult/SearchNotionItem.js +85 -78
  435. package/lib/SearchTypeResult/SearchNotionsResult.js +20 -20
  436. package/lib/SearchTypeResult/SearchSubjectItem.js +18 -16
  437. package/lib/SearchTypeResult/SearchSubjectResult.js +11 -13
  438. package/lib/SearchTypeResult/SearchTypeHeader.js +54 -53
  439. package/lib/SearchTypeResult/SearchTypeResult.js +24 -25
  440. package/lib/SearchTypeResult/SearchViewType.js +42 -40
  441. package/lib/SearchTypeResult/components/ItemContexts.js +64 -59
  442. package/lib/SearchTypeResult/components/ItemResourceHeader.js +40 -39
  443. package/lib/SearchTypeResult/components/ItemTopicHeader.js +23 -24
  444. package/lib/SearchTypeResult/components/SubjectFilters.js +31 -22
  445. package/lib/SectionHeading/SectionHeading.js +10 -15
  446. package/lib/SnackBar/DefaultSnackbar.js +18 -19
  447. package/lib/SnackBar/SnackbarProvider.js +24 -25
  448. package/lib/Subject/Subject.js +52 -53
  449. package/lib/Subject/SubjectAbout.js +27 -35
  450. package/lib/Subject/SubjectArchive.js +63 -58
  451. package/lib/Subject/SubjectBanner.js +4 -6
  452. package/lib/Subject/SubjectCarousel.js +96 -96
  453. package/lib/Subject/SubjectHeader.js +20 -24
  454. package/lib/Subject/SubjectLinks.js +26 -16
  455. package/lib/Subject/SubjectNewContent.js +37 -36
  456. package/lib/Subject/SubjectShortcuts.js +32 -28
  457. package/lib/Subject/SubjectSocial.js +12 -10
  458. package/lib/Table/Table.js +38 -22
  459. package/lib/TagSelector/Control.js +12 -8
  460. package/lib/TagSelector/DropdownIndicator.js +16 -12
  461. package/lib/TagSelector/Input.js +8 -6
  462. package/lib/TagSelector/Menu.js +12 -8
  463. package/lib/TagSelector/MenuList.js +12 -8
  464. package/lib/TagSelector/Option.js +13 -11
  465. package/lib/TagSelector/SelectContainer.js +12 -13
  466. package/lib/TagSelector/TagSelector.js +49 -51
  467. package/lib/TagSelector/ValueButton.js +15 -10
  468. package/lib/ToolboxPage/ToolboxInfo.js +17 -15
  469. package/lib/Topic/Loader.js +97 -96
  470. package/lib/Topic/Topic.js +127 -120
  471. package/lib/TopicIntroductionList/TopicIntroduction.js +50 -37
  472. package/lib/TopicIntroductionList/TopicIntroductionList.js +28 -23
  473. package/lib/TopicIntroductionList/TopicIntroductionShortcuts.js +33 -21
  474. package/lib/TopicIntroductionList/TopicShortcutItem.js +21 -13
  475. package/lib/TopicMenu/SubtopicLinkList.js +112 -104
  476. package/lib/TopicMenu/TopicMenu.js +207 -144
  477. package/lib/TopicMenu/TopicMenuButton.js +13 -9
  478. package/lib/Translation/Translation.js +15 -10
  479. package/lib/Translation/TranslationBox.js +11 -9
  480. package/lib/Translation/TranslationLine.js +21 -8
  481. package/lib/TreeStructure/AddFolderButton.js +35 -37
  482. package/lib/TreeStructure/ComboboxButton.js +32 -33
  483. package/lib/TreeStructure/FolderItem.js +55 -59
  484. package/lib/TreeStructure/FolderItems.js +58 -52
  485. package/lib/TreeStructure/NavigationLink.js +10 -11
  486. package/lib/TreeStructure/TreeStructure.js +64 -74
  487. package/lib/User/AuthModal.js +48 -46
  488. package/lib/User/UserInfo.js +52 -36
  489. package/lib/internal-icons/Book.js +8 -7
  490. package/lib/internal-icons/Download.js +9 -8
  491. package/lib/internal-icons/Embed.js +8 -7
  492. package/lib/internal-icons/InsertTemplate.js +8 -7
  493. package/lib/internal-icons/OpenWindow.js +8 -7
  494. package/lib/locale/LocaleProvider.js +12 -8
  495. package/lib/locale/messages-en.d.ts +1 -0
  496. package/lib/locale/messages-en.js +1 -1
  497. package/lib/locale/messages-nb.d.ts +1 -0
  498. package/lib/locale/messages-nb.js +1 -1
  499. package/lib/locale/messages-nn.d.ts +1 -0
  500. package/lib/locale/messages-nn.js +1 -1
  501. package/lib/locale/messages-se.d.ts +1 -0
  502. package/lib/locale/messages-se.js +1 -1
  503. package/lib/locale/messages-sma.d.ts +1 -0
  504. package/lib/locale/messages-sma.js +1 -1
  505. package/lib/model/SubjectTypes.d.ts +1 -0
  506. package/lib/model/SubjectTypes.js +3 -1
  507. package/lib/utils/createUniversalPortal.js +6 -5
  508. package/package.json +15 -15
  509. package/src/AudioPlayer/Controls.tsx +2 -2
  510. package/src/AudioPlayer/SpeechControl.tsx +2 -2
  511. package/src/Frontpage/FrontpageAllSubjects.tsx +8 -7
  512. package/src/locale/messages-en.ts +1 -0
  513. package/src/locale/messages-nb.ts +1 -0
  514. package/src/locale/messages-nn.ts +1 -0
  515. package/src/locale/messages-se.ts +1 -0
  516. package/src/locale/messages-sma.ts +1 -0
  517. package/src/model/SubjectTypes.ts +1 -0
  518. package/src/.DS_Store +0 -0
@@ -9,7 +9,11 @@ exports["default"] = exports.TopicMenu = exports.renderAdditionalIcon = void 0;
9
9
 
10
10
  var _base = _interopRequireDefault(require("@emotion/styled/base"));
11
11
 
12
- var _react = _interopRequireWildcard(require("react"));
12
+ var _react = require("@emotion/react");
13
+
14
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
+
16
+ var _react2 = _interopRequireWildcard(require("react"));
13
17
 
14
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
19
 
@@ -47,15 +51,17 @@ var _Programme = require("../Programme");
47
51
 
48
52
  var _Messages = require("../Messages");
49
53
 
50
- var _react2 = require("@emotion/react");
51
-
52
54
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
53
55
 
54
56
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
57
 
56
58
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
57
59
 
58
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
60
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
61
+
62
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
63
+
64
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
59
65
 
60
66
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
61
67
 
@@ -73,25 +79,24 @@ var classes = new _reactBemHelper["default"]({
73
79
  name: 'topic-menu',
74
80
  prefix: 'c-'
75
81
  });
76
- var StyledButton = /*#__PURE__*/(0, _base["default"])(_button.ButtonV2, process.env.NODE_ENV === "production" ? {
77
- target: "e1ultzrl0"
78
- } : {
82
+ var StyledButton = /*#__PURE__*/(0, _base["default"])(_button.ButtonV2, {
79
83
  target: "e1ultzrl0",
80
84
  label: "StyledButton"
81
85
  })("padding:", _core.spacing.xsmall, " ", _core.spacing.small, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvcGljTWVudS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNtQyIsImZpbGUiOiJUb3BpY01lbnUuanN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4vLyBDYW4gYmUgcmVtb3ZlZCB3aGVuIHVwZGF0aW5nIHRvIGpzeC1hMTF5IDYueFxuLyogZXNsaW50IGpzeC1hMTF5L25vLW5vbmludGVyYWN0aXZlLWVsZW1lbnQtdG8taW50ZXJhY3RpdmUtcm9sZTogMSAqL1xuXG5pbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEJFTUhlbHBlciBmcm9tICdyZWFjdC1iZW0taGVscGVyJztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgSG9tZSwgQmFjaywgQWRkaXRpb25hbCwgQ2hldnJvblJpZ2h0IH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQG5kbGEvaWNvbnMvYWN0aW9uJztcbmltcG9ydCB7IE1vZGFsSGVhZGVyIH0gZnJvbSAnQG5kbGEvbW9kYWwnO1xuaW1wb3J0IHsgQnV0dG9uVjIgYXMgQnV0dG9uIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCBTYWZlTGluayBmcm9tICdAbmRsYS9zYWZlbGluayc7XG5pbXBvcnQgVG9vbHRpcCBmcm9tICdAbmRsYS90b29sdGlwJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgU3VidG9waWNMaW5rTGlzdCBmcm9tICcuL1N1YnRvcGljTGlua0xpc3QnO1xuaW1wb3J0IHsgVG9waWNTaGFwZSB9IGZyb20gJy4uL3NoYXBlcyc7XG5cbmltcG9ydCBMb2dvIGZyb20gJy4uL0xvZ28nO1xuaW1wb3J0IEZyb250cGFnZUFsbFN1YmplY3RzIGZyb20gJy4uL0Zyb250cGFnZS9Gcm9udHBhZ2VBbGxTdWJqZWN0cyc7XG5pbXBvcnQgTmF2aWdhdGlvbkJveCBmcm9tICcuLi9OYXZpZ2F0aW9uL05hdmlnYXRpb25Cb3gnO1xuaW1wb3J0IHsgUHJvZ3JhbW1lU3ViamVjdHMgfSBmcm9tICcuLi9Qcm9ncmFtbWUnO1xuaW1wb3J0IHsgTWVzc2FnZUJhbm5lciB9IGZyb20gJy4uL01lc3NhZ2VzJztcblxuY29uc3QgY2xhc3NlcyA9IG5ldyBCRU1IZWxwZXIoe1xuICBuYW1lOiAndG9waWMtbWVudScsXG4gIHByZWZpeDogJ2MtJyxcbn0pO1xuXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQoQnV0dG9uKWBcbiAgcGFkZGluZzogJHtzcGFjaW5nLnhzbWFsbH0gJHtzcGFjaW5nLnNtYWxsfTtcbmA7XG5cbmV4cG9ydCBjb25zdCByZW5kZXJBZGRpdGlvbmFsSWNvbiA9IChpc0FkZGl0aW9uYWwsIGxhYmVsKSA9PiB7XG4gIGlmIChpc0FkZGl0aW9uYWwgJiYgbGFiZWwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXAgdG9vbHRpcD17bGFiZWx9IHN0b29sdGlwQ29udGFpbmVyQ2xhc3M9XCJjLXRvcGljLW1lbnVfX3Rvb2x0aXBDb250YWluZXJcIj5cbiAgICAgICAgPEFkZGl0aW9uYWwgY2xhc3NOYW1lPVwiYy1pY29uLS0yMFwiIC8+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKTtcbiAgfVxuICBpZiAoaXNBZGRpdGlvbmFsKSB7XG4gICAgcmV0dXJuIDxBZGRpdGlvbmFsIGNsYXNzTmFtZT1cImMtaWNvbi0tMjAgYy10b3BpYy1tZW51X190b29sdGlwQ29udGFpbmVyXCIgLz47XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBNRU5VX0NVUlJFTlRfU1VCSkVDVCA9ICdzdWJqZWN0JztcbmNvbnN0IE1FTlVfQ1VSUkVOVF9QUk9HUkFNTUUgPSAncHJvZ3JhbW1lJztcbmNvbnN0IE1FTlVfUFJPR1JBTU1FUyA9ICdwcm9ncmFtbWVzJztcbmNvbnN0IE1FTlVfQUxMX1NVQkpFQ1RTID0gJ2FsbFN1YmplY3RzJztcblxuZXhwb3J0IGNvbnN0IFRvcGljTWVudSA9ICh7XG4gIHRvcGljcyxcbiAgdG9Ub3BpYyxcbiAgc3ViamVjdFRpdGxlLFxuICB0b1N1YmplY3QsXG4gIGNsb3NlOiBjbG9zZU1lbnUsXG4gIGV4cGFuZGVkVG9waWNJZCxcbiAgZXhwYW5kZWRTdWJ0b3BpY3NJZCxcbiAgcmVzb3VyY2VUb0xpbmtQcm9wcyxcbiAgaGlkZVNlYXJjaCxcbiAgZGVmYXVsdENvdW50LFxuICBzZWFyY2hGaWVsZENvbXBvbmVudCxcbiAgdG9Gcm9udHBhZ2UsXG4gIGxvY2FsZSxcbiAgb25OYXZpZ2F0ZSxcbiAgc3ViamVjdENhdGVnb3JpZXMsXG4gIHByb2dyYW1tZXMsXG4gIGN1cnJlbnRQcm9ncmFtbWUsXG4gIGluaXRpYWxTZWxlY3RlZE1lbnUsXG4gIG1lc3NhZ2VzLFxuICBjbG9zZUFsZXJ0LFxuICBzZWxlY3RlZEdyYWRlLFxuICBvbkdyYWRlQ2hhbmdlLFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IFtpc05hcnJvd1NjcmVlbiwgc2V0SXNOYXJyb3dTY3JlZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VsZWN0ZWRNZW51LCBzZXRTZWxlY3RlZE1lbnVdID0gdXNlU3RhdGUoKCkgPT4gaW5pdGlhbFNlbGVjdGVkTWVudSB8fCBNRU5VX0NVUlJFTlRfU1VCSkVDVCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzZXRTY3JlZW5TaXplID0gKGluaXRpYWwgPSBmYWxzZSkgPT4ge1xuICAgICAgY29uc3QgaXNOYXJyb3cgPSAod2luZG93LmlubmVyV2lkdGggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSA8IDc2ODtcblxuICAgICAgaWYgKChpbml0aWFsICYmIGlzTmFycm93KSB8fCAhaW5pdGlhbCkge1xuICAgICAgICBzZXRJc05hcnJvd1NjcmVlbihpc05hcnJvdyk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBzZXRTY3JlZW5TaXplRGVib3VuY2VkID0gZGVib3VuY2UoKCkgPT4gc2V0U2NyZWVuU2l6ZShmYWxzZSksIDUwKTtcbiAgICBzZXRTY3JlZW5TaXplKHRydWUpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBzZXRTY3JlZW5TaXplRGVib3VuY2VkKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgc2V0U2NyZWVuU2l6ZURlYm91bmNlZC5jYW5jZWwoKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBzZXRTY3JlZW5TaXplRGVib3VuY2VkKTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZXZlbnQsIHRvcGljSWQpID0+IHtcbiAgICBvbk5hdmlnYXRlKHRvcGljSWQsIG51bGwpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1YnRvcGljRXhwYW5kID0gKHN1YnRvcGljSWQsIGluZGV4KSA9PiB7XG4gICAgb25OYXZpZ2F0ZShleHBhbmRlZFRvcGljSWQsIHN1YnRvcGljSWQsIGluZGV4KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVPbkdvQmFjayA9ICgpID0+IHtcbiAgICBvbk5hdmlnYXRlKGV4cGFuZGVkU3VidG9waWNzSWQubGVuZ3RoID8gZXhwYW5kZWRUb3BpY0lkIDogbnVsbCwgbnVsbCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQnRuS2V5UHJlc3MgPSAoZXZlbnQsIHRvcGljSWQpID0+IHtcbiAgICBpZiAoZXZlbnQuY2hhckNvZGUgPT09IDMyIHx8IGV2ZW50LmNoYXJDb2RlID09PSAxMykge1xuICAgICAgLy8gc3BhY2Ugb3IgZW50ZXJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvbk5hdmlnYXRlKHRvcGljSWQsIG51bGwpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBleHBhbmRlZFRvcGljID0gdG9waWNzLmZpbmQoKHRvcGljKSA9PiB0b3BpYy5pZCA9PT0gZXhwYW5kZWRUb3BpY0lkKTtcblxuICBjb25zdCBjdXJyZW50bHlFeHBhbmRlZFN1YlRvcGljcyA9IFtdO1xuICBpZiAoZXhwYW5kZWRUb3BpYykge1xuICAgIGxldCBjdXJyZW50U3VidG9waWM7XG4gICAgbGV0IGZvdW5kTWF0Y2g7XG4gICAgZXhwYW5kZWRTdWJ0b3BpY3NJZC5mb3JFYWNoKChpZCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICBjdXJyZW50U3VidG9waWMgPSBleHBhbmRlZFRvcGljLnN1YnRvcGljcy5maW5kKCh0b3BpYykgPT4gdG9waWMuaWQgPT09IGlkKTtcbiAgICAgICAgZm91bmRNYXRjaCA9IGN1cnJlbnRTdWJ0b3BpYyA/IDAgOiB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50U3VidG9waWMgPSBjdXJyZW50U3VidG9waWMuc3VidG9waWNzLmZpbmQoKHRvcGljKSA9PiB0b3BpYy5pZCA9PT0gaWQpO1xuICAgICAgICBmb3VuZE1hdGNoICs9IGN1cnJlbnRTdWJ0b3BpYyA/IDEgOiAwO1xuICAgICAgfVxuICAgICAgaWYgKGZvdW5kTWF0Y2ggPT09IGluZGV4KSB7XG4gICAgICAgIGN1cnJlbnRseUV4cGFuZGVkU3ViVG9waWNzW2luZGV4XSA9IGN1cnJlbnRTdWJ0b3BpYztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGhhc0V4cGFuZGVkU3VidG9waWNzID0gY3VycmVudGx5RXhwYW5kZWRTdWJUb3BpY3MubGVuZ3RoID4gMDtcbiAgY29uc3Qgc3ViVG9waWNNb2RpZmllcnMgPSBbJ3N1Yi10b3BpYyddO1xuXG4gIGlmICghaGFzRXhwYW5kZWRTdWJ0b3BpY3MpIHtcbiAgICBzdWJUb3BpY01vZGlmaWVycy5wdXNoKCduby1ib3JkZXInKTtcbiAgfVxuXG4gIGNvbnN0IGRpc2FibGVNYWluID0gaXNOYXJyb3dTY3JlZW4gJiYgZXhwYW5kZWRUb3BpYztcbiAgY29uc3QgZGlzYWJsZVN1YlRvcGljID0gZGlzYWJsZU1haW4gJiYgaGFzRXhwYW5kZWRTdWJ0b3BpY3M7XG5cbiAgY29uc3Qgc2xpZGVyQ291bnRlciA9ICFleHBhbmRlZFRvcGljSWQgPyAwIDogZXhwYW5kZWRTdWJ0b3BpY3NJZC5sZW5ndGggKyAxO1xuICByZXR1cm4gKFxuICAgIDxuYXY+XG4gICAgICB7bWVzc2FnZXM/Lm1hcCgobWVzc2FnZSkgPT4gKFxuICAgICAgICA8TWVzc2FnZUJhbm5lclxuICAgICAgICAgIGtleT17bWVzc2FnZS5udW1iZXJ9XG4gICAgICAgICAgc2hvd0Nsb3NlQnV0dG9uPXttZXNzYWdlLmNsb3NhYmxlfVxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IGNsb3NlQWxlcnQ/LihtZXNzYWdlLm51bWJlcil9PlxuICAgICAgICAgIHttZXNzYWdlLmNvbnRlbnR9XG4gICAgICAgIDwvTWVzc2FnZUJhbm5lcj5cbiAgICAgICkpfVxuICAgICAgPE1vZGFsSGVhZGVyIG1vZGlmaWVyPXtbJ3doaXRlJywgJ21lbnUnXX0+XG4gICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ21hc3RoZWFkLWxlZnQnKX0+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgey4uLmNsYXNzZXMoJ2Nsb3NlLWJ1dHRvbicpfSBvbkNsaWNrPXtjbG9zZU1lbnV9PlxuICAgICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgICAgICA8c3Bhbj57dCgnbWFzdGhlYWQubWVudS5jbG9zZScpfTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ21hc3RoZWFkLXJpZ2h0Jyl9PlxuICAgICAgICAgIHshaGlkZVNlYXJjaCAmJiBzZWFyY2hGaWVsZENvbXBvbmVudH1cbiAgICAgICAgICA8TG9nbyB0bz1cIi9cIiBsYWJlbD17dCgnbG9nby5hbHRUZXh0Jyl9IGxvY2FsZT17bG9jYWxlfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvTW9kYWxIZWFkZXI+XG4gICAgICA8ZGl2IHsuLi5jbGFzc2VzKCdjb250ZW50Jyl9PlxuICAgICAgICA8ZGl2IHsuLi5jbGFzc2VzKCdiYWNrJywgJ3dpZGUnKX0+XG4gICAgICAgICAgPFNhZmVMaW5rIHsuLi5jbGFzc2VzKCdiYWNrLWxpbmsnKX0gdG89e3RvRnJvbnRwYWdlKCl9PlxuICAgICAgICAgICAgPEhvbWUgey4uLmNsYXNzZXMoJ2hvbWUtaWNvbicsICcnLCAnYy1pY29uLS0yMCcpfSAvPlxuICAgICAgICAgICAge3QoJ21hc3RoZWFkLm1lbnUudG9Gcm9udHBhZ2UnKX1cbiAgICAgICAgICA8L1NhZmVMaW5rPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHsuLi5jbGFzc2VzKCdiYWNrJywge1xuICAgICAgICAgICAgbmFycm93OiB0cnVlLFxuICAgICAgICAgIH0pfT5cbiAgICAgICAgICA8U2FmZUxpbmsgey4uLmNsYXNzZXMoJ2JhY2stbGluaycpfSB0bz17dG9Gcm9udHBhZ2UoKX0+XG4gICAgICAgICAgICA8SG9tZSB7Li4uY2xhc3NlcygnaG9tZS1pY29uJywgJycsICdjLWljb24tLTIwJyl9IC8+XG4gICAgICAgICAgICB7dCgnbWFzdGhlYWQubWVudS50b0Zyb250cGFnZScpfVxuICAgICAgICAgIDwvU2FmZUxpbms+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHsuLi5jbGFzc2VzKCdzdWJqZWN0Jyl9PlxuICAgICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ3N1YmplY3RfX2hlYWRlcicpfT5cbiAgICAgICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ3N1YmplY3RfX2hlYWRlcl9fbWVudS1maWx0ZXInKX0+XG4gICAgICAgICAgICAgIHtzdWJqZWN0VGl0bGUgJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkTWVudShNRU5VX0NVUlJFTlRfU1VCSkVDVCl9XG4gICAgICAgICAgICAgICAgICBjb2xvclRoZW1lPXtzZWxlY3RlZE1lbnUgIT09IE1FTlVfQ1VSUkVOVF9TVUJKRUNUID8gJ2xpZ2h0ZXInIDogJ3ByaW1hcnknfVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIHNoYXBlPVwicGlsbFwiPlxuICAgICAgICAgICAgICAgICAge3N1YmplY3RUaXRsZX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJ1dHRvbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2N1cnJlbnRQcm9ncmFtbWUgJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkTWVudShNRU5VX0NVUlJFTlRfUFJPR1JBTU1FKX1cbiAgICAgICAgICAgICAgICAgIGNvbG9yVGhlbWU9e3NlbGVjdGVkTWVudSAhPT0gTUVOVV9DVVJSRU5UX1BST0dSQU1NRSA/ICdsaWdodGVyJyA6ICdwcmltYXJ5J31cbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICBzaGFwZT1cInBpbGxcIj5cbiAgICAgICAgICAgICAgICAgIHtjdXJyZW50UHJvZ3JhbW1lLm5hbWV9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCdXR0b24+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtwcm9ncmFtbWVzICYmIChcbiAgICAgICAgICAgICAgICA8U3R5bGVkQnV0dG9uXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTZWxlY3RlZE1lbnUoTUVOVV9QUk9HUkFNTUVTKX1cbiAgICAgICAgICAgICAgICAgIGNvbG9yVGhlbWU9e3NlbGVjdGVkTWVudSAhPT0gTUVOVV9QUk9HUkFNTUVTID8gJ2xpZ2h0ZXInIDogJ3ByaW1hcnknfVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIHNoYXBlPVwicGlsbFwiPlxuICAgICAgICAgICAgICAgICAge3QoJ2Zyb250cGFnZU1lbnUucHJvZ3JhbScpfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkQnV0dG9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7c3ViamVjdENhdGVnb3JpZXMgJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkTWVudShNRU5VX0FMTF9TVUJKRUNUUyl9XG4gICAgICAgICAgICAgICAgICBjb2xvclRoZW1lPXtzZWxlY3RlZE1lbnUgIT09IE1FTlVfQUxMX1NVQkpFQ1RTID8gJ2xpZ2h0ZXInIDogJ3ByaW1hcnknfVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIHNoYXBlPVwicGlsbFwiPlxuICAgICAgICAgICAgICAgICAge3QoJ2Zyb250cGFnZU1lbnUuYWxsc3ViamVjdHMnKX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJ1dHRvbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzZWxlY3RlZE1lbnUgPT09IE1FTlVfQ1VSUkVOVF9TVUJKRUNUICYmIChcbiAgICAgICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ2JhY2stYnV0dG9uLXNsaWRlLXdyYXBwZXInKX0+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB7Li4uY2xhc3NlcygnYmFjay1idXR0b24tc2xpZGVzJywgYHNsaWRlLSR7c2xpZGVyQ291bnRlcn1gKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVPbkdvQmFja30+XG4gICAgICAgICAgICAgICAgPEJhY2sgLz4gPHNwYW4+e3QoJ21hc3RoZWFkLm1lbnUuYmFjaycpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge3NlbGVjdGVkTWVudSA9PT0gTUVOVV9BTExfU1VCSkVDVFMgJiYgc3ViamVjdENhdGVnb3JpZXMgJiYgKFxuICAgICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ2FsbC1zdWJqZWN0cycpfT5cbiAgICAgICAgICAgIDxGcm9udHBhZ2VBbGxTdWJqZWN0cyBjYXRlZ29yaWVzPXtzdWJqZWN0Q2F0ZWdvcmllc30gb25OYXZpZ2F0ZT17Y2xvc2VNZW51fSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7c2VsZWN0ZWRNZW51ID09PSBNRU5VX0NVUlJFTlRfUFJPR1JBTU1FICYmIGN1cnJlbnRQcm9ncmFtbWUgJiYgKFxuICAgICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ2FsbC1zdWJqZWN0cycpfT5cbiAgICAgICAgICAgIDxQcm9ncmFtbWVTdWJqZWN0c1xuICAgICAgICAgICAgICBncmFkZXM9e2N1cnJlbnRQcm9ncmFtbWUuZ3JhZGVzfVxuICAgICAgICAgICAgICBzZWxlY3RlZEdyYWRlPXtzZWxlY3RlZEdyYWRlfVxuICAgICAgICAgICAgICBvbkNoYW5nZUdyYWRlPXtvbkdyYWRlQ2hhbmdlfVxuICAgICAgICAgICAgICBvbk5hdmlnYXRlPXtjbG9zZU1lbnV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7c2VsZWN0ZWRNZW51ID09PSBNRU5VX1BST0dSQU1NRVMgJiYgcHJvZ3JhbW1lcyAmJiAoXG4gICAgICAgICAgPGRpdiB7Li4uY2xhc3NlcygnYWxsLXN1YmplY3RzJyl9PlxuICAgICAgICAgICAgPE5hdmlnYXRpb25Cb3ggY29sb3JNb2RlPVwibGlnaHRcIiBpdGVtcz17cHJvZ3JhbW1lc30gbGlzdERpcmVjdGlvbj1cInZlcnRpY2FsXCIgb25DbGljaz17Y2xvc2VNZW51fSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7c2VsZWN0ZWRNZW51ID09PSBNRU5VX0NVUlJFTlRfU1VCSkVDVCAmJiAoXG4gICAgICAgICAgPGRpdiB7Li4uY2xhc3Nlcygnc3ViamVjdC1uYXZpZ2F0aW9uJywgYHNsaWRlLSR7c2xpZGVyQ291bnRlcn1gKX0+XG4gICAgICAgICAgICB7IWRpc2FibGVNYWluICYmIChcbiAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgey4uLmNsYXNzZXMoJ3NlY3Rpb24nLCAnbWFpbicpfT5cbiAgICAgICAgICAgICAgICAgIDxTYWZlTGluayBvbkNsaWNrPXtjbG9zZU1lbnV9IHRvPXt0b1N1YmplY3QoKX0gY2xhc3NOYW1lPXtjbGFzc2VzKCdsaW5rJywgJ2JpZycpLmNsYXNzTmFtZX0+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHsuLi5jbGFzc2VzKCdsaW5rLXdyYXBwZXInKX0+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gey4uLmNsYXNzZXMoJ2xpbmstbGFiZWwnKX0+e3QoJ21hc3RoZWFkLm1lbnUuZ29UbycpfTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gey4uLmNsYXNzZXMoJ2xpbmstdGFyZ2V0Jyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gey4uLmNsYXNzZXMoJ2xpbmstdGFyZ2V0LW5hbWUnKX0+e3QoJ21hc3RoZWFkLm1lbnUuc3ViamVjdFBhZ2UnKX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2hldnJvblJpZ2h0IGNsYXNzTmFtZT1cImMtaWNvbi0tMjJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9TYWZlTGluaz5cbiAgICAgICAgICAgICAgICAgIDx1bCB7Li4uY2xhc3NlcygnbGlzdCcpfT5cbiAgICAgICAgICAgICAgICAgICAge3RvcGljcy5tYXAoKHRvcGljKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gdG9waWMuaWQgPT09IGV4cGFuZGVkVG9waWNJZCA/ICdhY3RpdmUnIDogbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgey4uLmNsYXNzZXMoJ3RvcGljLWl0ZW0nLCBhY3RpdmUpfSBrZXk9e3RvcGljLmlkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5jbGFzc2VzKCdsaW5rJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiBoYW5kbGVDbGljayhldmVudCwgdG9waWMuaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5UHJlc3M9eyhldmVudCkgPT4gaGFuZGxlQnRuS2V5UHJlc3MoZXZlbnQsIHRvcGljLmlkKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dG9waWMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZW5kZXJBZGRpdGlvbmFsSWNvbih0b3BpYy5hZGRpdGlvbmFsLCB0KCdyZXNvdXJjZS5hZGRpdGlvbmFsVG9vbHRpcCcpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25SaWdodCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtleHBhbmRlZFRvcGljICYmICFkaXNhYmxlU3ViVG9waWMgJiYgKFxuICAgICAgICAgICAgICA8U3VidG9waWNMaW5rTGlzdFxuICAgICAgICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzKCdzZWN0aW9uJywgc3ViVG9waWNNb2RpZmllcnMpLmNsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICBjbG9zZU1lbnU9e2Nsb3NlTWVudX1cbiAgICAgICAgICAgICAgICB0b3BpYz17ZXhwYW5kZWRUb3BpY31cbiAgICAgICAgICAgICAgICBiYWNrTGFiZWw9e1xuICAgICAgICAgICAgICAgICAgIWhhc0V4cGFuZGVkU3VidG9waWNzXG4gICAgICAgICAgICAgICAgICAgID8gc3ViamVjdFRpdGxlXG4gICAgICAgICAgICAgICAgICAgIDogY3VycmVudGx5RXhwYW5kZWRTdWJUb3BpY3NbY3VycmVudGx5RXhwYW5kZWRTdWJUb3BpY3MubGVuZ3RoIC0gMV0ubmFtZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBnb1RvVGl0bGU9e3QoJ21hc3RoZWFkLm1lbnUuZ29UbycpfVxuICAgICAgICAgICAgICAgIHRvVG9waWM9e3RvVG9waWN9XG4gICAgICAgICAgICAgICAgZXhwYW5kZWRTdWJ0b3BpY0lkPXtjdXJyZW50bHlFeHBhbmRlZFN1YlRvcGljc1swXSAmJiBjdXJyZW50bHlFeHBhbmRlZFN1YlRvcGljc1swXS5pZH1cbiAgICAgICAgICAgICAgICBvblN1YnRvcGljRXhwYW5kPXsoaWQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVN1YnRvcGljRXhwYW5kKGlkLCAwKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIG9uR29CYWNrPXtoYW5kbGVPbkdvQmFja31cbiAgICAgICAgICAgICAgICByZXNvdXJjZVRvTGlua1Byb3BzPXtyZXNvdXJjZVRvTGlua1Byb3BzfVxuICAgICAgICAgICAgICAgIGxhc3RPcGVuPXshaGFzRXhwYW5kZWRTdWJ0b3BpY3N9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7Y3VycmVudGx5RXhwYW5kZWRTdWJUb3BpY3MubWFwKChzdWJUb3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyBtZXRhZGF0YSB9ID0gc3ViVG9waWM7XG4gICAgICAgICAgICAgIGNvbnN0IGlzVW5ncm91cGVkID0gbWV0YWRhdGE/LmN1c3RvbUZpZWxkc1sndG9waWMtcmVzb3VyY2VzJ10gPT09ICd1bmdyb3VwZWQnIHx8IGZhbHNlO1xuXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFN1YnRvcGljTGlua0xpc3RcbiAgICAgICAgICAgICAgICAgIGlzVW5ncm91cGVkPXtpc1VuZ3JvdXBlZH1cbiAgICAgICAgICAgICAgICAgIGtleT17c3ViVG9waWMuaWR9XG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzKCdzZWN0aW9uJywgWydzdWItdG9waWMnLCAnbm8tYm9yZGVyJ10pLmNsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgIGNsb3NlTWVudT17Y2xvc2VNZW51fVxuICAgICAgICAgICAgICAgICAgdG9waWM9e3N1YlRvcGljfVxuICAgICAgICAgICAgICAgICAgYmFja0xhYmVsPXtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPT09IDBcbiAgICAgICAgICAgICAgICAgICAgICA/IHRvcGljcy5maW5kKCh0b3BpYykgPT4gdG9waWMuaWQgPT09IGV4cGFuZGVkVG9waWNJZCkubmFtZVxuICAgICAgICAgICAgICAgICAgICAgIDogY3VycmVudGx5RXhwYW5kZWRTdWJUb3BpY3NbaW5kZXggLSAxXS5uYW1lXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0b1RvcGljPXt0b1RvcGljfVxuICAgICAgICAgICAgICAgICAgZXhwYW5kZWRTdWJ0b3BpY0lkPXtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudGx5RXhwYW5kZWRTdWJUb3BpY3NbaW5kZXggKyAxXSA/IGN1cnJlbnRseUV4cGFuZGVkU3ViVG9waWNzW2luZGV4ICsgMV0uaWQgOiAnbm8gd2F5J1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgb25TdWJ0b3BpY0V4cGFuZD17KGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVN1YnRvcGljRXhwYW5kKGlkLCBpbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9uR29CYWNrPXtoYW5kbGVPbkdvQmFja31cbiAgICAgICAgICAgICAgICAgIHJlc291cmNlVG9MaW5rUHJvcHM9e3Jlc291cmNlVG9MaW5rUHJvcHN9XG4gICAgICAgICAgICAgICAgICBsYXN0T3Blbj17c2xpZGVyQ291bnRlciA9PT0gaW5kZXggKyAyfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdENvdW50PXtkZWZhdWx0Q291bnR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5Ub3BpY01lbnUucHJvcFR5cGVzID0ge1xuICB0b3BpY3M6IFByb3BUeXBlcy5hcnJheU9mKFRvcGljU2hhcGUpLmlzUmVxdWlyZWQsXG4gIHRvRnJvbnRwYWdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB0b1RvcGljOiBQcm9wVHlwZXMuZnVuYyxcbiAgY2xvc2VBbGVydDogUHJvcFR5cGVzLmZ1bmMsXG4gIHRvU3ViamVjdDogUHJvcFR5cGVzLmZ1bmMsXG4gIGNsb3NlOiBQcm9wVHlwZXMuZnVuYyxcbiAgZGVmYXVsdENvdW50OiBQcm9wVHlwZXMubnVtYmVyLFxuICBzdWJqZWN0VGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJlc291cmNlVG9MaW5rUHJvcHM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uTmF2aWdhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGV4cGFuZGVkVG9waWNJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgZXhwYW5kZWRTdWJ0b3BpY3NJZDogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZykuaXNSZXF1aXJlZCxcbiAgaGlkZVNlYXJjaDogUHJvcFR5cGVzLmJvb2wsXG4gIHNlYXJjaEZpZWxkQ29tcG9uZW50OiBQcm9wVHlwZXMubm9kZSxcbiAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBtZXNzYWdlczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGNvbnRlbnQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGNsb3NhYmxlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgICAgbnVtYmVyOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgfSksXG4gICksXG4gIHN1YmplY3RDYXRlZ29yaWVzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgc3ViamVjdHM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICB1cmw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0pLFxuICApLFxuICBwcm9ncmFtbWVzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHVybDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIH0pLFxuICApLFxuICBjdXJyZW50UHJvZ3JhbW1lOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBncmFkZXM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICBjYXRlZ29yaWVzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAgICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIHN1YmplY3RzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgICAgIHVybDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICApLmlzUmVxdWlyZWQsXG4gICAgc2VsZWN0ZWRHcmFkZUluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuICB9KSxcbiAgaW5pdGlhbFNlbGVjdGVkTWVudTogUHJvcFR5cGVzLm9uZU9mKFtcbiAgICBNRU5VX0NVUlJFTlRfU1VCSkVDVCxcbiAgICBNRU5VX0NVUlJFTlRfUFJPR1JBTU1FLFxuICAgIE1FTlVfUFJPR1JBTU1FUyxcbiAgICBNRU5VX0FMTF9TVUJKRUNUUyxcbiAgXSksXG59O1xuXG5Ub3BpY01lbnUuZGVmYXVsdFByb3BzID0ge1xuICBkZWZhdWx0Q291bnQ6IDEyLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVG9waWNNZW51O1xuIl19 */"));
82
86
 
83
87
  var renderAdditionalIcon = function renderAdditionalIcon(isAdditional, label) {
84
88
  if (isAdditional && label) {
85
- return (0, _react2.jsx)(_tooltip["default"], {
89
+ return (0, _jsxRuntime.jsx)(_tooltip["default"], {
86
90
  tooltip: label,
87
- stooltipContainerClass: "c-topic-menu__tooltipContainer"
88
- }, (0, _react2.jsx)(_common.Additional, {
89
- className: "c-icon--20"
90
- }));
91
+ stooltipContainerClass: "c-topic-menu__tooltipContainer",
92
+ children: (0, _jsxRuntime.jsx)(_common.Additional, {
93
+ className: "c-icon--20"
94
+ })
95
+ });
91
96
  }
92
97
 
93
98
  if (isAdditional) {
94
- return (0, _react2.jsx)(_common.Additional, {
99
+ return (0, _jsxRuntime.jsx)(_common.Additional, {
95
100
  className: "c-icon--20 c-topic-menu__tooltipContainer"
96
101
  });
97
102
  }
@@ -132,19 +137,19 @@ var TopicMenu = function TopicMenu(_ref) {
132
137
  var _useTranslation = (0, _reactI18next.useTranslation)(),
133
138
  t = _useTranslation.t;
134
139
 
135
- var _useState = (0, _react.useState)(false),
140
+ var _useState = (0, _react2.useState)(false),
136
141
  _useState2 = _slicedToArray(_useState, 2),
137
142
  isNarrowScreen = _useState2[0],
138
143
  setIsNarrowScreen = _useState2[1];
139
144
 
140
- var _useState3 = (0, _react.useState)(function () {
145
+ var _useState3 = (0, _react2.useState)(function () {
141
146
  return initialSelectedMenu || MENU_CURRENT_SUBJECT;
142
147
  }),
143
148
  _useState4 = _slicedToArray(_useState3, 2),
144
149
  selectedMenu = _useState4[0],
145
150
  setSelectedMenu = _useState4[1];
146
151
 
147
- (0, _react.useEffect)(function () {
152
+ (0, _react2.useEffect)(function () {
148
153
  var setScreenSize = function setScreenSize() {
149
154
  var initial = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
150
155
  var isNarrow = (window.innerWidth || document.documentElement.clientWidth) < 768;
@@ -222,134 +227,192 @@ var TopicMenu = function TopicMenu(_ref) {
222
227
  var disableMain = isNarrowScreen && expandedTopic;
223
228
  var disableSubTopic = disableMain && hasExpandedSubtopics;
224
229
  var sliderCounter = !expandedTopicId ? 0 : expandedSubtopicsId.length + 1;
225
- return (0, _react2.jsx)("nav", null, messages === null || messages === void 0 ? void 0 : messages.map(function (message) {
226
- return (0, _react2.jsx)(_Messages.MessageBanner, {
227
- key: message.number,
228
- showCloseButton: message.closable,
229
- onClose: function onClose() {
230
- return closeAlert === null || closeAlert === void 0 ? void 0 : closeAlert(message.number);
231
- }
232
- }, message.content);
233
- }), (0, _react2.jsx)(_modal.ModalHeader, {
234
- modifier: ['white', 'menu']
235
- }, (0, _react2.jsx)("div", classes('masthead-left'), (0, _react2.jsx)("button", _extends({
236
- type: "button"
237
- }, classes('close-button'), {
238
- onClick: closeMenu
239
- }), (0, _react2.jsx)(_action.Cross, null), (0, _react2.jsx)("span", null, t('masthead.menu.close')))), (0, _react2.jsx)("div", classes('masthead-right'), !hideSearch && searchFieldComponent, (0, _react2.jsx)(_Logo["default"], {
240
- to: "/",
241
- label: t('logo.altText'),
242
- locale: locale
243
- }))), (0, _react2.jsx)("div", classes('content'), (0, _react2.jsx)("div", classes('back', 'wide'), (0, _react2.jsx)(_safelink["default"], _extends({}, classes('back-link'), {
244
- to: toFrontpage()
245
- }), (0, _react2.jsx)(_common.Home, classes('home-icon', '', 'c-icon--20')), t('masthead.menu.toFrontpage'))), (0, _react2.jsx)("div", classes('back', {
246
- narrow: true
247
- }), (0, _react2.jsx)(_safelink["default"], _extends({}, classes('back-link'), {
248
- to: toFrontpage()
249
- }), (0, _react2.jsx)(_common.Home, classes('home-icon', '', 'c-icon--20')), t('masthead.menu.toFrontpage'))), (0, _react2.jsx)("div", classes('subject'), (0, _react2.jsx)("div", classes('subject__header'), (0, _react2.jsx)("div", classes('subject__header__menu-filter'), subjectTitle && (0, _react2.jsx)(StyledButton, {
250
- onClick: function onClick() {
251
- return setSelectedMenu(MENU_CURRENT_SUBJECT);
252
- },
253
- colorTheme: selectedMenu !== MENU_CURRENT_SUBJECT ? 'lighter' : 'primary',
254
- size: "small",
255
- shape: "pill"
256
- }, subjectTitle), currentProgramme && (0, _react2.jsx)(StyledButton, {
257
- onClick: function onClick() {
258
- return setSelectedMenu(MENU_CURRENT_PROGRAMME);
259
- },
260
- colorTheme: selectedMenu !== MENU_CURRENT_PROGRAMME ? 'lighter' : 'primary',
261
- size: "small",
262
- shape: "pill"
263
- }, currentProgramme.name), programmes && (0, _react2.jsx)(StyledButton, {
264
- onClick: function onClick() {
265
- return setSelectedMenu(MENU_PROGRAMMES);
266
- },
267
- colorTheme: selectedMenu !== MENU_PROGRAMMES ? 'lighter' : 'primary',
268
- size: "small",
269
- shape: "pill"
270
- }, t('frontpageMenu.program')), subjectCategories && (0, _react2.jsx)(StyledButton, {
271
- onClick: function onClick() {
272
- return setSelectedMenu(MENU_ALL_SUBJECTS);
273
- },
274
- colorTheme: selectedMenu !== MENU_ALL_SUBJECTS ? 'lighter' : 'primary',
275
- size: "small",
276
- shape: "pill"
277
- }, t('frontpageMenu.allsubjects')))), selectedMenu === MENU_CURRENT_SUBJECT && (0, _react2.jsx)("div", classes('back-button-slide-wrapper'), (0, _react2.jsx)("button", _extends({
278
- type: "button"
279
- }, classes('back-button-slides', "slide-".concat(sliderCounter)), {
280
- onClick: handleOnGoBack
281
- }), (0, _react2.jsx)(_common.Back, null), " ", (0, _react2.jsx)("span", null, t('masthead.menu.back'))))), selectedMenu === MENU_ALL_SUBJECTS && subjectCategories && (0, _react2.jsx)("div", classes('all-subjects'), (0, _react2.jsx)(_FrontpageAllSubjects["default"], {
282
- categories: subjectCategories,
283
- onNavigate: closeMenu
284
- })), selectedMenu === MENU_CURRENT_PROGRAMME && currentProgramme && (0, _react2.jsx)("div", classes('all-subjects'), (0, _react2.jsx)(_Programme.ProgrammeSubjects, {
285
- grades: currentProgramme.grades,
286
- selectedGrade: selectedGrade,
287
- onChangeGrade: onGradeChange,
288
- onNavigate: closeMenu
289
- })), selectedMenu === MENU_PROGRAMMES && programmes && (0, _react2.jsx)("div", classes('all-subjects'), (0, _react2.jsx)(_NavigationBox["default"], {
290
- colorMode: "light",
291
- items: programmes,
292
- listDirection: "vertical",
293
- onClick: closeMenu
294
- })), selectedMenu === MENU_CURRENT_SUBJECT && (0, _react2.jsx)("div", classes('subject-navigation', "slide-".concat(sliderCounter)), !disableMain && (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("div", classes('section', 'main'), (0, _react2.jsx)(_safelink["default"], {
295
- onClick: closeMenu,
296
- to: toSubject(),
297
- className: classes('link', 'big').className
298
- }, (0, _react2.jsx)("span", classes('link-wrapper'), (0, _react2.jsx)("span", classes('link-label'), t('masthead.menu.goTo'), ":"), (0, _react2.jsx)("span", classes('link-target'), (0, _react2.jsx)("span", classes('link-target-name'), t('masthead.menu.subjectPage')), (0, _react2.jsx)(_common.ChevronRight, {
299
- className: "c-icon--22"
300
- })))), (0, _react2.jsx)("ul", classes('list'), topics.map(function (topic) {
301
- var active = topic.id === expandedTopicId ? 'active' : null;
302
- return (0, _react2.jsx)("li", _extends({}, classes('topic-item', active), {
303
- key: topic.id
304
- }), (0, _react2.jsx)("button", _extends({
305
- type: "button"
306
- }, classes('link'), {
307
- onClick: function onClick(event) {
308
- return handleClick(event, topic.id);
309
- },
310
- onKeyPress: function onKeyPress(event) {
311
- return handleBtnKeyPress(event, topic.id);
312
- }
313
- }), (0, _react2.jsx)("span", null, topic.name, renderAdditionalIcon(topic.additional, t('resource.additionalTooltip'))), (0, _react2.jsx)(_common.ChevronRight, null)));
314
- })))), expandedTopic && !disableSubTopic && (0, _react2.jsx)(_SubtopicLinkList["default"], {
315
- classes: classes,
316
- className: classes('section', subTopicModifiers).className,
317
- closeMenu: closeMenu,
318
- topic: expandedTopic,
319
- backLabel: !hasExpandedSubtopics ? subjectTitle : currentlyExpandedSubTopics[currentlyExpandedSubTopics.length - 1].name,
320
- goToTitle: t('masthead.menu.goTo'),
321
- toTopic: toTopic,
322
- expandedSubtopicId: currentlyExpandedSubTopics[0] && currentlyExpandedSubTopics[0].id,
323
- onSubtopicExpand: function onSubtopicExpand(id) {
324
- handleSubtopicExpand(id, 0);
325
- },
326
- onGoBack: handleOnGoBack,
327
- resourceToLinkProps: resourceToLinkProps,
328
- lastOpen: !hasExpandedSubtopics
329
- }), currentlyExpandedSubTopics.map(function (subTopic, index) {
330
- var metadata = subTopic.metadata;
331
- var isUngrouped = (metadata === null || metadata === void 0 ? void 0 : metadata.customFields['topic-resources']) === 'ungrouped' || false;
332
- return (0, _react2.jsx)(_SubtopicLinkList["default"], {
333
- isUngrouped: isUngrouped,
334
- key: subTopic.id,
335
- classes: classes,
336
- className: classes('section', ['sub-topic', 'no-border']).className,
337
- closeMenu: closeMenu,
338
- topic: subTopic,
339
- backLabel: index === 0 ? topics.find(function (topic) {
340
- return topic.id === expandedTopicId;
341
- }).name : currentlyExpandedSubTopics[index - 1].name,
342
- toTopic: toTopic,
343
- expandedSubtopicId: currentlyExpandedSubTopics[index + 1] ? currentlyExpandedSubTopics[index + 1].id : 'no way',
344
- onSubtopicExpand: function onSubtopicExpand(id) {
345
- handleSubtopicExpand(id, index + 1);
346
- },
347
- onGoBack: handleOnGoBack,
348
- resourceToLinkProps: resourceToLinkProps,
349
- lastOpen: sliderCounter === index + 2,
350
- defaultCount: defaultCount
351
- });
352
- }))));
230
+ return (0, _jsxRuntime.jsxs)("nav", {
231
+ children: [messages === null || messages === void 0 ? void 0 : messages.map(function (message) {
232
+ return (0, _jsxRuntime.jsx)(_Messages.MessageBanner, {
233
+ showCloseButton: message.closable,
234
+ onClose: function onClose() {
235
+ return closeAlert === null || closeAlert === void 0 ? void 0 : closeAlert(message.number);
236
+ },
237
+ children: message.content
238
+ }, message.number);
239
+ }), (0, _jsxRuntime.jsxs)(_modal.ModalHeader, {
240
+ modifier: ['white', 'menu'],
241
+ children: [(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('masthead-left')), {}, {
242
+ children: (0, _jsxRuntime.jsxs)("button", _objectSpread(_objectSpread({
243
+ type: "button"
244
+ }, classes('close-button')), {}, {
245
+ onClick: closeMenu,
246
+ children: [(0, _jsxRuntime.jsx)(_action.Cross, {}), (0, _jsxRuntime.jsx)("span", {
247
+ children: t('masthead.menu.close')
248
+ })]
249
+ }))
250
+ })), (0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, classes('masthead-right')), {}, {
251
+ children: [!hideSearch && searchFieldComponent, (0, _jsxRuntime.jsx)(_Logo["default"], {
252
+ to: "/",
253
+ label: t('logo.altText'),
254
+ locale: locale
255
+ })]
256
+ }))]
257
+ }), (0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, classes('content')), {}, {
258
+ children: [(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('back', 'wide')), {}, {
259
+ children: (0, _jsxRuntime.jsxs)(_safelink["default"], _objectSpread(_objectSpread({}, classes('back-link')), {}, {
260
+ to: toFrontpage(),
261
+ children: [(0, _jsxRuntime.jsx)(_common.Home, _objectSpread({}, classes('home-icon', '', 'c-icon--20'))), t('masthead.menu.toFrontpage')]
262
+ }))
263
+ })), (0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('back', {
264
+ narrow: true
265
+ })), {}, {
266
+ children: (0, _jsxRuntime.jsxs)(_safelink["default"], _objectSpread(_objectSpread({}, classes('back-link')), {}, {
267
+ to: toFrontpage(),
268
+ children: [(0, _jsxRuntime.jsx)(_common.Home, _objectSpread({}, classes('home-icon', '', 'c-icon--20'))), t('masthead.menu.toFrontpage')]
269
+ }))
270
+ })), (0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, classes('subject')), {}, {
271
+ children: [(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('subject__header')), {}, {
272
+ children: (0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, classes('subject__header__menu-filter')), {}, {
273
+ children: [subjectTitle && (0, _jsxRuntime.jsx)(StyledButton, {
274
+ onClick: function onClick() {
275
+ return setSelectedMenu(MENU_CURRENT_SUBJECT);
276
+ },
277
+ colorTheme: selectedMenu !== MENU_CURRENT_SUBJECT ? 'lighter' : 'primary',
278
+ size: "small",
279
+ shape: "pill",
280
+ children: subjectTitle
281
+ }), currentProgramme && (0, _jsxRuntime.jsx)(StyledButton, {
282
+ onClick: function onClick() {
283
+ return setSelectedMenu(MENU_CURRENT_PROGRAMME);
284
+ },
285
+ colorTheme: selectedMenu !== MENU_CURRENT_PROGRAMME ? 'lighter' : 'primary',
286
+ size: "small",
287
+ shape: "pill",
288
+ children: currentProgramme.name
289
+ }), programmes && (0, _jsxRuntime.jsx)(StyledButton, {
290
+ onClick: function onClick() {
291
+ return setSelectedMenu(MENU_PROGRAMMES);
292
+ },
293
+ colorTheme: selectedMenu !== MENU_PROGRAMMES ? 'lighter' : 'primary',
294
+ size: "small",
295
+ shape: "pill",
296
+ children: t('frontpageMenu.program')
297
+ }), subjectCategories && (0, _jsxRuntime.jsx)(StyledButton, {
298
+ onClick: function onClick() {
299
+ return setSelectedMenu(MENU_ALL_SUBJECTS);
300
+ },
301
+ colorTheme: selectedMenu !== MENU_ALL_SUBJECTS ? 'lighter' : 'primary',
302
+ size: "small",
303
+ shape: "pill",
304
+ children: t('frontpageMenu.allsubjects')
305
+ })]
306
+ }))
307
+ })), selectedMenu === MENU_CURRENT_SUBJECT && (0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('back-button-slide-wrapper')), {}, {
308
+ children: (0, _jsxRuntime.jsxs)("button", _objectSpread(_objectSpread({
309
+ type: "button"
310
+ }, classes('back-button-slides', "slide-".concat(sliderCounter))), {}, {
311
+ onClick: handleOnGoBack,
312
+ children: [(0, _jsxRuntime.jsx)(_common.Back, {}), " ", (0, _jsxRuntime.jsx)("span", {
313
+ children: t('masthead.menu.back')
314
+ })]
315
+ }))
316
+ }))]
317
+ })), selectedMenu === MENU_ALL_SUBJECTS && subjectCategories && (0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('all-subjects')), {}, {
318
+ children: (0, _jsxRuntime.jsx)(_FrontpageAllSubjects["default"], {
319
+ categories: subjectCategories,
320
+ onNavigate: closeMenu
321
+ })
322
+ })), selectedMenu === MENU_CURRENT_PROGRAMME && currentProgramme && (0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('all-subjects')), {}, {
323
+ children: (0, _jsxRuntime.jsx)(_Programme.ProgrammeSubjects, {
324
+ grades: currentProgramme.grades,
325
+ selectedGrade: selectedGrade,
326
+ onChangeGrade: onGradeChange,
327
+ onNavigate: closeMenu
328
+ })
329
+ })), selectedMenu === MENU_PROGRAMMES && programmes && (0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('all-subjects')), {}, {
330
+ children: (0, _jsxRuntime.jsx)(_NavigationBox["default"], {
331
+ colorMode: "light",
332
+ items: programmes,
333
+ listDirection: "vertical",
334
+ onClick: closeMenu
335
+ })
336
+ })), selectedMenu === MENU_CURRENT_SUBJECT && (0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, classes('subject-navigation', "slide-".concat(sliderCounter))), {}, {
337
+ children: [!disableMain && (0, _jsxRuntime.jsx)(_react2.Fragment, {
338
+ children: (0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, classes('section', 'main')), {}, {
339
+ children: [(0, _jsxRuntime.jsx)(_safelink["default"], {
340
+ onClick: closeMenu,
341
+ to: toSubject(),
342
+ className: classes('link', 'big').className,
343
+ children: (0, _jsxRuntime.jsxs)("span", _objectSpread(_objectSpread({}, classes('link-wrapper')), {}, {
344
+ children: [(0, _jsxRuntime.jsxs)("span", _objectSpread(_objectSpread({}, classes('link-label')), {}, {
345
+ children: [t('masthead.menu.goTo'), ":"]
346
+ })), (0, _jsxRuntime.jsxs)("span", _objectSpread(_objectSpread({}, classes('link-target')), {}, {
347
+ children: [(0, _jsxRuntime.jsx)("span", _objectSpread(_objectSpread({}, classes('link-target-name')), {}, {
348
+ children: t('masthead.menu.subjectPage')
349
+ })), (0, _jsxRuntime.jsx)(_common.ChevronRight, {
350
+ className: "c-icon--22"
351
+ })]
352
+ }))]
353
+ }))
354
+ }), (0, _jsxRuntime.jsx)("ul", _objectSpread(_objectSpread({}, classes('list')), {}, {
355
+ children: topics.map(function (topic) {
356
+ var active = topic.id === expandedTopicId ? 'active' : null;
357
+ return (0, _react.createElement)("li", _objectSpread(_objectSpread({}, classes('topic-item', active)), {}, {
358
+ key: topic.id
359
+ }), (0, _jsxRuntime.jsxs)("button", _objectSpread(_objectSpread({
360
+ type: "button"
361
+ }, classes('link')), {}, {
362
+ onClick: function onClick(event) {
363
+ return handleClick(event, topic.id);
364
+ },
365
+ onKeyPress: function onKeyPress(event) {
366
+ return handleBtnKeyPress(event, topic.id);
367
+ },
368
+ children: [(0, _jsxRuntime.jsxs)("span", {
369
+ children: [topic.name, renderAdditionalIcon(topic.additional, t('resource.additionalTooltip'))]
370
+ }), (0, _jsxRuntime.jsx)(_common.ChevronRight, {})]
371
+ })));
372
+ })
373
+ }))]
374
+ }))
375
+ }), expandedTopic && !disableSubTopic && (0, _jsxRuntime.jsx)(_SubtopicLinkList["default"], {
376
+ classes: classes,
377
+ className: classes('section', subTopicModifiers).className,
378
+ closeMenu: closeMenu,
379
+ topic: expandedTopic,
380
+ backLabel: !hasExpandedSubtopics ? subjectTitle : currentlyExpandedSubTopics[currentlyExpandedSubTopics.length - 1].name,
381
+ goToTitle: t('masthead.menu.goTo'),
382
+ toTopic: toTopic,
383
+ expandedSubtopicId: currentlyExpandedSubTopics[0] && currentlyExpandedSubTopics[0].id,
384
+ onSubtopicExpand: function onSubtopicExpand(id) {
385
+ handleSubtopicExpand(id, 0);
386
+ },
387
+ onGoBack: handleOnGoBack,
388
+ resourceToLinkProps: resourceToLinkProps,
389
+ lastOpen: !hasExpandedSubtopics
390
+ }), currentlyExpandedSubTopics.map(function (subTopic, index) {
391
+ var metadata = subTopic.metadata;
392
+ var isUngrouped = (metadata === null || metadata === void 0 ? void 0 : metadata.customFields['topic-resources']) === 'ungrouped' || false;
393
+ return (0, _jsxRuntime.jsx)(_SubtopicLinkList["default"], {
394
+ isUngrouped: isUngrouped,
395
+ classes: classes,
396
+ className: classes('section', ['sub-topic', 'no-border']).className,
397
+ closeMenu: closeMenu,
398
+ topic: subTopic,
399
+ backLabel: index === 0 ? topics.find(function (topic) {
400
+ return topic.id === expandedTopicId;
401
+ }).name : currentlyExpandedSubTopics[index - 1].name,
402
+ toTopic: toTopic,
403
+ expandedSubtopicId: currentlyExpandedSubTopics[index + 1] ? currentlyExpandedSubTopics[index + 1].id : 'no way',
404
+ onSubtopicExpand: function onSubtopicExpand(id) {
405
+ handleSubtopicExpand(id, index + 1);
406
+ },
407
+ onGoBack: handleOnGoBack,
408
+ resourceToLinkProps: resourceToLinkProps,
409
+ lastOpen: sliderCounter === index + 2,
410
+ defaultCount: defaultCount
411
+ }, subTopic.id);
412
+ })]
413
+ }))]
414
+ }))]
415
+ });
353
416
  };
354
417
 
355
418
  exports.TopicMenu = TopicMenu;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -19,30 +21,32 @@ var _button = require("@ndla/button");
19
21
 
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
23
 
22
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
25
+
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
+
28
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
29
 
24
30
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
31
 
26
32
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
33
 
28
- var style =
29
- /*#__PURE__*/
30
-
31
- /*#__PURE__*/
32
- (0, _react2.css)("display:block;position:relative;background:transparent;padding:", _core.spacing.small, " ", _core.spacing.normal, ";font-weight:", _core.fonts.weight.normal, ";svg{width:25px;height:25px;margin-top:-3px;margin-right:", _core.spacing.xsmall, ";}&:hover{border-color:transparent;background:", _core.colors.brand.primary, ";color:", _core.colors.white, ";}&:active,&:focus{border-color:", _core.colors.brand.lighter, ";background:", _core.colors.white, ";color:", _core.colors.brand.primary, ";}", _core.mq.range({
34
+ var style = /*#__PURE__*/(0, _react2.css)("display:block;position:relative;background:transparent;padding:", _core.spacing.small, " ", _core.spacing.normal, ";font-weight:", _core.fonts.weight.normal, ";svg{width:25px;height:25px;margin-top:-3px;margin-right:", _core.spacing.xsmall, ";}&:hover{border-color:transparent;background:", _core.colors.brand.primary, ";color:", _core.colors.white, ";}&:active,&:focus{border-color:", _core.colors.brand.lighter, ";background:", _core.colors.white, ";color:", _core.colors.brand.primary, ";}", _core.mq.range({
33
35
  until: _core.breakpoints.tablet
34
- }), "{padding-left:", _core.spacing.xsmall, ";padding-right:", _core.spacing.xsmall, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:style;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvcGljTWVudUJ1dHRvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZWlCIiwiZmlsZSI6IlRvcGljTWVudUJ1dHRvbi5qc3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMsIGNvbG9ycywgbXEsIGJyZWFrcG9pbnRzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IEJ1dHRvblYyIGFzIEJ1dHRvbiB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5cbmNvbnN0IHN0eWxlID0gY3NzYFxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogJHtzcGFjaW5nLnNtYWxsfSAke3NwYWNpbmcubm9ybWFsfTtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0Lm5vcm1hbH07XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR7c3BhY2luZy54c21hbGx9O1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYnJhbmQucHJpbWFyeX07XG4gICAgY29sb3I6ICR7Y29sb3JzLndoaXRlfTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5icmFuZC5saWdodGVyfTtcbiAgICBiYWNrZ3JvdW5kOiAke2NvbG9ycy53aGl0ZX07XG4gICAgY29sb3I6ICR7Y29sb3JzLmJyYW5kLnByaW1hcnl9O1xuICB9XG4gICR7bXEucmFuZ2UoeyB1bnRpbDogYnJlYWtwb2ludHMudGFibGV0IH0pfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3NwYWNpbmcueHNtYWxsfTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3NwYWNpbmcueHNtYWxsfTtcbiAgfVxuYDtcblxuY29uc3QgVG9waWNNZW51QnV0dG9uID0gKHsgbmRsYUZpbG0sIGNoaWxkcmVuLCAuLi5yZXN0IH0pID0+IChcbiAgPEJ1dHRvbiBpbnZlcnRlZD17bmRsYUZpbG19IHZhcmlhbnQ9XCJvdXRsaW5lXCIgY3NzPXtzdHlsZX0gey4uLnJlc3R9PlxuICAgIDxNZW51IC8+IHtjaGlsZHJlbn1cbiAgPC9CdXR0b24+XG4pO1xuXG5Ub3BpY01lbnVCdXR0b24ucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgbmRsYUZpbG06IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVG9waWNNZW51QnV0dG9uO1xuIl19 */", process.env.NODE_ENV === "production" ? "" : ";label:style;");
36
+ }), "{padding-left:", _core.spacing.xsmall, ";padding-right:", _core.spacing.xsmall, ";};label:style;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvcGljTWVudUJ1dHRvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZWlCIiwiZmlsZSI6IlRvcGljTWVudUJ1dHRvbi5qc3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMsIGNvbG9ycywgbXEsIGJyZWFrcG9pbnRzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IEJ1dHRvblYyIGFzIEJ1dHRvbiB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5cbmNvbnN0IHN0eWxlID0gY3NzYFxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogJHtzcGFjaW5nLnNtYWxsfSAke3NwYWNpbmcubm9ybWFsfTtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0Lm5vcm1hbH07XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR7c3BhY2luZy54c21hbGx9O1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYnJhbmQucHJpbWFyeX07XG4gICAgY29sb3I6ICR7Y29sb3JzLndoaXRlfTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5icmFuZC5saWdodGVyfTtcbiAgICBiYWNrZ3JvdW5kOiAke2NvbG9ycy53aGl0ZX07XG4gICAgY29sb3I6ICR7Y29sb3JzLmJyYW5kLnByaW1hcnl9O1xuICB9XG4gICR7bXEucmFuZ2UoeyB1bnRpbDogYnJlYWtwb2ludHMudGFibGV0IH0pfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3NwYWNpbmcueHNtYWxsfTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3NwYWNpbmcueHNtYWxsfTtcbiAgfVxuYDtcblxuY29uc3QgVG9waWNNZW51QnV0dG9uID0gKHsgbmRsYUZpbG0sIGNoaWxkcmVuLCAuLi5yZXN0IH0pID0+IChcbiAgPEJ1dHRvbiBpbnZlcnRlZD17bmRsYUZpbG19IHZhcmlhbnQ9XCJvdXRsaW5lXCIgY3NzPXtzdHlsZX0gey4uLnJlc3R9PlxuICAgIDxNZW51IC8+IHtjaGlsZHJlbn1cbiAgPC9CdXR0b24+XG4pO1xuXG5Ub3BpY01lbnVCdXR0b24ucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgbmRsYUZpbG06IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVG9waWNNZW51QnV0dG9uO1xuIl19 */"));
35
37
 
36
38
  var TopicMenuButton = function TopicMenuButton(_ref) {
37
39
  var ndlaFilm = _ref.ndlaFilm,
38
40
  children = _ref.children,
39
41
  rest = _objectWithoutProperties(_ref, ["ndlaFilm", "children"]);
40
42
 
41
- return (0, _react2.jsx)(_button.ButtonV2, _extends({
43
+ return (0, _jsxRuntime.jsxs)(_button.ButtonV2, _objectSpread(_objectSpread({
42
44
  inverted: ndlaFilm,
43
45
  variant: "outline",
44
46
  css: style
45
- }, rest), (0, _react2.jsx)(_common.Menu, null), " ", children);
47
+ }, rest), {}, {
48
+ children: [(0, _jsxRuntime.jsx)(_common.Menu, {}), " ", children]
49
+ }));
46
50
  };
47
51
 
48
52
  TopicMenuButton.propTypes = {
@@ -5,21 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
10
12
  var _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
11
13
 
12
- var _react2 = require("@emotion/react");
13
-
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
16
- /**
17
- * Copyright (c) 2016-present, NDLA.
18
- *
19
- * This source code is licensed under the GPLv3 license found in the
20
- * LICENSE file in the root directory of this source tree.
21
- *
22
- */
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
23
22
  var classes = new _reactBemHelper["default"]({
24
23
  name: 'translation',
25
24
  prefix: 'c-'
@@ -28,7 +27,13 @@ var classes = new _reactBemHelper["default"]({
28
27
  var Translation = function Translation(_ref) {
29
28
  var children = _ref.children,
30
29
  index = _ref.index;
31
- return (0, _react2.jsx)("div", classes(''), (0, _react2.jsx)("div", classes('index'), index), (0, _react2.jsx)("dl", classes('wrapper'), children));
30
+ return (0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, classes('')), {}, {
31
+ children: [(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, classes('index')), {}, {
32
+ children: index
33
+ })), (0, _jsxRuntime.jsx)("dl", _objectSpread(_objectSpread({}, classes('wrapper')), {}, {
34
+ children: children
35
+ }))]
36
+ }));
32
37
  };
33
38
 
34
39
  var _default = Translation;
@@ -5,23 +5,25 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
10
12
  var _tabs = require("@ndla/tabs");
11
13
 
12
- var _react2 = require("@emotion/react");
13
-
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
16
16
  var TranslationBox = function TranslationBox(_ref) {
17
17
  var tabs = _ref.tabs;
18
- return (0, _react2.jsx)("div", {
19
- className: "c-translation-box"
20
- }, (0, _react2.jsx)("div", {
21
- className: "c-bodybox c-bodybox--translation"
22
- }, (0, _react2.jsx)(_tabs.ArticleTabs, {
23
- tabs: tabs
24
- })));
18
+ return (0, _jsxRuntime.jsx)("div", {
19
+ className: "c-translation-box",
20
+ children: (0, _jsxRuntime.jsx)("div", {
21
+ className: "c-bodybox c-bodybox--translation",
22
+ children: (0, _jsxRuntime.jsx)(_tabs.ArticleTabs, {
23
+ tabs: tabs
24
+ })
25
+ })
26
+ });
25
27
  };
26
28
 
27
29
  var _default = TranslationBox;