@ndla/ui 56.0.123-alpha.0 → 56.0.124-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 (347) hide show
  1. package/es/Article/Article.js +122 -194
  2. package/es/Article/Article.js.map +1 -0
  3. package/es/Article/ArticleByline.js +121 -170
  4. package/es/Article/ArticleByline.js.map +1 -0
  5. package/es/Article/ArticleFootNotes.js +38 -58
  6. package/es/Article/ArticleFootNotes.js.map +1 -0
  7. package/es/AudioPlayer/AudioPlayer.js +151 -212
  8. package/es/AudioPlayer/AudioPlayer.js.map +1 -0
  9. package/es/AudioPlayer/Controls.js +246 -324
  10. package/es/AudioPlayer/Controls.js.map +1 -0
  11. package/es/AudioPlayer/SpeechControl.js +36 -52
  12. package/es/AudioPlayer/SpeechControl.js.map +1 -0
  13. package/es/AudioPlayer/index.js +7 -9
  14. package/es/AudioPlayer/index.js.map +1 -0
  15. package/es/Breadcrumb/Breadcrumb.js +42 -58
  16. package/es/Breadcrumb/Breadcrumb.js.map +1 -0
  17. package/es/Breadcrumb/BreadcrumbItem.js +33 -59
  18. package/es/Breadcrumb/BreadcrumbItem.js.map +1 -0
  19. package/es/Breadcrumb/HomeBreadcrumb.js +41 -74
  20. package/es/Breadcrumb/HomeBreadcrumb.js.map +1 -0
  21. package/es/Breadcrumb/index.js +8 -10
  22. package/es/Breadcrumb/index.js.map +1 -0
  23. package/es/CampaignBlock/CampaignBlock.js +124 -173
  24. package/es/CampaignBlock/CampaignBlock.js.map +1 -0
  25. package/es/CodeBlock/CodeBlock.js +21 -31
  26. package/es/CodeBlock/CodeBlock.js.map +1 -0
  27. package/es/CodeBlock/codeLanguageOptions.js +112 -82
  28. package/es/CodeBlock/codeLanguageOptions.js.map +1 -0
  29. package/es/Concept/Concept.js +46 -68
  30. package/es/Concept/Concept.js.map +1 -0
  31. package/es/ContactBlock/ContactBlock.js +137 -191
  32. package/es/ContactBlock/ContactBlock.js.map +1 -0
  33. package/es/ContentTypeBadge/ContentTypeBadge.js +38 -47
  34. package/es/ContentTypeBadge/ContentTypeBadge.js.map +1 -0
  35. package/es/ContentTypeBlockQuote/ContentTypeBlockQuote.js +21 -28
  36. package/es/ContentTypeBlockQuote/ContentTypeBlockQuote.js.map +1 -0
  37. package/es/ContentTypeFramedContent/ContentTypeFramedContent.js +21 -28
  38. package/es/ContentTypeFramedContent/ContentTypeFramedContent.js.map +1 -0
  39. package/es/ContentTypeHero/ContentTypeHero.js +36 -47
  40. package/es/ContentTypeHero/ContentTypeHero.js.map +1 -0
  41. package/es/CopyParagraphButton/CopyParagraphButton.js +57 -78
  42. package/es/CopyParagraphButton/CopyParagraphButton.js.map +1 -0
  43. package/es/CopyParagraphButton/index.js +7 -10
  44. package/es/CopyParagraphButton/index.js.map +1 -0
  45. package/es/Embed/AudioEmbed.js +49 -73
  46. package/es/Embed/AudioEmbed.js.map +1 -0
  47. package/es/Embed/BrightcoveEmbed.js +90 -127
  48. package/es/Embed/BrightcoveEmbed.js.map +1 -0
  49. package/es/Embed/CodeEmbed.js +55 -73
  50. package/es/Embed/CodeEmbed.js.map +1 -0
  51. package/es/Embed/ConceptEmbed.js +72 -117
  52. package/es/Embed/ConceptEmbed.js.map +1 -0
  53. package/es/Embed/ConceptInlineTriggerButton.js +39 -44
  54. package/es/Embed/ConceptInlineTriggerButton.js.map +1 -0
  55. package/es/Embed/ContentLinkEmbed.js +29 -49
  56. package/es/Embed/ContentLinkEmbed.js.map +1 -0
  57. package/es/Embed/CopyrightEmbed.js +21 -31
  58. package/es/Embed/CopyrightEmbed.js.map +1 -0
  59. package/es/Embed/EmbedErrorPlaceholder.js +40 -55
  60. package/es/Embed/EmbedErrorPlaceholder.js.map +1 -0
  61. package/es/Embed/EmbedWrapper.js +21 -46
  62. package/es/Embed/EmbedWrapper.js.map +1 -0
  63. package/es/Embed/ExternalEmbed.js +50 -70
  64. package/es/Embed/ExternalEmbed.js.map +1 -0
  65. package/es/Embed/FootnoteEmbed.js +25 -42
  66. package/es/Embed/FootnoteEmbed.js.map +1 -0
  67. package/es/Embed/GlossEmbed.js +49 -77
  68. package/es/Embed/GlossEmbed.js.map +1 -0
  69. package/es/Embed/H5pEmbed.js +35 -58
  70. package/es/Embed/H5pEmbed.js.map +1 -0
  71. package/es/Embed/IframeEmbed.js +65 -89
  72. package/es/Embed/IframeEmbed.js.map +1 -0
  73. package/es/Embed/ImageEmbed.js +167 -225
  74. package/es/Embed/ImageEmbed.js.map +1 -0
  75. package/es/Embed/InlineTriggerButton.js +20 -32
  76. package/es/Embed/InlineTriggerButton.js.map +1 -0
  77. package/es/Embed/RelatedContentEmbed.js +36 -53
  78. package/es/Embed/RelatedContentEmbed.js.map +1 -0
  79. package/es/Embed/UnknownEmbed.js +18 -29
  80. package/es/Embed/UnknownEmbed.js.map +1 -0
  81. package/es/Embed/UuDisclaimerEmbed.js +51 -85
  82. package/es/Embed/UuDisclaimerEmbed.js.map +1 -0
  83. package/es/ErrorMessage/ErrorMessage.js +51 -92
  84. package/es/ErrorMessage/ErrorMessage.js.map +1 -0
  85. package/es/ErrorMessage/index.js +7 -9
  86. package/es/ErrorMessage/index.js.map +1 -0
  87. package/es/FactBox/FactBox.js +114 -170
  88. package/es/FactBox/FactBox.js.map +1 -0
  89. package/es/FactBox/index.js +7 -9
  90. package/es/FactBox/index.js.map +1 -0
  91. package/es/FileList/File.js +70 -95
  92. package/es/FileList/File.js.map +1 -0
  93. package/es/FileList/FileList.js +31 -46
  94. package/es/FileList/FileList.js.map +1 -0
  95. package/es/FileList/PdfFile.js +27 -49
  96. package/es/FileList/PdfFile.js.map +1 -0
  97. package/es/Gloss/Gloss.js +133 -166
  98. package/es/Gloss/Gloss.js.map +1 -0
  99. package/es/Gloss/GlossExample.js +42 -60
  100. package/es/Gloss/GlossExample.js.map +1 -0
  101. package/es/Grid/Grid.js +63 -91
  102. package/es/Grid/Grid.js.map +1 -0
  103. package/es/Grid/GridParallaxItem.js +19 -30
  104. package/es/Grid/GridParallaxItem.js.map +1 -0
  105. package/es/KeyFigure/KeyFigure.js +44 -61
  106. package/es/KeyFigure/KeyFigure.js.map +1 -0
  107. package/es/LicenseByline/EmbedByline.js +126 -206
  108. package/es/LicenseByline/EmbedByline.js.map +1 -0
  109. package/es/LicenseByline/LicenseLink.js +28 -53
  110. package/es/LicenseByline/LicenseLink.js.map +1 -0
  111. package/es/LinkBlock/LinkBlock.js +70 -99
  112. package/es/LinkBlock/LinkBlock.js.map +1 -0
  113. package/es/LinkBlock/LinkBlockSection.js +20 -32
  114. package/es/LinkBlock/LinkBlockSection.js.map +1 -0
  115. package/es/Pitch/Pitch.js +59 -80
  116. package/es/Pitch/Pitch.js.map +1 -0
  117. package/es/RelatedArticleList/RelatedArticleList.js +91 -129
  118. package/es/RelatedArticleList/RelatedArticleList.js.map +1 -0
  119. package/es/RelatedArticleList/index.js +7 -10
  120. package/es/RelatedArticleList/index.js.map +1 -0
  121. package/es/ResourceBox/ResourceBox.js +71 -96
  122. package/es/ResourceBox/ResourceBox.js.map +1 -0
  123. package/es/TagSelector/TagSelector.js +93 -136
  124. package/es/TagSelector/TagSelector.js.map +1 -0
  125. package/es/ZendeskButton/ZendeskButton.js +38 -52
  126. package/es/ZendeskButton/ZendeskButton.js.map +1 -0
  127. package/es/_virtual/rolldown_runtime.js +11 -0
  128. package/es/i18n/formatNestedMessages.js +16 -24
  129. package/es/i18n/formatNestedMessages.js.map +1 -0
  130. package/es/i18n/i18n.js +25 -31
  131. package/es/i18n/i18n.js.map +1 -0
  132. package/es/i18n/useComponentTranslations.js +147 -203
  133. package/es/i18n/useComponentTranslations.js.map +1 -0
  134. package/es/index.js +64 -44
  135. package/es/locale/messages-en.js +435 -459
  136. package/es/locale/messages-en.js.map +1 -0
  137. package/es/locale/messages-nb.js +435 -459
  138. package/es/locale/messages-nb.js.map +1 -0
  139. package/es/locale/messages-nn.js +435 -459
  140. package/es/locale/messages-nn.js.map +1 -0
  141. package/es/locale/messages-se.js +435 -459
  142. package/es/locale/messages-se.js.map +1 -0
  143. package/es/model/ContentType.js +69 -65
  144. package/es/model/ContentType.js.map +1 -0
  145. package/es/model/SubjectCategories.js +23 -10
  146. package/es/model/SubjectCategories.js.map +1 -0
  147. package/es/model/SubjectTypes.js +21 -9
  148. package/es/model/SubjectTypes.js.map +1 -0
  149. package/es/model/WordClass.js +51 -43
  150. package/es/model/WordClass.js.map +1 -0
  151. package/es/model/index.js +16 -18
  152. package/es/model/index.js.map +1 -0
  153. package/es/utils/licenseAttributes.js +15 -17
  154. package/es/utils/licenseAttributes.js.map +1 -0
  155. package/es/utils/relativeUrl.js +21 -32
  156. package/es/utils/relativeUrl.js.map +1 -0
  157. package/lib/Article/Article.js +130 -203
  158. package/lib/Article/Article.js.map +1 -0
  159. package/lib/Article/ArticleByline.js +125 -179
  160. package/lib/Article/ArticleByline.js.map +1 -0
  161. package/lib/Article/ArticleFootNotes.js +39 -65
  162. package/lib/Article/ArticleFootNotes.js.map +1 -0
  163. package/lib/AudioPlayer/AudioPlayer.js +155 -221
  164. package/lib/AudioPlayer/AudioPlayer.js.map +1 -0
  165. package/lib/AudioPlayer/Controls.js +249 -332
  166. package/lib/AudioPlayer/Controls.js.map +1 -0
  167. package/lib/AudioPlayer/SpeechControl.js +39 -60
  168. package/lib/AudioPlayer/SpeechControl.js.map +1 -0
  169. package/lib/AudioPlayer/index.js +7 -15
  170. package/lib/AudioPlayer/index.js.map +1 -0
  171. package/lib/Breadcrumb/Breadcrumb.js +43 -65
  172. package/lib/Breadcrumb/Breadcrumb.js.map +1 -0
  173. package/lib/Breadcrumb/BreadcrumbItem.js +34 -65
  174. package/lib/Breadcrumb/BreadcrumbItem.js.map +1 -0
  175. package/lib/Breadcrumb/HomeBreadcrumb.js +43 -82
  176. package/lib/Breadcrumb/HomeBreadcrumb.js.map +1 -0
  177. package/lib/Breadcrumb/index.js +8 -22
  178. package/lib/Breadcrumb/index.js.map +1 -0
  179. package/lib/CampaignBlock/CampaignBlock.js +128 -183
  180. package/lib/CampaignBlock/CampaignBlock.js.map +1 -0
  181. package/lib/CodeBlock/CodeBlock.js +23 -38
  182. package/lib/CodeBlock/CodeBlock.js.map +1 -0
  183. package/lib/CodeBlock/codeLanguageOptions.js +112 -87
  184. package/lib/CodeBlock/codeLanguageOptions.js.map +1 -0
  185. package/lib/Concept/Concept.js +48 -75
  186. package/lib/Concept/Concept.js.map +1 -0
  187. package/lib/ContactBlock/ContactBlock.js +141 -200
  188. package/lib/ContactBlock/ContactBlock.js.map +1 -0
  189. package/lib/ContentTypeBadge/ContentTypeBadge.js +40 -54
  190. package/lib/ContentTypeBadge/ContentTypeBadge.js.map +1 -0
  191. package/lib/ContentTypeBlockQuote/ContentTypeBlockQuote.js +23 -35
  192. package/lib/ContentTypeBlockQuote/ContentTypeBlockQuote.js.map +1 -0
  193. package/lib/ContentTypeFramedContent/ContentTypeFramedContent.js +23 -35
  194. package/lib/ContentTypeFramedContent/ContentTypeFramedContent.js.map +1 -0
  195. package/lib/ContentTypeHero/ContentTypeHero.js +37 -54
  196. package/lib/ContentTypeHero/ContentTypeHero.js.map +1 -0
  197. package/lib/CopyParagraphButton/CopyParagraphButton.js +61 -87
  198. package/lib/CopyParagraphButton/CopyParagraphButton.js.map +1 -0
  199. package/lib/CopyParagraphButton/index.js +7 -21
  200. package/lib/CopyParagraphButton/index.js.map +1 -0
  201. package/lib/Embed/AudioEmbed.js +51 -82
  202. package/lib/Embed/AudioEmbed.js.map +1 -0
  203. package/lib/Embed/BrightcoveEmbed.js +93 -138
  204. package/lib/Embed/BrightcoveEmbed.js.map +1 -0
  205. package/lib/Embed/CodeEmbed.js +59 -83
  206. package/lib/Embed/CodeEmbed.js.map +1 -0
  207. package/lib/Embed/ConceptEmbed.js +77 -127
  208. package/lib/Embed/ConceptEmbed.js.map +1 -0
  209. package/lib/Embed/ConceptInlineTriggerButton.js +39 -49
  210. package/lib/Embed/ConceptInlineTriggerButton.js.map +1 -0
  211. package/lib/Embed/ContentLinkEmbed.js +30 -55
  212. package/lib/Embed/ContentLinkEmbed.js.map +1 -0
  213. package/lib/Embed/CopyrightEmbed.js +22 -37
  214. package/lib/Embed/CopyrightEmbed.js.map +1 -0
  215. package/lib/Embed/EmbedErrorPlaceholder.js +42 -62
  216. package/lib/Embed/EmbedErrorPlaceholder.js.map +1 -0
  217. package/lib/Embed/EmbedWrapper.js +24 -54
  218. package/lib/Embed/EmbedWrapper.js.map +1 -0
  219. package/lib/Embed/ExternalEmbed.js +53 -79
  220. package/lib/Embed/ExternalEmbed.js.map +1 -0
  221. package/lib/Embed/FootnoteEmbed.js +26 -48
  222. package/lib/Embed/FootnoteEmbed.js.map +1 -0
  223. package/lib/Embed/GlossEmbed.js +51 -86
  224. package/lib/Embed/GlossEmbed.js.map +1 -0
  225. package/lib/Embed/H5pEmbed.js +37 -66
  226. package/lib/Embed/H5pEmbed.js.map +1 -0
  227. package/lib/Embed/IframeEmbed.js +68 -98
  228. package/lib/Embed/IframeEmbed.js.map +1 -0
  229. package/lib/Embed/ImageEmbed.js +173 -238
  230. package/lib/Embed/ImageEmbed.js.map +1 -0
  231. package/lib/Embed/InlineTriggerButton.js +23 -40
  232. package/lib/Embed/InlineTriggerButton.js.map +1 -0
  233. package/lib/Embed/RelatedContentEmbed.js +37 -59
  234. package/lib/Embed/RelatedContentEmbed.js.map +1 -0
  235. package/lib/Embed/UnknownEmbed.js +19 -35
  236. package/lib/Embed/UnknownEmbed.js.map +1 -0
  237. package/lib/Embed/UuDisclaimerEmbed.js +53 -92
  238. package/lib/Embed/UuDisclaimerEmbed.js.map +1 -0
  239. package/lib/ErrorMessage/ErrorMessage.js +53 -99
  240. package/lib/ErrorMessage/ErrorMessage.js.map +1 -0
  241. package/lib/ErrorMessage/index.js +7 -15
  242. package/lib/ErrorMessage/index.js.map +1 -0
  243. package/lib/FactBox/FactBox.js +118 -180
  244. package/lib/FactBox/FactBox.js.map +1 -0
  245. package/lib/FactBox/index.js +7 -15
  246. package/lib/FactBox/index.js.map +1 -0
  247. package/lib/FileList/File.js +75 -105
  248. package/lib/FileList/File.js.map +1 -0
  249. package/lib/FileList/FileList.js +33 -52
  250. package/lib/FileList/FileList.js.map +1 -0
  251. package/lib/FileList/PdfFile.js +27 -55
  252. package/lib/FileList/PdfFile.js.map +1 -0
  253. package/lib/Gloss/Gloss.js +138 -176
  254. package/lib/Gloss/Gloss.js.map +1 -0
  255. package/lib/Gloss/GlossExample.js +45 -68
  256. package/lib/Gloss/GlossExample.js.map +1 -0
  257. package/lib/Grid/Grid.js +64 -98
  258. package/lib/Grid/Grid.js.map +1 -0
  259. package/lib/Grid/GridParallaxItem.js +19 -36
  260. package/lib/Grid/GridParallaxItem.js.map +1 -0
  261. package/lib/KeyFigure/KeyFigure.js +45 -68
  262. package/lib/KeyFigure/KeyFigure.js.map +1 -0
  263. package/lib/LicenseByline/EmbedByline.js +130 -216
  264. package/lib/LicenseByline/EmbedByline.js.map +1 -0
  265. package/lib/LicenseByline/LicenseLink.js +29 -59
  266. package/lib/LicenseByline/LicenseLink.js.map +1 -0
  267. package/lib/LinkBlock/LinkBlock.js +73 -108
  268. package/lib/LinkBlock/LinkBlock.js.map +1 -0
  269. package/lib/LinkBlock/LinkBlockSection.js +22 -39
  270. package/lib/LinkBlock/LinkBlockSection.js.map +1 -0
  271. package/lib/Pitch/Pitch.js +61 -89
  272. package/lib/Pitch/Pitch.js.map +1 -0
  273. package/lib/RelatedArticleList/RelatedArticleList.js +96 -140
  274. package/lib/RelatedArticleList/RelatedArticleList.js.map +1 -0
  275. package/lib/RelatedArticleList/index.js +7 -20
  276. package/lib/RelatedArticleList/index.js.map +1 -0
  277. package/lib/ResourceBox/ResourceBox.js +73 -104
  278. package/lib/ResourceBox/ResourceBox.js.map +1 -0
  279. package/lib/TagSelector/TagSelector.js +103 -145
  280. package/lib/TagSelector/TagSelector.js.map +1 -0
  281. package/lib/ZendeskButton/ZendeskButton.js +39 -58
  282. package/lib/ZendeskButton/ZendeskButton.js.map +1 -0
  283. package/lib/_virtual/rolldown_runtime.js +42 -0
  284. package/lib/i18n/formatNestedMessages.js +16 -30
  285. package/lib/i18n/formatNestedMessages.js.map +1 -0
  286. package/lib/i18n/i18n.js +28 -38
  287. package/lib/i18n/i18n.js.map +1 -0
  288. package/lib/i18n/useComponentTranslations.js +154 -215
  289. package/lib/i18n/useComponentTranslations.js.map +1 -0
  290. package/lib/index.js +156 -598
  291. package/lib/locale/messages-en.js +436 -466
  292. package/lib/locale/messages-en.js.map +1 -0
  293. package/lib/locale/messages-nb.js +436 -466
  294. package/lib/locale/messages-nb.js.map +1 -0
  295. package/lib/locale/messages-nn.js +436 -466
  296. package/lib/locale/messages-nn.js.map +1 -0
  297. package/lib/locale/messages-se.js +436 -466
  298. package/lib/locale/messages-se.js.map +1 -0
  299. package/lib/model/ContentType.js +90 -70
  300. package/lib/model/ContentType.js.map +1 -0
  301. package/lib/model/SubjectCategories.js +26 -14
  302. package/lib/model/SubjectCategories.js.map +1 -0
  303. package/lib/model/SubjectTypes.js +24 -13
  304. package/lib/model/SubjectTypes.js.map +1 -0
  305. package/lib/model/WordClass.js +55 -48
  306. package/lib/model/WordClass.js.map +1 -0
  307. package/lib/model/index.js +16 -25
  308. package/lib/model/index.js.map +1 -0
  309. package/lib/utils/licenseAttributes.js +14 -22
  310. package/lib/utils/licenseAttributes.js.map +1 -0
  311. package/lib/utils/relativeUrl.js +20 -38
  312. package/lib/utils/relativeUrl.js.map +1 -0
  313. package/package.json +12 -11
  314. package/es/Article/index.js +0 -11
  315. package/es/CampaignBlock/index.js +0 -9
  316. package/es/CodeBlock/index.js +0 -10
  317. package/es/ContactBlock/index.js +0 -9
  318. package/es/ContentTypeHero/index.js +0 -9
  319. package/es/Embed/index.js +0 -25
  320. package/es/Embed/types.js +0 -1
  321. package/es/FileList/index.js +0 -11
  322. package/es/Gloss/index.js +0 -10
  323. package/es/Grid/index.js +0 -10
  324. package/es/KeyFigure/index.js +0 -9
  325. package/es/LicenseByline/index.js +0 -10
  326. package/es/LinkBlock/index.js +0 -10
  327. package/es/Pitch/index.js +0 -9
  328. package/es/ResourceBox/index.js +0 -10
  329. package/es/i18n/index.js +0 -11
  330. package/es/types.js +0 -1
  331. package/lib/Article/index.js +0 -68
  332. package/lib/CampaignBlock/index.js +0 -13
  333. package/lib/CodeBlock/index.js +0 -20
  334. package/lib/ContactBlock/index.js +0 -18
  335. package/lib/ContentTypeHero/index.js +0 -12
  336. package/lib/Embed/index.js +0 -150
  337. package/lib/Embed/types.js +0 -5
  338. package/lib/FileList/index.js +0 -44
  339. package/lib/Gloss/index.js +0 -20
  340. package/lib/Grid/index.js +0 -19
  341. package/lib/KeyFigure/index.js +0 -13
  342. package/lib/LicenseByline/index.js +0 -19
  343. package/lib/LinkBlock/index.js +0 -20
  344. package/lib/Pitch/index.js +0 -12
  345. package/lib/ResourceBox/index.js +0 -13
  346. package/lib/i18n/index.js +0 -68
  347. package/lib/types.js +0 -5
