@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,26 +6,21 @@
6
6
  *
7
7
  */
8
8
 
9
- /** @jsxImportSource @emotion/react */
10
9
  import parse from "html-react-parser";
11
- import { MouseEventHandler, ReactNode, useMemo, useState } from "react";
10
+ import { ReactNode, useMemo, useState } from "react";
12
11
  import { useTranslation } from "react-i18next";
13
- import styled from "@emotion/styled";
14
- import { colors, misc, spacing } from "@ndla/core";
15
12
  import { Plus } from "@ndla/icons/action";
16
13
  import { ChevronDown, ChevronUp } from "@ndla/icons/common";
17
- import { COPYRIGHTED } from "@ndla/licenses";
14
+ import { Figure, FigureSize, FigureVariantProps, Image } from "@ndla/primitives";
15
+ import { styled } from "@ndla/styled-system/jsx";
18
16
  import { ImageEmbedData, ImageMetaData } from "@ndla/types-embed";
19
17
  import EmbedErrorPlaceholder from "./EmbedErrorPlaceholder";
20
18
  import { RenderContext } from "./types";
21
- import { Figure, FigureType } from "../Figure";
22
- import Image from "../Image";
23
19
  import { EmbedByline } from "../LicenseByline";
24
20
 
25
21
  interface Props {
26
22
  embed: ImageMetaData;
27
23
  previewAlt?: boolean;
28
- inGrid?: boolean;
29
24
  lang?: string;
30
25
  renderContext?: RenderContext;
31
26
  children?: ReactNode;
@@ -49,21 +44,15 @@ export const getLicenseCredits = (copyright?: {
49
44
  };
50
45
 
51
46
  export const errorSvgSrc = `data:image/svg+xml;charset=UTF-8,%3Csvg fill='%238A8888' height='400' viewBox='0 0 24 12' width='100%25' xmlns='http://www.w3.org/2000/svg' style='background-color: %23EFF0F2'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath transform='scale(0.3) translate(28, 8.5)' d='M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'/%3E%3C/svg%3E`;
52
- const isSmall = (size?: string): size is "xsmall" | "small" => size === "xsmall" || size === "small";
53
47
 
54
- const isAlign = (align?: string): align is "left" | "right" => align === "left" || align === "right";
55
-
56
- const getFigureType = (size?: string, align?: string): FigureType => {
57
- if (size && isSmall(size) && align && isAlign(align)) {
58
- return `${size}-${align}`;
59
- }
60
- if (size && isSmall(size) && !align) {
61
- return size as FigureType;
62
- }
63
- if (align && isAlign(align)) {
64
- return align;
65
- }
66
- return "full";
48
+ const getFigureProps = (size?: string, float?: string): FigureVariantProps => {
49
+ const actualFloat = float === "left" ? "left" : float === "right" ? "right" : undefined;
50
+ const replacedSize: FigureSize = (size?.replace("-hide-byline", "") ?? "full") as FigureSize;
51
+ return {
52
+ float: actualFloat,
53
+ // Figure expects you to set a size when floating. If you don't, the figure will simply take up the available width. Fallback to medium in those cases.
54
+ size: replacedSize === "full" && float ? "medium" : replacedSize,
55
+ };
67
56
  };
68
57
 
69
58
  const getSizes = (size?: string, align?: string) => {
@@ -111,36 +100,127 @@ export const getCrop = (data: ImageEmbedData) => {
111
100
 
112
101
  const expandedSizes = "(min-width: 1024px) 1024px, 100vw";
113
102
 
114
- const StyledFigure = styled(Figure)`
115
- &:hover {
116
- [data-byline-button] {
117
- background: ${colors.white};
118
- }
119
- button[data-expanded] {
120
- transform: scale(1.2);
121
- }
122
- }
123
- button[data-expanded="true"] {
124
- svg {
125
- transform: rotate(-45deg);
126
- }
127
- }
128
- &[data-float="right"] {
129
- float: right;
130
- }
131
- &[data-float="left"] {
132
- float: left;
133
- }
134
- `;
103
+ const ImageWrapper = styled("div", {
104
+ base: {
105
+ overflow: "hidden",
106
+ position: "relative",
107
+ width: "100%",
108
+ "& img": {
109
+ width: "100%",
110
+ },
111
+ },
112
+ variants: {
113
+ svg: {
114
+ true: {
115
+ display: "flex",
116
+ justifyContent: "center",
117
+ },
118
+ false: {},
119
+ },
120
+ border: {
121
+ true: {
122
+ border: "1px solid",
123
+ // TODO: Not sure if we want this color.
124
+ borderColor: "surface.brand.1.strong",
125
+ borderBottom: "0",
126
+ borderRadius: "xsmall",
127
+ borderBottomLeftRadius: "0",
128
+ borderBottomRightRadius: "0",
129
+ },
130
+ false: {},
131
+ },
132
+ expandable: {
133
+ true: {
134
+ cursor: "pointer",
135
+ },
136
+ false: {},
137
+ },
138
+ },
139
+ });
135
140
 
136
- const ImageEmbed = ({ embed, previewAlt, inGrid, lang, renderContext = "article", children }: Props) => {
141
+ const StyledFigure = styled(Figure, {
142
+ base: {
143
+ _hover: {
144
+ "& [data-byline-button]": {
145
+ background: "background.default",
146
+ },
147
+ "& button[data-expanded]": {
148
+ transform: "scale(1.2)",
149
+ },
150
+ },
151
+ "& button[data-expanded='true']": {
152
+ "& svg": {
153
+ transform: "rotate(-45deg)",
154
+ },
155
+ },
156
+ },
157
+ });
158
+
159
+ // TODO: Ask about BylineButton styling. Not included in design
160
+ const BylineButton = styled(
161
+ "button",
162
+ {
163
+ base: {
164
+ cursor: "pointer",
165
+ position: "absolute",
166
+ zIndex: "base",
167
+ bottom: "0",
168
+ right: "0",
169
+ paddingBlock: "xsmall",
170
+ paddingInline: "xsmall",
171
+ transitionProperty: "transform, background-color, color",
172
+ transitionDuration: "normal",
173
+ transitionTimingFunction: "ease-out",
174
+ background: "background.default/20",
175
+ border: "0",
176
+ "& svg": {
177
+ transitionProperty: "transform",
178
+ transitionDuration: "normal",
179
+ transitionTimingFunction: "ease-out",
180
+ fill: "primary",
181
+ },
182
+ },
183
+ },
184
+ { defaultProps: { type: "button" } },
185
+ );
186
+
187
+ const ExpandButton = styled(
188
+ "button",
189
+ {
190
+ base: {
191
+ display: "flex",
192
+ alignItems: "center",
193
+ justifyContent: "center",
194
+ cursor: "pointer",
195
+ position: "absolute",
196
+ padding: "0",
197
+ top: "xsmall",
198
+ right: "xsmall",
199
+ width: "medium",
200
+ height: "medium",
201
+ border: "2px solid",
202
+ borderColor: "background.default",
203
+ transitionProperty: "transform, background-color, color",
204
+ transitionDuration: "normal",
205
+ transitionTimingFunction: "ease-out",
206
+ color: "background.default",
207
+ backgroundColor: "surface.action",
208
+ borderRadius: "large",
209
+ "& svg": {
210
+ transitionProperty: "transform",
211
+ transitionDuration: "normal",
212
+ transitionTimingFunction: "ease-out",
213
+ },
214
+ },
215
+ },
216
+ { defaultProps: { type: "button" } },
217
+ );
218
+
219
+ const ImageEmbed = ({ embed, previewAlt, lang, renderContext = "article", children }: Props) => {
137
220
  const [isBylineHidden, setIsBylineHidden] = useState(hideByline(embed.embedData));
138
221
  const [imageSizes, setImageSizes] = useState<string | undefined>(undefined);
139
- // Full-size figures automatically get a margin of {spacing.normal} on its y-axis if a float is not set (or if float is an empty string).
140
- // This adds some margin to normal figures within an article, but should not happen for figures in a grid.
141
- const [floatAttr, setFloatAttr] = useState<{ "data-float"?: string }>(() =>
142
- inGrid && !embed.embedData.align ? {} : { "data-float": embed.embedData.align },
143
- );
222
+ const figureProps = getFigureProps(embed.embedData.size, embed.embedData.align);
223
+ const { t } = useTranslation();
144
224
 
145
225
  const parsedDescription = useMemo(() => {
146
226
  if (embed.embedData.caption || renderContext === "article") {
@@ -152,60 +232,56 @@ const ImageEmbed = ({ embed, previewAlt, inGrid, lang, renderContext = "article"
152
232
  }, [embed, renderContext]);
153
233
 
154
234
  if (embed.status === "error") {
155
- const { align, size } = embed.embedData;
156
- const figureType = getFigureType(size, align);
157
- return <EmbedErrorPlaceholder type={"image"} figureType={figureType} />;
235
+ return <EmbedErrorPlaceholder type={"image"} figureType={figureProps?.size} float={figureProps?.float} />;
158
236
  }
159
237
 
160
238
  const { data, embedData } = embed;
161
239
 
162
240
  const altText = embedData.alt || "";
163
241
 
164
- const figureType = getFigureType(embedData.size, embedData.align);
165
242
  const sizes = getSizes(embedData.size, embedData.align);
166
243
 
167
244
  const focalPoint = getFocalPoint(embedData);
168
245
  const crop = getCrop(embedData);
169
246
 
170
- const isCopyrighted = data.copyright.license.license.toLowerCase() === COPYRIGHTED;
171
-
172
247
  const toggleImageSize = () => {
173
- if (!imageSizes) {
174
- setImageSizes(expandedSizes);
175
- setTimeout(() => {
176
- setFloatAttr({});
177
- }, 400); //Removing the float parameter too quickly causes the image to be resized from left regardless
178
- } else {
179
- setImageSizes(undefined);
180
- setFloatAttr({ "data-float": embedData.align });
181
- }
248
+ setImageSizes((sizes) => (!sizes ? expandedSizes : undefined));
182
249
  };
183
250
 
251
+ // TODO: Check how this works with `children`. Will only be important for ED
184
252
  return (
185
- <StyledFigure type={imageSizes ? undefined : figureType} {...floatAttr}>
253
+ <StyledFigure float={figureProps?.float} size={imageSizes ? "full" : figureProps?.size ?? "medium"}>
186
254
  {children}
187
- <Image
188
- focalPoint={focalPoint}
189
- contentType={data.image.contentType}
190
- crop={crop}
191
- sizes={imageSizes ?? sizes}
192
- alt={altText}
193
- src={data.image.imageUrl}
194
- border={embedData.border}
195
- onExpand={isAlign(embedData.align) ? toggleImageSize : undefined}
196
- expanded={!!imageSizes}
197
- expandButton={
255
+ <ImageWrapper border={embedData.border === "true"} expandable={!!figureProps?.float}>
256
+ <Image
257
+ focalPoint={focalPoint}
258
+ contentType={data.image.contentType}
259
+ crop={crop}
260
+ sizes={imageSizes ?? sizes}
261
+ alt={altText}
262
+ src={data.image.imageUrl}
263
+ lang={lang}
264
+ onClick={figureProps?.float ? toggleImageSize : undefined}
265
+ />
266
+ {!!embedData.align && (
198
267
  <ExpandButton
199
- embedData={embedData}
200
- expanded={!!imageSizes}
201
- align={embedData.align}
202
- bylineHidden={isBylineHidden}
203
- onExpand={toggleImageSize}
204
- onHideByline={() => setIsBylineHidden((p) => !p)}
205
- />
206
- }
207
- lang={lang}
208
- />
268
+ aria-label={t(`license.images.itemImage.zoom${imageSizes ? "Out" : ""}ImageButtonLabel`)}
269
+ onClick={toggleImageSize}
270
+ data-expanded={!!imageSizes}
271
+ >
272
+ <Plus />
273
+ </ExpandButton>
274
+ )}
275
+ {(embedData.size?.endsWith("-hide-byline") || embedData.hideByline === "true") && (
276
+ <BylineButton
277
+ data-byline-button=""
278
+ aria-label={t(`license.images.itemImage.${isBylineHidden ? "expandByline" : "minimizeByline"}`)}
279
+ onClick={() => setIsBylineHidden((p) => !p)}
280
+ >
281
+ {isBylineHidden ? <ChevronDown /> : <ChevronUp />}
282
+ </BylineButton>
283
+ )}
284
+ </ImageWrapper>
209
285
  {isBylineHidden ? null : (
210
286
  <EmbedByline
211
287
  type="image"
@@ -222,84 +298,4 @@ const hideByline = (embed: ImageEmbedData): boolean => {
222
298
  return (!!embed.size && embed.size.endsWith("-hide-byline")) || embed.hideByline === "true";
223
299
  };
224
300
 
225
- interface ExpandButtonProps {
226
- embedData: ImageEmbedData;
227
- align?: string;
228
- expanded: boolean;
229
- bylineHidden: boolean;
230
- onExpand: MouseEventHandler<HTMLButtonElement>;
231
- onHideByline: MouseEventHandler<HTMLButtonElement>;
232
- }
233
-
234
- const BylineButton = styled.button`
235
- cursor: pointer;
236
- position: absolute;
237
- z-index: 1;
238
- bottom: 0;
239
- right: 0;
240
- padding: ${spacing.small};
241
- transition: all 0.3s ease-out;
242
- background: ${colors.background.default}20;
243
- border: 0;
244
-
245
- svg {
246
- transition: transform 0.4s ease-out;
247
- width: ${spacing.normal};
248
- height: ${spacing.normal};
249
- fill: ${colors.brand.primary};
250
- }
251
- `;
252
-
253
- const StyledButton = styled.button`
254
- display: flex;
255
- align-items: center;
256
- justify-content: center;
257
- cursor: pointer;
258
- position: absolute;
259
- padding: 0;
260
- top: ${spacing.small};
261
- right: ${spacing.small};
262
- width: ${spacing.normal};
263
- height: ${spacing.normal};
264
- border: 2px solid ${colors.white};
265
- transition: all 0.3s ease-out;
266
- color: ${colors.white};
267
- background-color: ${colors.brand.primary};
268
- border-radius: ${misc.borderRadiusLarge};
269
- svg {
270
- transition: transform 0.4s ease-out;
271
- height: ${spacing.nsmall};
272
- width: ${spacing.nsmall};
273
- }
274
- `;
275
-
276
- const ExpandButton = ({ align, embedData, expanded, bylineHidden, onExpand, onHideByline }: ExpandButtonProps) => {
277
- const { t } = useTranslation();
278
- if (isAlign(align)) {
279
- return (
280
- <StyledButton
281
- type="button"
282
- aria-label={t(`license.images.itemImage.zoom${expanded ? "Out" : ""}ImageButtonLabel`)}
283
- onClick={onExpand}
284
- data-expanded={expanded}
285
- >
286
- <Plus />
287
- </StyledButton>
288
- );
289
- }
290
- if (hideByline(embedData)) {
291
- return (
292
- <BylineButton
293
- type="button"
294
- data-byline-button=""
295
- aria-label={t(`license.images.itemImage.${bylineHidden ? "expandByline" : "minimizeByline"}`)}
296
- onClick={onHideByline}
297
- >
298
- {bylineHidden ? <ChevronDown /> : <ChevronUp />}
299
- </BylineButton>
300
- );
301
- }
302
- return null;
303
- };
304
-
305
301
  export default ImageEmbed;
@@ -0,0 +1,72 @@
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, KeyboardEvent, forwardRef, useCallback, useRef } from "react";
10
+ import { styled } from "@ndla/styled-system/jsx";
11
+ import { composeRefs } from "@ndla/util";
12
+
13
+ const StyledSpan = styled("span", {
14
+ base: {
15
+ position: "relative",
16
+ overflow: "visible",
17
+ borderBottom: "1px solid",
18
+ borderStyle: "dashed",
19
+ borderColor: "stroke.hover",
20
+ paddingBlock: "4xsmall",
21
+ paddingInline: "4xsmall",
22
+ width: "fit-content",
23
+ cursor: "pointer",
24
+ _hover: {
25
+ borderColor: "text.link",
26
+ background: "surface.actionSubtle.hover",
27
+ },
28
+ _active: {
29
+ borderColor: "text.link",
30
+ background: "surface.actionSubtle.active",
31
+ },
32
+ // The global focus ring forces the border-radius to be xsmall, causing the dashed border to be cut off. This is a workaround.
33
+ _focusVisible: {
34
+ outline: "none",
35
+ borderRadius: "0",
36
+ _after: {
37
+ content: '""',
38
+ position: "absolute",
39
+ inset: "0",
40
+ outline: "3px",
41
+ borderRadius: "xsmall",
42
+ outlineColor: "stroke.default",
43
+ outlineOffset: "3px",
44
+ outlineStyle: "solid",
45
+ },
46
+ },
47
+ },
48
+ });
49
+
50
+ export const InlineTriggerButton = forwardRef<HTMLSpanElement, ComponentPropsWithRef<"span">>(
51
+ ({ onClick, ...props }, ref) => {
52
+ const spanRef = useRef<HTMLSpanElement>(null);
53
+
54
+ // Emulate a button click when pressing Enter or Space
55
+ const onKeyboardEvent = useCallback((event: KeyboardEvent<HTMLSpanElement>) => {
56
+ if (event.key === "Enter" || event.key === " ") {
57
+ spanRef.current?.click();
58
+ }
59
+ }, []);
60
+
61
+ return (
62
+ <StyledSpan
63
+ ref={composeRefs(spanRef, ref)}
64
+ onKeyUp={onKeyboardEvent}
65
+ onClick={onClick}
66
+ role="button"
67
+ tabIndex={0}
68
+ {...props}
69
+ />
70
+ );
71
+ },
72
+ );
@@ -7,21 +7,20 @@
7
7
  */
8
8
 
9
9
  import { useTranslation } from "react-i18next";
10
- import styled from "@emotion/styled";
11
- import { colors } from "@ndla/core";
10
+ import { Text } from "@ndla/primitives";
12
11
  import { MetaData } from "@ndla/types-embed";
13
12
 
14
13
  interface Props {
15
14
  embed: MetaData<any, any>;
16
15
  }
17
16
 
18
- const StyledSpan = styled.span`
19
- color: ${colors.support.red};
20
- `;
21
-
22
17
  const UnknownEmbed = ({ embed }: Props) => {
23
18
  const { t } = useTranslation();
24
- return <StyledSpan>{t("embed.unsupported", { type: embed.resource })}</StyledSpan>;
19
+ return (
20
+ <Text color="text.error" asChild consumeCss>
21
+ <span>{t("embed.unsupported", { type: embed.resource })}</span>
22
+ </Text>
23
+ );
25
24
  };
26
25
 
27
26
  export default UnknownEmbed;
@@ -7,6 +7,7 @@
7
7
  */
8
8
 
9
9
  import { Meta, StoryObj } from "@storybook/react";
10
+ import { ExpandableBox, ExpandableBoxSummary, FramedContent } from "@ndla/primitives";
10
11
  import { UuDisclaimerEmbedData } from "@ndla/types-embed";
11
12
  import H5pEmbed from "./H5pEmbed";
12
13
  import IframeEmbed from "./IframeEmbed";
@@ -14,7 +15,6 @@ import UuDisclaimerEmbed from "./UuDisclaimerEmbed";
14
15
  import { ArticleWrapper } from "../Article";
15
16
  import CopyParagraphButton from "../CopyParagraphButton";
16
17
  import FactBox from "../FactBox";
17
- import FramedContent from "../FramedContent";
18
18
  import LayoutItem, { OneColumn } from "../Layout";
19
19
 
20
20
  const embedData: UuDisclaimerEmbedData = {
@@ -143,10 +143,10 @@ export const WithHtml: StoryObj<typeof UuDisclaimerEmbed> = {
143
143
  children: (
144
144
  <>
145
145
  <p>Dette er html med en ekspanderboks</p>
146
- <details>
147
- <summary>Tittel</summary>
146
+ <ExpandableBox>
147
+ <ExpandableBoxSummary>Tittel</ExpandableBoxSummary>
148
148
  <p>innhold</p>
149
- </details>
149
+ </ExpandableBox>
150
150
  </>
151
151
  ),
152
152
  },
@@ -8,36 +8,28 @@
8
8
 
9
9
  import { ReactNode } from "react";
10
10
  import { useTranslation } from "react-i18next";
11
- import styled from "@emotion/styled";
12
- import { fonts, spacing } from "@ndla/core";
13
11
  import { InformationOutline } from "@ndla/icons/common";
12
+ import { MessageBox } from "@ndla/primitives";
14
13
  import { SafeLink } from "@ndla/safelink";
14
+ import { styled } from "@ndla/styled-system/jsx";
15
15
  import { UuDisclaimerMetaData } from "@ndla/types-embed";
16
- import { MessageBox } from "../Messages";
16
+
17
17
  interface Props {
18
18
  embed: UuDisclaimerMetaData;
19
19
  children?: ReactNode;
20
20
  }
21
21
 
22
- const StyledMessageBox = styled(MessageBox)`
23
- display: flex;
24
- flex-align: center;
25
- `;
26
-
27
- const Disclaimer = styled.div`
28
- display: flow;
29
- ${fonts.sizes("18px", "24px")};
30
- user-select: none;
31
- -webkit-user-select: none;
32
- -moz-user-select: none;
33
- -ms-user-select: none;
34
- `;
35
-
36
- const DisclaimerWrapper = styled.div`
37
- > :nth-child(2) {
38
- margin-top: ${spacing.xsmall};
39
- }
40
- `;
22
+ const StyledMessageBox = styled(MessageBox, {
23
+ base: {
24
+ display: "flex",
25
+ alignItems: "center",
26
+ },
27
+ });
28
+ const Disclaimer = styled("div", {
29
+ base: {
30
+ textStyle: "body.medium",
31
+ },
32
+ });
41
33
 
42
34
  const UuDisclaimerEmbed = ({ embed, children }: Props) => {
43
35
  const { t } = useTranslation();
@@ -58,8 +50,8 @@ const UuDisclaimerEmbed = ({ embed, children }: Props) => {
58
50
  ) : null;
59
51
 
60
52
  return (
61
- <DisclaimerWrapper role="region">
62
- <StyledMessageBox type="info" contentEditable={false}>
53
+ <div role="region">
54
+ <StyledMessageBox variant="warning" contentEditable={false}>
63
55
  <InformationOutline />
64
56
  <Disclaimer>
65
57
  {embedData.disclaimer}
@@ -67,7 +59,7 @@ const UuDisclaimerEmbed = ({ embed, children }: Props) => {
67
59
  </Disclaimer>
68
60
  </StyledMessageBox>
69
61
  {children}
70
- </DisclaimerWrapper>
62
+ </div>
71
63
  );
72
64
  };
73
65
 
@@ -15,11 +15,10 @@ export { default as FootnoteEmbed } from "./FootnoteEmbed";
15
15
  export { default as BrightcoveEmbed } from "./BrightcoveEmbed";
16
16
  export { default as ContentLinkEmbed } from "./ContentLinkEmbed";
17
17
  export { default as RelatedContentEmbed } from "./RelatedContentEmbed";
18
- export { default as ConceptEmbed } from "./ConceptEmbed";
19
- export { ConceptNotionV2 } from "./conceptComponents";
18
+ export { ConceptEmbed, InlineConcept, BlockConcept } from "./ConceptEmbed";
19
+ export type { InlineConceptProps, BlockConceptProps } from "./ConceptEmbed";
20
20
  export { default as ConceptListEmbed } from "./ConceptListEmbed";
21
21
  export { default as UnknownEmbed } from "./UnknownEmbed";
22
- export { InlineConcept, BlockConcept } from "./ConceptEmbed";
23
22
  export { default as UuDisclaimerEmbed } from "./UuDisclaimerEmbed";
24
23
  export { default as CopyrightEmbed } from "./CopyrightEmbed";
25
24
  export { default as CodeEmbed } from "./CodeEmbed";