@helpwave/hightide 0.1.8 → 0.1.10

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 (193) hide show
  1. package/dist/components/date/DatePicker.d.mts +3 -4
  2. package/dist/components/date/DatePicker.d.ts +3 -4
  3. package/dist/components/date/DatePicker.js +125 -13
  4. package/dist/components/date/DatePicker.js.map +1 -1
  5. package/dist/components/date/DatePicker.mjs +125 -13
  6. package/dist/components/date/DatePicker.mjs.map +1 -1
  7. package/dist/components/date/TimeDisplay.d.mts +5 -19
  8. package/dist/components/date/TimeDisplay.d.ts +5 -19
  9. package/dist/components/date/TimeDisplay.js +129 -37
  10. package/dist/components/date/TimeDisplay.js.map +1 -1
  11. package/dist/components/date/TimeDisplay.mjs +129 -37
  12. package/dist/components/date/TimeDisplay.mjs.map +1 -1
  13. package/dist/components/dialogs/ConfirmDialog.d.mts +2 -5
  14. package/dist/components/dialogs/ConfirmDialog.d.ts +2 -5
  15. package/dist/components/dialogs/ConfirmDialog.js +163 -23
  16. package/dist/components/dialogs/ConfirmDialog.js.map +1 -1
  17. package/dist/components/dialogs/ConfirmDialog.mjs +163 -23
  18. package/dist/components/dialogs/ConfirmDialog.mjs.map +1 -1
  19. package/dist/components/layout-and-navigation/Overlay.d.mts +2 -3
  20. package/dist/components/layout-and-navigation/Overlay.d.ts +2 -3
  21. package/dist/components/layout-and-navigation/Overlay.js +158 -10
  22. package/dist/components/layout-and-navigation/Overlay.js.map +1 -1
  23. package/dist/components/layout-and-navigation/Overlay.mjs +158 -10
  24. package/dist/components/layout-and-navigation/Overlay.mjs.map +1 -1
  25. package/dist/components/layout-and-navigation/Pagination.d.mts +2 -3
  26. package/dist/components/layout-and-navigation/Pagination.d.ts +2 -3
  27. package/dist/components/layout-and-navigation/Pagination.js +153 -13
  28. package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
  29. package/dist/components/layout-and-navigation/Pagination.mjs +153 -13
  30. package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -1
  31. package/dist/components/layout-and-navigation/SearchableList.d.mts +3 -2
  32. package/dist/components/layout-and-navigation/SearchableList.d.ts +3 -2
  33. package/dist/components/layout-and-navigation/SearchableList.js +157 -11
  34. package/dist/components/layout-and-navigation/SearchableList.js.map +1 -1
  35. package/dist/components/layout-and-navigation/SearchableList.mjs +157 -11
  36. package/dist/components/layout-and-navigation/SearchableList.mjs.map +1 -1
  37. package/dist/components/layout-and-navigation/StepperBar.d.mts +2 -5
  38. package/dist/components/layout-and-navigation/StepperBar.d.ts +2 -5
  39. package/dist/components/layout-and-navigation/StepperBar.js +153 -15
  40. package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
  41. package/dist/components/layout-and-navigation/StepperBar.mjs +153 -15
  42. package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -1
  43. package/dist/components/layout-and-navigation/Table.js +153 -13
  44. package/dist/components/layout-and-navigation/Table.js.map +1 -1
  45. package/dist/components/layout-and-navigation/Table.mjs +153 -13
  46. package/dist/components/layout-and-navigation/Table.mjs.map +1 -1
  47. package/dist/components/layout-and-navigation/TextImage.d.mts +3 -4
  48. package/dist/components/layout-and-navigation/TextImage.d.ts +3 -4
  49. package/dist/components/layout-and-navigation/TextImage.js +161 -19
  50. package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
  51. package/dist/components/layout-and-navigation/TextImage.mjs +161 -19
  52. package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -1
  53. package/dist/components/loading-states/ErrorComponent.js +56 -8
  54. package/dist/components/loading-states/ErrorComponent.js.map +1 -1
  55. package/dist/components/loading-states/ErrorComponent.mjs +56 -8
  56. package/dist/components/loading-states/ErrorComponent.mjs.map +1 -1
  57. package/dist/components/loading-states/LoadingAndErrorComponent.d.mts +1 -0
  58. package/dist/components/loading-states/LoadingAndErrorComponent.d.ts +1 -0
  59. package/dist/components/loading-states/LoadingAndErrorComponent.js +155 -15
  60. package/dist/components/loading-states/LoadingAndErrorComponent.js.map +1 -1
  61. package/dist/components/loading-states/LoadingAndErrorComponent.mjs +155 -15
  62. package/dist/components/loading-states/LoadingAndErrorComponent.mjs.map +1 -1
  63. package/dist/components/loading-states/LoadingAnimation.d.mts +2 -3
  64. package/dist/components/loading-states/LoadingAnimation.d.ts +2 -3
  65. package/dist/components/loading-states/LoadingAnimation.js +153 -13
  66. package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
  67. package/dist/components/loading-states/LoadingAnimation.mjs +153 -13
  68. package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
  69. package/dist/components/modals/ConfirmModal.d.mts +2 -5
  70. package/dist/components/modals/ConfirmModal.d.ts +2 -5
  71. package/dist/components/modals/ConfirmModal.js +164 -26
  72. package/dist/components/modals/ConfirmModal.js.map +1 -1
  73. package/dist/components/modals/ConfirmModal.mjs +164 -26
  74. package/dist/components/modals/ConfirmModal.mjs.map +1 -1
  75. package/dist/components/modals/DiscardChangesModal.d.mts +2 -7
  76. package/dist/components/modals/DiscardChangesModal.d.ts +2 -7
  77. package/dist/components/modals/DiscardChangesModal.js +168 -46
  78. package/dist/components/modals/DiscardChangesModal.js.map +1 -1
  79. package/dist/components/modals/DiscardChangesModal.mjs +168 -46
  80. package/dist/components/modals/DiscardChangesModal.mjs.map +1 -1
  81. package/dist/components/modals/InputModal.d.mts +1 -0
  82. package/dist/components/modals/InputModal.d.ts +1 -0
  83. package/dist/components/modals/InputModal.js +164 -26
  84. package/dist/components/modals/InputModal.js.map +1 -1
  85. package/dist/components/modals/InputModal.mjs +164 -26
  86. package/dist/components/modals/InputModal.mjs.map +1 -1
  87. package/dist/components/modals/LanguageModal.d.mts +3 -2
  88. package/dist/components/modals/LanguageModal.d.ts +3 -2
  89. package/dist/components/modals/LanguageModal.js +170 -24
  90. package/dist/components/modals/LanguageModal.js.map +1 -1
  91. package/dist/components/modals/LanguageModal.mjs +170 -24
  92. package/dist/components/modals/LanguageModal.mjs.map +1 -1
  93. package/dist/components/modals/ThemeModal.d.mts +5 -5
  94. package/dist/components/modals/ThemeModal.d.ts +5 -5
  95. package/dist/components/modals/ThemeModal.js +178 -30
  96. package/dist/components/modals/ThemeModal.js.map +1 -1
  97. package/dist/components/modals/ThemeModal.mjs +178 -30
  98. package/dist/components/modals/ThemeModal.mjs.map +1 -1
  99. package/dist/components/properties/CheckboxProperty.d.mts +3 -5
  100. package/dist/components/properties/CheckboxProperty.d.ts +3 -5
  101. package/dist/components/properties/CheckboxProperty.js +155 -25
  102. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  103. package/dist/components/properties/CheckboxProperty.mjs +155 -25
  104. package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
  105. package/dist/components/properties/DateProperty.d.mts +1 -0
  106. package/dist/components/properties/DateProperty.d.ts +1 -0
  107. package/dist/components/properties/DateProperty.js +153 -13
  108. package/dist/components/properties/DateProperty.js.map +1 -1
  109. package/dist/components/properties/DateProperty.mjs +153 -13
  110. package/dist/components/properties/DateProperty.mjs.map +1 -1
  111. package/dist/components/properties/MultiSelectProperty.d.mts +4 -5
  112. package/dist/components/properties/MultiSelectProperty.d.ts +4 -5
  113. package/dist/components/properties/MultiSelectProperty.js +169 -43
  114. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  115. package/dist/components/properties/MultiSelectProperty.mjs +169 -43
  116. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  117. package/dist/components/properties/NumberProperty.d.mts +1 -0
  118. package/dist/components/properties/NumberProperty.d.ts +1 -0
  119. package/dist/components/properties/NumberProperty.js +155 -15
  120. package/dist/components/properties/NumberProperty.js.map +1 -1
  121. package/dist/components/properties/NumberProperty.mjs +155 -15
  122. package/dist/components/properties/NumberProperty.mjs.map +1 -1
  123. package/dist/components/properties/PropertyBase.d.mts +2 -3
  124. package/dist/components/properties/PropertyBase.d.ts +2 -3
  125. package/dist/components/properties/PropertyBase.js +153 -13
  126. package/dist/components/properties/PropertyBase.js.map +1 -1
  127. package/dist/components/properties/PropertyBase.mjs +153 -13
  128. package/dist/components/properties/PropertyBase.mjs.map +1 -1
  129. package/dist/components/properties/SelectProperty.d.mts +2 -3
  130. package/dist/components/properties/SelectProperty.d.ts +2 -3
  131. package/dist/components/properties/SelectProperty.js +159 -29
  132. package/dist/components/properties/SelectProperty.js.map +1 -1
  133. package/dist/components/properties/SelectProperty.mjs +159 -29
  134. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  135. package/dist/components/properties/TextProperty.d.mts +2 -1
  136. package/dist/components/properties/TextProperty.d.ts +2 -1
  137. package/dist/components/properties/TextProperty.js +157 -17
  138. package/dist/components/properties/TextProperty.js.map +1 -1
  139. package/dist/components/properties/TextProperty.mjs +157 -17
  140. package/dist/components/properties/TextProperty.mjs.map +1 -1
  141. package/dist/components/user-action/DateAndTimePicker.d.mts +4 -20
  142. package/dist/components/user-action/DateAndTimePicker.d.ts +4 -20
  143. package/dist/components/user-action/DateAndTimePicker.js +223 -51
  144. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  145. package/dist/components/user-action/DateAndTimePicker.mjs +223 -51
  146. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
  147. package/dist/components/user-action/Menu.js +1 -1
  148. package/dist/components/user-action/Menu.js.map +1 -1
  149. package/dist/components/user-action/Menu.mjs +1 -1
  150. package/dist/components/user-action/Menu.mjs.map +1 -1
  151. package/dist/components/user-action/MultiSelect.d.mts +5 -9
  152. package/dist/components/user-action/MultiSelect.d.ts +5 -9
  153. package/dist/components/user-action/MultiSelect.js +165 -23
  154. package/dist/components/user-action/MultiSelect.js.map +1 -1
  155. package/dist/components/user-action/MultiSelect.mjs +165 -23
  156. package/dist/components/user-action/MultiSelect.mjs.map +1 -1
  157. package/dist/components/user-action/Select.js +158 -12
  158. package/dist/components/user-action/Select.js.map +1 -1
  159. package/dist/components/user-action/Select.mjs +158 -12
  160. package/dist/components/user-action/Select.mjs.map +1 -1
  161. package/dist/css/globals.css +13 -4
  162. package/dist/css/uncompiled/globals.css +4 -4
  163. package/dist/index.d.mts +4 -2
  164. package/dist/index.d.ts +4 -2
  165. package/dist/index.js +345 -303
  166. package/dist/index.js.map +1 -1
  167. package/dist/index.mjs +341 -303
  168. package/dist/index.mjs.map +1 -1
  169. package/dist/localization/defaults/form.d.mts +54 -0
  170. package/dist/localization/defaults/form.d.ts +54 -0
  171. package/dist/localization/defaults/form.js +127 -0
  172. package/dist/localization/defaults/form.js.map +1 -0
  173. package/dist/localization/defaults/form.mjs +103 -0
  174. package/dist/localization/defaults/form.mjs.map +1 -0
  175. package/dist/localization/defaults/time.d.mts +39 -0
  176. package/dist/localization/defaults/time.d.ts +39 -0
  177. package/dist/localization/defaults/time.js +101 -0
  178. package/dist/localization/defaults/time.js.map +1 -0
  179. package/dist/localization/defaults/time.mjs +76 -0
  180. package/dist/localization/defaults/time.mjs.map +1 -0
  181. package/dist/localization/useTranslation.d.mts +38 -6
  182. package/dist/localization/useTranslation.d.ts +38 -6
  183. package/dist/localization/useTranslation.js +56 -6
  184. package/dist/localization/useTranslation.js.map +1 -1
  185. package/dist/localization/useTranslation.mjs +55 -6
  186. package/dist/localization/useTranslation.mjs.map +1 -1
  187. package/dist/theming/useTheme.d.mts +4 -2
  188. package/dist/theming/useTheme.d.ts +4 -2
  189. package/dist/theming/useTheme.js +10 -2
  190. package/dist/theming/useTheme.js.map +1 -1
  191. package/dist/theming/useTheme.mjs +10 -2
  192. package/dist/theming/useTheme.mjs.map +1 -1
  193. package/package.json +1 -1
