@limetech/lime-elements 38.16.1 → 38.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-breadcrumbs_8.cjs.entry.js +2 -1
  6. package/dist/cjs/limel-breadcrumbs_8.cjs.entry.js.map +1 -1
  7. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-chip_2.cjs.entry.js +5 -3
  10. package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
  11. package/dist/cjs/limel-collapsible-section.cjs.entry.js +18 -2
  12. package/dist/cjs/limel-collapsible-section.cjs.entry.js.map +1 -1
  13. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-info-tile.cjs.entry.js +5 -3
  17. package/dist/cjs/limel-info-tile.cjs.entry.js.map +1 -1
  18. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-shortcut.cjs.entry.js +4 -2
  21. package/dist/cjs/limel-shortcut.cjs.entry.js.map +1 -1
  22. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  23. package/dist/cjs/{link-helper-14629490.js → link-helper-9486031c.js} +22 -1
  24. package/dist/cjs/link-helper-9486031c.js.map +1 -0
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/cjs/{translations-ab632a75.js → translations-4393ec35.js} +17 -1
  27. package/dist/cjs/translations-4393ec35.js.map +1 -0
  28. package/dist/collection/components/chip/chip.js +5 -2
  29. package/dist/collection/components/chip/chip.js.map +1 -1
  30. package/dist/collection/components/collapsible-section/collapsible-section.css +81 -41
  31. package/dist/collection/components/collapsible-section/collapsible-section.js +40 -1
  32. package/dist/collection/components/collapsible-section/collapsible-section.js.map +1 -1
  33. package/dist/collection/components/info-tile/info-tile.js +5 -3
  34. package/dist/collection/components/info-tile/info-tile.js.map +1 -1
  35. package/dist/collection/components/input-field/input-field.js +2 -1
  36. package/dist/collection/components/input-field/input-field.js.map +1 -1
  37. package/dist/collection/components/shortcut/shortcut.js +4 -2
  38. package/dist/collection/components/shortcut/shortcut.js.map +1 -1
  39. package/dist/collection/global/shared-types/link.types.js.map +1 -1
  40. package/dist/collection/translations/da.js +2 -0
  41. package/dist/collection/translations/da.js.map +1 -1
  42. package/dist/collection/translations/de.js +2 -0
  43. package/dist/collection/translations/de.js.map +1 -1
  44. package/dist/collection/translations/en.js +2 -0
  45. package/dist/collection/translations/en.js.map +1 -1
  46. package/dist/collection/translations/fi.js +2 -0
  47. package/dist/collection/translations/fi.js.map +1 -1
  48. package/dist/collection/translations/fr.js +2 -0
  49. package/dist/collection/translations/fr.js.map +1 -1
  50. package/dist/collection/translations/nl.js +2 -0
  51. package/dist/collection/translations/nl.js.map +1 -1
  52. package/dist/collection/translations/no.js +2 -0
  53. package/dist/collection/translations/no.js.map +1 -1
  54. package/dist/collection/translations/sv.js +2 -0
  55. package/dist/collection/translations/sv.js.map +1 -1
  56. package/dist/collection/util/link-helper.js +20 -0
  57. package/dist/collection/util/link-helper.js.map +1 -1
  58. package/dist/esm/lime-elements.js +1 -1
  59. package/dist/esm/limel-action-bar_2.entry.js +1 -1
  60. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  61. package/dist/esm/limel-breadcrumbs_8.entry.js +2 -1
  62. package/dist/esm/limel-breadcrumbs_8.entry.js.map +1 -1
  63. package/dist/esm/limel-callout.entry.js +1 -1
  64. package/dist/esm/limel-chart.entry.js +1 -1
  65. package/dist/esm/limel-chip_2.entry.js +5 -3
  66. package/dist/esm/limel-chip_2.entry.js.map +1 -1
  67. package/dist/esm/limel-collapsible-section.entry.js +18 -2
  68. package/dist/esm/limel-collapsible-section.entry.js.map +1 -1
  69. package/dist/esm/limel-file-viewer.entry.js +1 -1
  70. package/dist/esm/limel-file.entry.js +1 -1
  71. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  72. package/dist/esm/limel-info-tile.entry.js +5 -3
  73. package/dist/esm/limel-info-tile.entry.js.map +1 -1
  74. package/dist/esm/limel-linear-progress.entry.js +1 -1
  75. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  76. package/dist/esm/limel-shortcut.entry.js +4 -2
  77. package/dist/esm/limel-shortcut.entry.js.map +1 -1
  78. package/dist/esm/limel-snackbar.entry.js +1 -1
  79. package/dist/esm/{link-helper-0c4a5c2e.js → link-helper-1522032e.js} +22 -2
  80. package/dist/esm/link-helper-1522032e.js.map +1 -0
  81. package/dist/esm/loader.js +1 -1
  82. package/dist/esm/{translations-211d4ccf.js → translations-4fb0ed9d.js} +17 -1
  83. package/dist/esm/translations-4fb0ed9d.js.map +1 -0
  84. package/dist/lime-elements/lime-elements.esm.js +1 -1
  85. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  86. package/dist/lime-elements/p-0adbd58c.entry.js +2 -0
  87. package/dist/lime-elements/p-0adbd58c.entry.js.map +1 -0
  88. package/dist/lime-elements/{p-044be875.entry.js → p-30460677.entry.js} +2 -2
  89. package/dist/lime-elements/p-33d3de89.entry.js +2 -0
  90. package/dist/lime-elements/p-33d3de89.entry.js.map +1 -0
  91. package/dist/lime-elements/{p-51ca32cb.entry.js → p-36f6b3e1.entry.js} +2 -2
  92. package/dist/lime-elements/{p-645d1b4e.entry.js → p-455d18b1.entry.js} +2 -2
  93. package/dist/lime-elements/{p-765e1499.entry.js → p-45787d1c.entry.js} +2 -2
  94. package/dist/lime-elements/p-4daf6318.js +2 -0
  95. package/dist/lime-elements/p-4daf6318.js.map +1 -0
  96. package/dist/lime-elements/{p-2ea4e6cd.entry.js → p-4fbdc58c.entry.js} +2 -2
  97. package/dist/lime-elements/{p-70e8d88e.entry.js → p-8347afc4.entry.js} +2 -2
  98. package/dist/lime-elements/{p-fbc07821.entry.js → p-a0186098.entry.js} +14 -14
  99. package/dist/lime-elements/p-a0186098.entry.js.map +1 -0
  100. package/dist/lime-elements/p-b9101ec8.entry.js +2 -0
  101. package/dist/lime-elements/p-b9101ec8.entry.js.map +1 -0
  102. package/dist/lime-elements/{p-9622ec38.entry.js → p-cb7b50e6.entry.js} +2 -2
  103. package/dist/lime-elements/p-cfe06c44.js +2 -0
  104. package/dist/lime-elements/p-cfe06c44.js.map +1 -0
  105. package/dist/lime-elements/{p-fc8a9efb.entry.js → p-d2272b5f.entry.js} +2 -2
  106. package/dist/lime-elements/{p-5e712561.entry.js → p-dd056e15.entry.js} +2 -2
  107. package/dist/lime-elements/{p-6afe2acf.entry.js → p-e2cf9bc3.entry.js} +2 -2
  108. package/dist/lime-elements/p-e50680a4.entry.js +2 -0
  109. package/dist/lime-elements/p-e50680a4.entry.js.map +1 -0
  110. package/dist/types/components/collapsible-section/collapsible-section.d.ts +8 -0
  111. package/dist/types/components.d.ts +8 -0
  112. package/dist/types/global/shared-types/link.types.d.ts +8 -0
  113. package/dist/types/translations/da.d.ts +2 -0
  114. package/dist/types/translations/de.d.ts +2 -0
  115. package/dist/types/translations/en.d.ts +2 -0
  116. package/dist/types/translations/fi.d.ts +2 -0
  117. package/dist/types/translations/fr.d.ts +2 -0
  118. package/dist/types/translations/nl.d.ts +2 -0
  119. package/dist/types/translations/no.d.ts +2 -0
  120. package/dist/types/translations/sv.d.ts +2 -0
  121. package/dist/types/util/link-helper.d.ts +12 -0
  122. package/package.json +1 -1
  123. package/dist/cjs/link-helper-14629490.js.map +0 -1
  124. package/dist/cjs/translations-ab632a75.js.map +0 -1
  125. package/dist/esm/link-helper-0c4a5c2e.js.map +0 -1
  126. package/dist/esm/translations-211d4ccf.js.map +0 -1
  127. package/dist/lime-elements/p-0a7de7f9.entry.js +0 -2
  128. package/dist/lime-elements/p-0a7de7f9.entry.js.map +0 -1
  129. package/dist/lime-elements/p-19c509c3.js +0 -2
  130. package/dist/lime-elements/p-19c509c3.js.map +0 -1
  131. package/dist/lime-elements/p-19e93fb0.entry.js +0 -2
  132. package/dist/lime-elements/p-19e93fb0.entry.js.map +0 -1
  133. package/dist/lime-elements/p-af8a22e4.entry.js +0 -2
  134. package/dist/lime-elements/p-af8a22e4.entry.js.map +0 -1
  135. package/dist/lime-elements/p-bcaea01a.js +0 -2
  136. package/dist/lime-elements/p-bcaea01a.js.map +0 -1
  137. package/dist/lime-elements/p-c30e11ce.entry.js +0 -2
  138. package/dist/lime-elements/p-c30e11ce.entry.js.map +0 -1
  139. package/dist/lime-elements/p-fbc07821.entry.js.map +0 -1
  140. /package/dist/lime-elements/{p-044be875.entry.js.map → p-30460677.entry.js.map} +0 -0
  141. /package/dist/lime-elements/{p-51ca32cb.entry.js.map → p-36f6b3e1.entry.js.map} +0 -0
  142. /package/dist/lime-elements/{p-645d1b4e.entry.js.map → p-455d18b1.entry.js.map} +0 -0
  143. /package/dist/lime-elements/{p-765e1499.entry.js.map → p-45787d1c.entry.js.map} +0 -0
  144. /package/dist/lime-elements/{p-2ea4e6cd.entry.js.map → p-4fbdc58c.entry.js.map} +0 -0
  145. /package/dist/lime-elements/{p-70e8d88e.entry.js.map → p-8347afc4.entry.js.map} +0 -0
  146. /package/dist/lime-elements/{p-9622ec38.entry.js.map → p-cb7b50e6.entry.js.map} +0 -0
  147. /package/dist/lime-elements/{p-fc8a9efb.entry.js.map → p-d2272b5f.entry.js.map} +0 -0
  148. /package/dist/lime-elements/{p-5e712561.entry.js.map → p-dd056e15.entry.js.map} +0 -0
  149. /package/dist/lime-elements/{p-6afe2acf.entry.js.map → p-e2cf9bc3.entry.js.map} +0 -0
