@limetech/lime-elements 39.0.3 → 39.1.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 (254) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/index-nxo2UO7I.js +20355 -0
  3. package/dist/cjs/lime-elements.cjs.js +1 -1
  4. package/dist/cjs/limel-action-bar_2.cjs.entry.js +4 -4
  5. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +6 -6
  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 +1 -1
  10. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
  12. package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-email-viewer.cjs.entry.js +351 -0
  14. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -2
  15. package/dist/cjs/limel-file-viewer.cjs.entry.js +4967 -26
  16. package/dist/cjs/limel-file.cjs.entry.js +2 -2
  17. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  22. package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-help.cjs.entry.js +2 -2
  24. package/dist/cjs/limel-helper-line_2.cjs.entry.js +3 -3
  25. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  26. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
  28. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  29. package/dist/cjs/limel-list-item.cjs.entry.js +3 -3
  30. package/dist/cjs/limel-markdown.cjs.entry.js +3 -2
  31. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
  34. package/dist/cjs/limel-portal_3.cjs.entry.js +4 -4
  35. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
  36. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +15 -14
  37. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  38. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  39. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  40. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  41. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-snackbar.cjs.entry.js +3 -3
  43. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  44. package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -2
  45. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  46. package/dist/cjs/limel-table.cjs.entry.js +4 -4
  47. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  48. package/dist/cjs/loader.cjs.js +1 -1
  49. package/dist/cjs/{markdown-parser-_1bsy-5h.js → markdown-parser-B66l_Zvo.js} +20342 -40680
  50. package/dist/cjs/{translations-BIHr3B9O.js → translations-B0hzD08N.js} +112 -0
  51. package/dist/collection/collection-manifest.json +1 -0
  52. package/dist/collection/components/collapsible-section/collapsible-section.css +1 -0
  53. package/dist/collection/components/email-viewer/email-loader.js +206 -0
  54. package/dist/collection/components/email-viewer/email-viewer.css +293 -0
  55. package/dist/collection/components/email-viewer/email-viewer.js +294 -0
  56. package/dist/collection/components/email-viewer/email-viewer.types.js +1 -0
  57. package/dist/collection/components/email-viewer/remote-images.js +50 -0
  58. package/dist/collection/components/email-viewer/sanitize-email-html.js +245 -0
  59. package/dist/collection/components/email-viewer/split-email-address-list.js +106 -0
  60. package/dist/collection/components/file/file.js +1 -1
  61. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  62. package/dist/collection/components/file-input/file-input.js +1 -1
  63. package/dist/collection/components/file-viewer/extension-mapping.js +1 -0
  64. package/dist/collection/components/file-viewer/file-viewer.js +54 -7
  65. package/dist/collection/components/flex-container/flex-container.js +1 -1
  66. package/dist/collection/components/form/form.js +1 -1
  67. package/dist/collection/components/grid/grid.js +1 -1
  68. package/dist/collection/components/header/header.js +1 -1
  69. package/dist/collection/components/help/help-content.js +1 -1
  70. package/dist/collection/components/help/help.js +2 -2
  71. package/dist/collection/components/helper-line/helper-line.js +2 -2
  72. package/dist/collection/components/icon/icon.js +1 -1
  73. package/dist/collection/components/icon-button/icon-button.js +1 -1
  74. package/dist/collection/components/info-tile/info-tile.js +2 -2
  75. package/dist/collection/components/input-field/input-field.js +1 -1
  76. package/dist/collection/components/list/list.js +1 -1
  77. package/dist/collection/components/list-item/list-item.js +2 -2
  78. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  79. package/dist/collection/components/markdown/markdown.js +1 -1
  80. package/dist/collection/components/menu/menu.js +1 -1
  81. package/dist/collection/components/menu-list/menu-list.js +1 -1
  82. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  83. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  84. package/dist/collection/components/picker/picker.js +1 -1
  85. package/dist/collection/components/popover/popover.js +1 -1
  86. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  87. package/dist/collection/components/portal/portal.js +1 -1
  88. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  89. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  90. package/dist/collection/components/select/select.js +1 -1
  91. package/dist/collection/components/shortcut/shortcut.js +1 -1
  92. package/dist/collection/components/slider/slider.js +1 -1
  93. package/dist/collection/components/snackbar/snackbar.js +2 -2
  94. package/dist/collection/components/spinner/spinner.js +1 -1
  95. package/dist/collection/components/split-button/split-button.js +2 -2
  96. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  97. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  98. package/dist/collection/components/table/table.js +3 -3
  99. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  100. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  101. package/dist/collection/components/text-editor/text-editor.js +1 -1
  102. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  103. package/dist/collection/components/tooltip/tooltip.js +2 -2
  104. package/dist/collection/interface.js +1 -0
  105. package/dist/collection/translations/da.js +14 -0
  106. package/dist/collection/translations/de.js +14 -0
  107. package/dist/collection/translations/en.js +14 -0
  108. package/dist/collection/translations/fi.js +14 -0
  109. package/dist/collection/translations/fr.js +14 -0
  110. package/dist/collection/translations/nl.js +14 -0
  111. package/dist/collection/translations/no.js +14 -0
  112. package/dist/collection/translations/sv.js +14 -0
  113. package/dist/collection/util/format-bytes.js +38 -0
  114. package/dist/esm/{file-metadata-D5joHaqk.js → file-metadata-BwF9vTXN.js} +1 -1
  115. package/dist/esm/{files-CkgibGPZ.js → files-P324wLau.js} +1 -1
  116. package/dist/esm/{get-icon-props-COzG_Mhw.js → get-icon-props-CgNJbSP4.js} +1 -1
  117. package/dist/esm/index-CJ0GYrWG.js +20341 -0
  118. package/dist/esm/lime-elements.js +1 -1
  119. package/dist/esm/limel-action-bar-item_2.entry.js +1 -1
  120. package/dist/esm/limel-action-bar_2.entry.js +4 -4
  121. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  122. package/dist/esm/limel-breadcrumbs_7.entry.js +7 -7
  123. package/dist/esm/limel-button.entry.js +1 -1
  124. package/dist/esm/limel-callout.entry.js +1 -1
  125. package/dist/esm/limel-card.entry.js +1 -1
  126. package/dist/esm/limel-chart.entry.js +1 -1
  127. package/dist/esm/limel-chip_2.entry.js +2 -2
  128. package/dist/esm/limel-code-editor.entry.js +1 -1
  129. package/dist/esm/limel-collapsible-section.entry.js +3 -3
  130. package/dist/esm/limel-drag-handle.entry.js +1 -1
  131. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  132. package/dist/esm/limel-email-viewer.entry.js +349 -0
  133. package/dist/esm/limel-file-dropzone_2.entry.js +5 -5
  134. package/dist/esm/limel-file-viewer.entry.js +4948 -7
  135. package/dist/esm/limel-file.entry.js +4 -4
  136. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  137. package/dist/esm/limel-flex-container.entry.js +1 -1
  138. package/dist/esm/limel-form.entry.js +1 -1
  139. package/dist/esm/limel-grid.entry.js +1 -1
  140. package/dist/esm/limel-header.entry.js +2 -2
  141. package/dist/esm/limel-help-content.entry.js +1 -1
  142. package/dist/esm/limel-help.entry.js +2 -2
  143. package/dist/esm/limel-helper-line_2.entry.js +3 -3
  144. package/dist/esm/limel-icon-button.entry.js +2 -2
  145. package/dist/esm/limel-icon.entry.js +1 -1
  146. package/dist/esm/limel-info-tile.entry.js +2 -2
  147. package/dist/esm/limel-linear-progress.entry.js +1 -1
  148. package/dist/esm/limel-list-item.entry.js +4 -4
  149. package/dist/esm/limel-markdown.entry.js +3 -2
  150. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  151. package/dist/esm/limel-picker.entry.js +2 -2
  152. package/dist/esm/limel-popover_2.entry.js +2 -2
  153. package/dist/esm/limel-portal_3.entry.js +4 -4
  154. package/dist/esm/limel-profile-picture.entry.js +4 -4
  155. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  156. package/dist/esm/limel-progress-flow.entry.js +1 -1
  157. package/dist/esm/limel-prosemirror-adapter.entry.js +7 -6
  158. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  159. package/dist/esm/limel-radio-button.entry.js +2 -2
  160. package/dist/esm/limel-select.entry.js +2 -2
  161. package/dist/esm/limel-shortcut.entry.js +1 -1
  162. package/dist/esm/limel-slider.entry.js +1 -1
  163. package/dist/esm/limel-snackbar.entry.js +3 -3
  164. package/dist/esm/limel-split-button.entry.js +2 -2
  165. package/dist/esm/limel-tab-bar.entry.js +3 -3
  166. package/dist/esm/limel-tab-panel.entry.js +1 -1
  167. package/dist/esm/limel-table.entry.js +4 -4
  168. package/dist/esm/limel-text-editor.entry.js +1 -1
  169. package/dist/esm/loader.js +1 -1
  170. package/dist/esm/{markdown-parser-DkmQCwAi.js → markdown-parser-DJi1w622.js} +20287 -40624
  171. package/dist/esm/{translations-6rJPElLH.js → translations-Cdx3I2X8.js} +112 -0
  172. package/dist/lime-elements/lime-elements.esm.js +1 -1
  173. package/dist/lime-elements/{p-927622ec.entry.js → p-00fdb26c.entry.js} +1 -1
  174. package/dist/lime-elements/{p-880b9683.entry.js → p-1244d687.entry.js} +2 -2
  175. package/dist/lime-elements/p-1d71e9c8.entry.js +1 -0
  176. package/dist/lime-elements/p-21aef7f4.entry.js +1 -0
  177. package/dist/lime-elements/{p-68f49d6f.entry.js → p-278356b3.entry.js} +1 -1
  178. package/dist/lime-elements/{p-a6fae24d.entry.js → p-28dae22e.entry.js} +1 -1
  179. package/dist/lime-elements/{p-6951136b.entry.js → p-2d31cf0d.entry.js} +1 -1
  180. package/dist/lime-elements/{p-6e3666e5.entry.js → p-2ef38dac.entry.js} +1 -1
  181. package/dist/lime-elements/{p-dd36d57b.entry.js → p-2f788e92.entry.js} +7 -7
  182. package/dist/lime-elements/p-2kcqdtMr.js +1 -0
  183. package/dist/lime-elements/{p-11f716f5.entry.js → p-3000785f.entry.js} +1 -1
  184. package/dist/lime-elements/{p-2a5b259e.entry.js → p-3130d348.entry.js} +1 -1
  185. package/dist/lime-elements/{p-feeae1e4.entry.js → p-38097fa1.entry.js} +1 -1
  186. package/dist/lime-elements/p-3b299849.entry.js +1 -0
  187. package/dist/lime-elements/{p-00859fac.entry.js → p-3e6ce4e1.entry.js} +2 -2
  188. package/dist/lime-elements/{p-23f7956e.entry.js → p-3ec31835.entry.js} +1 -1
  189. package/dist/lime-elements/{p-52edfe86.entry.js → p-44396c0d.entry.js} +1 -1
  190. package/dist/lime-elements/{p-ec42a4aa.entry.js → p-494f880b.entry.js} +1 -1
  191. package/dist/lime-elements/{p-d1fa6da3.entry.js → p-4f6e3057.entry.js} +3 -3
  192. package/dist/lime-elements/{p-e6d74062.entry.js → p-504ae59f.entry.js} +1 -1
  193. package/dist/lime-elements/{p-7d5bd4a2.entry.js → p-51565372.entry.js} +1 -1
  194. package/dist/lime-elements/{p-5ddeb498.entry.js → p-52098c47.entry.js} +1 -1
  195. package/dist/lime-elements/{p-d2123236.entry.js → p-521a0204.entry.js} +1 -1
  196. package/dist/lime-elements/{p-38fb97fe.entry.js → p-54d85ae4.entry.js} +1 -1
  197. package/dist/lime-elements/{p-88f503eb.entry.js → p-59a522ee.entry.js} +1 -1
  198. package/dist/lime-elements/{p-2c1538f0.entry.js → p-5af72e1b.entry.js} +1 -1
  199. package/dist/lime-elements/p-64cc5094.entry.js +1 -0
  200. package/dist/lime-elements/{p-045c6027.entry.js → p-67a2c7f5.entry.js} +1 -1
  201. package/dist/lime-elements/{p-8db6b7d9.entry.js → p-68b1605f.entry.js} +1 -1
  202. package/dist/lime-elements/{p-7457bc07.entry.js → p-770981e6.entry.js} +1 -1
  203. package/dist/lime-elements/{p-9ea564fe.entry.js → p-7ed97446.entry.js} +1 -1
  204. package/dist/lime-elements/{p-cbb7d624.entry.js → p-8053727c.entry.js} +1 -1
  205. package/dist/lime-elements/{p-fc3209db.entry.js → p-80f9f2d3.entry.js} +1 -1
  206. package/dist/lime-elements/{p-34ef71f2.entry.js → p-95fb9ef8.entry.js} +1 -1
  207. package/dist/lime-elements/{p-6275668f.entry.js → p-961dff13.entry.js} +1 -1
  208. package/dist/lime-elements/{p-abef62d7.entry.js → p-97952658.entry.js} +1 -1
  209. package/dist/lime-elements/{p-d6270e4a.entry.js → p-982b9f50.entry.js} +1 -1
  210. package/dist/lime-elements/p-9c4156c6.entry.js +1 -0
  211. package/dist/lime-elements/p-BRCcjfVu.js +7 -0
  212. package/dist/lime-elements/{p-DSjFzQmB.js → p-CWuGCKo1.js} +1 -1
  213. package/dist/lime-elements/p-Cdx3I2X8.js +1 -0
  214. package/dist/lime-elements/{p-COzG_Mhw.js → p-CgNJbSP4.js} +1 -1
  215. package/dist/lime-elements/{p-BQY2kAWs.js → p-DlJXKdhK.js} +1 -1
  216. package/dist/lime-elements/{p-bbaf35ce.entry.js → p-a9f3f90c.entry.js} +1 -1
  217. package/dist/lime-elements/{p-c9e934af.entry.js → p-af5f2052.entry.js} +1 -1
  218. package/dist/lime-elements/{p-e11c9b40.entry.js → p-c2478225.entry.js} +1 -1
  219. package/dist/lime-elements/{p-6aebcf60.entry.js → p-c7f2e189.entry.js} +1 -1
  220. package/dist/lime-elements/{p-d424688d.entry.js → p-cb2cc243.entry.js} +1 -1
  221. package/dist/lime-elements/{p-c118eac0.entry.js → p-cce53162.entry.js} +1 -1
  222. package/dist/lime-elements/{p-6896d5c8.entry.js → p-d4fea438.entry.js} +1 -1
  223. package/dist/lime-elements/{p-534fdf9b.entry.js → p-df1fa930.entry.js} +1 -1
  224. package/dist/lime-elements/{p-52bb74b9.entry.js → p-e05ad4f8.entry.js} +1 -1
  225. package/dist/lime-elements/{p-303d01e5.entry.js → p-e6b0e0a2.entry.js} +1 -1
  226. package/dist/lime-elements/{p-80d35f8f.entry.js → p-e975cc29.entry.js} +1 -1
  227. package/dist/lime-elements/{p-9ed578ec.entry.js → p-f532b60f.entry.js} +1 -1
  228. package/dist/lime-elements/{p-4be18a57.entry.js → p-ff845f5c.entry.js} +1 -1
  229. package/dist/types/components/email-viewer/email-loader.d.ts +19 -0
  230. package/dist/types/components/email-viewer/email-viewer.d.ts +69 -0
  231. package/dist/types/components/email-viewer/email-viewer.types.d.ts +70 -0
  232. package/dist/types/components/email-viewer/remote-images.d.ts +22 -0
  233. package/dist/types/components/email-viewer/sanitize-email-html.d.ts +14 -0
  234. package/dist/types/components/email-viewer/split-email-address-list.d.ts +25 -0
  235. package/dist/types/components/file-viewer/file-viewer.d.ts +9 -0
  236. package/dist/types/components/file-viewer/file-viewer.types.d.ts +1 -1
  237. package/dist/types/components.d.ts +116 -0
  238. package/dist/types/interface.d.ts +1 -0
  239. package/dist/types/translations/da.d.ts +10 -0
  240. package/dist/types/translations/de.d.ts +10 -0
  241. package/dist/types/translations/en.d.ts +10 -0
  242. package/dist/types/translations/fi.d.ts +10 -0
  243. package/dist/types/translations/fr.d.ts +10 -0
  244. package/dist/types/translations/nl.d.ts +10 -0
  245. package/dist/types/translations/no.d.ts +10 -0
  246. package/dist/types/translations/sv.d.ts +10 -0
  247. package/dist/types/util/format-bytes.d.ts +21 -0
  248. package/package.json +4 -5
  249. package/dist/lime-elements/p-017dd326.entry.js +0 -1
  250. package/dist/lime-elements/p-4beeec39.entry.js +0 -1
  251. package/dist/lime-elements/p-55596d9a.entry.js +0 -1
  252. package/dist/lime-elements/p-6rJPElLH.js +0 -1
  253. package/dist/lime-elements/p-Df0HAtSs.js +0 -7
  254. package/dist/lime-elements/p-f395fbe3.entry.js +0 -1
