@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.
Files changed (408) hide show
  1. package/dist/all-aout.js +0 -0
  2. package/dist/all.css +1 -0
  3. package/dist/panda.buildinfo.json +289 -0
  4. package/dist/styles.css +1197 -0
  5. package/es/Article/Article.js +3 -4
  6. package/es/Article/ArticleByline.js +9 -9
  7. package/es/Article/ArticleFootNotes.js +4 -4
  8. package/es/Article/ArticleParagraph.js +11 -13
  9. package/es/AudioPlayer/AudioPlayer.js +142 -163
  10. package/es/AudioPlayer/Controls.js +187 -203
  11. package/es/AudioPlayer/SpeechControl.js +13 -11
  12. package/es/BlogPost/BlogPost.js +85 -23
  13. package/es/CampaignBlock/CampaignBlock.js +103 -69
  14. package/es/CodeBlock/CodeBlock.js +88 -96
  15. package/es/Concept/Concept.js +69 -0
  16. package/es/ContactBlock/ContactBlock.js +54 -40
  17. package/es/ContentLoader/index.js +7 -7
  18. package/es/ContentTypeBadge/ContentTypeBadgeNew.js +48 -0
  19. package/es/CopyParagraphButton/CopyParagraphButton.js +4 -4
  20. package/es/Embed/AudioEmbed.js +6 -11
  21. package/es/Embed/BrightcoveEmbed.js +25 -39
  22. package/es/Embed/CodeEmbed.js +58 -10
  23. package/es/Embed/ConceptEmbed.js +57 -306
  24. package/es/Embed/ConceptListEmbed.js +18 -24
  25. package/es/Embed/ContentLinkEmbed.js +10 -10
  26. package/es/Embed/CopyrightEmbed.js +4 -21
  27. package/es/Embed/EmbedErrorPlaceholder.js +32 -17
  28. package/es/Embed/ExternalEmbed.js +17 -28
  29. package/es/Embed/FootnoteEmbed.js +14 -11
  30. package/es/Embed/GlossEmbed.js +68 -0
  31. package/es/Embed/H5pEmbed.js +20 -21
  32. package/es/Embed/IframeEmbed.js +17 -15
  33. package/es/Embed/ImageEmbed.js +167 -122
  34. package/es/Embed/InlineTriggerButton.js +70 -0
  35. package/es/Embed/RelatedContentEmbed.js +8 -10
  36. package/es/Embed/UnknownEmbed.js +9 -9
  37. package/es/Embed/UuDisclaimerEmbed.js +16 -27
  38. package/es/Embed/index.js +1 -3
  39. package/es/ErrorMessage/ErrorMessage.js +42 -23
  40. package/es/ErrorMessage/ErrorResourceAccessDenied.js +8 -6
  41. package/es/FactBox/FactBox.js +118 -47
  42. package/es/FileList/File.js +1 -1
  43. package/es/FileList/Format.js +3 -3
  44. package/es/FileList/PdfFile.js +23 -5
  45. package/es/FrontpageArticle/FrontpageArticle.js +1 -1
  46. package/es/Gloss/Gloss.js +122 -94
  47. package/es/Gloss/GlossExample.js +49 -52
  48. package/es/Grid/Grid.js +1 -1
  49. package/es/KeyFigure/KeyFigure.js +2 -2
  50. package/es/LanguageSelector/LanguageSelector.js +2 -2
  51. package/es/LicenseByline/EmbedByline.js +5 -6
  52. package/es/LicenseByline/LicenseDescription.js +1 -1
  53. package/es/LicenseByline/LicenseLink.js +1 -2
  54. package/es/LinkBlock/LinkBlock.js +61 -33
  55. package/es/LinkBlock/LinkBlockSection.js +9 -6
  56. package/es/Logo/Logo.js +1 -30
  57. package/es/Messages/MessageBox.js +1 -1
  58. package/es/RelatedArticleList/RelatedArticleList.js +73 -90
  59. package/es/ResourceBox/ResourceBox.js +67 -44
  60. package/es/Search/ActiveFilters.js +1 -1
  61. package/es/Search/ContentTypeResult.js +9 -6
  62. package/es/Search/ContentTypeResultStyles.js +1 -1
  63. package/es/Search/IsPathToHighlight.js +1 -1
  64. package/es/Search/SearchField.js +6 -8
  65. package/es/Search/SearchResult.js +14 -19
  66. package/es/Search/SearchResultSleeve.js +14 -16
  67. package/es/SnackBar/SnackbarProvider.js +8 -11
  68. package/es/TagSelector/TagSelector.js +124 -131
  69. package/es/TreeStructure/AddFolderButton.js +4 -6
  70. package/es/TreeStructure/ComboboxButton.js +4 -7
  71. package/es/TreeStructure/FolderItem.js +12 -15
  72. package/es/TreeStructure/FolderItems.js +3 -3
  73. package/es/TreeStructure/TreeStructure.js +9 -12
  74. package/es/TreeStructure/helperFunctions.js +1 -1
  75. package/es/ZendeskButton/ZendeskButton.js +55 -0
  76. package/es/i18n/formatNestedMessages.js +1 -1
  77. package/es/i18n/index.js +2 -1
  78. package/es/i18n/useComponentTranslations.js +83 -0
  79. package/es/index.js +6 -12
  80. package/es/locale/messages-en.js +39 -12
  81. package/es/locale/messages-nb.js +39 -12
  82. package/es/locale/messages-nn.js +39 -12
  83. package/es/locale/messages-se.js +39 -12
  84. package/es/locale/messages-sma.js +39 -12
  85. package/es/model/ContentType.js +3 -0
  86. package/es/styles.css +1197 -0
  87. package/es/utils/relativeUrl.js +3 -3
  88. package/lib/Article/Article.js +3 -4
  89. package/lib/Article/ArticleByline.js +9 -9
  90. package/lib/Article/ArticleFootNotes.js +4 -4
  91. package/lib/Article/ArticleParagraph.js +12 -14
  92. package/lib/AudioPlayer/AudioPlayer.d.ts +1 -2
  93. package/lib/AudioPlayer/AudioPlayer.js +142 -162
  94. package/lib/AudioPlayer/Controls.js +190 -205
  95. package/lib/AudioPlayer/SpeechControl.js +13 -11
  96. package/lib/BlogPost/BlogPost.d.ts +2 -2
  97. package/lib/BlogPost/BlogPost.js +85 -24
  98. package/lib/CampaignBlock/CampaignBlock.d.ts +2 -2
  99. package/lib/CampaignBlock/CampaignBlock.js +106 -69
  100. package/lib/CodeBlock/CodeBlock.d.ts +5 -8
  101. package/lib/CodeBlock/CodeBlock.js +88 -96
  102. package/lib/Concept/Concept.d.ts +18 -0
  103. package/lib/Concept/Concept.js +75 -0
  104. package/lib/ContactBlock/ContactBlock.js +55 -43
  105. package/lib/ContentLoader/index.js +7 -7
  106. package/lib/ContentTypeBadge/ContentTypeBadgeNew.d.ts +17 -0
  107. package/lib/ContentTypeBadge/ContentTypeBadgeNew.js +56 -0
  108. package/lib/CopyParagraphButton/CopyParagraphButton.js +4 -4
  109. package/lib/Embed/AudioEmbed.js +7 -12
  110. package/lib/Embed/BrightcoveEmbed.d.ts +1 -2
  111. package/lib/Embed/BrightcoveEmbed.js +28 -40
  112. package/lib/Embed/CodeEmbed.js +56 -8
  113. package/lib/Embed/ConceptEmbed.d.ts +15 -21
  114. package/lib/Embed/ConceptEmbed.js +58 -306
  115. package/lib/Embed/ConceptListEmbed.js +21 -26
  116. package/lib/Embed/ContentLinkEmbed.js +10 -11
  117. package/lib/Embed/CopyrightEmbed.js +6 -22
  118. package/lib/Embed/EmbedErrorPlaceholder.d.ts +4 -3
  119. package/lib/Embed/EmbedErrorPlaceholder.js +32 -18
  120. package/lib/Embed/ExternalEmbed.d.ts +1 -2
  121. package/lib/Embed/ExternalEmbed.js +20 -29
  122. package/lib/Embed/FootnoteEmbed.js +14 -12
  123. package/lib/Embed/GlossEmbed.d.ts +13 -0
  124. package/lib/Embed/GlossEmbed.js +76 -0
  125. package/lib/Embed/H5pEmbed.d.ts +1 -2
  126. package/lib/Embed/H5pEmbed.js +22 -21
  127. package/lib/Embed/IframeEmbed.d.ts +1 -2
  128. package/lib/Embed/IframeEmbed.js +19 -17
  129. package/lib/Embed/ImageEmbed.d.ts +1 -2
  130. package/lib/Embed/ImageEmbed.js +167 -123
  131. package/lib/Embed/InlineTriggerButton.d.ts +11 -0
  132. package/lib/Embed/InlineTriggerButton.js +76 -0
  133. package/lib/Embed/RelatedContentEmbed.js +8 -10
  134. package/lib/Embed/UnknownEmbed.js +9 -10
  135. package/lib/Embed/UuDisclaimerEmbed.js +18 -28
  136. package/lib/Embed/index.d.ts +2 -3
  137. package/lib/Embed/index.js +2 -9
  138. package/lib/ErrorMessage/ErrorMessage.js +41 -24
  139. package/lib/ErrorMessage/ErrorResourceAccessDenied.js +7 -6
  140. package/lib/FactBox/FactBox.d.ts +0 -1
  141. package/lib/FactBox/FactBox.js +119 -46
  142. package/lib/FileList/File.js +1 -1
  143. package/lib/FileList/Format.js +3 -3
  144. package/lib/FileList/PdfFile.js +23 -5
  145. package/lib/FrontpageArticle/FrontpageArticle.js +1 -1
  146. package/lib/Gloss/Gloss.d.ts +10 -2
  147. package/lib/Gloss/Gloss.js +122 -93
  148. package/lib/Gloss/GlossExample.d.ts +3 -5
  149. package/lib/Gloss/GlossExample.js +49 -53
  150. package/lib/Grid/Grid.js +1 -1
  151. package/lib/KeyFigure/KeyFigure.js +2 -2
  152. package/lib/LanguageSelector/LanguageSelector.js +2 -2
  153. package/lib/LicenseByline/EmbedByline.js +5 -6
  154. package/lib/LicenseByline/LicenseDescription.js +1 -1
  155. package/lib/LicenseByline/LicenseLink.js +1 -2
  156. package/lib/LinkBlock/LinkBlock.js +62 -34
  157. package/lib/LinkBlock/LinkBlockSection.js +9 -7
  158. package/lib/Logo/Logo.d.ts +1 -3
  159. package/lib/Logo/Logo.js +2 -30
  160. package/lib/Messages/MessageBox.js +1 -1
  161. package/lib/RelatedArticleList/RelatedArticleList.d.ts +4 -4
  162. package/lib/RelatedArticleList/RelatedArticleList.js +77 -93
  163. package/lib/ResourceBox/ResourceBox.js +67 -45
  164. package/lib/Search/ActiveFilters.js +1 -1
  165. package/lib/Search/ContentTypeResult.js +9 -6
  166. package/lib/Search/ContentTypeResultStyles.js +1 -1
  167. package/lib/Search/IsPathToHighlight.js +1 -1
  168. package/lib/Search/SearchField.js +6 -8
  169. package/lib/Search/SearchResult.js +14 -19
  170. package/lib/Search/SearchResultSleeve.js +14 -16
  171. package/lib/SnackBar/SnackbarProvider.js +8 -11
  172. package/lib/TagSelector/TagSelector.d.ts +27 -12
  173. package/lib/TagSelector/TagSelector.js +126 -131
  174. package/lib/TreeStructure/AddFolderButton.js +4 -6
  175. package/lib/TreeStructure/ComboboxButton.js +4 -7
  176. package/lib/TreeStructure/FolderItem.js +12 -15
  177. package/lib/TreeStructure/FolderItems.js +3 -3
  178. package/lib/TreeStructure/TreeStructure.js +9 -12
  179. package/lib/TreeStructure/helperFunctions.js +1 -1
  180. package/lib/ZendeskButton/ZendeskButton.d.ts +19 -0
  181. package/lib/ZendeskButton/ZendeskButton.js +61 -0
  182. package/lib/i18n/formatNestedMessages.js +1 -1
  183. package/lib/i18n/index.d.ts +1 -0
  184. package/lib/i18n/index.js +20 -1
  185. package/lib/i18n/useComponentTranslations.d.ts +14 -0
  186. package/lib/i18n/useComponentTranslations.js +93 -0
  187. package/lib/index.d.ts +7 -14
  188. package/lib/index.js +77 -89
  189. package/lib/locale/messages-en.d.ts +27 -0
  190. package/lib/locale/messages-en.js +39 -12
  191. package/lib/locale/messages-nb.d.ts +27 -0
  192. package/lib/locale/messages-nb.js +39 -12
  193. package/lib/locale/messages-nn.d.ts +27 -0
  194. package/lib/locale/messages-nn.js +39 -12
  195. package/lib/locale/messages-se.d.ts +27 -0
  196. package/lib/locale/messages-se.js +39 -12
  197. package/lib/locale/messages-sma.d.ts +27 -0
  198. package/lib/locale/messages-sma.js +39 -12
  199. package/lib/model/ContentType.d.ts +3 -0
  200. package/lib/model/ContentType.js +4 -1
  201. package/lib/styles.css +1197 -0
  202. package/lib/types.d.ts +1 -0
  203. package/lib/utils/relativeUrl.js +3 -3
  204. package/package.json +18 -15
  205. package/src/Article/ArticleParagraph.tsx +11 -9
  206. package/src/AudioPlayer/AudioPlayer.tsx +139 -176
  207. package/src/AudioPlayer/Controls.tsx +210 -250
  208. package/src/AudioPlayer/SpeechControl.tsx +9 -7
  209. package/src/BlogPost/BlogPost.tsx +82 -58
  210. package/src/CampaignBlock/CampaignBlock.tsx +92 -55
  211. package/src/CodeBlock/CodeBlock.stories.tsx +0 -43
  212. package/src/CodeBlock/CodeBlock.tsx +91 -202
  213. package/src/Concept/Concept.stories.tsx +142 -0
  214. package/src/Concept/Concept.tsx +73 -0
  215. package/src/ContactBlock/ContactBlock.tsx +10 -2
  216. package/src/ContentTypeBadge/ContentTypeBadgeNew.stories.tsx +70 -0
  217. package/src/ContentTypeBadge/ContentTypeBadgeNew.tsx +69 -0
  218. package/src/Embed/AudioEmbed.tsx +2 -2
  219. package/src/Embed/BrightcoveEmbed.stories.tsx +0 -3
  220. package/src/Embed/BrightcoveEmbed.tsx +17 -19
  221. package/src/Embed/CodeEmbed.stories.tsx +95 -0
  222. package/src/Embed/CodeEmbed.tsx +62 -7
  223. package/src/Embed/ConceptEmbed.stories.tsx +1 -105
  224. package/src/Embed/ConceptEmbed.tsx +60 -393
  225. package/src/Embed/ConceptListEmbed.tsx +20 -19
  226. package/src/Embed/ContentLinkEmbed.tsx +8 -10
  227. package/src/Embed/CopyrightEmbed.tsx +1 -11
  228. package/src/Embed/EmbedErrorPlaceholder.tsx +31 -28
  229. package/src/Embed/ExternalEmbed.tsx +14 -17
  230. package/src/Embed/FootnoteEmbed.stories.tsx +2 -5
  231. package/src/Embed/FootnoteEmbed.tsx +13 -16
  232. package/src/Embed/GlossEmbed.stories.tsx +140 -0
  233. package/src/Embed/GlossEmbed.tsx +64 -0
  234. package/src/Embed/H5pEmbed.tsx +22 -16
  235. package/src/Embed/IframeEmbed.tsx +12 -6
  236. package/src/Embed/ImageEmbed.stories.tsx +53 -11
  237. package/src/Embed/ImageEmbed.tsx +162 -166
  238. package/src/Embed/InlineTriggerButton.tsx +72 -0
  239. package/src/Embed/UnknownEmbed.tsx +6 -7
  240. package/src/Embed/UuDisclaimerEmbed.stories.tsx +4 -4
  241. package/src/Embed/UuDisclaimerEmbed.tsx +17 -25
  242. package/src/Embed/index.ts +2 -3
  243. package/src/ErrorMessage/ErrorMessage.tsx +40 -29
  244. package/src/ErrorMessage/ErrorResourceAccessDenied.tsx +8 -6
  245. package/src/FactBox/FactBox.tsx +115 -115
  246. package/src/FactBox/Factbox.stories.tsx +43 -27
  247. package/src/FileList/FileList.stories.tsx +6 -1
  248. package/src/FileList/PdfFile.tsx +22 -5
  249. package/src/Gloss/Gloss.stories.tsx +107 -1
  250. package/src/Gloss/Gloss.tsx +143 -156
  251. package/src/Gloss/GlossExample.tsx +51 -77
  252. package/src/LinkBlock/LinkBlock.stories.tsx +8 -10
  253. package/src/LinkBlock/LinkBlock.tsx +54 -59
  254. package/src/LinkBlock/LinkBlockSection.tsx +9 -12
  255. package/src/Logo/Logo.stories.tsx +0 -1
  256. package/src/Logo/Logo.tsx +2 -30
  257. package/src/RelatedArticleList/RelatedArticleList.tsx +69 -88
  258. package/src/ResourceBox/ResourceBox.tsx +65 -73
  259. package/src/Search/ContentTypeResult.tsx +9 -3
  260. package/src/Search/SearchResultSleeve.tsx +5 -2
  261. package/src/TagSelector/TagSelector.stories.tsx +92 -68
  262. package/src/TagSelector/TagSelector.tsx +161 -126
  263. package/src/ZendeskButton/ZendeskButton.tsx +58 -0
  264. package/src/i18n/index.ts +5 -0
  265. package/src/i18n/useComponentTranslations.ts +72 -0
  266. package/src/index.ts +27 -18
  267. package/src/locale/messages-en.ts +29 -2
  268. package/src/locale/messages-nb.ts +29 -2
  269. package/src/locale/messages-nn.ts +29 -2
  270. package/src/locale/messages-se.ts +29 -2
  271. package/src/locale/messages-sma.ts +29 -2
  272. package/src/model/ContentType.ts +3 -0
  273. package/src/types.ts +2 -0
  274. package/es/DefinitionList/DefinitionDescription.js +0 -28
  275. package/es/DefinitionList/DefinitionTerm.js +0 -28
  276. package/es/DefinitionList/index.js +0 -10
  277. package/es/Embed/conceptComponents.js +0 -155
  278. package/es/ExpandableBox/ExpandableBox.js +0 -29
  279. package/es/ExpandableBox/index.js +0 -9
  280. package/es/Figure/Figure.js +0 -73
  281. package/es/Figure/index.js +0 -9
  282. package/es/FramedContent/FramedContent.js +0 -28
  283. package/es/FramedContent/index.js +0 -10
  284. package/es/Image/Image.js +0 -100
  285. package/es/Image/ImageLink.js +0 -39
  286. package/es/Image/index.js +0 -12
  287. package/es/LetterFilter/LetterFilter.js +0 -54
  288. package/es/LetterFilter/alphabet.js +0 -9
  289. package/es/LetterFilter/index.js +0 -10
  290. package/es/Notion/Notion.js +0 -76
  291. package/es/Notion/NotionImage.js +0 -91
  292. package/es/Notion/index.js +0 -9
  293. package/es/Table/Table.js +0 -141
  294. package/es/Table/index.js +0 -11
  295. package/es/TagSelector/Control.js +0 -28
  296. package/es/TagSelector/DropdownIndicator.js +0 -60
  297. package/es/TagSelector/Input.js +0 -22
  298. package/es/TagSelector/Menu.js +0 -27
  299. package/es/TagSelector/MenuList.js +0 -28
  300. package/es/TagSelector/Option.js +0 -60
  301. package/es/TagSelector/SelectContainer.js +0 -27
  302. package/es/TagSelector/ValueButton.js +0 -53
  303. package/es/TagSelector/ariaMessages.js +0 -94
  304. package/es/TagSelector/index.js +0 -10
  305. package/es/TagSelector/types.js +0 -1
  306. package/lib/DefinitionList/DefinitionDescription.d.ts +0 -10
  307. package/lib/DefinitionList/DefinitionDescription.js +0 -35
  308. package/lib/DefinitionList/DefinitionTerm.d.ts +0 -10
  309. package/lib/DefinitionList/DefinitionTerm.js +0 -35
  310. package/lib/DefinitionList/index.d.ts +0 -9
  311. package/lib/DefinitionList/index.js +0 -20
  312. package/lib/Embed/conceptComponents.d.ts +0 -40
  313. package/lib/Embed/conceptComponents.js +0 -163
  314. package/lib/ExpandableBox/ExpandableBox.d.ts +0 -15
  315. package/lib/ExpandableBox/ExpandableBox.js +0 -37
  316. package/lib/ExpandableBox/index.d.ts +0 -8
  317. package/lib/ExpandableBox/index.js +0 -18
  318. package/lib/Figure/Figure.d.ts +0 -16
  319. package/lib/Figure/Figure.js +0 -81
  320. package/lib/Figure/index.d.ts +0 -9
  321. package/lib/Figure/index.js +0 -13
  322. package/lib/FramedContent/FramedContent.d.ts +0 -12
  323. package/lib/FramedContent/FramedContent.js +0 -35
  324. package/lib/FramedContent/index.d.ts +0 -9
  325. package/lib/FramedContent/index.js +0 -16
  326. package/lib/Image/Image.d.ts +0 -38
  327. package/lib/Image/Image.js +0 -106
  328. package/lib/Image/ImageLink.d.ts +0 -18
  329. package/lib/Image/ImageLink.js +0 -44
  330. package/lib/Image/index.d.ts +0 -12
  331. package/lib/Image/index.js +0 -30
  332. package/lib/LetterFilter/LetterFilter.d.ts +0 -14
  333. package/lib/LetterFilter/LetterFilter.js +0 -61
  334. package/lib/LetterFilter/alphabet.d.ts +0 -8
  335. package/lib/LetterFilter/alphabet.js +0 -15
  336. package/lib/LetterFilter/index.d.ts +0 -9
  337. package/lib/LetterFilter/index.js +0 -16
  338. package/lib/Notion/Notion.d.ts +0 -20
  339. package/lib/Notion/Notion.js +0 -82
  340. package/lib/Notion/NotionImage.d.ts +0 -23
  341. package/lib/Notion/NotionImage.js +0 -101
  342. package/lib/Notion/index.d.ts +0 -8
  343. package/lib/Notion/index.js +0 -13
  344. package/lib/Table/Table.d.ts +0 -19
  345. package/lib/Table/Table.js +0 -145
  346. package/lib/Table/index.d.ts +0 -10
  347. package/lib/Table/index.js +0 -23
  348. package/lib/TagSelector/Control.d.ts +0 -11
  349. package/lib/TagSelector/Control.js +0 -35
  350. package/lib/TagSelector/DropdownIndicator.d.ts +0 -11
  351. package/lib/TagSelector/DropdownIndicator.js +0 -64
  352. package/lib/TagSelector/Input.d.ts +0 -12
  353. package/lib/TagSelector/Input.js +0 -29
  354. package/lib/TagSelector/Menu.d.ts +0 -12
  355. package/lib/TagSelector/Menu.js +0 -34
  356. package/lib/TagSelector/MenuList.d.ts +0 -16
  357. package/lib/TagSelector/MenuList.js +0 -35
  358. package/lib/TagSelector/Option.d.ts +0 -12
  359. package/lib/TagSelector/Option.js +0 -67
  360. package/lib/TagSelector/SelectContainer.d.ts +0 -11
  361. package/lib/TagSelector/SelectContainer.js +0 -34
  362. package/lib/TagSelector/ValueButton.d.ts +0 -20
  363. package/lib/TagSelector/ValueButton.js +0 -60
  364. package/lib/TagSelector/ariaMessages.d.ts +0 -16
  365. package/lib/TagSelector/ariaMessages.js +0 -101
  366. package/lib/TagSelector/index.d.ts +0 -11
  367. package/lib/TagSelector/index.js +0 -13
  368. package/lib/TagSelector/types.d.ts +0 -11
  369. package/lib/TagSelector/types.js +0 -5
  370. package/src/DefinitionList/DefinitionDescription.tsx +0 -26
  371. package/src/DefinitionList/DefinitionTerm.tsx +0 -26
  372. package/src/DefinitionList/index.tsx +0 -10
  373. package/src/Embed/conceptComponents.tsx +0 -293
  374. package/src/ExpandableBox/ExpandableBox.stories.tsx +0 -41
  375. package/src/ExpandableBox/ExpandableBox.tsx +0 -23
  376. package/src/ExpandableBox/index.ts +0 -9
  377. package/src/Figure/Figure.tsx +0 -167
  378. package/src/Figure/index.ts +0 -11
  379. package/src/FramedContent/FramedContent.stories.tsx +0 -152
  380. package/src/FramedContent/FramedContent.tsx +0 -26
  381. package/src/FramedContent/index.ts +0 -10
  382. package/src/Image/Image.stories.tsx +0 -61
  383. package/src/Image/Image.tsx +0 -147
  384. package/src/Image/ImageLink.tsx +0 -37
  385. package/src/Image/__tests__/Image-test.tsx +0 -66
  386. package/src/Image/__tests__/__snapshots__/Image-test.tsx.snap +0 -194
  387. package/src/Image/index.ts +0 -14
  388. package/src/LetterFilter/LetterFilter.stories.tsx +0 -29
  389. package/src/LetterFilter/LetterFilter.tsx +0 -78
  390. package/src/LetterFilter/alphabet.ts +0 -39
  391. package/src/LetterFilter/index.ts +0 -11
  392. package/src/Notion/Notion.tsx +0 -96
  393. package/src/Notion/NotionImage.tsx +0 -114
  394. package/src/Notion/index.ts +0 -9
  395. package/src/Table/Table.stories.tsx +0 -738
  396. package/src/Table/Table.tsx +0 -284
  397. package/src/Table/index.ts +0 -12
  398. package/src/TagSelector/Control.tsx +0 -34
  399. package/src/TagSelector/DropdownIndicator.tsx +0 -55
  400. package/src/TagSelector/Input.tsx +0 -31
  401. package/src/TagSelector/Menu.tsx +0 -38
  402. package/src/TagSelector/MenuList.tsx +0 -30
  403. package/src/TagSelector/Option.tsx +0 -58
  404. package/src/TagSelector/SelectContainer.tsx +0 -31
  405. package/src/TagSelector/ValueButton.tsx +0 -47
  406. package/src/TagSelector/ariaMessages.ts +0 -96
  407. package/src/TagSelector/index.ts +0 -14
  408. package/src/TagSelector/types.ts +0 -12