@@ -14,6 +14,8 @@ const da = {
14
14
  'callout.tip': 'Tip',
15
15
  'callout.caution': 'Advarsel',
16
16
  'callout.warning': 'Advarsel',
17
+ 'collapsible-section.open': 'Åbn { header } sektion',
18
+ 'collapsible-section.close': 'Luk { header } sektion',
17
19
  'date-picker.today': 'Idag',
18
20
  'date-picker.month.heading': 'Måned',
19
21
  'date-picker.quarter.heading': 'Kvartal',
@@ -64,6 +66,8 @@ const de = {
64
66
  'callout.tip': 'Tipp',
65
67
  'callout.caution': 'Vorsicht',
66
68
  'callout.warning': 'Warnung',
69
+ 'collapsible-section.open': '{ header } Bereich öffnen',
70
+ 'collapsible-section.close': '{ header } Bereich schließen',
67
71
  'date-picker.today': 'Heute',
68
72
  'date-picker.month.heading': 'Monat',
69
73
  'date-picker.quarter.heading': 'Quartal',
@@ -114,6 +118,8 @@ const en = {
114
118
  'callout.tip': 'Tip',
115
119
  'callout.caution': 'Caution',
116
120
  'callout.warning': 'Warning',
121
+ 'collapsible-section.open': 'Open { header } section',
122
+ 'collapsible-section.close': 'Close { header } section',
117
123
  'date-picker.today': 'Today',
118
124
  'date-picker.month.heading': 'Month',
119
125
  'date-picker.quarter.heading': 'Quarter',
@@ -164,6 +170,8 @@ const fi = {
164
170
  'callout.tip': 'Vinkki',
165
171
  'callout.caution': 'Varoitus',
166
172
  'callout.warning': 'Varoitus',
173
+ 'collapsible-section.open': 'Avaa { header } osio',
174
+ 'collapsible-section.close': 'Sulje { header } osio',
167
175
  'date-picker.today': 'Tänään',
168
176
  'date-picker.month.heading': 'Kuukausi',
169
177
  'date-picker.quarter.heading': 'Vuosineljännes',
@@ -214,6 +222,8 @@ const fr = {
214
222
  'callout.tip': 'Conseil',
215
223
  'callout.caution': 'Prudence',
216
224
  'callout.warning': 'Avertissement',
225
+ 'collapsible-section.open': 'Ouvrir la section { header }',
226
+ 'collapsible-section.close': 'Fermer la section { header }',
217
227
  'date-picker.today': "Aujourd'hui",
218
228
  'date-picker.month.heading': 'Mois',
219
229
  'date-picker.quarter.heading': 'Trimestre',
@@ -264,6 +274,8 @@ const nl = {
264
274
  'callout.tip': 'Tip',
265
275
  'callout.caution': 'Waarschuwing',
266
276
  'callout.warning': 'Waarschuwing',
277
+ 'collapsible-section.open': 'Open { header } sectie',
278
+ 'collapsible-section.close': 'Sluit { header } sectie',
267
279
  'date-picker.today': 'Vandaag',
268
280
  'date-picker.month.heading': 'Maand',
269
281
  'date-picker.quarter.heading': 'Kwartaal',
@@ -314,6 +326,8 @@ const no = {
314
326
  'callout.tip': 'Tip',
315
327
  'callout.caution': 'Advarsel',
316
328
  'callout.warning': 'Advarsel',
329
+ 'collapsible-section.open': 'Åpne { header } seksjon',
330
+ 'collapsible-section.close': 'Lukk { header } seksjon',
317
331
  'date-picker.today': 'I dag',
318
332
  'date-picker.month.heading': 'Måned',
319
333
  'date-picker.quarter.heading': 'Kvartal',
@@ -364,6 +378,8 @@ const sv = {
364
378
  'callout.tip': 'Tips',
365
379
  'callout.caution': 'Varning',
366
380
  'callout.warning': 'Varning',
381
+ 'collapsible-section.open': 'Öppna { header }-sektion',
382
+ 'collapsible-section.close': 'Stäng { header }-sektion',
367
383
  'date-picker.today': 'Idag',
368
384
  'date-picker.month.heading': 'Månad',
369
385
  'date-picker.quarter.heading': 'Kvartal',
@@ -429,4 +445,4 @@ const translate = (() => {
429
445
 
430
446
  exports.translate = translate;
431
447
 
432
- //# sourceMappingURL=translations-ab632a75.js.map
448
+ //# sourceMappingURL=translations-4393ec35.js.map
@@ -0,0 +1 @@
1
+ {"file":"translations-4393ec35.js","mappings":"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","names":[],"sources":["./src/translations/da.ts","./src/translations/de.ts","./src/translations/en.ts","./src/translations/fi.ts","./src/translations/fr.ts","./src/translations/nl.ts","./src/translations/no.ts","./src/translations/sv.ts","./src/global/translations.ts"],"sourcesContent":["export default {\n remove: 'Fjern',\n save: 'Gem',\n cancel: 'Annullér',\n loading: 'Indlæser…',\n value: 'Værdi',\n 'action-bar.collapse': 'Skjul',\n 'action-bar.expand': 'Vis',\n 'action-bar.actions': 'Handlinger',\n 'callout.note': 'Bemærk',\n 'callout.important': 'Vigtig',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Advarsel',\n 'callout.warning': 'Advarsel',\n 'collapsible-section.open': 'Åbn { header } sektion',\n 'collapsible-section.close': 'Luk { header } sektion',\n 'date-picker.today': 'Idag',\n 'date-picker.month.heading': 'Måned',\n 'date-picker.quarter.heading': 'Kvartal',\n 'date-picker.year.heading': 'År',\n 'chip-set.clear-all': 'Ryd alle',\n 'snackbar.dismiss': 'Luk',\n 'file.drag-and-drop-tips':\n 'Træk & slip filen her, eller klik for at gennemse.',\n 'file-viewer.message.unsupported-filetype': 'Denne fil kan ikke vises!',\n 'file-viewer.download': 'Hent',\n 'file-viewer.exit-fullscreen': 'Afslut fuldskærm',\n 'file-viewer.open-in-fullscreen': 'Åbn i fuld skærm',\n 'file-viewer.open-in-new-tab': 'Åbn i en ny fane',\n 'file-viewer.more-actions': 'Mere…',\n 'editor-menu.bold': 'Fed',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.strikethrough': 'Gennemstreget',\n 'editor-menu.h1': 'Overskrift 1',\n 'editor-menu.h2': 'Overskrift 2',\n 'editor-menu.h3': 'Overskrift 3',\n 'editor-menu.bulleted-list': 'Punktliste',\n 'editor-menu.numbered-list': 'Nummereret liste',\n 'editor-menu.blockquote': 'Blokcitat',\n 'editor-menu.link': 'Tilføj link',\n 'editor-link-menu.text': 'Tekst',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Kodeblok',\n 'editor-menu.code': 'Kode',\n 'editor-image-view.loading': 'Indlæser billede: { filename }...',\n 'editor-image-view.failed': 'Noget gik galt med billede: { filename }',\n 'editor-image-view.success': 'Billede: { filename } er klar',\n 'editor-image-view.resize-handle':\n 'Træk til højre eller venstre for at ændre størrelsen på billedet',\n 'progress-bar': 'Fremskridtsindikator',\n 'ai-avatar.label': 'AI-avatar',\n 'ai-avatar.thinking': 'tænker',\n};\n","export default {\n remove: 'Entfernen',\n save: 'Speichern',\n cancel: 'Abbrechen',\n loading: 'Laden…',\n value: 'Wert',\n 'action-bar.collapse': 'Einklappen',\n 'action-bar.expand': 'Ausklappen',\n 'action-bar.actions': 'Aktionen',\n 'callout.note': 'Hinweis',\n 'callout.important': 'Wichtig',\n 'callout.tip': 'Tipp',\n 'callout.caution': 'Vorsicht',\n 'callout.warning': 'Warnung',\n 'collapsible-section.open': '{ header } Bereich öffnen',\n 'collapsible-section.close': '{ header } Bereich schließen',\n 'date-picker.today': 'Heute',\n 'date-picker.month.heading': 'Monat',\n 'date-picker.quarter.heading': 'Quartal',\n 'date-picker.year.heading': 'Jahr',\n 'chip-set.clear-all': 'Alles löschen',\n 'snackbar.dismiss': 'Schließen',\n 'file.drag-and-drop-tips':\n 'Ziehen Sie Ihre Datei hierher oder klicken Sie, um zu durchsuchen.',\n 'file-viewer.message.unsupported-filetype':\n 'Diese Datei kann nicht angezeigt werden!',\n 'file-viewer.download': 'Herunterladen',\n 'file-viewer.exit-fullscreen': 'Vollbildmodus beenden',\n 'file-viewer.open-in-fullscreen': 'Im Vollbildmodus öffnen',\n 'file-viewer.open-in-new-tab': 'In einem neuen Tab öffnen',\n 'file-viewer.more-actions': 'Mehr…',\n 'editor-menu.bold': 'Fett',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.strikethrough': 'Durchgestrichen',\n 'editor-menu.h1': 'Überschrift 1',\n 'editor-menu.h2': 'Überschrift 2',\n 'editor-menu.h3': 'Überschrift 3',\n 'editor-menu.bulleted-list': 'Aufzählungsliste',\n 'editor-menu.numbered-list': 'Nummerierte Liste',\n 'editor-menu.blockquote': 'Zitatblock',\n 'editor-menu.link': 'Link',\n 'editor-link-menu.text': 'Text',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Codeblock',\n 'editor-menu.code': 'Code',\n 'editor-image-view.loading': 'Lade Bild: { filename }...',\n 'editor-image-view.failed':\n 'Beim Laden des Bildes ist etwas schief gelaufen: { filename }',\n 'editor-image-view.success': 'Bild: { filename } ist bereit',\n 'editor-image-view.resize-handle':\n 'Ziehen Sie nach rechts oder links, um die Größe des Bildes zu ändern.',\n 'progress-bar': 'Fortschrittsbalken',\n 'ai-avatar.label': 'KI-Avatar',\n 'ai-avatar.thinking': 'denkt',\n};\n","export default {\n remove: 'Remove',\n save: 'Save',\n cancel: 'Cancel',\n loading: 'Loading…',\n value: 'Value',\n 'action-bar.collapse': 'Collapse',\n 'action-bar.expand': 'Expand',\n 'action-bar.actions': 'Actions',\n 'callout.note': 'Note',\n 'callout.important': 'Important',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Caution',\n 'callout.warning': 'Warning',\n 'collapsible-section.open': 'Open { header } section',\n 'collapsible-section.close': 'Close { header } section',\n 'date-picker.today': 'Today',\n 'date-picker.month.heading': 'Month',\n 'date-picker.quarter.heading': 'Quarter',\n 'date-picker.year.heading': 'Year',\n 'chip-set.clear-all': 'Clear all',\n 'snackbar.dismiss': 'Dismiss',\n 'file.drag-and-drop-tips':\n 'Drag & drop your file here, or click to browse.',\n 'file-viewer.message.unsupported-filetype': 'Cannot display this file!',\n 'file-viewer.download': 'Download',\n 'file-viewer.exit-fullscreen': 'Exit fullscreen',\n 'file-viewer.open-in-fullscreen': 'Open in fullscreen',\n 'file-viewer.open-in-new-tab': 'Open in a new tab',\n 'file-viewer.more-actions': 'More…',\n 'editor-menu.bold': 'Bold',\n 'editor-menu.italic': 'Italic',\n 'editor-menu.strikethrough': 'Strikethrough',\n 'editor-menu.h1': 'Heading 1',\n 'editor-menu.h2': 'Heading 2',\n 'editor-menu.h3': 'Heading 3',\n 'editor-menu.bulleted-list': 'Bulleted list',\n 'editor-menu.numbered-list': 'Numbered list',\n 'editor-menu.blockquote': 'Blockquote',\n 'editor-menu.link': 'Link',\n 'editor-link-menu.text': 'Text',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Code block',\n 'editor-menu.code': 'Code',\n 'editor-image-view.loading': 'Loading image: { filename }...',\n 'editor-image-view.failed': 'Something went wrong with image: { filename }',\n 'editor-image-view.success': 'Image: { filename } is ready',\n 'editor-image-view.resize-handle':\n 'Drag to right or left to resize the image',\n 'progress-bar': 'Progress bar',\n 'ai-avatar.label': 'AI Avatar',\n 'ai-avatar.thinking': 'thinking',\n};\n","export default {\n remove: 'Poista',\n save: 'Tallenna',\n cancel: 'Peruuta',\n loading: 'Ladataan…',\n value: 'Arvo',\n 'action-bar.collapse': 'Pienennä',\n 'action-bar.expand': 'Laajenna',\n 'action-bar.actions': 'Toiminnot',\n 'callout.note': 'Huomio',\n 'callout.important': 'Tärkeää',\n 'callout.tip': 'Vinkki',\n 'callout.caution': 'Varoitus',\n 'callout.warning': 'Varoitus',\n 'collapsible-section.open': 'Avaa { header } osio',\n 'collapsible-section.close': 'Sulje { header } osio',\n 'date-picker.today': 'Tänään',\n 'date-picker.month.heading': 'Kuukausi',\n 'date-picker.quarter.heading': 'Vuosineljännes',\n 'date-picker.year.heading': 'Vuosi',\n 'chip-set.clear-all': 'Tyhjennä kaikki',\n 'snackbar.dismiss': 'Sulje',\n 'file.drag-and-drop-tips':\n 'Vedä & pudota tiedostosi tähän, tai napsauta selataksesi.',\n 'file-viewer.message.unsupported-filetype':\n 'Tätä tiedostoa ei voi näyttää!',\n 'file-viewer.download': 'Ladata',\n 'file-viewer.exit-fullscreen': 'Poistu koko näytöstä',\n 'file-viewer.open-in-fullscreen': 'Avaa koko näytössä',\n 'file-viewer.open-in-new-tab': 'Avaa uudella välilehdellä',\n 'file-viewer.more-actions': 'Lisää…',\n 'editor-menu.bold': 'Lihavoitu',\n 'editor-menu.italic': 'Kursivoitu',\n 'editor-menu.strikethrough': 'Yliviivaus',\n 'editor-menu.h1': 'Otsikkotaso 1',\n 'editor-menu.h2': 'Otsikkotaso 2',\n 'editor-menu.h3': 'Otsikkotaso 3',\n 'editor-menu.bulleted-list': 'Luettelomerkitty lista',\n 'editor-menu.numbered-list': 'Numeroitu lista',\n 'editor-menu.blockquote': 'Lohkoteksti',\n 'editor-menu.link': 'Lisää linkki',\n 'editor-link-menu.text': 'Teksti',\n 'editor-link-menu.link': 'Linkki',\n 'editor-menu.code-block': 'Koodilohko',\n 'editor-menu.code': 'Koodi',\n 'editor-image-view.loading': 'Ladataan kuvaa: { filename }...',\n 'editor-image-view.failed': 'Jokin meni pieleen kuvan kanssa: { filename }',\n 'editor-image-view.success': 'Kuva: { filename } on valmis',\n 'editor-image-view.resize-handle':\n 'Vedä oikealle tai vasemmalle muuttaaksesi kuvan kokoa',\n 'progress-bar': 'Edistymispalkki',\n 'ai-avatar.label': 'Tekoälyavatar',\n 'ai-avatar.thinking': 'ajattelee',\n};\n","export default {\n remove: 'Supprimer',\n save: 'Enregistrer',\n cancel: 'Annuler',\n loading: 'Chargement…',\n value: 'Valeur',\n 'action-bar.collapse': 'Réduire',\n 'action-bar.expand': 'Développer',\n 'action-bar.actions': 'Actions',\n 'callout.note': 'Note',\n 'callout.important': 'Important',\n 'callout.tip': 'Conseil',\n 'callout.caution': 'Prudence',\n 'callout.warning': 'Avertissement',\n 'collapsible-section.open': 'Ouvrir la section { header }',\n 'collapsible-section.close': 'Fermer la section { header }',\n 'date-picker.today': \"Aujourd'hui\",\n 'date-picker.month.heading': 'Mois',\n 'date-picker.quarter.heading': 'Trimestre',\n 'date-picker.year.heading': 'Année',\n 'chip-set.clear-all': 'Tout effacer',\n 'snackbar.dismiss': 'Fermer',\n 'file.drag-and-drop-tips':\n 'Glissez-déposez votre fichier ici, ou cliquez pour parcourir.',\n 'file-viewer.message.unsupported-filetype':\n \"Impossible d'afficher ce fichier!\",\n 'file-viewer.download': 'Télécharger',\n 'file-viewer.exit-fullscreen': 'Quitter le mode plein écran',\n 'file-viewer.open-in-fullscreen': 'Ouvrir en plein écran',\n 'file-viewer.open-in-new-tab': 'Ouvrir dans un nouvel onglet',\n 'file-viewer.more-actions': 'Plus…',\n 'editor-menu.bold': 'Gras',\n 'editor-menu.italic': 'Italique',\n 'editor-menu.strikethrough': 'Barré',\n 'editor-menu.h1': 'Titre 1',\n 'editor-menu.h2': 'Titre 2',\n 'editor-menu.h3': 'Titre 3',\n 'editor-menu.bulleted-list': 'Liste à puces',\n 'editor-menu.numbered-list': 'Liste numérotée',\n 'editor-menu.blockquote': 'Bloc de citation',\n 'editor-menu.link': 'Lien',\n 'editor-link-menu.text': 'Texte',\n 'editor-link-menu.link': 'Lien',\n 'editor-menu.code-block': 'Bloc de code',\n 'editor-menu.code': 'Code',\n 'editor-image-view.loading': \"Chargement de l'image: { filename }...\",\n 'editor-image-view.failed':\n \"Un problème est survenu avec l'image: { filename }\",\n 'editor-image-view.success': 'Image: { filename } est prête',\n 'editor-image-view.resize-handle':\n \"Faites glisser vers la droite ou la gauche pour redimensionner l'image\",\n 'progress-bar': 'Barre de progression',\n 'ai-avatar.label': 'Avatar IA',\n 'ai-avatar.thinking': 'en réflexion',\n};\n","export default {\n remove: 'Verwijder',\n save: 'Opslaan',\n cancel: 'Annuleren',\n loading: 'Laden…',\n value: 'Waarde',\n 'action-bar.collapse': 'Inklappen',\n 'action-bar.expand': 'Uitklappen',\n 'action-bar.actions': 'Acties',\n 'callout.note': 'Opmerking',\n 'callout.important': 'Belangrijk',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Waarschuwing',\n 'callout.warning': 'Waarschuwing',\n 'collapsible-section.open': 'Open { header } sectie',\n 'collapsible-section.close': 'Sluit { header } sectie',\n 'date-picker.today': 'Vandaag',\n 'date-picker.month.heading': 'Maand',\n 'date-picker.quarter.heading': 'Kwartaal',\n 'date-picker.year.heading': 'Jaar',\n 'chip-set.clear-all': 'Alles wissen',\n 'snackbar.dismiss': 'Sluiten',\n 'file.drag-and-drop-tips':\n 'Sleep een bestand hierheen of klik om te bladeren.',\n 'file-viewer.message.unsupported-filetype':\n 'Kan dit bestand niet weergeven!',\n 'file-viewer.download': 'Downloaden',\n 'file-viewer.exit-fullscreen': 'Verlaat volledig scherm',\n 'file-viewer.open-in-fullscreen': 'Open in volledig scherm',\n 'file-viewer.open-in-new-tab': 'Openen op een nieuw tabblad',\n 'file-viewer.more-actions': 'Meer…',\n 'editor-menu.bold': 'Vet',\n 'editor-menu.italic': 'Cursief',\n 'editor-menu.strikethrough': 'Doorhalen',\n 'editor-menu.h1': 'Kopniveau 1',\n 'editor-menu.h2': 'Kopniveau 2',\n 'editor-menu.h3': 'Kopniveau 3',\n 'editor-menu.bulleted-list': 'Opsomming',\n 'editor-menu.numbered-list': 'Genummerde lijst',\n 'editor-menu.blockquote': 'Blokcitaat',\n 'editor-menu.link': 'Link toevoegen',\n 'editor-link-menu.text': 'Tekst',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Codeblok',\n 'editor-menu.code': 'Code',\n 'editor-image-view.loading': 'Afbeelding wordt geladen: { filename }...',\n 'editor-image-view.failed':\n 'Er is iets misgegaan met de afbeelding: { filename }',\n 'editor-image-view.success': 'Afbeelding: { filename } is klaar',\n 'editor-image-view.resize-handle':\n 'Sleep naar rechts of links om de afbeeldingsgrootte te veranderen',\n 'progress-bar': 'Voortgangsbalk',\n 'ai-avatar.label': 'AI-avatar',\n 'ai-avatar.thinking': 'aan het denken',\n};\n","export default {\n remove: 'Fjerne',\n save: 'Lagre',\n cancel: 'Avbryt',\n loading: 'Laster…',\n value: 'Verdi',\n 'action-bar.collapse': 'Skjul',\n 'action-bar.expand': 'Vis',\n 'action-bar.actions': 'Handlinger',\n 'callout.note': 'Note',\n 'callout.important': 'Viktig',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Advarsel',\n 'callout.warning': 'Advarsel',\n 'collapsible-section.open': 'Åpne { header } seksjon',\n 'collapsible-section.close': 'Lukk { header } seksjon',\n 'date-picker.today': 'I dag',\n 'date-picker.month.heading': 'Måned',\n 'date-picker.quarter.heading': 'Kvartal',\n 'date-picker.year.heading': 'År',\n 'chip-set.clear-all': 'Fjern alle',\n 'file.drag-and-drop-tips':\n 'Dra & slipp filen her, eller klikk for å bla gjennom.',\n 'file-viewer.message.unsupported-filetype': 'Kan ikke vise denne filen!',\n 'file-viewer.download': 'Nedlasting',\n 'file-viewer.exit-fullscreen': 'Gå ut av fullskjerm',\n 'file-viewer.open-in-fullscreen': 'Åpne i fullskjerm',\n 'file-viewer.open-in-new-tab': 'Åpne i en ny fane',\n 'file-viewer.more-actions': 'Mer…',\n 'editor-menu.bold': 'Fet',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.strikethrough': 'Gjennomstreking',\n 'editor-menu.h1': 'Overskrift 1',\n 'editor-menu.h2': 'Overskrift 2',\n 'editor-menu.h3': 'Overskrifts 3',\n 'editor-menu.bulleted-list': 'Punktliste',\n 'editor-menu.numbered-list': 'Nummerert liste',\n 'editor-menu.blockquote': 'Blokksitat',\n 'editor-menu.link': 'Legg til lenke',\n 'editor-link-menu.text': 'Tekst',\n 'editor-link-menu.link': 'Lenke',\n 'editor-menu.code-block': 'Kodeblokk',\n 'editor-menu.code': 'Kode',\n 'editor-image-view.loading': 'Laster bilde: { filename }...',\n 'editor-image-view.failed': 'Noe gikk galt med bildet: { filename }',\n 'editor-image-view.success': 'Bilde: { filename } er klart',\n 'editor-image-view.resize-handle':\n 'Dra til høyre eller venstre for å endre størrelsen på bildet',\n 'progress-bar': 'Fremdriftsindikator',\n 'snackbar.dismiss': 'Lukk',\n 'ai-avatar.label': 'KI-avatar',\n 'ai-avatar.thinking': 'tenker',\n};\n","export default {\n remove: 'Ta bort',\n save: 'Spara',\n cancel: 'Avbryt',\n loading: 'Laddar…',\n value: 'Värde',\n 'action-bar.collapse': 'Dölj',\n 'action-bar.expand': 'Visa',\n 'action-bar.actions': 'Åtgärder',\n 'callout.note': 'Obs',\n 'callout.important': 'Viktigt',\n 'callout.tip': 'Tips',\n 'callout.caution': 'Varning',\n 'callout.warning': 'Varning',\n 'collapsible-section.open': 'Öppna { header }-sektion',\n 'collapsible-section.close': 'Stäng { header }-sektion',\n 'date-picker.today': 'Idag',\n 'date-picker.month.heading': 'Månad',\n 'date-picker.quarter.heading': 'Kvartal',\n 'date-picker.year.heading': 'År',\n 'chip-set.clear-all': 'Rensa alla',\n 'snackbar.dismiss': 'Stäng',\n 'file.drag-and-drop-tips':\n 'Dra & släpp filen här eller klicka om du vill bläddra.',\n 'file-viewer.message.unsupported-filetype': 'Kan inte visa den här filen!',\n 'file-viewer.download': 'Ladda ner',\n 'file-viewer.exit-fullscreen': 'Avsluta fullskärmsläge',\n 'file-viewer.open-in-fullscreen': 'Öppna i fullskärmsläge',\n 'file-viewer.open-in-new-tab': 'Öppna i ny flik',\n 'file-viewer.more-actions': 'Mer…',\n 'editor-menu.bold': 'Fet',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.strikethrough': 'Genomstruken',\n 'editor-menu.h1': 'Rubrik 1',\n 'editor-menu.h2': 'Rubrik 2',\n 'editor-menu.h3': 'Rubrik 3',\n 'editor-menu.bulleted-list': 'Punktlista',\n 'editor-menu.numbered-list': 'Numrerad lista',\n 'editor-menu.blockquote': 'Blockcitat',\n 'editor-menu.link': 'Lägg till länk',\n 'editor-link-menu.text': 'Text',\n 'editor-link-menu.link': 'Länk',\n 'editor-menu.code-block': 'Kodblock',\n 'editor-menu.code': 'Kod',\n 'editor-image-view.loading': 'Laddar bilden: { filename }...',\n 'editor-image-view.failed': 'Något gick fel med bilden: { filename }',\n 'editor-image-view.success': 'Bilden: { filename } är redo',\n 'editor-image-view.resize-handle':\n 'Dra åt höger eller vänster för att ändra storlek på bilden',\n 'progress-bar': 'Förloppsindikator',\n 'ai-avatar.label': 'AI-avatar',\n 'ai-avatar.thinking': 'tänker',\n};\n","import da from '../translations/da';\nimport de from '../translations/de';\nimport en from '../translations/en';\nimport fi from '../translations/fi';\nimport fr from '../translations/fr';\nimport nl from '../translations/nl';\nimport no from '../translations/no';\nimport sv from '../translations/sv';\n\nconst allTranslations = {\n da: da,\n de: de,\n en: en,\n fi: fi,\n fr: fr,\n no: no,\n nl: nl,\n sv: sv,\n};\n\nconst REGEX = /\\{\\s*(\\w+)\\s*\\}/g;\n\nexport class Translations {\n public get(key: string, language = 'en', params?: object): string {\n const translation = allTranslations[language][key];\n if (!translation) {\n return key;\n }\n\n return translation.replace(\n REGEX,\n (match: string, mergeCodeKey: string) => {\n return params[mergeCodeKey] || match;\n },\n );\n }\n}\n\nconst translations = new Translations();\nexport default (() => {\n return translations;\n})();\n"],"version":3}
@@ -1,4 +1,5 @@
1
1
  import { h, Host, } from '@stencil/core';
2
+ import { getRel } from '../../util/link-helper';
2
3
  import { getIconName } from '../icon/get-icon-props';
3
4
  import { makeEnterClickable, removeEnterClickable, } from '../../util/make-enter-clickable';
4
5
  import translate from '../../global/translations';
@@ -59,8 +60,10 @@ export class Chip {
59
60
  ];
60
61
  };
61
62
  this.renderAsLink = () => {
63
+ var _a, _b;
64
+ const rel = getRel((_a = this.link) === null || _a === void 0 ? void 0 : _a.target, (_b = this.link) === null || _b === void 0 ? void 0 : _b.rel);
62
65
  return [
63
- h("a", { id: 'chip-' + this.identifier, class: "chip", href: this.link.href, title: this.link.title, target: this.link.target, "aria-disabled": this.disabled || this.readonly, tabindex: this.disabled || this.readonly ? -1 : 0, onKeyDown: this.handleDeleteKeyDown }, this.renderSpinner(), this.renderPicture(), this.renderLabel(), this.renderBadge(), this.renderProgressBar()),
66
+ h("a", { id: 'chip-' + this.identifier, class: "chip", href: this.link.href, title: this.link.title, target: this.link.target, rel: rel, "aria-disabled": this.disabled || this.readonly, tabindex: this.disabled || this.readonly ? -1 : 0, onKeyDown: this.handleDeleteKeyDown }, this.renderSpinner(), this.renderPicture(), this.renderLabel(), this.renderBadge(), this.renderProgressBar()),
64
67
  this.renderRemoveButton(),
65
68
  this.renderActionsMenu(),
66
69
  ];
@@ -307,7 +310,7 @@ export class Chip {
307
310
  "mutable": false,
308
311
  "complexType": {
309
312
  "original": "Omit<Link, 'text'>",
310
- "resolved": "{ title?: string; target?: string; href: string; }",
313
+ "resolved": "{ title?: string; target?: string; href: string; rel?: string; }",
311
314
  "references": {
312
315
  "Omit": {
313
316
  "location": "global"
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../../src/components/chip/chip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { Icon } from '../../global/shared-types/icon.types';\nimport { Languages } from '../date-picker/date.types';\nimport { Link } from '../../global/shared-types/link.types';\nimport { getIconName } from '../icon/get-icon-props';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from '../../util/make-enter-clickable';\nimport translate from '../../global/translations';\nimport { BACKSPACE, DELETE } from '../../util/keycodes';\nimport { ChipType, Chip as OldChipInterface } from '../chip-set/chip.types';\nimport { Image } from '../../global/shared-types/image.types';\nimport { isEmpty } from 'lodash-es';\n\nimport { ListSeparator } from '../list/list-item.types';\nimport { LimelMenuCustomEvent, MenuItem } from '../../components';\n\ninterface ChipInterface extends Omit<OldChipInterface, 'id' | 'badge'> {\n /**\n * Identifier for the chip. Must be unique.\n */\n identifier?: number | string;\n\n /**\n * The value of the badge.\n */\n badge?: string | number;\n}\n\n/**\n * Chips and buttons are both interactive elements in UI design,\n * but they serve different purposes and are used in different contexts.\n *\n * :::warning\n * Do not use the chip component carelessly, as an alternative for\n * [`limel-button`](#/component/limel-button/) in the UI design!\n *\n * **Buttons:**\n * Buttons are used to trigger actions. They are typically used to\n * submit forms, open dialogs, initiate a process, or perform any action\n * that changes the state of the application.\n * Buttons' labels usually contain action words, in other words, the labels is\n * a _verb in imperative mood_ such as \"Submit\" or \"Delete\".\n * Buttons are placed in areas where it's clear they will initiate\n * an action when clicked.\n *\n * **Chips:**\n * Chips however are elements which may look like buttons, but they are\n * representing choices, filters, or tags, in a small block\n * or clearly bundled into a group. Chips are rarely used alone in the\n * user interface.\n * They are often used in a so called \"chip-set\", or placed together in\n * a section of the UI, where the user can expect more than one chip to be present.\n *\n * For example, a chip may represent a filter in a filter bar, or a tag in a tag list,\n * or an item in a shopping list.\n * Clicking a chip can also trigger an action, for example toggling a filter ON or OFF,\n * or opening a page with all posts tagged with the tag represented by the chip,\n * or navigating to a page with more information about the item in the shopping list.\n * :::\n *\n * @exampleComponent limel-example-chip-button\n * @exampleComponent limel-example-chip-link\n * @exampleComponent limel-example-chip-icon-colors\n * @exampleComponent limel-example-chip-image\n * @exampleComponent limel-example-chip-badge\n * @exampleComponent limel-example-chip-filter\n * @exampleComponent limel-example-chip-removable\n * @exampleComponent limel-example-chip-menu\n * @exampleComponent limel-example-chip-loading\n * @exampleComponent limel-example-chip-progress\n * @exampleComponent limel-example-chip-readonly-border\n * @exampleComponent limel-example-chip-aria-role\n */\n@Component({\n tag: 'limel-chip',\n shadow: { delegatesFocus: true },\n styleUrl: 'chip.scss',\n})\nexport class Chip implements ChipInterface {\n /**\n * Defines the language for translations.\n * Will translate the translatable strings on the components.\n */\n @Prop({ reflect: true })\n public language: Languages = 'en';\n\n /**\n * Label displayed on the chip\n */\n @Prop({ reflect: true })\n public text: string;\n\n /**\n * Icon of the chip.\n */\n @Prop()\n public icon?: string | Icon;\n\n /**\n * A picture to be displayed instead of the icon on the chip.\n */\n @Prop()\n public image?: Image;\n\n /**\n * If supplied, the chip will become a clickable link.\n */\n @Prop()\n public link?: Omit<Link, 'text'>;\n\n /**\n * The value of the badge, displayed on the chip.\n */\n @Prop({ reflect: true })\n public badge?: string | number;\n\n /**\n * Set to `true` to disable the chip.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Set to `true` to render the chip as a static UI element.\n * Useful when the parent component has a `readonly` state.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * Set to `true` to visualize the chip in a \"selected\" state.\n * This is typically used when the chip is used in a chip-set\n * along with other chips.\n */\n @Prop({ reflect: true })\n public selected = false;\n\n /**\n * Set to `true` to visualize the chip in an \"invalid\" or \"error\" state.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * Set to `true` to render a remove button on the chip.\n */\n @Prop({ reflect: true })\n public removable = false;\n\n /**\n * Set to `filter` to render the chip with a distinct style\n * suitable for visualizing filters.\n *\n * @beta\n */\n @Prop({ reflect: true })\n public type?: ChipType = 'default';\n\n /**\n * Set to `true` to put the component in the `loading` state,\n * and render an indeterminate progress indicator inside the chip.\n * This does _not_ disable the interactivity of the chip!\n */\n @Prop({ reflect: true })\n public loading? = false;\n\n /**\n * Reflects the current value of a progress bar on the chip,\n * visualizing the percentage of an ongoing process.\n * Must be a number between `0` and `100`.\n */\n @Prop({ reflect: true })\n public progress?: number;\n\n /**\n * Identifier for the chip. Must be unique.\n */\n @Prop({ reflect: true })\n public identifier?: number | string = crypto.randomUUID();\n\n /**\n * When provided, the chip will render an ellipsis menu with the supplied items.\n * Also, this will hide the \"remove button\" when `removable={true}`, as\n * the remove button will automatically become the last item in the menu.\n */\n @Prop()\n public menuItems?: Array<MenuItem | ListSeparator> = [];\n\n /**\n * Fired when clicking on the remove button of a `removable` chip.\n * The value of `identifier` is emitted as the event detail.\n */\n @Event()\n public remove: EventEmitter<number | string>;\n\n /**\n * Emitted when a menu item is selected from the actions menu.\n */\n @Event()\n public menuItemSelected: EventEmitter<MenuItem>;\n\n @Element()\n private host: HTMLLimelChipElement;\n\n public componentWillLoad() {\n makeEnterClickable(this.host);\n }\n\n public disconnectedCallback() {\n removeEnterClickable(this.host);\n }\n\n public render() {\n return (\n <Host onClick={this.filterClickWhenDisabled}>\n {this.link ? this.renderAsLink() : this.renderAsButton()}\n </Host>\n );\n }\n\n private renderAsButton = () => {\n return [\n <button\n id={'chip-' + this.identifier}\n class=\"chip\"\n role=\"button\"\n disabled={this.disabled || this.readonly}\n aria-busy={this.loading ? 'true' : 'false'}\n aria-live=\"polite\"\n onKeyDown={this.handleDeleteKeyDown}\n >\n {this.renderSpinner()}\n {this.renderPicture()}\n {this.renderLabel()}\n {this.renderBadge()}\n {this.renderProgressBar()}\n </button>,\n this.renderRemoveButton(),\n this.renderActionsMenu(),\n ];\n };\n\n private renderAsLink = () => {\n return [\n <a\n id={'chip-' + this.identifier}\n class=\"chip\"\n href={this.link.href}\n title={this.link.title}\n target={this.link.target}\n aria-disabled={this.disabled || this.readonly}\n tabindex={this.disabled || this.readonly ? -1 : 0}\n onKeyDown={this.handleDeleteKeyDown}\n >\n {this.renderSpinner()}\n {this.renderPicture()}\n {this.renderLabel()}\n {this.renderBadge()}\n {this.renderProgressBar()}\n </a>,\n this.renderRemoveButton(),\n this.renderActionsMenu(),\n ];\n };\n\n private renderLabel = () => {\n return <span class=\"text\">{this.text}</span>;\n };\n\n private renderPicture() {\n const icon = getIconName(this.icon);\n\n if (!icon && !this.image) {\n return;\n }\n\n if (!isEmpty(this.image)) {\n return (\n <img src={this.image.src} alt={this.image.alt} loading=\"lazy\" />\n );\n }\n\n return (\n <limel-icon\n badge={true}\n name={icon}\n style={{\n color: `${(this.icon as Icon)?.color}`,\n 'background-color': `${\n (this.icon as Icon)?.backgroundColor\n }`,\n }}\n />\n );\n }\n\n private renderBadge() {\n if (!this.badge) {\n return;\n }\n\n return <limel-badge label={this.badge} />;\n }\n\n private renderRemoveButton() {\n if (\n !this.removable ||\n this.readonly ||\n this.disabled ||\n !!this.menuItems?.length\n ) {\n return;\n }\n\n const svgData =\n '<svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" d=\"m8 8 16 16M24 8 8 24\"/></svg>';\n\n return (\n <button\n class=\"trailing-button remove-button\"\n tabIndex={-1}\n aria-label={this.removeChipLabel}\n aria-controls={'chip-' + this.identifier}\n innerHTML={svgData}\n onClick={this.handleRemoveClick}\n />\n );\n }\n\n private renderActionsMenu() {\n if (!this.menuItems?.length) {\n return;\n }\n\n const svgData =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" xml:space=\"preserve\"><circle fill=\"currentColor\" cx=\"16\" cy=\"16\" r=\"2\"/><circle fill=\"currentColor\" cx=\"16\" cy=\"24\" r=\"2\"/><circle fill=\"currentColor\" cx=\"16\" cy=\"8\" r=\"2\"/></svg>';\n\n const menuItems = this.getMenuItems();\n\n return (\n <limel-menu\n items={menuItems}\n onSelect={this.handleActionMenuSelect}\n openDirection=\"bottom-end\"\n onCancel={this.handleActionMenuCancel}\n >\n <button\n slot=\"trigger\"\n disabled={this.disabled}\n class=\"trailing-button\"\n aria-label={this.actionMenuLabel}\n innerHTML={svgData}\n />\n </limel-menu>\n );\n }\n\n private getMenuItems() {\n let menuItems = [...this.menuItems];\n\n if (this.removable) {\n menuItems = [\n ...menuItems,\n { separator: true },\n {\n text: this.removeChipLabel(),\n icon: {\n name: 'delete_sign',\n color: 'rgb(var(--color-red-default))',\n },\n value: '_remove',\n },\n ];\n }\n\n return menuItems;\n }\n\n private filterClickWhenDisabled = (e) => {\n if (this.disabled || this.readonly) {\n e.preventDefault();\n }\n };\n\n private handleRemoveClick = (event: MouseEvent | KeyboardEvent) => {\n event.stopPropagation();\n this.remove.emit(this.identifier);\n };\n\n private handleDeleteKeyDown = (event: KeyboardEvent) => {\n if (!this.removable) {\n return;\n }\n\n const keys = [DELETE, BACKSPACE];\n\n if (keys.includes(event.key)) {\n this.handleRemoveClick(event);\n }\n };\n\n private removeChipLabel = (): string => {\n return translate.get('remove', this.language) + ' ' + this.text;\n };\n\n private actionMenuLabel = (): string => {\n return translate.get('file-viewer.more-actions', this.language);\n };\n\n private renderSpinner() {\n if (!this.loading) {\n return;\n }\n\n return <limel-linear-progress indeterminate={true} />;\n }\n\n private renderProgressBar() {\n if (!this.progress) {\n return;\n }\n\n const currentPercentage = this.progress + '%';\n\n return (\n <div\n role=\"progressbar\"\n aria-label=\"%\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={this.progress}\n style={{\n '--limel-chip-progress-percentage': currentPercentage,\n }}\n />\n );\n }\n\n private handleActionMenuSelect = (\n event: LimelMenuCustomEvent<MenuItem>,\n ) => {\n const menuItem = event.detail;\n\n if (!menuItem) {\n return;\n }\n\n if (menuItem.value === '_remove') {\n this.remove.emit(this.identifier);\n\n return;\n }\n\n this.menuItemSelected.emit(menuItem);\n };\n\n private handleActionMenuCancel = (event: LimelMenuCustomEvent<void>) => {\n event.stopPropagation();\n };\n}\n"]}
1
+ {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../../src/components/chip/chip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { Icon } from '../../global/shared-types/icon.types';\nimport { Languages } from '../date-picker/date.types';\nimport { Link } from '../../global/shared-types/link.types';\nimport { getRel } from '../../util/link-helper';\nimport { getIconName } from '../icon/get-icon-props';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from '../../util/make-enter-clickable';\nimport translate from '../../global/translations';\nimport { BACKSPACE, DELETE } from '../../util/keycodes';\nimport { ChipType, Chip as OldChipInterface } from '../chip-set/chip.types';\nimport { Image } from '../../global/shared-types/image.types';\nimport { isEmpty } from 'lodash-es';\n\nimport { ListSeparator } from '../list/list-item.types';\nimport { LimelMenuCustomEvent, MenuItem } from '../../components';\n\ninterface ChipInterface extends Omit<OldChipInterface, 'id' | 'badge'> {\n /**\n * Identifier for the chip. Must be unique.\n */\n identifier?: number | string;\n\n /**\n * The value of the badge.\n */\n badge?: string | number;\n}\n\n/**\n * Chips and buttons are both interactive elements in UI design,\n * but they serve different purposes and are used in different contexts.\n *\n * :::warning\n * Do not use the chip component carelessly, as an alternative for\n * [`limel-button`](#/component/limel-button/) in the UI design!\n *\n * **Buttons:**\n * Buttons are used to trigger actions. They are typically used to\n * submit forms, open dialogs, initiate a process, or perform any action\n * that changes the state of the application.\n * Buttons' labels usually contain action words, in other words, the labels is\n * a _verb in imperative mood_ such as \"Submit\" or \"Delete\".\n * Buttons are placed in areas where it's clear they will initiate\n * an action when clicked.\n *\n * **Chips:**\n * Chips however are elements which may look like buttons, but they are\n * representing choices, filters, or tags, in a small block\n * or clearly bundled into a group. Chips are rarely used alone in the\n * user interface.\n * They are often used in a so called \"chip-set\", or placed together in\n * a section of the UI, where the user can expect more than one chip to be present.\n *\n * For example, a chip may represent a filter in a filter bar, or a tag in a tag list,\n * or an item in a shopping list.\n * Clicking a chip can also trigger an action, for example toggling a filter ON or OFF,\n * or opening a page with all posts tagged with the tag represented by the chip,\n * or navigating to a page with more information about the item in the shopping list.\n * :::\n *\n * @exampleComponent limel-example-chip-button\n * @exampleComponent limel-example-chip-link\n * @exampleComponent limel-example-chip-icon-colors\n * @exampleComponent limel-example-chip-image\n * @exampleComponent limel-example-chip-badge\n * @exampleComponent limel-example-chip-filter\n * @exampleComponent limel-example-chip-removable\n * @exampleComponent limel-example-chip-menu\n * @exampleComponent limel-example-chip-loading\n * @exampleComponent limel-example-chip-progress\n * @exampleComponent limel-example-chip-readonly-border\n * @exampleComponent limel-example-chip-aria-role\n */\n@Component({\n tag: 'limel-chip',\n shadow: { delegatesFocus: true },\n styleUrl: 'chip.scss',\n})\nexport class Chip implements ChipInterface {\n /**\n * Defines the language for translations.\n * Will translate the translatable strings on the components.\n */\n @Prop({ reflect: true })\n public language: Languages = 'en';\n\n /**\n * Label displayed on the chip\n */\n @Prop({ reflect: true })\n public text: string;\n\n /**\n * Icon of the chip.\n */\n @Prop()\n public icon?: string | Icon;\n\n /**\n * A picture to be displayed instead of the icon on the chip.\n */\n @Prop()\n public image?: Image;\n\n /**\n * If supplied, the chip will become a clickable link.\n */\n @Prop()\n public link?: Omit<Link, 'text'>;\n\n /**\n * The value of the badge, displayed on the chip.\n */\n @Prop({ reflect: true })\n public badge?: string | number;\n\n /**\n * Set to `true` to disable the chip.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Set to `true` to render the chip as a static UI element.\n * Useful when the parent component has a `readonly` state.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * Set to `true` to visualize the chip in a \"selected\" state.\n * This is typically used when the chip is used in a chip-set\n * along with other chips.\n */\n @Prop({ reflect: true })\n public selected = false;\n\n /**\n * Set to `true` to visualize the chip in an \"invalid\" or \"error\" state.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * Set to `true` to render a remove button on the chip.\n */\n @Prop({ reflect: true })\n public removable = false;\n\n /**\n * Set to `filter` to render the chip with a distinct style\n * suitable for visualizing filters.\n *\n * @beta\n */\n @Prop({ reflect: true })\n public type?: ChipType = 'default';\n\n /**\n * Set to `true` to put the component in the `loading` state,\n * and render an indeterminate progress indicator inside the chip.\n * This does _not_ disable the interactivity of the chip!\n */\n @Prop({ reflect: true })\n public loading? = false;\n\n /**\n * Reflects the current value of a progress bar on the chip,\n * visualizing the percentage of an ongoing process.\n * Must be a number between `0` and `100`.\n */\n @Prop({ reflect: true })\n public progress?: number;\n\n /**\n * Identifier for the chip. Must be unique.\n */\n @Prop({ reflect: true })\n public identifier?: number | string = crypto.randomUUID();\n\n /**\n * When provided, the chip will render an ellipsis menu with the supplied items.\n * Also, this will hide the \"remove button\" when `removable={true}`, as\n * the remove button will automatically become the last item in the menu.\n */\n @Prop()\n public menuItems?: Array<MenuItem | ListSeparator> = [];\n\n /**\n * Fired when clicking on the remove button of a `removable` chip.\n * The value of `identifier` is emitted as the event detail.\n */\n @Event()\n public remove: EventEmitter<number | string>;\n\n /**\n * Emitted when a menu item is selected from the actions menu.\n */\n @Event()\n public menuItemSelected: EventEmitter<MenuItem>;\n\n @Element()\n private host: HTMLLimelChipElement;\n\n public componentWillLoad() {\n makeEnterClickable(this.host);\n }\n\n public disconnectedCallback() {\n removeEnterClickable(this.host);\n }\n\n public render() {\n return (\n <Host onClick={this.filterClickWhenDisabled}>\n {this.link ? this.renderAsLink() : this.renderAsButton()}\n </Host>\n );\n }\n\n private renderAsButton = () => {\n return [\n <button\n id={'chip-' + this.identifier}\n class=\"chip\"\n role=\"button\"\n disabled={this.disabled || this.readonly}\n aria-busy={this.loading ? 'true' : 'false'}\n aria-live=\"polite\"\n onKeyDown={this.handleDeleteKeyDown}\n >\n {this.renderSpinner()}\n {this.renderPicture()}\n {this.renderLabel()}\n {this.renderBadge()}\n {this.renderProgressBar()}\n </button>,\n this.renderRemoveButton(),\n this.renderActionsMenu(),\n ];\n };\n\n private renderAsLink = () => {\n const rel = getRel(this.link?.target, this.link?.rel);\n\n return [\n <a\n id={'chip-' + this.identifier}\n class=\"chip\"\n href={this.link.href}\n title={this.link.title}\n target={this.link.target}\n rel={rel}\n aria-disabled={this.disabled || this.readonly}\n tabindex={this.disabled || this.readonly ? -1 : 0}\n onKeyDown={this.handleDeleteKeyDown}\n >\n {this.renderSpinner()}\n {this.renderPicture()}\n {this.renderLabel()}\n {this.renderBadge()}\n {this.renderProgressBar()}\n </a>,\n this.renderRemoveButton(),\n this.renderActionsMenu(),\n ];\n };\n\n private renderLabel = () => {\n return <span class=\"text\">{this.text}</span>;\n };\n\n private renderPicture() {\n const icon = getIconName(this.icon);\n\n if (!icon && !this.image) {\n return;\n }\n\n if (!isEmpty(this.image)) {\n return (\n <img src={this.image.src} alt={this.image.alt} loading=\"lazy\" />\n );\n }\n\n return (\n <limel-icon\n badge={true}\n name={icon}\n style={{\n color: `${(this.icon as Icon)?.color}`,\n 'background-color': `${\n (this.icon as Icon)?.backgroundColor\n }`,\n }}\n />\n );\n }\n\n private renderBadge() {\n if (!this.badge) {\n return;\n }\n\n return <limel-badge label={this.badge} />;\n }\n\n private renderRemoveButton() {\n if (\n !this.removable ||\n this.readonly ||\n this.disabled ||\n !!this.menuItems?.length\n ) {\n return;\n }\n\n const svgData =\n '<svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" d=\"m8 8 16 16M24 8 8 24\"/></svg>';\n\n return (\n <button\n class=\"trailing-button remove-button\"\n tabIndex={-1}\n aria-label={this.removeChipLabel}\n aria-controls={'chip-' + this.identifier}\n innerHTML={svgData}\n onClick={this.handleRemoveClick}\n />\n );\n }\n\n private renderActionsMenu() {\n if (!this.menuItems?.length) {\n return;\n }\n\n const svgData =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" xml:space=\"preserve\"><circle fill=\"currentColor\" cx=\"16\" cy=\"16\" r=\"2\"/><circle fill=\"currentColor\" cx=\"16\" cy=\"24\" r=\"2\"/><circle fill=\"currentColor\" cx=\"16\" cy=\"8\" r=\"2\"/></svg>';\n\n const menuItems = this.getMenuItems();\n\n return (\n <limel-menu\n items={menuItems}\n onSelect={this.handleActionMenuSelect}\n openDirection=\"bottom-end\"\n onCancel={this.handleActionMenuCancel}\n >\n <button\n slot=\"trigger\"\n disabled={this.disabled}\n class=\"trailing-button\"\n aria-label={this.actionMenuLabel}\n innerHTML={svgData}\n />\n </limel-menu>\n );\n }\n\n private getMenuItems() {\n let menuItems = [...this.menuItems];\n\n if (this.removable) {\n menuItems = [\n ...menuItems,\n { separator: true },\n {\n text: this.removeChipLabel(),\n icon: {\n name: 'delete_sign',\n color: 'rgb(var(--color-red-default))',\n },\n value: '_remove',\n },\n ];\n }\n\n return menuItems;\n }\n\n private filterClickWhenDisabled = (e) => {\n if (this.disabled || this.readonly) {\n e.preventDefault();\n }\n };\n\n private handleRemoveClick = (event: MouseEvent | KeyboardEvent) => {\n event.stopPropagation();\n this.remove.emit(this.identifier);\n };\n\n private handleDeleteKeyDown = (event: KeyboardEvent) => {\n if (!this.removable) {\n return;\n }\n\n const keys = [DELETE, BACKSPACE];\n\n if (keys.includes(event.key)) {\n this.handleRemoveClick(event);\n }\n };\n\n private removeChipLabel = (): string => {\n return translate.get('remove', this.language) + ' ' + this.text;\n };\n\n private actionMenuLabel = (): string => {\n return translate.get('file-viewer.more-actions', this.language);\n };\n\n private renderSpinner() {\n if (!this.loading) {\n return;\n }\n\n return <limel-linear-progress indeterminate={true} />;\n }\n\n private renderProgressBar() {\n if (!this.progress) {\n return;\n }\n\n const currentPercentage = this.progress + '%';\n\n return (\n <div\n role=\"progressbar\"\n aria-label=\"%\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={this.progress}\n style={{\n '--limel-chip-progress-percentage': currentPercentage,\n }}\n />\n );\n }\n\n private handleActionMenuSelect = (\n event: LimelMenuCustomEvent<MenuItem>,\n ) => {\n const menuItem = event.detail;\n\n if (!menuItem) {\n return;\n }\n\n if (menuItem.value === '_remove') {\n this.remove.emit(this.identifier);\n\n return;\n }\n\n this.menuItemSelected.emit(menuItem);\n };\n\n private handleActionMenuCancel = (event: LimelMenuCustomEvent<void>) => {\n event.stopPropagation();\n };\n}\n"]}
@@ -173,14 +173,14 @@
173
173
  outline: none;
174
174
  box-shadow: var(--shadow-depth-8-focused);
175
175
  }
176
- .open-close-toggle:hover {
176
+ .open-close-toggle:hover, .open-close-toggle:focus-visible {
177
177
  background-color: var(--open-header-background-color, rgb(var(--contrast-300)));
178
178
  }
179
179
  section.open .open-close-toggle {
180
180
  background-color: var(--open-header-background-color, rgb(var(--contrast-100)));
181
181
  border-radius: var(--border-radius-of-header) var(--border-radius-of-header) 0 0;
182
182
  }
183
- section.open .open-close-toggle:hover {
183
+ section.open .open-close-toggle:hover, section.open .open-close-toggle:focus-visible {
184
184
  background-color: var(--open-header-background-color, rgb(var(--contrast-300)));
185
185
  }
186
186
 
@@ -286,15 +286,22 @@ section.open .body slot {
286
286
  opacity: 1;
287
287
  }
288
288
 
289
- header:hover + .body {
289
+ header:hover + .body,
290
+ header:has(.open-close-toggle:hover) + .body,
291
+ header:has(.open-close-toggle:focus-visible) + .body {
290
292
  will-change: grid-template-rows;
291
293
  }
292
- header:hover + .body slot {
294
+ header:hover + .body slot,
295
+ header:has(.open-close-toggle:hover) + .body slot,
296
+ header:has(.open-close-toggle:focus-visible) + .body slot {
293
297
  will-change: opacity;
294
298
  }
295
299
 
296
300
  .expand-icon {
297
301
  position: relative;
302
+ display: flex;
303
+ align-items: center;
304
+ justify-content: center;
298
305
  height: 1.875rem;
299
306
  margin: 0 0 0 0.5rem;
300
307
  width: 0.75rem;
@@ -303,30 +310,76 @@ header:hover + .body slot {
303
310
 
304
311
  .line {
305
312
  position: absolute;
306
- top: 0;
307
- right: 0;
308
- bottom: 0;
309
- left: 0;
313
+ inset: auto;
310
314
  margin: auto;
311
315
  width: 100%;
312
316
  border-radius: 1rem;
313
317
  height: 0.125rem;
314
- background-color: var(--header-stroke-color, rgb(var(--contrast-900)));
315
318
  }
316
319
  .line:first-of-type, .line:last-of-type {
317
320
  transition: opacity 0.2s ease 0.1s, transform 0.4s ease 0.3s;
321
+ opacity: 0;
322
+ background-color: var(--header-stroke-color, rgb(var(--contrast-900)));
318
323
  }
319
- .line:first-of-type {
320
- transform: rotate3d(0, 0, 1, 90deg);
324
+ .line:nth-of-type(2) {
325
+ transform: translate3d(0, 0.25rem, 0) rotate(90deg);
321
326
  }
322
- .line:last-of-type {
323
- transform: rotate3d(0, 0, 1, -90deg);
327
+ .line:nth-of-type(3) {
328
+ transform: translate3d(0, -0.25rem, 0) rotate(-90deg);
324
329
  }
325
330
  .line:nth-of-type(2), .line:nth-of-type(3) {
326
331
  transition: opacity 0.2s ease, transform 0.18s ease;
327
332
  }
333
+ .line:nth-of-type(2):before, .line:nth-of-type(2):after, .line:nth-of-type(3):before, .line:nth-of-type(3):after {
334
+ content: "";
335
+ position: absolute;
336
+ inset: 0;
337
+ margin: auto;
338
+ width: 50%;
339
+ height: 100%;
340
+ border-radius: inherit;
341
+ background-color: var(--header-stroke-color, rgb(var(--contrast-900)));
342
+ }
343
+ .line:nth-of-type(2):before, .line:nth-of-type(3):before {
344
+ transform: translate3d(0, -0.1rem, 0) rotate(45deg);
345
+ }
346
+ .line:nth-of-type(2):after, .line:nth-of-type(3):after {
347
+ transform: translate3d(0, 0.1rem, 0) rotate(-45deg);
348
+ }
349
+
350
+ .open-close-toggle:hover + .expand-icon .line:first-of-type, .open-close-toggle:hover + .expand-icon .line:last-of-type,
351
+ .open-close-toggle:focus-visible + .expand-icon .line:first-of-type,
352
+ .open-close-toggle:focus-visible + .expand-icon .line:last-of-type {
353
+ transition: opacity 0.8s ease 0.4s, transform 0.4s ease 0.3s;
354
+ opacity: 1;
355
+ }
356
+ .open-close-toggle:hover + .expand-icon .line:first-of-type,
357
+ .open-close-toggle:focus-visible + .expand-icon .line:first-of-type {
358
+ transform: rotate3d(0, 0, 1, 0deg);
359
+ }
360
+ .open-close-toggle:hover + .expand-icon .line:last-of-type,
361
+ .open-close-toggle:focus-visible + .expand-icon .line:last-of-type {
362
+ transform: rotate3d(0, 0, 1, 0deg);
363
+ }
364
+ .open-close-toggle:hover + .expand-icon .line:nth-of-type(2), .open-close-toggle:hover + .expand-icon .line:nth-of-type(3),
365
+ .open-close-toggle:focus-visible + .expand-icon .line:nth-of-type(2),
366
+ .open-close-toggle:focus-visible + .expand-icon .line:nth-of-type(3) {
367
+ transition: opacity 0.5s ease 0.4s, transform 0.7s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s;
368
+ }
369
+ .open-close-toggle:hover + .expand-icon .line:nth-of-type(2),
370
+ .open-close-toggle:focus-visible + .expand-icon .line:nth-of-type(2) {
371
+ transform: translate3d(0, 0.5rem, 0) rotate(90deg);
372
+ opacity: 0.4;
373
+ }
374
+ .open-close-toggle:hover + .expand-icon .line:nth-of-type(3),
375
+ .open-close-toggle:focus-visible + .expand-icon .line:nth-of-type(3) {
376
+ transform: translate3d(0, -0.5rem, 0) rotate(-90deg);
377
+ opacity: 0.4;
378
+ }
379
+
328
380
  section.open .line:first-of-type, section.open .line:last-of-type {
329
381
  transition: opacity 0.2s ease 0.1s, transform 0.4s ease 0.3s;
382
+ opacity: 1;
330
383
  }
331
384
  section.open .line:first-of-type {
332
385
  transform: rotate3d(0, 0, 1, 0deg);
@@ -338,46 +391,33 @@ section.open .line:nth-of-type(2), section.open .line:nth-of-type(3) {
338
391
  transition: opacity 1s ease, transform 0.4s ease;
339
392
  }
340
393
  section.open .line:nth-of-type(2) {
341
- transform: translate3d(0, -1rem, 0);
394
+ transform: translate3d(0, 1rem, 0) rotate(90deg);
342
395
  opacity: 0;
343
396
  }
344
397
  section.open .line:nth-of-type(3) {
345
- transform: translate3d(0, 1rem, 0);
398
+ transform: translate3d(0, -1rem, 0) rotate(-90deg);
346
399
  opacity: 0;
347
400
  }
348
-
349
- .open-close-toggle:hover + .expand-icon .line:first-of-type {
350
- transform: rotate3d(0, 0, 1, 0deg);
351
- }
352
- .open-close-toggle:hover + .expand-icon .line:last-of-type {
353
- transform: rotate3d(0, 0, 1, 0deg);
354
- }
355
- .open-close-toggle:hover + .expand-icon .line:nth-of-type(2), .open-close-toggle:hover + .expand-icon .line:nth-of-type(3) {
356
- transition: opacity 0.5s ease 0.4s, transform 0.7s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s;
357
- }
358
- .open-close-toggle:hover + .expand-icon .line:nth-of-type(2) {
359
- transform: translate3d(0, -0.5rem, 0);
360
- opacity: 0.4;
361
- }
362
- .open-close-toggle:hover + .expand-icon .line:nth-of-type(3) {
363
- transform: translate3d(0, 0.5rem, 0);
364
- opacity: 0.4;
365
- }
366
-
367
- section.open .open-close-toggle:hover + .expand-icon .line:first-of-type, section.open .open-close-toggle:hover + .expand-icon .line:last-of-type {
401
+ section.open .open-close-toggle:hover + .expand-icon .line:first-of-type, section.open .open-close-toggle:hover + .expand-icon .line:last-of-type,
402
+ section.open .open-close-toggle:focus-visible + .expand-icon .line:first-of-type,
403
+ section.open .open-close-toggle:focus-visible + .expand-icon .line:last-of-type {
368
404
  transition: opacity 0.2s ease 0.4s, transform 0.4s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s;
369
405
  }
370
- section.open .open-close-toggle:hover + .expand-icon .line:first-of-type {
406
+ section.open .open-close-toggle:hover + .expand-icon .line:first-of-type,
407
+ section.open .open-close-toggle:focus-visible + .expand-icon .line:first-of-type {
371
408
  transform: rotate3d(0, 0, 1, 45deg);
372
409
  }
373
- section.open .open-close-toggle:hover + .expand-icon .line:last-of-type {
410
+ section.open .open-close-toggle:hover + .expand-icon .line:last-of-type,
411
+ section.open .open-close-toggle:focus-visible + .expand-icon .line:last-of-type {
374
412
  transform: rotate3d(0, 0, 1, -45deg);
375
413
  }
376
- section.open .open-close-toggle:hover + .expand-icon .line:nth-of-type(2) {
377
- transform: translate3d(0, -1rem, 0);
414
+ section.open .open-close-toggle:hover + .expand-icon .line:nth-of-type(2),
415
+ section.open .open-close-toggle:focus-visible + .expand-icon .line:nth-of-type(2) {
416
+ transform: translate3d(0, 1rem, 0) rotate(90deg);
378
417
  opacity: 0;
379
418
  }
380
- section.open .open-close-toggle:hover + .expand-icon .line:nth-of-type(3) {
381
- transform: translate3d(0, 1rem, 0);
419
+ section.open .open-close-toggle:hover + .expand-icon .line:nth-of-type(3),
420
+ section.open .open-close-toggle:focus-visible + .expand-icon .line:nth-of-type(3) {
421
+ transform: translate3d(0, -1rem, 0) rotate(-90deg);
382
422
  opacity: 0;
383
423
  }
@@ -3,6 +3,7 @@ import { dispatchResizeEvent } from '../../util/dispatch-resize-event';
3
3
  import { makeEnterClickable, removeEnterClickable, } from '../../util/make-enter-clickable';
4
4
  import { createRandomString } from '../../util/random-string';
5
5
  import { getIconColor, getIconName, getIconTitle, } from '../icon/get-icon-props';
6
+ import translate from '../../global/translations';
6
7
  /**
7
8
  * A collapsible section can be used to group related content together
8
9
  * and hide the group when not needed.
@@ -42,6 +43,9 @@ export class CollapsibleSection {
42
43
  this.close.emit();
43
44
  }
44
45
  };
46
+ this.renderExpandCollapseSign = () => {
47
+ return (h("div", { class: "expand-icon", role: "presentation", "aria-hidden": "true" }, h("div", { class: "line" }), h("div", { class: "line" }), h("div", { class: "line" }), h("div", { class: "line" })));
48
+ };
45
49
  this.renderIcon = () => {
46
50
  if (!this.icon) {
47
51
  return;
@@ -72,11 +76,23 @@ export class CollapsibleSection {
72
76
  event.stopPropagation();
73
77
  this.action.emit(action);
74
78
  };
79
+ this.getCollapsibleSectionAriaLabel = () => {
80
+ const heading = this.header ? `"${this.header}"` : ' ';
81
+ if (!this.isOpen) {
82
+ return translate.get('collapsible-section.open', this.language, {
83
+ header: heading,
84
+ });
85
+ }
86
+ return translate.get('collapsible-section.close', this.language, {
87
+ header: heading,
88
+ });
89
+ };
75
90
  this.isOpen = false;
76
91
  this.header = undefined;
77
92
  this.icon = undefined;
78
93
  this.invalid = false;
79
94
  this.actions = undefined;
95
+ this.language = 'en';
80
96
  }
81
97
  componentDidRender() {
82
98
  const button = this.host.shadowRoot.querySelector('.open-close-toggle');
@@ -87,7 +103,7 @@ export class CollapsibleSection {
87
103
  removeEnterClickable(button);
88
104
  }
89
105
  render() {
90
- return (h("section", { class: `${this.isOpen ? 'open' : ''}`, "aria-invalid": this.invalid, "aria-labelledby": this.header ? this.headingId : null }, h("header", null, h("button", { class: "open-close-toggle", onClick: this.onClick, "aria-controls": this.bodyId }), h("div", { class: "expand-icon" }, h("div", { class: "line" }), h("div", { class: "line" }), h("div", { class: "line" }), h("div", { class: "line" })), this.renderIcon(), this.renderHeading(), h("div", { class: "divider-line", role: "presentation" }), this.renderHeaderSlot(), this.renderActions()), h("div", { class: "body", "aria-hidden": String(!this.isOpen), id: this.bodyId }, h("slot", null))));
106
+ return (h("section", { class: `${this.isOpen ? 'open' : ''}`, "aria-invalid": this.invalid, "aria-labelledby": this.header ? this.headingId : null }, h("header", null, h("button", { class: "open-close-toggle", onClick: this.onClick, "aria-controls": this.bodyId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.getCollapsibleSectionAriaLabel(), type: "button" }), this.renderExpandCollapseSign(), this.renderIcon(), this.renderHeading(), h("div", { class: "divider-line", role: "presentation" }), this.renderHeaderSlot(), this.renderActions()), h("div", { class: "body", "aria-hidden": String(!this.isOpen), id: this.bodyId, role: "region" }, h("slot", null))));
91
107
  }
92
108
  renderHeaderSlot() {
93
109
  return h("slot", { name: "header" });
@@ -200,6 +216,29 @@ export class CollapsibleSection {
200
216
  "tags": [],
201
217
  "text": "Actions to place to the far right inside the header"
202
218
  }
219
+ },
220
+ "language": {
221
+ "type": "string",
222
+ "mutable": false,
223
+ "complexType": {
224
+ "original": "Languages",
225
+ "resolved": "\"da\" | \"de\" | \"en\" | \"fi\" | \"fr\" | \"nb\" | \"nl\" | \"no\" | \"sv\"",
226
+ "references": {
227
+ "Languages": {
228
+ "location": "import",
229
+ "path": "../date-picker/date.types"
230
+ }
231
+ }
232
+ },
233
+ "required": false,
234
+ "optional": false,
235
+ "docs": {
236
+ "tags": [],
237
+ "text": "Defines the language for translations.\nWill translate the translatable strings on the components."
238
+ },
239
+ "attribute": "language",
240
+ "reflect": true,
241
+ "defaultValue": "'en'"
203
242
  }
204
243
  };
205
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collapsible-section.js","sourceRoot":"","sources":["../../../src/components/collapsible-section/collapsible-section.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Event,\n Element,\n EventEmitter,\n h,\n Prop,\n} from '@stencil/core';\nimport { dispatchResizeEvent } from '../../util/dispatch-resize-event';\nimport { Action } from './action';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from '../../util/make-enter-clickable';\nimport { createRandomString } from '../../util/random-string';\nimport { Icon } from '../../global/shared-types/icon.types';\nimport {\n getIconColor,\n getIconName,\n getIconTitle,\n} from '../icon/get-icon-props';\n\n/**\n * A collapsible section can be used to group related content together\n * and hide the group when not needed.\n * Using this component can help to:\n * - Save vertical space by hiding non-essential content\n * - Improve content organization and scannability of the user interface\n * - Reduce cognitive load by displaying only a set of relevant information at a time\n * - Or disclose complex information, progressively to the user\n *\n * @slot - Content to put inside the collapsible section\n * @slot header - Optional slot for custom header content\n *\n * @exampleComponent limel-example-collapsible-section-basic\n * @exampleComponent limel-example-collapsible-section-actions\n * @exampleComponent limel-example-collapsible-section-with-custom-header-component\n * @exampleComponent limel-example-collapsible-section-external-control\n * @exampleComponent limel-example-collapsible-section-with-slider\n * @exampleComponent limel-example-collapsible-section-invalid\n * @exampleComponent limel-example-collapsible-section-icon\n * @exampleComponent limel-example-collapsible-section-css-props\n */\n@Component({\n tag: 'limel-collapsible-section',\n shadow: true,\n styleUrl: 'collapsible-section.scss',\n})\nexport class CollapsibleSection {\n /**\n * `true` if the section is expanded, `false` if collapsed.\n */\n @Prop({ mutable: true, reflect: true })\n public isOpen: boolean = false;\n\n /**\n * Text to display in the header of the section\n */\n @Prop({ reflect: true })\n public header: string;\n\n /**\n * Icon to display in the header of the section\n */\n @Prop()\n public icon?: string | Icon;\n\n /**\n * `true` if the section is invalid, `false` if valid.\n * This can be used to indicate that the content inside the section is invalid.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * Actions to place to the far right inside the header\n */\n @Prop()\n public actions: Action[];\n\n /**\n * Emitted when the section is expanded\n */\n @Event()\n private open: EventEmitter<void>;\n\n /**\n * Emitted when the section is collapsed\n */\n @Event()\n private close: EventEmitter<void>;\n\n /**\n * Emitted when an action is clicked inside the header\n */\n @Event()\n private action: EventEmitter<Action>;\n\n @Element()\n private host: HTMLElement;\n\n private bodyId = createRandomString();\n private headingId = createRandomString();\n\n public componentDidRender() {\n const button = this.host.shadowRoot.querySelector(\n '.open-close-toggle',\n ) as HTMLElement;\n\n makeEnterClickable(button);\n }\n\n public disconnectedCallback() {\n const button = this.host.shadowRoot.querySelector(\n '.open-close-toggle',\n ) as HTMLElement;\n\n removeEnterClickable(button);\n }\n\n public render() {\n return (\n <section\n class={`${this.isOpen ? 'open' : ''}`}\n aria-invalid={this.invalid}\n aria-labelledby={this.header ? this.headingId : null}\n >\n <header>\n <button\n class=\"open-close-toggle\"\n onClick={this.onClick}\n aria-controls={this.bodyId}\n />\n <div class=\"expand-icon\">\n <div class=\"line\" />\n <div class=\"line\" />\n <div class=\"line\" />\n <div class=\"line\" />\n </div>\n {this.renderIcon()}\n {this.renderHeading()}\n <div class=\"divider-line\" role=\"presentation\" />\n {this.renderHeaderSlot()}\n {this.renderActions()}\n </header>\n <div\n class=\"body\"\n aria-hidden={String(!this.isOpen)}\n id={this.bodyId}\n >\n <slot />\n </div>\n </section>\n );\n }\n\n private onClick = () => {\n this.handleInteraction();\n };\n\n private handleInteraction = () => {\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.open.emit();\n const waitForUiToRender = 100;\n setTimeout(dispatchResizeEvent, waitForUiToRender);\n } else {\n this.close.emit();\n }\n };\n\n private renderIcon = () => {\n if (!this.icon) {\n return;\n }\n\n const name = getIconName(this.icon);\n const color = getIconColor(this.icon);\n const title = getIconTitle(this.icon);\n\n return (\n <limel-icon\n name={name}\n aria-label={title}\n aria-hidden={title ? null : 'true'}\n style={{\n color: `${color}`,\n }}\n />\n );\n };\n\n private renderHeading = () => {\n if (!this.header) {\n return;\n }\n\n return (\n <h2\n class=\"title mdc-typography mdc-typography--headline2\"\n id={this.headingId}\n >\n {this.header}\n </h2>\n );\n };\n\n private renderActions = () => {\n if (!this.actions) {\n return;\n }\n\n return (\n <div class=\"actions\">\n {this.actions.map(this.renderActionButton)}\n </div>\n );\n };\n\n private renderHeaderSlot() {\n return <slot name=\"header\" />;\n }\n\n private renderActionButton = (action: Action) => {\n return (\n <limel-icon-button\n icon={action.icon}\n label={action.label}\n disabled={action.disabled}\n onClick={this.handleActionClick(action)}\n />\n );\n };\n\n private handleActionClick = (action: Action) => (event: MouseEvent) => {\n event.stopPropagation();\n this.action.emit(action);\n };\n}\n"]}
1
+ {"version":3,"file":"collapsible-section.js","sourceRoot":"","sources":["../../../src/components/collapsible-section/collapsible-section.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,KAAK,EACL,OAAO,EAEP,CAAC,EACD,IAAI,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EACH,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EACH,YAAY,EACZ,WAAW,EACX,YAAY,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAGlD;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,MAAM,OAAO,kBAAkB;;IA4DnB,WAAM,GAAG,kBAAkB,EAAE,CAAC;IAC9B,cAAS,GAAG,kBAAkB,EAAE,CAAC;IAqDjC,YAAO,GAAG,GAAG,EAAE;MACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEM,sBAAiB,GAAG,GAAG,EAAE;MAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;MAE3B,IAAI,IAAI,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,iBAAiB,GAAG,GAAG,CAAC;QAC9B,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;OACtD;WAAM;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;OACrB;IACL,CAAC,CAAC;IAEM,6BAAwB,GAAG,GAAG,EAAE;MACpC,OAAO,CACH,WAAK,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM;QAC3D,WAAK,KAAK,EAAC,MAAM,GAAG;QACpB,WAAK,KAAK,EAAC,MAAM,GAAG;QACpB,WAAK,KAAK,EAAC,MAAM,GAAG;QACpB,WAAK,KAAK,EAAC,MAAM,GAAG,CAClB,CACT,CAAC;IACN,CAAC,CAAC;IAEM,eAAU,GAAG,GAAG,EAAE;MACtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACZ,OAAO;OACV;MAED,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MACpC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MACtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAEtC,OAAO,CACH,kBACI,IAAI,EAAE,IAAI,gBACE,KAAK,iBACJ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAClC,KAAK,EAAE;UACH,KAAK,EAAE,GAAG,KAAK,EAAE;SACpB,GACH,CACL,CAAC;IACN,CAAC,CAAC;IAEM,kBAAa,GAAG,GAAG,EAAE;MACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,OAAO;OACV;MAED,OAAO,CACH,UACI,KAAK,EAAC,gDAAgD,EACtD,EAAE,EAAE,IAAI,CAAC,SAAS,IAEjB,IAAI,CAAC,MAAM,CACX,CACR,CAAC;IACN,CAAC,CAAC;IAEM,kBAAa,GAAG,GAAG,EAAE;MACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACf,OAAO;OACV;MAED,OAAO,CACH,WAAK,KAAK,EAAC,SAAS,IACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACxC,CACT,CAAC;IACN,CAAC,CAAC;IAMM,uBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;MAC5C,OAAO,CACH,yBACI,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GACzC,CACL,CAAC;IACN,CAAC,CAAC;IAEM,sBAAiB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,KAAiB,EAAE,EAAE;MAClE,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEM,mCAA8B,GAAG,GAAW,EAAE;MAClD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;MAEvD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,OAAO,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE;UAC5D,MAAM,EAAE,OAAO;SAClB,CAAC,CAAC;OACN;MAED,OAAO,SAAS,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC7D,MAAM,EAAE,OAAO;OAClB,CAAC,CAAC;IACP,CAAC,CAAC;kBAxNuB,KAAK;;;mBAmBb,KAAK;;oBAaO,IAAI;;EA0B1B,kBAAkB;IACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAC7C,oBAAoB,CACR,CAAC;IAEjB,kBAAkB,CAAC,MAAM,CAAC,CAAC;EAC/B,CAAC;EAEM,oBAAoB;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAC7C,oBAAoB,CACR,CAAC;IAEjB,oBAAoB,CAAC,MAAM,CAAC,CAAC;EACjC,CAAC;EAEM,MAAM;IACT,OAAO,CACH,eACI,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,kBACvB,IAAI,CAAC,OAAO,qBACT,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;MAEpD;QACI,cACI,KAAK,EAAC,mBAAmB,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,mBACN,IAAI,CAAC,MAAM,mBACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,gBACjC,IAAI,CAAC,8BAA8B,EAAE,EACjD,IAAI,EAAC,QAAQ,GACf;QACD,IAAI,CAAC,wBAAwB,EAAE;QAC/B,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,aAAa,EAAE;QACrB,WAAK,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,GAAG;QAC/C,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,aAAa,EAAE,CAChB;MACT,WACI,KAAK,EAAC,MAAM,iBACC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,QAAQ;QAEb,eAAQ,CACN,CACA,CACb,CAAC;EACN,CAAC;EA6EO,gBAAgB;IACpB,OAAO,YAAM,IAAI,EAAC,QAAQ,GAAG,CAAC;EAClC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BJ","sourcesContent":["import {\n Component,\n Event,\n Element,\n EventEmitter,\n h,\n Prop,\n} from '@stencil/core';\nimport { dispatchResizeEvent } from '../../util/dispatch-resize-event';\nimport { Action } from './action';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from '../../util/make-enter-clickable';\nimport { createRandomString } from '../../util/random-string';\nimport { Icon } from '../../global/shared-types/icon.types';\nimport {\n getIconColor,\n getIconName,\n getIconTitle,\n} from '../icon/get-icon-props';\nimport translate from '../../global/translations';\nimport { Languages } from '../date-picker/date.types';\n\n/**\n * A collapsible section can be used to group related content together\n * and hide the group when not needed.\n * Using this component can help to:\n * - Save vertical space by hiding non-essential content\n * - Improve content organization and scannability of the user interface\n * - Reduce cognitive load by displaying only a set of relevant information at a time\n * - Or disclose complex information, progressively to the user\n *\n * @slot - Content to put inside the collapsible section\n * @slot header - Optional slot for custom header content\n *\n * @exampleComponent limel-example-collapsible-section-basic\n * @exampleComponent limel-example-collapsible-section-actions\n * @exampleComponent limel-example-collapsible-section-with-custom-header-component\n * @exampleComponent limel-example-collapsible-section-external-control\n * @exampleComponent limel-example-collapsible-section-with-slider\n * @exampleComponent limel-example-collapsible-section-invalid\n * @exampleComponent limel-example-collapsible-section-icon\n * @exampleComponent limel-example-collapsible-section-css-props\n */\n@Component({\n tag: 'limel-collapsible-section',\n shadow: true,\n styleUrl: 'collapsible-section.scss',\n})\nexport class CollapsibleSection {\n /**\n * `true` if the section is expanded, `false` if collapsed.\n */\n @Prop({ mutable: true, reflect: true })\n public isOpen: boolean = false;\n\n /**\n * Text to display in the header of the section\n */\n @Prop({ reflect: true })\n public header: string;\n\n /**\n * Icon to display in the header of the section\n */\n @Prop()\n public icon?: string | Icon;\n\n /**\n * `true` if the section is invalid, `false` if valid.\n * This can be used to indicate that the content inside the section is invalid.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * Actions to place to the far right inside the header\n */\n @Prop()\n public actions: Action[];\n\n /**\n * Defines the language for translations.\n * Will translate the translatable strings on the components.\n */\n @Prop({ reflect: true })\n public language: Languages = 'en';\n\n /**\n * Emitted when the section is expanded\n */\n @Event()\n private open: EventEmitter<void>;\n\n /**\n * Emitted when the section is collapsed\n */\n @Event()\n private close: EventEmitter<void>;\n\n /**\n * Emitted when an action is clicked inside the header\n */\n @Event()\n private action: EventEmitter<Action>;\n\n @Element()\n private host: HTMLElement;\n\n private bodyId = createRandomString();\n private headingId = createRandomString();\n\n public componentDidRender() {\n const button = this.host.shadowRoot.querySelector(\n '.open-close-toggle',\n ) as HTMLElement;\n\n makeEnterClickable(button);\n }\n\n public disconnectedCallback() {\n const button = this.host.shadowRoot.querySelector(\n '.open-close-toggle',\n ) as HTMLElement;\n\n removeEnterClickable(button);\n }\n\n public render() {\n return (\n <section\n class={`${this.isOpen ? 'open' : ''}`}\n aria-invalid={this.invalid}\n aria-labelledby={this.header ? this.headingId : null}\n >\n <header>\n <button\n class=\"open-close-toggle\"\n onClick={this.onClick}\n aria-controls={this.bodyId}\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-label={this.getCollapsibleSectionAriaLabel()}\n type=\"button\"\n />\n {this.renderExpandCollapseSign()}\n {this.renderIcon()}\n {this.renderHeading()}\n <div class=\"divider-line\" role=\"presentation\" />\n {this.renderHeaderSlot()}\n {this.renderActions()}\n </header>\n <div\n class=\"body\"\n aria-hidden={String(!this.isOpen)}\n id={this.bodyId}\n role=\"region\"\n >\n <slot />\n </div>\n </section>\n );\n }\n\n private onClick = () => {\n this.handleInteraction();\n };\n\n private handleInteraction = () => {\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.open.emit();\n const waitForUiToRender = 100;\n setTimeout(dispatchResizeEvent, waitForUiToRender);\n } else {\n this.close.emit();\n }\n };\n\n private renderExpandCollapseSign = () => {\n return (\n <div class=\"expand-icon\" role=\"presentation\" aria-hidden=\"true\">\n <div class=\"line\" />\n <div class=\"line\" />\n <div class=\"line\" />\n <div class=\"line\" />\n </div>\n );\n };\n\n private renderIcon = () => {\n if (!this.icon) {\n return;\n }\n\n const name = getIconName(this.icon);\n const color = getIconColor(this.icon);\n const title = getIconTitle(this.icon);\n\n return (\n <limel-icon\n name={name}\n aria-label={title}\n aria-hidden={title ? null : 'true'}\n style={{\n color: `${color}`,\n }}\n />\n );\n };\n\n private renderHeading = () => {\n if (!this.header) {\n return;\n }\n\n return (\n <h2\n class=\"title mdc-typography mdc-typography--headline2\"\n id={this.headingId}\n >\n {this.header}\n </h2>\n );\n };\n\n private renderActions = () => {\n if (!this.actions) {\n return;\n }\n\n return (\n <div class=\"actions\">\n {this.actions.map(this.renderActionButton)}\n </div>\n );\n };\n\n private renderHeaderSlot() {\n return <slot name=\"header\" />;\n }\n\n private renderActionButton = (action: Action) => {\n return (\n <limel-icon-button\n icon={action.icon}\n label={action.label}\n disabled={action.disabled}\n onClick={this.handleActionClick(action)}\n />\n );\n };\n\n private handleActionClick = (action: Action) => (event: MouseEvent) => {\n event.stopPropagation();\n this.action.emit(action);\n };\n\n private getCollapsibleSectionAriaLabel = (): string => {\n const heading = this.header ? `\"${this.header}\"` : ' ';\n\n if (!this.isOpen) {\n return translate.get('collapsible-section.open', this.language, {\n header: heading,\n });\n }\n\n return translate.get('collapsible-section.close', this.language, {\n header: heading,\n });\n };\n}\n"]}