@limetech/lime-elements 37.1.0-next.44 → 37.1.0-next.46

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 (139) hide show
  1. package/dist/cjs/{component-66df95e7.js → component-9c3fa668.js} +12 -935
  2. package/dist/cjs/component-9c3fa668.js.map +1 -0
  3. package/dist/cjs/component-a0124759.js +929 -0
  4. package/dist/cjs/component-a0124759.js.map +1 -0
  5. package/dist/cjs/lime-elements.cjs.js +1 -1
  6. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-chip-set.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-code-editor.cjs.entry.js +189 -0
  9. package/dist/cjs/limel-code-editor.cjs.entry.js.map +1 -1
  10. package/dist/cjs/limel-file-viewer.cjs.entry.js +260 -0
  11. package/dist/cjs/limel-file-viewer.cjs.entry.js.map +1 -0
  12. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-icon-button.cjs.entry.js +8 -1
  15. package/dist/cjs/limel-icon-button.cjs.entry.js.map +1 -1
  16. package/dist/cjs/{limel-list_2.cjs.entry.js → limel-list.cjs.entry.js} +2 -122
  17. package/dist/cjs/limel-list.cjs.entry.js.map +1 -0
  18. package/dist/cjs/limel-menu-surface.cjs.entry.js +130 -0
  19. package/dist/cjs/limel-menu-surface.cjs.entry.js.map +1 -0
  20. package/dist/cjs/limel-menu_2.cjs.entry.js +14 -13
  21. package/dist/cjs/limel-menu_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/cjs/{translations-f8080c48.js → translations-a384b596.js} +37 -1
  25. package/dist/cjs/translations-a384b596.js.map +1 -0
  26. package/dist/collection/collection-manifest.json +1 -0
  27. package/dist/collection/components/code-editor/code-editor.js +2 -3
  28. package/dist/collection/components/code-editor/code-editor.js.map +1 -1
  29. package/dist/collection/components/code-editor/code-editor.types.js.map +1 -1
  30. package/dist/collection/components/file-viewer/extension-mapping.js +66 -0
  31. package/dist/collection/components/file-viewer/extension-mapping.js.map +1 -0
  32. package/dist/collection/components/file-viewer/file-viewer.css +266 -0
  33. package/dist/collection/components/file-viewer/file-viewer.js +387 -0
  34. package/dist/collection/components/file-viewer/file-viewer.js.map +1 -0
  35. package/dist/collection/components/file-viewer/file-viewer.types.js +2 -0
  36. package/dist/collection/components/file-viewer/file-viewer.types.js.map +1 -0
  37. package/dist/collection/components/file-viewer/fullscreen.js +43 -0
  38. package/dist/collection/components/file-viewer/fullscreen.js.map +1 -0
  39. package/dist/collection/components/icon-button/icon-button.js +8 -1
  40. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  41. package/dist/collection/index.js.map +1 -1
  42. package/dist/collection/translations/da.js +6 -0
  43. package/dist/collection/translations/da.js.map +1 -1
  44. package/dist/collection/translations/en.js +6 -0
  45. package/dist/collection/translations/en.js.map +1 -1
  46. package/dist/collection/translations/fi.js +6 -0
  47. package/dist/collection/translations/fi.js.map +1 -1
  48. package/dist/collection/translations/nl.js +6 -0
  49. package/dist/collection/translations/nl.js.map +1 -1
  50. package/dist/collection/translations/no.js +6 -0
  51. package/dist/collection/translations/no.js.map +1 -1
  52. package/dist/collection/translations/sv.js +6 -0
  53. package/dist/collection/translations/sv.js.map +1 -1
  54. package/dist/esm/{component-fffa3419.js → component-0be247ac.js} +13 -934
  55. package/dist/esm/component-0be247ac.js.map +1 -0
  56. package/dist/esm/component-6d079abe.js +926 -0
  57. package/dist/esm/component-6d079abe.js.map +1 -0
  58. package/dist/esm/lime-elements.js +1 -1
  59. package/dist/esm/limel-callout.entry.js +1 -1
  60. package/dist/esm/limel-chip-set.entry.js +1 -1
  61. package/dist/esm/limel-code-editor.entry.js +189 -0
  62. package/dist/esm/limel-code-editor.entry.js.map +1 -1
  63. package/dist/esm/limel-file-viewer.entry.js +256 -0
  64. package/dist/esm/limel-file-viewer.entry.js.map +1 -0
  65. package/dist/esm/limel-file.entry.js +1 -1
  66. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  67. package/dist/esm/limel-icon-button.entry.js +8 -1
  68. package/dist/esm/limel-icon-button.entry.js.map +1 -1
  69. package/dist/esm/{limel-list_2.entry.js → limel-list.entry.js} +3 -122
  70. package/dist/esm/limel-list.entry.js.map +1 -0
  71. package/dist/esm/limel-menu-surface.entry.js +126 -0
  72. package/dist/esm/limel-menu-surface.entry.js.map +1 -0
  73. package/dist/esm/limel-menu_2.entry.js +2 -1
  74. package/dist/esm/limel-menu_2.entry.js.map +1 -1
  75. package/dist/esm/limel-snackbar.entry.js +1 -1
  76. package/dist/esm/loader.js +1 -1
  77. package/dist/esm/{translations-f88bb584.js → translations-dea847ae.js} +37 -1
  78. package/dist/esm/translations-dea847ae.js.map +1 -0
  79. package/dist/lime-elements/lime-elements.esm.js +1 -1
  80. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  81. package/dist/lime-elements/p-3ee3dcdc.js +2 -0
  82. package/dist/lime-elements/p-3ee3dcdc.js.map +1 -0
  83. package/dist/lime-elements/p-45449868.entry.js +2 -0
  84. package/dist/lime-elements/p-45449868.entry.js.map +1 -0
  85. package/dist/lime-elements/{p-550cae4a.entry.js → p-4c100bed.entry.js} +2 -2
  86. package/dist/lime-elements/p-5dd6d677.js +82 -0
  87. package/dist/lime-elements/p-5dd6d677.js.map +1 -0
  88. package/dist/lime-elements/p-685e5867.entry.js +2 -0
  89. package/dist/lime-elements/p-685e5867.entry.js.map +1 -0
  90. package/dist/lime-elements/p-6fa8bf86.entry.js +2 -0
  91. package/dist/lime-elements/p-6fa8bf86.entry.js.map +1 -0
  92. package/dist/lime-elements/{p-9a5745e5.entry.js → p-6fac3a11.entry.js} +2 -2
  93. package/dist/lime-elements/{p-c9aee7a1.entry.js → p-80f0c441.entry.js} +2 -2
  94. package/dist/lime-elements/{p-cf61ac34.entry.js → p-8eff47a6.entry.js} +2 -2
  95. package/dist/lime-elements/p-9eab9eb2.entry.js +2 -0
  96. package/dist/lime-elements/p-9eab9eb2.entry.js.map +1 -0
  97. package/dist/lime-elements/p-b8deba1b.entry.js +2 -0
  98. package/dist/lime-elements/p-b8deba1b.entry.js.map +1 -0
  99. package/dist/lime-elements/{p-7972528a.entry.js → p-dbcae3a0.entry.js} +2 -2
  100. package/dist/lime-elements/p-e3b16b61.js +126 -0
  101. package/dist/lime-elements/p-e3b16b61.js.map +1 -0
  102. package/dist/lime-elements/{p-2d0587d5.entry.js → p-fed820d9.entry.js} +4 -4
  103. package/dist/lime-elements/{p-2d0587d5.entry.js.map → p-fed820d9.entry.js.map} +1 -1
  104. package/dist/types/components/code-editor/code-editor.d.ts +1 -2
  105. package/dist/types/components/code-editor/code-editor.types.d.ts +1 -1
  106. package/dist/types/components/file-viewer/extension-mapping.d.ts +1 -0
  107. package/dist/types/components/file-viewer/file-viewer.types.d.ts +2 -0
  108. package/dist/types/components/file-viewer/fullscreen.d.ts +9 -0
  109. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  110. package/dist/types/components.d.ts +209 -20
  111. package/dist/types/index.d.ts +1 -1
  112. package/dist/types/translations/da.d.ts +6 -0
  113. package/dist/types/translations/en.d.ts +6 -0
  114. package/dist/types/translations/fi.d.ts +6 -0
  115. package/dist/types/translations/nl.d.ts +6 -0
  116. package/dist/types/translations/no.d.ts +6 -0
  117. package/dist/types/translations/sv.d.ts +6 -0
  118. package/package.json +2 -2
  119. package/dist/cjs/component-66df95e7.js.map +0 -1
  120. package/dist/cjs/limel-list_2.cjs.entry.js.map +0 -1
  121. package/dist/cjs/translations-f8080c48.js.map +0 -1
  122. package/dist/esm/component-fffa3419.js.map +0 -1
  123. package/dist/esm/limel-list_2.entry.js.map +0 -1
  124. package/dist/esm/translations-f88bb584.js.map +0 -1
  125. package/dist/lime-elements/p-172385f4.entry.js +0 -2
  126. package/dist/lime-elements/p-172385f4.entry.js.map +0 -1
  127. package/dist/lime-elements/p-22031b5b.entry.js +0 -2
  128. package/dist/lime-elements/p-22031b5b.entry.js.map +0 -1
  129. package/dist/lime-elements/p-94cb40fb.entry.js +0 -2
  130. package/dist/lime-elements/p-94cb40fb.entry.js.map +0 -1
  131. package/dist/lime-elements/p-b59e4287.js +0 -2
  132. package/dist/lime-elements/p-b59e4287.js.map +0 -1
  133. package/dist/lime-elements/p-dfba92de.js +0 -206
  134. package/dist/lime-elements/p-dfba92de.js.map +0 -1
  135. /package/dist/lime-elements/{p-550cae4a.entry.js.map → p-4c100bed.entry.js.map} +0 -0
  136. /package/dist/lime-elements/{p-9a5745e5.entry.js.map → p-6fac3a11.entry.js.map} +0 -0
  137. /package/dist/lime-elements/{p-c9aee7a1.entry.js.map → p-80f0c441.entry.js.map} +0 -0
  138. /package/dist/lime-elements/{p-cf61ac34.entry.js.map → p-8eff47a6.entry.js.map} +0 -0
  139. /package/dist/lime-elements/{p-7972528a.entry.js.map → p-dbcae3a0.entry.js.map} +0 -0