@@ -6,176 +6,93 @@
6
6
  *
7
7
  */
8
8
 
9
- import { useState, useEffect, ReactNode, useMemo } from "react";
10
- import { useTranslation } from "react-i18next";
11
- import styled from "@emotion/styled";
12
- import { ButtonV2 } from "@ndla/button";
13
- import { colors, fonts, spacing } from "@ndla/core";
14
- import { Copy } from "@ndla/icons/action";
15
- import { Done } from "@ndla/icons/editor";
16
- import { copyTextToClipboard } from "@ndla/util";
17
- import { ICodeLangugeOption, codeLanguageOptions } from "./codeLanguageOptions";
9
+ import { type ComponentPropsWithRef, forwardRef, useMemo } from "react";
10
+ import { cx } from "@ndla/styled-system/css";
11
+ import { styled } from "@ndla/styled-system/jsx";
12
+ import { type JsxStyleProps } from "@ndla/styled-system/types";
18
13
 
19
- const Wrapper = styled.div`
20
- margin: 15px 0;
21
- `;
22
-
23
- const TitleBar = styled.div`
24
- display: flex;
25
- justify-content: space-between;
26
- width: 100%;
27
- `;
28
-
29
- const Title = styled.h3`
30
- font-style: normal;
31
- font-weight: normal;
32
- font-size: 16px;
33
- line-height: 32px;
34
- letter-spacing: 1px;
35
- text-transform: uppercase;
36
- color: ${colors.text.primary};
37
- margin: 5px 0;
38
- `;
39
-
40
- type Props = {
41
- code: string;
14
+ interface Props extends JsxStyleProps, ComponentPropsWithRef<"pre"> {
42
15
  highlightedCode: string;
43
16
  format: string;
44
- title?: string | null;
45
- actionButton?: ReactNode;
46
- showCopy?: boolean;
47
- };
48
-
49
- const StyledPre = styled.pre`
50
- border-left: 4px solid ${colors.brand.dark};
51
- background-color: ${colors.brand.greyLighter};
52
- box-sizing: border-box;
53
- overflow-x: auto;
54
- .linenumber {
55
- display: inline-block;
56
- padding: 0 ${spacing.small};
57
- border-right: 1px solid #d8d8d8;
58
- margin-right: ${spacing.small};
59
- color: #7d8b99;
60
- text-align: right;
61
- width: 40px;
62
- }
63
- .linenumber[data-first] {
64
- padding-top: ${spacing.small};
65
- }
66
- .linenumber[data-last] {
67
- padding-bottom: ${spacing.small};
68
- }
69
- code {
70
- display: block;
71
- ${fonts.sizes("14px", "20px")};
72
- font-family:
73
- Source Code ProVariable,
74
- Monaco;
75
- margin: 0;
76
- padding: 0;
77
- white-space: pre;
78
- }
79
- code::before {
80
- content: none;
81
- }
82
- &::before,
83
- &::after {
84
- content: none !important;
85
- }
86
-
87
- /* The remaining css is copied from the coy theme in prismjs. A lot of css is omitted due to styling clashes */
88
- .token.comment,
89
- .token.block-comment,
90
- .token.prolog,
91
- .token.doctype,
92
- .token.cdata {
93
- color: #7d8b99;
94
- }
95
-
96
- .token.punctuation {
97
- color: #5f6364;
98
- }
99
-
100
- .token.property,
101
- .token.tag,
102
- .token.boolean,
103
- .token.number,
104
- .token.function-name,
105
- .token.constant,
106
- .token.symbol,
107
- .token.deleted {
108
- color: #c92c2c;
109
- }
110
-
111
- .token.selector,
112
- .token.attr-name,
113
- .token.string,
114
- .token.char,
115
- .token.function,
116
- .token.builtin,
117
- .token.inserted {
118
- color: #2f9c0a;
119
- }
120
-
121
- .token.operator,
122
- .token.entity,
123
- .token.url,
124
- .token.variable {
125
- color: #a67f59;
126
- background: rgba(255, 255, 255, 0.5);
127
- }
128
-
129
- .token.atrule,
130
- .token.attr-value,
131
- .token.keyword,
132
- .token.class-name {
133
- color: #1990b8;
134
- }
135
-
136
- .token.regex,
137
- .token.important {
138
- color: #e90;
139
- }
140
-
141
- .language-css .token.string,
142
- .style .token.string {
143
- color: #a67f59;
144
- background: rgba(255, 255, 255, 0.5);
145
- }
146
-
147
- .token.important {
148
- font-weight: normal;
149
- }
150
-
151
- .token.bold {
152
- font-weight: bold;
153
- }
154
- .token.italic {
155
- font-style: italic;
156
- }
157
-
158
- .token.entity {
159
- cursor: help;
160
- }
161
-
162
- .token.namespace {
163
- opacity: 0.7;
164
- }
165
- `;
166
-
167
- const getTitleFromFormat = (format: string) => {
168
- const selectedLanguage = codeLanguageOptions.find((item: ICodeLangugeOption) => item.format === format);
169
- if (selectedLanguage) {
170
- return selectedLanguage.title;
171
- }
172
- return;
173
- };
174
-
175
- export const Codeblock = ({ actionButton, code, highlightedCode, format, showCopy = false, title }: Props) => {
176
- const { t } = useTranslation();
177
- const [isCopied, setIsCopied] = useState(false);
178
-
17
+ }
18
+
19
+ const Pre = styled("pre", {
20
+ base: {
21
+ border: "1px solid",
22
+ borderColor: "stroke.subtle",
23
+ borderLeft: "4px solid",
24
+ borderLeftColor: "stroke.default",
25
+ borderRadius: "xsmall",
26
+ boxSizing: "border-box",
27
+ overflowX: "auto",
28
+ textStyle: "label.medium",
29
+ fontFamily: "code",
30
+ display: "block",
31
+ whiteSpace: "pre",
32
+ "& .linenumber": {
33
+ display: "inline-block",
34
+ paddingBlock: "0",
35
+ paddingInline: "small",
36
+ borderRight: "1px solid",
37
+ borderColor: "stroke.subtle",
38
+ width: "xxlarge",
39
+ textAlign: "right",
40
+ marginInlineEnd: "xsmall",
41
+ },
42
+ "& .linenumber[data-first]": {
43
+ paddingBlockStart: "xsmall",
44
+ },
45
+ "& .linenumber[data-last]": {
46
+ paddingBlockEnd: "xsmall",
47
+ },
48
+ // The remaining css is copied from the coy theme in prismjs. A lot of css is omitted due to styling clashes
49
+ "& .token.comment, .token.block-comment, .token.prolog, .token.doctype, .token.cdata": {
50
+ color: "#7d8b99",
51
+ },
52
+ "& .token.punctuation": {
53
+ color: "#5f6364",
54
+ },
55
+ "& .token.property, .token.tag, .token.boolean, .token.number, .token.function-name, .token.constant, .token.symbol, .token.deleted":
56
+ {
57
+ color: "#c92c2c",
58
+ },
59
+ "& .token.selector, .token.attr-name, .token.string, .token.char, .token.function, .token.builtin, .token.inserted":
60
+ {
61
+ color: "#2f9c0a",
62
+ },
63
+ "& .token.operator, .token.entity, .token.url, .token.variable": {
64
+ color: "#a67f59",
65
+ background: "rgba(255, 255, 255, 0.5)",
66
+ },
67
+ "& .token.atrule, .token.attr-value, .token.keyword, .token.class-name": {
68
+ color: "#1990b8",
69
+ },
70
+ "& .token.regex, .token.important": {
71
+ color: "#e90",
72
+ },
73
+ "& .language-css .token.string, .style .token.string": {
74
+ color: "#a67f59",
75
+ background: "rgba(255, 255, 255, 0.5)",
76
+ },
77
+ "& .token.important": {
78
+ fontWeight: "normal",
79
+ },
80
+ "& .token.bold": {
81
+ fontWeight: "bold",
82
+ },
83
+ "& .token.italic": {
84
+ fontStyle: "italic",
85
+ },
86
+ "& .token.entity": {
87
+ cursor: "help",
88
+ },
89
+ "& .token.namespace": {
90
+ opacity: "0.7",
91
+ },
92
+ },
93
+ });
94
+
95
+ export const Codeblock = forwardRef<HTMLPreElement, Props>(({ highlightedCode, format, className, ...props }, ref) => {
179
96
  const codeWithLineNumbers = useMemo(() => {
180
97
  return highlightedCode
181
98
  .split("\n")
@@ -187,42 +104,14 @@ export const Codeblock = ({ actionButton, code, highlightedCode, format, showCop
187
104
  .join("\n");
188
105
  }, [highlightedCode]);
189
106
 
190
- useEffect(() => {
191
- if (isCopied) {
192
- const timer = setInterval(() => setIsCopied(false), 3000);
193
- // ensure interval is cleared - also if unmounted
194
- return () => {
195
- clearTimeout(timer);
196
- };
197
- }
198
- }, [isCopied]);
199
-
200
107
  return (
201
- <Wrapper>
202
- <TitleBar>
203
- <Title>{title || getTitleFromFormat(format)}</Title>
204
- {actionButton}
205
- </TitleBar>
206
- <StyledPre>
207
- <code className={`language-${format}`} dangerouslySetInnerHTML={{ __html: codeWithLineNumbers }} />
208
- </StyledPre>
209
- {showCopy && (
210
- <ButtonV2
211
- title={t("codeBlock.copyButton")}
212
- disabled={isCopied}
213
- data-copied-title={t("codeBlock.copiedCode")}
214
- data-copy-string={code}
215
- onClick={() => {
216
- copyTextToClipboard(code);
217
- setIsCopied(true);
218
- }}
219
- >
220
- {isCopied ? <Done aria-hidden="true" /> : <Copy aria-hidden="true" />}{" "}
221
- {isCopied ? t("codeBlock.copiedCode") : t("codeBlock.copyCode")}
222
- </ButtonV2>
223
- )}
224
- </Wrapper>
108
+ <Pre
109
+ className={cx(`language-${format}`, className)}
110
+ {...props}
111
+ dangerouslySetInnerHTML={{ __html: codeWithLineNumbers }}
112
+ ref={ref}
113
+ />
225
114
  );
226
- };
115
+ });
227
116
 
228
117
  export default Codeblock;
@@ -0,0 +1,142 @@
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 { ConceptData } from "@ndla/types-embed";
11
+ import { Concept } from "./Concept";
12
+
13
+ const visualElementData: ConceptData["visualElement"] = {
14
+ resource: "image",
15
+ status: "success",
16
+ embedData: {
17
+ resource: "image",
18
+ resourceId: "61181",
19
+ size: "full",
20
+ align: "",
21
+ alt: "Tenåringsjente med lyse fletter slenger på håret. Foto. ",
22
+ caption:
23
+ "Den østerrikske tronfølgeren Franz Ferdinand og hans hustru Sophie var på besøk i Sarajevo i 1914. Begge ble skutt og drept av nasjonalisten Gavrilo Princip i det som er kjent som <em>skuddene i Sarajevo</em>. Denne hendelsen var den utløsende årsaken til første verdenskrig.",
24
+ url: "https://api.test.ndla.no/image-api/v2/images/61181",
25
+ },
26
+ data: {
27
+ id: "61181",
28
+ metaUrl: "https://api.test.ndla.no/image-api/v3/images/61181",
29
+ title: {
30
+ title: "\nHigh angle view of teenage girl with tousled dyed hair dancing at skateboard park\n",
31
+ language: "nb",
32
+ },
33
+ alttext: {
34
+ alttext: "Tenåringsjente med lyse fletter slenger på håret. Foto. ",
35
+ language: "nb",
36
+ },
37
+ copyright: {
38
+ license: {
39
+ license: "CC-BY-NC-4.0",
40
+ description: "Creative Commons Attribution-NonCommercial 4.0 International",
41
+ url: "https://creativecommons.org/licenses/by-nc/4.0/",
42
+ },
43
+ origin: "https://bilder.ntb.no/r/preview/creative/EXuziiZGWno",
44
+ creators: [
45
+ {
46
+ type: "photographer",
47
+ name: "Maskot",
48
+ },
49
+ ],
50
+ processors: [],
51
+ rightsholders: [
52
+ {
53
+ type: "rightsholder",
54
+ name: "NTB",
55
+ },
56
+ ],
57
+ processed: false,
58
+ },
59
+ tags: {
60
+ tags: ["danser", "kultur", "identitet"],
61
+ language: "nb",
62
+ },
63
+ caption: {
64
+ caption: "Modellklarert.",
65
+ language: "nb",
66
+ },
67
+ supportedLanguages: ["nb"],
68
+ created: "2022-01-07T08:26:01Z",
69
+ createdBy: "lA2KgVfhY-fpmgHCYAy5W1DX",
70
+ modelRelease: "yes",
71
+ image: {
72
+ fileName: "S81WiNgl.jpg",
73
+ size: 1685455,
74
+ contentType: "image/jpeg",
75
+ imageUrl: "https://api.test.ndla.no/image-api/raw/S81WiNgl.jpg",
76
+ dimensions: {
77
+ width: 2000,
78
+ height: 1333,
79
+ },
80
+ language: "nb",
81
+ },
82
+ },
83
+ };
84
+
85
+ export default {
86
+ title: "Components/Concept",
87
+ component: Concept,
88
+ tags: ["autodocs"],
89
+ args: {
90
+ title: "skin - formasjonsskade",
91
+ lang: "nb",
92
+ visualElement: visualElementData,
93
+ copyright: {
94
+ license: {
95
+ license: "CC-BY-SA-4.0",
96
+ description: "Creative Commons Attribution-ShareAlike 4.0 International",
97
+ url: "https://creativecommons.org/licenses/by-sa/4.0/",
98
+ },
99
+ creators: [{ type: "Writer", name: "Sissel Paaske" }],
100
+ processors: [
101
+ { type: "Processor", name: "Totaltekst" },
102
+ { type: "Correction", name: "Arbeidets art" },
103
+ ],
104
+ rightsholders: [],
105
+ processed: false,
106
+ },
107
+ children: (
108
+ <>
109
+ <p>
110
+ Ordet «skin» er engelsk og brukes om formasjonsskade som oppstår i boreprosessen i området som grenser inn til
111
+ brønnen. Skaden er størst i området nærmest hullet, men den kan bre seg utover et stykke fra brønnen. Skin
112
+ forteller om bergartens permeabilitet i reservoarsonen.
113
+ </p>
114
+ <p>Hullveggen skades både av borekronen, små partikler og væsken som brukes i brønnen.</p>
115
+ <p>
116
+ Skaden i bergarten gir dårligere forhold for oljen som skal strømme til brønnen. Gangene i bergarten plugges,
117
+ og det oppstår et trykkfall som reduserer produksjonstrykket i brønnen.
118
+ </p>
119
+ <p>
120
+ Det er viktig å redusere omfanget av skaden ved å velge væsker som passer godt til bergartsegenskapene, og å
121
+ bore med en borekrone som skader minst mulig.
122
+ </p>
123
+ <p>Skader som er dannet av borevæske, kan repareres ved å syrebehandle hullets overflate.</p>
124
+ </>
125
+ ),
126
+ },
127
+ } satisfies Meta<typeof Concept>;
128
+
129
+ export const Default: StoryObj<typeof Concept> = {};
130
+
131
+ export const WithoutVisualElement: StoryObj<typeof Concept> = {
132
+ args: {
133
+ visualElement: undefined,
134
+ },
135
+ };
136
+
137
+ export const WithoutLicenseAndVisualElement: StoryObj<typeof Concept> = {
138
+ args: {
139
+ visualElement: undefined,
140
+ copyright: undefined,
141
+ },
142
+ };
@@ -0,0 +1,73 @@
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 { ComponentPropsWithRef, ReactNode, forwardRef } from "react";
10
+ import { Figure } from "@ndla/primitives";
11
+ import { styled } from "@ndla/styled-system/jsx";
12
+ import { IDraftCopyright as ConceptCopyright } from "@ndla/types-backend/concept-api";
13
+ import { ConceptVisualElementMeta } from "@ndla/types-embed";
14
+ import { BrightcoveEmbed, ExternalEmbed, H5pEmbed, IframeEmbed, ImageEmbed } from "../Embed";
15
+ import { LicenseContainerContent } from "../LicenseByline/EmbedByline";
16
+
17
+ export interface ConceptProps extends ComponentPropsWithRef<"figure"> {
18
+ copyright?: ConceptCopyright;
19
+ visualElement?: ConceptVisualElementMeta;
20
+ lang?: string;
21
+ title?: string;
22
+ children?: ReactNode;
23
+ }
24
+
25
+ const StyledFigure = styled(Figure, {
26
+ base: {
27
+ display: "flex",
28
+ flexDirection: "column",
29
+ gap: "medium",
30
+ },
31
+ });
32
+
33
+ const ContentWrapper = styled("div", {
34
+ base: {
35
+ textStyle: "body.large",
36
+ display: "inline",
37
+ "& p": {
38
+ display: "inline",
39
+ },
40
+ },
41
+ });
42
+
43
+ // TODO: Figure out if we need to support tags, subjects and headerButtons.
44
+
45
+ export const Concept = forwardRef<HTMLElement, ConceptProps>(
46
+ ({ copyright, visualElement, lang, children, title, ...rest }, ref) => {
47
+ return (
48
+ <StyledFigure ref={ref} {...rest}>
49
+ <ContentWrapper lang={lang}>
50
+ {!!title && (
51
+ <>
52
+ <b>{title}</b>
53
+ {` – `}
54
+ </>
55
+ )}
56
+ {children}
57
+ </ContentWrapper>
58
+ {visualElement?.resource === "image" ? (
59
+ <ImageEmbed embed={visualElement} lang={lang} />
60
+ ) : visualElement?.resource === "brightcove" ? (
61
+ <BrightcoveEmbed embed={visualElement} />
62
+ ) : visualElement?.resource === "h5p" ? (
63
+ <H5pEmbed embed={visualElement} />
64
+ ) : visualElement?.resource === "iframe" ? (
65
+ <IframeEmbed embed={visualElement} />
66
+ ) : visualElement?.resource === "external" ? (
67
+ <ExternalEmbed embed={visualElement} />
68
+ ) : null}
69
+ {copyright && <LicenseContainerContent copyright={copyright} type="concept" />}
70
+ </StyledFigure>
71
+ );
72
+ },
73
+ );
@@ -14,10 +14,10 @@ import styled from "@emotion/styled";
14
14
  import { spacing, fonts, colors, mq, breakpoints, misc } from "@ndla/core";
15
15
  import { BlobPointy as UnstyledBlobPointy, BlobRound as UnstyledBlobRound } from "@ndla/icons/common";
16
16
  import { COPYRIGHTED, getLicenseByAbbreviation } from "@ndla/licenses";
17
+ import { Image } from "@ndla/primitives";
17
18
  import { IAuthor, IImageMetaInformationV3 } from "@ndla/types-backend/image-api";
18
19
  import { CanonicalUrlFuncs } from "../Embed";
19
20
  import { errorSvgSrc } from "../Embed/ImageEmbed";
20
- import Image, { ImageLink } from "../Image";
21
21
  import LicenseLink from "../LicenseByline/LicenseLink";
22
22
 
23
23
  const BLOB_WIDTH = 90;
@@ -150,9 +150,17 @@ interface LinkWrapperProps {
150
150
  children: ReactNode;
151
151
  }
152
152
 
153
+ const StyledLink = styled.a`
154
+ text-decoration: none;
155
+ `;
156
+
153
157
  const LinkWrapper = ({ src, children }: LinkWrapperProps) => {
154
158
  if (src) {
155
- return <ImageLink src={src}>{children}</ImageLink>;
159
+ return (
160
+ <StyledLink target="_blank" href={src} rel="noopener noreferrer">
161
+ {children}
162
+ </StyledLink>
163
+ );
156
164
  }
157
165
  return children;
158
166
  };
@@ -0,0 +1,70 @@
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 { useTranslation } from "react-i18next";
10
+ import { Meta, StoryFn, StoryObj } from "@storybook/react";
11
+ import { Video } from "@ndla/icons/editor";
12
+ import { HStack, styled } from "@ndla/styled-system/jsx";
13
+ import { ContentTypeBadge } from "./ContentTypeBadgeNew";
14
+
15
+ export default {
16
+ title: "Components/ContentTypeBadgeNew",
17
+ component: ContentTypeBadge,
18
+ tags: ["autodocs"],
19
+ parameters: {
20
+ inlineStories: true,
21
+ },
22
+ args: {
23
+ contentType: "subject-material",
24
+ },
25
+ } satisfies Meta<typeof ContentTypeBadge>;
26
+
27
+ export const Default: StoryObj<typeof ContentTypeBadge> = {};
28
+
29
+ const StyledHStack = styled(HStack, {
30
+ base: {
31
+ flexWrap: "wrap",
32
+ },
33
+ });
34
+
35
+ export const AllBadges: StoryFn<typeof ContentTypeBadge> = () => (
36
+ <StyledHStack gap="3xsmall">
37
+ <ContentTypeBadge contentType="subject-material" />
38
+ <ContentTypeBadge contentType="tasks-and-activities" />
39
+ <ContentTypeBadge contentType="assessment-resources" />
40
+ <ContentTypeBadge contentType="subject" />
41
+ <ContentTypeBadge contentType="source-material" />
42
+ <ContentTypeBadge contentType="learning-path" />
43
+ <ContentTypeBadge contentType="topic" />
44
+ <ContentTypeBadge contentType="multidisciplinary-topic" />
45
+ <ContentTypeBadge contentType="concept" />
46
+ <ContentTypeBadge contentType="external" />
47
+ <ContentTypeBadge contentType="image" />
48
+ <ContentTypeBadge contentType="audio" />
49
+ <ContentTypeBadge contentType="video" />
50
+ <ContentTypeBadge contentType="missing" />
51
+ </StyledHStack>
52
+ );
53
+
54
+ const StyledContentTypeBadge = styled(ContentTypeBadge, {
55
+ base: {
56
+ display: "flex",
57
+ gap: "4xsmall",
58
+ alignItems: "center",
59
+ },
60
+ });
61
+
62
+ export const ContentOverride: StoryFn<typeof ContentTypeBadge> = () => {
63
+ const { t } = useTranslation();
64
+ return (
65
+ <StyledContentTypeBadge contentType="video">
66
+ <Video size="small" />
67
+ {t("contentTypes.video")}
68
+ </StyledContentTypeBadge>
69
+ );
70
+ };