@@ -16,7 +16,7 @@ export class Spinner {
16
16
  this.limeBranded = false;
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '757fd47f5c8c8a977d28ab58d8a0e0b40deb1df8' }, h("svg", { key: 'b7804a9a173c0603200d545e201da742ee886a28', viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, this.renderSpinner())));
19
+ return (h(Host, { key: 'ab7701f350fe31ca2449c9a571346857c64f26c1' }, h("svg", { key: 'ea186e285a113460701895a1abde7c3d1f07307d', viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, this.renderSpinner())));
20
20
  }
21
21
  renderSpinner() {
22
22
  if (!this.limeBranded) {
@@ -55,9 +55,9 @@ export class SplitButton {
55
55
  };
56
56
  }
57
57
  render() {
58
- return (h(Host, { key: '77ab438b059d6d11e553325cd7182f275f7dfff3', class: {
58
+ return (h(Host, { key: '4d795d0bc0bb80a5b489bb60af7962ae0f527943', class: {
59
59
  'has-menu': this.items.length > 0,
60
- }, onClick: this.filterClickWhenDisabled }, h("limel-button", { key: 'aef804f2365c3527dc7547f1da4d59086ffe4035', label: this.label, primary: this.primary, icon: this.icon, disabled: this.disabled, loading: this.loading, loadingFailed: this.loadingFailed }), this.renderMenu()));
60
+ }, onClick: this.filterClickWhenDisabled }, h("limel-button", { key: '85b94eef97a460419273c3e09a8b4f27d75e7f8b', label: this.label, primary: this.primary, icon: this.icon, disabled: this.disabled, loading: this.loading, loadingFailed: this.loadingFailed }), this.renderMenu()));
61
61
  }
62
62
  static get is() { return "limel-split-button"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -62,11 +62,11 @@ export class TabBar {
62
62
  this.tearDown();
63
63
  }
64
64
  render() {
65
- return (h("div", { key: 'ca093bdd551d5cb176d4e57bd36285f7ebe84aee', class: "mdc-tab-bar", role: "tablist" }, h("div", { key: 'e5346ca04fcfb5d65399c1316bb42764ebad1961', class: {
65
+ return (h("div", { key: '45f3317b1c8cbfe3802246b1cd1d5d471146e83b', class: "mdc-tab-bar", role: "tablist" }, h("div", { key: 'abd04a97eaa3eb974d28c2d5c22849d73cd53797', class: {
66
66
  'mdc-tab-scroller': true,
67
67
  'can-scroll-left': this.canScrollLeft,
68
68
  'can-scroll-right': this.canScrollRight,
69
- } }, h("div", { key: '9499921d705fed069a55843c7650c8d51732de2f', class: "mdc-tab-scroller__scroll-area lime-hide-scrollbars" }, h("div", { key: 'db44f30a085f32f4954c5bcad8da28174a69ec57', class: "mdc-tab-scroller__scroll-content" }, this.tabs.map(this.renderTab))), h("div", { key: 'f1fd45254d30965c2f9bd3b159c283ad0508f510', class: "scroll-fade left" }), h("div", { key: '11c89636925efb17041c42fef306624951f53b7b', class: "scroll-button left" }, h("button", { key: '321ea88f92f19107f927c6adfe133e628becfd73', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollLeft, onClick: this.handleLeftScrollClick }, h("limel-icon", { key: '0676804f551f2b2a9e169baa0230d6a39a29f386', name: "angle_left" }))), h("div", { key: '49713d9f1e164aadd79852a3b36965d30ec07ca4', class: "scroll-fade right" }), h("div", { key: '926f0ca96ab40227f8b5913575bbdbd7075a923c', class: "scroll-button right" }, h("button", { key: '5d879c7240845e365f1b115341a586c72171372f', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollRight, onClick: this.handleRightScrollClick }, h("limel-icon", { key: 'f3f3f13683ea98bdaa463a69569ba7e9a05b74cf', name: "angle_right" }))))));
69
+ } }, h("div", { key: '3b5df540248c33fa540ba786633d8b1d8070799b', class: "mdc-tab-scroller__scroll-area lime-hide-scrollbars" }, h("div", { key: '3c39585e170c368aab830babf2ce1ff82526fabc', class: "mdc-tab-scroller__scroll-content" }, this.tabs.map(this.renderTab))), h("div", { key: '8f6db31c759593e791bcfdf209c2a4c48be01da1', class: "scroll-fade left" }), h("div", { key: '59b96e94a8552234de5d999fd9f442a46d2d0db8', class: "scroll-button left" }, h("button", { key: '06ae8f2a560fa334360c226876d1854d663bb0db', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollLeft, onClick: this.handleLeftScrollClick }, h("limel-icon", { key: '8174bb5b83552a27d96bf171fb1bb2594a0791c2', name: "angle_left" }))), h("div", { key: '814a277b31d58d8f3953033bc68689f0c2972e24', class: "scroll-fade right" }), h("div", { key: '029cae303674062675bd85ac36fdeb41cc5e0901', class: "scroll-button right" }, h("button", { key: '23a341ae7bde119dc4ff93d9c88e19bd5fa3ab9e', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollRight, onClick: this.handleRightScrollClick }, h("limel-icon", { key: 'e2b7da5cf9547e31705bed6d5e2a1312bcfdf22a', name: "angle_right" }))))));
70
70
  }
71
71
  tabsChanged(newTabs = [], oldTabs = []) {
72
72
  const newIds = newTabs.map((tab) => tab.id);
@@ -56,7 +56,7 @@ export class TabPanel {
56
56
  this.tabs.forEach(this.setTabStatus);
57
57
  }
58
58
  render() {
59
- return (h(Host, { key: '4a5a2b4cd54f701fbc1ee739f24f91e9073441b7', onChangeTab: this.handleChangeTabs }, h("div", { key: '9f8bc0396a7d2d0c279d378b7f4a54e204732593', class: "tab-panel" }, h("limel-tab-bar", { key: '7ae81ea3c0b58a183445e43a36c26e57733ae930', tabs: this.tabs }), h("div", { key: '42ffe20b789741edbe735011336dc56a1dcda984', class: "tab-content" }, h("slot", { key: '7fe54503e396c29b8369c7661fc0faa688c7df9a' })))));
59
+ return (h(Host, { key: '72cfa3773a3e1a963d2212dbab203d85a9b0a0c6', onChangeTab: this.handleChangeTabs }, h("div", { key: '1faa5cd3c361acce5141a27791fb0fb401dab968', class: "tab-panel" }, h("limel-tab-bar", { key: 'c7b9cef34448d5e96d3ddb851a0e2bdca876ee80', tabs: this.tabs }), h("div", { key: 'b1cba255e44496a03f7bffcea062e0686b2725f2', class: "tab-content" }, h("slot", { key: '44152fc36221478d7d8656a8e199e36044584283' })))));
60
60
  }
61
61
  setSlotElements() {
62
62
  const slot = this.getSlot();
@@ -575,16 +575,16 @@ export class Table {
575
575
  render() {
576
576
  var _a, _b;
577
577
  const totalRows = (_a = this.totalRows) !== null && _a !== void 0 ? _a : this.data.length;
578
- return (h(Host, { key: '454b02c38cb6c26cc74fb78f8cdcb27699277ece', class: {
578
+ return (h(Host, { key: '1e5a487ca15e58ca2104ca5b348941898e166f4b', class: {
579
579
  'has-low-density': this.layout === 'lowDensity',
580
580
  'has-pagination-on-top': this.paginationLocation === 'top',
581
- } }, h("div", { key: '3f29ea922ea001d29c262c61607c4258f77f0a3b', id: "tabulator-container", class: {
581
+ } }, h("div", { key: '8bcc9cc7d5726ee08a45ceeeeed3c97efa4cbd60', id: "tabulator-container", class: {
582
582
  'has-pagination': totalRows > this.pageSize,
583
583
  'has-aggregation': this.hasAggregation(this.columns),
584
584
  'has-movable-columns': this.movableColumns,
585
585
  'has-rowselector': this.selectable,
586
586
  'has-selection': (_b = this.tableSelection) === null || _b === void 0 ? void 0 : _b.hasSelection,
587
- } }, h("div", { key: '158d493c9758eb0427302fe13559b31233dfb3c8', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: '435a8db60a8682d60613564ae4d7e2f0f653ff6f', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: '759d473e139cb9ec2fd0b4d0e7191a274d004da8', id: "tabulator-table" }))));
587
+ } }, h("div", { key: 'b03b6405f9c49ab038215be2de74e0cbb20b82bc', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: '497e6f2a64ad6dff35cccbe6121872b185edcd04', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: 'e382941693af4e887eb939f665231a91f5b90bda', id: "tabulator-table" }))));
588
588
  }
589
589
  renderSelectAll() {
590
590
  var _a, _b, _c;
@@ -106,9 +106,9 @@ export class TextEditorLinkMenu {
106
106
  var _a, _b;
107
107
  const isValid = this.isValid(this.link.href);
108
108
  return [
109
- h("limel-input-field", { key: 'cdd971c42ec38ad0f794926aa99abc2b25ddd011', label: this.getTranslation('editor-link-menu.text'), value: ((_a = this.link) === null || _a === void 0 ? void 0 : _a.text) || '', leadingIcon: "text_cursor", onChange: this.handleLinkTitleChange, onKeyDown: this.handleKeyDown, ref: (el) => (this.textInput = el) }),
110
- h("limel-input-field", { key: '8e781d0a286c29f18c1fe563efe36b8552c64c6f', label: this.getTranslation('editor-link-menu.link'), value: ((_b = this.link) === null || _b === void 0 ? void 0 : _b.href) || '', type: "text", leadingIcon: "-lime-text-link", trailingIcon: "external_link", invalid: !isValid, onChange: this.handleLinkValueChange, onAction: this.handleLinkInputAction, onKeyDown: this.handleKeyDown }),
111
- h("div", { key: '05114af57a05009d586e4a26759d38bea93924cf', class: "actions" }, h("limel-button", { key: 'e17e1420703e67fea63ae46c41dd8f6df0bfd8ed', label: this.getTranslation('cancel'), onClick: this.handleCancel }), h("limel-button", { key: 'c40616315dc0081727b02cc0ed7b2935319beb51', primary: true, label: this.getTranslation('save'), disabled: !isValid, onClick: this.handleSave, ref: (el) => (this.saveButton = el), slot: "button" })),
109
+ h("limel-input-field", { key: '3553915b0afcb641ba9dbf4031c376ca9774af40', label: this.getTranslation('editor-link-menu.text'), value: ((_a = this.link) === null || _a === void 0 ? void 0 : _a.text) || '', leadingIcon: "text_cursor", onChange: this.handleLinkTitleChange, onKeyDown: this.handleKeyDown, ref: (el) => (this.textInput = el) }),
110
+ h("limel-input-field", { key: '06ac95f42941cc0680b3339886ae125388b47da5', label: this.getTranslation('editor-link-menu.link'), value: ((_b = this.link) === null || _b === void 0 ? void 0 : _b.href) || '', type: "text", leadingIcon: "-lime-text-link", trailingIcon: "external_link", invalid: !isValid, onChange: this.handleLinkValueChange, onAction: this.handleLinkInputAction, onKeyDown: this.handleKeyDown }),
111
+ h("div", { key: '176c41973294fd76512a3e4d927e03841bf83b8d', class: "actions" }, h("limel-button", { key: '58e7e4298ec04325d4dc1769bb6c39fda33f9092', label: this.getTranslation('cancel'), onClick: this.handleCancel }), h("limel-button", { key: 'b57aa7e6d6573f2a2722f9d3dc78f48febef63e6', primary: true, label: this.getTranslation('save'), disabled: !isValid, onClick: this.handleSave, ref: (el) => (this.saveButton = el), slot: "button" })),
112
112
  ];
113
113
  }
114
114
  static get is() { return "limel-text-editor-link-menu"; }
@@ -246,7 +246,7 @@ export class ProsemirrorAdapter {
246
246
  (_e = this.view) === null || _e === void 0 ? void 0 : _e.destroy();
247
247
  }
248
248
  render() {
249
- return (h(Host, { key: 'f827581ca31c05e123a0c37b5c003d25471a4569', onFocus: this.handleFocus }, h("div", { key: '1ee2cbe23b2d0a087147cd4e0345ef7340f1c861', id: "editor" }), this.renderToolbar(), this.renderLinkMenu()));
249
+ return (h(Host, { key: '1d27dcbd164b5ad8bfb0f84a515b0898b82f8065', onFocus: this.handleFocus }, h("div", { key: '622f4a64560e1bb1f6f7b99aaf8473b7234ea026', id: "editor" }), this.renderToolbar(), this.renderLinkMenu()));
250
250
  }
251
251
  renderToolbar() {
252
252
  if (this.actionBarItems.length === 0 || this.ui === 'no-toolbar') {
@@ -142,7 +142,7 @@ export class TextEditor {
142
142
  this.editorId = createRandomString();
143
143
  }
144
144
  render() {
145
- return (h(Host, { key: '5822a85b6517bc8b87f95d42cf496ae03c4f331f' }, h("limel-notched-outline", { key: '530f2c960cd1ea2de953e08400a18133bb98629d', labelId: this.editorId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !!this.value, hasFloatingLabel: true }, this.renderEditor(), this.renderPlaceholder()), this.renderHelperLine()));
145
+ return (h(Host, { key: 'fc1ed446943af3b38407273c6415af76dbbb6a58' }, h("limel-notched-outline", { key: 'c6ada9e2121ea761ed2773a05a7b733d5362e33f', labelId: this.editorId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !!this.value, hasFloatingLabel: true }, this.renderEditor(), this.renderPlaceholder()), this.renderHelperLine()));
146
146
  }
147
147
  renderEditor() {
148
148
  if (this.readonly) {
@@ -18,7 +18,7 @@ export class TooltipContent {
18
18
  };
19
19
  }
20
20
  return [
21
- h("text", Object.assign({ key: '503692ebd45a7beb6fb9ab7f46021db178c0a0b7', class: { 'has-column-layout': isLabelsTextLong } }, props), h("div", { key: '926ec4b5dcfa3a6bc5d694ab4bad5460c2316f56', class: "label" }, this.label), h("div", { key: '86d1b7931dea0ee4cfabe7b9781065df398c7079', class: "helper-label" }, this.helperLabel)),
21
+ h("text", Object.assign({ key: 'fafc5e09cabff7714c6ff3f962c75371fa688689', class: { 'has-column-layout': isLabelsTextLong } }, props), h("div", { key: '23b24f6a3d0713721dc1b99e6b2b56ef31353e0c', class: "label" }, this.label), h("div", { key: 'eab1beacbefb439a662e842f8b93c83a173ffa78', class: "helper-label" }, this.helperLabel)),
22
22
  ];
23
23
  }
24
24
  static get is() { return "limel-tooltip-content"; }
@@ -78,10 +78,10 @@ export class Tooltip {
78
78
  }
79
79
  render() {
80
80
  const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
81
- return (h("div", { key: '9b99792362652af6aea113da134c3e32e83dcf60', class: "trigger-anchor" }, h("limel-portal", { key: 'f76f8f68dd911dee4850d1e8e4b895cc70145608', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
81
+ return (h("div", { key: 'e7c7bdf3927b4e62b8aeea01db9322a1af15be44', class: "trigger-anchor" }, h("limel-portal", { key: 'cfeab6c990e3a88ed7c7cc127f153413e089ff0a', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
82
82
  'z-index': tooltipZIndex,
83
83
  'pointer-events': 'none',
84
- }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: '8e02e5e5cc841315b89eb01754a5fb46db3e117a', label: this.label, helperLabel: this.helperLabel, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
84
+ }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: '1fd936e5f297f30e11740c9e9f0c43fe6fe5f19a', label: this.label, helperLabel: this.helperLabel, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
85
85
  }
86
86
  setOwnerAriaLabel() {
87
87
  var _a;
@@ -11,6 +11,7 @@ export * from './components/date-picker/date.types';
11
11
  export * from './components/dialog/dialog.types';
12
12
  export * from './components/dock/dock.types';
13
13
  export * from './components/color-picker/color-picker.types';
14
+ export * from './components/email-viewer/email-viewer.types';
14
15
  export * from './components/file-viewer/file-viewer.types';
15
16
  export * from './global/shared-types/file.types';
16
17
  export * from './components/flex-container/flex-container.types';
@@ -38,6 +38,20 @@ export default {
38
38
  'file-viewer.open-in-fullscreen': 'Åbn i fuld skærm',
39
39
  'file-viewer.open-in-new-tab': 'Åbn i en ny fane',
40
40
  'file-viewer.more-actions': 'Mere…',
41
+ 'file-viewer.email.subject': 'Emne',
42
+ 'file-viewer.email.from': 'Fra',
43
+ 'file-viewer.email.to': 'Til',
44
+ 'file-viewer.email.cc': 'Kopi',
45
+ 'file-viewer.email.date': 'Dato',
46
+ 'file-viewer.email.attachments': 'Vedhæftninger',
47
+ 'file-viewer.email.attachment.unnamed': 'Vedhæftning uden navn',
48
+ 'file-viewer.email.remote-images.warning': 'Billeder indlæses ikke for at beskytte dit privatliv.',
49
+ 'file-viewer.email.remote-images.warning.description': `Mange e-mails indeholder billeder, der hostes på eksterne servere.
50
+ Når billeder indlæses, anmoder din enhed dem fra afsenderens server.
51
+ Det kan afsløre for afsenderen, at du har åbnet beskeden, hvornår du åbnede den, samt metadata såsom din IP-adresse og oplysninger om enhed/browser.
52
+
53
+ Du kan fortsætte med at blokere billeder (e-mailen kan se ufuldstændig ud) eller indlæse dem, hvis du stoler på afsenderen.`,
54
+ 'file-viewer.email.remote-images.load': 'Indlæs billeder',
41
55
  'editor-menu.bold': 'Fed',
42
56
  'editor-menu.italic': 'Kursiv',
43
57
  'editor-menu.strikethrough': 'Gennemstreget',
@@ -38,6 +38,20 @@ export default {
38
38
  'file-viewer.open-in-fullscreen': 'Im Vollbildmodus öffnen',
39
39
  'file-viewer.open-in-new-tab': 'In einem neuen Tab öffnen',
40
40
  'file-viewer.more-actions': 'Mehr…',
41
+ 'file-viewer.email.subject': 'Betreff',
42
+ 'file-viewer.email.from': 'Von',
43
+ 'file-viewer.email.to': 'An',
44
+ 'file-viewer.email.cc': 'Cc',
45
+ 'file-viewer.email.date': 'Datum',
46
+ 'file-viewer.email.attachments': 'Anhänge',
47
+ 'file-viewer.email.attachment.unnamed': 'Unbenannter Anhang',
48
+ 'file-viewer.email.remote-images.warning': 'Bilder werden nicht geladen, um Ihre Privatsphäre zu schützen.',
49
+ 'file-viewer.email.remote-images.warning.description': `Viele E-Mails enthalten Bilder, die auf externen Servern gehostet werden.
50
+ Wenn Bilder geladen werden, fordert Ihr Gerät sie vom Server des Absenders an.
51
+ Dadurch kann der Absender erfahren, dass Sie die Nachricht geöffnet haben, wann Sie sie geöffnet haben, sowie Metadaten wie Ihre IP-Adresse und Informationen zu Gerät/Browser.
52
+
53
+ Sie können Bilder weiterhin blockieren (die E-Mail kann unvollständig aussehen) oder sie laden, wenn Sie dem Absender vertrauen.`,
54
+ 'file-viewer.email.remote-images.load': 'Bilder laden',
41
55
  'editor-menu.bold': 'Fett',
42
56
  'editor-menu.italic': 'Kursiv',
43
57
  'editor-menu.strikethrough': 'Durchgestrichen',
@@ -38,6 +38,20 @@ export default {
38
38
  'file-viewer.open-in-fullscreen': 'Open in fullscreen',
39
39
  'file-viewer.open-in-new-tab': 'Open in a new tab',
40
40
  'file-viewer.more-actions': 'More…',
41
+ 'file-viewer.email.subject': 'Subject',
42
+ 'file-viewer.email.from': 'From',
43
+ 'file-viewer.email.to': 'To',
44
+ 'file-viewer.email.cc': 'Cc',
45
+ 'file-viewer.email.date': 'Date',
46
+ 'file-viewer.email.attachments': 'Attachments',
47
+ 'file-viewer.email.attachment.unnamed': 'Unnamed attachment',
48
+ 'file-viewer.email.remote-images.warning': "Images aren't loaded to protect your privacy.",
49
+ 'file-viewer.email.remote-images.warning.description': `Many emails include images hosted on external servers.
50
+ When images are loaded, your device requests them from the sender’s server.
51
+ This may reveal to the sender that you opened the message, when you opened it, and metadata such as your IP address and device/browser information.
52
+
53
+ You can keep images blocked (the email may look incomplete), or load them if you trust the sender.`,
54
+ 'file-viewer.email.remote-images.load': 'Load images',
41
55
  'editor-menu.bold': 'Bold',
42
56
  'editor-menu.italic': 'Italic',
43
57
  'editor-menu.strikethrough': 'Strikethrough',
@@ -38,6 +38,20 @@ export default {
38
38
  'file-viewer.open-in-fullscreen': 'Avaa koko näytössä',
39
39
  'file-viewer.open-in-new-tab': 'Avaa uudella välilehdellä',
40
40
  'file-viewer.more-actions': 'Lisää…',
41
+ 'file-viewer.email.subject': 'Aihe',
42
+ 'file-viewer.email.from': 'Lähettäjä',
43
+ 'file-viewer.email.to': 'Vastaanottaja',
44
+ 'file-viewer.email.cc': 'Kopio',
45
+ 'file-viewer.email.date': 'Päiväys',
46
+ 'file-viewer.email.attachments': 'Liitteet',
47
+ 'file-viewer.email.attachment.unnamed': 'Nimetön liite',
48
+ 'file-viewer.email.remote-images.warning': 'Kuvia ei ladata yksityisyytesi suojaamiseksi.',
49
+ 'file-viewer.email.remote-images.warning.description': `Monet sähköpostit sisältävät kuvia, jotka sijaitsevat ulkoisilla palvelimilla.
50
+ Kun kuvat ladataan, laitteesi pyytää ne lähettäjän palvelimelta.
51
+ Tämä voi paljastaa lähettäjälle, että avasit viestin, milloin avasit sen, sekä metatietoja, kuten IP-osoitteesi ja tiedot laitteesta/selaimesta.
52
+
53
+ Voit pitää kuvat estettyinä (sähköposti voi näyttää puutteelliselta) tai ladata ne, jos luotat lähettäjään.`,
54
+ 'file-viewer.email.remote-images.load': 'Lataa kuvat',
41
55
  'editor-menu.bold': 'Lihavoitu',
42
56
  'editor-menu.italic': 'Kursivoitu',
43
57
  'editor-menu.strikethrough': 'Yliviivaus',
@@ -38,6 +38,20 @@ export default {
38
38
  'file-viewer.open-in-fullscreen': 'Ouvrir en plein écran',
39
39
  'file-viewer.open-in-new-tab': 'Ouvrir dans un nouvel onglet',
40
40
  'file-viewer.more-actions': 'Plus…',
41
+ 'file-viewer.email.subject': 'Objet',
42
+ 'file-viewer.email.from': 'De',
43
+ 'file-viewer.email.to': 'À',
44
+ 'file-viewer.email.cc': 'Cc',
45
+ 'file-viewer.email.date': 'Date',
46
+ 'file-viewer.email.attachments': 'Pièces jointes',
47
+ 'file-viewer.email.attachment.unnamed': 'Pièce jointe sans nom',
48
+ 'file-viewer.email.remote-images.warning': 'Les images ne sont pas chargées afin de protéger votre vie privée.',
49
+ 'file-viewer.email.remote-images.warning.description': `De nombreux e-mails contiennent des images hébergées sur des serveurs externes.
50
+ Lorsque les images sont chargées, votre appareil les demande au serveur de l’expéditeur.
51
+ Cela peut révéler à l’expéditeur que vous avez ouvert le message, quand vous l’avez ouvert, ainsi que des métadonnées telles que votre adresse IP et des informations sur votre appareil/navigateur.
52
+
53
+ Vous pouvez laisser les images bloquées (l’e-mail peut sembler incomplet) ou les charger si vous faites confiance à l’expéditeur.`,
54
+ 'file-viewer.email.remote-images.load': 'Charger les images',
41
55
  'editor-menu.bold': 'Gras',
42
56
  'editor-menu.italic': 'Italique',
43
57
  'editor-menu.strikethrough': 'Barré',
@@ -38,6 +38,20 @@ export default {
38
38
  'file-viewer.open-in-fullscreen': 'Open in volledig scherm',
39
39
  'file-viewer.open-in-new-tab': 'Openen op een nieuw tabblad',
40
40
  'file-viewer.more-actions': 'Meer…',
41
+ 'file-viewer.email.subject': 'Onderwerp',
42
+ 'file-viewer.email.from': 'Van',
43
+ 'file-viewer.email.to': 'Aan',
44
+ 'file-viewer.email.cc': 'Cc',
45
+ 'file-viewer.email.date': 'Datum',
46
+ 'file-viewer.email.attachments': 'Bijlagen',
47
+ 'file-viewer.email.attachment.unnamed': 'Bijlage zonder naam',
48
+ 'file-viewer.email.remote-images.warning': 'Afbeeldingen worden niet geladen om je privacy te beschermen.',
49
+ 'file-viewer.email.remote-images.warning.description': `Veel e-mails bevatten afbeeldingen die op externe servers worden gehost.
50
+ Wanneer afbeeldingen worden geladen, vraagt je apparaat ze op bij de server van de afzender.
51
+ Dit kan aan de afzender onthullen dat je het bericht hebt geopend, wanneer je het hebt geopend, en metadata zoals je IP-adres en informatie over apparaat/browser.
52
+
53
+ Je kunt afbeeldingen geblokkeerd houden (de e-mail kan er onvolledig uitzien) of ze laden als je de afzender vertrouwt.`,
54
+ 'file-viewer.email.remote-images.load': 'Afbeeldingen laden',
41
55
  'editor-menu.bold': 'Vet',
42
56
  'editor-menu.italic': 'Cursief',
43
57
  'editor-menu.strikethrough': 'Doorhalen',
@@ -37,6 +37,20 @@ export default {
37
37
  'file-viewer.open-in-fullscreen': 'Åpne i fullskjerm',
38
38
  'file-viewer.open-in-new-tab': 'Åpne i en ny fane',
39
39
  'file-viewer.more-actions': 'Mer…',
40
+ 'file-viewer.email.subject': 'Emne',
41
+ 'file-viewer.email.from': 'Fra',
42
+ 'file-viewer.email.to': 'Til',
43
+ 'file-viewer.email.cc': 'Kopi',
44
+ 'file-viewer.email.date': 'Dato',
45
+ 'file-viewer.email.attachments': 'Vedlegg',
46
+ 'file-viewer.email.attachment.unnamed': 'Vedlegg uten navn',
47
+ 'file-viewer.email.remote-images.warning': 'Bilder lastes ikke inn for å beskytte personvernet ditt.',
48
+ 'file-viewer.email.remote-images.warning.description': `Mange e-poster inneholder bilder som ligger på eksterne servere.
49
+ Når bilder lastes inn, henter enheten din dem fra avsenderens server.
50
+ Dette kan avsløre for avsenderen at du åpnet meldingen, når du åpnet den, og metadata som IP-adressen din og informasjon om enhet/nettleser.
51
+
52
+ Du kan fortsette å blokkere bilder (e-posten kan se ufullstendig ut), eller laste dem inn hvis du stoler på avsenderen.`,
53
+ 'file-viewer.email.remote-images.load': 'Last inn bilder',
40
54
  'editor-menu.bold': 'Fet',
41
55
  'editor-menu.italic': 'Kursiv',
42
56
  'editor-menu.strikethrough': 'Gjennomstreking',
@@ -38,6 +38,20 @@ export default {
38
38
  'file-viewer.open-in-fullscreen': 'Öppna i fullskärmsläge',
39
39
  'file-viewer.open-in-new-tab': 'Öppna i ny flik',
40
40
  'file-viewer.more-actions': 'Mer…',
41
+ 'file-viewer.email.subject': 'Ämne',
42
+ 'file-viewer.email.from': 'Från',
43
+ 'file-viewer.email.to': 'Till',
44
+ 'file-viewer.email.cc': 'Kopia',
45
+ 'file-viewer.email.date': 'Datum',
46
+ 'file-viewer.email.attachments': 'Bilagor',
47
+ 'file-viewer.email.attachment.unnamed': 'Namnlös bilaga',
48
+ 'file-viewer.email.remote-images.warning': 'Bilder laddas inte för att skydda din integritet.',
49
+ 'file-viewer.email.remote-images.warning.description': `Många e-postmeddelanden innehåller bilder som finns på externa servrar.
50
+ När bilder laddas hämtar din enhet dem från avsändarens server.
51
+ Det kan avslöja för avsändaren att du öppnade meddelandet, när du öppnade det och metadata som din IP-adress samt information om enhet/webbläsare.
52
+
53
+ Du kan fortsätta blockera bilder (e-posten kan se ofullständig ut) eller ladda dem om du litar på avsändaren.`,
54
+ 'file-viewer.email.remote-images.load': 'Ladda bilder',
41
55
  'editor-menu.bold': 'Fet',
42
56
  'editor-menu.italic': 'Kursiv',
43
57
  'editor-menu.strikethrough': 'Genomstruken',
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Format a file size in bytes into a human readable string.
3
+ *
4
+ * Uses base 1024 units (binary prefixes without the "i" designation)
5
+ * and applies adaptive precision: one decimal for values < 10 of the
6
+ * chosen unit, otherwise no decimals.
7
+ *
8
+ * Examples:
9
+ * - 0 => "0 B"
10
+ * - 512 => "512 B"
11
+ * - 1536 => "1.5 KB"
12
+ * - 1048576 => "1 MB"
13
+ * - 5368709120 => "5 GB"
14
+ * - formatBytes(5347737600, 2) => "4.98 GB" (value < 10 so two decimals)
15
+ *
16
+ * @param bytes - the size in bytes
17
+ * @param decimals - max number of decimals for small unit values (default: 1)
18
+ * @returns formatted size string
19
+ */
20
+ export function formatBytes(bytes, decimals = 1) {
21
+ if (bytes == null || Number.isNaN(bytes)) {
22
+ return '';
23
+ }
24
+ if (bytes < 0) {
25
+ return '';
26
+ }
27
+ if (bytes === 0) {
28
+ return '0 B';
29
+ }
30
+ const k = 1024;
31
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
32
+ const i = Math.max(0, Math.min(sizes.length - 1, Math.floor(Math.log(bytes) / Math.log(k))));
33
+ const value = bytes / Math.pow(k, i);
34
+ const safeDecimals = Number.isFinite(decimals) ? Math.trunc(decimals) : 0;
35
+ const precision = value < 10 ? Math.min(100, Math.max(0, safeDecimals)) : 0; // only keep decimals for small values
36
+ const rounded = Number.parseFloat(value.toFixed(precision));
37
+ return `${rounded} ${sizes[i]}`;
38
+ }
@@ -1,4 +1,4 @@
1
- import { d as getIconBackgroundColor, a as getIconColor, g as getIconName } from './get-icon-props-COzG_Mhw.js';
1
+ import { c as getIconBackgroundColor, b as getIconColor, g as getIconName } from './get-icon-props-CgNJbSP4.js';
2
2
 
3
3
  const DEFAULT_ICON_BACKGROUND_COLOR = 'rgba(var(--color-gray-lighter), 0.4)';
4
4
  const CALENDAR_ICON_BACKGROUND_COLOR = 'rgba(var(--color-cyan-lighter), 0.4)';
@@ -1,4 +1,4 @@
1
- import { g as getFileBackgroundColor, a as getFileColor, b as getFileExtensionTitle, c as getFileIcon } from './file-metadata-D5joHaqk.js';
1
+ import { g as getFileBackgroundColor, a as getFileColor, b as getFileExtensionTitle, c as getFileIcon } from './file-metadata-BwF9vTXN.js';
2
2
 
3
3
  /**
4
4
  *
@@ -93,4 +93,4 @@ function getIconTitle(icon, iconTitle) {
93
93
  return undefined;
94
94
  }
95
95
 
96
- export { getIconColor as a, getIconTitle as b, getIconFillColor as c, getIconBackgroundColor as d, getIconName as g };
96
+ export { getIconFillColor as a, getIconColor as b, getIconBackgroundColor as c, getIconTitle as d, getIconName as g };