@limetech/lime-elements 40.2.4 → 40.3.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 (375) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/{checkbox.template-BewtdTin.js → checkbox.template-BPk8WkQF.js} +1 -1
  3. package/dist/cjs/{image.template-DZC6_5a4.js → image.template-DY7qwbuy.js} +1 -1
  4. package/dist/cjs/{index-DYg_7kkT.js → index--B6-r0uo.js} +3 -3
  5. package/dist/cjs/language-CaqPKPyW.js +28 -0
  6. package/dist/cjs/lime-elements.cjs.js +2 -2
  7. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +2 -2
  8. package/dist/cjs/limel-action-bar_3.cjs.entry.js +9 -8
  9. package/dist/cjs/limel-ai-avatar.cjs.entry.js +4 -3
  10. package/dist/cjs/limel-badge.cjs.entry.js +3 -3
  11. package/dist/cjs/limel-banner.cjs.entry.js +2 -2
  12. package/dist/cjs/limel-breadcrumbs_8.cjs.entry.js +21 -21
  13. package/dist/cjs/limel-button-group.cjs.entry.js +3 -3
  14. package/dist/cjs/limel-button.cjs.entry.js +3 -3
  15. package/dist/cjs/limel-callout.cjs.entry.js +4 -3
  16. package/dist/cjs/limel-card.cjs.entry.js +4 -4
  17. package/dist/cjs/limel-chart.cjs.entry.js +4 -3
  18. package/dist/cjs/limel-checkbox.cjs.entry.js +4 -4
  19. package/dist/cjs/limel-chip-set.cjs.entry.js +10 -9
  20. package/dist/cjs/limel-chip_2.cjs.entry.js +8 -7
  21. package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
  22. package/dist/cjs/limel-code-diff.cjs.entry.js +5 -4
  23. package/dist/cjs/limel-code-editor.cjs.entry.js +5 -4
  24. package/dist/cjs/limel-collapsible-section.cjs.entry.js +7 -6
  25. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +4 -4
  26. package/dist/cjs/limel-color-picker.cjs.entry.js +3 -3
  27. package/dist/cjs/limel-config.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-date-picker.cjs.entry.js +6 -4
  29. package/dist/cjs/limel-dialog.cjs.entry.js +5 -5
  30. package/dist/cjs/limel-dock-button.cjs.entry.js +4 -4
  31. package/dist/cjs/limel-dock.cjs.entry.js +7 -7
  32. package/dist/cjs/limel-drag-handle.cjs.entry.js +4 -3
  33. package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-email-viewer.cjs.entry.js +5 -4
  35. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +6 -6
  36. package/dist/cjs/limel-file-viewer.cjs.entry.js +5 -4
  37. package/dist/cjs/limel-file.cjs.entry.js +6 -5
  38. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +12 -9
  39. package/dist/cjs/limel-flex-container.cjs.entry.js +2 -2
  40. package/dist/cjs/limel-form.cjs.entry.js +4 -4
  41. package/dist/cjs/limel-grid.cjs.entry.js +2 -2
  42. package/dist/cjs/limel-header.cjs.entry.js +2 -2
  43. package/dist/cjs/limel-help-content.cjs.entry.js +2 -2
  44. package/dist/cjs/limel-help.cjs.entry.js +3 -3
  45. package/dist/cjs/limel-helper-line.cjs.entry.js +3 -3
  46. package/dist/cjs/limel-hotkey_4.cjs.entry.js +6 -6
  47. package/dist/cjs/limel-icon-button.cjs.entry.js +2 -2
  48. package/dist/cjs/limel-icon.cjs.entry.js +2 -2
  49. package/dist/cjs/limel-info-tile.cjs.entry.js +3 -3
  50. package/dist/cjs/limel-list-item.cjs.entry.js +8 -7
  51. package/dist/cjs/limel-markdown.cjs.entry.js +2 -2
  52. package/dist/cjs/limel-masonry-layout.cjs.entry.js +2 -2
  53. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +2 -2
  54. package/dist/cjs/limel-pagination.cjs.entry.js +619 -0
  55. package/dist/cjs/limel-picker.cjs.entry.js +7 -6
  56. package/dist/cjs/limel-popover_2.cjs.entry.js +4 -4
  57. package/dist/cjs/limel-profile-picture.cjs.entry.js +6 -5
  58. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +2 -2
  59. package/dist/cjs/limel-progress-flow.cjs.entry.js +2 -2
  60. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +10 -9
  61. package/dist/cjs/limel-radio-button-group.cjs.entry.js +3 -3
  62. package/dist/cjs/limel-radio-button.cjs.entry.js +3 -3
  63. package/dist/cjs/limel-select.cjs.entry.js +4 -4
  64. package/dist/cjs/limel-shortcut.cjs.entry.js +2 -2
  65. package/dist/cjs/limel-slider.cjs.entry.js +7 -6
  66. package/dist/cjs/limel-snackbar.cjs.entry.js +7 -6
  67. package/dist/cjs/limel-split-button.cjs.entry.js +4 -4
  68. package/dist/cjs/limel-switch.cjs.entry.js +3 -3
  69. package/dist/cjs/limel-tab-bar.cjs.entry.js +4 -4
  70. package/dist/cjs/limel-tab-panel.cjs.entry.js +3 -3
  71. package/dist/cjs/limel-table.cjs.entry.js +13 -12
  72. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +9 -8
  73. package/dist/cjs/limel-text-editor.cjs.entry.js +9 -9
  74. package/dist/cjs/loader.cjs.js +2 -2
  75. package/dist/cjs/{render-list-component-1GrRKk_R.js → render-list-component-5ZKWpCnM.js} +1 -1
  76. package/dist/cjs/{translations-Do_D3pxu.js → translations-C5T2-_rH.js} +91 -7
  77. package/dist/collection/collection-manifest.json +1 -0
  78. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  79. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  80. package/dist/collection/components/action-bar/action-bar.js +2 -2
  81. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  82. package/dist/collection/components/badge/badge.js +2 -2
  83. package/dist/collection/components/banner/banner.js +1 -1
  84. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  85. package/dist/collection/components/button/button.js +2 -2
  86. package/dist/collection/components/button-group/button-group.js +1 -1
  87. package/dist/collection/components/callout/callout.js +1 -1
  88. package/dist/collection/components/card/card.js +1 -1
  89. package/dist/collection/components/checkbox/checkbox.js +1 -1
  90. package/dist/collection/components/chip/chip.js +2 -2
  91. package/dist/collection/components/chip-set/chip-set.js +2 -2
  92. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  93. package/dist/collection/components/code-diff/code-diff.js +2 -2
  94. package/dist/collection/components/code-editor/code-editor.js +1 -1
  95. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  96. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  97. package/dist/collection/components/color-picker/color-picker.js +1 -1
  98. package/dist/collection/components/date-picker/date-formatter.js +4 -2
  99. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +2 -2
  100. package/dist/collection/components/date-picker/pickers/picker.js +7 -4
  101. package/dist/collection/components/dialog/dialog.js +2 -2
  102. package/dist/collection/components/dock/dock.js +2 -2
  103. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  104. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  105. package/dist/collection/components/file/file.js +1 -1
  106. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  107. package/dist/collection/components/file-input/file-input.js +1 -1
  108. package/dist/collection/components/flex-container/flex-container.js +1 -1
  109. package/dist/collection/components/form/form.js +1 -1
  110. package/dist/collection/components/grid/grid.js +1 -1
  111. package/dist/collection/components/header/header.js +1 -1
  112. package/dist/collection/components/help/help-content.js +1 -1
  113. package/dist/collection/components/help/help.js +2 -2
  114. package/dist/collection/components/helper-line/helper-line.js +2 -2
  115. package/dist/collection/components/hotkey/hotkey.js +1 -1
  116. package/dist/collection/components/icon/icon.js +1 -1
  117. package/dist/collection/components/icon-button/icon-button.js +1 -1
  118. package/dist/collection/components/info-tile/info-tile.js +2 -2
  119. package/dist/collection/components/input-field/input-field.js +1 -1
  120. package/dist/collection/components/list/list.js +1 -1
  121. package/dist/collection/components/list-item/list-item.js +2 -2
  122. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  123. package/dist/collection/components/markdown/markdown.js +1 -1
  124. package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
  125. package/dist/collection/components/menu/menu.js +1 -1
  126. package/dist/collection/components/menu-list/menu-list.js +1 -1
  127. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  128. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  129. package/dist/collection/components/pagination/pagination.css +227 -0
  130. package/dist/collection/components/pagination/pagination.js +668 -0
  131. package/dist/collection/components/pagination/pagination.types.js +1 -0
  132. package/dist/collection/components/pagination/pagination.util.js +113 -0
  133. package/dist/collection/components/picker/picker.js +1 -1
  134. package/dist/collection/components/popover/popover.js +1 -1
  135. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  136. package/dist/collection/components/portal/portal.js +1 -1
  137. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  138. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  139. package/dist/collection/components/select/select.js +1 -1
  140. package/dist/collection/components/shortcut/shortcut.js +1 -1
  141. package/dist/collection/components/slider/slider.js +3 -3
  142. package/dist/collection/components/snackbar/snackbar.js +2 -2
  143. package/dist/collection/components/spinner/spinner.js +1 -1
  144. package/dist/collection/components/split-button/split-button.js +2 -2
  145. package/dist/collection/components/switch/switch.js +1 -1
  146. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  147. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  148. package/dist/collection/components/table/table.js +2 -2
  149. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  150. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +3 -3
  151. package/dist/collection/components/text-editor/text-editor.js +1 -1
  152. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  153. package/dist/collection/components/tooltip/tooltip.js +2 -2
  154. package/dist/collection/global/translations.js +10 -7
  155. package/dist/collection/interface.js +1 -0
  156. package/dist/collection/translations/da.js +10 -0
  157. package/dist/collection/translations/de.js +10 -0
  158. package/dist/collection/translations/en.js +10 -0
  159. package/dist/collection/translations/fi.js +10 -0
  160. package/dist/collection/translations/fr.js +10 -0
  161. package/dist/collection/translations/nl.js +10 -0
  162. package/dist/collection/translations/no.js +10 -0
  163. package/dist/collection/translations/sv.js +10 -0
  164. package/dist/collection/util/language.js +24 -0
  165. package/dist/esm/{checkbox.template-LN1xNaDw.js → checkbox.template-Cx_3u92S.js} +1 -1
  166. package/dist/esm/{image.template-BXDvrqGw.js → image.template-wqMwmOF-.js} +1 -1
  167. package/dist/esm/{index-BGxJfR2f.js → index-Bnc9lzk2.js} +3 -3
  168. package/dist/esm/language-C3hECvXE.js +26 -0
  169. package/dist/esm/lime-elements.js +3 -3
  170. package/dist/esm/limel-3d-hover-effect-glow.entry.js +2 -2
  171. package/dist/esm/limel-action-bar_3.entry.js +9 -8
  172. package/dist/esm/limel-ai-avatar.entry.js +4 -3
  173. package/dist/esm/limel-badge.entry.js +3 -3
  174. package/dist/esm/limel-banner.entry.js +2 -2
  175. package/dist/esm/limel-breadcrumbs_8.entry.js +21 -21
  176. package/dist/esm/limel-button-group.entry.js +3 -3
  177. package/dist/esm/limel-button.entry.js +3 -3
  178. package/dist/esm/limel-callout.entry.js +4 -3
  179. package/dist/esm/limel-card.entry.js +4 -4
  180. package/dist/esm/limel-chart.entry.js +4 -3
  181. package/dist/esm/limel-checkbox.entry.js +4 -4
  182. package/dist/esm/limel-chip-set.entry.js +10 -9
  183. package/dist/esm/limel-chip_2.entry.js +8 -7
  184. package/dist/esm/limel-circular-progress.entry.js +2 -2
  185. package/dist/esm/limel-code-diff.entry.js +5 -4
  186. package/dist/esm/limel-code-editor.entry.js +5 -4
  187. package/dist/esm/limel-collapsible-section.entry.js +7 -6
  188. package/dist/esm/limel-color-picker-palette.entry.js +4 -4
  189. package/dist/esm/limel-color-picker.entry.js +3 -3
  190. package/dist/esm/limel-config.entry.js +1 -1
  191. package/dist/esm/limel-date-picker.entry.js +6 -4
  192. package/dist/esm/limel-dialog.entry.js +5 -5
  193. package/dist/esm/limel-dock-button.entry.js +4 -4
  194. package/dist/esm/limel-dock.entry.js +7 -7
  195. package/dist/esm/limel-drag-handle.entry.js +4 -3
  196. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  197. package/dist/esm/limel-email-viewer.entry.js +5 -4
  198. package/dist/esm/limel-file-dropzone_2.entry.js +6 -6
  199. package/dist/esm/limel-file-viewer.entry.js +5 -4
  200. package/dist/esm/limel-file.entry.js +6 -5
  201. package/dist/esm/limel-flatpickr-adapter.entry.js +12 -9
  202. package/dist/esm/limel-flex-container.entry.js +2 -2
  203. package/dist/esm/limel-form.entry.js +4 -4
  204. package/dist/esm/limel-grid.entry.js +2 -2
  205. package/dist/esm/limel-header.entry.js +2 -2
  206. package/dist/esm/limel-help-content.entry.js +2 -2
  207. package/dist/esm/limel-help.entry.js +3 -3
  208. package/dist/esm/limel-helper-line.entry.js +3 -3
  209. package/dist/esm/limel-hotkey_4.entry.js +6 -6
  210. package/dist/esm/limel-icon-button.entry.js +2 -2
  211. package/dist/esm/limel-icon.entry.js +2 -2
  212. package/dist/esm/limel-info-tile.entry.js +3 -3
  213. package/dist/esm/limel-list-item.entry.js +8 -7
  214. package/dist/esm/limel-markdown.entry.js +2 -2
  215. package/dist/esm/limel-masonry-layout.entry.js +2 -2
  216. package/dist/esm/limel-menu-item-meta.entry.js +2 -2
  217. package/dist/esm/limel-pagination.entry.js +617 -0
  218. package/dist/esm/limel-picker.entry.js +7 -6
  219. package/dist/esm/limel-popover_2.entry.js +4 -4
  220. package/dist/esm/limel-profile-picture.entry.js +6 -5
  221. package/dist/esm/limel-progress-flow-item.entry.js +2 -2
  222. package/dist/esm/limel-progress-flow.entry.js +2 -2
  223. package/dist/esm/limel-prosemirror-adapter.entry.js +10 -9
  224. package/dist/esm/limel-radio-button-group.entry.js +3 -3
  225. package/dist/esm/limel-radio-button.entry.js +3 -3
  226. package/dist/esm/limel-select.entry.js +4 -4
  227. package/dist/esm/limel-shortcut.entry.js +2 -2
  228. package/dist/esm/limel-slider.entry.js +7 -6
  229. package/dist/esm/limel-snackbar.entry.js +7 -6
  230. package/dist/esm/limel-split-button.entry.js +4 -4
  231. package/dist/esm/limel-switch.entry.js +3 -3
  232. package/dist/esm/limel-tab-bar.entry.js +4 -4
  233. package/dist/esm/limel-tab-panel.entry.js +3 -3
  234. package/dist/esm/limel-table.entry.js +13 -12
  235. package/dist/esm/limel-text-editor-link-menu.entry.js +9 -8
  236. package/dist/esm/limel-text-editor.entry.js +9 -9
  237. package/dist/esm/loader.js +3 -3
  238. package/dist/esm/{render-list-component-CUJ2wdo4.js → render-list-component-cicbMp0l.js} +1 -1
  239. package/dist/esm/{translations-DgqE77nk.js → translations-Bwm2y2E4.js} +91 -7
  240. package/dist/lime-elements/lime-elements.esm.js +1 -1
  241. package/dist/lime-elements/{p-c0263530.entry.js → p-02812dc8.entry.js} +2 -2
  242. package/dist/lime-elements/{p-fe531211.entry.js → p-03fb2603.entry.js} +1 -1
  243. package/dist/lime-elements/{p-86b9f9d0.entry.js → p-052c3bc6.entry.js} +1 -1
  244. package/dist/lime-elements/{p-1b25f158.entry.js → p-0981ddef.entry.js} +2 -2
  245. package/dist/lime-elements/p-1162dd39.entry.js +1 -0
  246. package/dist/lime-elements/{p-12fe8fe1.entry.js → p-1a478498.entry.js} +3 -3
  247. package/dist/lime-elements/p-21109d9b.entry.js +1 -0
  248. package/dist/lime-elements/p-22f85b99.entry.js +1 -0
  249. package/dist/lime-elements/p-24041bbb.entry.js +1 -0
  250. package/dist/lime-elements/p-2bbdac10.entry.js +1 -0
  251. package/dist/lime-elements/p-2d84ea04.entry.js +1 -0
  252. package/dist/lime-elements/{p-a1c15727.entry.js → p-35fa1063.entry.js} +1 -1
  253. package/dist/lime-elements/p-38b09f87.entry.js +1 -0
  254. package/dist/lime-elements/p-3916b316.entry.js +1 -0
  255. package/dist/lime-elements/p-3fd7e8aa.entry.js +1 -0
  256. package/dist/lime-elements/{p-de070191.entry.js → p-408c4dcb.entry.js} +1 -1
  257. package/dist/lime-elements/p-459eea13.entry.js +1 -0
  258. package/dist/lime-elements/p-48928b4f.entry.js +1 -0
  259. package/dist/lime-elements/p-4c65dee7.entry.js +1 -0
  260. package/dist/lime-elements/p-4ffbfc79.entry.js +1 -0
  261. package/dist/lime-elements/p-51dc5f0b.entry.js +1 -0
  262. package/dist/lime-elements/p-532ea234.entry.js +1 -0
  263. package/dist/lime-elements/p-54793c06.entry.js +1 -0
  264. package/dist/lime-elements/{p-be5cc2ae.entry.js → p-54dcf46f.entry.js} +1 -1
  265. package/dist/lime-elements/{p-eeb7fcb3.entry.js → p-5b371d6b.entry.js} +2 -2
  266. package/dist/lime-elements/p-65cded0e.entry.js +1 -0
  267. package/dist/lime-elements/p-66b125f2.entry.js +1 -0
  268. package/dist/lime-elements/{p-33ccc617.entry.js → p-6b7ff8e0.entry.js} +1 -1
  269. package/dist/lime-elements/{p-a579e80f.entry.js → p-6d5b23ad.entry.js} +1 -1
  270. package/dist/lime-elements/{p-1907a5be.entry.js → p-74bd0c1a.entry.js} +1 -1
  271. package/dist/lime-elements/{p-f2c8b10b.entry.js → p-7cbf50fc.entry.js} +1 -1
  272. package/dist/lime-elements/p-7e212fa7.entry.js +1 -0
  273. package/dist/lime-elements/{p-bb9b399c.entry.js → p-8115da75.entry.js} +1 -1
  274. package/dist/lime-elements/{p-d19ab443.entry.js → p-82696d24.entry.js} +1 -1
  275. package/dist/lime-elements/{p-21558be2.entry.js → p-835149c4.entry.js} +1 -1
  276. package/dist/lime-elements/{p-f09822a6.entry.js → p-8475a3b8.entry.js} +1 -1
  277. package/dist/lime-elements/p-8af3e4a1.entry.js +16 -0
  278. package/dist/lime-elements/{p-25555311.entry.js → p-8fa9c9ea.entry.js} +1 -1
  279. package/dist/lime-elements/{p-c0a03b7c.entry.js → p-9ac39039.entry.js} +1 -1
  280. package/dist/lime-elements/{p-CYivp4-w.js → p-BY85K-4J.js} +1 -1
  281. package/dist/lime-elements/p-Bnc9lzk2.js +2 -0
  282. package/dist/lime-elements/p-C3hECvXE.js +1 -0
  283. package/dist/lime-elements/p-DAFuhe5e.js +1 -0
  284. package/dist/lime-elements/p-DQJU9gzh.js +1 -0
  285. package/dist/lime-elements/p-DpJgXIWf.js +1 -0
  286. package/dist/lime-elements/p-a41b5ff3.entry.js +1 -0
  287. package/dist/lime-elements/p-a462aeb7.entry.js +1 -0
  288. package/dist/lime-elements/p-ac9c5c88.entry.js +1 -0
  289. package/dist/lime-elements/p-b194a212.entry.js +1 -0
  290. package/dist/lime-elements/p-b4988a9b.entry.js +1 -0
  291. package/dist/lime-elements/p-b5484494.entry.js +1 -0
  292. package/dist/lime-elements/p-b81a2728.entry.js +1 -0
  293. package/dist/lime-elements/p-be8610ff.entry.js +1 -0
  294. package/dist/lime-elements/{p-70087de6.entry.js → p-c2a3ca7c.entry.js} +1 -1
  295. package/dist/lime-elements/{p-6665e14b.entry.js → p-c2a60508.entry.js} +1 -1
  296. package/dist/lime-elements/p-c2ff132c.entry.js +1 -0
  297. package/dist/lime-elements/p-c72e5007.entry.js +1 -0
  298. package/dist/lime-elements/p-c823054d.entry.js +1 -0
  299. package/dist/lime-elements/p-cb407bef.entry.js +1 -0
  300. package/dist/lime-elements/{p-7fe6a073.entry.js → p-d0cec424.entry.js} +1 -1
  301. package/dist/lime-elements/{p-120182f5.entry.js → p-d351b9ae.entry.js} +1 -1
  302. package/dist/lime-elements/{p-6acd82ce.entry.js → p-d6dadc61.entry.js} +1 -1
  303. package/dist/lime-elements/p-dadd2e17.entry.js +1 -0
  304. package/dist/lime-elements/p-de631fc3.entry.js +1 -0
  305. package/dist/lime-elements/p-e2c2a363.entry.js +23 -0
  306. package/dist/lime-elements/p-e508771f.entry.js +1 -0
  307. package/dist/lime-elements/p-f0a79cdd.entry.js +1 -0
  308. package/dist/lime-elements/p-f309ceb8.entry.js +1 -0
  309. package/dist/lime-elements/p-f333f12d.entry.js +1 -0
  310. package/dist/lime-elements/p-f6361b03.entry.js +1 -0
  311. package/dist/lime-elements/p-f717cd7a.entry.js +1 -0
  312. package/dist/lime-elements/p-f72ee01b.entry.js +1 -0
  313. package/dist/lime-elements/{p-0ecf8399.entry.js → p-f81dc23a.entry.js} +1 -1
  314. package/dist/types/components/date-picker/date.types.d.ts +5 -0
  315. package/dist/types/components/pagination/pagination.d.ts +288 -0
  316. package/dist/types/components/pagination/pagination.types.d.ts +42 -0
  317. package/dist/types/components/pagination/pagination.util.d.ts +38 -0
  318. package/dist/types/components.d.ts +155 -0
  319. package/dist/types/global/translations.d.ts +1 -0
  320. package/dist/types/interface.d.ts +1 -0
  321. package/dist/types/translations/da.d.ts +10 -0
  322. package/dist/types/translations/de.d.ts +10 -0
  323. package/dist/types/translations/en.d.ts +10 -0
  324. package/dist/types/translations/fi.d.ts +10 -0
  325. package/dist/types/translations/fr.d.ts +10 -0
  326. package/dist/types/translations/nl.d.ts +10 -0
  327. package/dist/types/translations/no.d.ts +10 -0
  328. package/dist/types/translations/sv.d.ts +10 -0
  329. package/dist/types/util/language.d.ts +20 -0
  330. package/package.json +1 -1
  331. package/dist/lime-elements/p-056ba5c5.entry.js +0 -1
  332. package/dist/lime-elements/p-0c47d262.entry.js +0 -1
  333. package/dist/lime-elements/p-191efd88.entry.js +0 -1
  334. package/dist/lime-elements/p-26fed26a.entry.js +0 -1
  335. package/dist/lime-elements/p-2737cade.entry.js +0 -1
  336. package/dist/lime-elements/p-2b01c1f2.entry.js +0 -1
  337. package/dist/lime-elements/p-3ac35da4.entry.js +0 -1
  338. package/dist/lime-elements/p-3e316685.entry.js +0 -1
  339. package/dist/lime-elements/p-565f688a.entry.js +0 -1
  340. package/dist/lime-elements/p-5dde5d72.entry.js +0 -1
  341. package/dist/lime-elements/p-62a25deb.entry.js +0 -1
  342. package/dist/lime-elements/p-6c826c25.entry.js +0 -1
  343. package/dist/lime-elements/p-73d9f0f6.entry.js +0 -1
  344. package/dist/lime-elements/p-7bfac292.entry.js +0 -1
  345. package/dist/lime-elements/p-8175c53a.entry.js +0 -1
  346. package/dist/lime-elements/p-83bdbaf7.entry.js +0 -1
  347. package/dist/lime-elements/p-8b3b7505.entry.js +0 -1
  348. package/dist/lime-elements/p-8c3798ee.entry.js +0 -1
  349. package/dist/lime-elements/p-8cf79fa1.entry.js +0 -1
  350. package/dist/lime-elements/p-946a33ea.entry.js +0 -1
  351. package/dist/lime-elements/p-BGxJfR2f.js +0 -2
  352. package/dist/lime-elements/p-DQvn9bzh.js +0 -1
  353. package/dist/lime-elements/p-DgqE77nk.js +0 -1
  354. package/dist/lime-elements/p-Dpg0OkbJ.js +0 -1
  355. package/dist/lime-elements/p-a6500046.entry.js +0 -1
  356. package/dist/lime-elements/p-aee66710.entry.js +0 -1
  357. package/dist/lime-elements/p-b03367f0.entry.js +0 -1
  358. package/dist/lime-elements/p-b04c6602.entry.js +0 -1
  359. package/dist/lime-elements/p-b1fb33a2.entry.js +0 -23
  360. package/dist/lime-elements/p-b3274e2e.entry.js +0 -1
  361. package/dist/lime-elements/p-b4b43404.entry.js +0 -1
  362. package/dist/lime-elements/p-b6528083.entry.js +0 -1
  363. package/dist/lime-elements/p-c8ce60a0.entry.js +0 -1
  364. package/dist/lime-elements/p-cafebc7d.entry.js +0 -1
  365. package/dist/lime-elements/p-cf955cc2.entry.js +0 -1
  366. package/dist/lime-elements/p-dd9591a3.entry.js +0 -1
  367. package/dist/lime-elements/p-dda63b8b.entry.js +0 -1
  368. package/dist/lime-elements/p-e3ba7e15.entry.js +0 -1
  369. package/dist/lime-elements/p-e8783848.entry.js +0 -1
  370. package/dist/lime-elements/p-ea34a4bc.entry.js +0 -1
  371. package/dist/lime-elements/p-ed53466d.entry.js +0 -1
  372. package/dist/lime-elements/p-eecd1132.entry.js +0 -1
  373. package/dist/lime-elements/p-eeddce38.entry.js +0 -16
  374. package/dist/lime-elements/p-f2294e26.entry.js +0 -1
  375. package/dist/lime-elements/p-f53d8bda.entry.js +0 -1
