@limetech/lime-elements 40.5.4 → 40.6.1

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 (451) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/{adapt-color-contrast-Beo1IEl_.js → adapt-color-contrast-h6iwOfZd.js} +1 -1
  3. package/dist/cjs/{checkbox.template-BPk8WkQF.js → checkbox.template-CoNVC4Nf.js} +2 -2
  4. package/dist/cjs/{files-DI4jItxi.js → files-DpGigQ8k.js} +1 -1
  5. package/dist/cjs/{format-bytes-CpUKKU86.js → format-bytes-WTHVI718.js} +1 -4
  6. package/dist/cjs/{hotkeys-BtR8uxvl.js → hotkeys-D761KWnZ.js} +1 -0
  7. package/dist/cjs/{image-resize-CG2fitJT.js → image-resize-JlRLB97I.js} +1 -0
  8. package/dist/cjs/{image.template-DY7qwbuy.js → image.template-DlF-f23b.js} +1 -1
  9. package/dist/cjs/{index--B6-r0uo.js → index-BlsqxTB1.js} +1 -7
  10. package/dist/cjs/{index-ETPz91V5.js → index-zZvs6xK-.js} +9382 -9504
  11. package/dist/cjs/index.cjs.js +1 -1
  12. package/dist/cjs/{isArrayLikeObject-U2Ddbw4n.js → isArrayLikeObject-BhSkOTkw.js} +17 -0
  13. package/dist/cjs/{language-CaqPKPyW.js → language-v-MMS6ym.js} +1 -1
  14. package/dist/cjs/lime-elements.cjs.js +2 -2
  15. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-action-bar_3.cjs.entry.js +20 -18
  17. package/dist/cjs/limel-ai-avatar.cjs.entry.js +5 -5
  18. package/dist/cjs/limel-badge.cjs.entry.js +3 -3
  19. package/dist/cjs/limel-banner.cjs.entry.js +2 -2
  20. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +80 -80
  21. package/dist/cjs/limel-button-group.cjs.entry.js +3 -3
  22. package/dist/cjs/limel-button.cjs.entry.js +4 -4
  23. package/dist/cjs/limel-callout.cjs.entry.js +6 -6
  24. package/dist/cjs/limel-card.cjs.entry.js +8 -7
  25. package/dist/cjs/limel-chart.cjs.entry.js +5 -5
  26. package/dist/cjs/limel-checkbox.cjs.entry.js +12 -10
  27. package/dist/cjs/limel-chip-set.cjs.entry.js +30 -39
  28. package/dist/cjs/limel-chip_2.cjs.entry.js +9 -9
  29. package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
  30. package/dist/cjs/limel-code-diff.cjs.entry.js +25 -28
  31. package/dist/cjs/limel-code-editor.cjs.entry.js +17 -12
  32. package/dist/cjs/limel-collapsible-section.cjs.entry.js +8 -8
  33. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -3
  34. package/dist/cjs/limel-color-picker.cjs.entry.js +6 -5
  35. package/dist/cjs/limel-config.cjs.entry.js +3 -3
  36. package/dist/cjs/limel-date-picker.cjs.entry.js +8 -11
  37. package/dist/cjs/limel-dialog.cjs.entry.js +6 -9
  38. package/dist/cjs/limel-dock-button.cjs.entry.js +6 -11
  39. package/dist/cjs/limel-dock.cjs.entry.js +3 -3
  40. package/dist/cjs/limel-drag-handle.cjs.entry.js +6 -6
  41. package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-email-viewer.cjs.entry.js +11 -17
  43. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +11 -12
  44. package/dist/cjs/limel-file-viewer.cjs.entry.js +1099 -1147
  45. package/dist/cjs/limel-file.cjs.entry.js +17 -16
  46. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +100 -94
  47. package/dist/cjs/limel-flex-container.cjs.entry.js +2 -2
  48. package/dist/cjs/limel-form.cjs.entry.js +67 -68
  49. package/dist/cjs/limel-grid.cjs.entry.js +2 -2
  50. package/dist/cjs/limel-header.cjs.entry.js +2 -2
  51. package/dist/cjs/limel-help-content.cjs.entry.js +2 -2
  52. package/dist/cjs/limel-help.cjs.entry.js +3 -3
  53. package/dist/cjs/limel-helper-line_3.cjs.entry.js +12 -14
  54. package/dist/cjs/limel-hotkey_4.cjs.entry.js +23 -23
  55. package/dist/cjs/limel-icon-button.cjs.entry.js +4 -4
  56. package/dist/cjs/limel-icon.cjs.entry.js +15 -13
  57. package/dist/cjs/limel-info-tile.cjs.entry.js +10 -10
  58. package/dist/cjs/limel-list-item.cjs.entry.js +10 -10
  59. package/dist/cjs/limel-markdown.cjs.entry.js +50 -23
  60. package/dist/cjs/limel-masonry-layout.cjs.entry.js +6 -5
  61. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +3 -3
  62. package/dist/cjs/limel-pagination-jump.cjs.entry.js +17 -15
  63. package/dist/cjs/limel-pagination.cjs.entry.js +10 -9
  64. package/dist/cjs/limel-picker.cjs.entry.js +31 -29
  65. package/dist/cjs/limel-popover_2.cjs.entry.js +25 -21
  66. package/dist/cjs/limel-profile-picture.cjs.entry.js +12 -11
  67. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  68. package/dist/cjs/limel-progress-flow.cjs.entry.js +11 -10
  69. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +476 -408
  70. package/dist/cjs/limel-radio-button-group.cjs.entry.js +2 -2
  71. package/dist/cjs/limel-radio-button.cjs.entry.js +3 -3
  72. package/dist/cjs/limel-scroller.cjs.entry.js +180 -0
  73. package/dist/cjs/limel-select.cjs.entry.js +17 -17
  74. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  75. package/dist/cjs/limel-slider.cjs.entry.js +18 -27
  76. package/dist/cjs/limel-snackbar.cjs.entry.js +5 -5
  77. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  78. package/dist/cjs/limel-switch.cjs.entry.js +3 -3
  79. package/dist/cjs/limel-tab-bar.cjs.entry.js +66 -97
  80. package/dist/cjs/limel-tab-panel.cjs.entry.js +12 -9
  81. package/dist/cjs/limel-table.cjs.entry.js +527 -106
  82. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +15 -14
  83. package/dist/cjs/limel-text-editor.cjs.entry.js +3 -3
  84. package/dist/cjs/loader.cjs.js +2 -2
  85. package/dist/cjs/{make-enter-clickable-NuTMC9MU.js → make-enter-clickable-BZHEWIJD.js} +19 -12
  86. package/dist/cjs/markdown-exporter-C-UW43FF.js +6210 -0
  87. package/dist/cjs/{markdown-parser-YH5HSSgF.js → markdown-parser-ssDij8_l.js} +603 -870
  88. package/dist/cjs/{moment-CqRdiK10.js → moment-Cfsz2WF1.js} +1062 -833
  89. package/dist/cjs/{random-string-BTzDB2ee.js → random-string-CFCtFh5l.js} +1 -0
  90. package/dist/cjs/{render-list-component-5ZKWpCnM.js → render-list-component-BtAliHQp.js} +3 -5
  91. package/dist/cjs/{sv-BSR4W58y.js → sv-Co78RX70.js} +31 -3
  92. package/dist/cjs/{translations-DFFpR6AZ.js → translations-CNTWud2a.js} +5 -8
  93. package/dist/collection/collection-manifest.json +1 -0
  94. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  95. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +8 -7
  96. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  97. package/dist/collection/components/action-bar/action-bar.js +6 -5
  98. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  99. package/dist/collection/components/badge/badge.js +2 -2
  100. package/dist/collection/components/banner/banner.js +1 -1
  101. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  102. package/dist/collection/components/button/button.js +2 -2
  103. package/dist/collection/components/button-group/button-group.js +1 -1
  104. package/dist/collection/components/callout/callout.js +1 -1
  105. package/dist/collection/components/card/card.js +6 -5
  106. package/dist/collection/components/checkbox/checkbox.js +9 -7
  107. package/dist/collection/components/checkbox/checkbox.template.js +1 -1
  108. package/dist/collection/components/chip/chip.js +1 -1
  109. package/dist/collection/components/chip-set/chip-set-input-helpers.js +18 -21
  110. package/dist/collection/components/chip-set/chip-set.js +7 -13
  111. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  112. package/dist/collection/components/code-diff/code-diff.js +19 -22
  113. package/dist/collection/components/code-diff/diff-engine.js +2 -2
  114. package/dist/collection/components/code-editor/code-editor.js +8 -3
  115. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  116. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  117. package/dist/collection/components/color-picker/color-picker.js +5 -4
  118. package/dist/collection/components/config/config.js +2 -2
  119. package/dist/collection/components/date-picker/date-picker.js +3 -6
  120. package/dist/collection/components/date-picker/flatpickr-adapter/deferred-destroy.js +4 -3
  121. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  122. package/dist/collection/components/date-picker/pickers/month-picker.js +40 -36
  123. package/dist/collection/components/date-picker/pickers/quarter-picker.js +35 -30
  124. package/dist/collection/components/date-picker/pickers/year-picker.js +16 -20
  125. package/dist/collection/components/dialog/dialog.js +4 -7
  126. package/dist/collection/components/dock/dock-button/dock-button.js +4 -9
  127. package/dist/collection/components/dock/dock.js +2 -2
  128. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  129. package/dist/collection/components/email-viewer/email-loader.js +14 -10
  130. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  131. package/dist/collection/components/email-viewer/sanitize-email-html.js +1 -4
  132. package/dist/collection/components/email-viewer/split-email-address-list.js +4 -10
  133. package/dist/collection/components/file/file.js +11 -10
  134. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  135. package/dist/collection/components/file-input/file-input.js +7 -8
  136. package/dist/collection/components/file-viewer/file-viewer.js +12 -9
  137. package/dist/collection/components/flex-container/flex-container.js +1 -1
  138. package/dist/collection/components/form/fields/schema-field.js +1 -1
  139. package/dist/collection/components/form/form.js +2 -5
  140. package/dist/collection/components/form/form.test-schemas.js +8 -10
  141. package/dist/collection/components/form/templates/array-field.js +7 -9
  142. package/dist/collection/components/form/templates/common.js +19 -19
  143. package/dist/collection/components/form/templates/object-field.js +1 -1
  144. package/dist/collection/components/form/validation-display.js +2 -2
  145. package/dist/collection/components/form/validators/format.js +1 -0
  146. package/dist/collection/components/form/widgets/code-editor.js +6 -9
  147. package/dist/collection/components/form/widgets/date-picker.js +1 -3
  148. package/dist/collection/components/grid/grid.js +1 -1
  149. package/dist/collection/components/header/header.js +1 -1
  150. package/dist/collection/components/help/help-content.js +1 -1
  151. package/dist/collection/components/help/help.js +2 -2
  152. package/dist/collection/components/helper-line/helper-line.js +3 -3
  153. package/dist/collection/components/hotkey/hotkey.js +1 -1
  154. package/dist/collection/components/icon/icon.js +11 -9
  155. package/dist/collection/components/icon-button/icon-button.js +1 -1
  156. package/dist/collection/components/info-tile/info-tile.js +9 -9
  157. package/dist/collection/components/input-field/input-field.js +11 -11
  158. package/dist/collection/components/list/list-renderer.js +5 -7
  159. package/dist/collection/components/list/list.js +2 -2
  160. package/dist/collection/components/list-item/list-item.js +2 -2
  161. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  162. package/dist/collection/components/markdown/hydrate-custom-elements.js +6 -5
  163. package/dist/collection/components/markdown/image-intersection-observer.js +9 -8
  164. package/dist/collection/components/markdown/image-markdown-plugin.js +9 -7
  165. package/dist/collection/components/markdown/link-markdown-plugin.js +11 -10
  166. package/dist/collection/components/markdown/markdown-exporter.js +186 -0
  167. package/dist/collection/components/markdown/markdown-parser.js +2 -3
  168. package/dist/collection/components/markdown/markdown.js +59 -6
  169. package/dist/collection/components/markdown/remove-empty-paragraphs-plugin.js +4 -5
  170. package/dist/collection/components/masonry-layout/masonry-layout.js +5 -4
  171. package/dist/collection/components/menu/menu.js +48 -46
  172. package/dist/collection/components/menu-list/menu-list-renderer.js +8 -8
  173. package/dist/collection/components/menu-list/menu-list.js +1 -1
  174. package/dist/collection/components/menu-surface/menu-surface.js +6 -8
  175. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  176. package/dist/collection/components/pagination/jump/pagination-jump.js +13 -11
  177. package/dist/collection/components/pagination/pagination.js +5 -4
  178. package/dist/collection/components/picker/picker.js +25 -23
  179. package/dist/collection/components/popover/popover.js +13 -10
  180. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  181. package/dist/collection/components/portal/contains.js +9 -8
  182. package/dist/collection/components/portal/portal.js +16 -16
  183. package/dist/collection/components/profile-picture/profile-picture.js +4 -3
  184. package/dist/collection/components/progress-flow/progress-flow.js +10 -9
  185. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  186. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  187. package/dist/collection/components/scroller/scroller.css +317 -0
  188. package/dist/collection/components/scroller/scroller.js +284 -0
  189. package/dist/collection/components/select/select.js +13 -11
  190. package/dist/collection/components/select/select.template.js +1 -3
  191. package/dist/collection/components/slider/get-percentage-class.js +9 -18
  192. package/dist/collection/components/slider/slider.js +2 -2
  193. package/dist/collection/components/tab-bar/tab-bar.css +7 -289
  194. package/dist/collection/components/tab-bar/tab-bar.js +59 -104
  195. package/dist/collection/components/tab-panel/tab-panel.js +11 -8
  196. package/dist/collection/components/table/columns.js +1 -3
  197. package/dist/collection/components/table/element-pool.js +1 -1
  198. package/dist/collection/components/table/table-selection.js +6 -5
  199. package/dist/collection/components/table/table.css +15 -17
  200. package/dist/collection/components/table/table.js +44 -39
  201. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +11 -10
  202. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-command-utils/list-utils.js +1 -1
  203. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-commands.js +6 -10
  204. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/inserter.js +37 -40
  205. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/node.js +2 -1
  206. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/link/link-plugin.js +21 -20
  207. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/menu-state-tracking-plugin.js +6 -5
  208. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/trigger/factory-helpers/detect-trigger-removal.js +15 -14
  209. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +40 -34
  210. package/dist/collection/components/text-editor/text-editor.js +1 -1
  211. package/dist/collection/components/text-editor/utils/metadata-utils.js +1 -1
  212. package/dist/collection/components/text-editor/utils/plugin-factory.js +3 -3
  213. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  214. package/dist/collection/components/tooltip/tooltip.js +2 -2
  215. package/dist/collection/global/icon-cache/factory.js +2 -3
  216. package/dist/collection/global/icon-cache/in-memory-icon-cache.js +2 -0
  217. package/dist/collection/global/translations.js +1 -3
  218. package/dist/collection/translations/fr.js +3 -3
  219. package/dist/collection/util/adapt-color-contrast.js +1 -1
  220. package/dist/collection/util/files.js +1 -1
  221. package/dist/collection/util/format-bytes.js +1 -4
  222. package/dist/collection/util/hotkeys.js +1 -0
  223. package/dist/collection/util/image-resize.js +1 -0
  224. package/dist/collection/util/language.js +1 -1
  225. package/dist/collection/util/make-enter-clickable.js +19 -12
  226. package/dist/collection/util/random-string.js +1 -0
  227. package/dist/collection/util/render-list-component.js +2 -4
  228. package/dist/esm/{adapt-color-contrast-Dgcw_h7C.js → adapt-color-contrast-BQoih_t0.js} +1 -1
  229. package/dist/esm/{checkbox.template-Cx_3u92S.js → checkbox.template-IDyv2bgn.js} +2 -2
  230. package/dist/esm/{files-DnkFEKoB.js → files-CKnLqPDj.js} +1 -1
  231. package/dist/esm/{format-bytes-u_sd2HMb.js → format-bytes-24yUSW40.js} +1 -4
  232. package/dist/esm/{hotkeys-BxrRWYts.js → hotkeys-DjmlD0Mw.js} +1 -0
  233. package/dist/esm/{image-resize-BTSG--2-.js → image-resize-Dv2HOgWN.js} +1 -0
  234. package/dist/esm/{image.template-wqMwmOF-.js → image.template-BGjw97m_.js} +1 -1
  235. package/dist/esm/{index-CbciMfiU.js → index-BN64nlbO.js} +9369 -9505
  236. package/dist/esm/{index-Bnc9lzk2.js → index-BU9IJqli.js} +1 -7
  237. package/dist/esm/index.js +1 -1
  238. package/dist/esm/{isArrayLikeObject-CJB8HbtH.js → isArrayLikeObject-tmUOLOWr.js} +17 -1
  239. package/dist/esm/{language-C3hECvXE.js → language-ChagAaNf.js} +1 -1
  240. package/dist/esm/lime-elements.js +3 -3
  241. package/dist/esm/limel-3d-hover-effect-glow.entry.js +2 -2
  242. package/dist/esm/limel-action-bar_3.entry.js +20 -18
  243. package/dist/esm/limel-ai-avatar.entry.js +5 -5
  244. package/dist/esm/limel-badge.entry.js +3 -3
  245. package/dist/esm/limel-banner.entry.js +2 -2
  246. package/dist/esm/limel-breadcrumbs_6.entry.js +80 -80
  247. package/dist/esm/limel-button-group.entry.js +3 -3
  248. package/dist/esm/limel-button.entry.js +4 -4
  249. package/dist/esm/limel-callout.entry.js +6 -6
  250. package/dist/esm/limel-card.entry.js +8 -7
  251. package/dist/esm/limel-chart.entry.js +5 -5
  252. package/dist/esm/limel-checkbox.entry.js +12 -10
  253. package/dist/esm/limel-chip-set.entry.js +30 -39
  254. package/dist/esm/limel-chip_2.entry.js +9 -9
  255. package/dist/esm/limel-circular-progress.entry.js +2 -2
  256. package/dist/esm/limel-code-diff.entry.js +25 -28
  257. package/dist/esm/limel-code-editor.entry.js +17 -12
  258. package/dist/esm/limel-collapsible-section.entry.js +8 -8
  259. package/dist/esm/limel-color-picker-palette.entry.js +3 -3
  260. package/dist/esm/limel-color-picker.entry.js +6 -5
  261. package/dist/esm/limel-config.entry.js +3 -3
  262. package/dist/esm/limel-date-picker.entry.js +8 -11
  263. package/dist/esm/limel-dialog.entry.js +6 -9
  264. package/dist/esm/limel-dock-button.entry.js +6 -11
  265. package/dist/esm/limel-dock.entry.js +3 -3
  266. package/dist/esm/limel-drag-handle.entry.js +6 -6
  267. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  268. package/dist/esm/limel-email-viewer.entry.js +11 -17
  269. package/dist/esm/limel-file-dropzone_2.entry.js +11 -12
  270. package/dist/esm/limel-file-viewer.entry.js +1099 -1147
  271. package/dist/esm/limel-file.entry.js +17 -16
  272. package/dist/esm/limel-flatpickr-adapter.entry.js +100 -94
  273. package/dist/esm/limel-flex-container.entry.js +2 -2
  274. package/dist/esm/limel-form.entry.js +66 -67
  275. package/dist/esm/limel-grid.entry.js +2 -2
  276. package/dist/esm/limel-header.entry.js +2 -2
  277. package/dist/esm/limel-help-content.entry.js +2 -2
  278. package/dist/esm/limel-help.entry.js +3 -3
  279. package/dist/esm/limel-helper-line_3.entry.js +12 -14
  280. package/dist/esm/limel-hotkey_4.entry.js +23 -23
  281. package/dist/esm/limel-icon-button.entry.js +4 -4
  282. package/dist/esm/limel-icon.entry.js +15 -13
  283. package/dist/esm/limel-info-tile.entry.js +10 -10
  284. package/dist/esm/limel-list-item.entry.js +10 -10
  285. package/dist/esm/limel-markdown.entry.js +50 -23
  286. package/dist/esm/limel-masonry-layout.entry.js +6 -5
  287. package/dist/esm/limel-menu-item-meta.entry.js +3 -3
  288. package/dist/esm/limel-pagination-jump.entry.js +17 -15
  289. package/dist/esm/limel-pagination.entry.js +10 -9
  290. package/dist/esm/limel-picker.entry.js +31 -29
  291. package/dist/esm/limel-popover_2.entry.js +25 -21
  292. package/dist/esm/limel-profile-picture.entry.js +12 -11
  293. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  294. package/dist/esm/limel-progress-flow.entry.js +11 -10
  295. package/dist/esm/limel-prosemirror-adapter.entry.js +476 -408
  296. package/dist/esm/limel-radio-button-group.entry.js +2 -2
  297. package/dist/esm/limel-radio-button.entry.js +3 -3
  298. package/dist/esm/limel-scroller.entry.js +178 -0
  299. package/dist/esm/limel-select.entry.js +17 -17
  300. package/dist/esm/limel-shortcut.entry.js +1 -1
  301. package/dist/esm/limel-slider.entry.js +18 -27
  302. package/dist/esm/limel-snackbar.entry.js +5 -5
  303. package/dist/esm/limel-split-button.entry.js +1 -1
  304. package/dist/esm/limel-switch.entry.js +3 -3
  305. package/dist/esm/limel-tab-bar.entry.js +66 -97
  306. package/dist/esm/limel-tab-panel.entry.js +12 -9
  307. package/dist/esm/limel-table.entry.js +527 -106
  308. package/dist/esm/limel-text-editor-link-menu.entry.js +15 -14
  309. package/dist/esm/limel-text-editor.entry.js +3 -3
  310. package/dist/esm/loader.js +3 -3
  311. package/dist/esm/{make-enter-clickable-BgTwPGeH.js → make-enter-clickable-CIf8aGSd.js} +19 -12
  312. package/dist/esm/markdown-exporter-DblYRMhY.js +6208 -0
  313. package/dist/esm/{markdown-parser-DrxxGLF5.js → markdown-parser-CAPDx7i8.js} +530 -813
  314. package/dist/esm/{moment-DQRNe8qq.js → moment-_DadZLWp.js} +1062 -833
  315. package/dist/esm/{random-string-JbKhhoXs.js → random-string-BrjD-ITe.js} +1 -0
  316. package/dist/esm/{render-list-component-cicbMp0l.js → render-list-component-J1IzNpbv.js} +3 -5
  317. package/dist/esm/{sv-CY-6-yEp.js → sv-DpsDSi7k.js} +31 -3
  318. package/dist/esm/{translations-DMtX4tTX.js → translations-Y4i8PVc9.js} +5 -8
  319. package/dist/lime-elements/index.esm.js +1 -1
  320. package/dist/lime-elements/lime-elements.esm.js +1 -1
  321. package/dist/lime-elements/{p-3916b316.entry.js → p-03cb609e.entry.js} +1 -1
  322. package/dist/lime-elements/p-05038bbb.entry.js +1 -0
  323. package/dist/lime-elements/{p-835149c4.entry.js → p-0d6925f4.entry.js} +1 -1
  324. package/dist/lime-elements/p-0e13ec91.entry.js +1 -0
  325. package/dist/lime-elements/p-159603cf.entry.js +159 -0
  326. package/dist/lime-elements/p-22fd1c87.entry.js +1 -0
  327. package/dist/lime-elements/p-24yUSW40.js +1 -0
  328. package/dist/lime-elements/{p-f717cd7a.entry.js → p-271662d4.entry.js} +1 -1
  329. package/dist/lime-elements/{p-c2a60508.entry.js → p-29c73bdf.entry.js} +1 -1
  330. package/dist/lime-elements/{p-deceda00.entry.js → p-2a902e77.entry.js} +1 -1
  331. package/dist/lime-elements/{p-d0cec424.entry.js → p-2b033dfa.entry.js} +1 -1
  332. package/dist/lime-elements/{p-acba5700.entry.js → p-2b2253d4.entry.js} +1 -1
  333. package/dist/lime-elements/p-2e33d2a4.entry.js +1 -0
  334. package/dist/lime-elements/p-31226737.entry.js +13 -0
  335. package/dist/lime-elements/{p-36ce4fbc.entry.js → p-31f314e6.entry.js} +1 -1
  336. package/dist/lime-elements/p-32a050a3.entry.js +1 -0
  337. package/dist/lime-elements/{p-3735111e.entry.js → p-3cfe0eaf.entry.js} +1 -1
  338. package/dist/lime-elements/{p-fbcd99a3.entry.js → p-3d3bdf45.entry.js} +1 -1
  339. package/dist/lime-elements/p-440a0b43.entry.js +1 -0
  340. package/dist/lime-elements/p-45c39fb4.entry.js +1 -0
  341. package/dist/lime-elements/p-45fde7a1.entry.js +1 -0
  342. package/dist/lime-elements/p-48afa6b7.entry.js +1 -0
  343. package/dist/lime-elements/{p-f04f7c8e.entry.js → p-4a88d365.entry.js} +1 -1
  344. package/dist/lime-elements/p-4b75e653.entry.js +1 -0
  345. package/dist/lime-elements/p-4dfd1962.entry.js +67 -0
  346. package/dist/lime-elements/{p-5698e493.entry.js → p-4ecbc9f4.entry.js} +1 -1
  347. package/dist/lime-elements/p-5386c629.entry.js +1 -0
  348. package/dist/lime-elements/{p-2e568c56.entry.js → p-54a9f48f.entry.js} +1 -1
  349. package/dist/lime-elements/{p-0fba64eb.entry.js → p-5df21b25.entry.js} +2 -2
  350. package/dist/lime-elements/{p-408c4dcb.entry.js → p-5f5c6e7d.entry.js} +1 -1
  351. package/dist/lime-elements/{p-052c3bc6.entry.js → p-681cb6de.entry.js} +1 -1
  352. package/dist/lime-elements/p-6adc7c88.entry.js +1 -0
  353. package/dist/lime-elements/{p-90df3e1b.entry.js → p-6d9961f7.entry.js} +1 -1
  354. package/dist/lime-elements/{p-74bd0c1a.entry.js → p-7b4351f6.entry.js} +1 -1
  355. package/dist/lime-elements/{p-3fd7e8aa.entry.js → p-7eab1341.entry.js} +1 -1
  356. package/dist/lime-elements/p-80153f45.entry.js +1 -0
  357. package/dist/lime-elements/{p-35fa1063.entry.js → p-85318636.entry.js} +1 -1
  358. package/dist/lime-elements/p-8988b7e1.entry.js +1 -0
  359. package/dist/lime-elements/{p-4ffbfc79.entry.js → p-8ac79ef5.entry.js} +1 -1
  360. package/dist/lime-elements/{p-4902fb3f.entry.js → p-9218fa6a.entry.js} +1 -1
  361. package/dist/lime-elements/p-92669910.entry.js +1 -0
  362. package/dist/lime-elements/{p-38b09f87.entry.js → p-9415411e.entry.js} +1 -1
  363. package/dist/lime-elements/p-95ccd9e7.entry.js +1 -0
  364. package/dist/lime-elements/{p-cb407bef.entry.js → p-9afa4721.entry.js} +1 -1
  365. package/dist/lime-elements/{p-54dcf46f.entry.js → p-9c8c2fb7.entry.js} +1 -1
  366. package/dist/lime-elements/{p-B8hoCfhT.js → p-B3YP9GOq.js} +1 -1
  367. package/dist/lime-elements/{p-Dgcw_h7C.js → p-BQoih_t0.js} +1 -1
  368. package/dist/lime-elements/{p-Bnc9lzk2.js → p-BU9IJqli.js} +1 -1
  369. package/dist/lime-elements/{p-CGVVDGcv.js → p-Bkvc4sus.js} +1 -1
  370. package/dist/lime-elements/p-Bvyt2bmV.js +1 -0
  371. package/dist/lime-elements/{p-BgTwPGeH.js → p-CIf8aGSd.js} +1 -1
  372. package/dist/lime-elements/{p-C3hECvXE.js → p-ChagAaNf.js} +1 -1
  373. package/dist/lime-elements/p-DTcfed02.js +3 -0
  374. package/dist/lime-elements/p-DWMfAkOE.js +1 -0
  375. package/dist/lime-elements/{p-BY85K-4J.js → p-DqQOawxc.js} +1 -1
  376. package/dist/lime-elements/p-I0PrvthC.js +7 -0
  377. package/dist/lime-elements/p-N9vxZMhe.js +1 -0
  378. package/dist/lime-elements/{p-DsDkl4Sy.js → p-ZDFVISfu.js} +3 -3
  379. package/dist/lime-elements/p-_UXAljNc.js +1 -0
  380. package/dist/lime-elements/p-a1c69e0c.entry.js +1 -0
  381. package/dist/lime-elements/{p-2daf0482.entry.js → p-a1d1470c.entry.js} +1 -1
  382. package/dist/lime-elements/{p-cef66e53.entry.js → p-a2e6f16e.entry.js} +1 -1
  383. package/dist/lime-elements/p-a550ba18.entry.js +1 -0
  384. package/dist/lime-elements/{p-d146feda.entry.js → p-a65eb58e.entry.js} +1 -1
  385. package/dist/lime-elements/p-ab8021b9.entry.js +1 -0
  386. package/dist/lime-elements/{p-03fb2603.entry.js → p-b22b52a1.entry.js} +1 -1
  387. package/dist/lime-elements/p-b6c0dc91.entry.js +23 -0
  388. package/dist/lime-elements/{p-c2a3ca7c.entry.js → p-b6d39581.entry.js} +1 -1
  389. package/dist/lime-elements/{p-8475a3b8.entry.js → p-c439b68b.entry.js} +1 -1
  390. package/dist/lime-elements/p-d19c7a3a.entry.js +1 -0
  391. package/dist/lime-elements/{p-7cbf50fc.entry.js → p-d1e5dd12.entry.js} +1 -1
  392. package/dist/lime-elements/p-de4719a6.entry.js +1 -0
  393. package/dist/lime-elements/{p-b81a2728.entry.js → p-e02e2c5f.entry.js} +1 -1
  394. package/dist/lime-elements/{p-d351b9ae.entry.js → p-e6a34047.entry.js} +1 -1
  395. package/dist/lime-elements/p-eF09GxA_.js +1 -0
  396. package/dist/lime-elements/{p-8fa9c9ea.entry.js → p-ee719744.entry.js} +1 -1
  397. package/dist/lime-elements/{p-d3bd4b80.entry.js → p-f04e2897.entry.js} +3 -3
  398. package/dist/lime-elements/p-f3cae1e7.entry.js +1 -0
  399. package/dist/lime-elements/{p-8115da75.entry.js → p-f4a0b1bc.entry.js} +1 -1
  400. package/dist/lime-elements/{p-4855dc9b.entry.js → p-f82f72e7.entry.js} +1 -1
  401. package/dist/lime-elements/{p-2d84ea04.entry.js → p-f97ec7a5.entry.js} +1 -1
  402. package/dist/lime-elements/{p-21109d9b.entry.js → p-fdd674fc.entry.js} +1 -1
  403. package/dist/lime-elements/{p-459eea13.entry.js → p-fdec09e9.entry.js} +1 -1
  404. package/dist/lime-elements/{p-2f57c3fa.entry.js → p-fe492ff3.entry.js} +1 -1
  405. package/dist/lime-elements/{p-65cded0e.entry.js → p-ff1a8b2e.entry.js} +1 -1
  406. package/dist/types/components/chip-set/chip-set-input-helpers.d.ts +1 -1
  407. package/dist/types/components/markdown/markdown-exporter.d.ts +15 -0
  408. package/dist/types/components/markdown/markdown.d.ts +19 -0
  409. package/dist/types/components/pagination/jump/pagination-jump.d.ts +1 -1
  410. package/dist/types/components/scroller/scroller.d.ts +67 -0
  411. package/dist/types/components/tab-bar/tab-bar.d.ts +13 -16
  412. package/dist/types/components.d.ts +138 -0
  413. package/dist/types/global/icon-cache/factory.d.ts +2 -2
  414. package/dist/types/global/shared-types/custom-element.types.d.ts +25 -0
  415. package/dist/types/global/translations.d.ts +2 -2
  416. package/package.json +18 -12
  417. package/dist/lime-elements/p-05afb316.entry.js +0 -1
  418. package/dist/lime-elements/p-10594468.entry.js +0 -1
  419. package/dist/lime-elements/p-19344984.entry.js +0 -13
  420. package/dist/lime-elements/p-1e93473a.entry.js +0 -1
  421. package/dist/lime-elements/p-26c5c6b9.entry.js +0 -1
  422. package/dist/lime-elements/p-452b9b01.entry.js +0 -1
  423. package/dist/lime-elements/p-4aae63bd.entry.js +0 -1
  424. package/dist/lime-elements/p-507cc8a1.entry.js +0 -159
  425. package/dist/lime-elements/p-531b6a64.entry.js +0 -1
  426. package/dist/lime-elements/p-54793c06.entry.js +0 -1
  427. package/dist/lime-elements/p-5d974afa.entry.js +0 -1
  428. package/dist/lime-elements/p-66b125f2.entry.js +0 -1
  429. package/dist/lime-elements/p-6d5b23ad.entry.js +0 -1
  430. package/dist/lime-elements/p-7e212fa7.entry.js +0 -1
  431. package/dist/lime-elements/p-82696d24.entry.js +0 -1
  432. package/dist/lime-elements/p-9ac39039.entry.js +0 -1
  433. package/dist/lime-elements/p-9b631363.entry.js +0 -1
  434. package/dist/lime-elements/p-C9xHOCE_.js +0 -7
  435. package/dist/lime-elements/p-DMNtoJ8I.js +0 -1
  436. package/dist/lime-elements/p-DQJU9gzh.js +0 -1
  437. package/dist/lime-elements/p-DpJgXIWf.js +0 -1
  438. package/dist/lime-elements/p-a1de9bbe.entry.js +0 -1
  439. package/dist/lime-elements/p-a71f6e87.entry.js +0 -67
  440. package/dist/lime-elements/p-bd7b3f8e.entry.js +0 -1
  441. package/dist/lime-elements/p-be8610ff.entry.js +0 -1
  442. package/dist/lime-elements/p-c72e5007.entry.js +0 -1
  443. package/dist/lime-elements/p-cafec335.entry.js +0 -1
  444. package/dist/lime-elements/p-d6dadc61.entry.js +0 -1
  445. package/dist/lime-elements/p-d93b7b9f.entry.js +0 -23
  446. package/dist/lime-elements/p-pk5KIdKH.js +0 -1
  447. package/dist/lime-elements/p-u_sd2HMb.js +0 -1
  448. package/dist/lime-elements/p-zo6O9LC9.js +0 -3
  449. /package/dist/lime-elements/{p-JbKhhoXs.js → p-BrjD-ITe.js} +0 -0
  450. /package/dist/lime-elements/{p-BxrRWYts.js → p-DjmlD0Mw.js} +0 -0
  451. /package/dist/lime-elements/{p-BTSG--2-.js → p-Dv2HOgWN.js} +0 -0