package/es/i18n/i18n.js CHANGED
@@ -1,35 +1,29 @@
1
- /**
2
- * Copyright (c) 2021-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 i18n from "i18next";
1
+ import { messages_en_default } from "../locale/messages-en.js";
2
+ import { messages_nb_default } from "../locale/messages-nb.js";
3
+ import { messages_nn_default } from "../locale/messages-nn.js";
4
+ import { messages_se_default } from "../locale/messages-se.js";
10
5
  import { initReactI18next } from "react-i18next";
11
- import messagesEN from "../locale/messages-en";
12
- import messagesNB from "../locale/messages-nb";
13
- import messagesNN from "../locale/messages-nn";
14
- import messagesSE from "../locale/messages-se";
15
- export const supportedTranslationLanguages = ["nb", "nn", "en", "se"];
6
+ import i18n from "i18next";
7
+
8
+ //#region src/i18n/i18n.ts
9
+ const supportedTranslationLanguages = [
10
+ "nb",
11
+ "nn",
12
+ "en",
13
+ "se"
14
+ ];
16
15
  const i18nInstance = i18n.use(initReactI18next);
17
16
  i18nInstance.init({
18
- fallbackLng: "nb",
19
- supportedLngs: supportedTranslationLanguages,
20
- resources: {
21
- en: {
22
- translation: messagesEN
23
- },
24
- nn: {
25
- translation: messagesNN
26
- },
27
- nb: {
28
- translation: messagesNB
29
- },
30
- se: {
31
- translation: messagesSE
32
- }
33
- }
17
+ fallbackLng: "nb",
18
+ supportedLngs: supportedTranslationLanguages,
19
+ resources: {
20
+ en: { translation: messages_en_default },
21
+ nn: { translation: messages_nn_default },
22
+ nb: { translation: messages_nb_default },
23
+ se: { translation: messages_se_default }
24
+ }
34
25
  });
35
- export { i18nInstance };
26
+
27
+ //#endregion
28
+ export { i18nInstance, supportedTranslationLanguages };
29
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","names":["messagesEN","messagesNN","messagesNB","messagesSE"],"sources":["../../src/i18n/i18n.ts"],"sourcesContent":["/**\n * Copyright (c) 2021-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport messagesEN from \"../locale/messages-en\";\nimport messagesNB from \"../locale/messages-nb\";\nimport messagesNN from \"../locale/messages-nn\";\nimport messagesSE from \"../locale/messages-se\";\n\nexport const supportedTranslationLanguages = [\"nb\", \"nn\", \"en\", \"se\"] as const;\nconst i18nInstance = i18n.use(initReactI18next);\n\ni18nInstance.init({\n fallbackLng: \"nb\",\n supportedLngs: supportedTranslationLanguages,\n resources: {\n en: {\n translation: messagesEN,\n },\n nn: {\n translation: messagesNN,\n },\n nb: {\n translation: messagesNB,\n },\n se: {\n translation: messagesSE,\n },\n },\n});\n\nexport { i18nInstance };\n"],"mappings":";;;;;;;;AAeA,MAAa,gCAAgC;CAAC;CAAM;CAAM;CAAM;AAAK;AACrE,MAAM,eAAe,KAAK,IAAI,iBAAiB;AAE/C,aAAa,KAAK;CAChB,aAAa;CACb,eAAe;CACf,WAAW;EACT,IAAI,EACF,aAAaA,oBACd;EACD,IAAI,EACF,aAAaC,oBACd;EACD,IAAI,EACF,aAAaC,oBACd;EACD,IAAI,EACF,aAAaC,oBACd;CACF;AACF,EAAC"}
@@ -1,211 +1,155 @@
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
1
  import { useMemo } from "react";
11
- export const useTagsInputTranslations = translations => {
12
- const {
13
- t
14
- } = useTranslation("translation", {
15
- keyPrefix: "component.tagsInput"
16
- });
17
- return useMemo(() => ({
18
- clearTriggerLabel: t("clearTriggerLabel"),
19
- deleteTagTriggerLabel: tag => t("deleteTagTriggerLabel", {
20
- tag
21
- }),
22
- tagAdded: tag => t("tagAdded", {
23
- tag
24
- }),
25
- tagsPasted: tag => t("tagsPasted", {
26
- length: tag.length
27
- }),
28
- tagEdited: tag => t("tagEdited", {
29
- tag
30
- }),
31
- tagUpdated: tag => t("tagUpdated", {
32
- tag
33
- }),
34
- tagDeleted: tag => t("tagDeleted", {
35
- tag
36
- }),
37
- tagSelected: tag => t("tagSelected", {
38
- tag
39
- }),
40
- ...translations
41
- }), [t, translations]);
2
+ import { useTranslation } from "react-i18next";
3
+
4
+ //#region src/i18n/useComponentTranslations.ts
5
+ const useTagsInputTranslations = (translations) => {
6
+ const { t } = useTranslation("translation", { keyPrefix: "component.tagsInput" });
7
+ return useMemo(() => ({
8
+ clearTriggerLabel: t("clearTriggerLabel"),
9
+ deleteTagTriggerLabel: (tag) => t("deleteTagTriggerLabel", { tag }),
10
+ tagAdded: (tag) => t("tagAdded", { tag }),
11
+ tagsPasted: (tag) => t("tagsPasted", { length: tag.length }),
12
+ tagEdited: (tag) => t("tagEdited", { tag }),
13
+ tagUpdated: (tag) => t("tagUpdated", { tag }),
14
+ tagDeleted: (tag) => t("tagDeleted", { tag }),
15
+ tagSelected: (tag) => t("tagSelected", { tag }),
16
+ ...translations
17
+ }), [t, translations]);
42
18
  };
43
- export const useComboboxTranslations = translations => {
44
- const {
45
- t
46
- } = useTranslation("translation", {
47
- keyPrefix: "component.combobox"
48
- });
49
- return useMemo(() => ({
50
- triggerLabel: t("triggerLabel"),
51
- clearTriggerLabel: t("clearTriggerLabel"),
52
- ...translations
53
- }), [t, translations]);
19
+ const useComboboxTranslations = (translations) => {
20
+ const { t } = useTranslation("translation", { keyPrefix: "component.combobox" });
21
+ return useMemo(() => ({
22
+ triggerLabel: t("triggerLabel"),
23
+ clearTriggerLabel: t("clearTriggerLabel"),
24
+ ...translations
25
+ }), [t, translations]);
54
26
  };
55
- export const useTagSelectorTranslations = translations => {
56
- const tagsInputTranslations = useTagsInputTranslations();
57
- const comboboxTranslations = useComboboxTranslations();
58
- return useMemo(() => ({
59
- ...comboboxTranslations,
60
- ...tagsInputTranslations,
61
- ...translations
62
- }), [comboboxTranslations, tagsInputTranslations, translations]);
27
+ const useTagSelectorTranslations = (translations) => {
28
+ const tagsInputTranslations = useTagsInputTranslations();
29
+ const comboboxTranslations = useComboboxTranslations();
30
+ return useMemo(() => ({
31
+ ...comboboxTranslations,
32
+ ...tagsInputTranslations,
33
+ ...translations
34
+ }), [
35
+ comboboxTranslations,
36
+ tagsInputTranslations,
37
+ translations
38
+ ]);
63
39
  };
64
- export const usePaginationTranslations = translations => {
65
- const {
66
- t
67
- } = useTranslation("translation", {
68
- keyPrefix: "component.pagination"
69
- });
70
- return useMemo(() => ({
71
- rootLabel: t("rootLabel"),
72
- prevTriggerLabel: t("prevTriggerLabel"),
73
- nextTriggerLabel: t("nextTriggerLabel"),
74
- itemLabel: details => {
75
- const lastPage = details.totalPages > 1 && details.page === details.totalPages;
76
- return lastPage ? t("lastPage", {
77
- page: details.page
78
- }) : t("page", {
79
- page: details.page
80
- });
81
- },
82
- ...translations
83
- }), [translations, t]);
40
+ const usePaginationTranslations = (translations) => {
41
+ const { t } = useTranslation("translation", { keyPrefix: "component.pagination" });
42
+ return useMemo(() => ({
43
+ rootLabel: t("rootLabel"),
44
+ prevTriggerLabel: t("prevTriggerLabel"),
45
+ nextTriggerLabel: t("nextTriggerLabel"),
46
+ itemLabel: (details) => {
47
+ const lastPage = details.totalPages > 1 && details.page === details.totalPages;
48
+ return lastPage ? t("lastPage", { page: details.page }) : t("page", { page: details.page });
49
+ },
50
+ ...translations
51
+ }), [translations, t]);
84
52
  };
85
-
86
- // TODO: Deduplicate this and place it somewhere smart. Maybe core?
87
-
88
- export const useImageSearchTranslations = function () {
89
- let translations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
90
- const {
91
- t
92
- } = useTranslation("translation", {
93
- keyPrefix: "component.imageSearch"
94
- });
95
- const paginationTranslations = usePaginationTranslations();
96
- const {
97
- imagePreview,
98
- paginationTranslations: fallbackPaginationTranslations,
99
- ...remaining
100
- } = translations;
101
- return useMemo(() => ({
102
- searchPlaceholder: t("searchPlaceholder"),
103
- searchButtonTitle: t("searchButtonTitle"),
104
- imagePreview: {
105
- creatorsLabel: t("imagePreview.creatorsLabel"),
106
- license: t("imagePreview.license"),
107
- caption: t("imagePreview.caption"),
108
- altText: t("imagePreview.altText"),
109
- modelRelease: t("imagePreview.modelRelease"),
110
- tags: t("imagePreview.tags"),
111
- close: t("close"),
112
- checkboxLabel: t("imagePreview.checkboxLabel"),
113
- useImageTitle: t("imagePreview.useImageTitle"),
114
- ...imagePreview
115
- },
116
- paginationTranslations: {
117
- ...paginationTranslations,
118
- ...fallbackPaginationTranslations
119
- },
120
- ...remaining
121
- }), [t, paginationTranslations, imagePreview, fallbackPaginationTranslations, remaining]);
53
+ const useImageSearchTranslations = (translations = {}) => {
54
+ const { t } = useTranslation("translation", { keyPrefix: "component.imageSearch" });
55
+ const paginationTranslations = usePaginationTranslations();
56
+ const { imagePreview, paginationTranslations: fallbackPaginationTranslations,...remaining } = translations;
57
+ return useMemo(() => ({
58
+ searchPlaceholder: t("searchPlaceholder"),
59
+ searchButtonTitle: t("searchButtonTitle"),
60
+ imagePreview: {
61
+ creatorsLabel: t("imagePreview.creatorsLabel"),
62
+ license: t("imagePreview.license"),
63
+ caption: t("imagePreview.caption"),
64
+ altText: t("imagePreview.altText"),
65
+ modelRelease: t("imagePreview.modelRelease"),
66
+ tags: t("imagePreview.tags"),
67
+ close: t("close"),
68
+ checkboxLabel: t("imagePreview.checkboxLabel"),
69
+ useImageTitle: t("imagePreview.useImageTitle"),
70
+ ...imagePreview
71
+ },
72
+ paginationTranslations: {
73
+ ...paginationTranslations,
74
+ ...fallbackPaginationTranslations
75
+ },
76
+ ...remaining
77
+ }), [
78
+ t,
79
+ paginationTranslations,
80
+ imagePreview,
81
+ fallbackPaginationTranslations,
82
+ remaining
83
+ ]);
122
84
  };
123
- export const useAudioSearchTranslations = function () {
124
- let translations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
125
- const {
126
- t
127
- } = useTranslation("translation", {
128
- keyPrefix: "component.audioSearch"
129
- });
130
- const paginationTranslations = usePaginationTranslations();
131
- const {
132
- paginationTranslations: fallbackPaginationTranslations,
133
- ...remaining
134
- } = translations;
135
- return useMemo(() => ({
136
- searchPlaceholder: t("searchPlaceholder"),
137
- searchButtonTitle: t("searchButtonTitle"),
138
- useAudio: t("useAudio"),
139
- noResults: t("noResults"),
140
- paginationTranslations: {
141
- ...paginationTranslations,
142
- ...fallbackPaginationTranslations
143
- },
144
- ...remaining
145
- }), [t, paginationTranslations, fallbackPaginationTranslations, remaining]);
85
+ const useAudioSearchTranslations = (translations = {}) => {
86
+ const { t } = useTranslation("translation", { keyPrefix: "component.audioSearch" });
87
+ const paginationTranslations = usePaginationTranslations();
88
+ const { paginationTranslations: fallbackPaginationTranslations,...remaining } = translations;
89
+ return useMemo(() => ({
90
+ searchPlaceholder: t("searchPlaceholder"),
91
+ searchButtonTitle: t("searchButtonTitle"),
92
+ useAudio: t("useAudio"),
93
+ noResults: t("noResults"),
94
+ paginationTranslations: {
95
+ ...paginationTranslations,
96
+ ...fallbackPaginationTranslations
97
+ },
98
+ ...remaining
99
+ }), [
100
+ t,
101
+ paginationTranslations,
102
+ fallbackPaginationTranslations,
103
+ remaining
104
+ ]);
146
105
  };
147
- export const useVideoSearchTranslations = translations => {
148
- const {
149
- t
150
- } = useTranslation("translation", {
151
- keyPrefix: "component.videoSearch"
152
- });
153
- return useMemo(() => ({
154
- searchPlaceholder: t("searchPlaceholder"),
155
- searchButtonTitle: t("searchButtonTitle"),
156
- loadMoreVideos: t("loadMoreVideos"),
157
- noResults: t("noResults"),
158
- is360Video: t("is360Video"),
159
- previewVideo: t("previewVideo"),
160
- addVideo: t("addVideo"),
161
- close: t("close"),
162
- ...translations
163
- }), [t, translations]);
106
+ const useVideoSearchTranslations = (translations) => {
107
+ const { t } = useTranslation("translation", { keyPrefix: "component.videoSearch" });
108
+ return useMemo(() => ({
109
+ searchPlaceholder: t("searchPlaceholder"),
110
+ searchButtonTitle: t("searchButtonTitle"),
111
+ loadMoreVideos: t("loadMoreVideos"),
112
+ noResults: t("noResults"),
113
+ is360Video: t("is360Video"),
114
+ previewVideo: t("previewVideo"),
115
+ addVideo: t("addVideo"),
116
+ close: t("close"),
117
+ ...translations
118
+ }), [t, translations]);
164
119
  };
165
- export const useDatePickerTranslations = translations => {
166
- const {
167
- t
168
- } = useTranslation("translation", {
169
- keyPrefix: "component.datePicker"
170
- });
171
- return useMemo(() => ({
172
- dayCell: state => {
173
- if (state.unavailable) {
174
- return t("dayCell.unavailable", {
175
- date: state.formattedDate
176
- });
177
- } else if (state.selected) {
178
- return t("dayCell.selected", {
179
- date: state.formattedDate
180
- });
181
- } else return t("dayCell.select", {
182
- date: state.formattedDate
183
- });
184
- },
185
- nextTrigger: view => t(`nextTrigger.${view}`),
186
- prevTrigger: view => t(`prevTrigger.${view}`),
187
- monthSelect: t("monthSelect"),
188
- yearSelect: t("yearSelect"),
189
- viewTrigger: view => t(`viewTrigger.${view}`),
190
- presetTrigger: value => {
191
- if (Array.isArray(value)) {
192
- return t("presetTrigger.range", {
193
- start: value[0],
194
- end: value[1]
195
- });
196
- } else return t("presetTrigger.single", {
197
- date: value
198
- });
199
- },
200
- clearTrigger: t("clearTrigger"),
201
- trigger: open => t(`trigger.${open ? "close" : "open"}`),
202
- content: t("content"),
203
- placeholder: _locale => {
204
- return {
205
- day: "dd",
206
- month: "mm",
207
- year: "yyyy"
208
- };
209
- }
210
- }), [t, translations]);
211
- };
120
+ const useDatePickerTranslations = (translations) => {
121
+ const { t } = useTranslation("translation", { keyPrefix: "component.datePicker" });
122
+ return useMemo(() => ({
123
+ dayCell: (state) => {
124
+ if (state.unavailable) return t("dayCell.unavailable", { date: state.formattedDate });
125
+ else if (state.selected) return t("dayCell.selected", { date: state.formattedDate });
126
+ else return t("dayCell.select", { date: state.formattedDate });
127
+ },
128
+ nextTrigger: (view) => t(`nextTrigger.${view}`),
129
+ prevTrigger: (view) => t(`prevTrigger.${view}`),
130
+ monthSelect: t("monthSelect"),
131
+ yearSelect: t("yearSelect"),
132
+ viewTrigger: (view) => t(`viewTrigger.${view}`),
133
+ presetTrigger: (value) => {
134
+ if (Array.isArray(value)) return t("presetTrigger.range", {
135
+ start: value[0],
136
+ end: value[1]
137
+ });
138
+ else return t("presetTrigger.single", { date: value });
139
+ },
140
+ clearTrigger: t("clearTrigger"),
141
+ trigger: (open) => t(`trigger.${open ? "close" : "open"}`),
142
+ content: t("content"),
143
+ placeholder: (_locale) => {
144
+ return {
145
+ day: "dd",
146
+ month: "mm",
147
+ year: "yyyy"
148
+ };
149
+ }
150
+ }), [t, translations]);
151
+ };
152
+
153
+ //#endregion
154
+ export { useAudioSearchTranslations, useComboboxTranslations, useDatePickerTranslations, useImageSearchTranslations, usePaginationTranslations, useTagSelectorTranslations, useTagsInputTranslations, useVideoSearchTranslations };
155
+ //# sourceMappingURL=useComponentTranslations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useComponentTranslations.js","names":["translations?: Partial<TagsInputRootProps[\"translations\"]>","translations?: Partial<ComboboxRootProps<T>[\"translations\"]>","translations?: Partial<TagSelectorRootProps<T>[\"translations\"]>","translations?: Partial<PaginationRootProps[\"translations\"]>","translations: DeepPartial<ImageSearchTranslations>","translations: DeepPartial<AudioSearchTranslations>","translations?: Partial<VideoTranslations>","translations?: Partial<DatePickerRootProps[\"translations\"]>"],"sources":["../../src/i18n/useComponentTranslations.ts"],"sourcesContent":["/**\n * Copyright (c) 2024-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { useTranslation } from \"react-i18next\";\nimport type { CollectionItem } from \"@ark-ui/react\";\nimport type { ComboboxRootProps, PaginationRootProps, TagsInputRootProps, DatePickerRootProps } from \"@ndla/primitives\";\nimport { type TagSelectorRootProps } from \"../TagSelector/TagSelector\";\nimport { useMemo } from \"react\";\n\ntype DeepPartial<T> = {\n [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];\n};\n\nexport const useTagsInputTranslations = (\n translations?: Partial<TagsInputRootProps[\"translations\"]>,\n): TagsInputRootProps[\"translations\"] => {\n const { t } = useTranslation(\"translation\", { keyPrefix: \"component.tagsInput\" });\n\n return useMemo(\n () => ({\n clearTriggerLabel: t(\"clearTriggerLabel\"),\n deleteTagTriggerLabel: (tag) => t(\"deleteTagTriggerLabel\", { tag }),\n tagAdded: (tag) => t(\"tagAdded\", { tag }),\n tagsPasted: (tag) => t(\"tagsPasted\", { length: tag.length }),\n tagEdited: (tag) => t(\"tagEdited\", { tag }),\n tagUpdated: (tag) => t(\"tagUpdated\", { tag }),\n tagDeleted: (tag) => t(\"tagDeleted\", { tag }),\n tagSelected: (tag) => t(\"tagSelected\", { tag }),\n ...translations,\n }),\n [t, translations],\n );\n};\n\nexport const useComboboxTranslations = <T extends CollectionItem>(\n translations?: Partial<ComboboxRootProps<T>[\"translations\"]>,\n): ComboboxRootProps<T>[\"translations\"] => {\n const { t } = useTranslation(\"translation\", { keyPrefix: \"component.combobox\" });\n\n return useMemo(\n () => ({\n triggerLabel: t(\"triggerLabel\"),\n clearTriggerLabel: t(\"clearTriggerLabel\"),\n ...translations,\n }),\n [t, translations],\n );\n};\n\nexport const useTagSelectorTranslations = <T extends CollectionItem>(\n translations?: Partial<TagSelectorRootProps<T>[\"translations\"]>,\n): TagSelectorRootProps<T>[\"translations\"] => {\n const tagsInputTranslations = useTagsInputTranslations();\n const comboboxTranslations = useComboboxTranslations();\n\n return useMemo(\n () =>\n ({\n ...comboboxTranslations,\n ...tagsInputTranslations,\n ...translations,\n }) as TagSelectorRootProps<T>[\"translations\"],\n [comboboxTranslations, tagsInputTranslations, translations],\n );\n};\n\nexport const usePaginationTranslations = (\n translations?: Partial<PaginationRootProps[\"translations\"]>,\n): PaginationRootProps[\"translations\"] => {\n const { t } = useTranslation(\"translation\", { keyPrefix: \"component.pagination\" });\n\n return useMemo(\n () => ({\n rootLabel: t(\"rootLabel\"),\n prevTriggerLabel: t(\"prevTriggerLabel\"),\n nextTriggerLabel: t(\"nextTriggerLabel\"),\n itemLabel: (details) => {\n const lastPage = details.totalPages > 1 && details.page === details.totalPages;\n return lastPage ? t(\"lastPage\", { page: details.page }) : t(\"page\", { page: details.page });\n },\n ...translations,\n }),\n [translations, t],\n );\n};\n\n// TODO: Deduplicate this and place it somewhere smart. Maybe core?\ninterface AudioSearchTranslations {\n searchPlaceholder: string;\n searchButtonTitle: string;\n useAudio: string;\n noResults: string;\n paginationTranslations: PaginationRootProps[\"translations\"];\n}\n\ninterface VideoTranslations {\n searchPlaceholder: string;\n searchButtonTitle: string;\n loadMoreVideos: string;\n noResults: string;\n is360Video: string;\n previewVideo: string;\n addVideo: string;\n close: string;\n}\ninterface PreviewTranslations {\n creatorsLabel: string;\n license: string;\n caption: string;\n altText: string;\n modelRelease: string;\n tags: string;\n close: string;\n checkboxLabel?: string;\n missingTitleFallback?: string;\n useImageTitle: string;\n}\n\ninterface ImageSearchTranslations {\n searchPlaceholder: string;\n searchButtonTitle: string;\n imagePreview: PreviewTranslations;\n paginationTranslations: PaginationRootProps[\"translations\"];\n}\n\nexport const useImageSearchTranslations = (\n translations: DeepPartial<ImageSearchTranslations> = {},\n): ImageSearchTranslations => {\n const { t } = useTranslation(\"translation\", { keyPrefix: \"component.imageSearch\" });\n const paginationTranslations = usePaginationTranslations();\n\n const { imagePreview, paginationTranslations: fallbackPaginationTranslations, ...remaining } = translations;\n\n return useMemo(\n () => ({\n searchPlaceholder: t(\"searchPlaceholder\"),\n searchButtonTitle: t(\"searchButtonTitle\"),\n imagePreview: {\n creatorsLabel: t(\"imagePreview.creatorsLabel\"),\n license: t(\"imagePreview.license\"),\n caption: t(\"imagePreview.caption\"),\n altText: t(\"imagePreview.altText\"),\n modelRelease: t(\"imagePreview.modelRelease\"),\n tags: t(\"imagePreview.tags\"),\n close: t(\"close\"),\n checkboxLabel: t(\"imagePreview.checkboxLabel\"),\n useImageTitle: t(\"imagePreview.useImageTitle\"),\n ...imagePreview,\n },\n paginationTranslations: { ...paginationTranslations, ...fallbackPaginationTranslations },\n ...remaining,\n }),\n [t, paginationTranslations, imagePreview, fallbackPaginationTranslations, remaining],\n );\n};\n\nexport const useAudioSearchTranslations = (\n translations: DeepPartial<AudioSearchTranslations> = {},\n): AudioSearchTranslations => {\n const { t } = useTranslation(\"translation\", { keyPrefix: \"component.audioSearch\" });\n const paginationTranslations = usePaginationTranslations();\n\n const { paginationTranslations: fallbackPaginationTranslations, ...remaining } = translations;\n\n return useMemo(\n () => ({\n searchPlaceholder: t(\"searchPlaceholder\"),\n searchButtonTitle: t(\"searchButtonTitle\"),\n useAudio: t(\"useAudio\"),\n noResults: t(\"noResults\"),\n paginationTranslations: { ...paginationTranslations, ...fallbackPaginationTranslations },\n ...remaining,\n }),\n [t, paginationTranslations, fallbackPaginationTranslations, remaining],\n );\n};\n\nexport const useVideoSearchTranslations = (translations?: Partial<VideoTranslations>): VideoTranslations => {\n const { t } = useTranslation(\"translation\", { keyPrefix: \"component.videoSearch\" });\n\n return useMemo(\n () => ({\n searchPlaceholder: t(\"searchPlaceholder\"),\n searchButtonTitle: t(\"searchButtonTitle\"),\n loadMoreVideos: t(\"loadMoreVideos\"),\n noResults: t(\"noResults\"),\n is360Video: t(\"is360Video\"),\n previewVideo: t(\"previewVideo\"),\n addVideo: t(\"addVideo\"),\n close: t(\"close\"),\n ...translations,\n }),\n [t, translations],\n );\n};\n\nexport const useDatePickerTranslations = (\n translations?: Partial<DatePickerRootProps[\"translations\"]>,\n): NonNullable<DatePickerRootProps[\"translations\"]> => {\n const { t } = useTranslation(\"translation\", { keyPrefix: \"component.datePicker\" });\n\n return useMemo(\n () => ({\n dayCell: (state) => {\n if (state.unavailable) {\n return t(\"dayCell.unavailable\", { date: state.formattedDate });\n } else if (state.selected) {\n return t(\"dayCell.selected\", { date: state.formattedDate });\n } else return t(\"dayCell.select\", { date: state.formattedDate });\n },\n nextTrigger: (view) => t(`nextTrigger.${view}`),\n prevTrigger: (view) => t(`prevTrigger.${view}`),\n monthSelect: t(\"monthSelect\"),\n yearSelect: t(\"yearSelect\"),\n viewTrigger: (view) => t(`viewTrigger.${view}`),\n presetTrigger: (value) => {\n if (Array.isArray(value)) {\n return t(\"presetTrigger.range\", { start: value[0], end: value[1] });\n } else return t(\"presetTrigger.single\", { date: value });\n },\n clearTrigger: t(\"clearTrigger\"),\n trigger: (open) => t(`trigger.${open ? \"close\" : \"open\"}`),\n content: t(\"content\"),\n placeholder: (_locale) => {\n return { day: \"dd\", month: \"mm\", year: \"yyyy\" };\n },\n }),\n [t, translations],\n );\n};\n"],"mappings":"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"}
package/es/index.js CHANGED
@@ -1,45 +1,65 @@
1
- /**
2
- * Copyright (c) 2019-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
- */
1
+ import { LicenseLink } from "./LicenseByline/LicenseLink.js";
2
+ import { EmbedByline } from "./LicenseByline/EmbedByline.js";
3
+ import { licenseAttributes } from "./utils/licenseAttributes.js";
4
+ import { ImageEmbed_default, getCrop, getFocalPoint } from "./Embed/ImageEmbed.js";
5
+ import { InlineTriggerButton } from "./Embed/InlineTriggerButton.js";
6
+ import { AudioPlayer_default } from "./AudioPlayer/index.js";
7
+ import { AudioEmbed_default } from "./Embed/AudioEmbed.js";
8
+ import { H5pEmbed_default } from "./Embed/H5pEmbed.js";
9
+ import { ResourceBox_default } from "./ResourceBox/ResourceBox.js";
10
+ import { ExternalEmbed_default } from "./Embed/ExternalEmbed.js";
11
+ import { IframeEmbed_default } from "./Embed/IframeEmbed.js";
12
+ import { FootnoteEmbed_default } from "./Embed/FootnoteEmbed.js";
13
+ import { BrightcoveEmbed_default } from "./Embed/BrightcoveEmbed.js";
14
+ import { ContentLinkEmbed_default } from "./Embed/ContentLinkEmbed.js";
15
+ import { ContentTypeBadge, contentTypeToBadgeVariantMap } from "./ContentTypeBadge/ContentTypeBadge.js";
16
+ import { RelatedArticle } from "./RelatedArticleList/RelatedArticleList.js";
17
+ import { RelatedContentEmbed_default } from "./Embed/RelatedContentEmbed.js";
18
+ import { ConceptInlineTriggerButton } from "./Embed/ConceptInlineTriggerButton.js";
19
+ import { GlossExample_default } from "./Gloss/GlossExample.js";
20
+ import { Gloss_default } from "./Gloss/Gloss.js";
21
+ import { BlockConcept, ConceptEmbed, InlineConcept } from "./Embed/ConceptEmbed.js";
22
+ import { UnknownEmbed_default } from "./Embed/UnknownEmbed.js";
23
+ import { UuDisclaimerEmbed_default } from "./Embed/UuDisclaimerEmbed.js";
24
+ import { CopyrightEmbed_default } from "./Embed/CopyrightEmbed.js";
25
+ import { CodeBlock_default } from "./CodeBlock/CodeBlock.js";
26
+ import { codeLanguageOptions } from "./CodeBlock/codeLanguageOptions.js";
27
+ import { CodeEmbed_default } from "./Embed/CodeEmbed.js";
28
+ import { EmbedWrapper } from "./Embed/EmbedWrapper.js";
29
+ import { Concept } from "./Concept/Concept.js";
30
+ import { ArticleFootNotes } from "./Article/ArticleFootNotes.js";
31
+ import { ArticleByline, ArticleBylineAccordionItem } from "./Article/ArticleByline.js";
32
+ import { Article, ArticleContent, ArticleFooter, ArticleHGroup, ArticleHeader, ArticleTitle, ArticleWrapper } from "./Article/Article.js";
33
+ import { model_default } from "./model/index.js";
34
+ import { messages_en_default } from "./locale/messages-en.js";
35
+ import { messages_nb_default } from "./locale/messages-nb.js";
36
+ import { messages_nn_default } from "./locale/messages-nn.js";
37
+ import { messages_se_default } from "./locale/messages-se.js";
38
+ import { i18nInstance } from "./i18n/i18n.js";
39
+ import { getPossiblyRelativeUrl } from "./utils/relativeUrl.js";
40
+ import { RelatedArticleList_default } from "./RelatedArticleList/index.js";
41
+ import { ErrorMessage_default } from "./ErrorMessage/index.js";
42
+ import { FileListEmbed, FileListItem, FileListWrapper } from "./FileList/FileList.js";
43
+ import { File, FileListElement } from "./FileList/File.js";
44
+ import { PdfFile } from "./FileList/PdfFile.js";
45
+ import { FactBox_default } from "./FactBox/index.js";
46
+ import { ContentTypeHero } from "./ContentTypeHero/ContentTypeHero.js";
47
+ import { HomeBreadcrumb_default } from "./Breadcrumb/HomeBreadcrumb.js";
48
+ import { Breadcrumb_default } from "./Breadcrumb/index.js";
49
+ import { formatNestedMessages } from "./i18n/formatNestedMessages.js";
50
+ import { TagSelectorClearTrigger, TagSelectorControl, TagSelectorInput, TagSelectorInputBase, TagSelectorItemInput, TagSelectorLabel, TagSelectorRoot, TagSelectorTrigger } from "./TagSelector/TagSelector.js";
51
+ import { useAudioSearchTranslations, useComboboxTranslations, useDatePickerTranslations, useImageSearchTranslations, usePaginationTranslations, useTagSelectorTranslations, useTagsInputTranslations, useVideoSearchTranslations } from "./i18n/useComponentTranslations.js";
52
+ import { ContentTypeBlockQuote } from "./ContentTypeBlockQuote/ContentTypeBlockQuote.js";
53
+ import { ContentTypeFramedContent } from "./ContentTypeFramedContent/ContentTypeFramedContent.js";
54
+ import { CopyParagraphButton_default } from "./CopyParagraphButton/index.js";
55
+ import { Pitch } from "./Pitch/Pitch.js";
56
+ import { KeyFigure_default } from "./KeyFigure/KeyFigure.js";
57
+ import { ContactBlock, contactBlockBackgrounds } from "./ContactBlock/ContactBlock.js";
58
+ import { CampaignBlock_default } from "./CampaignBlock/CampaignBlock.js";
59
+ import { Grid } from "./Grid/Grid.js";
60
+ import { GridParallaxItem } from "./Grid/GridParallaxItem.js";
61
+ import { LinkBlock_default } from "./LinkBlock/LinkBlock.js";
62
+ import { LinkBlockSection_default } from "./LinkBlock/LinkBlockSection.js";
63
+ import { ZendeskButton } from "./ZendeskButton/ZendeskButton.js";
8
64
 
