@limetech/lime-elements 40.2.4 → 40.2.5

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 (130) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/language-CaqPKPyW.js +28 -0
  3. package/dist/cjs/limel-action-bar_3.cjs.entry.js +2 -1
  4. package/dist/cjs/limel-ai-avatar.cjs.entry.js +2 -1
  5. package/dist/cjs/limel-callout.cjs.entry.js +2 -1
  6. package/dist/cjs/limel-chart.cjs.entry.js +2 -1
  7. package/dist/cjs/limel-chip-set.cjs.entry.js +3 -2
  8. package/dist/cjs/limel-chip_2.cjs.entry.js +3 -2
  9. package/dist/cjs/limel-code-diff.cjs.entry.js +3 -2
  10. package/dist/cjs/limel-code-editor.cjs.entry.js +2 -1
  11. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -1
  12. package/dist/cjs/limel-date-picker.cjs.entry.js +4 -2
  13. package/dist/cjs/limel-drag-handle.cjs.entry.js +2 -1
  14. package/dist/cjs/limel-email-viewer.cjs.entry.js +2 -1
  15. package/dist/cjs/limel-file-viewer.cjs.entry.js +2 -1
  16. package/dist/cjs/limel-file.cjs.entry.js +2 -1
  17. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +10 -7
  18. package/dist/cjs/limel-list-item.cjs.entry.js +2 -1
  19. package/dist/cjs/limel-picker.cjs.entry.js +2 -1
  20. package/dist/cjs/limel-profile-picture.cjs.entry.js +2 -1
  21. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +4 -3
  22. package/dist/cjs/limel-slider.cjs.entry.js +2 -1
  23. package/dist/cjs/limel-snackbar.cjs.entry.js +2 -1
  24. package/dist/cjs/limel-table.cjs.entry.js +2 -1
  25. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +2 -1
  26. package/dist/cjs/{translations-Do_D3pxu.js → translations-ZgjCRtut.js} +19 -7
  27. package/dist/collection/components/chip/chip.js +1 -1
  28. package/dist/collection/components/chip-set/chip-set.js +1 -1
  29. package/dist/collection/components/code-diff/code-diff.js +1 -1
  30. package/dist/collection/components/date-picker/date-formatter.js +4 -2
  31. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +2 -2
  32. package/dist/collection/components/date-picker/pickers/picker.js +7 -4
  33. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +2 -2
  34. package/dist/collection/global/translations.js +10 -7
  35. package/dist/collection/translations/da.js +1 -0
  36. package/dist/collection/translations/de.js +1 -0
  37. package/dist/collection/translations/en.js +1 -0
  38. package/dist/collection/translations/fi.js +1 -0
  39. package/dist/collection/translations/fr.js +1 -0
  40. package/dist/collection/translations/nl.js +1 -0
  41. package/dist/collection/translations/no.js +1 -0
  42. package/dist/collection/translations/sv.js +1 -0
  43. package/dist/collection/util/language.js +24 -0
  44. package/dist/esm/language-C3hECvXE.js +26 -0
  45. package/dist/esm/limel-action-bar_3.entry.js +2 -1
  46. package/dist/esm/limel-ai-avatar.entry.js +2 -1
  47. package/dist/esm/limel-callout.entry.js +2 -1
  48. package/dist/esm/limel-chart.entry.js +2 -1
  49. package/dist/esm/limel-chip-set.entry.js +3 -2
  50. package/dist/esm/limel-chip_2.entry.js +3 -2
  51. package/dist/esm/limel-code-diff.entry.js +3 -2
  52. package/dist/esm/limel-code-editor.entry.js +2 -1
  53. package/dist/esm/limel-collapsible-section.entry.js +2 -1
  54. package/dist/esm/limel-date-picker.entry.js +4 -2
  55. package/dist/esm/limel-drag-handle.entry.js +2 -1
  56. package/dist/esm/limel-email-viewer.entry.js +2 -1
  57. package/dist/esm/limel-file-viewer.entry.js +2 -1
  58. package/dist/esm/limel-file.entry.js +2 -1
  59. package/dist/esm/limel-flatpickr-adapter.entry.js +10 -7
  60. package/dist/esm/limel-list-item.entry.js +2 -1
  61. package/dist/esm/limel-picker.entry.js +2 -1
  62. package/dist/esm/limel-profile-picture.entry.js +2 -1
  63. package/dist/esm/limel-prosemirror-adapter.entry.js +4 -3
  64. package/dist/esm/limel-slider.entry.js +2 -1
  65. package/dist/esm/limel-snackbar.entry.js +2 -1
  66. package/dist/esm/limel-table.entry.js +2 -1
  67. package/dist/esm/limel-text-editor-link-menu.entry.js +2 -1
  68. package/dist/esm/{translations-DgqE77nk.js → translations-CPFNSfWw.js} +19 -7
  69. package/dist/lime-elements/lime-elements.esm.js +1 -1
  70. package/dist/lime-elements/p-057356b0.entry.js +1 -0
  71. package/dist/lime-elements/p-09036073.entry.js +1 -0
  72. package/dist/lime-elements/p-0a46959b.entry.js +1 -0
  73. package/dist/lime-elements/p-15bedc64.entry.js +1 -0
  74. package/dist/lime-elements/p-20297168.entry.js +1 -0
  75. package/dist/lime-elements/p-24354198.entry.js +1 -0
  76. package/dist/lime-elements/p-2ad8eed9.entry.js +1 -0
  77. package/dist/lime-elements/p-3b052fff.entry.js +1 -0
  78. package/dist/lime-elements/p-4682ddb0.entry.js +1 -0
  79. package/dist/lime-elements/p-46bcdf3c.entry.js +1 -0
  80. package/dist/lime-elements/p-4b91d2c3.entry.js +1 -0
  81. package/dist/lime-elements/p-715cc741.entry.js +1 -0
  82. package/dist/lime-elements/p-88e40db2.entry.js +1 -0
  83. package/dist/lime-elements/p-93df903a.entry.js +1 -0
  84. package/dist/lime-elements/p-94191814.entry.js +16 -0
  85. package/dist/lime-elements/p-943e708f.entry.js +1 -0
  86. package/dist/lime-elements/p-9c2b3cf4.entry.js +1 -0
  87. package/dist/lime-elements/p-C3hECvXE.js +1 -0
  88. package/dist/lime-elements/p-Dhnynzqz.js +1 -0
  89. package/dist/lime-elements/p-ab0c7eeb.entry.js +1 -0
  90. package/dist/lime-elements/p-abf3dce5.entry.js +1 -0
  91. package/dist/lime-elements/p-ccb77bcf.entry.js +1 -0
  92. package/dist/lime-elements/p-d70c53ae.entry.js +1 -0
  93. package/dist/lime-elements/p-d79ee300.entry.js +1 -0
  94. package/dist/lime-elements/p-d873e490.entry.js +1 -0
  95. package/dist/types/components/date-picker/date.types.d.ts +5 -0
  96. package/dist/types/global/translations.d.ts +1 -0
  97. package/dist/types/translations/da.d.ts +1 -0
  98. package/dist/types/translations/de.d.ts +1 -0
  99. package/dist/types/translations/en.d.ts +1 -0
  100. package/dist/types/translations/fi.d.ts +1 -0
  101. package/dist/types/translations/fr.d.ts +1 -0
  102. package/dist/types/translations/nl.d.ts +1 -0
  103. package/dist/types/translations/no.d.ts +1 -0
  104. package/dist/types/translations/sv.d.ts +1 -0
  105. package/dist/types/util/language.d.ts +20 -0
  106. package/package.json +1 -1
  107. package/dist/lime-elements/p-056ba5c5.entry.js +0 -1
  108. package/dist/lime-elements/p-3ac35da4.entry.js +0 -1
  109. package/dist/lime-elements/p-3e316685.entry.js +0 -1
  110. package/dist/lime-elements/p-565f688a.entry.js +0 -1
  111. package/dist/lime-elements/p-5dde5d72.entry.js +0 -1
  112. package/dist/lime-elements/p-62a25deb.entry.js +0 -1
  113. package/dist/lime-elements/p-6c826c25.entry.js +0 -1
  114. package/dist/lime-elements/p-73d9f0f6.entry.js +0 -1
  115. package/dist/lime-elements/p-83bdbaf7.entry.js +0 -1
  116. package/dist/lime-elements/p-8b3b7505.entry.js +0 -1
  117. package/dist/lime-elements/p-8c3798ee.entry.js +0 -1
  118. package/dist/lime-elements/p-8cf79fa1.entry.js +0 -1
  119. package/dist/lime-elements/p-DgqE77nk.js +0 -1
  120. package/dist/lime-elements/p-a6500046.entry.js +0 -1
  121. package/dist/lime-elements/p-b04c6602.entry.js +0 -1
  122. package/dist/lime-elements/p-b4b43404.entry.js +0 -1
  123. package/dist/lime-elements/p-b6528083.entry.js +0 -1
  124. package/dist/lime-elements/p-cafebc7d.entry.js +0 -1
  125. package/dist/lime-elements/p-dda63b8b.entry.js +0 -1
  126. package/dist/lime-elements/p-e8783848.entry.js +0 -1
  127. package/dist/lime-elements/p-ed53466d.entry.js +0 -1
  128. package/dist/lime-elements/p-eeddce38.entry.js +0 -16
  129. package/dist/lime-elements/p-f2294e26.entry.js +0 -1
  130. package/dist/lime-elements/p-f53d8bda.entry.js +0 -1
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var language = require('./language-CaqPKPyW.js');
4
+
3
5
  var da = {
4
6
  'clear-value': 'Ryd værdi',
5
7
  'clear-value-of': 'Ryd værdien for { label }',
@@ -71,6 +73,7 @@ Du kan fortsætte med at blokere billeder (e-mailen kan se ufuldstændig ud) ell
71
73
  'editor-link-menu.link': 'Link',
72
74
  'editor-menu.code-block': 'Kodeblok',
73
75
  'editor-menu.code': 'Kode',
76
+ 'editor-menu.toolbar': 'Værktøjslinje',
74
77
  'editor-image-view.loading': 'Indlæser billede: { filename }...',
75
78
  'editor-image-view.failed': 'Noget gik galt med billede: { filename }',
76
79
  'editor-image-view.success': 'Billede: { filename } er klar',
@@ -192,6 +195,7 @@ Sie können Bilder weiterhin blockieren (die E-Mail kann unvollständig aussehen
192
195
  'editor-link-menu.link': 'Link',
193
196
  'editor-menu.code-block': 'Codeblock',
194
197
  'editor-menu.code': 'Code',
198
+ 'editor-menu.toolbar': 'Symbolleiste',
195
199
  'editor-image-view.loading': 'Lade Bild: { filename }...',
196
200
  'editor-image-view.failed': 'Beim Laden des Bildes ist etwas schief gelaufen: { filename }',
197
201
  'editor-image-view.success': 'Bild: { filename } ist bereit',
@@ -313,6 +317,7 @@ You can keep images blocked (the email may look incomplete), or load them if you
313
317
  'editor-link-menu.link': 'Link',
314
318
  'editor-menu.code-block': 'Code block',
315
319
  'editor-menu.code': 'Code',
320
+ 'editor-menu.toolbar': 'Toolbar',
316
321
  'editor-image-view.loading': 'Loading image: { filename }...',
317
322
  'editor-image-view.failed': 'Something went wrong with image: { filename }',
318
323
  'editor-image-view.success': 'Image: { filename } is ready',
@@ -434,6 +439,7 @@ Voit pitää kuvat estettyinä (sähköposti voi näyttää puutteelliselta) tai
434
439
  'editor-link-menu.link': 'Linkki',
435
440
  'editor-menu.code-block': 'Koodilohko',
436
441
  'editor-menu.code': 'Koodi',
442
+ 'editor-menu.toolbar': 'Työkalurivi',
437
443
  'editor-image-view.loading': 'Ladataan kuvaa: { filename }...',
438
444
  'editor-image-view.failed': 'Jokin meni pieleen kuvan kanssa: { filename }',
439
445
  'editor-image-view.success': 'Kuva: { filename } on valmis',
@@ -555,6 +561,7 @@ Vous pouvez laisser les images bloquées (l'e-mail peut sembler incomplet) ou le
555
561
  'editor-link-menu.link': 'Lien',
556
562
  'editor-menu.code-block': 'Bloc de code',
557
563
  'editor-menu.code': 'Code',
564
+ 'editor-menu.toolbar': "Barre d'outils",
558
565
  'editor-image-view.loading': "Chargement de l'image: { filename }...",
559
566
  'editor-image-view.failed': "Un problème est survenu avec l'image: { filename }",
560
567
  'editor-image-view.success': 'Image: { filename } est prête',
@@ -676,6 +683,7 @@ Je kunt afbeeldingen geblokkeerd houden (de e-mail kan er onvolledig uitzien) of
676
683
  'editor-link-menu.link': 'Link',
677
684
  'editor-menu.code-block': 'Codeblok',
678
685
  'editor-menu.code': 'Code',
686
+ 'editor-menu.toolbar': 'Werkbalk',
679
687
  'editor-image-view.loading': 'Afbeelding wordt geladen: { filename }...',
680
688
  'editor-image-view.failed': 'Er is iets misgegaan met de afbeelding: { filename }',
681
689
  'editor-image-view.success': 'Afbeelding: { filename } is klaar',
@@ -796,6 +804,7 @@ Du kan fortsette å blokkere bilder (e-posten kan se ufullstendig ut), eller las
796
804
  'editor-link-menu.link': 'Lenke',
797
805
  'editor-menu.code-block': 'Kodeblokk',
798
806
  'editor-menu.code': 'Kode',
807
+ 'editor-menu.toolbar': 'Verktøylinje',
799
808
  'editor-image-view.loading': 'Laster bilde: { filename }...',
800
809
  'editor-image-view.failed': 'Noe gikk galt med bildet: { filename }',
801
810
  'editor-image-view.success': 'Bilde: { filename } er klart',
@@ -918,6 +927,7 @@ Du kan fortsätta blockera bilder (e-posten kan se ofullständig ut) eller ladda
918
927
  'editor-link-menu.link': 'Länk',
919
928
  'editor-menu.code-block': 'Kodblock',
920
929
  'editor-menu.code': 'Kod',
930
+ 'editor-menu.toolbar': 'Verktygsfält',
921
931
  'editor-image-view.loading': 'Laddar bilden: { filename }...',
922
932
  'editor-image-view.failed': 'Något gick fel med bilden: { filename }',
923
933
  'editor-image-view.success': 'Bilden: { filename } är redo',
@@ -982,15 +992,11 @@ const allTranslations = {
982
992
  const REGEX = /\{\s*(\w+)\s*\}/g;
983
993
  class Translations {
984
994
  get(key, language = 'en', params) {
985
- var _a, _b;
986
- // Fall back to English when the requested language has no translations.
987
- // The `language` props are typed, but a custom element takes whatever
988
- // string an attribute carries, so an unknown language must never make a
989
- // component throw.
990
- const languageTranslations = (_a = allTranslations[language]) !== null && _a !== void 0 ? _a : allTranslations.en;
995
+ var _a;
996
+ const languageTranslations = this.getTranslationsFor(language);
991
997
  // Fall back per key as well: a mapped language whose file is missing
992
998
  // this one key would otherwise render the key itself as UI text.
993
- const translation = (_b = languageTranslations[key]) !== null && _b !== void 0 ? _b : allTranslations.en[key];
999
+ const translation = (_a = languageTranslations[key]) !== null && _a !== void 0 ? _a : allTranslations.en[key];
994
1000
  if (!translation) {
995
1001
  return key;
996
1002
  }
@@ -1002,6 +1008,12 @@ class Translations {
1002
1008
  return String((_a = params === null || params === void 0 ? void 0 : params[mergeCodeKey]) !== null && _a !== void 0 ? _a : match);
1003
1009
  });
1004
1010
  }
1011
+ getTranslationsFor(language$1) {
1012
+ var _a, _b;
1013
+ // Retry on the primary subtag, so that a full BCP 47 tag resolves.
1014
+ // An unknown language must never make a component throw.
1015
+ return ((_b = (_a = allTranslations[language$1]) !== null && _a !== void 0 ? _a : allTranslations[language.getPrimarySubtag(language$1)]) !== null && _b !== void 0 ? _b : allTranslations.en);
1016
+ }
1005
1017
  }
1006
1018
  const translations = new Translations();
1007
1019
  var translate = (() => {
@@ -240,7 +240,7 @@ export class Chip {
240
240
  if (!this.loading) {
241
241
  return;
242
242
  }
243
- return h("limel-linear-progress", { indeterminate: true });
243
+ return (h("limel-linear-progress", { indeterminate: true, language: this.language }));
244
244
  }
245
245
  renderProgressBar() {
246
246
  if (!this.progress) {
@@ -434,7 +434,7 @@ export class ChipSet {
434
434
  getChipProps(chip, chipType) {
435
435
  const removable = this.type === 'input' && chip.removable !== false && !this.readonly;
436
436
  const readonly = this.readonly && this.type !== 'input';
437
- return Object.assign({ role: 'row', identifier: chip.id, text: chip.text, icon: chip.icon, image: chip.image, badge: chip.badge, selected: chip.selected, disabled: this.disabled, loading: chip.loading, progress: chip.progress, invalid: chip.invalid, readonly: readonly, type: chipType, removable: removable, menuItems: chip.menuItems, onClick: this.catchInputChipClicks(chip), onRemove: this.handleRemoveChip }, (chip.href && {
437
+ return Object.assign({ role: 'row', identifier: chip.id, text: chip.text, icon: chip.icon, image: chip.image, badge: chip.badge, selected: chip.selected, disabled: this.disabled, loading: chip.loading, progress: chip.progress, invalid: chip.invalid, readonly: readonly, type: chipType, removable: removable, menuItems: chip.menuItems, language: this.language, onClick: this.catchInputChipClicks(chip), onRemove: this.handleRemoveChip }, (chip.href && {
438
438
  link: {
439
439
  href: getHref(chip.href),
440
440
  target: getTarget(chip.href),
@@ -245,7 +245,7 @@ export class CodeDiff {
245
245
  current: this.currentMatchIndex + 1,
246
246
  total: this.totalSearchMatches,
247
247
  });
248
- return (h("div", { class: "search-bar" }, h("limel-input-field", { class: "search-bar__input", type: "search", placeholder: this.getTranslation('code-diff.search') + '…', value: this.searchTerm, onChange: (e) => this.onSearchInput(e), onKeyDown: (e) => this.onSearchKeyDown(e), ref: (el) => (this.searchInputEl = el) }), h("span", { class: "search-bar__count" }, matchInfo), h("limel-action-bar", { actions: this.getSearchActions(), onItemSelected: (e) => this.onSearchAction(e) })));
248
+ return (h("div", { class: "search-bar" }, h("limel-input-field", { class: "search-bar__input", type: "search", placeholder: this.getTranslation('code-diff.search') + '…', value: this.searchTerm, onChange: (e) => this.onSearchInput(e), onKeyDown: (e) => this.onSearchKeyDown(e), ref: (el) => (this.searchInputEl = el) }), h("span", { class: "search-bar__count" }, matchInfo), h("limel-action-bar", { actions: this.getSearchActions(), language: this.translationLanguage, onItemSelected: (e) => this.onSearchAction(e) })));
249
249
  }
250
250
  toggleSearch() {
251
251
  this.searchVisible = !this.searchVisible;
@@ -6,6 +6,7 @@ import "moment/locale/nb";
6
6
  import "moment/locale/nl";
7
7
  import "moment/locale/sv";
8
8
  import moment from "moment/moment";
9
+ import { getPrimarySubtag } from "../../util/language";
9
10
  export class DateFormatter {
10
11
  constructor(language = 'en') {
11
12
  this.language = language;
@@ -23,10 +24,11 @@ export class DateFormatter {
23
24
  return null;
24
25
  }
25
26
  getLanguage() {
26
- if (this.language === 'no') {
27
+ const language = getPrimarySubtag(this.language);
28
+ if (language === 'no') {
27
29
  return 'nb';
28
30
  }
29
- return this.language;
31
+ return language;
30
32
  }
31
33
  getDateFormat(type) {
32
34
  return ({
@@ -96,8 +96,8 @@ export class DatePickerCalendar {
96
96
  });
97
97
  }
98
98
  render() {
99
- return (h("div", { key: '84520ade591db0e5be9b730765d2fb0b381cac40', class: "container", ref: (el) => (this.container = el), style: {
100
- '--today-label': `"${translate.get('date-picker.today')}"`,
99
+ return (h("div", { key: 'fd9845319e7c8bcc5b1621666c0d89d4b7e99fe4', class: "container", ref: (el) => (this.container = el), style: {
100
+ '--today-label': `"${translate.get('date-picker.today', this.language)}"`,
101
101
  } }));
102
102
  }
103
103
  static get is() { return "limel-flatpickr-adapter"; }
@@ -9,6 +9,7 @@ import "moment/locale/nl";
9
9
  import "moment/locale/sv";
10
10
  import moment from "moment/moment";
11
11
  import { isAndroidDevice, isIOSDevice } from "../../../util/device";
12
+ import { getPrimarySubtag } from "../../../util/language";
12
13
  const ARIA_DATE_FORMAT = 'F j, Y';
13
14
  export class Picker {
14
15
  constructor(language, change, dateFormat) {
@@ -60,16 +61,18 @@ export class Picker {
60
61
  });
61
62
  }
62
63
  getFlatpickrLang() {
63
- if (this.language === 'nb') {
64
+ const language = getPrimarySubtag(this.language);
65
+ if (language === 'nb') {
64
66
  return 'no';
65
67
  }
66
- return this.language;
68
+ return language;
67
69
  }
68
70
  getMomentLang() {
69
- if (this.language === 'no') {
71
+ const language = getPrimarySubtag(this.language);
72
+ if (language === 'no') {
70
73
  return 'nb';
71
74
  }
72
- return this.language;
75
+ return language;
73
76
  }
74
77
  getPickerDate(selectedDates) {
75
78
  return selectedDates[0] ? new Date(selectedDates[0].toJSON()) : null;
@@ -309,13 +309,13 @@ export class ProsemirrorAdapter {
309
309
  if (this.actionBarItems.length === 0 || this.ui === 'no-toolbar') {
310
310
  return;
311
311
  }
312
- return (h("div", { class: "toolbar" }, h("limel-action-bar", { ref: (el) => (this.actionBarElement = el), accessibleLabel: "Toolbar", actions: this.actionBarItems, onItemSelected: this.handleActionBarItem })));
312
+ return (h("div", { class: "toolbar" }, h("limel-action-bar", { ref: (el) => (this.actionBarElement = el), accessibleLabel: translate.get('editor-menu.toolbar', this.language), actions: this.actionBarItems, onItemSelected: this.handleActionBarItem })));
313
313
  }
314
314
  renderLinkMenu() {
315
315
  if (!this.isLinkMenuOpen) {
316
316
  return;
317
317
  }
318
- return (h("limel-portal", { containerId: this.portalId, visible: this.isLinkMenuOpen, openDirection: "top", inheritParentWidth: true, anchor: this.actionBarElement }, h("limel-text-editor-link-menu", { link: this.link, isOpen: this.isLinkMenuOpen, onLinkChange: this.handleLinkChange, onCancel: this.handleCancelLinkMenu, onSave: this.handleSaveLinkMenu })));
318
+ return (h("limel-portal", { containerId: this.portalId, visible: this.isLinkMenuOpen, openDirection: "top", inheritParentWidth: true, anchor: this.actionBarElement }, h("limel-text-editor-link-menu", { language: this.language, link: this.link, isOpen: this.isLinkMenuOpen, onLinkChange: this.handleLinkChange, onCancel: this.handleCancelLinkMenu, onSave: this.handleSaveLinkMenu })));
319
319
  }
320
320
  validateInlineImages() {
321
321
  const config = this.inlineImages;
@@ -1,3 +1,4 @@
1
+ import { getPrimarySubtag } from "../util/language";
1
2
  import da from "../translations/da";
2
3
  import de from "../translations/de";
3
4
  import en from "../translations/en";
@@ -20,15 +21,11 @@ const allTranslations = {
20
21
  const REGEX = /\{\s*(\w+)\s*\}/g;
21
22
  export class Translations {
22
23
  get(key, language = 'en', params) {
23
- var _a, _b;
24
- // Fall back to English when the requested language has no translations.
25
- // The `language` props are typed, but a custom element takes whatever
26
- // string an attribute carries, so an unknown language must never make a
27
- // component throw.
28
- const languageTranslations = (_a = allTranslations[language]) !== null && _a !== void 0 ? _a : allTranslations.en;
24
+ var _a;
25
+ const languageTranslations = this.getTranslationsFor(language);
29
26
  // Fall back per key as well: a mapped language whose file is missing
30
27
  // this one key would otherwise render the key itself as UI text.
31
- const translation = (_b = languageTranslations[key]) !== null && _b !== void 0 ? _b : allTranslations.en[key];
28
+ const translation = (_a = languageTranslations[key]) !== null && _a !== void 0 ? _a : allTranslations.en[key];
32
29
  if (!translation) {
33
30
  return key;
34
31
  }
@@ -40,6 +37,12 @@ export class Translations {
40
37
  return String((_a = params === null || params === void 0 ? void 0 : params[mergeCodeKey]) !== null && _a !== void 0 ? _a : match);
41
38
  });
42
39
  }
40
+ getTranslationsFor(language) {
41
+ var _a, _b;
42
+ // Retry on the primary subtag, so that a full BCP 47 tag resolves.
43
+ // An unknown language must never make a component throw.
44
+ return ((_b = (_a = allTranslations[language]) !== null && _a !== void 0 ? _a : allTranslations[getPrimarySubtag(language)]) !== null && _b !== void 0 ? _b : allTranslations.en);
45
+ }
43
46
  }
44
47
  const translations = new Translations();
45
48
  export default (() => {
@@ -69,6 +69,7 @@ Du kan fortsætte med at blokere billeder (e-mailen kan se ufuldstændig ud) ell
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Kodeblok',
71
71
  'editor-menu.code': 'Kode',
72
+ 'editor-menu.toolbar': 'Værktøjslinje',
72
73
  'editor-image-view.loading': 'Indlæser billede: { filename }...',
73
74
  'editor-image-view.failed': 'Noget gik galt med billede: { filename }',
74
75
  'editor-image-view.success': 'Billede: { filename } er klar',
@@ -69,6 +69,7 @@ Sie können Bilder weiterhin blockieren (die E-Mail kann unvollständig aussehen
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Codeblock',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': 'Symbolleiste',
72
73
  'editor-image-view.loading': 'Lade Bild: { filename }...',
73
74
  'editor-image-view.failed': 'Beim Laden des Bildes ist etwas schief gelaufen: { filename }',
74
75
  'editor-image-view.success': 'Bild: { filename } ist bereit',
@@ -69,6 +69,7 @@ You can keep images blocked (the email may look incomplete), or load them if you
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Code block',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': 'Toolbar',
72
73
  'editor-image-view.loading': 'Loading image: { filename }...',
73
74
  'editor-image-view.failed': 'Something went wrong with image: { filename }',
74
75
  'editor-image-view.success': 'Image: { filename } is ready',
@@ -69,6 +69,7 @@ Voit pitää kuvat estettyinä (sähköposti voi näyttää puutteelliselta) tai
69
69
  'editor-link-menu.link': 'Linkki',
70
70
  'editor-menu.code-block': 'Koodilohko',
71
71
  'editor-menu.code': 'Koodi',
72
+ 'editor-menu.toolbar': 'Työkalurivi',
72
73
  'editor-image-view.loading': 'Ladataan kuvaa: { filename }...',
73
74
  'editor-image-view.failed': 'Jokin meni pieleen kuvan kanssa: { filename }',
74
75
  'editor-image-view.success': 'Kuva: { filename } on valmis',
@@ -69,6 +69,7 @@ Vous pouvez laisser les images bloquées (l'e-mail peut sembler incomplet) ou le
69
69
  'editor-link-menu.link': 'Lien',
70
70
  'editor-menu.code-block': 'Bloc de code',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': "Barre d'outils",
72
73
  'editor-image-view.loading': "Chargement de l'image: { filename }...",
73
74
  'editor-image-view.failed': "Un problème est survenu avec l'image: { filename }",
74
75
  'editor-image-view.success': 'Image: { filename } est prête',
@@ -69,6 +69,7 @@ Je kunt afbeeldingen geblokkeerd houden (de e-mail kan er onvolledig uitzien) of
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Codeblok',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': 'Werkbalk',
72
73
  'editor-image-view.loading': 'Afbeelding wordt geladen: { filename }...',
73
74
  'editor-image-view.failed': 'Er is iets misgegaan met de afbeelding: { filename }',
74
75
  'editor-image-view.success': 'Afbeelding: { filename } is klaar',
@@ -68,6 +68,7 @@ Du kan fortsette å blokkere bilder (e-posten kan se ufullstendig ut), eller las
68
68
  'editor-link-menu.link': 'Lenke',
69
69
  'editor-menu.code-block': 'Kodeblokk',
70
70
  'editor-menu.code': 'Kode',
71
+ 'editor-menu.toolbar': 'Verktøylinje',
71
72
  'editor-image-view.loading': 'Laster bilde: { filename }...',
72
73
  'editor-image-view.failed': 'Noe gikk galt med bildet: { filename }',
73
74
  'editor-image-view.success': 'Bilde: { filename } er klart',
@@ -69,6 +69,7 @@ Du kan fortsätta blockera bilder (e-posten kan se ofullständig ut) eller ladda
69
69
  'editor-link-menu.link': 'Länk',
70
70
  'editor-menu.code-block': 'Kodblock',
71
71
  'editor-menu.code': 'Kod',
72
+ 'editor-menu.toolbar': 'Verktygsfält',
72
73
  'editor-image-view.loading': 'Laddar bilden: { filename }...',
73
74
  'editor-image-view.failed': 'Något gick fel med bilden: { filename }',
74
75
  'editor-image-view.success': 'Bilden: { filename } är redo',
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Reduce a language to the primary subtag that our language maps are keyed by.
3
+ *
4
+ * A `language` prop is typed, but a custom element takes whatever string an
5
+ * attribute carries — commonly a full BCP 47 tag such as `nb-NO`, since a host
6
+ * application often derives the language from `document.documentElement.lang`.
7
+ * Anything that is not a string must resolve rather than throw, so that an
8
+ * unexpected value can never break a component's render.
9
+ *
10
+ * Examples:
11
+ * - "nb" => "nb"
12
+ * - "nb-NO" => "nb"
13
+ * - "SV-SE" => "sv"
14
+ * - undefined => ""
15
+ *
16
+ * @param language - the language to reduce
17
+ * @returns the lower-cased primary subtag, or an empty string
18
+ */
19
+ export function getPrimarySubtag(language) {
20
+ if (typeof language !== 'string') {
21
+ return '';
22
+ }
23
+ return language.toLowerCase().split('-')[0];
24
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Reduce a language to the primary subtag that our language maps are keyed by.
3
+ *
4
+ * A `language` prop is typed, but a custom element takes whatever string an
5
+ * attribute carries — commonly a full BCP 47 tag such as `nb-NO`, since a host
6
+ * application often derives the language from `document.documentElement.lang`.
7
+ * Anything that is not a string must resolve rather than throw, so that an
8
+ * unexpected value can never break a component's render.
9
+ *
10
+ * Examples:
11
+ * - "nb" => "nb"
12
+ * - "nb-NO" => "nb"
13
+ * - "SV-SE" => "sv"
14
+ * - undefined => ""
15
+ *
16
+ * @param language - the language to reduce
17
+ * @returns the lower-cased primary subtag, or an empty string
18
+ */
19
+ function getPrimarySubtag(language) {
20
+ if (typeof language !== 'string') {
21
+ return '';
22
+ }
23
+ return language.toLowerCase().split('-')[0];
24
+ }
25
+
26
+ export { getPrimarySubtag as g };
@@ -1,9 +1,10 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BGxJfR2f.js';
2
- import { t as translate } from './translations-DgqE77nk.js';
2
+ import { t as translate } from './translations-CPFNSfWw.js';
3
3
  import { i as isItem } from './is-item-CrvUOVvg.js';
4
4
  import { c as createRandomString } from './random-string-JbKhhoXs.js';
5
5
  import { m as makeEnterClickable, r as removeEnterClickable } from './make-enter-clickable-BgTwPGeH.js';
6
6
  import { b as getIconColor, d as getIconTitle, g as getIconName } from './get-icon-props-CgNJbSP4.js';
7
+ import './language-C3hECvXE.js';
7
8
 
8
9
  const actionBarCss = () => `:host(limel-action-bar){--action-bar-item-height:2rem;--limel-action-bar-item-text-color:var( --action-bar-item-text-color, rgb(var(--contrast-1100)) );--limel-action-bar-background-color:var( --action-bar-background-color, rgb(var(--contrast-100)) );box-sizing:border-box;display:inline-flex;align-items:center;padding:0.125rem 0.25rem;max-width:100%;border-radius:var(--action-bar-border-radius);background-color:var(--limel-action-bar-background-color)}:host(limel-action-bar),.items{gap:0.25rem}@media (pointer: coarse){:host(limel-action-bar),.items{gap:0.5rem}}.items{display:inline-flex;max-width:100%;min-width:0}:host(limel-action-bar.is-full-width){width:100%}:host(limel-action-bar.is-floating){--action-bar-border-radius:100vw;padding-right:0.125rem;padding-left:0.125rem;max-width:calc(100% - 2rem);box-shadow:var(--shadow-brighten-edges-inside), var(--shadow-depth-16), var(--shadow-depth-8)}`;
9
10
 
@@ -1,5 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-BGxJfR2f.js';
2
- import { t as translate } from './translations-DgqE77nk.js';
2
+ import { t as translate } from './translations-CPFNSfWw.js';
3
+ import './language-C3hECvXE.js';
3
4
 
4
5
  const aiAvatarCss = () => `@charset "UTF-8";:host(limel-ai-avatar){display:inline-flex;justify-content:center;align-items:center;position:relative;aspect-ratio:1;max-width:20rem;max-height:20rem;min-width:1.75rem;min-height:1.75rem;content-visibility:auto;contain-intrinsic-size:auto 5rem}*{box-sizing:border-box}svg{display:block;width:100%;height:100%;overflow:visible}svg.variant-minimal{--limel-ai-avatar-stars-eyes-mouth-color:rgb(var(--contrast-100))}svg.variant-outlined{--limel-ai-avatar-stars-eyes-mouth-color:currentColor}svg.variant-detailed .dark-ball,svg.variant-detailed .light-ball{opacity:0.8}.variant-detailed .variant-minimal-body,.variant-detailed .variant-solid-body{display:none}.variant-minimal .ring-group{display:none}.variant-minimal .variant-detailed-body,.variant-minimal .variant-solid-body{display:none}.variant-solid .ring-group,.variant-outlined .ring-group{display:none}.variant-solid .variant-detailed-body,.variant-solid .variant-minimal-body,.variant-outlined .variant-detailed-body,.variant-outlined .variant-minimal-body{display:none}.variant-solid .outer-ring,.variant-outlined .outer-ring{fill:none;stroke:currentColor;stroke-width:31}.variant-solid .typing-ellipsis .circle,.variant-outlined .typing-ellipsis .circle{fill:currentColor;--limel-ai-avatar-typing-dot-flash-color:currentColor}.variant-solid .dark-ball{fill:currentColor}.variant-outlined .dark-ball{fill:none;stroke:currentColor;stroke-width:15}.variant-minimal .glow-minimal{opacity:0;transform:scale(0.9)}.variant-minimal .light-ball{opacity:0}.eye{transform-origin:298px 360px;transition:transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);will-change:transform, rotate}.mouth{transform-origin:379px 457px;opacity:0;transform:scale(0.2);transition:transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 300ms ease;will-change:transform, opacity}.eye-left{transform:translate(48px, 34px) scale(1.48)}.eye-right{transform:translate(152px, -74px) scale(0.66)}.glow-minimal,.light-ball{transition:transform 1s ease, opacity 300ms ease;will-change:transform, opacity;transform-origin:370px 370px;transform-box:view-box}.outer-ring,.ring,.glow,.glow-minimal{transform-origin:370px 370px;transform-box:view-box}.outer-ring{transform:scale(0.9);opacity:0;transition:opacity 600ms ease, transform 700ms cubic-bezier(0.55, 0.3, 0.22, 1.54)}.ring,.glow{scale:0.95;opacity:0;transition:opacity 600ms ease}svg:hover .outer-ring{opacity:0.9;transform:scale(1)}svg:hover .ring,svg:hover .glow{opacity:0.5}.mode-active .eye-left,.mode-thinking .eye-left,.mode-typing .eye-left,.mode-waiting .eye-left{transform:translate(0) scale(0.96)}.mode-active .eye-right,.mode-thinking .eye-right,.mode-typing .eye-right,.mode-waiting .eye-right{transform:translate(156px, -20px) scale(0.8)}.mode-active .mouth,.mode-thinking .mouth,.mode-typing .mouth,.mode-waiting .mouth{opacity:1;transform:scale(1)}.mode-active.variant-minimal .light-ball,.mode-thinking.variant-minimal .light-ball,.mode-typing.variant-minimal .light-ball,.mode-waiting.variant-minimal .light-ball{opacity:0.16}.mode-active .eye,.mode-thinking .eye,.mode-waiting .eye{animation:ai-avatar-blink 4.5s ease-in-out infinite}.mode-thinking .eye-left{animation:ai-avatar-blink 4.5s ease-in-out infinite, ai-avatar-look-around-left-eye 9s ease-in-out infinite}.mode-thinking .eye-right{animation:ai-avatar-blink 4.5s ease-in-out infinite, ai-avatar-look-around-right-eye 9s ease-in-out infinite}.mode-thinking .mouth{animation:ai-avatar-mouth-look-around 9s ease-in-out infinite}.mode-thinking .light-ball{animation:ai-avatar-light-ball-swirl 3s linear infinite}.mode-thinking .glow-minimal{opacity:0.3;animation:ai-avatar-breathing 5s ease-in-out infinite}.mode-waiting .glow,.mode-waiting .glow-minimal{animation:ai-avatar-breathing 5s ease-in-out infinite}.mode-waiting .glow-minimal{opacity:0.3}.mode-waiting .outer-ring{animation:ai-avatar-mode-active-ring 2s ease-out infinite}.mode-waiting.variant-minimal .outer-ring,.mode-waiting.variant-solid .outer-ring,.mode-waiting.variant-outlined .outer-ring{scale:1.1}.mode-active .glow-minimal{opacity:0.3;transform:scale(1)}.mode-typing .eye-left{animation:ai-avatar-typing-left-eye 2.5s ease-in-out infinite}.mode-typing .eye-right{animation:ai-avatar-typing-right-eye 2.5s ease-in-out infinite}.mode-typing .mouth{animation:ai-avatar-typing-mouth 2.5s ease-in-out infinite}.mode-typing .typing-ellipsis{opacity:1;transform:scale(1)}.mode-typing .typing-ellipsis .circle{animation:ai-avatar-typing-dot 1.2s infinite}.mode-typing .typing-ellipsis .circle:nth-of-type(2){animation-delay:0.2s}.mode-typing .typing-ellipsis .circle:nth-of-type(3){animation-delay:0.4s}.mode-typing.variant-minimal .light-ball{animation:ai-avatar-breathing 5s ease-in-out infinite}.mode-working .eye-left{animation:ai-avatar-working-left-star 12s steps(50, end) infinite}.mode-working .eye-right{animation:ai-avatar-working-right-star 4s steps(30, end) infinite reverse}.mode-working .light-ball{animation:ai-avatar-light-ball-swirl 6s linear infinite}.mode-working .outer-ring{opacity:0.8;animation:ai-avatar-breathing 5s ease-in-out infinite}.mode-working.variant-minimal .outer-ring,.mode-working.variant-solid .outer-ring,.mode-working.variant-outlined .outer-ring{scale:1.1}.mode-working.variant-minimal .light-ball{opacity:0.16}.typing-ellipsis{opacity:0;transform-origin:370px 620px;transform-box:view-box;scale:2.2;transition:opacity 300ms ease, transform 300ms ease}.typing-ellipsis .circle{fill:var(--ai-avatar-primary-color, rgb(var(--lime-brand-color-ocean-teal, 111, 205, 182)))}@keyframes ai-avatar-typing-dot{0%{transform:translateY(0)}6.25%{transform:translateY(-3px)}12.5%{transform:translateY(0);fill:var(--limel-ai-avatar-typing-dot-flash-color, var(--ai-avatar-accent-color, rgb(var(--lime-brand-color-aqua, 166, 239, 255))))}18.75%{transform:translateY(3px)}25%{transform:translateY(0)}}@keyframes ai-avatar-blink{0%,93%,99%,100%{rotate:x 0deg}96%{rotate:x 85deg}}@keyframes ai-avatar-light-ball-swirl{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes ai-avatar-look-around-left-eye{0%,15%,95%,100%{transform:translate(0) scale(0.96)}25%,40%{transform:translate(65px, -40px) scale(1.004) rotate(-13deg)}55%,70%{transform:translate(-67px, -91px) scale(0.72) rotate(29deg)}}@keyframes ai-avatar-look-around-right-eye{0%,15%,95%,100%{transform:translate(156px, -20px) scale(0.8)}25%,40%{transform:translate(203px, -92px) scale(0.76) rotate(-24deg)}55%,70%{transform:translate(80px, -45px) scale(1) rotate(12deg)}}@keyframes ai-avatar-mouth-look-around{0%,15%,95%,100%{transform:scale(1)}25%,40%{transform:translate(75px, -40px) scale(1.004) rotate(-9deg)}55%,70%{transform:translate(-99px, -45px) scale(1) rotate(9deg)}}@keyframes ai-avatar-typing-left-eye{0%,100%{transform:translate(0, 80px) scale(0.94)}25%{transform:translate(12px, 80px) scale(0.94) rotate(-4deg)}75%{transform:translate(-12px, 80px) scale(0.94) rotate(4deg)}}@keyframes ai-avatar-typing-right-eye{0%,100%{transform:translate(156px, 60px) scale(0.78)}25%{transform:translate(168px, 60px) scale(0.78) rotate(-5deg)}75%{transform:translate(144px, 60px) scale(0.78) rotate(5deg)}}@keyframes ai-avatar-typing-mouth{0%,100%{transform:translate(0, 70px) scale(1)}25%{transform:translate(6px, 70px) scale(1)}75%{transform:translate(-6px, 70px) scale(1)}}@keyframes ai-avatar-working-left-star{0%{transform:translate(48px, 34px) scale(1.48) rotate(0deg)}100%{transform:translate(48px, 34px) scale(1.48) rotate(360deg)}}@keyframes ai-avatar-working-right-star{0%{transform:translate(152px, -74px) scale(0.66) rotate(0deg)}100%{transform:translate(152px, -74px) scale(0.66) rotate(360deg)}}@keyframes ai-avatar-mode-active-ring{0%{transform:scale(0.9);opacity:0}30%{transform:scale(1);opacity:1}100%{transform:scale(1);opacity:0}}@keyframes ai-avatar-breathing{0%,60%,100%{transform:scale(0.9)}25%{transform:scale(1)}}`;
5
6
 
@@ -1,5 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-BGxJfR2f.js';
2
- import { t as translate } from './translations-DgqE77nk.js';
2
+ import { t as translate } from './translations-CPFNSfWw.js';
3
+ import './language-C3hECvXE.js';
3
4
 
4
5
  const calloutIcons = {
5
6
  note: 'info',
@@ -1,6 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-BGxJfR2f.js';
2
- import { t as translate } from './translations-DgqE77nk.js';
2
+ import { t as translate } from './translations-CPFNSfWw.js';
3
3
  import { c as createRandomString } from './random-string-JbKhhoXs.js';
4
+ import './language-C3hECvXE.js';
4
5
 
5
6
  const chartCss = () => `@charset "UTF-8";:host(limel-chart[type=bar]) .chart,:host(limel-chart[type=dot]) .chart,:host(limel-chart[type=line]) .chart,:host(limel-chart[type=area]) .chart{display:flex;background-color:var(--chart-background-color, transparent)}:host(limel-chart[type=bar]) .item,:host(limel-chart[type=dot]) .item,:host(limel-chart[type=line]) .item,:host(limel-chart[type=area]) .item{position:relative;mix-blend-mode:hard-light}:host(limel-chart[type=bar][orientation=landscape]),:host(limel-chart[type=dot][orientation=landscape]),:host(limel-chart[type=line][orientation=landscape]),:host(limel-chart[type=area][orientation=landscape]){--limel-chart-padding:0.5rem 0.5rem 0.5rem 2rem}:host(limel-chart[type=bar][orientation=landscape]) .chart,:host(limel-chart[type=dot][orientation=landscape]) .chart,:host(limel-chart[type=line][orientation=landscape]) .chart,:host(limel-chart[type=area][orientation=landscape]) .chart{flex-direction:row;align-items:flex-end;overflow:auto hidden;padding:0 0.125rem}:host(limel-chart[type=bar][orientation=landscape]) .item,:host(limel-chart[type=dot][orientation=landscape]) .item,:host(limel-chart[type=line][orientation=landscape]) .item,:host(limel-chart[type=area][orientation=landscape]) .item{min-width:var(--limel-chart-min-item-size);width:inherit}:host(limel-chart[type=bar][orientation=portrait]),:host(limel-chart[type=dot][orientation=portrait]),:host(limel-chart[type=line][orientation=portrait]),:host(limel-chart[type=area][orientation=portrait]){--limel-chart-padding:0.5rem 0.5rem 1rem 0.5rem}:host(limel-chart[type=bar][orientation=portrait]) .chart,:host(limel-chart[type=dot][orientation=portrait]) .chart,:host(limel-chart[type=line][orientation=portrait]) .chart,:host(limel-chart[type=area][orientation=portrait]) .chart{flex-direction:column;overflow:hidden auto;padding:0.125rem 0}:host(limel-chart[type=bar][orientation=portrait]) .item,:host(limel-chart[type=dot][orientation=portrait]) .item,:host(limel-chart[type=line][orientation=portrait]) .item,:host(limel-chart[type=area][orientation=portrait]) .item{min-height:var(--limel-chart-min-item-size);height:inherit}:host(limel-chart[display-axis-labels][orientation=portrait]){--limel-chart-padding:0.5rem 0.5rem 2rem 1.25rem}:host(limel-chart[display-axis-labels][orientation=landscape]){--limel-chart-padding:0.5rem 0.5rem 1.25rem 3rem}:host(limel-chart[display-axis-labels][type=scatter]) table thead,:host(limel-chart[display-axis-labels][type=scatter]) table th,:host(limel-chart[display-axis-labels][type=line]) table thead,:host(limel-chart[display-axis-labels][type=line]) table th,:host(limel-chart[display-axis-labels][type=dot]) table thead,:host(limel-chart[display-axis-labels][type=dot]) table th,:host(limel-chart[display-axis-labels][type=area]) table thead,:host(limel-chart[display-axis-labels][type=area]) table th,:host(limel-chart[display-axis-labels][type=bar]) table thead,:host(limel-chart[display-axis-labels][type=bar]) table th{all:unset}:host(limel-chart[display-axis-labels][type=scatter]) table th,:host(limel-chart[display-axis-labels][type=line]) table th,:host(limel-chart[display-axis-labels][type=dot]) table th,:host(limel-chart[display-axis-labels][type=area]) table th,:host(limel-chart[display-axis-labels][type=bar]) table th{position:absolute;font-size:var(--limel-theme-default-small-font-size);max-width:100%;max-height:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host(limel-chart[display-axis-labels][orientation=portrait]) table thead th:first-of-type{left:-1.25rem;writing-mode:sideways-lr}:host(limel-chart[display-axis-labels][orientation=portrait]) table thead th:last-of-type{bottom:-2rem;left:50%;transform:translateX(-50%)}:host(limel-chart[display-axis-labels][orientation=landscape]) table thead th:first-of-type{bottom:-1.25rem;left:50%;transform:translateX(-50%)}:host(limel-chart[display-axis-labels][orientation=landscape]) table thead th:last-of-type{left:-3rem;writing-mode:sideways-lr}:host(limel-chart[display-item-text][type=scatter]) td.text,:host(limel-chart[display-item-text][type=line]) td.text,:host(limel-chart[display-item-text][type=area]) td.text,:host(limel-chart[display-item-text][type=dot]) td.text,:host(limel-chart[display-item-text][type=bar]) td.text{all:unset;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:absolute;font-size:0.75rem;max-width:max(5rem, 100%);mix-blend-mode:difference}:host(limel-chart[display-item-value][type=scatter]) td.value,:host(limel-chart[display-item-value][type=line]) td.value,:host(limel-chart[display-item-value][type=area]) td.value,:host(limel-chart[display-item-value][type=dot]) td.value,:host(limel-chart[display-item-value][type=bar]) td.value{all:unset;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:absolute;font-size:0.75rem;max-width:max(5rem, 100%);border-radius:9rem;padding:0 0.25rem;background-color:rgb(var(--contrast-100), 0.7);box-shadow:var(--shadow-brighten-edges-outside)}:host(limel-chart[display-item-value][type=scatter]) .item.has-value-zero td.value,:host(limel-chart[display-item-value][type=line]) .item.has-value-zero td.value,:host(limel-chart[display-item-value][type=area]) .item.has-value-zero td.value,:host(limel-chart[display-item-value][type=dot]) .item.has-value-zero td.value,:host(limel-chart[display-item-value][type=bar]) .item.has-value-zero td.value{opacity:0}:host(limel-chart[display-item-text][orientation=landscape]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-text][orientation=landscape]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=landscape]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-value][orientation=landscape]) .item.has-negative-value-only td.value{transform:rotateX(180deg)}:host(limel-chart[display-item-text][orientation=landscape]) .item.has-value-zero td.text,:host(limel-chart[display-item-value][orientation=landscape]) .item.has-value-zero td.text{transform:translateY(-50%)}:host(limel-chart[display-item-text][orientation=portrait]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-text][orientation=portrait]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=portrait]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-value][orientation=portrait]) .item.has-negative-value-only td.value{transform:rotateY(180deg)}:host(limel-chart[display-item-text][orientation=landscape][type=bar]) td.value,:host(limel-chart[display-item-value][orientation=landscape][type=bar]) td.value{top:0;transform:translateY(-50%)}:host(limel-chart[display-item-text][orientation=landscape][type=bar]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=landscape][type=bar]) .item.has-negative-value-only td.value{transform:rotateX(180deg) translateY(50%)}:host(limel-chart[display-item-text][orientation=portrait][type=bar]) td.value,:host(limel-chart[display-item-value][orientation=portrait][type=bar]) td.value{right:0;transform:translateX(50%)}:host(limel-chart[display-item-text][orientation=portrait][type=bar]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=portrait][type=bar]) .item.has-negative-value-only td.value{transform:rotateY(180deg) translateX(-50%)}:host(limel-chart[display-item-text][orientation=portrait][type=bar]) .item.has-value-zero td.text,:host(limel-chart[display-item-value][orientation=portrait][type=bar]) .item.has-value-zero td.text{transform:translateX(50%)}:host(limel-chart[display-item-text][orientation=landscape][type=dot]) td.value,:host(limel-chart[display-item-value][orientation=landscape][type=dot]) td.value{top:1rem}:host(limel-chart[display-item-text][orientation=landscape][type=dot]) td.text,:host(limel-chart[display-item-value][orientation=landscape][type=dot]) td.text{top:0}:host(limel-chart[display-item-text][orientation=landscape][type=dot]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=landscape][type=dot]) .item.has-negative-value-only td.value{transform:rotateX(180deg)}:host(limel-chart[display-item-text][orientation=landscape][type=dot]) .item.has-value-zero td.text,:host(limel-chart[display-item-value][orientation=landscape][type=dot]) .item.has-value-zero td.text{transform:translateY(-100%)}:host(limel-chart[display-item-text][orientation=portrait][type=dot]) td.value,:host(limel-chart[display-item-value][orientation=portrait][type=dot]) td.value{right:-0.25rem;transform:translateX(100%)}:host(limel-chart[display-item-text][orientation=portrait][type=dot]) td.text,:host(limel-chart[display-item-value][orientation=portrait][type=dot]) td.text{right:0.5rem}:host(limel-chart[display-item-text][orientation=portrait][type=dot]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=portrait][type=dot]) .item.has-negative-value-only td.value{transform:rotateY(180deg) translateX(-100%)}:host(limel-chart[display-item-text][type=scatter]) td.text{bottom:calc(100% + 0.25rem);left:50%;transform:translateX(-50%)}:host(limel-chart[display-item-value][type=scatter]) td.value{top:calc(100% + 0.25rem);left:50%;transform:translateX(-50%)}:host(limel-chart[display-item-text][orientation=landscape][type=line]) td.text,:host(limel-chart[display-item-text][orientation=landscape][type=line]) td.value,:host(limel-chart[display-item-value][orientation=landscape][type=line]) td.text,:host(limel-chart[display-item-value][orientation=landscape][type=line]) td.value,:host(limel-chart[display-item-text][orientation=landscape][type=area]) td.text,:host(limel-chart[display-item-text][orientation=landscape][type=area]) td.value,:host(limel-chart[display-item-value][orientation=landscape][type=area]) td.text,:host(limel-chart[display-item-value][orientation=landscape][type=area]) td.value{left:0.5rem;bottom:calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%)}:host(limel-chart[display-item-text][orientation=landscape][type=line]) td.text,:host(limel-chart[display-item-value][orientation=landscape][type=line]) td.text,:host(limel-chart[display-item-text][orientation=landscape][type=area]) td.text,:host(limel-chart[display-item-value][orientation=landscape][type=area]) td.text{transform:translateY(150%)}:host(limel-chart[display-item-text][orientation=landscape][type=line]) td.value,:host(limel-chart[display-item-value][orientation=landscape][type=line]) td.value,:host(limel-chart[display-item-text][orientation=landscape][type=area]) td.value,:host(limel-chart[display-item-value][orientation=landscape][type=area]) td.value{transform:translateY(50%)}:host(limel-chart[display-item-text][orientation=landscape][type=line]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-value][orientation=landscape][type=line]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-text][orientation=landscape][type=area]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-value][orientation=landscape][type=area]) .item.has-negative-value-only td.text{transform:translateY(50%)}:host(limel-chart[display-item-text][orientation=landscape][type=line]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=landscape][type=line]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-text][orientation=landscape][type=area]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=landscape][type=area]) .item.has-negative-value-only td.value{transform:translateY(150%)}:host(limel-chart[display-item-text][orientation=portrait][type=line]) td.text,:host(limel-chart[display-item-text][orientation=portrait][type=line]) td.value,:host(limel-chart[display-item-value][orientation=portrait][type=line]) td.text,:host(limel-chart[display-item-value][orientation=portrait][type=line]) td.value,:host(limel-chart[display-item-text][orientation=portrait][type=area]) td.text,:host(limel-chart[display-item-text][orientation=portrait][type=area]) td.value,:host(limel-chart[display-item-value][orientation=portrait][type=area]) td.text,:host(limel-chart[display-item-value][orientation=portrait][type=area]) td.value{left:calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%)}:host(limel-chart[display-item-text][orientation=portrait][type=line]) td.text,:host(limel-chart[display-item-value][orientation=portrait][type=line]) td.text,:host(limel-chart[display-item-text][orientation=portrait][type=area]) td.text,:host(limel-chart[display-item-value][orientation=portrait][type=area]) td.text{transform:translateX(-100%)}:host(limel-chart[display-item-text][orientation=portrait][type=line]) td.value,:host(limel-chart[display-item-value][orientation=portrait][type=line]) td.value,:host(limel-chart[display-item-text][orientation=portrait][type=area]) td.value,:host(limel-chart[display-item-value][orientation=portrait][type=area]) td.value{transform:translateX(0)}:host(limel-chart[display-item-text][orientation=portrait][type=line]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-value][orientation=portrait][type=line]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-text][orientation=portrait][type=area]) .item.has-negative-value-only td.text,:host(limel-chart[display-item-value][orientation=portrait][type=area]) .item.has-negative-value-only td.text{transform:translateX(0)}:host(limel-chart[display-item-text][orientation=portrait][type=line]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=portrait][type=line]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-text][orientation=portrait][type=area]) .item.has-negative-value-only td.value,:host(limel-chart[display-item-value][orientation=portrait][type=area]) .item.has-negative-value-only td.value{transform:translateX(-100%)}:host(limel-chart[type=pie]) table,:host(limel-chart[type=doughnut]) table,:host(limel-chart[type=ring]) table{min-height:2rem;min-width:2rem}:host(limel-chart[type=pie]) .chart,:host(limel-chart[type=pie]) .item,:host(limel-chart[type=doughnut]) .chart,:host(limel-chart[type=doughnut]) .item,:host(limel-chart[type=ring]) .chart,:host(limel-chart[type=ring]) .item{aspect-ratio:1;display:flex;margin:auto}:host(limel-chart[type=pie]) .chart,:host(limel-chart[type=doughnut]) .chart,:host(limel-chart[type=ring]) .chart{justify-content:center;align-items:center}:host(limel-chart[type=pie]) .chart:before,:host(limel-chart[type=doughnut]) .chart:before,:host(limel-chart[type=ring]) .chart:before{aspect-ratio:1;content:"";position:absolute;z-index:0;inset:0;margin:auto;border-radius:50%;max-width:100%;max-height:100%;background-color:var(--chart-background-color, rgb(var(--contrast-200)))}:host(limel-chart[type=pie]) .item,:host(limel-chart[type=doughnut]) .item,:host(limel-chart[type=ring]) .item{max-width:100%;max-height:100%;border-radius:50%;position:absolute;inset:0}:host(limel-chart[type=bar]) .chart,:host(limel-chart[type=dot]) .chart{gap:0.5rem}:host(limel-chart[type=bar]) .item,:host(limel-chart[type=dot]) .item{display:flex;align-items:center;justify-content:center;border-radius:var(--chart-item-border-radius, 0.125rem)}:host(limel-chart[type=bar]) .item{background:var(--limel-chart-item-color, var(--limel-chart-default-item-color))}:host(limel-chart[type=dot]) .item:before,:host(limel-chart[type=dot]) .item:after{content:"";position:absolute;margin:auto;width:var(--limel-chart-min-item-size);height:var(--limel-chart-min-item-size);border-radius:50%}:host(limel-chart[type=dot]) .item::after{background-color:var(--limel-chart-item-color, var(--limel-chart-default-item-color))}:host(limel-chart[type=dot]) .item.has-start-value:before{background-color:var(--limel-chart-item-color, var(--limel-chart-default-item-color))}:host(limel-chart[type=bar][orientation=landscape]) .item,:host(limel-chart[type=dot][orientation=landscape]) .item{height:calc(var(--limel-chart-item-size) * 1%);bottom:calc(var(--limel-chart-item-offset) * 1%)}:host(limel-chart[type=bar][orientation=landscape]) .item.has-negative-value-only,:host(limel-chart[type=dot][orientation=landscape]) .item.has-negative-value-only{height:calc(var(--limel-chart-item-size) * -1%);transform-origin:bottom;transform:rotateX(180deg)}:host(limel-chart[type=dot][orientation=landscape]) .item.has-start-value,:host(limel-chart[type=dot][orientation=landscape]) .item:hover,:host(limel-chart[type=dot][orientation=landscape]) .item:focus-visible{background:linear-gradient(to bottom, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) center/1px 100% no-repeat}:host(limel-chart[type=dot][orientation=landscape]) .item:before{inset:auto 0 0 0;transform:translateY(50%)}:host(limel-chart[type=dot][orientation=landscape]) .item::after{inset:0 0 auto 0;transform:translateY(-50%)}:host(limel-chart[type=bar][orientation=portrait]) .item,:host(limel-chart[type=dot][orientation=portrait]) .item{width:calc(var(--limel-chart-item-size) * 1%);left:calc(var(--limel-chart-item-offset) * 1%)}:host(limel-chart[type=bar][orientation=portrait]) .item.has-negative-value-only,:host(limel-chart[type=dot][orientation=portrait]) .item.has-negative-value-only{width:calc(var(--limel-chart-item-size) * -1%);transform-origin:left;transform:rotateY(180deg)}:host(limel-chart[type=dot][orientation=portrait]) .item.has-start-value,:host(limel-chart[type=dot][orientation=portrait]) .item:hover,:host(limel-chart[type=dot][orientation=portrait]) .item:focus-visible{background:linear-gradient(to right, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) center/100% 1px no-repeat}:host(limel-chart[type=dot][orientation=portrait]) .item:before{inset:0 auto 0 0;transform:translateX(-50%)}:host(limel-chart[type=dot][orientation=portrait]) .item:after{inset:0 0 0 auto;transform:translateX(50%)}:host(limel-chart[type=area]) .item,:host(limel-chart[type=line]) .item{position:relative}:host(limel-chart[type=area]) .item:after,:host(limel-chart[type=line]) .item:after{margin:auto;width:var(--limel-chart-min-item-size);height:var(--limel-chart-min-item-size);border-radius:50%;border:1px solid rgb(var(--contrast-100))}:host(limel-chart[type=area]) .item:before,:host(limel-chart[type=line]) .item:before{inset:0}:host(limel-chart[type=area]) .item:after,:host(limel-chart[type=area]) .item:before,:host(limel-chart[type=line]) .item:after,:host(limel-chart[type=line]) .item:before{transition:border-color 0.2s ease, opacity 0.4s ease;content:"";position:absolute;background:var(--limel-chart-item-color, var(--limel-chart-default-item-color))}:host(limel-chart[type=area]) .item:hover:after,:host(limel-chart[type=area]) .item:focus-visible:after,:host(limel-chart[type=line]) .item:hover:after,:host(limel-chart[type=line]) .item:focus-visible:after{border-color:transparent}:host(limel-chart[type=line][orientation=landscape]) .item,:host(limel-chart[type=area][orientation=landscape]) .item{height:100%}:host(limel-chart[type=line][orientation=landscape]) .item:after,:host(limel-chart[type=area][orientation=landscape]) .item:after{transform:translateX(-50%) translateY(50%);left:0;bottom:calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%)}:host(limel-chart[type=line][orientation=landscape]) .item:last-of-type:before,:host(limel-chart[type=area][orientation=landscape]) .item:last-of-type:before{display:none}:host(limel-chart[type=line][orientation=portrait]) .item,:host(limel-chart[type=area][orientation=portrait]) .item{width:100%}:host(limel-chart[type=line][orientation=portrait]) .item:after,:host(limel-chart[type=area][orientation=portrait]) .item:after{transform:translateX(-50%) translateY(-50%);left:calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%)}:host(limel-chart[type=area]) .item:after{opacity:0}:host(limel-chart[type=area]) .item:hover:after,:host(limel-chart[type=area]) .item:focus-visible:after{opacity:1}:host(limel-chart[type=area]) .item:hover:before,:host(limel-chart[type=area]) .item:focus-visible:before{opacity:0.7}:host(limel-chart[type=area][orientation=landscape]){}:host(limel-chart[type=area][orientation=landscape]) .item:before{clip-path:polygon(0 calc((100 - var(--limel-chart-item-offset)) * 1%), 0 calc((100 - (var(--limel-chart-item-size) + var(--limel-chart-item-offset))) * 1%), 100% calc((100 - (var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset))) * 1%), 100% calc((100 - var(--limel-chart-next-item-offset)) * 1%))}:host(limel-chart[type=area][orientation=portrait]){}:host(limel-chart[type=area][orientation=portrait]) .item:before{clip-path:polygon(calc(var(--limel-chart-item-offset) * 1%) 0, calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%) 0, calc((var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset)) * 1%) 100%, calc(var(--limel-chart-next-item-offset) * 1%) 100%)}:host(limel-chart[type=line]){--limel-chart-line-thickness:0.125rem}:host(limel-chart[type=line]) .item:hover:before{opacity:0.4}:host(limel-chart[type=line][orientation=landscape]){}:host(limel-chart[type=line][orientation=landscape]) .item:hover{background:linear-gradient(to bottom, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) left/1px 100% no-repeat}:host(limel-chart[type=line][orientation=landscape]) .item:before{clip-path:polygon(0 calc((100 - (var(--limel-chart-item-size) + var(--limel-chart-item-offset))) * 1%), 0 calc((100 - (var(--limel-chart-item-size) + var(--limel-chart-item-offset))) * 1% + var(--limel-chart-line-thickness)), 100% calc((100 - (var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset))) * 1% + var(--limel-chart-line-thickness)), 100% calc((100 - (var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset))) * 1%))}:host(limel-chart[type=line][orientation=portrait]){}:host(limel-chart[type=line][orientation=portrait]) .item:hover{background:linear-gradient(to right, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) top/100% 1px no-repeat}:host(limel-chart[type=line][orientation=portrait]) .item:before{clip-path:polygon(calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1%) 0, calc((var(--limel-chart-item-size) + var(--limel-chart-item-offset)) * 1% + var(--limel-chart-line-thickness)) 0, calc((var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset)) * 1% + var(--limel-chart-line-thickness)) 100%, calc((var(--limel-chart-next-item-size) + var(--limel-chart-next-item-offset)) * 1%) 100%)}:host(limel-chart[type=pie]) .item,:host(limel-chart[type=doughnut]) .item{background:conic-gradient(transparent 0 calc(var(--limel-chart-item-offset) * 1%), var(--limel-chart-item-color, var(--limel-chart-default-item-color)) calc(var(--limel-chart-item-offset) * 1%) calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%), transparent calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%))}:host(limel-chart[type=pie]) .item:focus,:host(limel-chart[type=pie]) .item:focus-visible,:host(limel-chart[type=doughnut]) .item:focus,:host(limel-chart[type=doughnut]) .item:focus-visible{outline:none}:host(limel-chart[type=pie]) .item,:host(limel-chart[type=doughnut]) .item{pointer-events:none}:host(limel-chart[type=doughnut]) .chart:after{aspect-ratio:1;content:"";position:absolute;inset:0;margin:auto;max-width:60%;max-height:60%;border-radius:50%;background-color:rgb(var(--contrast-100))}:host(limel-chart[type=ring]) .chart:after{content:"";position:absolute;inset:0;aspect-ratio:1;border-radius:50%;max-height:calc(100% - var(--limel-chart-number-of-items) * 100% / (var(--limel-chart-number-of-items) + 1));max-width:calc(100% - var(--limel-chart-number-of-items) * 100% / (var(--limel-chart-number-of-items) + 1));background-color:var(--limel-chart-background-color, rgb(var(--contrast-200)))}:host(limel-chart[type=ring]) .chart:has(.item:hover) .item,:host(limel-chart[type=ring]) .chart:has(.item:focus-visible) .item{opacity:1;filter:grayscale(1)}:host(limel-chart[type=ring]) .chart:after,:host(limel-chart[type=ring]) .item{margin:auto;border:1px solid var(--limel-chart-background-color, rgb(var(--contrast-400)))}:host(limel-chart[type=ring]) .item{background:conic-gradient(var(--limel-chart-item-color, var(--limel-chart-default-item-color)) 0 calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%), var(--chart-background-color, rgb(var(--contrast-200))) calc(var(--limel-chart-item-offset) * 1% + var(--limel-chart-item-size) * 1%));max-width:calc(100% - var(--limel-chart-item-index) * 100% / (var(--limel-chart-number-of-items) + 1));max-height:calc(100% - var(--limel-chart-item-index) * 100% / (var(--limel-chart-number-of-items) + 1))}:host(limel-chart[type=ring]) .item:focus-visible,:host(limel-chart[type=ring]) .item:hover{filter:grayscale(0) !important}:host(limel-chart[type=stacked-bar]) .chart{display:flex;border-radius:0.25rem;overflow:hidden;background-color:var(--chart-background-color, rgb(var(--contrast-800), 0.2))}:host(limel-chart[type=stacked-bar]) .item{display:flex;border-radius:var(--chart-item-border-radius, 0);background:var(--limel-chart-item-color, var(--limel-chart-default-item-color))}:host(limel-chart[type=stacked-bar]) .item:last-of-type:not(:focus-visible){box-shadow:none !important}:host(limel-chart[type=stacked-bar][orientation=landscape]) .chart{flex-direction:row}:host(limel-chart[type=stacked-bar][orientation=landscape]) .item{min-height:0.5rem;width:calc(var(--limel-chart-item-size) * 1%)}:host(limel-chart[type=stacked-bar][orientation=landscape]) .item:not(:focus-visible){box-shadow:-1px 0 0 0 var(--chart-item-divider-color, rgb(var(--color-white), 0.6)) inset}:host(limel-chart[type=stacked-bar][orientation=portrait]) .chart{flex-direction:column-reverse}:host(limel-chart[type=stacked-bar][orientation=portrait]) .item{min-width:0.5rem;height:calc(var(--limel-chart-item-size) * 1%)}:host(limel-chart[type=stacked-bar][orientation=portrait]) .item:not(:focus-visible){box-shadow:0 -1px 0 0 rgb(var(--color-white), 0.6) inset}:host(limel-chart[type=nps]){--limel-chart-nps-gauge-angel:220deg}:host(limel-chart[type=nps]) table{min-height:4rem;min-width:4rem}:host(limel-chart[type=nps]) .chart{position:relative;display:flex;justify-content:center;align-items:center;aspect-ratio:1;margin:auto;width:unset;height:unset;max-width:100%;max-height:100%;rotate:calc(var(--limel-chart-nps-gauge-angel) / 2 * -1);transform:translate(-15%, -5%)}:host(limel-chart[type=nps]) .chart:before,:host(limel-chart[type=nps]) .chart:after{content:"";aspect-ratio:1;position:absolute;border-radius:50%;z-index:-1;min-height:0;min-width:0}:host(limel-chart[type=nps]) .chart:before{height:100%;max-height:100%;background:conic-gradient(rgb(var(--color-coral-default)) 0deg calc(var(--limel-chart-nps-gauge-angel) / 2), rgb(var(--color-amber-light)) calc(var(--limel-chart-nps-gauge-angel) / 2) calc(var(--limel-chart-nps-gauge-angel) * 0.65), rgb(var(--color-lime-light)) calc(var(--limel-chart-nps-gauge-angel) * 0.65) calc(var(--limel-chart-nps-gauge-angel) * 0.85), rgb(var(--color-lime-default)) calc(var(--limel-chart-nps-gauge-angel) * 0.85) var(--limel-chart-nps-gauge-angel), transparent var(--limel-chart-nps-gauge-angel))}:host(limel-chart[type=nps]) .chart:after{height:calc(100% - min(3rem, 20%) * 2);max-height:calc(100% - min(3rem, 20%) * 2);background:conic-gradient(var(--chart-background-color, rgb(var(--contrast-100))) 0deg var(--limel-chart-nps-gauge-angel), transparent var(--limel-chart-nps-gauge-angel))}:host(limel-chart[type=nps]) .item{display:flex;align-items:flex-start;justify-content:center;border-radius:0.5rem;position:absolute;height:calc(50% - min(3rem, 20%) + 0.5rem);width:0.5rem;transform:translateY(-50%) rotate(calc((var(--limel-chart-item-value) + 100) / 200 * var(--limel-chart-nps-gauge-angel)));transform-origin:bottom}:host(limel-chart[type=nps]) .item:hover,:host(limel-chart[type=nps]) .item:focus-visible{background:linear-gradient(to bottom, rgb(var(--contrast-800), 0.4) 0%, rgb(var(--contrast-800), 0.4) 100%) center/1px 100% no-repeat}:host(limel-chart[type=nps]) .item:before,:host(limel-chart[type=nps]) .item:after{content:"";position:absolute}:host(limel-chart[type=nps]) .item:before{transform:translateY(-60%);width:0.4rem;border-radius:1rem;border-color:var(--limel-chart-item-color, var(--limel-chart-default-item-color));border-style:solid;border-bottom-width:1.75rem;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent}:host(limel-chart[type=nps]) .item:after{border-radius:50%;background-color:var(--limel-chart-item-color, var(--limel-chart-default-item-color));aspect-ratio:1;height:clamp(0.75rem, 10%, 1.25rem);border:0.125rem solid rgb(var(--contrast-100), 0.8);box-shadow:var(--shadow-depth-8)}:host(limel-chart[type=scatter]){--limel-chart-padding:0.5rem 0.5rem 1rem 2rem}:host(limel-chart[type=scatter]) .chart{display:block;background-color:var(--chart-background-color, transparent)}:host(limel-chart[type=scatter]) .item{position:absolute;transform-origin:center;width:var(--chart-scatter-item-size, 0.5rem);height:var(--chart-scatter-item-size, 0.5rem);border-radius:50%;background-color:var(--limel-chart-item-color, var(--limel-chart-default-item-color));mix-blend-mode:hard-light}:host(limel-chart[type=scatter][orientation=landscape]) .item{left:calc(var(--limel-chart-item-offset-x) * 1%);bottom:calc(var(--limel-chart-item-offset-y) * 1%);transform:translate(-50%, 50%)}:host(limel-chart[type=scatter][orientation=portrait]) .item{left:calc(var(--limel-chart-item-offset-y) * 1%);top:calc(var(--limel-chart-item-offset-x) * 1%);transform:translate(-50%, -50%)}:host(limel-chart[type=scatter][display-axis-labels][orientation=landscape]),:host(limel-chart[type=scatter][display-axis-labels][orientation=portrait]){--limel-chart-padding:0.5rem 0.5rem 2rem 3rem}:host(limel-chart[type=scatter][display-axis-labels][orientation=landscape]) table thead th:first-of-type{bottom:-2rem;left:50%;transform:translateX(-50%)}:host(limel-chart[type=scatter][display-axis-labels][orientation=landscape]) table thead th:last-of-type{left:-3rem;writing-mode:sideways-lr}:host(limel-chart[type=scatter][display-axis-labels][orientation=portrait]) table thead th:first-of-type{left:-3rem;writing-mode:sideways-lr}:host(limel-chart[type=scatter][display-axis-labels][orientation=portrait]) table thead th:last-of-type{bottom:-2rem;left:50%;transform:translateX(-50%)}.axises{position:absolute;display:flex;justify-content:space-between;min-height:100%;min-width:100%;height:100%;width:100%}.axis-line{transition:opacity 0.4s ease;position:relative;opacity:0.2;font-size:0.625rem;border-color:var(--limel-chart-axis-line-color)}.axis-line:hover{opacity:0.6;transition-duration:0.2s}.axis-line.zero-line{opacity:0.6;z-index:1}.axis-line limel-badge{--badge-background-color:transparent;--badge-text-color:currentColor;position:absolute;text-align:right;min-width:2rem}:host(limel-chart[orientation=landscape]:not([type=scatter])) .axises{flex-direction:column-reverse}:host(limel-chart[orientation=landscape]:not([type=scatter])) .axis-line{border-bottom:1px solid;transform:translateY(50%)}:host(limel-chart[orientation=landscape]:not([type=scatter])) .axis-line limel-badge{bottom:0;left:-2rem;transform:translateY(50%)}:host(limel-chart[orientation=portrait]:not([type=scatter])) .axises{flex-direction:row}:host(limel-chart[orientation=portrait]:not([type=scatter])) .axis-line{border-left:1px solid;transform:translateX(-50%)}:host(limel-chart[orientation=portrait]:not([type=scatter])) .axis-line limel-badge{bottom:-1rem;right:-1rem}.axises.horizontal-lines .axis-line{border-bottom:1px solid;transform:translateY(50%)}.axises.horizontal-lines .axis-line limel-badge{bottom:0;left:-2rem;transform:translateY(50%)}:host(limel-chart[orientation=landscape]) .axises.horizontal-lines{flex-direction:column-reverse}:host(limel-chart[orientation=portrait]) .axises.horizontal-lines{flex-direction:column}.axises.vertical-lines{flex-direction:row}.axises.vertical-lines .axis-line{border-left:1px solid;transform:translateX(-50%)}.axises.vertical-lines .axis-line limel-badge{bottom:-1rem;right:-1rem}:host(limel-chart){--limel-chart-min-item-size:0.5rem;--limel-chart-default-item-color:var( --chart-item-color, rgb(var(--contrast-1100), 0.8) );--chart-axis-line-color:var( --limel-chart-axis-line-color, rgb(var(--contrast-900)) );box-sizing:border-box;isolation:isolate;display:flex;width:100%;height:100%;min-width:0;min-height:0;padding:var(--limel-chart-padding)}table{all:unset;border-collapse:collapse;border-spacing:0;empty-cells:show;position:relative;display:flex;width:100%;height:100%;min-width:0;min-height:0}table colgroup,table thead,table tbody,table tr,table th,table td{all:unset}table caption,table colgroup,table thead,table tfoot,table th,table td{position:absolute;width:0;height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap}*,*:before,*:after{box-sizing:border-box}.chart{position:relative;flex-grow:1;width:100%;height:100%;min-height:0;min-width:0}.chart:has(.item:hover) .item,.chart:has(.item:focus-visible) .item{opacity:0.4}.item:focus{outline:none}.item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.item{transition:background-color 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, opacity 0.4s ease;cursor:help}.item:focus-visible,.item:hover{opacity:1 !important}.item[role=button]{cursor:pointer}limel-spinner{margin:auto}`;
6
7
 
@@ -1,10 +1,11 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BGxJfR2f.js';
2
2
  import { c as ARROW_LEFT, d as ARROW_RIGHT, a as ENTER, D as DELETE, B as BACKSPACE, E as ESCAPE } from './keycodes-C4_9qUMP.js';
3
- import { t as translate } from './translations-DgqE77nk.js';
3
+ import { t as translate } from './translations-CPFNSfWw.js';
4
4
  import { a as getTarget, b as getHref } from './link-helper-5KsJICvh.js';
5
5
  import { c as createRandomString } from './random-string-JbKhhoXs.js';
6
6
  import { i as isEqual } from './isEqual-4tbMaaf_.js';
7
7
  import { M as MDCTextField } from './component-wGVqvUmL.js';
8
+ import './language-C3hECvXE.js';
8
9
  import './_baseIsEqual-B6bIeexY.js';
9
10
  import './eq-CZ30nDJE.js';
10
11
  import './_getTag-CMJL-6hk.js';
@@ -514,7 +515,7 @@ const ChipSet = class {
514
515
  getChipProps(chip, chipType) {
515
516
  const removable = this.type === 'input' && chip.removable !== false && !this.readonly;
516
517
  const readonly = this.readonly && this.type !== 'input';
517
- return Object.assign({ role: 'row', identifier: chip.id, text: chip.text, icon: chip.icon, image: chip.image, badge: chip.badge, selected: chip.selected, disabled: this.disabled, loading: chip.loading, progress: chip.progress, invalid: chip.invalid, readonly: readonly, type: chipType, removable: removable, menuItems: chip.menuItems, onClick: this.catchInputChipClicks(chip), onRemove: this.handleRemoveChip }, (chip.href && {
518
+ return Object.assign({ role: 'row', identifier: chip.id, text: chip.text, icon: chip.icon, image: chip.image, badge: chip.badge, selected: chip.selected, disabled: this.disabled, loading: chip.loading, progress: chip.progress, invalid: chip.invalid, readonly: readonly, type: chipType, removable: removable, menuItems: chip.menuItems, language: this.language, onClick: this.catchInputChipClicks(chip), onRemove: this.handleRemoveChip }, (chip.href && {
518
519
  link: {
519
520
  href: getHref(chip.href),
520
521
  target: getTarget(chip.href),
@@ -3,9 +3,10 @@ import { I as ImageTemplate } from './image.template-BXDvrqGw.js';
3
3
  import { g as getRel } from './link-helper-5KsJICvh.js';
4
4
  import { g as getIconName } from './get-icon-props-CgNJbSP4.js';
5
5
  import { m as makeEnterClickable, r as removeEnterClickable } from './make-enter-clickable-BgTwPGeH.js';
6
- import { t as translate } from './translations-DgqE77nk.js';
6
+ import { t as translate } from './translations-CPFNSfWw.js';
7
7
  import { D as DELETE, B as BACKSPACE } from './keycodes-C4_9qUMP.js';
8
8
  import { i as isEmpty } from './isEmpty-DHgukT5k.js';
9
+ import './language-C3hECvXE.js';
9
10
  import './_getTag-CMJL-6hk.js';
10
11
  import './isObject-BJQylLSL.js';
11
12
  import './isObjectLike-oiMYqRQ0.js';
@@ -207,7 +208,7 @@ const Chip = class {
207
208
  if (!this.loading) {
208
209
  return;
209
210
  }
210
- return h("limel-linear-progress", { indeterminate: true });
211
+ return (h("limel-linear-progress", { indeterminate: true, language: this.language }));
211
212
  }
212
213
  renderProgressBar() {
213
214
  if (!this.progress) {
@@ -1,5 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement } from './index-BGxJfR2f.js';
2
- import { t as translate } from './translations-DgqE77nk.js';
2
+ import { t as translate } from './translations-CPFNSfWw.js';
3
+ import './language-C3hECvXE.js';
3
4
 
4
5
  class Diff {
5
6
  diff(oldStr, newStr,
@@ -1428,7 +1429,7 @@ const CodeDiff = class {
1428
1429
  current: this.currentMatchIndex + 1,
1429
1430
  total: this.totalSearchMatches,
1430
1431
  });
1431
- return (h("div", { class: "search-bar" }, h("limel-input-field", { class: "search-bar__input", type: "search", placeholder: this.getTranslation('code-diff.search') + '…', value: this.searchTerm, onChange: (e) => this.onSearchInput(e), onKeyDown: (e) => this.onSearchKeyDown(e), ref: (el) => (this.searchInputEl = el) }), h("span", { class: "search-bar__count" }, matchInfo), h("limel-action-bar", { actions: this.getSearchActions(), onItemSelected: (e) => this.onSearchAction(e) })));
1432
+ return (h("div", { class: "search-bar" }, h("limel-input-field", { class: "search-bar__input", type: "search", placeholder: this.getTranslation('code-diff.search') + '…', value: this.searchTerm, onChange: (e) => this.onSearchInput(e), onKeyDown: (e) => this.onSearchKeyDown(e), ref: (el) => (this.searchInputEl = el) }), h("span", { class: "search-bar__count" }, matchInfo), h("limel-action-bar", { actions: this.getSearchActions(), language: this.translationLanguage, onItemSelected: (e) => this.onSearchAction(e) })));
1432
1433
  }
1433
1434
  toggleSearch() {
1434
1435
  this.searchVisible = !this.searchVisible;
@@ -1,7 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BGxJfR2f.js';
2
2
  import { c as createRandomString } from './random-string-JbKhhoXs.js';
3
3
  import { g as getDefaultExportFromCjs } from './_commonjsHelpers-B85MJLTf.js';
4
- import { t as translate } from './translations-DgqE77nk.js';
4
+ import { t as translate } from './translations-CPFNSfWw.js';
5
+ import './language-C3hECvXE.js';
5
6
 
6
7
  var codemirror$1 = {exports: {}};
7
8