@@ -0,0 +1,113 @@
1
+ /**
2
+ * How many positions are rendered at once, counting both page numbers and gap
3
+ * markers. Constant, so the control keeps its width as the user pages through
4
+ * a set — a gap and a page number take up the same room, so what matters is
5
+ * how many positions there are, not how many of them are numbers.
6
+ */
7
+ export const VISIBLE_SLOTS = 7;
8
+ /** How many pages to keep either side of the current one. */
9
+ const SIBLINGS = 1;
10
+ const FIRST_PAGE = 1;
11
+ /**
12
+ * Build the list of positions to render for a given page count.
13
+ *
14
+ * The first and the last page are always included, so both ends of the set are
15
+ * always one click away. The rest of the room goes to the pages around the
16
+ * current one, and whatever is skipped becomes a gap.
17
+ *
18
+ * `Number.isSafeInteger` rather than `Number.isInteger`: past 2^53 arithmetic
19
+ * on page numbers stops being exact. The component validates these too; this
20
+ * guards them again because the cost of being wrong here is a wrong window
21
+ * during render.
22
+ *
23
+ * @param currentPage - the page the user is on, 1-based
24
+ * @param totalPages - how many pages there are in total
25
+ * @returns the positions to render, in order
26
+ */
27
+ export function getPageSlots(currentPage, totalPages) {
28
+ if (!Number.isSafeInteger(totalPages) || totalPages < FIRST_PAGE) {
29
+ return [];
30
+ }
31
+ const pages = collectVisiblePages(clampToSet(currentPage, totalPages), totalPages);
32
+ return withGaps(pages);
33
+ }
34
+ /**
35
+ * @param page - the page to pull into the set
36
+ * @param totalPages - how many pages there are in total
37
+ * @returns a whole page number within `1..totalPages`
38
+ */
39
+ function clampToSet(page, totalPages) {
40
+ if (!Number.isSafeInteger(Math.floor(page))) {
41
+ return FIRST_PAGE;
42
+ }
43
+ return Math.min(Math.max(FIRST_PAGE, Math.floor(page)), totalPages);
44
+ }
45
+ /**
46
+ * Pick which page numbers to render, so that `withGaps` turns them into
47
+ * exactly `VISIBLE_SLOTS` positions.
48
+ *
49
+ * Which of the three shapes applies depends only on whether there is anything
50
+ * to skip on each side. With one gap there is room for six numbers, with two
51
+ * there is room for five, and the gaps make up the difference.
52
+ *
53
+ * @param currentPage - the page the user is on, 1-based
54
+ * @param totalPages - how many pages there are in total
55
+ * @returns the page numbers to render, ascending
56
+ */
57
+ function collectVisiblePages(currentPage, totalPages) {
58
+ if (totalPages <= VISIBLE_SLOTS) {
59
+ return range(FIRST_PAGE, totalPages);
60
+ }
61
+ const firstSibling = Math.max(currentPage - SIBLINGS, FIRST_PAGE);
62
+ const lastSibling = Math.min(currentPage + SIBLINGS, totalPages);
63
+ if (firstSibling <= FIRST_PAGE + 1) {
64
+ return [...range(FIRST_PAGE, VISIBLE_SLOTS - 2), totalPages];
65
+ }
66
+ if (lastSibling >= totalPages - 1) {
67
+ return [
68
+ FIRST_PAGE,
69
+ ...range(totalPages - (VISIBLE_SLOTS - 3), totalPages),
70
+ ];
71
+ }
72
+ return [FIRST_PAGE, ...range(firstSibling, lastSibling), totalPages];
73
+ }
74
+ /**
75
+ * @param from - the first number, inclusive
76
+ * @param to - the last number, inclusive
77
+ * @returns every whole number between the two
78
+ */
79
+ function range(from, to) {
80
+ return Array.from({ length: to - from + 1 }, (_, step) => from + step);
81
+ }
82
+ /**
83
+ * Insert a gap wherever the rendered page numbers are not consecutive.
84
+ *
85
+ * A gap that would hide a single page is rendered as that page instead: the
86
+ * marker is as wide as a page number, so it would save no room.
87
+ *
88
+ * @param pages - the page numbers to render, ascending
89
+ * @returns the positions to render, in order
90
+ */
91
+ function withGaps(pages) {
92
+ return pages.flatMap((page, index) => {
93
+ const slot = { kind: 'page', page: page };
94
+ if (index === 0) {
95
+ return [slot];
96
+ }
97
+ const skipped = page - pages[index - 1] - 1;
98
+ if (skipped === 0) {
99
+ return [slot];
100
+ }
101
+ if (skipped === 1) {
102
+ return [{ kind: 'page', page: page - 1 }, slot];
103
+ }
104
+ return [
105
+ {
106
+ kind: 'gap',
107
+ from: pages[index - 1] + 1,
108
+ to: page - 1,
109
+ },
110
+ slot,
111
+ ];
112
+ });
113
+ }
@@ -199,7 +199,7 @@ export class Picker {
199
199
  props.maxItems = 1;
200
200
  }