@@ -26,15 +26,63 @@ var LanguageContext = createContext({
26
26
  var useLanguage = () => useContext(LanguageContext);
27
27
 
28
28
  // src/localization/useTranslation.ts
29
- var useTranslation = (defaults, translationOverwrite = {}) => {
30
- const { language: languageProp, translation: overwrite } = translationOverwrite;
29
+ var TranslationPluralCount = {
30
+ zero: 0,
31
+ one: 1,
32
+ two: 2,
33
+ few: 3,
34
+ many: 11,
35
+ other: -1
36
+ };
37
+ var useTranslation = (translations, overwriteTranslation = {}) => {
38
+ const { language: languageProp, translation: overwrite } = overwriteTranslation;
31
39
  const { language: inferredLanguage } = useLanguage();
32
40
  const usedLanguage = languageProp ?? inferredLanguage;
33
- let defaultValues = defaults[usedLanguage];
34
- if (overwrite && overwrite[usedLanguage]) {
35
- defaultValues = { ...defaultValues, ...overwrite[usedLanguage] };
41
+ const usedTranslations = [...translations];
42
+ if (overwrite) {
43
+ usedTranslations.push(overwrite);
36
44
  }
37
- return defaultValues;
45
+ return (key, options) => {
46
+ const { count, replacements } = { ...{ count: 0, replacements: {} }, ...options };
47
+ try {
48
+ for (let i = translations.length - 1; i >= 0; i--) {
49
+ const translation = translations[i];
50
+ const localizedTranslation = translation[usedLanguage];
51
+ if (!localizedTranslation) {
52
+ continue;
53
+ }
54
+ const value = localizedTranslation[key];
55
+ if (!value) {
56
+ continue;
57
+ }
58
+ let forProcessing;
59
+ if (typeof value !== "string") {
60
+ if (count === TranslationPluralCount.zero && value?.zero) {
61
+ forProcessing = value.zero;
62
+ } else if (count === TranslationPluralCount.one && value?.one) {
63
+ forProcessing = value.one;
64
+ } else if (count === TranslationPluralCount.two && value?.two) {
65
+ forProcessing = value.two;
66
+ } else if (TranslationPluralCount.few <= count && count < TranslationPluralCount.many && value?.few) {
67
+ forProcessing = value.few;
68
+ } else if (count > TranslationPluralCount.many && value?.many) {
69
+ forProcessing = value.many;
70
+ } else {
71
+ forProcessing = value.other;
72
+ }
73
+ } else {
74
+ forProcessing = value;
75
+ }
76
+ forProcessing = forProcessing.replace(/\{\{(\w+)}}/g, (_, placeholder) => {
77
+ return replacements[placeholder] ?? `{{key:${placeholder}}}`;
78
+ });
79
+ return forProcessing;
80
+ }
81
+ } catch (e) {
82
+ console.error(e);
83
+ }
84
+ return `{{${usedLanguage}:${key}}}`;
85
+ };
38
86
  };
39
87
 
40
88
  // src/components/user-action/Select.tsx
@@ -371,15 +419,113 @@ var useSearch = ({
371
419
  };
372
420
  };
373
421
 
422
+ // src/localization/defaults/form.ts
423
+ var formTranslation = {
424
+ en: {
425
+ all: "All",
426
+ back: "Back",
427
+ cancel: "Cancel",
428
+ change: "Change",
429
+ clear: "Clear",
430
+ close: "Close",
431
+ confirm: "Confirm",
432
+ decline: "Decline",
433
+ delete: "Delete",
434
+ discard: "Discard",
435
+ discardChanges: "Discard Changes",
436
+ done: "Done",
437
+ edit: "Edit",
438
+ enterText: "Enter text here",
439
+ error: "Error",
440
+ exit: "Exit",
441
+ fieldRequiredError: "This field is required.",
442
+ invalidEmailError: "Please enter a valid email address.",
443
+ less: "Less",
444
+ loading: "Loading",
445
+ maxLengthError: "Maximum length exceeded.",
446
+ minLengthError: "Minimum length not met.",
447
+ more: "More",
448
+ next: "Next",
449
+ no: "No",
450
+ none: "None",
451
+ of: "of",
452
+ optional: "Optional",
453
+ pleaseWait: "Please wait...",
454
+ previous: "Previous",
455
+ remove: "Remove",
456
+ required: "Required",
457
+ reset: "Reset",
458
+ save: "Save",
459
+ search: "Search",
460
+ select: "Select",
461
+ selectOption: "Select an option",
462
+ show: "Show",
463
+ showMore: "Show more",
464
+ showLess: "Show less",
465
+ submit: "Submit",
466
+ success: "Success",
467
+ update: "Update",
468
+ unsavedChanges: "Unsaved Changes",
469
+ unsavedChangesSaveQuestion: "Do you want to save your changes?",
470
+ yes: "Yes"
471
+ },
472
+ de: {
473
+ all: "Alle",
474
+ back: "Zur\xFCck",
475
+ cancel: "Abbrechen",
476
+ change: "\xC4ndern",
477
+ clear: "L\xF6schen",
478
+ close: "Schlie\xDFen",
479
+ confirm: "Best\xE4tigen",
480
+ decline: "Ablehnen",
481
+ delete: "L\xF6schen",
482
+ discard: "Verwerfen",
483
+ discardChanges: "\xC4nderungen Verwerfen",
484
+ done: "Fertig",
485
+ edit: "Bearbeiten",
486
+ enterText: "Text hier eingeben",
487
+ error: "Fehler",
488
+ exit: "Beenden",
489
+ fieldRequiredError: "Dieses Feld ist erforderlich.",
490
+ invalidEmailError: "Bitte geben Sie eine g\xFCltige E-Mail-Adresse ein.",
491
+ less: "Weniger",
492
+ loading: "L\xE4dt",
493
+ maxLengthError: "Maximale L\xE4nge \xFCberschritten.",
494
+ minLengthError: "Mindestl\xE4nge nicht erreicht.",
495
+ more: "Mehr",
496
+ next: "Weiter",
497
+ no: "Nein",
498
+ none: "Nichts",
499
+ of: "von",
500
+ optional: "Optional",
501
+ pleaseWait: "Bitte warten...",
502
+ previous: "Vorherige",
503
+ remove: "Entfernen",
504
+ required: "Erforderlich",
505
+ reset: "Zur\xFCcksetzen",
506
+ save: "Speichern",
507
+ search: "Suche",
508
+ select: "Select",
509
+ selectOption: "Option ausw\xE4hlen",
510
+ show: "Anzeigen",
511
+ showMore: "Mehr anzeigen",
512
+ showLess: "Weniger anzeigen",
513
+ submit: "Abschicken",
514
+ success: "Erfolg",
515
+ update: "Update",
516
+ unsavedChanges: "Ungespeicherte \xC4nderungen",
517
+ unsavedChangesSaveQuestion: "M\xF6chtest du die \xC4nderungen speichern?",
518
+ yes: "Ja"
519
+ }
520
+ };
521
+
374
522
  // src/components/layout-and-navigation/SearchableList.tsx
375
523
  import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
376
524
  var defaultSearchableListTranslation = {
377
525
  en: {
378
- search: "Search",
379
526
  nothingFound: "Nothing found"
380
527
  },
381
528
  de: {
382
- search: "Suche",
383
529
  nothingFound: "Nichts gefunden"
384
530
  }
385
531
  };
@@ -394,7 +540,7 @@ var SearchableList = ({
394
540
  className,
395
541
  resultListClassName
396
542
  }) => {
397
- const translation = useTranslation(defaultSearchableListTranslation, overwriteTranslation);
543
+ const translation = useTranslation([defaultSearchableListTranslation, formTranslation], overwriteTranslation);
398
544
  const { result, hasResult, search, setSearch } = useSearch({ list, initialSearch, searchMapping });
399
545
  return /* @__PURE__ */ jsxs3("div", { className: clsx4("col gap-y-2", className), children: [
400
546
  list.length > minimumItemsForSearch && /* @__PURE__ */ jsxs3("div", { className: "row justify-between gap-x-4 items-center", children: [
@@ -403,14 +549,14 @@ var SearchableList = ({
403
549
  {
404
550
  value: search,
405
551
  onChangeText: setSearch,
406
- placeholder: translation.search,
552
+ placeholder: translation("search"),
407
553
  autoFocus,
408
554
  className: "w-full"
409
555
  }
410
556
  ),
411
557
  /* @__PURE__ */ jsx5(IconButton, { color: "neutral", disabled: search.length === 0, children: /* @__PURE__ */ jsx5(Search, { className: "w-full h-full" }) })
412
558
  ] }),
413
- hasResult ? /* @__PURE__ */ jsx5("div", { className: clsx4("col gap-y-1", resultListClassName), children: result.map(itemMapper) }) : /* @__PURE__ */ jsx5("div", { className: "row text-description py-2 px-2", children: translation.nothingFound })
559
+ hasResult ? /* @__PURE__ */ jsx5("div", { className: clsx4("col gap-y-1", resultListClassName), children: result.map(itemMapper) }) : /* @__PURE__ */ jsx5("div", { className: "row text-description py-2 px-2", children: translation("nothingFound") })
414
560
  ] });
415
561
  };
416
562
 
@@ -526,7 +672,7 @@ var Select = ({
526
672
  "div",
527
673
  {
528
674
  ref: menuRef,
529
- className: "absolute w-full z-10 rounded-lg mt-0.5 bg-menu-background text-menu-text shadow-around-md max-h-[500px] overflow-y-auto p-2",
675
+ className: "absolute w-full z-10 rounded-lg mt-0.5 bg-menu-background text-menu-text shadow-around-lg max-h-[500px] overflow-y-auto p-2",
530
676
  children: /* @__PURE__ */ jsx7(
531
677
  SearchableList,
532
678
  {
@@ -702,10 +848,10 @@ var Overlay = ({
702
848
  var overlayStack = [];
703
849
  var defaultModalHeaderTranslation = {
704
850
  en: {
705
- close: "Close"
851
+ ...formTranslation.en
706
852
  },
707
853
  de: {
708
- close: "Schlie\xDFen"
854
+ ...formTranslation.de
709
855
  }
710
856
  };
711
857
  var OverlayHeader = ({
@@ -716,7 +862,7 @@ var OverlayHeader = ({
716
862
  description,
717
863
  descriptionText = ""
718
864
  }) => {
719
- const translation = useTranslation(defaultModalHeaderTranslation, overwriteTranslation);
865
+ const translation = useTranslation([defaultModalHeaderTranslation], overwriteTranslation);
720
866
  const hasTitleRow = !!title || !!titleText || !!onClose;
721
867
  const titleRow = /* @__PURE__ */ jsxs7("div", { className: "row justify-between items-start gap-x-8", children: [
722
868
  title ?? /* @__PURE__ */ jsx9(
@@ -728,7 +874,7 @@ var OverlayHeader = ({
728
874
  children: titleText
729
875
  }
730
876
  ),
731
- !!onClose && /* @__PURE__ */ jsx9(Tooltip, { tooltip: translation.close, children: /* @__PURE__ */ jsx9(IconButton, { color: "neutral", size: "small", onClick: onClose, children: /* @__PURE__ */ jsx9(X, { className: "w-full h-full" }) }) })
877
+ !!onClose && /* @__PURE__ */ jsx9(Tooltip, { tooltip: translation("close"), children: /* @__PURE__ */ jsx9(IconButton, { color: "neutral", size: "small", onClick: onClose, children: /* @__PURE__ */ jsx9(X, { className: "w-full h-full" }) }) })
732
878
  ] });
733
879
  return /* @__PURE__ */ jsxs7("div", { className: "col", children: [
734
880
  hasTitleRow && titleRow,
@@ -812,14 +958,14 @@ var Modal = ({
812
958
  import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
813
959
  var defaultLanguageModalTranslation = {
814
960
  en: {
815
- title: "Language",
816
- message: "Choose your language",
961
+ language: "Language",
962
+ chooseLanguage: "Choose your language",
817
963
  done: "Done",
818
964
  ...LanguageUtil.languagesLocalNames
819
965
  },
820
966
  de: {
821
- title: "Sprache",
822
- message: "W\xE4hle deine bevorzugte Sprache",
967
+ language: "Sprache",
968
+ chooseLanguage: "W\xE4hle deine bevorzugte Sprache",
823
969
  done: "Fertig",
824
970
  ...LanguageUtil.languagesLocalNames
825
971
  }
@@ -831,14 +977,14 @@ var LanguageModal = ({
831
977
  ...modalProps
832
978
  }) => {
833
979
  const { language, setLanguage } = useLanguage();
834
- const translation = useTranslation(defaultLanguageModalTranslation, overwriteTranslation);
980
+ const translation = useTranslation([defaultLanguageModalTranslation], overwriteTranslation);
835
981
  return /* @__PURE__ */ jsx10(
836
982
  Modal,
837
983
  {
838
984
  headerProps: {
839
985
  ...headerProps,
840
- titleText: headerProps?.titleText ?? translation.title,
841
- descriptionText: headerProps?.descriptionText ?? translation.message
986
+ titleText: headerProps?.titleText ?? translation("language"),
987
+ descriptionText: headerProps?.descriptionText ?? translation("chooseLanguage")
842
988
  },
843
989
  onClose,
844
990
  ...modalProps,
@@ -852,7 +998,7 @@ var LanguageModal = ({
852
998
  onChange: (language2) => setLanguage(language2)
853
999
  }
854
1000
  ),
855
- /* @__PURE__ */ jsx10("div", { className: "row mt-3 gap-x-4 justify-end", children: /* @__PURE__ */ jsx10(SolidButton, { autoFocus: true, color: "positive", onClick: onClose, children: translation.done }) })
1001
+ /* @__PURE__ */ jsx10("div", { className: "row mt-3 gap-x-4 justify-end", children: /* @__PURE__ */ jsx10(SolidButton, { autoFocus: true, color: "positive", onClick: onClose, children: translation("done") }) })
856
1002
  ] })
857
1003
  }
858
1004
  );