@ndla/ui 56.0.121-alpha.0 → 56.0.122-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 (206) hide show
  1. package/lib/i18n/index.d.ts +1 -1
  2. package/lib/i18n/useComponentTranslations.d.ts +2 -1
  3. package/lib/index.d.ts +1 -1
  4. package/lib/locale/messages-en.d.ts +34 -0
  5. package/lib/locale/messages-nb.d.ts +34 -0
  6. package/lib/locale/messages-nn.d.ts +34 -0
  7. package/lib/locale/messages-se.d.ts +34 -0
  8. package/package.json +6 -5
  9. package/src/Article/ArticleByline.tsx +1 -1
  10. package/src/i18n/index.ts +1 -0
  11. package/src/i18n/useComponentTranslations.ts +36 -1
  12. package/src/index.ts +1 -0
  13. package/src/locale/messages-en.ts +34 -0
  14. package/src/locale/messages-nb.ts +34 -0
  15. package/src/locale/messages-nn.ts +34 -0
  16. package/src/locale/messages-se.ts +34 -0
  17. package/es/Article/Article.js +0 -199
  18. package/es/Article/ArticleByline.js +0 -182
  19. package/es/Article/ArticleFootNotes.js +0 -60
  20. package/es/Article/index.js +0 -11
  21. package/es/AudioPlayer/AudioPlayer.js +0 -218
  22. package/es/AudioPlayer/Controls.js +0 -332
  23. package/es/AudioPlayer/SpeechControl.js +0 -56
  24. package/es/AudioPlayer/index.js +0 -10
  25. package/es/Breadcrumb/Breadcrumb.js +0 -60
  26. package/es/Breadcrumb/BreadcrumbItem.js +0 -62
  27. package/es/Breadcrumb/HomeBreadcrumb.js +0 -77
  28. package/es/Breadcrumb/index.js +0 -11
  29. package/es/CampaignBlock/CampaignBlock.js +0 -180
  30. package/es/CampaignBlock/index.js +0 -9
  31. package/es/CodeBlock/CodeBlock.js +0 -35
  32. package/es/CodeBlock/codeLanguageOptions.js +0 -84
  33. package/es/CodeBlock/index.js +0 -10
  34. package/es/Concept/Concept.js +0 -72
  35. package/es/ContactBlock/ContactBlock.js +0 -199
  36. package/es/ContactBlock/index.js +0 -9
  37. package/es/ContentTypeBadge/ContentTypeBadge.js +0 -50
  38. package/es/ContentTypeBlockQuote/ContentTypeBlockQuote.js +0 -32
  39. package/es/ContentTypeFramedContent/ContentTypeFramedContent.js +0 -32
  40. package/es/ContentTypeHero/ContentTypeHero.js +0 -50
  41. package/es/ContentTypeHero/index.js +0 -9
  42. package/es/CopyParagraphButton/CopyParagraphButton.js +0 -83
  43. package/es/CopyParagraphButton/index.js +0 -11
  44. package/es/Embed/AudioEmbed.js +0 -76
  45. package/es/Embed/BrightcoveEmbed.js +0 -133
  46. package/es/Embed/CodeEmbed.js +0 -79
  47. package/es/Embed/ConceptEmbed.js +0 -123
  48. package/es/Embed/ConceptInlineTriggerButton.js +0 -45
  49. package/es/Embed/ContentLinkEmbed.js +0 -51
  50. package/es/Embed/CopyrightEmbed.js +0 -33
  51. package/es/Embed/EmbedErrorPlaceholder.js +0 -58
  52. package/es/Embed/EmbedWrapper.js +0 -51
  53. package/es/Embed/ExternalEmbed.js +0 -74
  54. package/es/Embed/FootnoteEmbed.js +0 -44
  55. package/es/Embed/GlossEmbed.js +0 -80
  56. package/es/Embed/H5pEmbed.js +0 -61
  57. package/es/Embed/IframeEmbed.js +0 -93
  58. package/es/Embed/ImageEmbed.js +0 -238
  59. package/es/Embed/InlineTriggerButton.js +0 -37
  60. package/es/Embed/RelatedContentEmbed.js +0 -55
  61. package/es/Embed/UnknownEmbed.js +0 -31
  62. package/es/Embed/UuDisclaimerEmbed.js +0 -88
  63. package/es/Embed/index.js +0 -25
  64. package/es/Embed/types.js +0 -1
  65. package/es/ErrorMessage/ErrorMessage.js +0 -95
  66. package/es/ErrorMessage/index.js +0 -10
  67. package/es/FactBox/FactBox.js +0 -177
  68. package/es/FactBox/index.js +0 -10
  69. package/es/FileList/File.js +0 -101
  70. package/es/FileList/FileList.js +0 -47
  71. package/es/FileList/PdfFile.js +0 -50
  72. package/es/FileList/index.js +0 -11
  73. package/es/Gloss/Gloss.js +0 -175
  74. package/es/Gloss/GlossExample.js +0 -64
  75. package/es/Gloss/index.js +0 -10
  76. package/es/Grid/Grid.js +0 -94
  77. package/es/Grid/GridParallaxItem.js +0 -32
  78. package/es/Grid/index.js +0 -10
  79. package/es/KeyFigure/KeyFigure.js +0 -63
  80. package/es/KeyFigure/index.js +0 -9
  81. package/es/LicenseByline/EmbedByline.js +0 -212
  82. package/es/LicenseByline/LicenseLink.js +0 -56
  83. package/es/LicenseByline/index.js +0 -10
  84. package/es/LinkBlock/LinkBlock.js +0 -103
  85. package/es/LinkBlock/LinkBlockSection.js +0 -35
  86. package/es/LinkBlock/index.js +0 -10
  87. package/es/Pitch/Pitch.js +0 -83
  88. package/es/Pitch/index.js +0 -9
  89. package/es/RelatedArticleList/RelatedArticleList.js +0 -135
  90. package/es/RelatedArticleList/index.js +0 -11
  91. package/es/ResourceBox/ResourceBox.js +0 -99
  92. package/es/ResourceBox/index.js +0 -10
  93. package/es/TagSelector/TagSelector.js +0 -143
  94. package/es/ZendeskButton/ZendeskButton.js +0 -55
  95. package/es/i18n/formatNestedMessages.js +0 -25
  96. package/es/i18n/i18n.js +0 -35
  97. package/es/i18n/index.js +0 -11
  98. package/es/i18n/useComponentTranslations.js +0 -164
  99. package/es/index.js +0 -45
  100. package/es/locale/messages-en.js +0 -428
  101. package/es/locale/messages-nb.js +0 -428
  102. package/es/locale/messages-nn.js +0 -428
  103. package/es/locale/messages-se.js +0 -428
  104. package/es/model/ContentType.js +0 -68
  105. package/es/model/SubjectCategories.js +0 -12
  106. package/es/model/SubjectTypes.js +0 -11
  107. package/es/model/WordClass.js +0 -45
  108. package/es/model/index.js +0 -21
  109. package/es/types.js +0 -1
  110. package/es/utils/licenseAttributes.js +0 -18
  111. package/es/utils/relativeUrl.js +0 -37
  112. package/lib/Article/Article.js +0 -207
  113. package/lib/Article/ArticleByline.js +0 -189
  114. package/lib/Article/ArticleFootNotes.js +0 -67
  115. package/lib/Article/index.js +0 -68
  116. package/lib/AudioPlayer/AudioPlayer.js +0 -224
  117. package/lib/AudioPlayer/Controls.js +0 -338
  118. package/lib/AudioPlayer/SpeechControl.js +0 -62
  119. package/lib/AudioPlayer/index.js +0 -16
  120. package/lib/Breadcrumb/Breadcrumb.js +0 -67
  121. package/lib/Breadcrumb/BreadcrumbItem.js +0 -68
  122. package/lib/Breadcrumb/HomeBreadcrumb.js +0 -84
  123. package/lib/Breadcrumb/index.js +0 -23
  124. package/lib/CampaignBlock/CampaignBlock.js +0 -187
  125. package/lib/CampaignBlock/index.js +0 -13
  126. package/lib/CodeBlock/CodeBlock.js +0 -41
  127. package/lib/CodeBlock/codeLanguageOptions.js +0 -90
  128. package/lib/CodeBlock/index.js +0 -20
  129. package/lib/Concept/Concept.js +0 -78
  130. package/lib/ContactBlock/ContactBlock.js +0 -206
  131. package/lib/ContactBlock/index.js +0 -18
  132. package/lib/ContentTypeBadge/ContentTypeBadge.js +0 -57
  133. package/lib/ContentTypeBlockQuote/ContentTypeBlockQuote.js +0 -38
  134. package/lib/ContentTypeFramedContent/ContentTypeFramedContent.js +0 -38
  135. package/lib/ContentTypeHero/ContentTypeHero.js +0 -57
  136. package/lib/ContentTypeHero/index.js +0 -12
  137. package/lib/CopyParagraphButton/CopyParagraphButton.js +0 -89
  138. package/lib/CopyParagraphButton/index.js +0 -22
  139. package/lib/Embed/AudioEmbed.js +0 -84
  140. package/lib/Embed/BrightcoveEmbed.js +0 -142
  141. package/lib/Embed/CodeEmbed.js +0 -86
  142. package/lib/Embed/ConceptEmbed.js +0 -131
  143. package/lib/Embed/ConceptInlineTriggerButton.js +0 -51
  144. package/lib/Embed/ContentLinkEmbed.js +0 -57
  145. package/lib/Embed/CopyrightEmbed.js +0 -39
  146. package/lib/Embed/EmbedErrorPlaceholder.js +0 -64
  147. package/lib/Embed/EmbedWrapper.js +0 -57
  148. package/lib/Embed/ExternalEmbed.js +0 -81
  149. package/lib/Embed/FootnoteEmbed.js +0 -50
  150. package/lib/Embed/GlossEmbed.js +0 -88
  151. package/lib/Embed/H5pEmbed.js +0 -68
  152. package/lib/Embed/IframeEmbed.js +0 -100
  153. package/lib/Embed/ImageEmbed.js +0 -248
  154. package/lib/Embed/InlineTriggerButton.js +0 -43
  155. package/lib/Embed/RelatedContentEmbed.js +0 -61
  156. package/lib/Embed/UnknownEmbed.js +0 -37
  157. package/lib/Embed/UuDisclaimerEmbed.js +0 -94
  158. package/lib/Embed/index.js +0 -150
  159. package/lib/Embed/types.js +0 -5
  160. package/lib/ErrorMessage/ErrorMessage.js +0 -101
  161. package/lib/ErrorMessage/index.js +0 -16
  162. package/lib/FactBox/FactBox.js +0 -184
  163. package/lib/FactBox/index.js +0 -16
  164. package/lib/FileList/File.js +0 -108
  165. package/lib/FileList/FileList.js +0 -54
  166. package/lib/FileList/PdfFile.js +0 -57
  167. package/lib/FileList/index.js +0 -44
  168. package/lib/Gloss/Gloss.js +0 -181
  169. package/lib/Gloss/GlossExample.js +0 -70
  170. package/lib/Gloss/index.js +0 -20
  171. package/lib/Grid/Grid.js +0 -101
  172. package/lib/Grid/GridParallaxItem.js +0 -39
  173. package/lib/Grid/index.js +0 -19
  174. package/lib/KeyFigure/KeyFigure.js +0 -70
  175. package/lib/KeyFigure/index.js +0 -13
  176. package/lib/LicenseByline/EmbedByline.js +0 -220
  177. package/lib/LicenseByline/LicenseLink.js +0 -62
  178. package/lib/LicenseByline/index.js +0 -19
  179. package/lib/LinkBlock/LinkBlock.js +0 -110
  180. package/lib/LinkBlock/LinkBlockSection.js +0 -41
  181. package/lib/LinkBlock/index.js +0 -20
  182. package/lib/Pitch/Pitch.js +0 -91
  183. package/lib/Pitch/index.js +0 -12
  184. package/lib/RelatedArticleList/RelatedArticleList.js +0 -143
  185. package/lib/RelatedArticleList/index.js +0 -21
  186. package/lib/ResourceBox/ResourceBox.js +0 -106
  187. package/lib/ResourceBox/index.js +0 -13
  188. package/lib/TagSelector/TagSelector.js +0 -150
  189. package/lib/ZendeskButton/ZendeskButton.js +0 -61
  190. package/lib/i18n/formatNestedMessages.js +0 -32
  191. package/lib/i18n/i18n.js +0 -41
  192. package/lib/i18n/index.js +0 -62
  193. package/lib/i18n/useComponentTranslations.js +0 -176
  194. package/lib/index.js +0 -593
  195. package/lib/locale/messages-en.js +0 -435
  196. package/lib/locale/messages-nb.js +0 -435
  197. package/lib/locale/messages-nn.js +0 -435
  198. package/lib/locale/messages-se.js +0 -435
  199. package/lib/model/ContentType.js +0 -74
  200. package/lib/model/SubjectCategories.js +0 -18
  201. package/lib/model/SubjectTypes.js +0 -17
  202. package/lib/model/WordClass.js +0 -51
  203. package/lib/model/index.js +0 -28
  204. package/lib/types.js +0 -5
  205. package/lib/utils/licenseAttributes.js +0 -25
  206. package/lib/utils/relativeUrl.js +0 -44