9
- // Ignore typescript implicit any warning and export all javascript components
10
- // Move components to this file when they are migrated to typescript
11
-
12
- export { Concept } from "./Concept/Concept";
13
- export { ImageEmbed, getCrop, getFocalPoint, AudioEmbed, H5pEmbed, ExternalEmbed, IframeEmbed, FootnoteEmbed, BrightcoveEmbed, ContentLinkEmbed, RelatedContentEmbed, ConceptEmbed, UnknownEmbed, InlineConcept, BlockConcept, UuDisclaimerEmbed, CopyrightEmbed, CodeEmbed, InlineTriggerButton, ConceptInlineTriggerButton, EmbedWrapper } from "./Embed";
14
- export { LicenseLink, EmbedByline } from "./LicenseByline";
15
- export { ArticleByline, ArticleBylineAccordionItem, ArticleFootNotes, ArticleWrapper, Article, ArticleFooter, ArticleHeader, ArticleContent, ArticleHGroup, ArticleTitle } from "./Article";
16
- export { getPossiblyRelativeUrl } from "./utils/relativeUrl";
17
- export { default as RelatedArticleList, RelatedArticle } from "./RelatedArticleList";
18
- export { default as ErrorMessage } from "./ErrorMessage";
19
- export { FileListEmbed, File, PdfFile, FileListItem, FileListElement, FileListWrapper } from "./FileList";
20
- export { default as FactBox } from "./FactBox";
21
- export { ContentTypeHero } from "./ContentTypeHero";
22
- export { ResourceBox } from "./ResourceBox";
23
- export { default as AudioPlayer } from "./AudioPlayer";
24
- export { default as constants } from "./model";
25
- export { default as messagesNB } from "./locale/messages-nb";
26
- export { default as messagesNN } from "./locale/messages-nn";
27
- export { default as messagesEN } from "./locale/messages-en";
28
- export { default as messagesSE } from "./locale/messages-se";
29
- export { default as Breadcrumb, HomeBreadcrumb } from "./Breadcrumb";
30
- export { i18nInstance, formatNestedMessages, useTagsInputTranslations, useTagSelectorTranslations, useComboboxTranslations, usePaginationTranslations, useAudioSearchTranslations, useImageSearchTranslations, useVideoSearchTranslations, useDatePickerTranslations } from "./i18n";
31
- export { ContentTypeBadge, contentTypeToBadgeVariantMap } from "./ContentTypeBadge/ContentTypeBadge";
32
- export { ContentTypeBlockQuote } from "./ContentTypeBlockQuote/ContentTypeBlockQuote";
33
- export { ContentTypeFramedContent } from "./ContentTypeFramedContent/ContentTypeFramedContent";
34
- export { default as CopyParagraphButton } from "./CopyParagraphButton";
35
- export { TagSelectorRoot, TagSelectorLabel, TagSelectorItemInput, TagSelectorTrigger, TagSelectorControl, TagSelectorClearTrigger, TagSelectorInputBase, TagSelectorInput } from "./TagSelector/TagSelector";
36
- export { Pitch } from "./Pitch";
37
- export { KeyFigure } from "./KeyFigure";
38
- export { ContactBlock, contactBlockBackgrounds } from "./ContactBlock";
39
- export { CampaignBlock } from "./CampaignBlock";
40
- export { Grid, GridParallaxItem } from "./Grid";
41
- export { Gloss, GlossExample } from "./Gloss";
42
- export { LinkBlock, LinkBlockSection } from "./LinkBlock";
43
- export { CodeBlock, codeLanguageOptions } from "./CodeBlock";
44
- export { ZendeskButton } from "./ZendeskButton/ZendeskButton";
45
- export { licenseAttributes } from "./utils/licenseAttributes";
65
+ export { Article, ArticleByline, ArticleBylineAccordionItem, ArticleContent, ArticleFootNotes, ArticleFooter, ArticleHGroup, ArticleHeader, ArticleTitle, ArticleWrapper, AudioEmbed_default as AudioEmbed, AudioPlayer_default as AudioPlayer, BlockConcept, Breadcrumb_default as Breadcrumb, BrightcoveEmbed_default as BrightcoveEmbed, CampaignBlock_default as CampaignBlock, CodeBlock_default as CodeBlock, CodeEmbed_default as CodeEmbed, Concept, ConceptEmbed, ConceptInlineTriggerButton, ContactBlock, ContentLinkEmbed_default as ContentLinkEmbed, ContentTypeBadge, ContentTypeBlockQuote, ContentTypeFramedContent, ContentTypeHero, CopyParagraphButton_default as CopyParagraphButton, CopyrightEmbed_default as CopyrightEmbed, EmbedByline, EmbedWrapper, ErrorMessage_default as ErrorMessage, ExternalEmbed_default as ExternalEmbed, FactBox_default as FactBox, File, FileListElement, FileListEmbed, FileListItem, FileListWrapper, FootnoteEmbed_default as FootnoteEmbed, Gloss_default as Gloss, GlossExample_default as GlossExample, Grid, GridParallaxItem, H5pEmbed_default as H5pEmbed, HomeBreadcrumb_default as HomeBreadcrumb, IframeEmbed_default as IframeEmbed, ImageEmbed_default as ImageEmbed, InlineConcept, InlineTriggerButton, KeyFigure_default as KeyFigure, LicenseLink, LinkBlock_default as LinkBlock, LinkBlockSection_default as LinkBlockSection, PdfFile, Pitch, RelatedArticle, RelatedArticleList_default as RelatedArticleList, RelatedContentEmbed_default as RelatedContentEmbed, ResourceBox_default as ResourceBox, TagSelectorClearTrigger, TagSelectorControl, TagSelectorInput, TagSelectorInputBase, TagSelectorItemInput, TagSelectorLabel, TagSelectorRoot, TagSelectorTrigger, UnknownEmbed_default as UnknownEmbed, UuDisclaimerEmbed_default as UuDisclaimerEmbed, ZendeskButton, codeLanguageOptions, model_default as constants, contactBlockBackgrounds, contentTypeToBadgeVariantMap, formatNestedMessages, getCrop, getFocalPoint, getPossiblyRelativeUrl, i18nInstance, licenseAttributes, messages_en_default as messagesEN, messages_nb_default as messagesNB, messages_nn_default as messagesNN, messages_se_default as messagesSE, useAudioSearchTranslations, useComboboxTranslations, useDatePickerTranslations, useImageSearchTranslations, usePaginationTranslations, useTagSelectorTranslations, useTagsInputTranslations, useVideoSearchTranslations };