@ndla/ui 55.0.12-alpha.0 → 55.0.14-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all-aout.js +0 -0
- package/dist/all.css +1 -0
- package/dist/panda.buildinfo.json +289 -0
- package/dist/styles.css +1197 -0
- package/es/Article/Article.js +3 -4
- package/es/Article/ArticleByline.js +9 -9
- package/es/Article/ArticleFootNotes.js +4 -4
- package/es/Article/ArticleParagraph.js +11 -13
- package/es/AudioPlayer/AudioPlayer.js +142 -163
- package/es/AudioPlayer/Controls.js +187 -203
- package/es/AudioPlayer/SpeechControl.js +13 -11
- package/es/BlogPost/BlogPost.js +85 -23
- package/es/CampaignBlock/CampaignBlock.js +103 -69
- package/es/CodeBlock/CodeBlock.js +88 -96
- package/es/Concept/Concept.js +69 -0
- package/es/ContactBlock/ContactBlock.js +54 -40
- package/es/ContentLoader/index.js +7 -7
- package/es/ContentTypeBadge/ContentTypeBadgeNew.js +48 -0
- package/es/CopyParagraphButton/CopyParagraphButton.js +4 -4
- package/es/Embed/AudioEmbed.js +6 -11
- package/es/Embed/BrightcoveEmbed.js +25 -39
- package/es/Embed/CodeEmbed.js +58 -10
- package/es/Embed/ConceptEmbed.js +57 -306
- package/es/Embed/ConceptListEmbed.js +18 -24
- package/es/Embed/ContentLinkEmbed.js +10 -10
- package/es/Embed/CopyrightEmbed.js +4 -21
- package/es/Embed/EmbedErrorPlaceholder.js +32 -17
- package/es/Embed/ExternalEmbed.js +17 -28
- package/es/Embed/FootnoteEmbed.js +14 -11
- package/es/Embed/GlossEmbed.js +68 -0
- package/es/Embed/H5pEmbed.js +20 -21
- package/es/Embed/IframeEmbed.js +17 -15
- package/es/Embed/ImageEmbed.js +167 -122
- package/es/Embed/InlineTriggerButton.js +70 -0
- package/es/Embed/RelatedContentEmbed.js +8 -10
- package/es/Embed/UnknownEmbed.js +9 -9
- package/es/Embed/UuDisclaimerEmbed.js +16 -27
- package/es/Embed/index.js +1 -3
- package/es/ErrorMessage/ErrorMessage.js +42 -23
- package/es/ErrorMessage/ErrorResourceAccessDenied.js +8 -6
- package/es/FactBox/FactBox.js +118 -47
- package/es/FileList/File.js +1 -1
- package/es/FileList/Format.js +3 -3
- package/es/FileList/PdfFile.js +23 -5
- package/es/FrontpageArticle/FrontpageArticle.js +1 -1
- package/es/Gloss/Gloss.js +122 -94
- package/es/Gloss/GlossExample.js +49 -52
- package/es/Grid/Grid.js +1 -1
- package/es/KeyFigure/KeyFigure.js +2 -2
- package/es/LanguageSelector/LanguageSelector.js +2 -2
- package/es/LicenseByline/EmbedByline.js +5 -6
- package/es/LicenseByline/LicenseDescription.js +1 -1
- package/es/LicenseByline/LicenseLink.js +1 -2
- package/es/LinkBlock/LinkBlock.js +61 -33
- package/es/LinkBlock/LinkBlockSection.js +9 -6
- package/es/Logo/Logo.js +1 -30
- package/es/Messages/MessageBox.js +1 -1
- package/es/RelatedArticleList/RelatedArticleList.js +73 -90
- package/es/ResourceBox/ResourceBox.js +67 -44
- package/es/Search/ActiveFilters.js +1 -1
- package/es/Search/ContentTypeResult.js +9 -6
- package/es/Search/ContentTypeResultStyles.js +1 -1
- package/es/Search/IsPathToHighlight.js +1 -1
- package/es/Search/SearchField.js +6 -8
- package/es/Search/SearchResult.js +14 -19
- package/es/Search/SearchResultSleeve.js +14 -16
- package/es/SnackBar/SnackbarProvider.js +8 -11
- package/es/TagSelector/TagSelector.js +124 -131
- package/es/TreeStructure/AddFolderButton.js +4 -6
- package/es/TreeStructure/ComboboxButton.js +4 -7
- package/es/TreeStructure/FolderItem.js +12 -15
- package/es/TreeStructure/FolderItems.js +3 -3
- package/es/TreeStructure/TreeStructure.js +9 -12
- package/es/TreeStructure/helperFunctions.js +1 -1
- package/es/ZendeskButton/ZendeskButton.js +55 -0
- package/es/i18n/formatNestedMessages.js +1 -1
- package/es/i18n/index.js +2 -1
- package/es/i18n/useComponentTranslations.js +83 -0
- package/es/index.js +6 -12
- package/es/locale/messages-en.js +39 -12
- package/es/locale/messages-nb.js +39 -12
- package/es/locale/messages-nn.js +39 -12
- package/es/locale/messages-se.js +39 -12
- package/es/locale/messages-sma.js +39 -12
- package/es/model/ContentType.js +3 -0
- package/es/styles.css +1197 -0
- package/es/utils/relativeUrl.js +3 -3
- package/lib/Article/Article.js +3 -4
- package/lib/Article/ArticleByline.js +9 -9
- package/lib/Article/ArticleFootNotes.js +4 -4
- package/lib/Article/ArticleParagraph.js +12 -14
- package/lib/AudioPlayer/AudioPlayer.d.ts +1 -2
- package/lib/AudioPlayer/AudioPlayer.js +142 -162
- package/lib/AudioPlayer/Controls.js +190 -205
- package/lib/AudioPlayer/SpeechControl.js +13 -11
- package/lib/BlogPost/BlogPost.d.ts +2 -2
- package/lib/BlogPost/BlogPost.js +85 -24
- package/lib/CampaignBlock/CampaignBlock.d.ts +2 -2
- package/lib/CampaignBlock/CampaignBlock.js +106 -69
- package/lib/CodeBlock/CodeBlock.d.ts +5 -8
- package/lib/CodeBlock/CodeBlock.js +88 -96
- package/lib/Concept/Concept.d.ts +18 -0
- package/lib/Concept/Concept.js +75 -0
- package/lib/ContactBlock/ContactBlock.js +55 -43
- package/lib/ContentLoader/index.js +7 -7
- package/lib/ContentTypeBadge/ContentTypeBadgeNew.d.ts +17 -0
- package/lib/ContentTypeBadge/ContentTypeBadgeNew.js +56 -0
- package/lib/CopyParagraphButton/CopyParagraphButton.js +4 -4
- package/lib/Embed/AudioEmbed.js +7 -12
- package/lib/Embed/BrightcoveEmbed.d.ts +1 -2
- package/lib/Embed/BrightcoveEmbed.js +28 -40
- package/lib/Embed/CodeEmbed.js +56 -8
- package/lib/Embed/ConceptEmbed.d.ts +15 -21
- package/lib/Embed/ConceptEmbed.js +58 -306
- package/lib/Embed/ConceptListEmbed.js +21 -26
- package/lib/Embed/ContentLinkEmbed.js +10 -11
- package/lib/Embed/CopyrightEmbed.js +6 -22
- package/lib/Embed/EmbedErrorPlaceholder.d.ts +4 -3
- package/lib/Embed/EmbedErrorPlaceholder.js +32 -18
- package/lib/Embed/ExternalEmbed.d.ts +1 -2
- package/lib/Embed/ExternalEmbed.js +20 -29
- package/lib/Embed/FootnoteEmbed.js +14 -12
- package/lib/Embed/GlossEmbed.d.ts +13 -0
- package/lib/Embed/GlossEmbed.js +76 -0
- package/lib/Embed/H5pEmbed.d.ts +1 -2
- package/lib/Embed/H5pEmbed.js +22 -21
- package/lib/Embed/IframeEmbed.d.ts +1 -2
- package/lib/Embed/IframeEmbed.js +19 -17
- package/lib/Embed/ImageEmbed.d.ts +1 -2
- package/lib/Embed/ImageEmbed.js +167 -123
- package/lib/Embed/InlineTriggerButton.d.ts +11 -0
- package/lib/Embed/InlineTriggerButton.js +76 -0
- package/lib/Embed/RelatedContentEmbed.js +8 -10
- package/lib/Embed/UnknownEmbed.js +9 -10
- package/lib/Embed/UuDisclaimerEmbed.js +18 -28
- package/lib/Embed/index.d.ts +2 -3
- package/lib/Embed/index.js +2 -9
- package/lib/ErrorMessage/ErrorMessage.js +41 -24
- package/lib/ErrorMessage/ErrorResourceAccessDenied.js +7 -6
- package/lib/FactBox/FactBox.d.ts +0 -1
- package/lib/FactBox/FactBox.js +119 -46
- package/lib/FileList/File.js +1 -1
- package/lib/FileList/Format.js +3 -3
- package/lib/FileList/PdfFile.js +23 -5
- package/lib/FrontpageArticle/FrontpageArticle.js +1 -1
- package/lib/Gloss/Gloss.d.ts +10 -2
- package/lib/Gloss/Gloss.js +122 -93
- package/lib/Gloss/GlossExample.d.ts +3 -5
- package/lib/Gloss/GlossExample.js +49 -53
- package/lib/Grid/Grid.js +1 -1
- package/lib/KeyFigure/KeyFigure.js +2 -2
- package/lib/LanguageSelector/LanguageSelector.js +2 -2
- package/lib/LicenseByline/EmbedByline.js +5 -6
- package/lib/LicenseByline/LicenseDescription.js +1 -1
- package/lib/LicenseByline/LicenseLink.js +1 -2
- package/lib/LinkBlock/LinkBlock.js +62 -34
- package/lib/LinkBlock/LinkBlockSection.js +9 -7
- package/lib/Logo/Logo.d.ts +1 -3
- package/lib/Logo/Logo.js +2 -30
- package/lib/Messages/MessageBox.js +1 -1
- package/lib/RelatedArticleList/RelatedArticleList.d.ts +4 -4
- package/lib/RelatedArticleList/RelatedArticleList.js +77 -93
- package/lib/ResourceBox/ResourceBox.js +67 -45
- package/lib/Search/ActiveFilters.js +1 -1
- package/lib/Search/ContentTypeResult.js +9 -6
- package/lib/Search/ContentTypeResultStyles.js +1 -1
- package/lib/Search/IsPathToHighlight.js +1 -1
- package/lib/Search/SearchField.js +6 -8
- package/lib/Search/SearchResult.js +14 -19
- package/lib/Search/SearchResultSleeve.js +14 -16
- package/lib/SnackBar/SnackbarProvider.js +8 -11
- package/lib/TagSelector/TagSelector.d.ts +27 -12
- package/lib/TagSelector/TagSelector.js +126 -131
- package/lib/TreeStructure/AddFolderButton.js +4 -6
- package/lib/TreeStructure/ComboboxButton.js +4 -7
- package/lib/TreeStructure/FolderItem.js +12 -15
- package/lib/TreeStructure/FolderItems.js +3 -3
- package/lib/TreeStructure/TreeStructure.js +9 -12
- package/lib/TreeStructure/helperFunctions.js +1 -1
- package/lib/ZendeskButton/ZendeskButton.d.ts +19 -0
- package/lib/ZendeskButton/ZendeskButton.js +61 -0
- package/lib/i18n/formatNestedMessages.js +1 -1
- package/lib/i18n/index.d.ts +1 -0
- package/lib/i18n/index.js +20 -1
- package/lib/i18n/useComponentTranslations.d.ts +14 -0
- package/lib/i18n/useComponentTranslations.js +93 -0
- package/lib/index.d.ts +7 -14
- package/lib/index.js +77 -89
- package/lib/locale/messages-en.d.ts +27 -0
- package/lib/locale/messages-en.js +39 -12
- package/lib/locale/messages-nb.d.ts +27 -0
- package/lib/locale/messages-nb.js +39 -12
- package/lib/locale/messages-nn.d.ts +27 -0
- package/lib/locale/messages-nn.js +39 -12
- package/lib/locale/messages-se.d.ts +27 -0
- package/lib/locale/messages-se.js +39 -12
- package/lib/locale/messages-sma.d.ts +27 -0
- package/lib/locale/messages-sma.js +39 -12
- package/lib/model/ContentType.d.ts +3 -0
- package/lib/model/ContentType.js +4 -1
- package/lib/styles.css +1197 -0
- package/lib/types.d.ts +1 -0
- package/lib/utils/relativeUrl.js +3 -3
- package/package.json +18 -15
- package/src/Article/ArticleParagraph.tsx +11 -9
- package/src/AudioPlayer/AudioPlayer.tsx +139 -176
- package/src/AudioPlayer/Controls.tsx +210 -250
- package/src/AudioPlayer/SpeechControl.tsx +9 -7
- package/src/BlogPost/BlogPost.tsx +82 -58
- package/src/CampaignBlock/CampaignBlock.tsx +92 -55
- package/src/CodeBlock/CodeBlock.stories.tsx +0 -43
- package/src/CodeBlock/CodeBlock.tsx +91 -202
- package/src/Concept/Concept.stories.tsx +142 -0
- package/src/Concept/Concept.tsx +73 -0
- package/src/ContactBlock/ContactBlock.tsx +10 -2
- package/src/ContentTypeBadge/ContentTypeBadgeNew.stories.tsx +70 -0
- package/src/ContentTypeBadge/ContentTypeBadgeNew.tsx +69 -0
- package/src/Embed/AudioEmbed.tsx +2 -2
- package/src/Embed/BrightcoveEmbed.stories.tsx +0 -3
- package/src/Embed/BrightcoveEmbed.tsx +17 -19
- package/src/Embed/CodeEmbed.stories.tsx +95 -0
- package/src/Embed/CodeEmbed.tsx +62 -7
- package/src/Embed/ConceptEmbed.stories.tsx +1 -105
- package/src/Embed/ConceptEmbed.tsx +60 -393
- package/src/Embed/ConceptListEmbed.tsx +20 -19
- package/src/Embed/ContentLinkEmbed.tsx +8 -10
- package/src/Embed/CopyrightEmbed.tsx +1 -11
- package/src/Embed/EmbedErrorPlaceholder.tsx +31 -28
- package/src/Embed/ExternalEmbed.tsx +14 -17
- package/src/Embed/FootnoteEmbed.stories.tsx +2 -5
- package/src/Embed/FootnoteEmbed.tsx +13 -16
- package/src/Embed/GlossEmbed.stories.tsx +140 -0
- package/src/Embed/GlossEmbed.tsx +64 -0
- package/src/Embed/H5pEmbed.tsx +22 -16
- package/src/Embed/IframeEmbed.tsx +12 -6
- package/src/Embed/ImageEmbed.stories.tsx +53 -11
- package/src/Embed/ImageEmbed.tsx +162 -166
- package/src/Embed/InlineTriggerButton.tsx +72 -0
- package/src/Embed/UnknownEmbed.tsx +6 -7
- package/src/Embed/UuDisclaimerEmbed.stories.tsx +4 -4
- package/src/Embed/UuDisclaimerEmbed.tsx +17 -25
- package/src/Embed/index.ts +2 -3
- package/src/ErrorMessage/ErrorMessage.tsx +40 -29
- package/src/ErrorMessage/ErrorResourceAccessDenied.tsx +8 -6
- package/src/FactBox/FactBox.tsx +115 -115
- package/src/FactBox/Factbox.stories.tsx +43 -27
- package/src/FileList/FileList.stories.tsx +6 -1
- package/src/FileList/PdfFile.tsx +22 -5
- package/src/Gloss/Gloss.stories.tsx +107 -1
- package/src/Gloss/Gloss.tsx +143 -156
- package/src/Gloss/GlossExample.tsx +51 -77
- package/src/LinkBlock/LinkBlock.stories.tsx +8 -10
- package/src/LinkBlock/LinkBlock.tsx +54 -59
- package/src/LinkBlock/LinkBlockSection.tsx +9 -12
- package/src/Logo/Logo.stories.tsx +0 -1
- package/src/Logo/Logo.tsx +2 -30
- package/src/RelatedArticleList/RelatedArticleList.tsx +69 -88
- package/src/ResourceBox/ResourceBox.tsx +65 -73
- package/src/Search/ContentTypeResult.tsx +9 -3
- package/src/Search/SearchResultSleeve.tsx +5 -2
- package/src/TagSelector/TagSelector.stories.tsx +92 -68
- package/src/TagSelector/TagSelector.tsx +161 -126
- package/src/ZendeskButton/ZendeskButton.tsx +58 -0
- package/src/i18n/index.ts +5 -0
- package/src/i18n/useComponentTranslations.ts +72 -0
- package/src/index.ts +27 -18
- package/src/locale/messages-en.ts +29 -2
- package/src/locale/messages-nb.ts +29 -2
- package/src/locale/messages-nn.ts +29 -2
- package/src/locale/messages-se.ts +29 -2
- package/src/locale/messages-sma.ts +29 -2
- package/src/model/ContentType.ts +3 -0
- package/src/types.ts +2 -0
- package/es/DefinitionList/DefinitionDescription.js +0 -28
- package/es/DefinitionList/DefinitionTerm.js +0 -28
- package/es/DefinitionList/index.js +0 -10
- package/es/Embed/conceptComponents.js +0 -155
- package/es/ExpandableBox/ExpandableBox.js +0 -29
- package/es/ExpandableBox/index.js +0 -9
- package/es/Figure/Figure.js +0 -73
- package/es/Figure/index.js +0 -9
- package/es/FramedContent/FramedContent.js +0 -28
- package/es/FramedContent/index.js +0 -10
- package/es/Image/Image.js +0 -100
- package/es/Image/ImageLink.js +0 -39
- package/es/Image/index.js +0 -12
- package/es/LetterFilter/LetterFilter.js +0 -54
- package/es/LetterFilter/alphabet.js +0 -9
- package/es/LetterFilter/index.js +0 -10
- package/es/Notion/Notion.js +0 -76
- package/es/Notion/NotionImage.js +0 -91
- package/es/Notion/index.js +0 -9
- package/es/Table/Table.js +0 -141
- package/es/Table/index.js +0 -11
- package/es/TagSelector/Control.js +0 -28
- package/es/TagSelector/DropdownIndicator.js +0 -60
- package/es/TagSelector/Input.js +0 -22
- package/es/TagSelector/Menu.js +0 -27
- package/es/TagSelector/MenuList.js +0 -28
- package/es/TagSelector/Option.js +0 -60
- package/es/TagSelector/SelectContainer.js +0 -27
- package/es/TagSelector/ValueButton.js +0 -53
- package/es/TagSelector/ariaMessages.js +0 -94
- package/es/TagSelector/index.js +0 -10
- package/es/TagSelector/types.js +0 -1
- package/lib/DefinitionList/DefinitionDescription.d.ts +0 -10
- package/lib/DefinitionList/DefinitionDescription.js +0 -35
- package/lib/DefinitionList/DefinitionTerm.d.ts +0 -10
- package/lib/DefinitionList/DefinitionTerm.js +0 -35
- package/lib/DefinitionList/index.d.ts +0 -9
- package/lib/DefinitionList/index.js +0 -20
- package/lib/Embed/conceptComponents.d.ts +0 -40
- package/lib/Embed/conceptComponents.js +0 -163
- package/lib/ExpandableBox/ExpandableBox.d.ts +0 -15
- package/lib/ExpandableBox/ExpandableBox.js +0 -37
- package/lib/ExpandableBox/index.d.ts +0 -8
- package/lib/ExpandableBox/index.js +0 -18
- package/lib/Figure/Figure.d.ts +0 -16
- package/lib/Figure/Figure.js +0 -81
- package/lib/Figure/index.d.ts +0 -9
- package/lib/Figure/index.js +0 -13
- package/lib/FramedContent/FramedContent.d.ts +0 -12
- package/lib/FramedContent/FramedContent.js +0 -35
- package/lib/FramedContent/index.d.ts +0 -9
- package/lib/FramedContent/index.js +0 -16
- package/lib/Image/Image.d.ts +0 -38
- package/lib/Image/Image.js +0 -106
- package/lib/Image/ImageLink.d.ts +0 -18
- package/lib/Image/ImageLink.js +0 -44
- package/lib/Image/index.d.ts +0 -12
- package/lib/Image/index.js +0 -30
- package/lib/LetterFilter/LetterFilter.d.ts +0 -14
- package/lib/LetterFilter/LetterFilter.js +0 -61
- package/lib/LetterFilter/alphabet.d.ts +0 -8
- package/lib/LetterFilter/alphabet.js +0 -15
- package/lib/LetterFilter/index.d.ts +0 -9
- package/lib/LetterFilter/index.js +0 -16
- package/lib/Notion/Notion.d.ts +0 -20
- package/lib/Notion/Notion.js +0 -82
- package/lib/Notion/NotionImage.d.ts +0 -23
- package/lib/Notion/NotionImage.js +0 -101
- package/lib/Notion/index.d.ts +0 -8
- package/lib/Notion/index.js +0 -13
- package/lib/Table/Table.d.ts +0 -19
- package/lib/Table/Table.js +0 -145
- package/lib/Table/index.d.ts +0 -10
- package/lib/Table/index.js +0 -23
- package/lib/TagSelector/Control.d.ts +0 -11
- package/lib/TagSelector/Control.js +0 -35
- package/lib/TagSelector/DropdownIndicator.d.ts +0 -11
- package/lib/TagSelector/DropdownIndicator.js +0 -64
- package/lib/TagSelector/Input.d.ts +0 -12
- package/lib/TagSelector/Input.js +0 -29
- package/lib/TagSelector/Menu.d.ts +0 -12
- package/lib/TagSelector/Menu.js +0 -34
- package/lib/TagSelector/MenuList.d.ts +0 -16
- package/lib/TagSelector/MenuList.js +0 -35
- package/lib/TagSelector/Option.d.ts +0 -12
- package/lib/TagSelector/Option.js +0 -67
- package/lib/TagSelector/SelectContainer.d.ts +0 -11
- package/lib/TagSelector/SelectContainer.js +0 -34
- package/lib/TagSelector/ValueButton.d.ts +0 -20
- package/lib/TagSelector/ValueButton.js +0 -60
- package/lib/TagSelector/ariaMessages.d.ts +0 -16
- package/lib/TagSelector/ariaMessages.js +0 -101
- package/lib/TagSelector/index.d.ts +0 -11
- package/lib/TagSelector/index.js +0 -13
- package/lib/TagSelector/types.d.ts +0 -11
- package/lib/TagSelector/types.js +0 -5
- package/src/DefinitionList/DefinitionDescription.tsx +0 -26
- package/src/DefinitionList/DefinitionTerm.tsx +0 -26
- package/src/DefinitionList/index.tsx +0 -10
- package/src/Embed/conceptComponents.tsx +0 -293
- package/src/ExpandableBox/ExpandableBox.stories.tsx +0 -41
- package/src/ExpandableBox/ExpandableBox.tsx +0 -23
- package/src/ExpandableBox/index.ts +0 -9
- package/src/Figure/Figure.tsx +0 -167
- package/src/Figure/index.ts +0 -11
- package/src/FramedContent/FramedContent.stories.tsx +0 -152
- package/src/FramedContent/FramedContent.tsx +0 -26
- package/src/FramedContent/index.ts +0 -10
- package/src/Image/Image.stories.tsx +0 -61
- package/src/Image/Image.tsx +0 -147
- package/src/Image/ImageLink.tsx +0 -37
- package/src/Image/__tests__/Image-test.tsx +0 -66
- package/src/Image/__tests__/__snapshots__/Image-test.tsx.snap +0 -194
- package/src/Image/index.ts +0 -14
- package/src/LetterFilter/LetterFilter.stories.tsx +0 -29
- package/src/LetterFilter/LetterFilter.tsx +0 -78
- package/src/LetterFilter/alphabet.ts +0 -39
- package/src/LetterFilter/index.ts +0 -11
- package/src/Notion/Notion.tsx +0 -96
- package/src/Notion/NotionImage.tsx +0 -114
- package/src/Notion/index.ts +0 -9
- package/src/Table/Table.stories.tsx +0 -738
- package/src/Table/Table.tsx +0 -284
- package/src/Table/index.ts +0 -12
- package/src/TagSelector/Control.tsx +0 -34
- package/src/TagSelector/DropdownIndicator.tsx +0 -55
- package/src/TagSelector/Input.tsx +0 -31
- package/src/TagSelector/Menu.tsx +0 -38
- package/src/TagSelector/MenuList.tsx +0 -30
- package/src/TagSelector/Option.tsx +0 -58
- package/src/TagSelector/SelectContainer.tsx +0 -31
- package/src/TagSelector/ValueButton.tsx +0 -47
- package/src/TagSelector/ariaMessages.ts +0 -96
- package/src/TagSelector/index.ts +0 -14
- package/src/TagSelector/types.ts +0 -12
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2024-present, NDLA.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the GPLv3 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { forwardRef } from "react";
|
|
10
|
+
import { useTranslation } from "react-i18next";
|
|
11
|
+
import { Badge, BadgeProps, type BadgeVariant } from "@ndla/primitives";
|
|
12
|
+
import * as contentTypes from "../model/ContentType";
|
|
13
|
+
|
|
14
|
+
export interface ContentTypeBadgeProps extends Omit<BadgeProps, "colorTheme"> {
|
|
15
|
+
contentType: ContentType | undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type ContentType =
|
|
19
|
+
| typeof contentTypes.SUBJECT_MATERIAL
|
|
20
|
+
| typeof contentTypes.TASKS_AND_ACTIVITIES
|
|
21
|
+
| typeof contentTypes.ASSESSMENT_RESOURCES
|
|
22
|
+
| typeof contentTypes.SUBJECT
|
|
23
|
+
| typeof contentTypes.SOURCE_MATERIAL
|
|
24
|
+
| typeof contentTypes.LEARNING_PATH
|
|
25
|
+
| typeof contentTypes.TOPIC
|
|
26
|
+
| typeof contentTypes.MULTIDISCIPLINARY_TOPIC
|
|
27
|
+
| typeof contentTypes.CONCEPT
|
|
28
|
+
| typeof contentTypes.EXTERNAL
|
|
29
|
+
| typeof contentTypes.IMAGE
|
|
30
|
+
| typeof contentTypes.AUDIO
|
|
31
|
+
| typeof contentTypes.VIDEO
|
|
32
|
+
| typeof contentTypes.MISSING
|
|
33
|
+
// This allows for us to fallback to string without getting a ts error, while still keeping intellisense
|
|
34
|
+
| (string & {});
|
|
35
|
+
|
|
36
|
+
export const contentTypeToBadgeVariantMap: Record<ContentType, BadgeVariant> = {
|
|
37
|
+
[contentTypes.SUBJECT_MATERIAL]: "brand1",
|
|
38
|
+
[contentTypes.TASKS_AND_ACTIVITIES]: "brand2",
|
|
39
|
+
[contentTypes.ASSESSMENT_RESOURCES]: "brand2",
|
|
40
|
+
[contentTypes.SUBJECT]: "neutral",
|
|
41
|
+
[contentTypes.SOURCE_MATERIAL]: "brand1",
|
|
42
|
+
[contentTypes.LEARNING_PATH]: "brand3",
|
|
43
|
+
[contentTypes.TOPIC]: "neutral",
|
|
44
|
+
// TODO: Verify this color
|
|
45
|
+
[contentTypes.MULTIDISCIPLINARY_TOPIC]: "neutral",
|
|
46
|
+
[contentTypes.CONCEPT]: "brand1",
|
|
47
|
+
// TODO: Verify this color
|
|
48
|
+
[contentTypes.EXTERNAL]: "brand2",
|
|
49
|
+
// TODO: Verify resourceEmbedTypeMapping colors
|
|
50
|
+
[contentTypes.IMAGE]: "brand1",
|
|
51
|
+
[contentTypes.AUDIO]: "brand1",
|
|
52
|
+
[contentTypes.VIDEO]: "brand1",
|
|
53
|
+
[contentTypes.MISSING]: "neutral",
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const ContentTypeBadge = forwardRef<HTMLDivElement, ContentTypeBadgeProps>(
|
|
57
|
+
({ contentType, children, ...props }, ref) => {
|
|
58
|
+
const { t } = useTranslation();
|
|
59
|
+
return (
|
|
60
|
+
<Badge
|
|
61
|
+
colorTheme={contentTypeToBadgeVariantMap[contentType ?? "missing"] ?? contentTypeToBadgeVariantMap["missing"]}
|
|
62
|
+
{...props}
|
|
63
|
+
ref={ref}
|
|
64
|
+
>
|
|
65
|
+
{children ?? t(`contentTypes.${contentType}`)}
|
|
66
|
+
</Badge>
|
|
67
|
+
);
|
|
68
|
+
},
|
|
69
|
+
);
|
package/src/Embed/AudioEmbed.tsx
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { Figure } from "@ndla/primitives";
|
|
9
10
|
import { AudioMetaData } from "@ndla/types-embed";
|
|
10
11
|
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
11
12
|
import { Author } from "./ImageEmbed";
|
|
12
13
|
import AudioPlayer from "../AudioPlayer";
|
|
13
|
-
import { Figure } from "../Figure";
|
|
14
14
|
import { EmbedByline } from "../LicenseByline";
|
|
15
15
|
|
|
16
16
|
interface Props {
|
|
@@ -42,7 +42,7 @@ const AudioEmbed = ({ embed, lang }: Props) => {
|
|
|
42
42
|
const img = coverPhoto && { url: coverPhoto.url, alt: coverPhoto.altText };
|
|
43
43
|
|
|
44
44
|
return (
|
|
45
|
-
<Figure
|
|
45
|
+
<Figure lang={lang}>
|
|
46
46
|
<AudioPlayer
|
|
47
47
|
description={data.podcastMeta?.introduction ?? ""}
|
|
48
48
|
img={img}
|
|
@@ -9,28 +9,30 @@
|
|
|
9
9
|
import parse from "html-react-parser";
|
|
10
10
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
11
11
|
import { useTranslation } from "react-i18next";
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import { spacing } from "@ndla/core";
|
|
12
|
+
import { Button, Figure } from "@ndla/primitives";
|
|
13
|
+
import { styled } from "@ndla/styled-system/jsx";
|
|
15
14
|
import { BrightcoveEmbedData, BrightcoveMetaData, BrightcoveVideoSource } from "@ndla/types-embed";
|
|
16
15
|
import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
|
|
17
16
|
import { RenderContext } from "./types";
|
|
18
|
-
import { Figure } from "../Figure";
|
|
19
17
|
import { EmbedByline } from "../LicenseByline";
|
|
20
18
|
|
|
21
19
|
interface Props {
|
|
22
20
|
embed: BrightcoveMetaData;
|
|
23
|
-
isConcept?: boolean;
|
|
24
21
|
renderContext?: RenderContext;
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
const LinkedVideoButton = styled(
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
const LinkedVideoButton = styled(Button, {
|
|
25
|
+
base: {
|
|
26
|
+
marginInlineStart: "xsmall",
|
|
27
|
+
},
|
|
28
|
+
});
|
|
30
29
|
|
|
31
|
-
const BrightcoveIframe = styled
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const BrightcoveIframe = styled("iframe", {
|
|
31
|
+
base: {
|
|
32
|
+
height: "auto",
|
|
33
|
+
width: "100%",
|
|
34
|
+
},
|
|
35
|
+
});
|
|
34
36
|
|
|
35
37
|
export const makeIframeString = (url: string, width: string | number, height: string | number, title = "") => {
|
|
36
38
|
const strippedWidth = typeof width === "number" ? width : width.replace(/\s*px/, "");
|
|
@@ -52,7 +54,7 @@ const getIframeProps = (data: BrightcoveEmbedData, sources: BrightcoveVideoSourc
|
|
|
52
54
|
width: source?.width ?? "640",
|
|
53
55
|
};
|
|
54
56
|
};
|
|
55
|
-
const BrightcoveEmbed = ({ embed,
|
|
57
|
+
const BrightcoveEmbed = ({ embed, renderContext = "article" }: Props) => {
|
|
56
58
|
const [showOriginalVideo, setShowOriginalVideo] = useState(true);
|
|
57
59
|
const { t } = useTranslation();
|
|
58
60
|
const iframeRef = useRef<HTMLIFrameElement>(null);
|
|
@@ -99,7 +101,7 @@ const BrightcoveEmbed = ({ embed, isConcept, renderContext = "article" }: Props)
|
|
|
99
101
|
: undefined;
|
|
100
102
|
|
|
101
103
|
return (
|
|
102
|
-
<Figure
|
|
104
|
+
<Figure>
|
|
103
105
|
<div className="brightcove-video">
|
|
104
106
|
<BrightcoveIframe
|
|
105
107
|
ref={iframeRef}
|
|
@@ -112,13 +114,9 @@ const BrightcoveEmbed = ({ embed, isConcept, renderContext = "article" }: Props)
|
|
|
112
114
|
/>
|
|
113
115
|
</div>
|
|
114
116
|
<EmbedByline type="video" copyright={data.copyright!} description={parsedDescription} bottomRounded>
|
|
117
|
+
{/* TODO: Figure out if this button should still be here. If yes, figure out what it should look like. */}
|
|
115
118
|
{!!linkedVideoId && (
|
|
116
|
-
<LinkedVideoButton
|
|
117
|
-
variant="outline"
|
|
118
|
-
shape="pill"
|
|
119
|
-
size="small"
|
|
120
|
-
onClick={() => setShowOriginalVideo((p) => !p)}
|
|
121
|
-
>
|
|
119
|
+
<LinkedVideoButton size="small" variant="secondary" onClick={() => setShowOriginalVideo((p) => !p)}>
|
|
122
120
|
{t(`figure.button.${!showOriginalVideo ? "original" : "alternative"}`)}
|
|
123
121
|
</LinkedVideoButton>
|
|
124
122
|
)}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2024-present, NDLA.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the GPLv3 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { Meta, StoryObj } from "@storybook/react";
|
|
10
|
+
import type { CodeEmbedData, CodeMetaData } from "@ndla/types-embed";
|
|
11
|
+
import CodeEmbed from "./CodeEmbed";
|
|
12
|
+
|
|
13
|
+
const codeEmbedData: CodeEmbedData = {
|
|
14
|
+
resource: "code-block",
|
|
15
|
+
title: "Litt css i hverdagen",
|
|
16
|
+
codeContent: `<div class="demo-content">
|
|
17
|
+
<h2>Lorem ipsum</h2>
|
|
18
|
+
<p>
|
|
19
|
+
<b>Lorem ipsum</b><br/>
|
|
20
|
+
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
21
|
+
</p>
|
|
22
|
+
<p>
|
|
23
|
+
<b>Lorem ipsum</b><br/>
|
|
24
|
+
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
25
|
+
</p>
|
|
26
|
+
<p>
|
|
27
|
+
<b>Lorem ipsum</b><br/>
|
|
28
|
+
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
29
|
+
</p>
|
|
30
|
+
</div>`,
|
|
31
|
+
codeFormat: "html",
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const codeEmbed: CodeMetaData = {
|
|
35
|
+
status: "success",
|
|
36
|
+
resource: "code-block",
|
|
37
|
+
embedData: codeEmbedData,
|
|
38
|
+
data: {
|
|
39
|
+
highlightedCode: `<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>demo-content<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
|
|
40
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>h2</span><span class="token punctuation">></span></span>Lorem ipsum<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>h2</span><span class="token punctuation">></span></span>
|
|
41
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span><span class="token punctuation">></span></span>
|
|
42
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>b</span><span class="token punctuation">></span></span>Lorem ipsum<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>b</span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span><span class="token punctuation">/></span></span>
|
|
43
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>span</span><span class="token punctuation">></span></span>is simply dummy text of the printing and typesetting industry<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>span</span><span class="token punctuation">></span></span>
|
|
44
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span>
|
|
45
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span><span class="token punctuation">></span></span>
|
|
46
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>b</span><span class="token punctuation">></span></span>Lorem ipsum<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>b</span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span><span class="token punctuation">/></span></span>
|
|
47
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>span</span><span class="token punctuation">></span></span>is simply dummy text of the printing and typesetting industry<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>span</span><span class="token punctuation">></span></span>
|
|
48
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span>
|
|
49
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span><span class="token punctuation">></span></span>
|
|
50
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>b</span><span class="token punctuation">></span></span>Lorem ipsum<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>b</span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span><span class="token punctuation">/></span></span>
|
|
51
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>span</span><span class="token punctuation">></span></span>is simply dummy text of the printing and typesetting industry<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>span</span><span class="token punctuation">></span></span>
|
|
52
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span>
|
|
53
|
+
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span>`,
|
|
54
|
+
decodedContent: `<div class="demo-content">
|
|
55
|
+
<h2>Lorem ipsum</h2>
|
|
56
|
+
<p>
|
|
57
|
+
<b>Lorem ipsum</b><br/>
|
|
58
|
+
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
59
|
+
</p>
|
|
60
|
+
<p>
|
|
61
|
+
<b>Lorem ipsum</b><br/>
|
|
62
|
+
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
63
|
+
</p>
|
|
64
|
+
<p>
|
|
65
|
+
<b>Lorem ipsum</b><br/>
|
|
66
|
+
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
67
|
+
</p>
|
|
68
|
+
</div>`,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default {
|
|
73
|
+
title: "Embeds/CodeEmbed",
|
|
74
|
+
component: CodeEmbed,
|
|
75
|
+
tags: ["autodocs"],
|
|
76
|
+
parameters: {
|
|
77
|
+
inlineStories: true,
|
|
78
|
+
},
|
|
79
|
+
args: {
|
|
80
|
+
embed: codeEmbed,
|
|
81
|
+
},
|
|
82
|
+
} as Meta<typeof CodeEmbed>;
|
|
83
|
+
|
|
84
|
+
export const Default: StoryObj<typeof CodeEmbed> = {};
|
|
85
|
+
|
|
86
|
+
export const Failed: StoryObj<typeof CodeEmbed> = {
|
|
87
|
+
args: {
|
|
88
|
+
embed: {
|
|
89
|
+
resource: "code-block",
|
|
90
|
+
embedData: codeEmbedData,
|
|
91
|
+
status: "error",
|
|
92
|
+
message: "Something horrible happened",
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
};
|
package/src/Embed/CodeEmbed.tsx
CHANGED
|
@@ -6,24 +6,79 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { useEffect, useState } from "react";
|
|
10
|
+
import { useTranslation } from "react-i18next";
|
|
11
|
+
import { Copy } from "@ndla/icons/action";
|
|
12
|
+
import { Done } from "@ndla/icons/editor";
|
|
13
|
+
import { Button, Figure } from "@ndla/primitives";
|
|
14
|
+
import { styled } from "@ndla/styled-system/jsx";
|
|
9
15
|
import { CodeMetaData } from "@ndla/types-embed";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
16
|
+
import { copyTextToClipboard } from "@ndla/util";
|
|
17
|
+
import { CodeBlock, codeLanguageOptions } from "../CodeBlock";
|
|
18
|
+
import { ICodeLangugeOption } from "../CodeBlock/codeLanguageOptions";
|
|
19
|
+
|
|
20
|
+
// TODO: We need an error state for this
|
|
12
21
|
|
|
13
22
|
interface Props {
|
|
14
23
|
embed: CodeMetaData;
|
|
15
24
|
}
|
|
25
|
+
|
|
26
|
+
const StyledFigCaption = styled("figcaption", {
|
|
27
|
+
base: {
|
|
28
|
+
textStyle: "label.large",
|
|
29
|
+
fontWeight: "bold",
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const StyledFigure = styled(Figure, {
|
|
34
|
+
base: {
|
|
35
|
+
// We apply margin here to allow for the float and size props on figure to work as intended.
|
|
36
|
+
"& > *:not(:where(:first-child))": {
|
|
37
|
+
marginBlockStart: "xsmall",
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const getTitleFromFormat = (format: string) => {
|
|
43
|
+
const selectedLanguage = codeLanguageOptions.find((item: ICodeLangugeOption) => item.format === format);
|
|
44
|
+
if (selectedLanguage) {
|
|
45
|
+
return selectedLanguage.title;
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
};
|
|
49
|
+
|
|
16
50
|
const CodeEmbed = ({ embed }: Props) => {
|
|
51
|
+
const [isCopied, setIsCopied] = useState(false);
|
|
52
|
+
const { t } = useTranslation();
|
|
53
|
+
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (isCopied) {
|
|
56
|
+
const timer = setInterval(() => setIsCopied(false), 3000);
|
|
57
|
+
// ensure interval is cleared - also if unmounted
|
|
58
|
+
return () => {
|
|
59
|
+
clearTimeout(timer);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}, [isCopied]);
|
|
63
|
+
|
|
17
64
|
return (
|
|
18
|
-
<
|
|
65
|
+
<StyledFigure>
|
|
66
|
+
<StyledFigCaption>{embed.embedData.title || getTitleFromFormat(embed.embedData.codeFormat)}</StyledFigCaption>
|
|
19
67
|
<CodeBlock
|
|
20
|
-
title={embed.embedData.title}
|
|
21
|
-
code={embed.status === "success" ? embed.data.decodedContent : ""}
|
|
22
68
|
highlightedCode={embed.status === "success" ? embed.data.highlightedCode : ""}
|
|
23
69
|
format={embed.embedData.codeFormat}
|
|
24
|
-
showCopy
|
|
25
70
|
/>
|
|
26
|
-
|
|
71
|
+
<Button
|
|
72
|
+
variant="secondary"
|
|
73
|
+
onClick={() => {
|
|
74
|
+
copyTextToClipboard(embed.status === "success" ? embed.data.decodedContent : "");
|
|
75
|
+
setIsCopied(true);
|
|
76
|
+
}}
|
|
77
|
+
>
|
|
78
|
+
{isCopied ? <Done /> : <Copy />}
|
|
79
|
+
{isCopied ? t("codeBlock.copiedCode") : t("codeBlock.copyCode")}
|
|
80
|
+
</Button>
|
|
81
|
+
</StyledFigure>
|
|
27
82
|
);
|
|
28
83
|
};
|
|
29
84
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import { Meta, StoryObj } from "@storybook/react";
|
|
10
10
|
import { ConceptData, ConceptEmbedData } from "@ndla/types-embed";
|
|
11
|
-
import ConceptEmbed from "./ConceptEmbed";
|
|
11
|
+
import { ConceptEmbed } from "./ConceptEmbed";
|
|
12
12
|
import { ArticleWrapper } from "../Article";
|
|
13
13
|
import LayoutItem, { OneColumn } from "../Layout";
|
|
14
14
|
|
|
@@ -19,13 +19,6 @@ const blockEmbedData: ConceptEmbedData = {
|
|
|
19
19
|
linkText: "",
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const glossBlockEmbedData: ConceptEmbedData = {
|
|
23
|
-
contentId: "4942",
|
|
24
|
-
resource: "concept",
|
|
25
|
-
type: "block",
|
|
26
|
-
linkText: "",
|
|
27
|
-
};
|
|
28
|
-
|
|
29
22
|
const inlineEmbedData: ConceptEmbedData = {
|
|
30
23
|
contentId: "2318",
|
|
31
24
|
linkText: "forklaring",
|
|
@@ -33,13 +26,6 @@ const inlineEmbedData: ConceptEmbedData = {
|
|
|
33
26
|
type: "inline",
|
|
34
27
|
};
|
|
35
28
|
|
|
36
|
-
const glossInlineEmbedData: ConceptEmbedData = {
|
|
37
|
-
contentId: "23",
|
|
38
|
-
linkText: "glose",
|
|
39
|
-
resource: "concept",
|
|
40
|
-
type: "inline",
|
|
41
|
-
};
|
|
42
|
-
|
|
43
29
|
const conceptMetaData: ConceptData["concept"] = {
|
|
44
30
|
id: 110,
|
|
45
31
|
revision: 16,
|
|
@@ -87,68 +73,6 @@ const conceptMetaData: ConceptData["concept"] = {
|
|
|
87
73
|
conceptType: "concept",
|
|
88
74
|
};
|
|
89
75
|
|
|
90
|
-
const glossMetaData: ConceptData["concept"] = {
|
|
91
|
-
id: 4942,
|
|
92
|
-
revision: 6,
|
|
93
|
-
title: {
|
|
94
|
-
title: "Ma Hong",
|
|
95
|
-
language: "nb",
|
|
96
|
-
},
|
|
97
|
-
content: {
|
|
98
|
-
content: "Hei",
|
|
99
|
-
htmlContent: "Hei",
|
|
100
|
-
language: "nb",
|
|
101
|
-
},
|
|
102
|
-
copyright: {
|
|
103
|
-
creators: [],
|
|
104
|
-
processors: [],
|
|
105
|
-
rightsholders: [],
|
|
106
|
-
processed: false,
|
|
107
|
-
},
|
|
108
|
-
source: "",
|
|
109
|
-
metaImage: {
|
|
110
|
-
url: "",
|
|
111
|
-
alt: "",
|
|
112
|
-
language: "und",
|
|
113
|
-
},
|
|
114
|
-
created: "2023-07-19T09:30:40.000Z",
|
|
115
|
-
updated: "2023-09-19T17:13:56.573Z",
|
|
116
|
-
updatedBy: ["XxnkdI7rApMl58MeG3p4g4B8", "hd5ZL5Lm4kKkumWgN2gjy9wx"],
|
|
117
|
-
supportedLanguages: ["nb"],
|
|
118
|
-
articleIds: [],
|
|
119
|
-
status: {
|
|
120
|
-
current: "IN_PROGRESS",
|
|
121
|
-
other: [],
|
|
122
|
-
},
|
|
123
|
-
responsible: {
|
|
124
|
-
responsibleId: "XxnkdI7rApMl58MeG3p4g4B8",
|
|
125
|
-
lastUpdated: "2023-07-19T09:30:40.000Z",
|
|
126
|
-
},
|
|
127
|
-
conceptType: "gloss",
|
|
128
|
-
glossData: {
|
|
129
|
-
gloss: "马红",
|
|
130
|
-
wordClass: "personal-pronoun",
|
|
131
|
-
originalLanguage: "zh",
|
|
132
|
-
transcriptions: {},
|
|
133
|
-
examples: [
|
|
134
|
-
[
|
|
135
|
-
{
|
|
136
|
-
example: "我叫马红",
|
|
137
|
-
language: "zh",
|
|
138
|
-
transcriptions: {
|
|
139
|
-
pinyin: "wo jiao ma hong ",
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
example: "Jeg heter ma hong",
|
|
144
|
-
language: "nb",
|
|
145
|
-
transcriptions: {},
|
|
146
|
-
},
|
|
147
|
-
],
|
|
148
|
-
],
|
|
149
|
-
},
|
|
150
|
-
};
|
|
151
|
-
|
|
152
76
|
const visualElementData: ConceptData["visualElement"] = {
|
|
153
77
|
resource: "image",
|
|
154
78
|
status: "success",
|
|
@@ -219,17 +143,10 @@ const blockMetaData: ConceptData = {
|
|
|
219
143
|
visualElement: visualElementData,
|
|
220
144
|
};
|
|
221
145
|
|
|
222
|
-
const glossBlockData: ConceptData = {
|
|
223
|
-
concept: glossMetaData,
|
|
224
|
-
};
|
|
225
|
-
|
|
226
146
|
const meta: Meta<typeof ConceptEmbed> = {
|
|
227
147
|
title: "Embeds/ConceptEmbed",
|
|
228
148
|
component: ConceptEmbed,
|
|
229
149
|
tags: ["autodocs"],
|
|
230
|
-
args: {
|
|
231
|
-
fullWidth: false,
|
|
232
|
-
},
|
|
233
150
|
decorators: [
|
|
234
151
|
(Story) => (
|
|
235
152
|
<OneColumn>
|
|
@@ -257,16 +174,6 @@ export const Block: StoryObj<typeof ConceptEmbed> = {
|
|
|
257
174
|
},
|
|
258
175
|
},
|
|
259
176
|
};
|
|
260
|
-
export const GlossBlock: StoryObj<typeof ConceptEmbed> = {
|
|
261
|
-
args: {
|
|
262
|
-
embed: {
|
|
263
|
-
resource: "concept",
|
|
264
|
-
status: "success",
|
|
265
|
-
embedData: glossBlockEmbedData,
|
|
266
|
-
data: glossBlockData,
|
|
267
|
-
},
|
|
268
|
-
},
|
|
269
|
-
};
|
|
270
177
|
|
|
271
178
|
export const BlockFailed: StoryObj<typeof ConceptEmbed> = {
|
|
272
179
|
args: {
|
|
@@ -289,17 +196,6 @@ export const Inline: StoryObj<typeof ConceptEmbed> = {
|
|
|
289
196
|
},
|
|
290
197
|
};
|
|
291
198
|
|
|
292
|
-
export const GlossInline: StoryObj<typeof ConceptEmbed> = {
|
|
293
|
-
args: {
|
|
294
|
-
embed: {
|
|
295
|
-
resource: "concept",
|
|
296
|
-
status: "success",
|
|
297
|
-
embedData: glossInlineEmbedData,
|
|
298
|
-
data: glossBlockData,
|
|
299
|
-
},
|
|
300
|
-
},
|
|
301
|
-
};
|
|
302
|
-
|
|
303
199
|
export const InlineFailed: StoryObj<typeof ConceptEmbed> = {
|
|
304
200
|
args: {
|
|
305
201
|
embed: {
|