@@ -12,6 +12,12 @@ const da = {
12
12
  'date-picker.year.heading': 'År',
13
13
  'chip-set.clear-all': 'Ryd alle',
14
14
  'file.drag-and-drop-tips': 'Træk og slip filen her, eller klik for at gennemse.',
15
+ 'file-viewer.message.unsupported-filetype': 'Denne fil kan ikke vises!',
16
+ 'file-viewer.download': 'Hent',
17
+ 'file-viewer.exit-fullscreen': 'Afslut fuldskærm',
18
+ 'file-viewer.open-in-fullscreen': 'Åbn i fuld skærm',
19
+ 'file-viewer.open-in-new-tab': 'Åbn i en ny fane',
20
+ 'file-viewer.more-actions': 'Mere…',
15
21
  };
16
22
 
17
23
  const en = {
@@ -28,6 +34,12 @@ const en = {
28
34
  'chip-set.remove-chip': 'Remove chip',
29
35
  'snackbar.dismiss': 'Dismiss',
30
36
  'file.drag-and-drop-tips': 'Drag and drop your file here, or click to browse.',
37
+ 'file-viewer.message.unsupported-filetype': 'Cannot display this file!',
38
+ 'file-viewer.download': 'Download',
39
+ 'file-viewer.exit-fullscreen': 'Exit fullscreen',
40
+ 'file-viewer.open-in-fullscreen': 'Open in fullscreen',
41
+ 'file-viewer.open-in-new-tab': 'Open in a new tab',
42
+ 'file-viewer.more-actions': 'More…',
31
43
  };
32
44
 
33
45
  const fi = {
@@ -42,6 +54,12 @@ const fi = {
42
54
  'date-picker.year.heading': 'Vuosi',
43
55
  'chip-set.clear-all': 'Tyhjennä kaikki',
44
56
  'file.drag-and-drop-tips': 'Vedä ja pudota tiedostosi tähän, tai napsauta selataksesi.',
57
+ 'file-viewer.message.unsupported-filetype': 'Tätä tiedostoa ei voi näyttää!',
58
+ 'file-viewer.download': 'Ladata',
59
+ 'file-viewer.exit-fullscreen': 'Poistu koko näytöstä',
60
+ 'file-viewer.open-in-fullscreen': 'Avaa koko näytössä',
61
+ 'file-viewer.open-in-new-tab': 'Avaa uudella välilehdellä',
62
+ 'file-viewer.more-actions': 'Lisää…',
45
63
  };
46
64
 
47
65
  const nl = {
@@ -56,6 +74,12 @@ const nl = {
56
74
  'date-picker.year.heading': 'Jaar',
57
75
  'chip-set.clear-all': 'Alles wissen',
58
76
  'file.drag-and-drop-tips': 'Sleep uw bestand en zet het hier neer of klik om te bladeren.',
77
+ 'file-viewer.message.unsupported-filetype': 'Kan dit bestand niet weergeven!',
78
+ 'file-viewer.download': 'Downloaden',
79
+ 'file-viewer.exit-fullscreen': 'Verlaat volledig scherm',
80
+ 'file-viewer.open-in-fullscreen': 'Open in volledig scherm',
81
+ 'file-viewer.open-in-new-tab': 'Openen op een nieuw tabblad',
82
+ 'file-viewer.more-actions': 'Meer…',
59
83
  };
60
84
 
61
85
  const no = {
@@ -70,6 +94,12 @@ const no = {
70
94
  'date-picker.year.heading': 'År',
71
95
  'chip-set.clear-all': 'Fjern alle',
72
96
  'file.drag-and-drop-tips': 'Dra og slipp filen her, eller klikk for å bla gjennom.',
97
+ 'file-viewer.message.unsupported-filetype': 'Kan ikke vise denne filen!',
98
+ 'file-viewer.download': 'Nedlasting',
99
+ 'file-viewer.exit-fullscreen': 'Gå ut av fullskjerm',
100
+ 'file-viewer.open-in-fullscreen': 'Åpne i fullskjerm',
101
+ 'file-viewer.open-in-new-tab': 'Åpne i en ny fane',
102
+ 'file-viewer.more-actions': 'Mer…',
73
103
  };
74
104
 
75
105
  const sv = {
@@ -86,6 +116,12 @@ const sv = {
86
116
  'chip-set.remove-chip': 'Ta bort chip',
87
117
  'snackbar.dismiss': 'Stäng',
88
118
  'file.drag-and-drop-tips': 'Dra och släpp filen här eller klicka om du vill bläddra.',
119
+ 'file-viewer.message.unsupported-filetype': 'Kan inte visa den här filen!',
120
+ 'file-viewer.download': 'Ladda ner',
121
+ 'file-viewer.exit-fullscreen': 'Avsluta fullskärmsläge',
122
+ 'file-viewer.open-in-fullscreen': 'Öppna i fullskärmsläge',
123
+ 'file-viewer.open-in-new-tab': 'Öppna i ny flik',
124
+ 'file-viewer.more-actions': 'Mer…',
89
125
  };
90
126
 
91
127
  const allTranslations = { da: da, en: en, fi: fi, no: no, nl: nl, sv: sv };
@@ -101,4 +137,4 @@ const translate = (() => {
101
137
 
102
138
  exports.translate = translate;
103
139
 
104
- //# sourceMappingURL=translations-f8080c48.js.map
140
+ //# sourceMappingURL=translations-a384b596.js.map
@@ -0,0 +1 @@
1
+ {"file":"translations-a384b596.js","mappings":"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","names":[],"sources":["./src/translations/da.ts","./src/translations/en.ts","./src/translations/fi.ts","./src/translations/nl.ts","./src/translations/no.ts","./src/translations/sv.ts","./src/global/translations.ts"],"sourcesContent":["export default {\n 'callout.note': 'Bemærk',\n 'callout.important': 'Vigtig',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Advarsel',\n 'callout.warning': 'Advarsel',\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 'file.drag-and-drop-tips':\n 'Træk og 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};\n","export default {\n 'callout.note': 'Note',\n 'callout.important': 'Important',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Caution',\n 'callout.warning': 'Warning',\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 'chip-set.remove-chip': 'Remove chip',\n 'snackbar.dismiss': 'Dismiss',\n 'file.drag-and-drop-tips':\n 'Drag and 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};\n","export default {\n 'callout.note': 'Huomio',\n 'callout.important': 'Tärkeää',\n 'callout.tip': 'Vinkki',\n 'callout.caution': 'Varoitus',\n 'callout.warning': 'Varoitus',\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 'file.drag-and-drop-tips':\n 'Vedä ja 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};\n","export default {\n 'callout.note': 'Opmerking',\n 'callout.important': 'Belangrijk',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Waarschuwing',\n 'callout.warning': 'Waarschuwing',\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 'file.drag-and-drop-tips':\n 'Sleep uw bestand en zet het hier neer 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};\n","export default {\n 'callout.note': 'Note',\n 'callout.important': 'Viktig',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Advarsel',\n 'callout.warning': 'Advarsel',\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 og 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};\n","export default {\n 'callout.note': 'Obs',\n 'callout.important': 'Viktigt',\n 'callout.tip': 'Tips',\n 'callout.caution': 'Varning',\n 'callout.warning': 'Varning',\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 'chip-set.remove-chip': 'Ta bort chip',\n 'snackbar.dismiss': 'Stäng',\n 'file.drag-and-drop-tips':\n 'Dra och 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};\n","import da from '../translations/da';\nimport en from '../translations/en';\nimport fi from '../translations/fi';\nimport nl from '../translations/nl';\nimport no from '../translations/no';\nimport sv from '../translations/sv';\n\nconst allTranslations = { da: da, en: en, fi: fi, no: no, nl: nl, sv: sv };\n\nexport class Translations {\n public get(key, language = 'en') {\n return allTranslations[language][key];\n }\n}\n\nconst translations = new Translations();\nexport default (() => {\n return translations;\n})();\n"],"version":3}
@@ -23,6 +23,7 @@
23
23
  "./components/dock/dock.js",
24
24
  "./components/dock/dock-button/dock-button.js",
25
25
  "./components/file/file.js",
26
+ "./components/file-viewer/file-viewer.js",
26
27
  "./components/flex-container/flex-container.js",
27
28
  "./components/form/form.js",
28
29
  "./components/grid/grid.js",
@@ -1,6 +1,7 @@
1
1
  import { h, } from '@stencil/core';
2
2
  import CodeMirror from 'codemirror';
3
3
  import 'codemirror/mode/javascript/javascript';
4
+ import 'codemirror/mode/jinja2/jinja2';
4
5
  import 'codemirror/addon/selection/active-line';
5
6
  import 'codemirror/addon/edit/matchbrackets';
6
7
  import 'codemirror/addon/lint/lint';
@@ -9,8 +10,6 @@ import 'codemirror/addon/fold/foldgutter';
9
10
  import 'codemirror/addon/fold/brace-fold';
10
11
  import jslint from 'jsonlint-mod';
11
12
  /**
12
- * Currently this component support syntax highlighting for `javascript`,
13
- * `json` and `typescript` formats.
14
13
  * @exampleComponent limel-example-code-editor
15
14
  * @exampleComponent limel-example-code-editor-readonly-with-line-numbers
16
15
  * @exampleComponent limel-example-code-editor-fold-lint
@@ -191,7 +190,7 @@ export class CodeEditor {
191
190
  "mutable": false,
192
191
  "complexType": {
193
192
  "original": "Language",
194
- "resolved": "\"javascript\" | \"json\" | \"typescript\"",
193
+ "resolved": "\"javascript\" | \"jinja2\" | \"json\" | \"typescript\"",
195
194
  "references": {
196
195
  "Language": {
197
196
  "location": "import",
@@ -1 +1 @@
1
- {"version":3,"file":"code-editor.js","sourceRoot":"","sources":["../../../src/components/code-editor/code-editor.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n} from '@stencil/core';\nimport { ColorScheme, Language } from '../../interface';\nimport CodeMirror from 'codemirror';\nimport 'codemirror/mode/javascript/javascript';\nimport 'codemirror/addon/selection/active-line';\nimport 'codemirror/addon/edit/matchbrackets';\nimport 'codemirror/addon/lint/lint';\nimport 'codemirror/addon/lint/json-lint';\nimport 'codemirror/addon/fold/foldgutter';\nimport 'codemirror/addon/fold/brace-fold';\nimport jslint from 'jsonlint-mod';\n\n/**\n * Currently this component support syntax highlighting for `javascript`,\n * `json` and `typescript` formats.\n * @exampleComponent limel-example-code-editor\n * @exampleComponent limel-example-code-editor-readonly-with-line-numbers\n * @exampleComponent limel-example-code-editor-fold-lint\n */\n@Component({\n tag: 'limel-code-editor',\n shadow: true,\n styleUrl: 'code-editor.scss',\n})\nexport class CodeEditor {\n /**\n * The code to be rendered\n */\n @Prop()\n public value: string = '';\n\n /**\n * The language of the code\n */\n @Prop()\n public language: Language;\n\n /**\n * Disables editing of the editor content\n */\n @Prop()\n public readonly: boolean = false;\n\n /**\n * Displays line numbers in the editor\n */\n @Prop()\n public lineNumbers: boolean = false;\n\n /**\n * Allows the user to fold code\n */\n @Prop()\n public fold: boolean = false;\n\n /**\n * Enables linting of JSON content\n */\n @Prop()\n public lint: boolean = false;\n\n /**\n * Select color scheme for the editor\n */\n @Prop()\n public colorScheme: ColorScheme = 'auto';\n\n /**\n * Emitted when the code has changed. Will only be emitted when the code\n * area has lost focus\n */\n @Event()\n public change: EventEmitter<string>;\n\n @Element()\n private host: HTMLLimelCodeEditorElement;\n\n /**\n * This is only used to trigger a redraw if the\n * `(prefers-color-scheme: dark)` media query is changed\n */\n @State()\n protected random: number;\n\n private editor: CodeMirror.Editor;\n private observer: ResizeObserver;\n\n public connectedCallback() {\n this.observer = new ResizeObserver(this.handleResize) as any;\n this.observer.observe(this.host);\n\n this.darkMode.addEventListener('change', this.handleChangeDarkMode);\n }\n\n public disconnectedCallback() {\n this.observer.unobserve(this.host);\n this.editor.off('change', this.handleChange);\n this.editor = null;\n\n this.darkMode.removeEventListener('change', this.handleChangeDarkMode);\n\n const editorElement = this.host.shadowRoot.querySelector('.editor');\n editorElement?.childNodes.forEach((child) => {\n child.remove();\n });\n }\n\n public componentDidRender() {\n if (this.editor) {\n return;\n }\n\n this.editor = this.createEditor();\n }\n\n @Watch('value')\n protected watchValue(newValue: string) {\n if (!this.editor) {\n return;\n }\n\n const currentValue = this.editor.getValue();\n if (newValue === currentValue) {\n // Circuit breaker for when the change comes from the editor itself\n // The caret position will be reset without this\n return;\n }\n\n this.editor.getDoc().setValue(newValue || '');\n }\n\n private handleChangeDarkMode = () => {\n if (this.colorScheme !== 'auto') {\n return;\n }\n\n this.forceRedraw();\n };\n\n private handleChange = () => {\n this.change.emit(this.editor.getValue());\n };\n\n private handleResize = () => {\n if (!this.editor) {\n return;\n }\n\n this.editor.refresh();\n };\n\n private createEditor() {\n const options = this.getOptions();\n\n const editor = CodeMirror(\n this.host.shadowRoot.querySelector('.editor'),\n options\n );\n\n editor.on('change', this.handleChange);\n\n // Replace tab with spaces and use the actual indent setting for\n // the space count\n editor.setOption('extraKeys', {\n Tab: (codeMirror) => {\n const spaces = Array(\n codeMirror.getOption('indentUnit') + 1\n ).join(' ');\n codeMirror.replaceSelection(spaces);\n },\n });\n\n return editor;\n }\n\n private getOptions(): CodeMirror.EditorConfiguration {\n let mode: string | CodeMirror.ModeSpec<any> = this.language;\n const TAB_SIZE = 4;\n let theme = 'lime light';\n const gutters = [];\n\n if (this.isDarkMode()) {\n theme = 'lime dark';\n }\n\n if (this.language === 'json') {\n mode = {\n name: 'application/json',\n json: true,\n };\n if (this.lint) {\n gutters.push('CodeMirror-lint-markers');\n if (!('jsonlint' in window)) {\n // eslint-disable-next-line @typescript-eslint/dot-notation\n window['jsonlint'] = jslint;\n }\n }\n } else if (this.language === 'typescript') {\n mode = {\n name: 'application/typescript',\n typescript: true,\n };\n }\n\n if (this.fold) {\n gutters.push('CodeMirror-foldgutter');\n }\n\n return {\n mode: mode,\n value: this.value || '',\n theme: theme,\n readOnly: this.readonly,\n tabSize: TAB_SIZE,\n indentUnit: TAB_SIZE,\n lineNumbers: this.lineNumbers,\n styleActiveLine: true,\n matchBrackets: true,\n lint: this.lint,\n foldGutter: this.fold,\n gutters: gutters,\n };\n }\n\n private isDarkMode(): boolean {\n if (this.colorScheme !== 'auto') {\n return this.colorScheme === 'dark';\n }\n\n return this.darkMode.matches;\n }\n\n public render() {\n const classList = {\n editor: true,\n readonly: this.readonly,\n 'is-dark-mode': this.isDarkMode(),\n 'is-light-mode': !this.isDarkMode(),\n };\n\n return <div class={classList} />;\n }\n\n private forceRedraw() {\n this.random = Math.random();\n }\n\n private get darkMode(): MediaQueryList {\n return matchMedia('(prefers-color-scheme: dark)');\n }\n}\n"]}
1
+ {"version":3,"file":"code-editor.js","sourceRoot":"","sources":["../../../src/components/code-editor/code-editor.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n} from '@stencil/core';\nimport { ColorScheme, Language } from '../../interface';\nimport CodeMirror from 'codemirror';\nimport 'codemirror/mode/javascript/javascript';\nimport 'codemirror/mode/jinja2/jinja2';\nimport 'codemirror/addon/selection/active-line';\nimport 'codemirror/addon/edit/matchbrackets';\nimport 'codemirror/addon/lint/lint';\nimport 'codemirror/addon/lint/json-lint';\nimport 'codemirror/addon/fold/foldgutter';\nimport 'codemirror/addon/fold/brace-fold';\nimport jslint from 'jsonlint-mod';\n\n/**\n * @exampleComponent limel-example-code-editor\n * @exampleComponent limel-example-code-editor-readonly-with-line-numbers\n * @exampleComponent limel-example-code-editor-fold-lint\n */\n@Component({\n tag: 'limel-code-editor',\n shadow: true,\n styleUrl: 'code-editor.scss',\n})\nexport class CodeEditor {\n /**\n * The code to be rendered\n */\n @Prop()\n public value: string = '';\n\n /**\n * The language of the code\n */\n @Prop()\n public language: Language;\n\n /**\n * Disables editing of the editor content\n */\n @Prop()\n public readonly: boolean = false;\n\n /**\n * Displays line numbers in the editor\n */\n @Prop()\n public lineNumbers: boolean = false;\n\n /**\n * Allows the user to fold code\n */\n @Prop()\n public fold: boolean = false;\n\n /**\n * Enables linting of JSON content\n */\n @Prop()\n public lint: boolean = false;\n\n /**\n * Select color scheme for the editor\n */\n @Prop()\n public colorScheme: ColorScheme = 'auto';\n\n /**\n * Emitted when the code has changed. Will only be emitted when the code\n * area has lost focus\n */\n @Event()\n public change: EventEmitter<string>;\n\n @Element()\n private host: HTMLLimelCodeEditorElement;\n\n /**\n * This is only used to trigger a redraw if the\n * `(prefers-color-scheme: dark)` media query is changed\n */\n @State()\n protected random: number;\n\n private editor: CodeMirror.Editor;\n private observer: ResizeObserver;\n\n public connectedCallback() {\n this.observer = new ResizeObserver(this.handleResize) as any;\n this.observer.observe(this.host);\n\n this.darkMode.addEventListener('change', this.handleChangeDarkMode);\n }\n\n public disconnectedCallback() {\n this.observer.unobserve(this.host);\n this.editor.off('change', this.handleChange);\n this.editor = null;\n\n this.darkMode.removeEventListener('change', this.handleChangeDarkMode);\n\n const editorElement = this.host.shadowRoot.querySelector('.editor');\n editorElement?.childNodes.forEach((child) => {\n child.remove();\n });\n }\n\n public componentDidRender() {\n if (this.editor) {\n return;\n }\n\n this.editor = this.createEditor();\n }\n\n @Watch('value')\n protected watchValue(newValue: string) {\n if (!this.editor) {\n return;\n }\n\n const currentValue = this.editor.getValue();\n if (newValue === currentValue) {\n // Circuit breaker for when the change comes from the editor itself\n // The caret position will be reset without this\n return;\n }\n\n this.editor.getDoc().setValue(newValue || '');\n }\n\n private handleChangeDarkMode = () => {\n if (this.colorScheme !== 'auto') {\n return;\n }\n\n this.forceRedraw();\n };\n\n private handleChange = () => {\n this.change.emit(this.editor.getValue());\n };\n\n private handleResize = () => {\n if (!this.editor) {\n return;\n }\n\n this.editor.refresh();\n };\n\n private createEditor() {\n const options = this.getOptions();\n\n const editor = CodeMirror(\n this.host.shadowRoot.querySelector('.editor'),\n options\n );\n\n editor.on('change', this.handleChange);\n\n // Replace tab with spaces and use the actual indent setting for\n // the space count\n editor.setOption('extraKeys', {\n Tab: (codeMirror) => {\n const spaces = Array(\n codeMirror.getOption('indentUnit') + 1\n ).join(' ');\n codeMirror.replaceSelection(spaces);\n },\n });\n\n return editor;\n }\n\n private getOptions(): CodeMirror.EditorConfiguration {\n let mode: string | CodeMirror.ModeSpec<any> = this.language;\n const TAB_SIZE = 4;\n let theme = 'lime light';\n const gutters = [];\n\n if (this.isDarkMode()) {\n theme = 'lime dark';\n }\n\n if (this.language === 'json') {\n mode = {\n name: 'application/json',\n json: true,\n };\n if (this.lint) {\n gutters.push('CodeMirror-lint-markers');\n if (!('jsonlint' in window)) {\n // eslint-disable-next-line @typescript-eslint/dot-notation\n window['jsonlint'] = jslint;\n }\n }\n } else if (this.language === 'typescript') {\n mode = {\n name: 'application/typescript',\n typescript: true,\n };\n }\n\n if (this.fold) {\n gutters.push('CodeMirror-foldgutter');\n }\n\n return {\n mode: mode,\n value: this.value || '',\n theme: theme,\n readOnly: this.readonly,\n tabSize: TAB_SIZE,\n indentUnit: TAB_SIZE,\n lineNumbers: this.lineNumbers,\n styleActiveLine: true,\n matchBrackets: true,\n lint: this.lint,\n foldGutter: this.fold,\n gutters: gutters,\n };\n }\n\n private isDarkMode(): boolean {\n if (this.colorScheme !== 'auto') {\n return this.colorScheme === 'dark';\n }\n\n return this.darkMode.matches;\n }\n\n public render() {\n const classList = {\n editor: true,\n readonly: this.readonly,\n 'is-dark-mode': this.isDarkMode(),\n 'is-light-mode': !this.isDarkMode(),\n };\n\n return <div class={classList} />;\n }\n\n private forceRedraw() {\n this.random = Math.random();\n }\n\n private get darkMode(): MediaQueryList {\n return matchMedia('(prefers-color-scheme: dark)');\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"code-editor.types.js","sourceRoot":"","sources":["../../../src/components/code-editor/code-editor.types.ts"],"names":[],"mappings":"","sourcesContent":["export type Language = 'javascript' | 'json' | 'typescript';\n\nexport type ColorScheme = 'dark' | 'light' | 'auto';\n"]}
1
+ {"version":3,"file":"code-editor.types.js","sourceRoot":"","sources":["../../../src/components/code-editor/code-editor.types.ts"],"names":[],"mappings":"","sourcesContent":["export type Language = 'javascript' | 'jinja2' | 'json' | 'typescript';\n\nexport type ColorScheme = 'dark' | 'light' | 'auto';\n"]}
@@ -0,0 +1,66 @@
1
+ export function detectExtension(fileName, url) {
2
+ const pathLike = fileName || url;
3
+ if (!pathLike) {
4
+ return 'unknown';
5
+ }
6
+ const extension = pathLike.split('.').pop().toLowerCase();
7
+ const extensionsToTypes = {
8
+ pdf: 'pdf',
9
+ jpg: 'image',
10
+ jpeg: 'image',
11
+ heic: 'image',
12
+ bmp: 'image',
13
+ png: 'image',
14
+ gif: 'image',
15
+ svg: 'image',
16
+ svgz: 'image',
17
+ ep: 'image',
18
+ eps: 'image',
19
+ avi: 'video',
20
+ flv: 'video',
21
+ h264: 'video',
22
+ mov: 'video',
23
+ mp4: 'video',
24
+ mwv: 'video',
25
+ mkv: 'video',
26
+ mp3: 'audio',
27
+ wav: 'audio',
28
+ wma: 'audio',
29
+ ogg: 'audio',
30
+ txt: 'text',
31
+ json: 'text',
32
+ html: 'text',
33
+ xml: 'text',
34
+ // Word
35
+ doc: 'office',
36
+ docx: 'office',
37
+ odt: 'office',
38
+ dot: 'office',
39
+ dotx: 'office',
40
+ docm: 'office',
41
+ dotm: 'office',
42
+ // Presentation
43
+ pot: 'office',
44
+ ppt: 'office',
45
+ pptx: 'office',
46
+ odp: 'office',
47
+ potx: 'office',
48
+ potm: 'office',
49
+ pps: 'office',
50
+ ppsx: 'office',
51
+ ppsm: 'office',
52
+ pptm: 'office',
53
+ ppam: 'office',
54
+ pages: 'office',
55
+ // Spreadsheet
56
+ xls: 'office',
57
+ xlsx: 'office',
58
+ xlsm: 'office',
59
+ xlsb: 'office',
60
+ ods: 'office',
61
+ csv: 'office',
62
+ numbers: 'office', // not supported (Apple)
63
+ };
64
+ return extensionsToTypes[extension] || 'unknown';
65
+ }
66
+ //# sourceMappingURL=extension-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-mapping.js","sourceRoot":"","sources":["../../../src/components/file-viewer/extension-mapping.tsx"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,QAAQ,EAAE,GAAG;EACzC,MAAM,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC;EACjC,IAAI,CAAC,QAAQ,EAAE;IACX,OAAO,SAAS,CAAC;GACpB;EAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;EAC1D,MAAM,iBAAiB,GAAG;IACtB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,OAAO;IACX,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,OAAO;IACP,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,eAAe;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,cAAc;IACd,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,QAAQ,EAAE,wBAAwB;GAC9C,CAAC;EAEF,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;AACrD,CAAC","sourcesContent":["export function detectExtension(fileName, url): any {\n const pathLike = fileName || url;\n if (!pathLike) {\n return 'unknown';\n }\n\n const extension = pathLike.split('.').pop().toLowerCase();\n const extensionsToTypes = {\n pdf: 'pdf',\n jpg: 'image',\n jpeg: 'image',\n heic: 'image',\n bmp: 'image',\n png: 'image',\n gif: 'image',\n svg: 'image',\n svgz: 'image',\n ep: 'image',\n eps: 'image',\n avi: 'video',\n flv: 'video',\n h264: 'video',\n mov: 'video',\n mp4: 'video',\n mwv: 'video',\n mkv: 'video',\n mp3: 'audio',\n wav: 'audio',\n wma: 'audio',\n ogg: 'audio',\n txt: 'text',\n json: 'text',\n html: 'text',\n xml: 'text',\n // Word\n doc: 'office',\n docx: 'office',\n odt: 'office',\n dot: 'office',\n dotx: 'office',\n docm: 'office', // not supported\n dotm: 'office', // not yet tested\n // Presentation\n pot: 'office', // not tested\n ppt: 'office',\n pptx: 'office',\n odp: 'office',\n potx: 'office', // not supported\n potm: 'office', // not supported\n pps: 'office',\n ppsx: 'office',\n ppsm: 'office', // not supported\n pptm: 'office', // not supported\n ppam: 'office', // not tested\n pages: 'office', // not supported (Apple)\n // Spreadsheet\n xls: 'office',\n xlsx: 'office',\n xlsm: 'office',\n xlsb: 'office',\n ods: 'office',\n csv: 'office', // not supported\n numbers: 'office', // not supported (Apple)\n };\n\n return extensionsToTypes[extension] || 'unknown';\n}\n"]}
@@ -0,0 +1,266 @@
1
+ /*
2
+ * This file is imported into every component!
3
+ *
4
+ * Nothing in this file may output any CSS
5
+ * without being explicitly called by outside code.
6
+ */
7
+ /*
8
+ * This file is imported into every component!
9
+ *
10
+ * Nothing in this file may output any CSS
11
+ * without being explicitly used by outside code.
12
+ */
13
+ /*
14
+ * This file is imported into every component that uses MDC!
15
+ *
16
+ * Anything in this file that generates CSS output on its own,
17
+ * without being explicitly used, will output that CSS in every
18
+ * single component, increasing the size of the production build.
19
+ * Avoid that unless there's very good reason for it!
20
+ */
21
+ /*
22
+ * This file is imported into every component that uses MDC!
23
+ *
24
+ * Anything in this file that generates CSS output on its own,
25
+ * without being explicitly used, will output that CSS in every
26
+ * single component, increasing the size of the production build.
27
+ * Avoid that unless there's very good reason for it!
28
+ */
29
+ :host {
30
+ --mdc-theme-primary: var(
31
+ --lime-primary-color,
32
+ rgb(var(--color-teal-default))
33
+ );
34
+ --mdc-theme-secondary: var(
35
+ --lime-secondary-color,
36
+ rgb(var(--contrast-1100))
37
+ );
38
+ --mdc-theme-on-primary: var(
39
+ --lime-on-primary-color,
40
+ rgb(var(--contrast-100))
41
+ );
42
+ --mdc-theme-on-secondary: var(
43
+ --lime-on-secondary-color,
44
+ rgb(var(--contrast-100))
45
+ );
46
+ --mdc-theme-text-disabled-on-background: var(
47
+ --lime-text-disabled-on-background-color,
48
+ rgba(var(--contrast-1700), 0.38)
49
+ );
50
+ --mdc-theme-text-primary-on-background: var(
51
+ --lime-text-primary-on-background-color,
52
+ rgba(var(--contrast-1700), 0.87)
53
+ );
54
+ --mdc-theme-text-secondary-on-background: var(
55
+ --lime-text-secondary-on-background-color,
56
+ rgba(var(--contrast-1700), 0.54)
57
+ );
58
+ --mdc-theme-error: var(
59
+ --lime-error-background-color,
60
+ rgb(var(--color-red-dark))
61
+ );
62
+ --lime-error-text-color: rgb(var(--color-red-darker));
63
+ --mdc-theme-surface: var(
64
+ --lime-surface-background-color,
65
+ rgb(var(--contrast-100))
66
+ );
67
+ --mdc-theme-on-surface: var(
68
+ --lime-on-surface-color,
69
+ rgb(var(--contrast-1500))
70
+ );
71
+ }
72
+
73
+ /**
74
+ * Note! This file is exported to `dist/scss/` in the published
75
+ * node module, for consumer projects to import.
76
+ * That means this file cannot import from any file that isn't
77
+ * also exported, keeping the same relative path.
78
+ *
79
+ * Or, just don't import anything, that works too.
80
+ */
81
+ /**
82
+ * This mixin will mask out the content that is close to
83
+ * the edges of a scrollable area.
84
+ * - If the scrollable content has `overflow-y`, use `vertically`
85
+ * as an argument for `$direction`.
86
+ - If the scrollable content has `overflow-x`, use `horizontally`
87
+ * as an argument for `$direction`.
88
+ *
89
+ * For the visual effect to work smoothly, we need to make sure that
90
+ * the size of the fade-out edge effect is the same as the
91
+ * internal paddings of the scrollable area. Otherwise, content of a
92
+ * scrollable area that does not have a padding will fade out before
93
+ * any scrolling has been done.
94
+ * This is why this mixin already adds paddings, which automatically
95
+ * default to the size of the fade-out effect.
96
+ * This size defaults to `1rem`, but to override the size use
97
+ * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
98
+ * when `vertically` argument is set, and use
99
+ * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
100
+ * when `horizontally` argument is set.
101
+ * Of course you can also programmatically increase and decrease the
102
+ * size of these variables for each edge, based on the amount of
103
+ * scrolling that has been done by the user. In this case, make sure
104
+ * to add a custom padding where the mixin is used, to override
105
+ * the paddings that are automatically added by the mixin in the
106
+ * compiled CSS code.
107
+ */
108
+ :host {
109
+ isolation: isolate;
110
+ position: relative;
111
+ box-sizing: border-box;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ width: 100%;
116
+ height: 100%;
117
+ }
118
+
119
+ * {
120
+ box-sizing: border-box;
121
+ }
122
+
123
+ img,
124
+ video,
125
+ audio,
126
+ object,
127
+ iframe {
128
+ max-height: 100%;
129
+ max-width: 100%;
130
+ box-sizing: border-box;
131
+ }
132
+
133
+ iframe {
134
+ border: none;
135
+ width: 100%;
136
+ height: 100%;
137
+ min-height: 20rem;
138
+ }
139
+
140
+ img {
141
+ min-width: 7rem;
142
+ object-fit: contain;
143
+ }
144
+
145
+ video {
146
+ width: 100%;
147
+ height: auto;
148
+ }
149
+
150
+ audio {
151
+ width: 100%;
152
+ }
153
+
154
+ object {
155
+ width: 100%;
156
+ height: 100%;
157
+ }
158
+
159
+ object[type="application/pdf"] {
160
+ min-height: 20rem;
161
+ }
162
+
163
+ object[type="text/plain"] {
164
+ border-radius: 0.25rem;
165
+ padding-right: 2rem;
166
+ overflow-y: auto;
167
+ }
168
+
169
+ :host(:fullscreen) {
170
+ background-color: rgb(var(--color-gray-darker));
171
+ }
172
+ :host(:fullscreen) object[type="text/plain"] {
173
+ max-width: 50rem;
174
+ max-height: calc(100% - 2rem);
175
+ }
176
+
177
+ :host(:-webkit-full-screen) {
178
+ background-color: rgb(var(--color-gray-darker));
179
+ }
180
+ :host(:-webkit-full-screen) object[type="text/plain"] {
181
+ max-width: 50rem;
182
+ max-height: calc(100% - 2rem);
183
+ }
184
+
185
+ .buttons {
186
+ position: absolute;
187
+ z-index: 1;
188
+ top: 0.25rem;
189
+ right: 0.25rem;
190
+ display: flex;
191
+ flex-direction: column;
192
+ gap: 0.25rem;
193
+ }
194
+ @media (pointer: coarse) {
195
+ .buttons {
196
+ gap: 0.5rem;
197
+ }
198
+ }
199
+
200
+ .no-support {
201
+ display: flex;
202
+ flex-direction: column;
203
+ align-items: center;
204
+ border: 1px dashed rgb(var(--contrast-600));
205
+ border-radius: 0.5rem;
206
+ padding: 1.25rem;
207
+ }
208
+ .no-support .icon--warning {
209
+ color: rgb(var(--color-orange-default));
210
+ }
211
+
212
+ [class^=button--] {
213
+ all: unset;
214
+ transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
215
+ cursor: pointer;
216
+ color: var(--mdc-theme-on-surface);
217
+ background-color: var(--lime-elevated-surface-background-color);
218
+ box-shadow: var(--button-shadow-normal);
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: center;
222
+ border-radius: 50%;
223
+ width: 2rem;
224
+ height: 2rem;
225
+ background-color: rgba(var(--contrast-100), 0.8);
226
+ backdrop-filter: blur(0.25rem);
227
+ -webkit-backdrop-filter: blur(0.25rem);
228
+ }
229
+ [class^=button--]:hover {
230
+ color: var(--mdc-theme-on-surface);
231
+ background-color: var(--lime-elevated-surface-background-color);
232
+ box-shadow: var(--button-shadow-hovered);
233
+ }
234
+ [class^=button--]:active {
235
+ box-shadow: var(--button-shadow-pressed);
236
+ transform: translate3d(0, 0.08rem, 0);
237
+ }
238
+ [class^=button--]:focus {
239
+ outline: none;
240
+ }
241
+ [class^=button--]:focus-visible {
242
+ outline: none;
243
+ box-shadow: var(--shadow-depth-8-focused);
244
+ }
245
+ [class^=button--] limel-icon {
246
+ transition: color 0.2s ease;
247
+ width: 1.25rem;
248
+ color: rgb(var(--contrast-1200));
249
+ }
250
+ [class^=button--]:hover limel-icon {
251
+ color: rgb(var(--contrast-1400));
252
+ }
253
+
254
+ .action-menu-for-pdf-files,
255
+ .action-menu-for-office-files {
256
+ position: absolute;
257
+ right: 0.75rem;
258
+ }
259
+
260
+ .action-menu-for-pdf-files {
261
+ bottom: 0.75rem;
262
+ }
263
+
264
+ .action-menu-for-office-files {
265
+ top: 0.75rem;
266
+ }