201
201
  return [
202
- h("limel-chip-set", Object.assign({ key: '281a5f2451505c012b72c04610d897cf22717420', type: "input", inputType: "search", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, invalid: this.invalid, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, language: this.language, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, emptyInputOnChange: false, clearAllButton: this.multiple && !this.chipSetEditMode }, props)),
202
+ h("limel-chip-set", Object.assign({ key: '3596e789685aa295baf079c38f4cc4cab0fa3317', type: "input", inputType: "search", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, invalid: this.invalid, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, language: this.language, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, emptyInputOnChange: false, clearAllButton: this.multiple && !this.chipSetEditMode }, props)),
203
203
  this.renderDropdown(),
204
204
  ];
205
205
  }
@@ -127,7 +127,7 @@ export class Popover {
127
127
  render() {
128
128
  const cssProperties = this.getCssProperties();
129
129
  const popoverZIndex = getComputedStyle(this.host).getPropertyValue('--popover-z-index');
130
- return (h("div", { key: 'bdb63d668ef7856ae53484f7a02641fc225e69ab', class: "trigger-anchor" }, h("slot", { key: '6b200f4bf9f5f975db877147d4901ba5855464e6', name: "trigger", ref: this.setTriggerRef }), h("limel-portal", { key: '6a5ceafebe0ea7646d8ad399c1f53b8260a506a0', visible: this.open, containerId: this.portalId, containerStyle: { 'z-index': popoverZIndex }, openDirection: this.openDirection }, h("limel-popover-surface", { key: '9bbc131fc2c8e104f9911a19667fad6c187c4872', contentCollection: this.host.children, style: cssProperties }))));
130
+ return (h("div", { key: '096e54a6fdc88f6571884bf0a642c67f144d3bbf', class: "trigger-anchor" }, h("slot", { key: 'ddc46b8755f6463dc2320198aefc50ef759f9de4', name: "trigger", ref: this.setTriggerRef }), h("limel-portal", { key: '89cce45b2218a2a5087f30f4d524d2c1b2041de2', visible: this.open, containerId: this.portalId, containerStyle: { 'z-index': popoverZIndex }, openDirection: this.openDirection }, h("limel-popover-surface", { key: 'a1d1edfb24fdbef9109adef03f8d77e6cced87c7', contentCollection: this.host.children, style: cssProperties }))));
131
131
  }
132
132
  globalClickListener(event) {
133
133
  const element = event.target;
@@ -8,7 +8,7 @@ export class PopoverSurface {
8
8
  this.appendElement();
9
9
  }
10
10
  render() {
11
- return h("div", { key: 'fe1d368dcbeefe4672a0b74fea9277988e3dbd0a', class: "limel-popover-surface", tabindex: "0" });
11
+ return h("div", { key: 'c3f7cda21c76bdd39eba1e8e4e28503561d28a7e', class: "limel-popover-surface", tabindex: "0" });
12
12
  }
13
13
  appendElement() {
14
14
  const portalContainer = this.host.shadowRoot.querySelector('.limel-popover-surface');
@@ -113,7 +113,7 @@ export class Portal {
113
113
  }
114
114
  }
115
115
  render() {
116
- return h("slot", { key: '18852003d1bf5f0aeb7c18f73eb26f37e8c75294' });
116
+ return h("slot", { key: '32f6da268363dd30db38fb8189ee2d6414890959' });
117
117
  }
118
118
  onVisible() {
119
119
  if (!this.container && this.visible) {
@@ -37,7 +37,7 @@ export class RadioButtonGroup {
37
37
  };
38
38
  }
39
39
  render() {
40
- return (h("limel-list", { key: '7aad9c5fb6779ed5f4f4fcc58d8d341158150292', items: this.createItems(), type: "radio", badgeIcons: this.badgeIcons, maxLinesSecondaryText: this.maxLinesSecondaryText, onChange: this.handleChange }));
40
+ return (h("limel-list", { key: '467b17f3d721555c52d871ab3f7b6a36cd70d6a6', items: this.createItems(), type: "radio", badgeIcons: this.badgeIcons, maxLinesSecondaryText: this.maxLinesSecondaryText, onChange: this.handleChange }));
41
41
  }
42
42
  createItems() {
43
43
  return this.items.map((option) => {
@@ -31,12 +31,12 @@ import { Host, h } from "@stencil/core";
31
31
  */
32
32
  export class RadioButtonComponent {
33
33
  render() {
34
- return (h(Host, { key: '2dee92bedc030e8d810aa0a0a9afdb89c1dedd7f', class: {
34
+ return (h(Host, { key: '01f0b56a991bc0a54e4ba09e7dd4a394d87d800a', class: {
35
35
  'boolean-input': true,
36
36
  'radio-button': true,
37
37
  checked: this.checked,
38
38
  disabled: this.disabled,
39
- } }, h("input", { key: 'c3f3ea9d32c5d0c14bc4c2eb03414989a265eec0', type: "radio", id: this.id, checked: this.checked, disabled: this.disabled, onChange: this.onChange }), h("div", { key: '91f088c8a201dac964e6b2e2427da21eeafedfd2', class: "box" }), h("label", { key: '678910b84830e2d60373d3845e377c31bdbecc68', class: "boolean-input-label", htmlFor: this.id }, this.label)));
39
+ } }, h("input", { key: '89371d4f79105022dc13ed8d50b9bf2004f4059a', type: "radio", id: this.id, checked: this.checked, disabled: this.disabled, onChange: this.onChange }), h("div", { key: '7e7e210a4c703f69bfca2a3c8a5487be4221f0b4', class: "box" }), h("label", { key: 'b00bd3ac42a5b8e3691d9b5e698b59752ab795f1', class: "boolean-input-label", htmlFor: this.id }, this.label)));
40
40
  }
41
41
  static get is() { return "limel-radio-button"; }
42
42
  static get originalStyleUrls() {
@@ -173,7 +173,7 @@ export class Select {
173
173
  }
174
174
  render() {
175
175
  const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
176
- return (h(SelectTemplate, { key: '97e6b0b033a487e26ab7e4abe7165837ebe08911', id: this.portalId, disabled: this.disabled || this.readonly, readonly: this.readonly, required: this.required, invalid: this.invalid, label: this.label, helperText: this.helperText, value: this.value, options: this.options, onMenuChange: this.handleMenuChange, onNativeChange: this.handleNativeChange, onTriggerKeyDown: this.handleMenuTriggerKeyDown, listRef: this.setListElement, multiple: this.multiple, isOpen: this.menuOpen, open: this.openMenu, close: this.closeMenu, checkValid: this.checkValid, native: this.shouldRenderNative(), dropdownZIndex: dropdownZIndex, anchor: this.getAnchorElement() }));
176
+ return (h(SelectTemplate, { key: 'aa81578db6f1f2cf4859505a277241f864be76d1', id: this.portalId, disabled: this.disabled || this.readonly, readonly: this.readonly, required: this.required, invalid: this.invalid, label: this.label, helperText: this.helperText, value: this.value, options: this.options, onMenuChange: this.handleMenuChange, onNativeChange: this.handleNativeChange, onTriggerKeyDown: this.handleMenuTriggerKeyDown, listRef: this.setListElement, multiple: this.multiple, isOpen: this.menuOpen, open: this.openMenu, close: this.closeMenu, checkValid: this.checkValid, native: this.shouldRenderNative(), dropdownZIndex: dropdownZIndex, anchor: this.getAnchorElement() }));
177
177
  }
178
178
  watchOpen(newValue, oldValue) {
179
179
  if (this.checkValid) {
@@ -61,7 +61,7 @@ export class Shortcut {
61
61
  render() {
62
62
  var _a, _b, _c, _d, _e;
63
63
  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);
64
- return (h(Host, { key: '5182738d7d2e8c2df2aa019631af021260b6b506', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("a", { key: 'ed8ae8d341aca2d64376c0b154b41b03d1d08073', "aria-disabled": this.disabled, href: (_c = this.link) === null || _c === void 0 ? void 0 : _c.href, target: (_d = this.link) === null || _d === void 0 ? void 0 : _d.target, rel: rel, tabindex: "0", "aria-label": this.getAriaLabel(), title: (_e = this.link) === null || _e === void 0 ? void 0 : _e.title }, h("limel-icon", { key: '0bc411ed33a695dbd2dc25689895ed2fc10d15b7', name: this.icon }), h("limel-3d-hover-effect-glow", { key: 'e57726bde3911492fbab47219fd0b36db2d1a122' })), this.renderLabel(), this.renderNotification()));
64
+ return (h(Host, { key: '69f27974df1fd3fea7b9822714c0a3d59b6a7fab', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("a", { key: '9f8c7b9dc8e2f27007cb46687cb7bf10314e2a8a', "aria-disabled": this.disabled, href: (_c = this.link) === null || _c === void 0 ? void 0 : _c.href, target: (_d = this.link) === null || _d === void 0 ? void 0 : _d.target, rel: rel, tabindex: "0", "aria-label": this.getAriaLabel(), title: (_e = this.link) === null || _e === void 0 ? void 0 : _e.title }, h("limel-icon", { key: '3c10a0091ad0e1549b2765ad429ed2966220246e', name: this.icon }), h("limel-3d-hover-effect-glow", { key: '17011ca6b7d73130b73b85fd30d54921bd07ec54' })), this.renderLabel(), this.renderNotification()));
65
65
  }
66
66
  static get is() { return "limel-shortcut"; }
67
67
  static get encapsulation() { return "shadow"; }
@@ -270,15 +270,15 @@ export class Slider {
270
270
  if (this.disabled || this.readonly) {
271
271
  inputProps.disabled = true;
272
272
  }
273
- return (h(Host, { key: 'eecd22982d9180f24f947fd2ab9af9a25e64647e', class: this.getContainerClassList() }, h("limel-notched-outline", { key: '848578a10d64a4af81e296c9f961e9be788484a7', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !this.isUnset, hasFloatingLabel: true }, h("div", { key: '7ad977107b79fc9ca416562d5c7905b4a962053c', slot: "content" }, h("div", { key: 'dcb137a44b5244e63a4c8a95341d3918dc65445c', class: "slider", style: { '--slider-fraction': `${fraction}` } }, h("input", Object.assign({ key: '73af46f062991f3c715d13c0f44b0fb9478dc37c', type: "range", min: min, max: max, value: this.displayValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperText
273
+ return (h(Host, { key: '47fedc34458f09ec0a67a6fc81efcd0d5aaba74e', class: this.getContainerClassList() }, h("limel-notched-outline", { key: '89c319c35f59d8dbd72a40e894fb01a8b12dc88d', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !this.isUnset, hasFloatingLabel: true }, h("div", { key: 'f4c7c2475650c2c3be4b33271fc1f23aa8d40ee5', slot: "content" }, h("div", { key: 'c3c085ead113928e85bc9ab3cbadd7e8350b4a12', class: "slider", style: { '--slider-fraction': `${fraction}` } }, h("input", Object.assign({ key: 'c1e255d94086cc3c77cec32d34a52fc06ffe77b4', type: "range", min: min, max: max, value: this.displayValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperText
274
274
  ? this.helperTextId
275
275
  : undefined, "aria-valuetext": this.isUnset
276
276
  ? translate.get('value-not-set', this.language)
277
277
  : undefined, ref: (el) => {
278
278
  this.inputElement = el;
279
- }, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }, inputProps)), h("div", { key: 'e9fb2af7f43cc040c382930d336c8eb903bc0162', class: "track" }, h("div", { key: '2cec88a4b8c99296473bbd9b064bccd0a6450b8f', class: "active" }), this.renderStepDots(min, max)), h("div", { key: '5a090fb0528478450510ff0240e6b5499a177238', class: "thumb" }, h("div", { key: 'fde6792041312183af0328d9fc75d19d2553bf46', class: "knob" }), h("div", { key: 'de717ffa20723870bb27aa22e99fe9fe5ebdd563', class: "indicator", "aria-hidden": "true" }, this.isUnset
279
+ }, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }, inputProps)), h("div", { key: 'c287ade5d57268fbf3d0a203f4f94363709dcb74', class: "track" }, h("div", { key: 'd65e20a0bd2da417a797be2501f70860cae04857', class: "active" }), this.renderStepDots(min, max)), h("div", { key: '72e6bf77fddaf64fcde86455bfddd1122a8f174c', class: "thumb" }, h("div", { key: '2066f97938cff1b20ffa0aad2e3c4803a5a2f6f9', class: "knob" }), h("div", { key: 'abd8845bf4d52faeffd1a4f25ca2068a8062bc09', class: "indicator", "aria-hidden": "true" }, this.isUnset
280
280
  ? '\u2194\uFE0E'
281
- : this.displayValue))), h("div", { key: 'd0c38d092fecc4bf9690680d8541c8d658056f08', class: "range-labels" }, h("span", { key: '581387615da0cdaf105a568e02212f8bdd22eeb6', class: "min" }, this.multiplyByFactor(this.valuemin), this.unit), h("span", { key: '33c5673d8e56995bffdc35340381f2e87ae0918c', class: "max" }, this.multiplyByFactor(this.valuemax), this.unit)))), this.renderClearButton(), this.renderHelperLine()));
281
+ : this.displayValue))), h("div", { key: '7107d522eb4732ca8e4ae6d901a3981853f9e97b', class: "range-labels" }, h("span", { key: 'babaa35149ef70070141f5f4e49be8fc55e367a4', class: "min" }, this.multiplyByFactor(this.valuemin), this.unit), h("span", { key: '92caa840cc1ac72681f7ee3b18754a912d1d0829', class: "max" }, this.multiplyByFactor(this.valuemax), this.unit)))), this.renderClearButton(), this.renderHelperLine()));
282
282
  }
283
283
  watchValue() {
284
284
  this.syncStateFromValue();
@@ -122,14 +122,14 @@ export class Snackbar {
122
122
  }
123
123
  }
124
124
  render() {
125
- return (h("aside", { key: 'b169aea71907531a18ac9e2144aba07858d7fd60', popover: "manual", style: {
125
+ return (h("aside", { key: '5612185e67dfea963fc9df340a288540f63db94e', popover: "manual", style: {
126
126
  '--snackbar-timeout': `${Math.max(this.timeout || 0, 0)}ms`,
127
127
  '--snackbar-distance-to-top-edge': `${this.offset}px`,
128
128
  }, class: {
129
129
  open: this.open,
130
130
  'is-closing': this.closing,
131
131
  'limel-portal--parent': true,
132
- }, id: this.snackbarId, role: this.setAriaRoles(), "aria-atomic": this.open ? 'true' : undefined, "aria-relevant": this.open ? 'additions' : undefined }, h("div", { key: '5751e58d37e6a01b57e26c7fe91d0f95176fad8f', class: "surface" }, h("limel-markdown", { key: '571fa1cd75f16b9e78c964ab089f7cdff27aa00c', class: "label", value: this.message }), this.renderActions(this.actionText), this.renderDismissButton(this.dismissible))));
132
+ }, id: this.snackbarId, role: this.setAriaRoles(), "aria-atomic": this.open ? 'true' : undefined, "aria-relevant": this.open ? 'additions' : undefined }, h("div", { key: 'a6221f26df374bac45ee3e5cd4a7f6c966340a06', class: "surface" }, h("limel-markdown", { key: '2da6a24cc92319fea7dde9a79a77f9719735a669', class: "label", value: this.message }), this.renderActions(this.actionText), this.renderDismissButton(this.dismissible))));
133
133
  }
134
134
  setAriaRoles() {
135
135
  if (!this.open) {
@@ -16,7 +16,7 @@ export class Spinner {
16
16
  this.limeBranded = false;
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '3f6ed172a6341f4e1edc77ad52437edf7ed3965b' }, h("svg", { key: '293405b8a1f5e3cebdece4029093b18b4d7cd5b9', viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, this.renderSpinner())));
19
+ return (h(Host, { key: '43fdff921a3dd6637a6f452c2acc344e54cb759a' }, h("svg", { key: '7566bc8a39a74543cfbec9030220c84b5509b310', 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: '2aae915bea71851e4f146e960d20bfff043f0acf', class: {
58
+ return (h(Host, { key: '2b103843490284b194de5dbf2c6030973889aa64', class: {
59
59
  'has-menu': this.items.length > 0,
60
- }, onClick: this.filterClickWhenDisabled }, h("limel-button", { key: 'a4256e39e894e97ad834d7dc5fffa488d12f50e4', 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: '3badf574bf892cb26198166405739ef3a45fac49', 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"; }
@@ -78,7 +78,7 @@ export class Switch {
78
78
  removeEnterClickable(this.host);
79
79
  }
80
80
  render() {
81
- return (h(Host, { key: '2ce9ffed334574c874ef12126b0fa3b0399fbca6' }, this.readonly
81
+ return (h(Host, { key: 'ad0cfa0f9b495ba197ca27f8975d8499cfdace52' }, this.readonly
82
82
  ? this.renderReadonly()
83
83
  : this.renderInteractive(), this.renderHelperLine()));
84
84
  }
@@ -62,11 +62,11 @@ export class TabBar {
62
62
  this.tearDown();
63
63
  }
64
64
  render() {
65
- return (h("div", { key: 'd5ea81cea22148ff182dbf6cce579630dd51226e', class: "mdc-tab-bar", role: "tablist" }, h("div", { key: '7fb95e7e4ecef78c08af267b232ea00a8c37a01f', class: {
65
+ return (h("div", { key: 'b0a62a521861357770e12bc6183b9590c49760e0', class: "mdc-tab-bar", role: "tablist" }, h("div", { key: '97750d5ded531aee2fca5cd1f129fee4194b8f09', 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: 'ff8d5293a8ad9ce4f599ad3dc6fc1d00e29e44c7', class: "mdc-tab-scroller__scroll-area lime-hide-scrollbars" }, h("div", { key: '69f2827ecf3499bb46601e32770cef710906498a', class: "mdc-tab-scroller__scroll-content" }, this.tabs.map(this.renderTab))), h("div", { key: '5575ea05e1fca6b517f2d3b4e08de3025521983a', class: "scroll-fade left" }), h("div", { key: 'ab096896559ad951b26d44d6374b95684bebb0e9', class: "scroll-button left" }, h("button", { key: '8eb654939c4bf22a1fa9ef1439c8895d349ebc1c', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollLeft, onClick: this.handleLeftScrollClick }, h("limel-icon", { key: 'dcd1160cf48a28cff62dab2ebc8a895392d28bd8', name: "angle_left" }))), h("div", { key: 'd6aef83022ef2329eb6acba6c7310557cd841e38', class: "scroll-fade right" }), h("div", { key: 'd415ce73978bc76c1e4c9877dc520ea48dde70bb', class: "scroll-button right" }, h("button", { key: '871d2d9a464b43eda231177783926ce3fad9cde2', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollRight, onClick: this.handleRightScrollClick }, h("limel-icon", { key: '75ce8b5c5f94418695fb7a42599d5d7b1c059686', name: "angle_right" }))))));
69
+ } }, h("div", { key: '6547764cdcfc4f2f60e510863ede4d58d48b1b0e', class: "mdc-tab-scroller__scroll-area lime-hide-scrollbars" }, h("div", { key: 'b95453f5a1fe8b4aae7ebad439cfb795198623a8', class: "mdc-tab-scroller__scroll-content" }, this.tabs.map(this.renderTab))), h("div", { key: 'a4703fa681f371d69ab7a6994aa3457c803563bf', class: "scroll-fade left" }), h("div", { key: '6599c7035550249f81b5488deda63900363be953', class: "scroll-button left" }, h("button", { key: '09a0a7f41a8f0dfe458af7bb719aef0fb0e1b9d7', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollLeft, onClick: this.handleLeftScrollClick }, h("limel-icon", { key: 'dd5f4cf8562fd74148778d5414f98d4c1c949bd0', name: "angle_left" }))), h("div", { key: 'b380cf4e3679d35270453b6a8671e7de8d9a92a7', class: "scroll-fade right" }), h("div", { key: '3589c3bec4d29eee61da6bc0b293201412bd343f', class: "scroll-button right" }, h("button", { key: '8af680e4abefcf6920a602c269f9a937270d70f2', type: "button", tabindex: "-1", "aria-hidden": "true", disabled: !this.canScrollRight, onClick: this.handleRightScrollClick }, h("limel-icon", { key: 'be2dcc0f1ba494cce96eab05450ce8c9619981e0', 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: '95c69caf5807a724fd01336e0889e84de7b90901', onChangeTab: this.handleChangeTabs }, h("div", { key: 'fa7101cafc75c1864c27ea722b6e4d9bbddaa413', class: "tab-panel" }, h("limel-tab-bar", { key: '74ec8e8bf54d721b2340d37e5dfdb4df527ee7c6', tabs: this.tabs }), h("div", { key: '9dd0602c7ccbd28c1a779a2028f2ac97a36ba0e1', class: "tab-content" }, h("slot", { key: 'fa46249bfca240ff030cb23878ec744ab0fa9456' })))));
59
+ return (h(Host, { key: 'e81003e7cb21f7d348368393b6ac6c8039510f26', onChangeTab: this.handleChangeTabs }, h("div", { key: '591a3cd5176b359ce6ce9eef69355d5084656be7', class: "tab-panel" }, h("limel-tab-bar", { key: '1097440df6c6e01693a39efe3647e9511a664887', tabs: this.tabs }), h("div", { key: 'a6c49f26996ecc40f4a5d3d70de52777438adb13', class: "tab-content" }, h("slot", { key: '192808544a1534a3799ab5a438f08cbbe1d6bd40' })))));
60
60
  }
61
61
  setSlotElements() {
62
62
  const slot = this.getSlot();
@@ -748,13 +748,13 @@ export class Table {
748
748
  render() {
749
749
  var _a, _b;
750
750
  const totalRows = (_a = this.totalRows) !== null && _a !== void 0 ? _a : this.data.length;
751
- return (h(Host, { key: 'bdf212a18d552e674b125bc7211720a4c12017c9', class: {
751
+ return (h(Host, { key: 'e357333d980fd5fc18fc129c2c348014b28dc918', class: {
752
752
  'has-low-density': this.layout === 'lowDensity',
753
753
  'has-pagination-on-top': this.paginationLocation === 'top',
754
754
  'has-aggregation': this.hasAggregation(this.columns),
755
755
  'has-pagination': totalRows > this.pageSize,
756
756
  'has-selection': (_b = this.tableSelection) === null || _b === void 0 ? void 0 : _b.hasSelection,
757
- } }, h("div", { key: '7e2255cc81d1df9ec44b0b10de49ef1dff6c6119', id: "tabulator-container" }, h("div", { key: 'c413d5abefd874be1d7da0764ff6c8b41c096ec0', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: 'f2018824ceef425f572839540a543d71d19b77b3', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: '27dcea556552419f9c904320192c847b94742d2c', id: "tabulator-table" }))));
757
+ } }, h("div", { key: 'ea52cca80b066fba0d94fd154f4dd2774d52e4a8', id: "tabulator-container" }, h("div", { key: '022cceaa6e0876a60f7a9304e9be5e9bf9187cb9', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: '5ce0bb25943d34b433570c41177c78f02295f7ac', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: 'dfea37cefcf69f8b45fe1ad4dbf4686771d68d49', id: "tabulator-table" }))));
758
758
  }
759
759
  renderSelectAll() {
760
760
  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: '8da44ef5f8141c0b7e4cadf75babd07a62614674', 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 }),
110
- h("limel-input-field", { key: 'a16f2a13564809011551bf96e34e100b0683493c', 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, ref: (el) => (this.linkInput = el) }),
111
- h("div", { key: 'ee392b700a4293eb2b2121d08bfef852f8b4404e', class: "actions" }, h("limel-button", { key: 'be9f4711edf45a69f8087341e61fc4183c59ba2d', label: this.getTranslation('cancel'), onClick: this.handleCancel }), h("limel-button", { key: 'b958cae7915cc42133e5143589d4f454f8bb2ffa', primary: true, label: this.getTranslation('save'), disabled: !isValid, onClick: this.handleSave, ref: (el) => (this.saveButton = el), slot: "button" })),
109
+ h("limel-input-field", { key: 'e11551d49c6d2f566326f45726c68e1bc32fdc67', 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 }),
110
+ h("limel-input-field", { key: 'cd8cfa28e4413a3fb24080e017cbc4e11b044c90', 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, ref: (el) => (this.linkInput = el) }),
111
+ h("div", { key: 'a0f50540649a40e82665cbea9447c9d63a7dc2ea', class: "actions" }, h("limel-button", { key: '21c01520d4cba2dada241daa01dc7d8588294548', label: this.getTranslation('cancel'), onClick: this.handleCancel }), h("limel-button", { key: 'c63cb6eb73cda6da0c2ff6a08c6bed7584fb6bab', 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"; }
@@ -303,19 +303,19 @@ export class ProsemirrorAdapter {
303
303
  (_e = this.view) === null || _e === void 0 ? void 0 : _e.destroy();
304
304
  }
305
305
  render() {
306
- return (h(Host, { key: '66da30fb04c3dc303f58153a8ca6c1b185aae681', onFocus: this.handleFocus }, h("div", { key: 'fbd8f2810334973488603dd19db7ba2402a14a13', id: "editor" }), this.renderToolbar(), this.renderLinkMenu()));
306
+ return (h(Host, { key: '19a2071a0e50b4c9e95006ae12e44ec14df7460b', onFocus: this.handleFocus }, h("div", { key: 'f1215347c7eaf79cd16c9219c124ace3ebb22fc7', id: "editor" }), this.renderToolbar(), this.renderLinkMenu()));
307
307
  }
308
308
  renderToolbar() {
309
309
  if (this.actionBarItems.length === 0 || this.ui === 'no-toolbar') {
310
310
  return;
311
311
  }
312
- return (h("div", { class: "toolbar" }, h("limel-action-bar", { ref: (el) => (this.actionBarElement = el), accessibleLabel: "Toolbar", actions: this.actionBarItems, onItemSelected: this.handleActionBarItem })));
312
+ return (h("div", { class: "toolbar" }, h("limel-action-bar", { ref: (el) => (this.actionBarElement = el), accessibleLabel: translate.get('editor-menu.toolbar', this.language), actions: this.actionBarItems, onItemSelected: this.handleActionBarItem })));
313
313
  }
314
314
  renderLinkMenu() {
315
315
  if (!this.isLinkMenuOpen) {
316
316
  return;
317
317
  }
318
- return (h("limel-portal", { containerId: this.portalId, visible: this.isLinkMenuOpen, openDirection: "top", inheritParentWidth: true, anchor: this.actionBarElement }, h("limel-text-editor-link-menu", { link: this.link, isOpen: this.isLinkMenuOpen, onLinkChange: this.handleLinkChange, onCancel: this.handleCancelLinkMenu, onSave: this.handleSaveLinkMenu })));
318
+ return (h("limel-portal", { containerId: this.portalId, visible: this.isLinkMenuOpen, openDirection: "top", inheritParentWidth: true, anchor: this.actionBarElement }, h("limel-text-editor-link-menu", { language: this.language, link: this.link, isOpen: this.isLinkMenuOpen, onLinkChange: this.handleLinkChange, onCancel: this.handleCancelLinkMenu, onSave: this.handleSaveLinkMenu })));
319
319
  }
320
320
  validateInlineImages() {
321
321
  const config = this.inlineImages;
@@ -176,7 +176,7 @@ export class TextEditor {
176
176
  await ((_a = this.adapterElement) === null || _a === void 0 ? void 0 : _a.clear());
177
177
  }
178
178
  render() {
179
- return (h(Host, { key: '060e262b03280205725ffba75e4263a578b6291f' }, h("limel-notched-outline", { key: 'ca981b1571058bc82fe47f3b2b03cb2f618f7b3d', 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()));
179
+ return (h(Host, { key: '2e0b7080b8d75fc35a24a5da3bc6838da2637fc1' }, h("limel-notched-outline", { key: '2918c3a68d3ebc228ee1bbf7cced3df5278fa5cb', 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()));
180
180
  }
181
181
  renderEditor() {
182
182
  if (this.readonly) {
@@ -15,7 +15,7 @@ export class TooltipContent {
15
15
  const style = this.maxlength
16
16
  ? { '--tooltip-max-width-of-text': `${this.maxlength}ch` }
17
17
  : undefined;
18
- return (h(Host, { key: '9ac57eb00bc9049d153665957e0c4a0470ccc968', class: { 'has-column-layout': isLabelsTextLong }, style: style }, h("div", { key: 'f214a19a12b89d1ebb7d9e1129a1b6df81d3b7d2', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
18
+ return (h(Host, { key: '2761aea2a0cc3ccc7796b7dab93f2375656603f4', class: { 'has-column-layout': isLabelsTextLong }, style: style }, h("div", { key: '2bfe8a9766ff7ab2b9a5211b08107b7f2f28ef7b', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
19
19
  }
20
20
  renderHelperLabel() {
21
21
  if (!this.helperLabel) {
@@ -68,10 +68,10 @@ export class Tooltip {
68
68
  }
69
69
  render() {
70
70
  const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
71
- return (h("div", { key: '3c18e4c3286f2294fe5cbcfcca1900a67caab96c', class: "trigger-anchor" }, h("limel-portal", { key: '8a594f3725fbd8f4bdc49dc9da3517b7b0f2e74c', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
71
+ return (h("div", { key: 'cdc5602abcc2911c6429e386f37c6dc1e2100cd8', class: "trigger-anchor" }, h("limel-portal", { key: 'f61db13bb5bc3657e330c7475f0c7bd2e7eb9b2f', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
72
72
  'z-index': tooltipZIndex,
73
73
  'pointer-events': 'none',
74
- }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: 'eb383024b0f31fc9527320c900006b71ca510fc9', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
74
+ }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: 'f9acf5955b68639c3b56fba75977ddd783e97cd0', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
75
75
  }
76
76
  setOwnerAriaDescribedby() {
77
77
  var _a;
@@ -1,3 +1,4 @@
1
+ import { getPrimarySubtag } from "../util/language";
1
2
  import da from "../translations/da";
2
3
  import de from "../translations/de";
3
4
  import en from "../translations/en";
@@ -20,15 +21,11 @@ const allTranslations = {
20
21
  const REGEX = /\{\s*(\w+)\s*\}/g;
21
22
  export class Translations {
22
23
  get(key, language = 'en', params) {
23
- var _a, _b;
24
- // Fall back to English when the requested language has no translations.
25
- // The `language` props are typed, but a custom element takes whatever
26
- // string an attribute carries, so an unknown language must never make a
27
- // component throw.
28
- const languageTranslations = (_a = allTranslations[language]) !== null && _a !== void 0 ? _a : allTranslations.en;
24
+ var _a;
25
+ const languageTranslations = this.getTranslationsFor(language);
29
26
  // Fall back per key as well: a mapped language whose file is missing
30
27
  // this one key would otherwise render the key itself as UI text.
31
- const translation = (_b = languageTranslations[key]) !== null && _b !== void 0 ? _b : allTranslations.en[key];
28
+ const translation = (_a = languageTranslations[key]) !== null && _a !== void 0 ? _a : allTranslations.en[key];
32
29
  if (!translation) {
33
30
  return key;
34
31
  }
@@ -40,6 +37,12 @@ export class Translations {
40
37
  return String((_a = params === null || params === void 0 ? void 0 : params[mergeCodeKey]) !== null && _a !== void 0 ? _a : match);
41
38
  });
42
39
  }
40
+ getTranslationsFor(language) {
41
+ var _a, _b;
42
+ // Retry on the primary subtag, so that a full BCP 47 tag resolves.
43
+ // An unknown language must never make a component throw.
44
+ return ((_b = (_a = allTranslations[language]) !== null && _a !== void 0 ? _a : allTranslations[getPrimarySubtag(language)]) !== null && _b !== void 0 ? _b : allTranslations.en);
45
+ }
43
46
  }
44
47
  const translations = new Translations();
45
48
  export default (() => {
@@ -27,6 +27,7 @@ export * from './components/input-field/input-field.types';
27
27
  export * from './components/dynamic-label/label.types';
28
28
  export * from './components/list/list.types';
29
29
  export * from './components/menu/menu.types';
30
+ export * from './components/pagination/pagination.types';
30
31
  export * from './components/picker/actions.types';
31
32
  export * from './components/picker/picker-item.types';
32
33
  export * from './components/picker/searcher.types';
@@ -69,6 +69,7 @@ Du kan fortsætte med at blokere billeder (e-mailen kan se ufuldstændig ud) ell
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Kodeblok',
71
71
  'editor-menu.code': 'Kode',
72
+ 'editor-menu.toolbar': 'Værktøjslinje',
72
73
  'editor-image-view.loading': 'Indlæser billede: { filename }...',
73
74
  'editor-image-view.failed': 'Noget gik galt med billede: { filename }',
74
75
  'editor-image-view.success': 'Billede: { filename } er klar',
@@ -117,4 +118,13 @@ Du kan fortsætte med at blokere billeder (e-mailen kan se ufuldstændig ud) ell
117
118
  'profile-picture.unsupported-preview.description': 'Vi kan ikke vise det valgte billede i denne browser. Vælg venligst en anden billedfil.',
118
119
  'picker.results-matching': 'Resultater der matcher "{ query }"',
119
120
  'picker.no-matching-results': 'Ingen resultater der matcher "{ query }"',
121
+ 'pagination.label': 'Paginering',
122
+ 'pagination.previous-page': 'Forrige side',
123
+ 'pagination.next-page': 'Næste side',
124
+ 'pagination.go-to-previous-page': 'Gå til forrige side',
125
+ 'pagination.go-to-next-page': 'Gå til næste side',
126
+ 'pagination.page': 'Side { page }',
127
+ 'pagination.go-to-page': 'Gå til side { page }',
128
+ 'pagination.current-page': 'Side { page }, nuværende side',
129
+ 'pagination.items-range': '{ from }–{ to } (af { total })',
120
130
  };
@@ -69,6 +69,7 @@ Sie können Bilder weiterhin blockieren (die E-Mail kann unvollständig aussehen
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Codeblock',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': 'Symbolleiste',
72
73
  'editor-image-view.loading': 'Lade Bild: { filename }...',
73
74
  'editor-image-view.failed': 'Beim Laden des Bildes ist etwas schief gelaufen: { filename }',
74
75
  'editor-image-view.success': 'Bild: { filename } ist bereit',
@@ -117,4 +118,13 @@ Sie können Bilder weiterhin blockieren (die E-Mail kann unvollständig aussehen
117
118
  'profile-picture.unsupported-preview.description': 'Wir können das ausgewählte Bild in diesem Browser nicht anzeigen. Bitte wählen Sie eine andere Bilddatei.',
118
119
  'picker.results-matching': 'Ergebnisse passend zu "{ query }"',
119
120
  'picker.no-matching-results': 'Keine Ergebnisse passend zu "{ query }"',
121
+ 'pagination.label': 'Seitennummerierung',
122
+ 'pagination.previous-page': 'Vorherige Seite',
123
+ 'pagination.next-page': 'Nächste Seite',
124
+ 'pagination.go-to-previous-page': 'Zur vorherigen Seite wechseln',
125
+ 'pagination.go-to-next-page': 'Zur nächsten Seite wechseln',
126
+ 'pagination.page': 'Seite { page }',
127
+ 'pagination.go-to-page': 'Zu Seite { page } wechseln',
128
+ 'pagination.current-page': 'Seite { page }, aktuelle Seite',
129
+ 'pagination.items-range': '{ from }–{ to } (von { total })',
120
130
  };
@@ -69,6 +69,7 @@ You can keep images blocked (the email may look incomplete), or load them if you
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Code block',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': 'Toolbar',
72
73
  'editor-image-view.loading': 'Loading image: { filename }...',
73
74
  'editor-image-view.failed': 'Something went wrong with image: { filename }',
74
75
  'editor-image-view.success': 'Image: { filename } is ready',
@@ -117,4 +118,13 @@ You can keep images blocked (the email may look incomplete), or load them if you
117
118
  'profile-picture.unsupported-preview.description': 'We cannot display the selected image in this browser. Please select a different image file.',
118
119
  'picker.results-matching': 'Results matching "{ query }"',
119
120
  'picker.no-matching-results': 'No results matching "{ query }"',
121
+ 'pagination.label': 'Pagination',
122
+ 'pagination.previous-page': 'Previous page',
123
+ 'pagination.next-page': 'Next page',
124
+ 'pagination.go-to-previous-page': 'Go to previous page',
125
+ 'pagination.go-to-next-page': 'Go to next page',
126
+ 'pagination.page': 'Page { page }',
127
+ 'pagination.go-to-page': 'Go to page { page }',
128
+ 'pagination.current-page': 'Page { page }, current page',
129
+ 'pagination.items-range': '{ from }–{ to } (of { total })',
120
130
  };
@@ -69,6 +69,7 @@ Voit pitää kuvat estettyinä (sähköposti voi näyttää puutteelliselta) tai
69
69
  'editor-link-menu.link': 'Linkki',
70
70
  'editor-menu.code-block': 'Koodilohko',
71
71
  'editor-menu.code': 'Koodi',
72
+ 'editor-menu.toolbar': 'Työkalurivi',
72
73
  'editor-image-view.loading': 'Ladataan kuvaa: { filename }...',
73
74
  'editor-image-view.failed': 'Jokin meni pieleen kuvan kanssa: { filename }',
74
75
  'editor-image-view.success': 'Kuva: { filename } on valmis',
@@ -117,4 +118,13 @@ Voit pitää kuvat estettyinä (sähköposti voi näyttää puutteelliselta) tai
117
118
  'profile-picture.unsupported-preview.description': 'Emme voi näyttää valittua kuvaa tässä selaimessa. Valitse jokin toinen kuvatiedosto.',
118
119
  'picker.results-matching': 'Hakua "{ query }" vastaavat tulokset',
119
120
  'picker.no-matching-results': 'Ei hakua "{ query }" vastaavia tuloksia',
121
+ 'pagination.label': 'Sivutus',
122
+ 'pagination.previous-page': 'Edellinen sivu',
123
+ 'pagination.next-page': 'Seuraava sivu',
124
+ 'pagination.go-to-previous-page': 'Siirry edelliselle sivulle',
125
+ 'pagination.go-to-next-page': 'Siirry seuraavalle sivulle',
126
+ 'pagination.page': 'Sivu { page }',
127
+ 'pagination.go-to-page': 'Siirry sivulle { page }',
128
+ 'pagination.current-page': 'Sivu { page }, nykyinen sivu',
129
+ 'pagination.items-range': '{ from }–{ to } (yhteensä { total })',
120
130
  };
@@ -69,6 +69,7 @@ Vous pouvez laisser les images bloquées (l'e-mail peut sembler incomplet) ou le
69
69
  'editor-link-menu.link': 'Lien',
70
70
  'editor-menu.code-block': 'Bloc de code',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': "Barre d'outils",
72
73
  'editor-image-view.loading': "Chargement de l'image: { filename }...",
73
74
  'editor-image-view.failed': "Un problème est survenu avec l'image: { filename }",
74
75
  'editor-image-view.success': 'Image: { filename } est prête',
@@ -117,4 +118,13 @@ Vous pouvez laisser les images bloquées (l'e-mail peut sembler incomplet) ou le
117
118
  'profile-picture.unsupported-preview.description': "Nous ne pouvons pas afficher l'image sélectionnée dans ce navigateur. Veuillez sélectionner un autre fichier image.",
118
119
  'picker.results-matching': 'Résultats correspondant à « { query } »',
119
120
  'picker.no-matching-results': 'Aucun résultat correspondant à « { query } »',
121
+ 'pagination.label': 'Pagination',
122
+ 'pagination.previous-page': 'Page précédente',
123
+ 'pagination.next-page': 'Page suivante',
124
+ 'pagination.go-to-previous-page': 'Aller à la page précédente',
125
+ 'pagination.go-to-next-page': 'Aller à la page suivante',
126
+ 'pagination.page': 'Page { page }',
127
+ 'pagination.go-to-page': 'Aller à la page { page }',
128
+ 'pagination.current-page': 'Page { page }, page actuelle',
129
+ 'pagination.items-range': '{ from }–{ to } (sur { total })',
120
130
  };
@@ -69,6 +69,7 @@ Je kunt afbeeldingen geblokkeerd houden (de e-mail kan er onvolledig uitzien) of
69
69
  'editor-link-menu.link': 'Link',
70
70
  'editor-menu.code-block': 'Codeblok',
71
71
  'editor-menu.code': 'Code',
72
+ 'editor-menu.toolbar': 'Werkbalk',
72
73
  'editor-image-view.loading': 'Afbeelding wordt geladen: { filename }...',
73
74
  'editor-image-view.failed': 'Er is iets misgegaan met de afbeelding: { filename }',
74
75
  'editor-image-view.success': 'Afbeelding: { filename } is klaar',
@@ -117,4 +118,13 @@ Je kunt afbeeldingen geblokkeerd houden (de e-mail kan er onvolledig uitzien) of
117
118
  'profile-picture.unsupported-preview.description': 'We kunnen de geselecteerde afbeelding niet weergeven in deze browser. Selecteer een ander afbeeldingsbestand.',
118
119
  'picker.results-matching': 'Resultaten die overeenkomen met "{ query }"',
119
120
  'picker.no-matching-results': 'Geen resultaten die overeenkomen met "{ query }"',
121
+ 'pagination.label': 'Paginering',
122
+ 'pagination.previous-page': 'Vorige pagina',
123
+ 'pagination.next-page': 'Volgende pagina',
124
+ 'pagination.go-to-previous-page': 'Ga naar vorige pagina',
125
+ 'pagination.go-to-next-page': 'Ga naar volgende pagina',
126
+ 'pagination.page': 'Pagina { page }',
127
+ 'pagination.go-to-page': 'Ga naar pagina { page }',
128
+ 'pagination.current-page': 'Pagina { page }, huidige pagina',
129
+ 'pagination.items-range': '{ from }–{ to } (van { total })',
120
130
  };