@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.
- package/es/Animation/DisplayOnPageYOffset.js +6 -4
- package/es/Animation/Fade.js +12 -6
- package/es/Article/Article.js +91 -68
- package/es/Article/ArticleAccessMessage.js +12 -8
- package/es/Article/ArticleByline.js +88 -70
- package/es/Article/ArticleContent.js +8 -3
- package/es/Article/ArticleFavoritesButton.js +18 -16
- package/es/Article/ArticleFootNotes.js +28 -20
- package/es/Article/ArticleHeaderWrapper.js +42 -29
- package/es/Article/ArticleNotions.js +58 -50
- package/es/Article/ArticleSideBar.js +53 -43
- package/es/Aside/Aside.js +13 -5
- package/es/AudioPlayer/AudioPlayer.js +99 -93
- package/es/AudioPlayer/Controls.js +181 -192
- package/es/AudioPlayer/SpeechControl.js +20 -18
- package/es/AudioPlayer/initAudioPlayers.js +4 -3
- package/es/AuthorInfo/AuthorInfo.js +23 -17
- package/es/BannerCard/BannerCard.js +27 -29
- package/es/BlogPosts/BlogPost.js +33 -28
- package/es/BlogPosts/BlogPostWrapper.js +6 -7
- package/es/Breadcrumb/ActionBreadcrumb.js +22 -34
- package/es/Breadcrumb/Breadcrumb.js +30 -33
- package/es/Breadcrumb/BreadcrumbItem.js +24 -28
- package/es/Breadcrumb/HeaderBreadcrumb.js +18 -29
- package/es/Breadcrumb/HomeBreadcrumb.js +28 -43
- package/es/Breadcrumblist/Breadcrumblist.js +62 -61
- package/es/CompetenceGoalTab/CompetenceGoalItem.js +33 -34
- package/es/CompetenceGoalTab/CompetenceGoalTab.js +44 -40
- package/es/CompetenceGoalTab/CompetenceItem.js +66 -63
- package/es/CompetenceGoalTab/SearchButton.js +20 -16
- package/es/CompetenceGoals/CompetenceGoalsDialog.js +41 -29
- package/es/ComponentCursor/ComponentCursor.js +19 -34
- package/es/ContentCard/ContentCard.js +38 -35
- package/es/ContentLoader/index.js +57 -43
- package/es/ContentPlaceholder/ContentPlaceholder.js +8 -11
- package/es/ContentTypeBadge/ContentTypeBadge.js +27 -20
- package/es/CopyParagraphButton/CopyParagraphButton.js +32 -30
- package/es/CopyParagraphButton/initCopyParagraphButtons.js +3 -2
- package/es/CreatedBy/CreatedBy.js +24 -23
- package/es/Dialog/Dialog.js +23 -12
- package/es/ErrorMessage/ErrorMessage.js +46 -34
- package/es/ErrorMessage/ErrorResourceAccessDenied.js +14 -13
- package/es/FactBox/FactBox.js +20 -11
- package/es/Figure/Figure.js +72 -34
- package/es/Figure/FigureBylineExpandButton.js +11 -8
- package/es/Figure/FigureExpandButton.js +11 -8
- package/es/Figure/FigureLicense.js +42 -24
- package/es/Figure/FigureLicenseDialog.js +27 -15
- package/es/Figure/FigureOpenDialogButton.js +29 -26
- package/es/FileList/File.js +24 -22
- package/es/FileList/FileList.js +17 -17
- package/es/Filter/FilterButtons.js +112 -87
- package/es/Filter/FilterCarousel.js +52 -48
- package/es/Filter/FilterList.js +74 -51
- package/es/Filter/FilterListPhone.js +152 -110
- package/es/Filter/ToggleItem.js +24 -13
- package/es/Footer/EditorName.js +8 -2
- package/es/Footer/Footer.js +40 -34
- package/es/Footer/FooterAuth.js +51 -54
- package/es/Footer/FooterLinks.js +43 -36
- package/es/Footer/FooterPrivacy.js +30 -24
- package/es/Footer/FooterText.js +5 -5
- package/es/Footer/privacy_en.js +36 -2
- package/es/Footer/privacy_nb.js +36 -2
- package/es/Footer/privacy_nn.js +34 -2
- package/es/Frontpage/FrontpageAllSubjects.js +75 -64
- package/es/Frontpage/FrontpageFilm.js +27 -27
- package/es/Frontpage/FrontpageHeader.js +20 -21
- package/es/Frontpage/FrontpageInfo.js +5 -5
- package/es/Frontpage/FrontpageMultidisciplinarySubject.js +41 -40
- package/es/Frontpage/FrontpageProgramMenu.js +53 -53
- package/es/Frontpage/FrontpageSearch.js +42 -41
- package/es/Frontpage/FrontpageToolbox.js +29 -27
- package/es/Frontpage/illustrations/Fellesfag.js +85 -81
- package/es/Frontpage/illustrations/FrontpageHeaderIllustration.js +100 -87
- package/es/Frontpage/illustrations/FrontpageIllustrations.js +2 -6
- package/es/Frontpage/illustrations/FrontpageSubjectIllustration.js +162 -155
- package/es/Frontpage/illustrations/MenuFellesfag.js +66 -61
- package/es/Frontpage/illustrations/MenuStudiespesialiserende.js +63 -59
- package/es/Frontpage/illustrations/MenuYrkesfag.js +93 -89
- package/es/Frontpage/illustrations/Studiespesialiserende.js +73 -69
- package/es/Frontpage/illustrations/Yrkesfag.js +104 -100
- package/es/Hero/Hero.js +17 -10
- package/es/Image/Image.js +35 -24
- package/es/Image/ImageLink.js +11 -7
- package/es/Image/LazyLoadImage.js +29 -21
- package/es/InfoBlock/InfoBlock.js +18 -17
- package/es/InfoBox/InfoBox.js +5 -5
- package/es/InfoWidget/InfoWidget.js +54 -58
- package/es/LanguageSelector/LanguageSelector.js +54 -67
- package/es/LanguageSelector/LanguageSelectorContent.js +30 -32
- package/es/Layout/Content.js +6 -4
- package/es/Layout/LayoutItem.js +18 -13
- package/es/Layout/OneColumn.js +6 -4
- package/es/Layout/PageContainer.js +12 -3
- package/es/LearningPaths/LearningPathContent.js +5 -5
- package/es/LearningPaths/LearningPathInformation.js +25 -25
- package/es/LearningPaths/LearningPathLastStepNavigation.js +32 -28
- package/es/LearningPaths/LearningPathMenu.js +48 -47
- package/es/LearningPaths/LearningPathMenuAside.js +30 -43
- package/es/LearningPaths/LearningPathMenuAsideCopyright.js +16 -15
- package/es/LearningPaths/LearningPathMenuContent.js +38 -39
- package/es/LearningPaths/LearningPathMenuIntro.js +25 -31
- package/es/LearningPaths/LearningPathMenuModalWrapper.js +29 -18
- package/es/LearningPaths/LearningPathMobileHeader.js +12 -19
- package/es/LearningPaths/LearningPathMobileStepInfo.js +8 -8
- package/es/LearningPaths/LearningPathSticky.js +22 -22
- package/es/LearningPaths/LearningPathWrapper.js +8 -13
- package/es/Logo/Logo.js +25 -12
- package/es/Logo/SvgLogo.js +25 -18
- package/es/Masthead/Masthead.js +34 -38
- package/es/Masthead/MastheadAuthModal.js +13 -9
- package/es/Masthead/MastheadSearchModal.js +31 -32
- package/es/Masthead/SkipToMainContent.js +6 -7
- package/es/MediaList/MediaList.js +58 -38
- package/es/Messages/MessageBanner.js +15 -19
- package/es/Messages/MessageBox.js +41 -50
- package/es/Messages/MessageBoxTag.js +5 -5
- package/es/MultidisciplinarySubject/Illustrations.js +7 -21
- package/es/MultidisciplinarySubject/List.js +19 -16
- package/es/MultidisciplinarySubject/ListItem.js +30 -32
- package/es/MultidisciplinarySubject/MultidisciplinarySubject.js +40 -34
- package/es/MultidisciplinarySubject/MultidisciplinarySubjectHeader.js +37 -33
- package/es/MyNdla/Resource/Folder.js +46 -63
- package/es/MyNdla/Resource/FolderInput.js +40 -38
- package/es/NDLAFilm/AboutNdlaFilm.js +38 -21
- package/es/NDLAFilm/AllMoviesAlphabetically.js +47 -55
- package/es/NDLAFilm/CategorySelect.js +64 -52
- package/es/NDLAFilm/FilmContentCard.js +25 -26
- package/es/NDLAFilm/FilmContentCardTags.js +10 -12
- package/es/NDLAFilm/FilmMovieList.js +28 -23
- package/es/NDLAFilm/FilmMovieSearch.js +33 -24
- package/es/NDLAFilm/FilmSlideshow.js +73 -59
- package/es/NDLAFilm/MovieGrid.js +26 -23
- package/es/NDLAFilm/NavigationArrow.js +19 -29
- package/es/NDLAFilm/SlideshowIndicator.js +15 -17
- package/es/NDLAFilm/VisualElement.js +4 -6
- package/es/NDLAFilm/filmStyles.js +2 -6
- package/es/Navigation/NavigationBox.js +90 -111
- package/es/Navigation/NavigationHeading.js +15 -15
- package/es/Navigation/NavigationTopicAbout.js +60 -57
- package/es/NoContentBox/NoContentBox.js +16 -5
- package/es/Notion/ConceptNotion.js +68 -55
- package/es/Notion/FigureNotion.js +40 -41
- package/es/Notion/Notion.js +23 -20
- package/es/Notion/NotionImage.js +18 -19
- package/es/Notion/NotionVisualElement.js +18 -17
- package/es/Portrait/Portrait.js +12 -21
- package/es/Programme/Programme.js +32 -27
- package/es/Programme/ProgrammeSubjects.js +27 -22
- package/es/RadioButtonGroup/RadioButtonGroup.js +31 -32
- package/es/RelatedArticleList/RelatedArticleList.js +42 -22
- package/es/Resource/BlockResource.js +85 -84
- package/es/Resource/ListResource.js +107 -108
- package/es/Resource/resourceComponents.js +56 -76
- package/es/ResourceBox/ResourceBox.js +28 -30
- package/es/ResourceGroup/ResourceGroup.js +21 -21
- package/es/ResourceGroup/ResourceItem.js +77 -79
- package/es/ResourceGroup/ResourceList.js +35 -32
- package/es/ResourcesWrapper/ResourcesTitle.js +17 -5
- package/es/ResourcesWrapper/ResourcesTopicTitle.js +76 -49
- package/es/ResourcesWrapper/ResourcesWrapper.js +15 -6
- package/es/Search/ActiveFilterContent.js +10 -10
- package/es/Search/ActiveFilters.js +33 -43
- package/es/Search/ContentTypeResult.js +96 -69
- package/es/Search/ContentTypeResultStyles.js +15 -59
- package/es/Search/LoadingWrapper.js +12 -7
- package/es/Search/SearchField.js +55 -50
- package/es/Search/SearchFieldForm.js +9 -18
- package/es/Search/SearchResult.js +101 -73
- package/es/Search/SearchResultSleeve.js +78 -64
- package/es/Search/ToggleSearchButton.js +15 -10
- package/es/SearchTypeResult/ActiveFilterContent.js +10 -10
- package/es/SearchTypeResult/ActiveFilters.js +50 -53
- package/es/SearchTypeResult/PopupFilter.js +68 -65
- package/es/SearchTypeResult/ResultNavigation.js +29 -28
- package/es/SearchTypeResult/SearchFieldHeader.js +53 -57
- package/es/SearchTypeResult/SearchFilterContent.js +19 -18
- package/es/SearchTypeResult/SearchHeader.js +60 -48
- package/es/SearchTypeResult/SearchItem.js +52 -45
- package/es/SearchTypeResult/SearchItemList.js +56 -54
- package/es/SearchTypeResult/SearchItems.js +16 -18
- package/es/SearchTypeResult/SearchNotionItem.js +86 -77
- package/es/SearchTypeResult/SearchNotionsResult.js +20 -19
- package/es/SearchTypeResult/SearchSubjectItem.js +19 -15
- package/es/SearchTypeResult/SearchSubjectResult.js +10 -12
- package/es/SearchTypeResult/SearchTypeHeader.js +53 -51
- package/es/SearchTypeResult/SearchTypeResult.js +24 -17
- package/es/SearchTypeResult/SearchViewType.js +42 -39
- package/es/SearchTypeResult/components/ItemContexts.js +65 -58
- package/es/SearchTypeResult/components/ItemResourceHeader.js +41 -38
- package/es/SearchTypeResult/components/ItemTopicHeader.js +24 -23
- package/es/SearchTypeResult/components/SubjectFilters.js +32 -21
- package/es/SectionHeading/SectionHeading.js +9 -16
- package/es/SnackBar/DefaultSnackbar.js +18 -18
- package/es/SnackBar/SnackbarProvider.js +24 -26
- package/es/Subject/Subject.js +52 -54
- package/es/Subject/SubjectAbout.js +27 -36
- package/es/Subject/SubjectArchive.js +64 -57
- package/es/Subject/SubjectBanner.js +3 -5
- package/es/Subject/SubjectCarousel.js +94 -93
- package/es/Subject/SubjectHeader.js +20 -25
- package/es/Subject/SubjectLinks.js +26 -15
- package/es/Subject/SubjectNewContent.js +37 -35
- package/es/Subject/SubjectShortcuts.js +32 -27
- package/es/Subject/SubjectSocial.js +12 -9
- package/es/Table/Table.js +39 -21
- package/es/TagSelector/Control.js +11 -14
- package/es/TagSelector/DropdownIndicator.js +15 -11
- package/es/TagSelector/Input.js +9 -8
- package/es/TagSelector/Menu.js +12 -9
- package/es/TagSelector/MenuList.js +11 -14
- package/es/TagSelector/Option.js +13 -10
- package/es/TagSelector/SelectContainer.js +11 -12
- package/es/TagSelector/TagSelector.js +49 -50
- package/es/TagSelector/ValueButton.js +15 -9
- package/es/ToolboxPage/ToolboxInfo.js +18 -14
- package/es/Topic/Loader.js +97 -95
- package/es/Topic/Topic.js +128 -121
- package/es/TopicIntroductionList/TopicIntroduction.js +51 -36
- package/es/TopicIntroductionList/TopicIntroductionList.js +29 -22
- package/es/TopicIntroductionList/TopicIntroductionShortcuts.js +29 -16
- package/es/TopicIntroductionList/TopicShortcutItem.js +22 -12
- package/es/TopicMenu/SubtopicLinkList.js +109 -101
- package/es/TopicMenu/TopicMenu.js +202 -139
- package/es/TopicMenu/TopicMenuButton.js +14 -10
- package/es/Translation/Translation.js +16 -2
- package/es/Translation/TranslationBox.js +10 -8
- package/es/Translation/TranslationLine.js +23 -7
- package/es/TreeStructure/AddFolderButton.js +33 -34
- package/es/TreeStructure/ComboboxButton.js +32 -32
- package/es/TreeStructure/FolderItem.js +55 -58
- package/es/TreeStructure/FolderItems.js +59 -51
- package/es/TreeStructure/NavigationLink.js +10 -17
- package/es/TreeStructure/TreeStructure.js +64 -75
- package/es/User/AuthModal.js +48 -45
- package/es/User/UserInfo.js +51 -40
- package/es/internal-icons/Book.js +8 -6
- package/es/internal-icons/Download.js +9 -7
- package/es/internal-icons/Embed.js +8 -6
- package/es/internal-icons/InsertTemplate.js +8 -6
- package/es/internal-icons/OpenWindow.js +8 -6
- package/es/locale/LocaleProvider.js +13 -7
- package/es/locale/messages-en.js +1 -1
- package/es/locale/messages-nb.js +1 -1
- package/es/locale/messages-nn.js +1 -1
- package/es/locale/messages-se.js +1 -1
- package/es/locale/messages-sma.js +1 -1
- package/es/model/SubjectTypes.js +1 -0
- package/es/utils/createUniversalPortal.js +6 -4
- package/lib/Animation/DisplayOnPageYOffset.js +6 -5
- package/lib/Animation/Fade.js +12 -7
- package/lib/Article/Article.js +91 -69
- package/lib/Article/ArticleAccessMessage.js +11 -9
- package/lib/Article/ArticleByline.js +87 -71
- package/lib/Article/ArticleContent.js +8 -4
- package/lib/Article/ArticleFavoritesButton.js +18 -17
- package/lib/Article/ArticleFootNotes.js +27 -21
- package/lib/Article/ArticleHeaderWrapper.js +42 -30
- package/lib/Article/ArticleNotions.js +58 -51
- package/lib/Article/ArticleSideBar.js +52 -44
- package/lib/Aside/Aside.js +13 -6
- package/lib/AudioPlayer/AudioPlayer.js +98 -94
- package/lib/AudioPlayer/Controls.js +181 -193
- package/lib/AudioPlayer/SpeechControl.js +20 -19
- package/lib/AudioPlayer/initAudioPlayers.js +4 -4
- package/lib/AuthorInfo/AuthorInfo.js +23 -18
- package/lib/BannerCard/BannerCard.js +27 -30
- package/lib/BlogPosts/BlogPost.js +32 -29
- package/lib/BlogPosts/BlogPostWrapper.js +7 -8
- package/lib/Breadcrumb/ActionBreadcrumb.js +23 -34
- package/lib/Breadcrumb/Breadcrumb.js +31 -34
- package/lib/Breadcrumb/BreadcrumbItem.js +24 -27
- package/lib/Breadcrumb/HeaderBreadcrumb.js +18 -29
- package/lib/Breadcrumb/HomeBreadcrumb.js +29 -37
- package/lib/Breadcrumblist/Breadcrumblist.js +61 -62
- package/lib/CompetenceGoalTab/CompetenceGoalItem.js +33 -35
- package/lib/CompetenceGoalTab/CompetenceGoalTab.js +44 -41
- package/lib/CompetenceGoalTab/CompetenceItem.js +65 -64
- package/lib/CompetenceGoalTab/SearchButton.js +20 -17
- package/lib/CompetenceGoals/CompetenceGoalsDialog.js +40 -30
- package/lib/ComponentCursor/ComponentCursor.js +19 -33
- package/lib/ContentCard/ContentCard.js +38 -36
- package/lib/ContentLoader/index.js +56 -44
- package/lib/ContentPlaceholder/ContentPlaceholder.js +8 -12
- package/lib/ContentTypeBadge/ContentTypeBadge.js +27 -21
- package/lib/CopyParagraphButton/CopyParagraphButton.js +32 -31
- package/lib/CopyParagraphButton/initCopyParagraphButtons.js +3 -3
- package/lib/CreatedBy/CreatedBy.js +24 -24
- package/lib/Dialog/Dialog.js +22 -13
- package/lib/ErrorMessage/ErrorMessage.js +46 -33
- package/lib/ErrorMessage/ErrorResourceAccessDenied.js +14 -14
- package/lib/FactBox/FactBox.js +19 -12
- package/lib/Figure/Figure.js +70 -35
- package/lib/Figure/FigureBylineExpandButton.js +10 -9
- package/lib/Figure/FigureExpandButton.js +10 -9
- package/lib/Figure/FigureLicense.js +40 -25
- package/lib/Figure/FigureLicenseDialog.js +26 -16
- package/lib/Figure/FigureOpenDialogButton.js +28 -27
- package/lib/FileList/File.js +24 -23
- package/lib/FileList/FileList.js +17 -18
- package/lib/Filter/FilterButtons.js +111 -88
- package/lib/Filter/FilterCarousel.js +52 -47
- package/lib/Filter/FilterList.js +73 -53
- package/lib/Filter/FilterListPhone.js +150 -111
- package/lib/Filter/ToggleItem.js +23 -14
- package/lib/Footer/EditorName.js +7 -3
- package/lib/Footer/Footer.js +39 -35
- package/lib/Footer/FooterAuth.js +50 -48
- package/lib/Footer/FooterLinks.js +42 -37
- package/lib/Footer/FooterPrivacy.js +30 -25
- package/lib/Footer/FooterText.js +6 -6
- package/lib/Footer/privacy_en.js +35 -3
- package/lib/Footer/privacy_nb.js +35 -3
- package/lib/Footer/privacy_nn.js +33 -3
- package/lib/Frontpage/FrontpageAllSubjects.d.ts +1 -0
- package/lib/Frontpage/FrontpageAllSubjects.js +74 -66
- package/lib/Frontpage/FrontpageFilm.js +27 -26
- package/lib/Frontpage/FrontpageHeader.js +20 -22
- package/lib/Frontpage/FrontpageInfo.js +6 -6
- package/lib/Frontpage/FrontpageMultidisciplinarySubject.js +41 -41
- package/lib/Frontpage/FrontpageProgramMenu.js +53 -54
- package/lib/Frontpage/FrontpageSearch.js +42 -42
- package/lib/Frontpage/FrontpageToolbox.js +29 -28
- package/lib/Frontpage/illustrations/Fellesfag.js +84 -82
- package/lib/Frontpage/illustrations/FrontpageHeaderIllustration.js +99 -88
- package/lib/Frontpage/illustrations/FrontpageIllustrations.js +2 -6
- package/lib/Frontpage/illustrations/FrontpageSubjectIllustration.js +161 -154
- package/lib/Frontpage/illustrations/MenuFellesfag.js +65 -62
- package/lib/Frontpage/illustrations/MenuStudiespesialiserende.js +62 -60
- package/lib/Frontpage/illustrations/MenuYrkesfag.js +92 -90
- package/lib/Frontpage/illustrations/Studiespesialiserende.js +72 -70
- package/lib/Frontpage/illustrations/Yrkesfag.js +103 -101
- package/lib/Hero/Hero.js +17 -11
- package/lib/Image/Image.js +35 -25
- package/lib/Image/ImageLink.js +12 -8
- package/lib/Image/LazyLoadImage.js +27 -22
- package/lib/InfoBlock/InfoBlock.js +18 -18
- package/lib/InfoBox/InfoBox.js +6 -6
- package/lib/InfoWidget/InfoWidget.js +56 -59
- package/lib/LanguageSelector/LanguageSelector.js +54 -66
- package/lib/LanguageSelector/LanguageSelectorContent.js +30 -32
- package/lib/Layout/Content.js +6 -5
- package/lib/Layout/LayoutItem.js +18 -14
- package/lib/Layout/OneColumn.js +6 -5
- package/lib/Layout/PageContainer.js +12 -11
- package/lib/LearningPaths/LearningPathContent.js +6 -6
- package/lib/LearningPaths/LearningPathInformation.js +25 -26
- package/lib/LearningPaths/LearningPathLastStepNavigation.js +32 -27
- package/lib/LearningPaths/LearningPathMenu.js +47 -46
- package/lib/LearningPaths/LearningPathMenuAside.js +30 -42
- package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +16 -16
- package/lib/LearningPaths/LearningPathMenuContent.js +38 -38
- package/lib/LearningPaths/LearningPathMenuIntro.js +25 -30
- package/lib/LearningPaths/LearningPathMenuModalWrapper.js +27 -17
- package/lib/LearningPaths/LearningPathMobileHeader.js +12 -19
- package/lib/LearningPaths/LearningPathMobileStepInfo.js +9 -9
- package/lib/LearningPaths/LearningPathSticky.js +22 -21
- package/lib/LearningPaths/LearningPathWrapper.js +9 -12
- package/lib/Logo/Logo.js +23 -21
- package/lib/Logo/SvgLogo.js +24 -19
- package/lib/Masthead/Masthead.js +33 -37
- package/lib/Masthead/MastheadAuthModal.js +13 -10
- package/lib/Masthead/MastheadSearchModal.js +30 -31
- package/lib/Masthead/SkipToMainContent.js +7 -8
- package/lib/MediaList/MediaList.js +58 -40
- package/lib/Messages/MessageBanner.js +15 -20
- package/lib/Messages/MessageBox.js +41 -49
- package/lib/Messages/MessageBoxTag.js +6 -6
- package/lib/MultidisciplinarySubject/Illustrations.js +7 -21
- package/lib/MultidisciplinarySubject/List.js +19 -17
- package/lib/MultidisciplinarySubject/ListItem.js +30 -33
- package/lib/MultidisciplinarySubject/MultidisciplinarySubject.js +39 -35
- package/lib/MultidisciplinarySubject/MultidisciplinarySubjectHeader.js +36 -34
- package/lib/MyNdla/Resource/Folder.js +46 -61
- package/lib/MyNdla/Resource/FolderInput.js +39 -32
- package/lib/NDLAFilm/AboutNdlaFilm.js +38 -22
- package/lib/NDLAFilm/AllMoviesAlphabetically.js +47 -54
- package/lib/NDLAFilm/CategorySelect.js +64 -51
- package/lib/NDLAFilm/FilmContentCard.js +25 -27
- package/lib/NDLAFilm/FilmContentCardTags.js +11 -13
- package/lib/NDLAFilm/FilmMovieList.js +28 -24
- package/lib/NDLAFilm/FilmMovieSearch.js +33 -25
- package/lib/NDLAFilm/FilmSlideshow.js +72 -58
- package/lib/NDLAFilm/MovieGrid.js +26 -24
- package/lib/NDLAFilm/NavigationArrow.js +20 -28
- package/lib/NDLAFilm/SlideshowIndicator.js +16 -18
- package/lib/NDLAFilm/VisualElement.js +5 -7
- package/lib/NDLAFilm/filmStyles.js +2 -6
- package/lib/Navigation/NavigationBox.js +90 -110
- package/lib/Navigation/NavigationHeading.js +15 -14
- package/lib/Navigation/NavigationTopicAbout.js +59 -56
- package/lib/NoContentBox/NoContentBox.js +15 -6
- package/lib/Notion/ConceptNotion.js +67 -50
- package/lib/Notion/FigureNotion.js +40 -37
- package/lib/Notion/Notion.js +22 -21
- package/lib/Notion/NotionImage.js +19 -20
- package/lib/Notion/NotionVisualElement.js +19 -16
- package/lib/Portrait/Portrait.js +13 -21
- package/lib/Programme/Programme.js +32 -28
- package/lib/Programme/ProgrammeSubjects.js +26 -23
- package/lib/RadioButtonGroup/RadioButtonGroup.js +31 -33
- package/lib/RelatedArticleList/RelatedArticleList.js +41 -23
- package/lib/Resource/BlockResource.js +84 -78
- package/lib/Resource/ListResource.js +106 -102
- package/lib/Resource/resourceComponents.js +55 -70
- package/lib/ResourceBox/ResourceBox.js +28 -31
- package/lib/ResourceGroup/ResourceGroup.js +21 -22
- package/lib/ResourceGroup/ResourceItem.js +76 -78
- package/lib/ResourceGroup/ResourceList.js +35 -31
- package/lib/ResourcesWrapper/ResourcesTitle.js +16 -13
- package/lib/ResourcesWrapper/ResourcesTopicTitle.js +75 -48
- package/lib/ResourcesWrapper/ResourcesWrapper.js +14 -7
- package/lib/Search/ActiveFilterContent.js +10 -11
- package/lib/Search/ActiveFilters.js +34 -42
- package/lib/Search/ContentTypeResult.js +92 -68
- package/lib/Search/ContentTypeResultStyles.js +15 -59
- package/lib/Search/LoadingWrapper.js +12 -8
- package/lib/Search/SearchField.js +57 -51
- package/lib/Search/SearchFieldForm.js +10 -17
- package/lib/Search/SearchResult.js +101 -74
- package/lib/Search/SearchResultSleeve.js +78 -65
- package/lib/Search/ToggleSearchButton.js +15 -11
- package/lib/SearchTypeResult/ActiveFilterContent.js +10 -11
- package/lib/SearchTypeResult/ActiveFilters.js +50 -52
- package/lib/SearchTypeResult/PopupFilter.js +68 -66
- package/lib/SearchTypeResult/ResultNavigation.js +29 -29
- package/lib/SearchTypeResult/SearchFieldHeader.js +53 -58
- package/lib/SearchTypeResult/SearchFilterContent.js +19 -19
- package/lib/SearchTypeResult/SearchHeader.js +59 -49
- package/lib/SearchTypeResult/SearchItem.js +51 -46
- package/lib/SearchTypeResult/SearchItemList.js +55 -55
- package/lib/SearchTypeResult/SearchItems.js +17 -19
- package/lib/SearchTypeResult/SearchNotionItem.js +85 -78
- package/lib/SearchTypeResult/SearchNotionsResult.js +20 -20
- package/lib/SearchTypeResult/SearchSubjectItem.js +18 -16
- package/lib/SearchTypeResult/SearchSubjectResult.js +11 -13
- package/lib/SearchTypeResult/SearchTypeHeader.js +54 -53
- package/lib/SearchTypeResult/SearchTypeResult.js +24 -25
- package/lib/SearchTypeResult/SearchViewType.js +42 -40
- package/lib/SearchTypeResult/components/ItemContexts.js +64 -59
- package/lib/SearchTypeResult/components/ItemResourceHeader.js +40 -39
- package/lib/SearchTypeResult/components/ItemTopicHeader.js +23 -24
- package/lib/SearchTypeResult/components/SubjectFilters.js +31 -22
- package/lib/SectionHeading/SectionHeading.js +10 -15
- package/lib/SnackBar/DefaultSnackbar.js +18 -19
- package/lib/SnackBar/SnackbarProvider.js +24 -25
- package/lib/Subject/Subject.js +52 -53
- package/lib/Subject/SubjectAbout.js +27 -35
- package/lib/Subject/SubjectArchive.js +63 -58
- package/lib/Subject/SubjectBanner.js +4 -6
- package/lib/Subject/SubjectCarousel.js +96 -96
- package/lib/Subject/SubjectHeader.js +20 -24
- package/lib/Subject/SubjectLinks.js +26 -16
- package/lib/Subject/SubjectNewContent.js +37 -36
- package/lib/Subject/SubjectShortcuts.js +32 -28
- package/lib/Subject/SubjectSocial.js +12 -10
- package/lib/Table/Table.js +38 -22
- package/lib/TagSelector/Control.js +12 -8
- package/lib/TagSelector/DropdownIndicator.js +16 -12
- package/lib/TagSelector/Input.js +8 -6
- package/lib/TagSelector/Menu.js +12 -8
- package/lib/TagSelector/MenuList.js +12 -8
- package/lib/TagSelector/Option.js +13 -11
- package/lib/TagSelector/SelectContainer.js +12 -13
- package/lib/TagSelector/TagSelector.js +49 -51
- package/lib/TagSelector/ValueButton.js +15 -10
- package/lib/ToolboxPage/ToolboxInfo.js +17 -15
- package/lib/Topic/Loader.js +97 -96
- package/lib/Topic/Topic.js +127 -120
- package/lib/TopicIntroductionList/TopicIntroduction.js +50 -37
- package/lib/TopicIntroductionList/TopicIntroductionList.js +28 -23
- package/lib/TopicIntroductionList/TopicIntroductionShortcuts.js +33 -21
- package/lib/TopicIntroductionList/TopicShortcutItem.js +21 -13
- package/lib/TopicMenu/SubtopicLinkList.js +112 -104
- package/lib/TopicMenu/TopicMenu.js +207 -144
- package/lib/TopicMenu/TopicMenuButton.js +13 -9
- package/lib/Translation/Translation.js +15 -10
- package/lib/Translation/TranslationBox.js +11 -9
- package/lib/Translation/TranslationLine.js +21 -8
- package/lib/TreeStructure/AddFolderButton.js +35 -37
- package/lib/TreeStructure/ComboboxButton.js +32 -33
- package/lib/TreeStructure/FolderItem.js +55 -59
- package/lib/TreeStructure/FolderItems.js +58 -52
- package/lib/TreeStructure/NavigationLink.js +10 -11
- package/lib/TreeStructure/TreeStructure.js +64 -74
- package/lib/User/AuthModal.js +48 -46
- package/lib/User/UserInfo.js +52 -36
- package/lib/internal-icons/Book.js +8 -7
- package/lib/internal-icons/Download.js +9 -8
- package/lib/internal-icons/Embed.js +8 -7
- package/lib/internal-icons/InsertTemplate.js +8 -7
- package/lib/internal-icons/OpenWindow.js +8 -7
- package/lib/locale/LocaleProvider.js +12 -8
- package/lib/locale/messages-en.d.ts +1 -0
- package/lib/locale/messages-en.js +1 -1
- package/lib/locale/messages-nb.d.ts +1 -0
- package/lib/locale/messages-nb.js +1 -1
- package/lib/locale/messages-nn.d.ts +1 -0
- package/lib/locale/messages-nn.js +1 -1
- package/lib/locale/messages-se.d.ts +1 -0
- package/lib/locale/messages-se.js +1 -1
- package/lib/locale/messages-sma.d.ts +1 -0
- package/lib/locale/messages-sma.js +1 -1
- package/lib/model/SubjectTypes.d.ts +1 -0
- package/lib/model/SubjectTypes.js +3 -1
- package/lib/utils/createUniversalPortal.js +6 -5
- package/package.json +15 -15
- package/src/AudioPlayer/Controls.tsx +2 -2
- package/src/AudioPlayer/SpeechControl.tsx +2 -2
- package/src/Frontpage/FrontpageAllSubjects.tsx +8 -7
- package/src/locale/messages-en.ts +1 -0
- package/src/locale/messages-nb.ts +1 -0
- package/src/locale/messages-nn.ts +1 -0
- package/src/locale/messages-se.ts +1 -0
- package/src/locale/messages-sma.ts +1 -0
- package/src/model/SubjectTypes.ts +1 -0
- 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 =
|
|
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
|
|
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,
|
|
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,
|
|
89
|
+
return (0, _jsxRuntime.jsx)(_tooltip["default"], {
|
|
86
90
|
tooltip: label,
|
|
87
|
-
stooltipContainerClass: "c-topic-menu__tooltipContainer"
|
|
88
|
-
|
|
89
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
},
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
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
|
|
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, ";}
|
|
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,
|
|
43
|
+
return (0, _jsxRuntime.jsxs)(_button.ButtonV2, _objectSpread(_objectSpread({
|
|
42
44
|
inverted: ndlaFilm,
|
|
43
45
|
variant: "outline",
|
|
44
46
|
css: style
|
|
45
|
-
}, rest),
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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,
|
|
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,
|
|
19
|
-
className: "c-translation-box"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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;
|