@@ -7,4 +7,4 @@
7
7
  */
8
8
  export { i18nInstance } from "./i18n";
9
9
  export { formatNestedMessages } from "./formatNestedMessages";
10
- export { useComboboxTranslations, useTagSelectorTranslations, useTagsInputTranslations, usePaginationTranslations, useAudioSearchTranslations, useImageSearchTranslations, useVideoSearchTranslations, } from "./useComponentTranslations";
10
+ export { useComboboxTranslations, useTagSelectorTranslations, useTagsInputTranslations, usePaginationTranslations, useAudioSearchTranslations, useImageSearchTranslations, useVideoSearchTranslations, useDatePickerTranslations, } from "./useComponentTranslations";
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
  import type { CollectionItem } from "@ark-ui/react";
9
- import type { ComboboxRootProps, PaginationRootProps, TagsInputRootProps } from "@ndla/primitives";
9
+ import type { ComboboxRootProps, PaginationRootProps, TagsInputRootProps, DatePickerRootProps } from "@ndla/primitives";
10
10
  import { type TagSelectorRootProps } from "../TagSelector/TagSelector";
11
11
  type DeepPartial<T> = {
12
12
  [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
@@ -53,4 +53,5 @@ interface ImageSearchTranslations {
53
53
  export declare const useImageSearchTranslations: (translations?: DeepPartial<ImageSearchTranslations>) => ImageSearchTranslations;
54
54
  export declare const useAudioSearchTranslations: (translations?: DeepPartial<AudioSearchTranslations>) => AudioSearchTranslations;
55
55
  export declare const useVideoSearchTranslations: (translations?: Partial<VideoTranslations>) => VideoTranslations;
56
+ export declare const useDatePickerTranslations: (translations?: Partial<DatePickerRootProps["translations"]>) => NonNullable<DatePickerRootProps["translations"]>;
56
57
  export {};
package/lib/index.d.ts CHANGED
@@ -26,7 +26,7 @@ export { default as messagesEN } from "./locale/messages-en";
26
26
  export { default as messagesSE } from "./locale/messages-se";
27
27
  export { default as Breadcrumb, HomeBreadcrumb } from "./Breadcrumb";
28
28
  export type { SimpleBreadcrumbItem, IndexedBreadcrumbItem } from "./Breadcrumb";
29
- export { i18nInstance, formatNestedMessages, useTagsInputTranslations, useTagSelectorTranslations, useComboboxTranslations, usePaginationTranslations, useAudioSearchTranslations, useImageSearchTranslations, useVideoSearchTranslations, } from "./i18n";
29
+ export { i18nInstance, formatNestedMessages, useTagsInputTranslations, useTagSelectorTranslations, useComboboxTranslations, usePaginationTranslations, useAudioSearchTranslations, useImageSearchTranslations, useVideoSearchTranslations, useDatePickerTranslations, } from "./i18n";
30
30
  export type { ContentTypeBadgeProps, StrictContentType, ContentType } from "./ContentTypeBadge/ContentTypeBadge";
31
31
  export { ContentTypeBadge, contentTypeToBadgeVariantMap } from "./ContentTypeBadge/ContentTypeBadge";
32
32
  export { ContentTypeBlockQuote } from "./ContentTypeBlockQuote/ContentTypeBlockQuote";
@@ -363,6 +363,40 @@ declare const messages: {
363
363
  is360Video: string;
364
364
  close: string;
365
365
  };
366
+ datePicker: {
367
+ dayCell: {
368
+ unavailable: string;
369
+ selected: string;
370
+ select: string;
371
+ };
372
+ nextTrigger: {
373
+ day: string;
374
+ month: string;
375
+ year: string;
376
+ };
377
+ prevTrigger: {
378
+ day: string;
379
+ month: string;
380
+ year: string;
381
+ };
382
+ monthSelect: string;
383
+ yearSelect: string;
384
+ viewTrigger: {
385
+ day: string;
386
+ month: string;
387
+ year: string;
388
+ };
389
+ presetTrigger: {
390
+ single: string;
391
+ range: string;
392
+ };
393
+ clearTrigger: string;
394
+ trigger: {
395
+ open: string;
396
+ close: string;
397
+ };
398
+ content: string;
399
+ };
366
400
  };
367
401
  richTextEditor: {
368
402
  tooltip: {
@@ -363,6 +363,40 @@ declare const messages: {
363
363
  is360Video: string;
364
364
  close: string;
365
365
  };
366
+ datePicker: {
367
+ dayCell: {
368
+ unavailable: string;
369
+ selected: string;
370
+ select: string;
371
+ };
372
+ nextTrigger: {
373
+ day: string;
374
+ month: string;
375
+ year: string;
376
+ };
377
+ prevTrigger: {
378
+ day: string;
379
+ month: string;
380
+ year: string;
381
+ };
382
+ monthSelect: string;
383
+ yearSelect: string;
384
+ viewTrigger: {
385
+ day: string;
386
+ month: string;
387
+ year: string;
388
+ };
389
+ presetTrigger: {
390
+ single: string;
391
+ range: string;
392
+ };
393
+ clearTrigger: string;
394
+ trigger: {
395
+ open: string;
396
+ close: string;
397
+ };
398
+ content: string;
399
+ };
366
400
  };
367
401
  richTextEditor: {
368
402
  tooltip: {
@@ -363,6 +363,40 @@ declare const messages: {
363
363
  is360Video: string;
364
364
  close: string;
365
365
  };
366
+ datePicker: {
367
+ dayCell: {
368
+ unavailable: string;
369
+ selected: string;
370
+ select: string;
371
+ };
372
+ nextTrigger: {
373
+ day: string;
374
+ month: string;
375
+ year: string;
376
+ };
377
+ prevTrigger: {
378
+ day: string;
379
+ month: string;
380
+ year: string;
381
+ };
382
+ monthSelect: string;
383
+ yearSelect: string;
384
+ viewTrigger: {
385
+ day: string;
386
+ month: string;
387
+ year: string;
388
+ };
389
+ presetTrigger: {
390
+ single: string;
391
+ range: string;
392
+ };
393
+ clearTrigger: string;
394
+ trigger: {
395
+ open: string;
396
+ close: string;
397
+ };
398
+ content: string;
399
+ };
366
400
  };
367
401
  richTextEditor: {
368
402
  tooltip: {
@@ -363,6 +363,40 @@ declare const messages: {
363
363
  is360Video: string;
364
364
  close: string;
365
365
  };
366
+ datePicker: {
367
+ dayCell: {
368
+ unavailable: string;
369
+ selected: string;
370
+ select: string;
371
+ };
372
+ nextTrigger: {
373
+ day: string;
374
+ month: string;
375
+ year: string;
376
+ };
377
+ prevTrigger: {
378
+ day: string;
379
+ month: string;
380
+ year: string;
381
+ };
382
+ monthSelect: string;
383
+ yearSelect: string;
384
+ viewTrigger: {
385
+ day: string;
386
+ month: string;
387
+ year: string;
388
+ };
389
+ presetTrigger: {
390
+ single: string;
391
+ range: string;
392
+ };
393
+ clearTrigger: string;
394
+ trigger: {
395
+ open: string;
396
+ close: string;
397
+ };
398
+ content: string;
399
+ };
366
400
  };
367
401
  richTextEditor: {
368
402
  tooltip: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/ui",
3
- "version": "56.0.121-alpha.0",
3
+ "version": "56.0.122-alpha.0",
4
4
  "description": "UI component library for NDLA",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -32,11 +32,12 @@
32
32
  "types"
33
33
  ],
34
34
  "dependencies": {
35
+ "@ark-ui/react": "^5.9.0",
35
36
  "@ndla/core": "^6.0.0-alpha.0",
36
37
  "@ndla/icons": "^8.0.58-alpha.0",
37
38
  "@ndla/licenses": "^9.0.1",
38
- "@ndla/primitives": "^1.0.87-alpha.0",
39
- "@ndla/safelink": "^7.0.89-alpha.0",
39
+ "@ndla/primitives": "^1.0.88-alpha.0",
40
+ "@ndla/safelink": "^7.0.90-alpha.0",
40
41
  "@ndla/styled-system": "^0.0.34",
41
42
  "@ndla/util": "^5.0.8-alpha.0",
42
43
  "html-react-parser": "^5.1.19"
@@ -46,7 +47,7 @@
46
47
  "react": ">= 18",
47
48
  "react-dom": ">= 18",
48
49
  "react-i18next": "^15.4.1",
49
- "react-router": ">= 6.0.0"
50
+ "react-router-dom": ">= 6.0.0"
50
51
  },
51
52
  "devDependencies": {
52
53
  "@ndla/preset-panda": "^0.0.54",
@@ -57,5 +58,5 @@
57
58
  "publishConfig": {
58
59
  "access": "public"
59
60
  },
60
- "gitHead": "d9ad62bb693321e31691b09d045af548f650c049"
61
+ "gitHead": "52adafa4348c1c02ebc4da28317aa5270cbe2a80"
61
62
  }
@@ -9,7 +9,7 @@
9
9
  import type { TFunction } from "i18next";
10
10
  import { type ReactNode, forwardRef, useCallback, useEffect, useState } from "react";
11
11
  import { useTranslation } from "react-i18next";
12
- import { useLocation } from "react-router";
12
+ import { useLocation } from "react-router-dom";
13
13
  import { ArrowDownShortLine } from "@ndla/icons";
14
14
  import {
15
15
  AccordionItem,
package/src/i18n/index.ts CHANGED
@@ -16,4 +16,5 @@ export {
16
16
  useAudioSearchTranslations,
17
17
  useImageSearchTranslations,
18
18
  useVideoSearchTranslations,
19
+ useDatePickerTranslations,
19
20
  } from "./useComponentTranslations";
@@ -8,7 +8,7 @@
8
8
 
9
9
  import { useTranslation } from "react-i18next";
10
10
  import type { CollectionItem } from "@ark-ui/react";
11
- import type { ComboboxRootProps, PaginationRootProps, TagsInputRootProps } from "@ndla/primitives";
11
+ import type { ComboboxRootProps, PaginationRootProps, TagsInputRootProps, DatePickerRootProps } from "@ndla/primitives";
12
12
  import { type TagSelectorRootProps } from "../TagSelector/TagSelector";
13
13
  import { useMemo } from "react";
14
14
 
@@ -198,3 +198,38 @@ export const useVideoSearchTranslations = (translations?: Partial<VideoTranslati
198
198
  [t, translations],
199
199
  );
200
200
  };
201
+
202
+ export const useDatePickerTranslations = (
203
+ translations?: Partial<DatePickerRootProps["translations"]>,
204
+ ): NonNullable<DatePickerRootProps["translations"]> => {
205
+ const { t } = useTranslation("translation", { keyPrefix: "component.datePicker" });
206
+
207
+ return useMemo(
208
+ () => ({
209
+ dayCell: (state) => {
210
+ if (state.unavailable) {
211
+ return t("dayCell.unavailable", { date: state.formattedDate });
212
+ } else if (state.selected) {
213
+ return t("dayCell.selected", { date: state.formattedDate });
214
+ } else return t("dayCell.select", { date: state.formattedDate });
215
+ },
216
+ nextTrigger: (view) => t(`nextTrigger.${view}`),
217
+ prevTrigger: (view) => t(`prevTrigger.${view}`),
218
+ monthSelect: t("monthSelect"),
219
+ yearSelect: t("yearSelect"),
220
+ viewTrigger: (view) => t(`viewTrigger.${view}`),
221
+ presetTrigger: (value) => {
222
+ if (Array.isArray(value)) {
223
+ return t("presetTrigger.range", { start: value[0], end: value[1] });
224
+ } else return t("presetTrigger.single", { date: value });
225
+ },
226
+ clearTrigger: t("clearTrigger"),
227
+ trigger: (open) => t(`trigger.${open ? "close" : "open"}`),
228
+ content: t("content"),
229
+ placeholder: (_locale) => {
230
+ return { day: "dd", month: "mm", year: "yyyy" };
231
+ },
232
+ }),
233
+ [t, translations],
234
+ );
235
+ };
package/src/index.ts CHANGED
@@ -89,6 +89,7 @@ export {
89
89
  useAudioSearchTranslations,
90
90
  useImageSearchTranslations,
91
91
  useVideoSearchTranslations,
92
+ useDatePickerTranslations,
92
93
  } from "./i18n";
93
94
 
94
95
  export type { ContentTypeBadgeProps, StrictContentType, ContentType } from "./ContentTypeBadge/ContentTypeBadge";
@@ -402,6 +402,40 @@ const messages = {
402
402
  is360Video: "VR video",
403
403
  close: "Lukk",
404
404
  },
405
+ datePicker: {
406
+ dayCell: {
407
+ unavailable: "Unavailable date. {{date}}",
408
+ selected: "Selected date. {{date}}",
409
+ select: "Select date. {{date}}",
410
+ },
411
+ nextTrigger: {
412
+ day: "Go to next month",
413
+ month: "Go to next year",
414
+ year: "Go to next decade",
415
+ },
416
+ prevTrigger: {
417
+ day: "Go to previous month",
418
+ month: "Go to previous year",
419
+ year: "Go to previous decade",
420
+ },
421
+ monthSelect: "Select month",
422
+ yearSelect: "Select year",
423
+ viewTrigger: {
424
+ day: "Switch to day view",
425
+ month: "Switch to month view",
426
+ year: "Switch to year view",
427
+ },
428
+ presetTrigger: {
429
+ single: "Select {{date}}",
430
+ range: "Select from {{start}} to {{end}}",
431
+ },
432
+ clearTrigger: "Clear selected dates",
433
+ trigger: {
434
+ open: "Open date picker",
435
+ close: "Close date picker",
436
+ },
437
+ content: "Calendar",
438
+ },
405
439
  },
406
440
  richTextEditor: {
407
441
  tooltip: {
@@ -403,6 +403,40 @@ const messages = {
403
403
  is360Video: "VR-video",
404
404
  close: "Lukk",
405
405
  },
406
+ datePicker: {
407
+ dayCell: {
408
+ unavailable: "Ikke tilgjengelig dato. {{date}}",
409
+ selected: "Valgt dato. {{date}}",
410
+ select: "Velg dato. {{date}}",
411
+ },
412
+ nextTrigger: {
413
+ day: "Gå til neste måned",
414
+ month: "Gå til neste år",
415
+ year: "Gå til neste tiår",
416
+ },
417
+ prevTrigger: {
418
+ day: "Gå til forrige måned",
419
+ month: "Gå til forrige år",
420
+ year: "Gå til forrige tiår",
421
+ },
422
+ monthSelect: "Velg måned",
423
+ yearSelect: "Velg år",
424
+ viewTrigger: {
425
+ day: "Bytt til dagvisning",
426
+ month: "Bytt til månedvisning",
427
+ year: "Bytt til årvisning",
428
+ },
429
+ presetTrigger: {
430
+ single: "Velg {{date}}",
431
+ range: "Velg fra {{start}} til {{end}}",
432
+ },
433
+ clearTrigger: "Fjern valgte datoer",
434
+ trigger: {
435
+ open: "Åpne datovelger",
436
+ close: "Lukk datovelger",
437
+ },
438
+ content: "Kalender",
439
+ },
406
440
  },
407
441
  richTextEditor: {
408
442
  tooltip: {
@@ -403,6 +403,40 @@ const messages = {
403
403
  is360Video: "VR-video",
404
404
  close: "Lukk",
405
405
  },
406
+ datePicker: {
407
+ dayCell: {
408
+ unavailable: "Ikkje tilgjengelig dato. {{date}}",
409
+ selected: "Valt dato. {{date}}",
410
+ select: "Velg dato. {{date}}",
411
+ },
412
+ nextTrigger: {
413
+ day: "Gå til neste måned",
414
+ month: "Gå til neste år",
415
+ year: "Gå til neste tiår",
416
+ },
417
+ prevTrigger: {
418
+ day: "Gå til forrige måned",
419
+ month: "Gå til forrige år",
420
+ year: "Gå til forrige tiår",
421
+ },
422
+ monthSelect: "Velg måned",
423
+ yearSelect: "Velg år",
424
+ viewTrigger: {
425
+ day: "Bytt til dagvising",
426
+ month: "Bytt til månedvising",
427
+ year: "Bytt til årvising",
428
+ },
429
+ presetTrigger: {
430
+ single: "Velg {{date}}",
431
+ range: "Velg fra {{start}} til {{end}}",
432
+ },
433
+ clearTrigger: "Fjern valte datoer",
434
+ trigger: {
435
+ open: "Åpne datoveljar",
436
+ close: "Lukk datoveljar",
437
+ },
438
+ content: "Kalender",
439
+ },
406
440
  },
407
441
  richTextEditor: {
408
442
  tooltip: {
@@ -404,6 +404,40 @@ const messages = {
404
404
  is360Video: "VR-video",
405
405
  close: "Lukk",
406
406
  },
407
+ datePicker: {
408
+ dayCell: {
409
+ unavailable: "Ikke tilgjengelig dato. {{date}}",
410
+ selected: "Valgt dato. {{date}}",
411
+ select: "Velg dato. {{date}}",
412
+ },
413
+ nextTrigger: {
414
+ day: "Gå til neste måned",
415
+ month: "Gå til neste år",
416
+ year: "Gå til neste tiår",
417
+ },
418
+ prevTrigger: {
419
+ day: "Gå til forrige måned",
420
+ month: "Gå til forrige år",
421
+ year: "Gå til forrige tiår",
422
+ },
423
+ monthSelect: "Velg måned",
424
+ yearSelect: "Velg år",
425
+ viewTrigger: {
426
+ day: "Bytt til dagvisning",
427
+ month: "Bytt til månedvisning",
428
+ year: "Bytt til årvisning",
429
+ },
430
+ presetTrigger: {
431
+ single: "Velg {{date}}",
432
+ range: "Velg fra {{start}} til {{end}}",
433
+ },
434
+ clearTrigger: "Fjern valgte datoer",
435
+ trigger: {
436
+ open: "Åpne datovelger",
437
+ close: "Lukk datovelger",
438
+ },
439
+ content: "Kalender",
440
+ },
407
441
  },
408
442
  richTextEditor: {
409
443
  tooltip: {
@@ -1,199 +0,0 @@
1
- /**
2
- * Copyright (c) 2016-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
-
9
- import { forwardRef } from "react";
10
- import { ark } from "@ark-ui/react";
11
- import { Heading, Text } from "@ndla/primitives";
12
- import { cx } from "@ndla/styled-system/css";
13
- import { Stack, styled } from "@ndla/styled-system/jsx";
14
- import { ArticleByline } from "./ArticleByline";
15
- import { ContentTypeBadge } from "../ContentTypeBadge/ContentTypeBadge";
16
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
- const StyledArticleContent = styled(ark.section, {}, {
18
- baseComponent: true
19
- });
20
- export const ArticleContent = /*#__PURE__*/forwardRef((_ref, ref) => {
21
- let {
22
- className,
23
- ...props
24
- } = _ref;
25
- return /*#__PURE__*/_jsx(StyledArticleContent, {
26
- className: cx("ndla-article", className),
27
- ...props,
28
- ref: ref
29
- });
30
- });
31
- const StyledArticleWrapper = styled(ark.article, {
32
- base: {
33
- background: "background.default",
34
- display: "flex",
35
- flexDirection: "column",
36
- color: "text.default",
37
- alignItems: "center",
38
- width: "100%",
39
- overflowWrap: "break-word",
40
- position: "relative",
41
- "& mjx-stretchy-v > mjx-ext > mjx-c": {
42
- transform: "scaleY(100) translateY(0.075em)"
43
- },
44
- _after: {
45
- content: "",
46
- display: "table",
47
- clear: "both"
48
- }
49
- }
50
- }, {
51
- baseComponent: true
52
- });
53
- export const ArticleWrapper = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(StyledArticleWrapper, {
54
- "data-ndla-article": "",
55
- ref: ref,
56
- ...props
57
- }));
58
- export const ArticleHGroup = styled(ark.hgroup, {
59
- base: {
60
- display: "flex",
61
- width: "100%",
62
- flexDirection: "column",
63
- alignItems: "flex-start",
64
- "& h1": {
65
- overflowWrap: "anywhere"
66
- }
67
- }
68
- }, {
69
- baseComponent: true
70
- });
71
- export const ArticleHeader = styled(ark.header, {
72
- base: {
73
- display: "flex",
74
- flexDirection: "column",
75
- gap: "medium",
76
- alignItems: "flex-start",
77
- width: "100%",
78
- paddingBlockStart: "xxlarge",
79
- overflowWrap: "anywhere"
80
- }
81
- }, {
82
- baseComponent: true
83
- });
84
- export const ArticleFooter = styled(ark.footer, {
85
- base: {
86
- display: "flex",
87
- flexDirection: "column",
88
- gap: "xxlarge",
89
- width: "100%",
90
- "& > :is(:last-child)": {
91
- paddingBlockEnd: "5xlarge"
92
- }
93
- }
94
- }, {
95
- baseComponent: true
96
- });
97
- const StyledStack = styled(Stack, {
98
- base: {
99
- width: "100%",
100
- minHeight: "xxlarge"
101
- }
102
- });
103
- const StyledWrapper = styled("div", {
104
- base: {
105
- display: "flex",
106
- gap: "small",
107
- flexWrap: "wrap",
108
- alignItems: "center"
109
- }
110
- });
111
- export const ArticleTitle = _ref2 => {
112
- let {
113
- contentType,
114
- heartButton,
115
- title,
116
- lang,
117
- id,
118
- introduction,
119
- contentTypeLabel,
120
- competenceGoals,
121
- disclaimer
122
- } = _ref2;
123
- return /*#__PURE__*/_jsxs(ArticleHeader, {
124
- children: [/*#__PURE__*/_jsxs(ArticleHGroup, {
125
- children: [(!!contentType || !!heartButton) && /*#__PURE__*/_jsxs(StyledStack, {
126
- justify: "space-between",
127
- align: "center",
128
- direction: "row",
129
- gap: "small",
130
- children: [!!contentType && /*#__PURE__*/_jsx(ContentTypeBadge, {
131
- contentType: contentType,
132
- children: contentTypeLabel
133
- }), heartButton]
134
- }), /*#__PURE__*/_jsx(Heading, {
135
- textStyle: "heading.medium",
136
- id: id,
137
- lang: lang,
138
- property: "dct:title",
139
- children: title
140
- })]
141
- }), !!introduction && /*#__PURE__*/_jsx(Text, {
142
- lang: lang,
143
- textStyle: "body.xlarge",
144
- asChild: true,
145
- consumeCss: true,
146
- children: /*#__PURE__*/_jsx("div", {
147
- children: introduction
148
- })
149
- }), /*#__PURE__*/_jsxs(StyledWrapper, {
150
- children: [competenceGoals, disclaimer]
151
- })]
152
- });
153
- };
154
- export const Article = _ref3 => {
155
- let {
156
- article,
157
- contentType,
158
- licenseBox,
159
- children,
160
- competenceGoals,
161
- contentTypeLabel,
162
- id,
163
- heartButton,
164
- lang,
165
- disclaimer
166
- } = _ref3;
167
- const {
168
- title,
169
- introduction,
170
- published,
171
- content,
172
- footNotes,
173
- copyright
174
- } = article;
175
- const authors = copyright?.creators.length || copyright?.rightsholders.length ? copyright.creators : copyright?.processors;
176
- return /*#__PURE__*/_jsxs(ArticleWrapper, {
177
- children: [/*#__PURE__*/_jsx(ArticleTitle, {
178
- id: id,
179
- contentType: contentType,
180
- heartButton: heartButton,
181
- title: title,
182
- introduction: introduction,
183
- competenceGoals: competenceGoals,
184
- lang: lang,
185
- contentTypeLabel: contentTypeLabel,
186
- disclaimer: disclaimer
187
- }), /*#__PURE__*/_jsx(ArticleContent, {
188
- children: content
189
- }), /*#__PURE__*/_jsxs(ArticleFooter, {
190
- children: [/*#__PURE__*/_jsx(ArticleByline, {
191
- footnotes: footNotes,
192
- authors: authors,
193
- suppliers: copyright?.rightsholders,
194
- published: published,
195
- licenseBox: licenseBox
196
- }), children]
197
- })]
198
- });
199
- };