@@ -45,7 +45,7 @@ export class ElementPool {
45
45
  }
46
46
  createElement(name) {
47
47
  const element = this.document.createElement(name);
48
- if (!(name in this.pool)) {
48
+ if (!Object.hasOwn(this.pool, name)) {
49
49
  this.pool[name] = [];
50
50
  }
51
51
  this.pool[name].push(element);
@@ -50,19 +50,20 @@ export class TableSelection {
50
50
  return this.getTable().getRow(item).getData();
51
51
  };
52
52
  this.updateRowSelectors = (changeSet) => {
53
- for (const row of changeSet.indexes.map(this.getRowByIndex))
54
- this.updateRowSelector(row, changeSet.selected);
53
+ for (const index of changeSet.indexes) {
54
+ this.updateRowSelector(this.getRowByIndex(index), changeSet.selected);
55
+ }
55
56
  };
56
57
  this.updateRowSelector = (row, checked) => {
57
58
  // Look up by class instead of cell index: when `movableRows` is
58
59
  // enabled, the drag-handle column occupies index 0 and the
59
60
  // row-selector shifts to index 1. Keep the `.limel-table--row-selector`
60
61
  // class in sync with `getRowSelectorColumnDefinition` if renamed.
61
- const checkBox = row
62
+ const checkbox = row
62
63
  .getElement()
63
64
  .querySelector(`.limel-table--row-selector ${LIMEL_CHECKBOX}`);
64
- if (checkBox) {
65
- checkBox.checked = checked;
65
+ if (checkbox) {
66
+ checkbox.checked = checked;
66
67
  }
67
68
  };
68
69
  this.getActiveRows = () => {
@@ -419,15 +419,8 @@
419
419
  box-sizing: border-box;
420
420
  border: 1px solid #2975DD;
421
421
  }
422
- .tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after {
423
- content: "";
424
- position: absolute;
425
- right: -3px;
426
- bottom: -3px;
427
- width: 6px;
428
- height: 6px;
429
- background-color: #2975DD;
430
- border-radius: 999px;
422
+ .tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-fill-preview {
423
+ border-style: dashed;
431
424
  }
432
425
  .tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active {
433
426
  position: absolute;
@@ -927,6 +920,18 @@
927
920
  color: #d00;
928
921
  }
929
922
 
923
+ .tabulator-range-fill-handle {
924
+ position: absolute;
925
+ right: -3px;
926
+ bottom: -3px;
927
+ width: 6px;
928
+ height: 6px;
929
+ background-color: #2975DD;
930
+ border-radius: 999px;
931
+ cursor: crosshair;
932
+ pointer-events: auto;
933
+ }
934
+
930
935
  .tabulator-toggle {
931
936
  box-sizing: border-box;
932
937
  display: flex;
@@ -1084,16 +1089,9 @@
1084
1089
  left: 8px;
1085
1090
  right: initial;
1086
1091
  }
1087
- .tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after {
1088
- content: "";
1089
- position: absolute;
1092
+ .tabulator.tabulator-rtl .tabulator-range-fill-handle {
1090
1093
  left: -3px;
1091
1094
  right: initial;
1092
- bottom: -3px;
1093
- width: 6px;
1094
- height: 6px;
1095
- background-color: #2975DD;
1096
- border-radius: 999px;
1097
1095
  }
1098
1096
  .tabulator.tabulator-rtl .tabulator-row .tabulator-cell {
1099
1097
  border-right: initial;
@@ -185,10 +185,7 @@ export class Table {
185
185
  this.refreshRemotePaginator();
186
186
  }
187
187
  pageChanged() {
188
- if (!this.tabulator) {
189
- return;
190
- }
191
- if (this.tabulator.getPage() === this.page) {
188
+ if (!this.tabulator || this.tabulator.getPage() === this.page) {
192
189
  return;
193
190
  }
194
191
  this.tabulator.setPage(this.page);
@@ -204,7 +201,7 @@ export class Table {
204
201
  const oldIds = this.getRowIds(oldData);
205
202
  const shouldReplace = !this.areEqualIds(newIds, oldIds) ||
206
203
  !this.isSameOrder(newIds, oldIds);
207
- setTimeout(() => {
204
+ setTimeout(async () => {
208
205
  if (!this.tabulator || !this.initialized) {
209
206
  return;
210
207
  }
@@ -216,19 +213,18 @@ export class Table {
216
213
  }
217
214
  if (!areRowsEqual(newData, oldData)) {
218
215
  const patched = this.fillMissingFields(newData, oldData);
219
- this.tabulator.updateData(patched).then(() => {
220
- if (!this.tabulator) {
221
- return;
222
- }
223
- this.reformatChangedRows(newData, oldData);
224
- this.setSelection();
225
- });
216
+ await this.tabulator.updateData(patched);
217
+ if (!this.tabulator) {
218
+ return;
219
+ }
220
+ this.reformatChangedRows(newData, oldData);
221
+ this.setSelection();
226
222
  return;
227
223
  }
228
224
  if (newData.length > 0) {
229
225
  this.tabulator.updateOrAddData(newData);
230
226
  }
231
- });
227
+ }, 0);
232
228
  }
233
229
  updateColumns(newColumns, oldColumns) {
234
230
  if (!this.tabulator || !this.initialized) {
@@ -297,10 +293,11 @@ export class Table {
297
293
  if (this.hasWarnedOnConflictingMovableAndSortable) {
298
294
  return;
299
295
  }
300
- if (this.movableRows && this.sortableColumns) {
301
- console.warn('limel-table: combining `movableRows` with `sortableColumns` is not recommended. Sorting reorders the rows visually, so dragging a row to a new position will not match the underlying data order. Set `sortableColumns` to `false` when using `movableRows`.');
302
- this.hasWarnedOnConflictingMovableAndSortable = true;
296
+ if (!(this.movableRows && this.sortableColumns)) {
297
+ return;
303
298
  }
299
+ console.warn('limel-table: combining `movableRows` with `sortableColumns` is not recommended. Sorting reorders the rows visually, so dragging a row to a new position will not match the underlying data order. Set `sortableColumns` to `false` when using `movableRows`.');
300
+ this.hasWarnedOnConflictingMovableAndSortable = true;
304
301
  }
305
302
  updateSorting(newValue, oldValue) {
306
303
  if (!this.tabulator || !this.initialized) {
@@ -316,11 +313,12 @@ export class Table {
316
313
  }
317
314
  reformatChangedRows(newData, oldData) {
318
315
  for (const [i, newRow] of newData.entries()) {
319
- if (!!(newRow === null || newRow === void 0 ? void 0 : newRow.id) && !isEqual(newRow, oldData[i])) {
320
- const row = this.tabulator.getRow(newRow.id);
321
- if (row) {
322
- row.reformat();
323
- }
316
+ if (!(newRow === null || newRow === void 0 ? void 0 : newRow.id) || isEqual(newRow, oldData[i])) {
317
+ continue;
318
+ }
319
+ const row = this.tabulator.getRow(newRow.id);
320
+ if (row) {
321
+ row.reformat();
324
322
  }
325
323
  }
326
324
  }
@@ -330,7 +328,9 @@ export class Table {
330
328
  if (!oldRow) {
331
329
  return newRow;
332
330
  }
333
- const missingKeys = Object.keys(oldRow).filter((key) => !(key in newRow));
331
+ const missingKeys = Object.keys(oldRow).filter(
332
+ // eslint-disable-next-line unicorn/no-computed-property-existence-check -- `in` must also see inherited properties, e.g. getters on class instances
333
+ (key) => !(key in newRow));
334
334
  if (missingKeys.length === 0) {
335
335
  return newRow;
336
336
  }
@@ -453,10 +453,11 @@ export class Table {
453
453
  }
454
454
  }
455
455
  initTableSelection() {
456
- if (this.selectable) {
457
- this.tableSelection = new TableSelection(() => this.tabulator, this.pool, this.select, (key) => this.getTranslation(key));
458
- this.tableSelection.setSelection(this.selection);
456
+ if (!this.selectable) {
457
+ return;
459
458
  }
459
+ this.tableSelection = new TableSelection(() => this.tabulator, this.pool, this.select, (key) => this.getTranslation(key));
460
+ this.tableSelection.setSelection(this.selection);
460
461
  }
461
462
  setSelection() {
462
463
  if (!(this.tabulator && this.tableSelection)) {
@@ -501,10 +502,11 @@ export class Table {
501
502
  catch (_c) {
502
503
  return;
503
504
  }
504
- if (scrollContainer) {
505
- scrollContainer.scrollTop = scrollTop;
506
- scrollContainer.scrollLeft = scrollLeft;
505
+ if (!scrollContainer) {
506
+ return;
507
507
  }
508
+ scrollContainer.scrollTop = scrollTop;
509
+ scrollContainer.scrollLeft = scrollLeft;
508
510
  }
509
511
  /**
510
512
  * Tabulator's scrollable row container, inside `<limel-table>`'s
@@ -668,10 +670,11 @@ export class Table {
668
670
  this.changePage.emit(page);
669
671
  }
670
672
  handleRenderComplete() {
671
- if (this.tabulator && this.shouldSort) {
672
- this.shouldSort = false;
673
- this.tabulator.setSort(this.getInitialSorting());
673
+ if (!(this.tabulator && this.shouldSort)) {
674
+ return;
674
675
  }
676
+ this.shouldSort = false;
677
+ this.tabulator.setSort(this.getInitialSorting());
675
678
  }
676
679
  onClickRow(event, row) {
677
680
  if (row.getPosition === undefined) {
@@ -690,8 +693,9 @@ export class Table {
690
693
  this.activate.emit(this.activeRow);
691
694
  }
692
695
  formatRows() {
693
- // eslint-disable-next-line unicorn/no-array-for-each
694
- this.tabulator.getRows().forEach(this.formatRow);
696
+ for (const row of this.tabulator.getRows()) {
697
+ this.formatRow(row);
698
+ }
695
699
  }
696
700
  formatRow(row) {
697
701
  if (this.isActiveRow(row)) {
@@ -703,11 +707,12 @@ export class Table {
703
707
  const interactiveFeedbackElement = row
704
708
  .getElement()
705
709
  .querySelectorAll('.interactive-feedback');
706
- if (interactiveFeedbackElement.length === 0) {
707
- const element = row.getElement().ownerDocument.createElement('div');
708
- element.classList.add('interactive-feedback');
709
- row.getElement().prepend(element);
710
+ if (interactiveFeedbackElement.length > 0) {
711
+ return;
710
712
  }
713
+ const element = row.getElement().ownerDocument.createElement('div');
714
+ element.classList.add('interactive-feedback');
715
+ row.getElement().prepend(element);
711
716
  }
712
717
  isActiveRow(row) {
713
718
  var _a;
@@ -752,13 +757,13 @@ export class Table {
752
757
  render() {
753
758
  var _a, _b;
754
759
  const totalRows = (_a = this.totalRows) !== null && _a !== void 0 ? _a : this.data.length;
755
- return (h(Host, { key: 'd7b3d7357afd74a50a5096df20d2c8b80215c44e', class: {
760
+ return (h(Host, { key: 'fbc213159bb430688bad03e74964e10edfcd829d', class: {
756
761
  'has-low-density': this.layout === 'lowDensity',
757
762
  'has-pagination-on-top': this.paginationLocation === 'top',
758
763
  'has-aggregation': this.hasAggregation(this.columns),
759
764
  'has-pagination': totalRows > this.pageSize,
760
765
  'has-selection': (_b = this.tableSelection) === null || _b === void 0 ? void 0 : _b.hasSelection,
761
- } }, h("div", { key: '85d4a0102b483b4cc445aeef0f1e61eb7e6193a7', id: "tabulator-container" }, h("div", { key: '4cef0219d120662fae2f942478f375adb0df6e8b', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: '3a37a59de9728849a1fae6869e741a45f96ef327', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: '77b23fb41ad3b972f097c71ea333dfc8b97c46bf', id: "tabulator-table" }))));
766
+ } }, h("div", { key: 'cc988b86f74549d7ad773e748fef7cd92345efa5', id: "tabulator-container" }, h("div", { key: 'fd765d0050979609eaf4b9192f74b0abcf2cc0bd', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: '8416fbae6d90b71ee9151f7c28450373a685fc99', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: '52aa28d0e575d8da169b8c6bb84d93b6f73f9a12', id: "tabulator-table" }))));
762
767
  }
763
768
  renderSelectAll() {
764
769
  var _a, _b, _c;
@@ -93,22 +93,23 @@ export class TextEditorLinkMenu {
93
93
  this.focusOnLinkInput();
94
94
  }
95
95
  focusOnLinkInput() {
96
- if (this.linkInput) {
97
- const inputField = this.linkInput.shadowRoot.querySelector('input');
98
- if (inputField) {
99
- requestAnimationFrame(() => {
100
- inputField.focus();
101
- });
102
- }
96
+ if (!this.linkInput) {
97
+ return;
98
+ }
99
+ const inputField = this.linkInput.shadowRoot.querySelector('input');
100
+ if (inputField) {
101
+ requestAnimationFrame(() => {
102
+ inputField.focus();
103
+ });
103
104
  }
104
105
  }
105
106
  render() {
106
107
  var _a, _b;
107
108
  const isValid = this.isValid(this.link.href);
108
109
  return [
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" })),
110
+ h("limel-input-field", { key: '49edffd1f2b8dbc6fdb6824251541883f8a96d44', 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 }),
111
+ h("limel-input-field", { key: '8aafc8d1496b9d27484e4a4e862b247dfc86b4bc', 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) }),
112
+ h("div", { key: '39cc9d707d8d9aa15458b78e23905fba7af2eee6', class: "actions" }, h("limel-button", { key: '220e2ac8c3984b9d49dab3f2a5f94be025de448b', label: this.getTranslation('cancel'), onClick: this.handleCancel }), h("limel-button", { key: '23369649c3ef9fbf5bfeb38b986baa0271f2efe6', primary: true, label: this.getTranslation('save'), disabled: !isValid, onClick: this.handleSave, ref: (el) => (this.saveButton = el), slot: "button" })),
112
113
  ];
113
114
  }
114
115
  static get is() { return "limel-text-editor-link-menu"; }
@@ -234,7 +234,7 @@ const convertListsAndWrapRuns = (tr, state, targetType, startIndex, endIndex) =>
234
234
  const inRange = i >= startIndex && i <= endIndex;
235
235
  const isList = isListNode(child, state.schema);
236
236
  if (inRange && child.type === state.schema.nodes.paragraph) {
237
- runStart = runStart !== null && runStart !== void 0 ? runStart : pos;
237
+ runStart !== null && runStart !== void 0 ? runStart : (runStart = pos);
238
238
  runEnd = pos + child.nodeSize;
239
239
  }
240
240
  else if (runStart !== null && runEnd !== null) {
@@ -77,17 +77,13 @@ const toggleNodeType = (schema, type, attrs = {}, shouldWrap = false) => {
77
77
  }
78
78
  return true;
79
79
  }
80
- else {
81
- if (hasActiveWrap) {
82
- return lift(state, dispatch);
83
- }
84
- if (shouldWrap) {
85
- return wrapIn(nodeType, attrs)(state, dispatch);
86
- }
87
- else {
88
- return setBlockType(nodeType, attrs)(state, dispatch);
89
- }
80
+ if (hasActiveWrap) {
81
+ return lift(state, dispatch);
82
+ }
83
+ if (shouldWrap) {
84
+ return wrapIn(nodeType, attrs)(state, dispatch);
90
85
  }
86
+ return setBlockType(nodeType, attrs)(state, dispatch);
91
87
  }
92
88
  return false;
93
89
  };
@@ -61,11 +61,12 @@ const replaceImageNodeByFileInfoId = (view, fileInfoId, buildNode) => {
61
61
  if (found) {
62
62
  return false;
63
63
  }
64
- if (node.attrs.fileInfoId === fileInfoId) {
65
- tr.replaceWith(pos, pos + node.nodeSize, buildNode(node));
66
- found = true;
67
- return false;
64
+ if (node.attrs.fileInfoId !== fileInfoId) {
65
+ return true;
68
66
  }
67
+ tr.replaceWith(pos, pos + node.nodeSize, buildNode(node));
68
+ found = true;
69
+ return false;
69
70
  });
70
71
  if (found) {
71
72
  dispatch(tr);
@@ -137,24 +138,20 @@ const isImageNode = (node) => {
137
138
  if (node.type.name === 'image') {
138
139
  return true;
139
140
  }
140
- let found = false;
141
- // eslint-disable-next-line unicorn/no-array-for-each
142
- node.content.forEach((child) => {
141
+ for (const child of node.children) {
143
142
  if (isImageNode(child)) {
144
- found = true;
143
+ return true;
145
144
  }
146
- });
147
- return found;
145
+ }
146
+ return false;
148
147
  }
149
- else if (node instanceof Fragment) {
150
- let found = false;
151
- // eslint-disable-next-line unicorn/no-array-for-each
152
- node.forEach((child) => {
148
+ if (node instanceof Fragment) {
149
+ for (const child of node.content) {
153
150
  if (isImageNode(child)) {
154
- found = true;
151
+ return true;
155
152
  }
156
- });
157
- return found;
153
+ }
154
+ return false;
158
155
  }
159
156
  return false;
160
157
  };
@@ -165,8 +162,7 @@ const isImageNode = (node) => {
165
162
  */
166
163
  const filterImageNodes = (fragment) => {
167
164
  const filteredChildren = [];
168
- // eslint-disable-next-line unicorn/no-array-for-each
169
- fragment.forEach((child) => {
165
+ for (const child of fragment.content) {
170
166
  if (!isImageNode(child)) {
171
167
  if (child.content.size > 0) {
172
168
  const filteredContent = filterImageNodes(child.content);
@@ -177,7 +173,7 @@ const filterImageNodes = (fragment) => {
177
173
  filteredChildren.push(child);
178
174
  }
179
175
  }
180
- });
176
+ }
181
177
  return Fragment.fromArray(filteredChildren);
182
178
  };
183
179
  /**
@@ -217,27 +213,28 @@ function handlePastedImages(view, clipboardData, inlineImages) {
217
213
  let isImageFilePasted = false;
218
214
  const files = [...(clipboardData.files || [])];
219
215
  for (const file of files) {
220
- if (isImageFile(file, clipboardData)) {
221
- isImageFilePasted = true;
222
- const reader = new FileReader();
223
- reader.onloadend = () => {
224
- const base64Data = reader.result;
225
- const fileInfo = createFileInfo(file);
226
- if (inlineImages) {
227
- // Once inline images are configured they own the paste
228
- // lifecycle; never fall back to the legacy imagePasted
229
- // event. Without an upload handler the paste is a no-op.
230
- if (inlineImages.upload) {
231
- runInlineImageUpload(view, file, base64Data, fileInfo, inlineImages);
232
- }
233
- return;
234
- }
235
- view.dom.dispatchEvent(new CustomEvent('imagePasted', {
236
- detail: imageInserterFactory(view, base64Data, fileInfo),
237
- }));
238
- };
239
- reader.readAsDataURL(file);
216
+ if (!isImageFile(file, clipboardData)) {
217
+ continue;
240
218
  }
219
+ isImageFilePasted = true;
220
+ const reader = new FileReader();
221
+ reader.onloadend = () => {
222
+ const base64Data = reader.result;
223
+ const fileInfo = createFileInfo(file);
224
+ if (inlineImages) {
225
+ // Once inline images are configured they own the paste
226
+ // lifecycle; never fall back to the legacy imagePasted
227
+ // event. Without an upload handler the paste is a no-op.
228
+ if (inlineImages.upload) {
229
+ runInlineImageUpload(view, file, base64Data, fileInfo, inlineImages);
230
+ }
231
+ return;
232
+ }
233
+ view.dom.dispatchEvent(new CustomEvent('imagePasted', {
234
+ detail: imageInserterFactory(view, base64Data, fileInfo),
235
+ }));
236
+ };
237
+ reader.readAsDataURL(file);
241
238
  }
242
239
  return isImageFilePasted;
243
240
  }
@@ -232,7 +232,8 @@ function createImageParseDOM(inlineImages) {
232
232
  return rules;
233
233
  }
234
234
  function isEditorImageState(state) {
235
- return state === 'loading' || state === 'failed' || state === 'success';
235
+ const states = ['loading', 'failed', 'success'];
236
+ return states.includes(state);
236
237
  }
237
238
  function getOrCreateImageElement(fileInfoId, node) {
238
239
  let img = imageCache.get(fileInfoId);
@@ -14,12 +14,11 @@ const updateLink = (view, updateLinkCallback) => {
14
14
  const fromInNode = Math.max(0, from - pos);
15
15
  const toInNode = Math.min(node.text.length, to - pos);
16
16
  text += node.text.slice(fromInNode, toInNode);
17
- // eslint-disable-next-line unicorn/no-array-for-each
18
- node.marks.forEach((mark) => {
17
+ for (const mark of node.marks) {
19
18
  if (mark.type.name === 'link') {
20
19
  href = mark.attrs.href;
21
20
  }
22
- });
21
+ }
23
22
  });
24
23
  if (updateLinkCallback) {
25
24
  updateLinkCallback(text, href);
@@ -36,8 +35,8 @@ const findStart = (doc, pos, href) => {
36
35
  while (pos > 0) {
37
36
  const node = doc.nodeAt(pos - 1);
38
37
  if (!(node === null || node === void 0 ? void 0 : node.isText) ||
39
- !node.marks.some((mark) => mark.type.name === EditorMenuTypes.Link &&
40
- mark.attrs.href === href)) {
38
+ node.marks.every((mark) => mark.type.name !== EditorMenuTypes.Link ||
39
+ mark.attrs.href !== href)) {
41
40
  break;
42
41
  }
43
42
  pos--;
@@ -55,8 +54,8 @@ const findEnd = (doc, pos, href) => {
55
54
  while (pos < doc.content.size) {
56
55
  const node = doc.nodeAt(pos);
57
56
  if (!(node === null || node === void 0 ? void 0 : node.isText) ||
58
- !node.marks.some((mark) => mark.type.name === EditorMenuTypes.Link &&
59
- mark.attrs.href === href)) {
57
+ node.marks.every((mark) => mark.type.name !== EditorMenuTypes.Link ||
58
+ mark.attrs.href !== href)) {
60
59
  break;
61
60
  }
62
61
  pos++;
@@ -192,16 +191,17 @@ const createNodesWithLinksAndBreaks = (text, schema) => {
192
191
  if (line.length > 0) {
193
192
  nodes.push(...createNodesWithLinks(line, schema));
194
193
  }
195
- if (index < lines.length - 1) {
196
- const hb = schema.nodes.hard_break;
197
- if (hb) {
198
- nodes.push(hb.create());
199
- }
200
- else {
201
- // Fallback: if schema lacks hard_break, defer to default paste behavior
202
- // (Do NOT throw; keep behavior stable across versions)
203
- console.warn('hard_break node not found in schema');
204
- }
194
+ if (index >= lines.length - 1) {
195
+ continue;
196
+ }
197
+ const hb = schema.nodes.hard_break;
198
+ if (hb) {
199
+ nodes.push(hb.create());
200
+ }
201
+ else {
202
+ // Fallback: if schema lacks hard_break, defer to default paste behavior
203
+ // (Do NOT throw; keep behavior stable across versions)
204
+ console.warn('hard_break node not found in schema');
205
205
  }
206
206
  }
207
207
  return nodes;
@@ -338,10 +338,11 @@ export const createLinkPlugin = (updateLinkCallback) => {
338
338
  }
339
339
  // Prevent unhandled navigation and bubbling for link clicks
340
340
  const link = event.target.closest('a');
341
- if (link) {
342
- event.preventDefault();
343
- event.stopPropagation();
341
+ if (!link) {
342
+ return;
344
343
  }
344
+ event.preventDefault();
345
+ event.stopPropagation();
345
346
  },
346
347
  },
347
348
  },
@@ -7,7 +7,7 @@ export const getMenuItemStates = (menuTypes, menuCommandFactory, view) => {
7
7
  const allowedTypes = {};
8
8
  for (const type of menuTypes) {
9
9
  const command = menuCommandFactory.getCommand(type);
10
- activeTypes[type] = !!((_a = command === null || command === void 0 ? void 0 : command.active) === null || _a === void 0 ? void 0 : _a.call(command, view.state)) || false;
10
+ activeTypes[type] = !!((_a = command === null || command === void 0 ? void 0 : command.active) === null || _a === void 0 ? void 0 : _a.call(command, view.state));
11
11
  allowedTypes[type] = !!((_c = (_b = command === null || command === void 0 ? void 0 : command.allowed) === null || _b === void 0 ? void 0 : _b.call(command, view.state)) !== null && _c !== void 0 ? _c : true);
12
12
  }
13
13
  return { active: activeTypes, allowed: allowedTypes };
@@ -28,11 +28,12 @@ export const createMenuStateTrackingPlugin = (menuTypes, menuCommandFactory, upd
28
28
  update: (view) => {
29
29
  const oldItemStates = actionBarPluginKey.getState(view.state);
30
30
  const menuItemStates = getMenuItemStates(menuTypes, menuCommandFactory, view);
31
- if (!isEqual(oldItemStates, menuItemStates)) {
32
- const tr = view.state.tr.setMeta(actionBarPluginKey, menuItemStates);
33
- view.dispatch(tr);
34
- updateCallback(menuItemStates.active, menuItemStates.allowed);
31
+ if (isEqual(oldItemStates, menuItemStates)) {
32
+ return;
35
33
  }
34
+ const tr = view.state.tr.setMeta(actionBarPluginKey, menuItemStates);
35
+ view.dispatch(tr);
36
+ updateCallback(menuItemStates.active, menuItemStates.allowed);
36
37
  },
37
38
  }),
38
39
  });
@@ -5,20 +5,21 @@ export const detectTriggerRemoval = (transaction, activeTrigger, resetActiveTrig
5
5
  return false;
6
6
  }
7
7
  for (const step of transaction.steps) {
8
- if (step instanceof ReplaceStep) {
9
- const { from, to, slice } = step; // Access properties specific to ReplaceStep
10
- // Check if the step affects the trigger position
11
- if (from <= activeTrigger.position &&
12
- to >= activeTrigger.position) {
13
- const text = slice.content.textBetween(0, slice.content.size, '');
14
- // Check if the trigger character has been removed
15
- // `text` is the text after the step has been applied
16
- if (!text.includes(activeTrigger.character)) {
17
- resetActiveTrigger();
18
- sendTriggerEvent('triggerStop', view, contentConverter, activeTrigger, '');
19
- return true;
20
- }
21
- }
8
+ if (!(step instanceof ReplaceStep)) {
9
+ continue;
10
+ }
11
+ const { from, to, slice } = step; // Access properties specific to ReplaceStep
12
+ // Check if the step affects the trigger position
13
+ if (!(from <= activeTrigger.position && to >= activeTrigger.position)) {
14
+ continue;
15
+ }
16
+ const text = slice.content.textBetween(0, slice.content.size, '');
17
+ // Check if the trigger character has been removed
18
+ // `text` is the text after the step has been applied
19
+ if (!text.includes(activeTrigger.character)) {
20
+ resetActiveTrigger();
21
+ sendTriggerEvent('triggerStop', view, contentConverter, activeTrigger, '');
22
+ return true;
22
23
  }
23
24
  }
24
25
  return false;