@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
|
@@ -6,14 +6,12 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
/** @jsxImportSource @emotion/react */
|
|
10
9
|
import parse from "html-react-parser";
|
|
11
10
|
import { useTranslation } from "react-i18next";
|
|
12
|
-
import {
|
|
13
|
-
import styled from "@emotion/styled";
|
|
14
|
-
import { breakpoints, colors, fonts, misc, mq, spacing } from "@ndla/core";
|
|
11
|
+
import { Heading } from "@ndla/primitives";
|
|
15
12
|
import { SafeLink } from "@ndla/safelink";
|
|
16
|
-
import {
|
|
13
|
+
import { styled } from "@ndla/styled-system/jsx";
|
|
14
|
+
import { HeadingLevel } from "../types";
|
|
17
15
|
import { getPossiblyRelativeUrl } from "../utils/relativeUrl";
|
|
18
16
|
|
|
19
17
|
export interface Props {
|
|
@@ -29,68 +27,94 @@ export interface Props {
|
|
|
29
27
|
path?: string;
|
|
30
28
|
}
|
|
31
29
|
|
|
32
|
-
const Container = styled(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
30
|
+
const Container = styled(
|
|
31
|
+
SafeLink,
|
|
32
|
+
{
|
|
33
|
+
base: {
|
|
34
|
+
display: "flex",
|
|
35
|
+
flexDirection: "column",
|
|
36
|
+
color: "text.default",
|
|
37
|
+
backgroundColor: "background.default",
|
|
38
|
+
gap: "medium",
|
|
39
|
+
border: "1px solid",
|
|
40
|
+
borderColor: "stroke.subtle",
|
|
41
|
+
borderRadius: "xsmall",
|
|
42
|
+
transitionDuration: "fast",
|
|
43
|
+
transitionProperty: "background-color, border-color, max-width",
|
|
44
|
+
transitionTimingFunction: "default",
|
|
45
|
+
height: "100%",
|
|
46
|
+
"&:hover, &:focus-visible": {
|
|
47
|
+
borderColor: "stroke.hover",
|
|
48
|
+
backgroundColor: "surface.actionSubtle.hover",
|
|
49
|
+
"& h1, h2, h3, h4, h5, h6": {
|
|
50
|
+
textDecoration: "underline",
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
defaultVariants: {
|
|
55
|
+
size: "normal",
|
|
56
|
+
},
|
|
57
|
+
variants: {
|
|
58
|
+
// TODO: Reconsider these sizes. Maybe they should match up with surface?
|
|
59
|
+
size: {
|
|
60
|
+
normal: {
|
|
61
|
+
paddingBlock: "medium",
|
|
62
|
+
paddingInline: "medium",
|
|
63
|
+
tabletWide: {
|
|
64
|
+
maxWidth: "350px",
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
large: {
|
|
68
|
+
paddingBlock: "xlarge",
|
|
69
|
+
paddingInline: "xxlarge",
|
|
70
|
+
tabletWide: {
|
|
71
|
+
maxWidth: "532px",
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
// TODO: Reconsider this once we handle SafeLink
|
|
78
|
+
{ baseComponent: true },
|
|
79
|
+
);
|
|
57
80
|
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
81
|
+
const AuthorContainer = styled("div", {
|
|
82
|
+
base: {
|
|
83
|
+
display: "flex",
|
|
84
|
+
alignItems: "center",
|
|
85
|
+
gap: "xsmall",
|
|
86
|
+
textTransform: "uppercase",
|
|
87
|
+
textStyle: "body.large",
|
|
88
|
+
},
|
|
89
|
+
});
|
|
65
90
|
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
91
|
+
const StyledImg = styled("img", {
|
|
92
|
+
base: {
|
|
93
|
+
borderRadius: "xsmall",
|
|
94
|
+
flex: "1",
|
|
95
|
+
objectFit: "cover",
|
|
96
|
+
width: "100%",
|
|
97
|
+
height: "100%",
|
|
98
|
+
border: "0",
|
|
99
|
+
},
|
|
100
|
+
});
|
|
75
101
|
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
border: 0;
|
|
83
|
-
`;
|
|
102
|
+
const StyledHeading = styled(Heading, {
|
|
103
|
+
base: {
|
|
104
|
+
display: "inline-block",
|
|
105
|
+
width: "fit-content",
|
|
106
|
+
},
|
|
107
|
+
});
|
|
84
108
|
|
|
85
109
|
const BlogPost = ({ title, author, url, metaImage, headingLevel: Heading = "h3", size = "normal", path }: Props) => {
|
|
86
110
|
const { t } = useTranslation();
|
|
87
111
|
const href = getPossiblyRelativeUrl(url, path);
|
|
88
112
|
const imageWidth = size === "large" ? 532 : 350;
|
|
89
113
|
return (
|
|
90
|
-
<Container data-size={size} to={href}>
|
|
91
|
-
<
|
|
92
|
-
{parse(title)}
|
|
93
|
-
</
|
|
114
|
+
<Container data-size={size} to={href} size={size}>
|
|
115
|
+
<StyledHeading className="blog-title" asChild consumeCss textStyle="title.large">
|
|
116
|
+
<Heading>{parse(title)}</Heading>
|
|
117
|
+
</StyledHeading>
|
|
94
118
|
<StyledImg src={`${metaImage.url}?width=${imageWidth}`} alt={metaImage.alt} />
|
|
95
119
|
{!!author && <AuthorContainer aria-label={t("article.writtenBy", { authors: author })}>{author}</AuthorContainer>}
|
|
96
120
|
</Container>
|
|
@@ -6,14 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
/** @jsxImportSource @emotion/react */
|
|
10
9
|
import parse from "html-react-parser";
|
|
11
|
-
import {
|
|
12
|
-
import styled from "@emotion/styled";
|
|
13
|
-
import { breakpoints, colors, fonts, spacing, mq, misc } from "@ndla/core";
|
|
10
|
+
import { ReactNode } from "react";
|
|
14
11
|
import { Forward } from "@ndla/icons/common";
|
|
12
|
+
import { Text } from "@ndla/primitives";
|
|
15
13
|
import { SafeLink } from "@ndla/safelink";
|
|
16
|
-
import {
|
|
14
|
+
import { styled } from "@ndla/styled-system/jsx";
|
|
15
|
+
import { HeadingLevel } from "../types";
|
|
17
16
|
import { getPossiblyRelativeUrl } from "../utils/relativeUrl";
|
|
18
17
|
|
|
19
18
|
interface Image {
|
|
@@ -35,74 +34,112 @@ interface Props {
|
|
|
35
34
|
path?: string;
|
|
36
35
|
}
|
|
37
36
|
|
|
38
|
-
const Container = styled
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
37
|
+
const Container = styled("div", {
|
|
38
|
+
base: {
|
|
39
|
+
display: "flex",
|
|
40
|
+
flexDirection: "column",
|
|
41
|
+
border: "1px solid",
|
|
42
|
+
borderColor: "stroke.default",
|
|
43
|
+
backgroundColor: "background.default",
|
|
44
|
+
borderRadius: "xsmall",
|
|
45
|
+
boxShadow: "full",
|
|
46
|
+
maxWidth: "surface.xsmall",
|
|
47
|
+
overflow: "hidden",
|
|
48
|
+
mobileWide: {
|
|
49
|
+
maxWidth: "surface.medium",
|
|
50
|
+
},
|
|
51
|
+
tabletWide: {
|
|
52
|
+
// TODO: This is probably not the correct max-width. And it should be a token
|
|
53
|
+
maxWidth: "1100px",
|
|
54
|
+
flexDirection: "row",
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
});
|
|
57
58
|
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
const LinkText = styled(Text, {
|
|
60
|
+
base: {
|
|
61
|
+
display: "flex",
|
|
62
|
+
gap: "xxsmall",
|
|
63
|
+
textDecoration: "underline",
|
|
64
|
+
_hover: {
|
|
65
|
+
textDecoration: "none",
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
const StyledImg = styled("img", {
|
|
70
|
+
base: {
|
|
71
|
+
alignSelf: "center",
|
|
72
|
+
objectFit: "cover",
|
|
73
|
+
width: "100%",
|
|
74
|
+
height: "215px",
|
|
75
|
+
desktop: {
|
|
76
|
+
height: "340px",
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
});
|
|
61
80
|
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
81
|
+
const ContentWrapper = styled("div", {
|
|
82
|
+
base: {
|
|
83
|
+
width: "100%",
|
|
84
|
+
position: "relative",
|
|
85
|
+
display: "flex",
|
|
86
|
+
flexDirection: "column",
|
|
87
|
+
gap: "xsmall",
|
|
88
|
+
alignItems: "flex-start",
|
|
89
|
+
paddingBlock: "medium",
|
|
90
|
+
paddingInline: "medium",
|
|
91
|
+
},
|
|
92
|
+
});
|
|
66
93
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
94
|
+
interface MaybeLinkTextProps {
|
|
95
|
+
url?: string;
|
|
96
|
+
path?: string;
|
|
97
|
+
children: ReactNode;
|
|
98
|
+
}
|
|
71
99
|
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
`;
|
|
100
|
+
const StyledSafeLink = styled(SafeLink, {
|
|
101
|
+
base: {
|
|
102
|
+
color: "inherit",
|
|
103
|
+
},
|
|
104
|
+
});
|
|
78
105
|
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
106
|
+
const MaybeLinkText = ({ url, children, path }: MaybeLinkTextProps) => {
|
|
107
|
+
if (url) return <StyledSafeLink to={getPossiblyRelativeUrl(url, path)}>{children}</StyledSafeLink>;
|
|
108
|
+
return children;
|
|
109
|
+
};
|
|
82
110
|
|
|
83
111
|
const CampaignBlock = ({
|
|
84
112
|
title,
|
|
85
113
|
image,
|
|
86
114
|
imageSide = "left",
|
|
87
115
|
description,
|
|
88
|
-
headingLevel:
|
|
116
|
+
headingLevel: InternalHeading = "h2",
|
|
89
117
|
url,
|
|
90
118
|
path,
|
|
91
119
|
className,
|
|
92
120
|
}: Props) => {
|
|
121
|
+
const imageComponent = image && <StyledImg src={`${image.src}?width=455`} height={340} width={455} alt={image.alt} />;
|
|
122
|
+
const HeaderComponent = url?.url ? LinkText : Text;
|
|
93
123
|
return (
|
|
94
|
-
<Container className={className} data-type="campaign-block"
|
|
95
|
-
{
|
|
96
|
-
<
|
|
97
|
-
<
|
|
98
|
-
|
|
124
|
+
<Container className={className} data-type="campaign-block">
|
|
125
|
+
{imageSide === "left" && imageComponent}
|
|
126
|
+
<ContentWrapper>
|
|
127
|
+
<MaybeLinkText url={url?.url} path={path}>
|
|
128
|
+
<HeaderComponent asChild consumeCss textStyle="heading.small">
|
|
129
|
+
<InternalHeading>{parse(title)}</InternalHeading>
|
|
130
|
+
</HeaderComponent>
|
|
131
|
+
</MaybeLinkText>
|
|
132
|
+
<Text textStyle="body.large">{parse(description)}</Text>
|
|
99
133
|
{!!url?.url && (
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
134
|
+
<MaybeLinkText url={url.url} path={path}>
|
|
135
|
+
<LinkText textStyle="body.medium">
|
|
136
|
+
{parse(url.text ?? "")}
|
|
137
|
+
<Forward />
|
|
138
|
+
</LinkText>
|
|
139
|
+
</MaybeLinkText>
|
|
104
140
|
)}
|
|
105
|
-
</
|
|
141
|
+
</ContentWrapper>
|
|
142
|
+
{imageSide !== "left" && imageComponent}
|
|
106
143
|
</Container>
|
|
107
144
|
);
|
|
108
145
|
};
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { Meta, StoryFn, StoryObj } from "@storybook/react";
|
|
10
|
-
import { IconButtonV2 } from "@ndla/button";
|
|
11
|
-
import { DeleteForever } from "@ndla/icons/editor";
|
|
12
10
|
import CodeBlock from "./CodeBlock";
|
|
13
11
|
|
|
14
12
|
export default {
|
|
@@ -19,7 +17,6 @@ export default {
|
|
|
19
17
|
inlineStories: true,
|
|
20
18
|
},
|
|
21
19
|
args: {
|
|
22
|
-
title: "CodeBlock",
|
|
23
20
|
format: "html",
|
|
24
21
|
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>
|
|
25
22
|
<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>
|
|
@@ -36,37 +33,6 @@ export default {
|
|
|
36
33
|
<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>
|
|
37
34
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span>
|
|
38
35
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span>`,
|
|
39
|
-
code: `<div class="demo-content">
|
|
40
|
-
<h2>Lorem ipsum</h2>
|
|
41
|
-
<p>
|
|
42
|
-
<b>Lorem ipsum</b><br/>
|
|
43
|
-
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
44
|
-
</p>
|
|
45
|
-
<p>
|
|
46
|
-
<b>Lorem ipsum</b><br/>
|
|
47
|
-
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
48
|
-
</p>
|
|
49
|
-
<p>
|
|
50
|
-
<b>Lorem ipsum</b><br/>
|
|
51
|
-
<span>is simply dummy text of the printing and typesetting industry</span>
|
|
52
|
-
</p>
|
|
53
|
-
</div>`,
|
|
54
|
-
actionButton: (
|
|
55
|
-
<IconButtonV2 aria-label="Slett" variant="ghost" colorTheme="danger">
|
|
56
|
-
<DeleteForever />
|
|
57
|
-
</IconButtonV2>
|
|
58
|
-
),
|
|
59
|
-
showCopy: true,
|
|
60
|
-
},
|
|
61
|
-
argTypes: {
|
|
62
|
-
actionButton: {
|
|
63
|
-
table: {
|
|
64
|
-
disable: true,
|
|
65
|
-
type: {
|
|
66
|
-
detail: "Takes any ReactNode, but as the name implies: use a button component, preferably an icon-button",
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
36
|
},
|
|
71
37
|
} as Meta<typeof CodeBlock>;
|
|
72
38
|
|
|
@@ -81,11 +47,6 @@ export const CSS: StoryObj<typeof CodeBlock> = {
|
|
|
81
47
|
<span class="token property">margin</span><span class="token punctuation">:</span> <span class="token number">10</span><span class="token unit">px</span><span class="token punctuation">;</span>
|
|
82
48
|
<span class="token property">background</span><span class="token punctuation">:</span> <span class="token hexcode color">#ccc</span><span class="token punctuation">;</span>
|
|
83
49
|
<span class="token punctuation">}</span>`,
|
|
84
|
-
code: `body {
|
|
85
|
-
padding: 20px;
|
|
86
|
-
margin: 10px;
|
|
87
|
-
background: #ccc;
|
|
88
|
-
}`,
|
|
89
50
|
format: "css",
|
|
90
51
|
},
|
|
91
52
|
};
|
|
@@ -95,9 +56,6 @@ export const JS: StoryObj<typeof CodeBlock> = {
|
|
|
95
56
|
highlightedCode: `<span class="token keyword">const</span> arr <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"This"</span><span class="token punctuation">,</span> <span class="token string">"Little"</span><span class="token punctuation">,</span> <span class="token string">"Piggy"</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
|
|
96
57
|
<span class="token keyword">const</span> first <span class="token operator">=</span> arr<span class="token punctuation">.</span><span class="token method function property-access">shift</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
97
58
|
<span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>first<span class="token punctuation">)</span><span class="token punctuation">;</span>`,
|
|
98
|
-
code: `const arr = ["This", "Little", "Piggy"];
|
|
99
|
-
const first = arr.shift();
|
|
100
|
-
console.log(first);`,
|
|
101
59
|
format: "js",
|
|
102
60
|
},
|
|
103
61
|
};
|
|
@@ -105,7 +63,6 @@ console.log(first);`,
|
|
|
105
63
|
export const Text: StoryObj<typeof CodeBlock> = {
|
|
106
64
|
args: {
|
|
107
65
|
highlightedCode: `Pure text without highlighting and no title`,
|
|
108
|
-
code: `Pure text without highlighting and no title`,
|
|
109
66
|
format: "text",
|
|
110
67
|
},
|
|
111
68
|
};
|