@limetech/lime-elements 40.6.0 → 40.6.2

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 (457) hide show
  1. package/CHANGELOG.md +15 -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/{component-CFk7Dfoi.js → component-Cz24PdGy.js} +3 -3
  5. package/dist/cjs/{component-BrNWuGdj.js → component-DNiVfYHV.js} +1 -1
  6. package/dist/cjs/{component-y8swlNNR.js → component-GW2n79GH.js} +1 -1
  7. package/dist/cjs/{component-UyqdiWGc.js → component-xiw46M1b.js} +1 -1
  8. package/dist/cjs/{files-DI4jItxi.js → files-DpGigQ8k.js} +1 -1
  9. package/dist/cjs/{format-bytes-CpUKKU86.js → format-bytes-WTHVI718.js} +1 -4
  10. package/dist/cjs/{hotkeys-BtR8uxvl.js → hotkeys-D761KWnZ.js} +1 -0
  11. package/dist/cjs/{image-resize-CG2fitJT.js → image-resize-JlRLB97I.js} +1 -0
  12. package/dist/cjs/{image.template-DY7qwbuy.js → image.template-DlF-f23b.js} +1 -1
  13. package/dist/cjs/{index--B6-r0uo.js → index-BlsqxTB1.js} +1 -7
  14. package/dist/cjs/index.cjs.js +1 -1
  15. package/dist/cjs/{keycodes-k-EdzcMX.js → keycodes-BQ_AERli.js} +4 -0
  16. package/dist/cjs/{language-CaqPKPyW.js → language-v-MMS6ym.js} +1 -1
  17. package/dist/cjs/lime-elements.cjs.js +2 -2
  18. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +2 -2
  19. package/dist/cjs/limel-action-bar_3.cjs.entry.js +20 -18
  20. package/dist/cjs/limel-ai-avatar.cjs.entry.js +5 -5
  21. package/dist/cjs/limel-badge.cjs.entry.js +3 -3
  22. package/dist/cjs/limel-banner.cjs.entry.js +2 -2
  23. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +86 -86
  24. package/dist/cjs/limel-button-group.cjs.entry.js +3 -3
  25. package/dist/cjs/limel-button.cjs.entry.js +4 -4
  26. package/dist/cjs/limel-callout.cjs.entry.js +6 -6
  27. package/dist/cjs/limel-card.cjs.entry.js +8 -7
  28. package/dist/cjs/limel-chart.cjs.entry.js +5 -5
  29. package/dist/cjs/limel-checkbox.cjs.entry.js +12 -10
  30. package/dist/cjs/limel-chip-set.cjs.entry.js +35 -44
  31. package/dist/cjs/limel-chip_2.cjs.entry.js +10 -10
  32. package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
  33. package/dist/cjs/limel-code-diff.cjs.entry.js +25 -28
  34. package/dist/cjs/limel-code-editor.cjs.entry.js +17 -12
  35. package/dist/cjs/limel-collapsible-section.cjs.entry.js +8 -8
  36. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -3
  37. package/dist/cjs/limel-color-picker.cjs.entry.js +6 -5
  38. package/dist/cjs/limel-config.cjs.entry.js +3 -3
  39. package/dist/cjs/limel-date-picker.cjs.entry.js +12 -15
  40. package/dist/cjs/limel-dialog.cjs.entry.js +8 -11
  41. package/dist/cjs/limel-dock-button.cjs.entry.js +6 -11
  42. package/dist/cjs/limel-dock.cjs.entry.js +3 -3
  43. package/dist/cjs/limel-drag-handle.cjs.entry.js +6 -6
  44. package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-email-viewer.cjs.entry.js +11 -17
  46. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +11 -12
  47. package/dist/cjs/limel-file-viewer.cjs.entry.js +1098 -1146
  48. package/dist/cjs/limel-file.cjs.entry.js +17 -16
  49. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +100 -94
  50. package/dist/cjs/limel-flex-container.cjs.entry.js +2 -2
  51. package/dist/cjs/limel-form.cjs.entry.js +65 -50
  52. package/dist/cjs/limel-grid.cjs.entry.js +2 -2
  53. package/dist/cjs/limel-header.cjs.entry.js +2 -2
  54. package/dist/cjs/limel-help-content.cjs.entry.js +2 -2
  55. package/dist/cjs/limel-help.cjs.entry.js +3 -3
  56. package/dist/cjs/limel-helper-line_3.cjs.entry.js +14 -16
  57. package/dist/cjs/limel-hotkey_4.cjs.entry.js +23 -23
  58. package/dist/cjs/limel-icon-button.cjs.entry.js +4 -4
  59. package/dist/cjs/limel-icon.cjs.entry.js +15 -13
  60. package/dist/cjs/limel-info-tile.cjs.entry.js +10 -10
  61. package/dist/cjs/limel-list-item.cjs.entry.js +10 -10
  62. package/dist/cjs/limel-markdown.cjs.entry.js +25 -22
  63. package/dist/cjs/limel-masonry-layout.cjs.entry.js +6 -5
  64. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +3 -3
  65. package/dist/cjs/limel-pagination-jump.cjs.entry.js +18 -16
  66. package/dist/cjs/limel-pagination.cjs.entry.js +10 -9
  67. package/dist/cjs/limel-picker.cjs.entry.js +32 -30
  68. package/dist/cjs/limel-popover_2.cjs.entry.js +26 -22
  69. package/dist/cjs/limel-profile-picture.cjs.entry.js +12 -11
  70. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  71. package/dist/cjs/limel-progress-flow.cjs.entry.js +11 -10
  72. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +475 -407
  73. package/dist/cjs/limel-radio-button-group.cjs.entry.js +2 -2
  74. package/dist/cjs/limel-radio-button.cjs.entry.js +3 -3
  75. package/dist/cjs/limel-scroller.cjs.entry.js +180 -0
  76. package/dist/cjs/limel-select.cjs.entry.js +20 -20
  77. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  78. package/dist/cjs/limel-slider.cjs.entry.js +18 -27
  79. package/dist/cjs/limel-snackbar.cjs.entry.js +5 -5
  80. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  81. package/dist/cjs/limel-switch.cjs.entry.js +3 -3
  82. package/dist/cjs/limel-tab-bar.cjs.entry.js +235 -2036
  83. package/dist/cjs/limel-tab-panel.cjs.entry.js +12 -9
  84. package/dist/cjs/limel-table.cjs.entry.js +527 -106
  85. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +16 -15
  86. package/dist/cjs/limel-text-editor.cjs.entry.js +3 -3
  87. package/dist/cjs/loader.cjs.js +2 -2
  88. package/dist/cjs/{make-enter-clickable-NuTMC9MU.js → make-enter-clickable-BZHEWIJD.js} +19 -12
  89. package/dist/cjs/{markdown-exporter-9p7d3Q76.js → markdown-exporter-C-UW43FF.js} +1 -1
  90. package/dist/cjs/{markdown-parser-Cgv5Y9Z4.js → markdown-parser-ssDij8_l.js} +24 -22
  91. package/dist/cjs/{moment-CqRdiK10.js → moment-Cfsz2WF1.js} +1062 -833
  92. package/dist/cjs/{ponyfill-BgIFyUG5.js → ponyfill-CHp7Zocr.js} +0 -1
  93. package/dist/cjs/{random-string-BTzDB2ee.js → random-string-CFCtFh5l.js} +1 -0
  94. package/dist/cjs/{render-list-component-5ZKWpCnM.js → render-list-component-BtAliHQp.js} +3 -5
  95. package/dist/cjs/{sv-BSR4W58y.js → sv-Co78RX70.js} +31 -3
  96. package/dist/cjs/{translations-DFFpR6AZ.js → translations-CNTWud2a.js} +5 -8
  97. package/dist/collection/collection-manifest.json +1 -0
  98. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  99. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +8 -7
  100. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  101. package/dist/collection/components/action-bar/action-bar.js +6 -5
  102. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  103. package/dist/collection/components/badge/badge.js +2 -2
  104. package/dist/collection/components/banner/banner.js +1 -1
  105. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  106. package/dist/collection/components/button/button.js +2 -2
  107. package/dist/collection/components/button-group/button-group.js +1 -1
  108. package/dist/collection/components/callout/callout.js +1 -1
  109. package/dist/collection/components/card/card.js +6 -5
  110. package/dist/collection/components/checkbox/checkbox.js +9 -7
  111. package/dist/collection/components/checkbox/checkbox.template.js +1 -1
  112. package/dist/collection/components/chip/chip.js +1 -1
  113. package/dist/collection/components/chip-set/chip-set-input-helpers.js +18 -21
  114. package/dist/collection/components/chip-set/chip-set.js +7 -13
  115. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  116. package/dist/collection/components/code-diff/code-diff.js +19 -22
  117. package/dist/collection/components/code-diff/diff-engine.js +2 -2
  118. package/dist/collection/components/code-editor/code-editor.js +8 -3
  119. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  120. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  121. package/dist/collection/components/color-picker/color-picker.js +5 -4
  122. package/dist/collection/components/config/config.js +2 -2
  123. package/dist/collection/components/date-picker/date-picker.js +3 -6
  124. package/dist/collection/components/date-picker/flatpickr-adapter/deferred-destroy.js +4 -3
  125. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  126. package/dist/collection/components/date-picker/pickers/month-picker.js +40 -36
  127. package/dist/collection/components/date-picker/pickers/quarter-picker.js +35 -30
  128. package/dist/collection/components/date-picker/pickers/year-picker.js +16 -20
  129. package/dist/collection/components/dialog/dialog.js +4 -7
  130. package/dist/collection/components/dock/dock-button/dock-button.js +4 -9
  131. package/dist/collection/components/dock/dock.js +2 -2
  132. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  133. package/dist/collection/components/email-viewer/email-loader.js +14 -10
  134. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  135. package/dist/collection/components/email-viewer/sanitize-email-html.js +1 -4
  136. package/dist/collection/components/email-viewer/split-email-address-list.js +4 -10
  137. package/dist/collection/components/file/file.js +11 -10
  138. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  139. package/dist/collection/components/file-input/file-input.js +7 -8
  140. package/dist/collection/components/file-viewer/file-viewer.js +12 -9
  141. package/dist/collection/components/flex-container/flex-container.js +1 -1
  142. package/dist/collection/components/form/fields/schema-field.js +1 -1
  143. package/dist/collection/components/form/form.js +2 -5
  144. package/dist/collection/components/form/form.test-schemas.js +8 -10
  145. package/dist/collection/components/form/templates/array-field.js +7 -9
  146. package/dist/collection/components/form/templates/common.js +19 -19
  147. package/dist/collection/components/form/templates/object-field.js +1 -1
  148. package/dist/collection/components/form/validation-display.js +2 -2
  149. package/dist/collection/components/form/validators/format.js +1 -0
  150. package/dist/collection/components/form/widgets/code-editor.js +6 -9
  151. package/dist/collection/components/form/widgets/date-picker.js +1 -3
  152. package/dist/collection/components/grid/grid.js +1 -1
  153. package/dist/collection/components/header/header.js +1 -1
  154. package/dist/collection/components/help/help-content.js +1 -1
  155. package/dist/collection/components/help/help.js +2 -2
  156. package/dist/collection/components/helper-line/helper-line.js +3 -3
  157. package/dist/collection/components/hotkey/hotkey.js +1 -1
  158. package/dist/collection/components/icon/icon.js +11 -9
  159. package/dist/collection/components/icon-button/icon-button.js +1 -1
  160. package/dist/collection/components/info-tile/info-tile.js +9 -9
  161. package/dist/collection/components/input-field/input-field.js +11 -11
  162. package/dist/collection/components/list/list-renderer.js +5 -7
  163. package/dist/collection/components/list/list.js +2 -2
  164. package/dist/collection/components/list-item/list-item.js +2 -2
  165. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  166. package/dist/collection/components/markdown/hydrate-custom-elements.js +6 -5
  167. package/dist/collection/components/markdown/image-intersection-observer.js +9 -8
  168. package/dist/collection/components/markdown/image-markdown-plugin.js +9 -7
  169. package/dist/collection/components/markdown/link-markdown-plugin.js +11 -10
  170. package/dist/collection/components/markdown/markdown.js +6 -5
  171. package/dist/collection/components/markdown/remove-empty-paragraphs-plugin.js +4 -5
  172. package/dist/collection/components/masonry-layout/masonry-layout.js +5 -4
  173. package/dist/collection/components/menu/menu.js +48 -46
  174. package/dist/collection/components/menu-list/menu-list-renderer.js +8 -8
  175. package/dist/collection/components/menu-list/menu-list.js +1 -1
  176. package/dist/collection/components/menu-surface/menu-surface.js +6 -8
  177. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  178. package/dist/collection/components/pagination/jump/pagination-jump.js +13 -11
  179. package/dist/collection/components/pagination/pagination.js +5 -4
  180. package/dist/collection/components/picker/picker.js +25 -23
  181. package/dist/collection/components/popover/popover.js +13 -10
  182. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  183. package/dist/collection/components/portal/contains.js +9 -8
  184. package/dist/collection/components/portal/portal.js +16 -16
  185. package/dist/collection/components/profile-picture/profile-picture.js +4 -3
  186. package/dist/collection/components/progress-flow/progress-flow.js +10 -9
  187. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  188. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  189. package/dist/collection/components/scroller/scroller.css +317 -0
  190. package/dist/collection/components/scroller/scroller.js +284 -0
  191. package/dist/collection/components/select/select.js +13 -11
  192. package/dist/collection/components/select/select.template.js +1 -3
  193. package/dist/collection/components/slider/get-percentage-class.js +9 -18
  194. package/dist/collection/components/slider/slider.js +2 -2
  195. package/dist/collection/components/tab-bar/tab-bar.css +7 -289
  196. package/dist/collection/components/tab-bar/tab-bar.js +98 -128
  197. package/dist/collection/components/tab-panel/tab-panel.js +11 -8
  198. package/dist/collection/components/table/columns.js +1 -3
  199. package/dist/collection/components/table/element-pool.js +1 -1
  200. package/dist/collection/components/table/table-selection.js +6 -5
  201. package/dist/collection/components/table/table.css +15 -17
  202. package/dist/collection/components/table/table.js +44 -39
  203. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +11 -10
  204. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-command-utils/list-utils.js +1 -1
  205. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-commands.js +6 -10
  206. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/inserter.js +37 -40
  207. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/node.js +2 -1
  208. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/link/link-plugin.js +21 -20
  209. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/menu-state-tracking-plugin.js +6 -5
  210. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/trigger/factory-helpers/detect-trigger-removal.js +15 -14
  211. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +40 -34
  212. package/dist/collection/components/text-editor/text-editor.js +1 -1
  213. package/dist/collection/components/text-editor/utils/metadata-utils.js +1 -1
  214. package/dist/collection/components/text-editor/utils/plugin-factory.js +3 -3
  215. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  216. package/dist/collection/components/tooltip/tooltip.js +2 -2
  217. package/dist/collection/global/icon-cache/factory.js +2 -3
  218. package/dist/collection/global/icon-cache/in-memory-icon-cache.js +2 -0
  219. package/dist/collection/global/translations.js +1 -3
  220. package/dist/collection/translations/fr.js +3 -3
  221. package/dist/collection/util/adapt-color-contrast.js +1 -1
  222. package/dist/collection/util/files.js +1 -1
  223. package/dist/collection/util/format-bytes.js +1 -4
  224. package/dist/collection/util/hotkeys.js +1 -0
  225. package/dist/collection/util/image-resize.js +1 -0
  226. package/dist/collection/util/keyboard-navigation.js +144 -0
  227. package/dist/collection/util/keycodes.js +2 -0
  228. package/dist/collection/util/language.js +1 -1
  229. package/dist/collection/util/make-enter-clickable.js +19 -12
  230. package/dist/collection/util/random-string.js +1 -0
  231. package/dist/collection/util/render-list-component.js +2 -4
  232. package/dist/esm/{adapt-color-contrast-Dgcw_h7C.js → adapt-color-contrast-BQoih_t0.js} +1 -1
  233. package/dist/esm/{checkbox.template-Cx_3u92S.js → checkbox.template-IDyv2bgn.js} +2 -2
  234. package/dist/esm/{component-wGVqvUmL.js → component-CVihTrav.js} +3 -3
  235. package/dist/esm/{component-7QB0OUSF.js → component-CrjPGt1I.js} +1 -1
  236. package/dist/esm/{component-D4qgwaTf.js → component-CyFeUQ0l.js} +1 -1
  237. package/dist/esm/{component-B2Vy44Z3.js → component-kP1jCDLp.js} +1 -1
  238. package/dist/esm/{files-DnkFEKoB.js → files-CKnLqPDj.js} +1 -1
  239. package/dist/esm/{format-bytes-u_sd2HMb.js → format-bytes-24yUSW40.js} +1 -4
  240. package/dist/esm/{hotkeys-BxrRWYts.js → hotkeys-DjmlD0Mw.js} +1 -0
  241. package/dist/esm/{image-resize-BTSG--2-.js → image-resize-Dv2HOgWN.js} +1 -0
  242. package/dist/esm/{image.template-wqMwmOF-.js → image.template-BGjw97m_.js} +1 -1
  243. package/dist/esm/{index-Bnc9lzk2.js → index-BU9IJqli.js} +1 -7
  244. package/dist/esm/index.js +1 -1
  245. package/dist/esm/{keycodes-C4_9qUMP.js → keycodes-DQ5DmW_Y.js} +3 -1
  246. package/dist/esm/{language-C3hECvXE.js → language-ChagAaNf.js} +1 -1
  247. package/dist/esm/lime-elements.js +3 -3
  248. package/dist/esm/limel-3d-hover-effect-glow.entry.js +2 -2
  249. package/dist/esm/limel-action-bar_3.entry.js +20 -18
  250. package/dist/esm/limel-ai-avatar.entry.js +5 -5
  251. package/dist/esm/limel-badge.entry.js +3 -3
  252. package/dist/esm/limel-banner.entry.js +2 -2
  253. package/dist/esm/limel-breadcrumbs_6.entry.js +86 -86
  254. package/dist/esm/limel-button-group.entry.js +3 -3
  255. package/dist/esm/limel-button.entry.js +4 -4
  256. package/dist/esm/limel-callout.entry.js +6 -6
  257. package/dist/esm/limel-card.entry.js +8 -7
  258. package/dist/esm/limel-chart.entry.js +5 -5
  259. package/dist/esm/limel-checkbox.entry.js +12 -10
  260. package/dist/esm/limel-chip-set.entry.js +35 -44
  261. package/dist/esm/limel-chip_2.entry.js +10 -10
  262. package/dist/esm/limel-circular-progress.entry.js +2 -2
  263. package/dist/esm/limel-code-diff.entry.js +25 -28
  264. package/dist/esm/limel-code-editor.entry.js +17 -12
  265. package/dist/esm/limel-collapsible-section.entry.js +8 -8
  266. package/dist/esm/limel-color-picker-palette.entry.js +3 -3
  267. package/dist/esm/limel-color-picker.entry.js +6 -5
  268. package/dist/esm/limel-config.entry.js +3 -3
  269. package/dist/esm/limel-date-picker.entry.js +12 -15
  270. package/dist/esm/limel-dialog.entry.js +8 -11
  271. package/dist/esm/limel-dock-button.entry.js +6 -11
  272. package/dist/esm/limel-dock.entry.js +3 -3
  273. package/dist/esm/limel-drag-handle.entry.js +6 -6
  274. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  275. package/dist/esm/limel-email-viewer.entry.js +11 -17
  276. package/dist/esm/limel-file-dropzone_2.entry.js +11 -12
  277. package/dist/esm/limel-file-viewer.entry.js +1098 -1146
  278. package/dist/esm/limel-file.entry.js +17 -16
  279. package/dist/esm/limel-flatpickr-adapter.entry.js +100 -94
  280. package/dist/esm/limel-flex-container.entry.js +2 -2
  281. package/dist/esm/limel-form.entry.js +65 -50
  282. package/dist/esm/limel-grid.entry.js +2 -2
  283. package/dist/esm/limel-header.entry.js +2 -2
  284. package/dist/esm/limel-help-content.entry.js +2 -2
  285. package/dist/esm/limel-help.entry.js +3 -3
  286. package/dist/esm/limel-helper-line_3.entry.js +14 -16
  287. package/dist/esm/limel-hotkey_4.entry.js +23 -23
  288. package/dist/esm/limel-icon-button.entry.js +4 -4
  289. package/dist/esm/limel-icon.entry.js +15 -13
  290. package/dist/esm/limel-info-tile.entry.js +10 -10
  291. package/dist/esm/limel-list-item.entry.js +10 -10
  292. package/dist/esm/limel-markdown.entry.js +25 -22
  293. package/dist/esm/limel-masonry-layout.entry.js +6 -5
  294. package/dist/esm/limel-menu-item-meta.entry.js +3 -3
  295. package/dist/esm/limel-pagination-jump.entry.js +18 -16
  296. package/dist/esm/limel-pagination.entry.js +10 -9
  297. package/dist/esm/limel-picker.entry.js +32 -30
  298. package/dist/esm/limel-popover_2.entry.js +26 -22
  299. package/dist/esm/limel-profile-picture.entry.js +12 -11
  300. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  301. package/dist/esm/limel-progress-flow.entry.js +11 -10
  302. package/dist/esm/limel-prosemirror-adapter.entry.js +475 -407
  303. package/dist/esm/limel-radio-button-group.entry.js +2 -2
  304. package/dist/esm/limel-radio-button.entry.js +3 -3
  305. package/dist/esm/limel-scroller.entry.js +178 -0
  306. package/dist/esm/limel-select.entry.js +20 -20
  307. package/dist/esm/limel-shortcut.entry.js +1 -1
  308. package/dist/esm/limel-slider.entry.js +18 -27
  309. package/dist/esm/limel-snackbar.entry.js +5 -5
  310. package/dist/esm/limel-split-button.entry.js +1 -1
  311. package/dist/esm/limel-switch.entry.js +3 -3
  312. package/dist/esm/limel-tab-bar.entry.js +235 -2036
  313. package/dist/esm/limel-tab-panel.entry.js +12 -9
  314. package/dist/esm/limel-table.entry.js +527 -106
  315. package/dist/esm/limel-text-editor-link-menu.entry.js +16 -15
  316. package/dist/esm/limel-text-editor.entry.js +3 -3
  317. package/dist/esm/loader.js +3 -3
  318. package/dist/esm/{make-enter-clickable-BgTwPGeH.js → make-enter-clickable-CIf8aGSd.js} +19 -12
  319. package/dist/esm/{markdown-exporter--3_MaqwD.js → markdown-exporter-DblYRMhY.js} +1 -1
  320. package/dist/esm/{markdown-parser-DCf-3dKZ.js → markdown-parser-CAPDx7i8.js} +24 -22
  321. package/dist/esm/{moment-DQRNe8qq.js → moment-_DadZLWp.js} +1062 -833
  322. package/dist/esm/{ponyfill-ChRGk668.js → ponyfill-6YuZiAPi.js} +1 -1
  323. package/dist/esm/{random-string-JbKhhoXs.js → random-string-BrjD-ITe.js} +1 -0
  324. package/dist/esm/{render-list-component-cicbMp0l.js → render-list-component-J1IzNpbv.js} +3 -5
  325. package/dist/esm/{sv-CY-6-yEp.js → sv-DpsDSi7k.js} +31 -3
  326. package/dist/esm/{translations-DMtX4tTX.js → translations-Y4i8PVc9.js} +5 -8
  327. package/dist/lime-elements/index.esm.js +1 -1
  328. package/dist/lime-elements/lime-elements.esm.js +1 -1
  329. package/dist/lime-elements/p-02a06cf7.entry.js +1 -0
  330. package/dist/lime-elements/{p-3916b316.entry.js → p-03cb609e.entry.js} +1 -1
  331. package/dist/lime-elements/p-05038bbb.entry.js +1 -0
  332. package/dist/lime-elements/{p-835149c4.entry.js → p-0d6925f4.entry.js} +1 -1
  333. package/dist/lime-elements/p-0e13ec91.entry.js +1 -0
  334. package/dist/lime-elements/p-0ece667e.entry.js +1 -0
  335. package/dist/lime-elements/{p-19344984.entry.js → p-107654bb.entry.js} +4 -4
  336. package/dist/lime-elements/p-120ca628.entry.js +1 -0
  337. package/dist/lime-elements/{p-BwJGg-WI.js → p-1CgnIGyd.js} +4 -4
  338. package/dist/lime-elements/p-22fd1c87.entry.js +1 -0
  339. package/dist/lime-elements/p-24yUSW40.js +1 -0
  340. package/dist/lime-elements/{p-f717cd7a.entry.js → p-271662d4.entry.js} +1 -1
  341. package/dist/lime-elements/{p-c2a60508.entry.js → p-29c73bdf.entry.js} +1 -1
  342. package/dist/lime-elements/{p-deceda00.entry.js → p-2a902e77.entry.js} +1 -1
  343. package/dist/lime-elements/{p-d0cec424.entry.js → p-2b033dfa.entry.js} +1 -1
  344. package/dist/lime-elements/{p-acba5700.entry.js → p-2b2253d4.entry.js} +1 -1
  345. package/dist/lime-elements/p-2e33d2a4.entry.js +1 -0
  346. package/dist/lime-elements/p-32a050a3.entry.js +1 -0
  347. package/dist/lime-elements/{p-3735111e.entry.js → p-3cfe0eaf.entry.js} +1 -1
  348. package/dist/lime-elements/{p-fbcd99a3.entry.js → p-3d3bdf45.entry.js} +1 -1
  349. package/dist/lime-elements/p-45461ec5.entry.js +1 -0
  350. package/dist/lime-elements/p-45c39fb4.entry.js +1 -0
  351. package/dist/lime-elements/p-45fde7a1.entry.js +1 -0
  352. package/dist/lime-elements/p-48afa6b7.entry.js +1 -0
  353. package/dist/lime-elements/{p-f04f7c8e.entry.js → p-4a88d365.entry.js} +1 -1
  354. package/dist/lime-elements/p-4b75e653.entry.js +1 -0
  355. package/dist/lime-elements/{p-5698e493.entry.js → p-4ecbc9f4.entry.js} +1 -1
  356. package/dist/lime-elements/{p-2e568c56.entry.js → p-54a9f48f.entry.js} +1 -1
  357. package/dist/lime-elements/{p-0fba64eb.entry.js → p-5df21b25.entry.js} +2 -2
  358. package/dist/lime-elements/p-5e448070.entry.js +1 -0
  359. package/dist/lime-elements/{p-408c4dcb.entry.js → p-5f5c6e7d.entry.js} +1 -1
  360. package/dist/lime-elements/{p-052c3bc6.entry.js → p-681cb6de.entry.js} +1 -1
  361. package/dist/lime-elements/{p-ChRGk668.js → p-6YuZiAPi.js} +3 -3
  362. package/dist/lime-elements/{p-90df3e1b.entry.js → p-6d9961f7.entry.js} +1 -1
  363. package/dist/lime-elements/p-74060535.entry.js +159 -0
  364. package/dist/lime-elements/{p-74bd0c1a.entry.js → p-7b4351f6.entry.js} +1 -1
  365. package/dist/lime-elements/{p-3fd7e8aa.entry.js → p-7eab1341.entry.js} +1 -1
  366. package/dist/lime-elements/p-7fa85785.entry.js +23 -0
  367. package/dist/lime-elements/{p-35fa1063.entry.js → p-85318636.entry.js} +1 -1
  368. package/dist/lime-elements/{p-4ffbfc79.entry.js → p-8ac79ef5.entry.js} +1 -1
  369. package/dist/lime-elements/{p-4902fb3f.entry.js → p-9218fa6a.entry.js} +1 -1
  370. package/dist/lime-elements/{p-38b09f87.entry.js → p-9415411e.entry.js} +1 -1
  371. package/dist/lime-elements/{p-be8610ff.entry.js → p-958396b5.entry.js} +1 -1
  372. package/dist/lime-elements/p-95ccd9e7.entry.js +1 -0
  373. package/dist/lime-elements/p-970e0810.entry.js +1 -0
  374. package/dist/lime-elements/{p-cb407bef.entry.js → p-9afa4721.entry.js} +1 -1
  375. package/dist/lime-elements/{p-54dcf46f.entry.js → p-9c8c2fb7.entry.js} +1 -1
  376. package/dist/lime-elements/p-9e084e7c.entry.js +1 -0
  377. package/dist/lime-elements/{p-B8hoCfhT.js → p-B3YP9GOq.js} +1 -1
  378. package/dist/lime-elements/{p-Dgcw_h7C.js → p-BQoih_t0.js} +1 -1
  379. package/dist/lime-elements/{p-Bnc9lzk2.js → p-BU9IJqli.js} +1 -1
  380. package/dist/lime-elements/{p-BN1-aIOw.js → p-BZXGwiAr.js} +1 -1
  381. package/dist/lime-elements/{p-CGVVDGcv.js → p-Bkvc4sus.js} +1 -1
  382. package/dist/lime-elements/{p-BPzhuHcl.js → p-Bvyt2bmV.js} +1 -1
  383. package/dist/lime-elements/{p-DZkKQUDM.js → p-C1FFnUvf.js} +3 -3
  384. package/dist/lime-elements/{p-BgTwPGeH.js → p-CIf8aGSd.js} +1 -1
  385. package/dist/lime-elements/{p-C3hECvXE.js → p-ChagAaNf.js} +1 -1
  386. package/dist/lime-elements/{p-C9yTLqR8.js → p-CmtleG1y.js} +1 -1
  387. package/dist/lime-elements/{p-C4_9qUMP.js → p-DQ5DmW_Y.js} +1 -1
  388. package/dist/lime-elements/p-DTcfed02.js +3 -0
  389. package/dist/lime-elements/{p-BY85K-4J.js → p-DqQOawxc.js} +1 -1
  390. package/dist/lime-elements/{p-CC4Usa-Q.js → p-I0PrvthC.js} +1 -1
  391. package/dist/lime-elements/p-N9vxZMhe.js +1 -0
  392. package/dist/lime-elements/{p-DsDkl4Sy.js → p-ZDFVISfu.js} +3 -3
  393. package/dist/lime-elements/p-a1c69e0c.entry.js +1 -0
  394. package/dist/lime-elements/{p-2daf0482.entry.js → p-a1d1470c.entry.js} +1 -1
  395. package/dist/lime-elements/{p-cef66e53.entry.js → p-a2e6f16e.entry.js} +1 -1
  396. package/dist/lime-elements/{p-36ce4fbc.entry.js → p-a42f8c2d.entry.js} +1 -1
  397. package/dist/lime-elements/p-a550ba18.entry.js +1 -0
  398. package/dist/lime-elements/{p-d146feda.entry.js → p-a65eb58e.entry.js} +1 -1
  399. package/dist/lime-elements/{p-03fb2603.entry.js → p-b22b52a1.entry.js} +1 -1
  400. package/dist/lime-elements/{p-c2a3ca7c.entry.js → p-b6d39581.entry.js} +1 -1
  401. package/dist/lime-elements/{p-8475a3b8.entry.js → p-c439b68b.entry.js} +1 -1
  402. package/dist/lime-elements/p-d19c7a3a.entry.js +1 -0
  403. package/dist/lime-elements/{p-d3bd4b80.entry.js → p-d1b7cc55.entry.js} +3 -3
  404. package/dist/lime-elements/{p-7cbf50fc.entry.js → p-d1e5dd12.entry.js} +1 -1
  405. package/dist/lime-elements/p-de4719a6.entry.js +1 -0
  406. package/dist/lime-elements/{p-b81a2728.entry.js → p-e02e2c5f.entry.js} +1 -1
  407. package/dist/lime-elements/{p-d351b9ae.entry.js → p-e6a34047.entry.js} +1 -1
  408. package/dist/lime-elements/p-eF09GxA_.js +1 -0
  409. package/dist/lime-elements/{p-8fa9c9ea.entry.js → p-ee719744.entry.js} +1 -1
  410. package/dist/lime-elements/p-f3cae1e7.entry.js +1 -0
  411. package/dist/lime-elements/{p-8115da75.entry.js → p-f4a0b1bc.entry.js} +1 -1
  412. package/dist/lime-elements/{p-4855dc9b.entry.js → p-f82f72e7.entry.js} +1 -1
  413. package/dist/lime-elements/{p-2d84ea04.entry.js → p-f97ec7a5.entry.js} +1 -1
  414. package/dist/lime-elements/{p-21109d9b.entry.js → p-fdd674fc.entry.js} +1 -1
  415. package/dist/lime-elements/{p-459eea13.entry.js → p-fdec09e9.entry.js} +1 -1
  416. package/dist/lime-elements/{p-2f57c3fa.entry.js → p-fe492ff3.entry.js} +1 -1
  417. package/dist/lime-elements/{p-65cded0e.entry.js → p-ff1a8b2e.entry.js} +1 -1
  418. package/dist/types/components/chip-set/chip-set-input-helpers.d.ts +1 -1
  419. package/dist/types/components/pagination/jump/pagination-jump.d.ts +1 -1
  420. package/dist/types/components/scroller/scroller.d.ts +67 -0
  421. package/dist/types/components/tab-bar/tab-bar.d.ts +23 -21
  422. package/dist/types/components.d.ts +132 -0
  423. package/dist/types/global/icon-cache/factory.d.ts +2 -2
  424. package/dist/types/global/translations.d.ts +2 -2
  425. package/dist/types/util/keyboard-navigation.d.ts +105 -0
  426. package/dist/types/util/keycodes.d.ts +2 -0
  427. package/package.json +12 -12
  428. package/dist/lime-elements/p-1e93473a.entry.js +0 -1
  429. package/dist/lime-elements/p-20658306.entry.js +0 -1
  430. package/dist/lime-elements/p-26c5c6b9.entry.js +0 -1
  431. package/dist/lime-elements/p-452b9b01.entry.js +0 -1
  432. package/dist/lime-elements/p-4aae63bd.entry.js +0 -1
  433. package/dist/lime-elements/p-507cc8a1.entry.js +0 -159
  434. package/dist/lime-elements/p-531b6a64.entry.js +0 -1
  435. package/dist/lime-elements/p-54793c06.entry.js +0 -1
  436. package/dist/lime-elements/p-5d974afa.entry.js +0 -1
  437. package/dist/lime-elements/p-66b125f2.entry.js +0 -1
  438. package/dist/lime-elements/p-7e212fa7.entry.js +0 -1
  439. package/dist/lime-elements/p-82696d24.entry.js +0 -1
  440. package/dist/lime-elements/p-9ac39039.entry.js +0 -1
  441. package/dist/lime-elements/p-9b631363.entry.js +0 -1
  442. package/dist/lime-elements/p-DQJU9gzh.js +0 -1
  443. package/dist/lime-elements/p-DpJgXIWf.js +0 -1
  444. package/dist/lime-elements/p-a1de9bbe.entry.js +0 -1
  445. package/dist/lime-elements/p-a71f6e87.entry.js +0 -67
  446. package/dist/lime-elements/p-bd7b3f8e.entry.js +0 -1
  447. package/dist/lime-elements/p-c72e5007.entry.js +0 -1
  448. package/dist/lime-elements/p-cafec335.entry.js +0 -1
  449. package/dist/lime-elements/p-d6dadc61.entry.js +0 -1
  450. package/dist/lime-elements/p-d93b7b9f.entry.js +0 -23
  451. package/dist/lime-elements/p-dc9cd793.entry.js +0 -1
  452. package/dist/lime-elements/p-dd62042a.entry.js +0 -1
  453. package/dist/lime-elements/p-u_sd2HMb.js +0 -1
  454. package/dist/lime-elements/p-zo6O9LC9.js +0 -3
  455. /package/dist/lime-elements/{p-JbKhhoXs.js → p-BrjD-ITe.js} +0 -0
  456. /package/dist/lime-elements/{p-BxrRWYts.js → p-DjmlD0Mw.js} +0 -0
  457. /package/dist/lime-elements/{p-BTSG--2-.js → p-Dv2HOgWN.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index--B6-r0uo.js');
3
+ var index = require('./index-BlsqxTB1.js');
4
4
  var _baseIteratee = require('./_baseIteratee-BIMRm4nq.js');
5
5
  var _baseSet = require('./_baseSet-DykMx7uF.js');
6
6
  var _baseIsEqual = require('./_baseIsEqual-zzV9DKMv.js');
@@ -10,7 +10,7 @@ var _getTag = require('./_getTag-BC28Za7d.js');
10
10
  var isArrayLike = require('./isArrayLike-C2RwZMG4.js');
11
11
  var layout = require('./layout-CL_D-afg.js');
12
12
  var isEqual = require('./isEqual-D3eFkhqd.js');
13
- var translations = require('./translations-DFFpR6AZ.js');
13
+ var translations = require('./translations-CNTWud2a.js');
14
14
  require('./isArray-BuFVIU_i.js');
15
15
  require('./isSymbol-DxAVNJfH.js');
16
16
  require('./isObjectLike-Dlpn-j-1.js');
@@ -21,7 +21,7 @@ require('./_defineProperty-Csu6P9HT.js');
21
21
  require('./_getNative-Cf52giNE.js');
22
22
  require('./isFunction-RSHwsz1x.js');
23
23
  require('./eq-DFcUoVzv.js');
24
- require('./language-CaqPKPyW.js');
24
+ require('./language-v-MMS6ym.js');
25
25
 
26
26
  /**
27
27
  * This function is like
@@ -233,7 +233,7 @@ function pickBy(object, predicate) {
233
233
  });
234
234
  }
235
235
 
236
- /* Tabulator v6.5.3 (c) Oliver Folkerd 2026 */
236
+ /* Tabulator v6.6.1 (c) Oliver Folkerd 2026 */
237
237
  class CoreFeature{
238
238
 
239
239
  constructor(table){
@@ -5848,7 +5848,7 @@ function input(cell, onRendered, success, cancel, editorParams){
5848
5848
  }
5849
5849
  }
5850
5850
 
5851
- input.value = typeof cellValue !== "undefined" ? cellValue : "";
5851
+ input.value = editorParams.initialValue ?? (typeof cellValue !== "undefined" ? cellValue : "");
5852
5852
 
5853
5853
  onRendered(function(){
5854
5854
  if(cell.getType() === "cell"){
@@ -5929,7 +5929,7 @@ function textarea$1(cell, onRendered, success, cancel, editorParams){
5929
5929
  }
5930
5930
  }
5931
5931
 
5932
- input.value = value;
5932
+ input.value = editorParams.initialValue ?? value;
5933
5933
 
5934
5934
  onRendered(function(){
5935
5935
  if(cell.getType() === "cell"){
@@ -8728,9 +8728,9 @@ class Edit extends Module{
8728
8728
  this.recursionBlock = false;
8729
8729
  }
8730
8730
 
8731
- editCell(cell, forceEdit){
8731
+ editCell(cell, forceEdit, editorParams){
8732
8732
  this.focusCellNoEvent(cell);
8733
- this.edit(cell, false, forceEdit);
8733
+ this.edit(cell, false, forceEdit, editorParams);
8734
8734
  }
8735
8735
 
8736
8736
  focusScrollAdjust(cell){
@@ -8795,7 +8795,7 @@ class Edit extends Module{
8795
8795
  return check;
8796
8796
  }
8797
8797
 
8798
- edit(cell, e, forceEdit){
8798
+ edit(cell, e, forceEdit, editorParams){
8799
8799
  var self = this,
8800
8800
  allowEdit = true,
8801
8801
  rendered = function(){},
@@ -8901,6 +8901,10 @@ class Edit extends Module{
8901
8901
  this.dispatchExternal("cellEditing", component);
8902
8902
 
8903
8903
  params = typeof cell.column.modules.edit.params === "function" ? cell.column.modules.edit.params(component) : cell.column.modules.edit.params;
8904
+
8905
+ if(editorParams){
8906
+ params = {...params, ...editorParams};
8907
+ }
8904
8908
 
8905
8909
  cellEditor = cell.column.modules.edit.editor.call(self, component, onRendered, success, cancel, params);
8906
8910
 
@@ -20317,6 +20321,10 @@ class RangeComponent {
20317
20321
  return this._range.getCells(true, true);
20318
20322
  }
20319
20323
 
20324
+ getModifiedCells() {
20325
+ return this._range.modifiedCells;
20326
+ }
20327
+
20320
20328
  getStructuredCells() {
20321
20329
  return this._range.getStructuredCells();
20322
20330
  }
@@ -20334,19 +20342,19 @@ class RangeComponent {
20334
20342
  }
20335
20343
 
20336
20344
  getTopEdge() {
20337
- return this._range.top;
20345
+ return this._range.rect.top;
20338
20346
  }
20339
20347
 
20340
20348
  getBottomEdge() {
20341
- return this._range.bottom;
20349
+ return this._range.rect.bottom;
20342
20350
  }
20343
20351
 
20344
20352
  getLeftEdge() {
20345
- return this._range.left;
20353
+ return this._range.rect.left;
20346
20354
  }
20347
20355
 
20348
20356
  getRightEdge() {
20349
- return this._range.right;
20357
+ return this._range.rect.right;
20350
20358
  }
20351
20359
 
20352
20360
  setBounds(start, end){
@@ -20375,6 +20383,18 @@ class RangeComponent {
20375
20383
  }
20376
20384
  }
20377
20385
 
20386
+ setData(data){
20387
+ if(this._range.destroyedGuard("setData")){
20388
+ this._range.setData(data);
20389
+ }
20390
+ }
20391
+
20392
+ fill(value){
20393
+ if(this._range.destroyedGuard("fill")){
20394
+ this._range.fill(value);
20395
+ }
20396
+ }
20397
+
20378
20398
  remove(){
20379
20399
  if(this._range.destroyedGuard("remove")){
20380
20400
  this._range.destroy(true);
@@ -20382,8 +20402,66 @@ class RangeComponent {
20382
20402
  }
20383
20403
  }
20384
20404
 
20405
+ class Rect {
20406
+ constructor(top, bottom, left, right) {
20407
+ this.top = top;
20408
+ this.bottom = bottom;
20409
+ this.left = left;
20410
+ this.right = right;
20411
+ }
20412
+
20413
+ static zero() {
20414
+ return new Rect(0, 0, 0, 0);
20415
+ }
20416
+
20417
+ clone() {
20418
+ return new Rect(this.top, this.bottom, this.left, this.right);
20419
+ }
20420
+
20421
+ /**
20422
+ * Check if this rect and other are equal
20423
+ * @param {Rect} other
20424
+ */
20425
+ equals(other) {
20426
+ return (
20427
+ this.top === other.top &&
20428
+ this.bottom === other.bottom &&
20429
+ this.left === other.left &&
20430
+ this.right === other.right
20431
+ );
20432
+ }
20433
+
20434
+ /**
20435
+ * @param {number} x
20436
+ * @param {number} y
20437
+ */
20438
+ hasPoint(x, y) {
20439
+ return (
20440
+ x >= this.left &&
20441
+ x <= this.right &&
20442
+ y >= this.top &&
20443
+ y <= this.bottom
20444
+ );
20445
+ }
20446
+
20447
+ /**
20448
+ * Executes a provided function once for each point in the rectangle
20449
+ * @param {(x: number, y: number) => void} fn
20450
+ */
20451
+ forEach(fn) {
20452
+ for (let y = this.top; y <= this.bottom; y++) {
20453
+ for (let x = this.left; x <= this.right; x++) {
20454
+ fn(x, y);
20455
+ }
20456
+ }
20457
+ }
20458
+ }
20459
+
20385
20460
  class Range extends CoreFeature{
20386
- constructor(table, rangeManager, start, end) {
20461
+ /**
20462
+ * @param {{start?: Cell|Column, end?: Cell|Column, rect?: Rect, skipEvents?: boolean, classNames?: string[]}} options
20463
+ */
20464
+ constructor(table, rangeManager, options) {
20387
20465
  super(table);
20388
20466
 
20389
20467
  this.rangeManager = rangeManager;
@@ -20394,38 +20472,48 @@ class Range extends CoreFeature{
20394
20472
  end:false,
20395
20473
  };
20396
20474
  this.destroyed = false;
20475
+ this.skipEvents = options.skipEvents || false;
20397
20476
 
20398
- this.top = 0;
20399
- this.bottom = 0;
20400
- this.left = 0;
20401
- this.right = 0;
20477
+ this.rect = options.rect ? options.rect.clone() : Rect.zero();
20402
20478
 
20403
20479
  this.table = table;
20480
+ this.modifiedCells = [];
20404
20481
  this.start = {row:undefined, col:undefined};
20405
20482
  this.end = {row:undefined, col:undefined};
20406
20483
 
20407
- if(this.rangeManager.rowHeader){
20408
- this.left = 1;
20409
- this.right = 1;
20484
+ if (options.rect) {
20485
+ this.start.row = options.rect.top;
20486
+ this.start.col = options.rect.left;
20487
+ this.end.row = options.rect.bottom;
20488
+ this.end.col = options.rect.right;
20489
+ } else if (this.rangeManager.rowHeader){
20490
+ this.rect.left = 1;
20491
+ this.rect.right = 1;
20410
20492
  this.start.col = 1;
20411
20493
  this.end.col = 1;
20412
20494
  }
20413
20495
 
20414
- this.initElement();
20496
+ this.initElement(options.classNames);
20415
20497
 
20416
- setTimeout(() => {
20417
- this.initBounds(start, end);
20418
- });
20498
+ if (!options.rect) {
20499
+ setTimeout(() => {
20500
+ this.initBounds(options.start, options.end);
20501
+ });
20502
+ }
20419
20503
  }
20420
20504
 
20421
- initElement(){
20505
+ initElement(classNames){
20422
20506
  this.element = document.createElement("div");
20423
20507
  this.element.classList.add("tabulator-range");
20508
+
20509
+ if(classNames){
20510
+ this.element.classList.add(...classNames);
20511
+ }
20424
20512
  }
20425
20513
 
20426
20514
  initBounds(start, end){
20427
20515
  this._updateMinMax();
20428
-
20516
+
20429
20517
  if(start){
20430
20518
  this.setBounds(start, end || start);
20431
20519
  }
@@ -20454,7 +20542,21 @@ class Range extends CoreFeature{
20454
20542
  this._updateMinMax();
20455
20543
  }
20456
20544
  }
20457
-
20545
+
20546
+ /**
20547
+ * @param {Rect} rect
20548
+ */
20549
+ setRect(rect) {
20550
+ const startRow = this.start.row === this.rect.top ? rect.top : rect.bottom;
20551
+ const startCol = this.start.col === this.rect.left ? rect.left : rect.right;
20552
+
20553
+ this.setStart(startRow, startCol);
20554
+ this.setEnd(
20555
+ startRow === rect.top ? rect.bottom : rect.top,
20556
+ startCol === rect.left ? rect.right : rect.left,
20557
+ );
20558
+ }
20559
+
20458
20560
  setBounds(start, end, visibleRows){
20459
20561
  if(start){
20460
20562
  this.setStartBound(start);
@@ -20513,17 +20615,23 @@ class Range extends CoreFeature{
20513
20615
  }
20514
20616
 
20515
20617
  _updateMinMax() {
20516
- this.top = Math.min(this.start.row, this.end.row);
20517
- this.bottom = Math.max(this.start.row, this.end.row);
20518
- this.left = Math.min(this.start.col, this.end.col);
20519
- this.right = Math.max(this.start.col, this.end.col);
20618
+ this.rect.top = Math.min(this.start.row, this.end.row);
20619
+ this.rect.bottom = Math.max(this.start.row, this.end.row);
20620
+ this.rect.left = Math.min(this.start.col, this.end.col);
20621
+ this.rect.right = Math.max(this.start.col, this.end.col);
20520
20622
 
20521
20623
  if(this.initialized){
20522
- this.dispatchExternal("rangeChanged", this.getComponent());
20624
+ if(!this.skipEvents){
20625
+ this.dispatchExternal("rangeChanged", this.getComponent());
20626
+ }
20523
20627
  }else {
20524
20628
  if(this.initializing.start && this.initializing.end){
20525
20629
  this.initialized = true;
20526
- this.dispatchExternal("rangeAdded", this.getComponent());
20630
+
20631
+ if(!this.skipEvents){
20632
+ this.dispatch("range-added", this);
20633
+ this.dispatchExternal("rangeAdded", this.getComponent());
20634
+ }
20527
20635
  }
20528
20636
  }
20529
20637
  }
@@ -20576,10 +20684,10 @@ class Range extends CoreFeature{
20576
20684
  }
20577
20685
 
20578
20686
  if (this.overlaps(_vDomLeft, _vDomTop, _vDomRight, _vDomBottom)) {
20579
- top = Math.max(this.top, _vDomTop);
20580
- bottom = Math.min(this.bottom, _vDomBottom);
20581
- left = Math.max(this.left, _vDomLeft);
20582
- right = Math.min(this.right, _vDomRight + frozenLeft + frozenRight);
20687
+ top = Math.max(this.rect.top, _vDomTop);
20688
+ bottom = Math.min(this.rect.bottom, _vDomBottom);
20689
+ left = Math.max(this.rect.left, _vDomLeft);
20690
+ right = Math.min(this.rect.right, _vDomRight + frozenLeft + frozenRight);
20583
20691
 
20584
20692
  topLeftCell = this.rangeManager.getCell(top, left);
20585
20693
  bottomRightCell = this.rangeManager.getCell(bottom, right);
@@ -20620,11 +20728,11 @@ class Range extends CoreFeature{
20620
20728
  }
20621
20729
 
20622
20730
  atTopLeft(cell) {
20623
- return cell.row.position - 1 === this.top && cell.column.getPosition() - 1 === this.left;
20731
+ return cell.row.position - 1 === this.rect.top && cell.column.getPosition() - 1 === this.rect.left;
20624
20732
  }
20625
20733
 
20626
20734
  atBottomRight(cell) {
20627
- return cell.row.position - 1 === this.bottom && cell.column.getPosition() - 1 === this.right;
20735
+ return cell.row.position - 1 === this.rect.bottom && cell.column.getPosition() - 1 === this.rect.right;
20628
20736
  }
20629
20737
 
20630
20738
  occupies(cell) {
@@ -20632,15 +20740,15 @@ class Range extends CoreFeature{
20632
20740
  }
20633
20741
 
20634
20742
  occupiesRow(row) {
20635
- return this.top <= row.position - 1 && row.position - 1 <= this.bottom;
20743
+ return this.rect.top <= row.position - 1 && row.position - 1 <= this.rect.bottom;
20636
20744
  }
20637
20745
 
20638
20746
  occupiesColumn(col) {
20639
- return this.left <= col.getPosition() - 1 && col.getPosition() - 1 <= this.right;
20747
+ return this.rect.left <= col.getPosition() - 1 && col.getPosition() - 1 <= this.rect.right;
20640
20748
  }
20641
20749
 
20642
20750
  overlaps(left, top, right, bottom) {
20643
- if ((this.left > right || left > this.right) || (this.top > bottom || top > this.bottom)){
20751
+ if ((this.rect.left > right || left > this.rect.right) || (this.rect.top > bottom || top > this.rect.bottom)){
20644
20752
  return false;
20645
20753
  }
20646
20754
 
@@ -20701,11 +20809,11 @@ class Range extends CoreFeature{
20701
20809
  }
20702
20810
 
20703
20811
  getRows() {
20704
- return this._getTableRows().slice(this.top, this.bottom + 1);
20812
+ return this._getTableRows().slice(this.rect.top, this.rect.bottom + 1);
20705
20813
  }
20706
20814
 
20707
20815
  getColumns() {
20708
- return this._getTableColumns().slice(this.left, this.right + 1);
20816
+ return this._getTableColumns().slice(this.rect.left, this.rect.right + 1);
20709
20817
  }
20710
20818
 
20711
20819
  clearValues(){
@@ -20722,6 +20830,68 @@ class Range extends CoreFeature{
20722
20830
 
20723
20831
  }
20724
20832
 
20833
+ setData(data){
20834
+ const rows = this.getCells(true);
20835
+ const rowUpdates = new Map();
20836
+ const cellValues = [];
20837
+ let hasChanges = false;
20838
+
20839
+ this.modifiedCells = [];
20840
+ this.table.blockRedraw();
20841
+
20842
+ rows.forEach((cells, rowIndex) => {
20843
+ const rowValues = data[rowIndex];
20844
+
20845
+ cells.forEach((cell, colIndex) => {
20846
+ const field = cell.column.getField();
20847
+ const oldValue = cell.getValue();
20848
+ const editable = !this.table.modExists("edit")
20849
+ || this.table.modules.edit.allowEdit(cell);
20850
+ let newValue = oldValue;
20851
+
20852
+ if(editable && field && colIndex < rowValues.length){
20853
+ newValue = rowValues[colIndex];
20854
+
20855
+ // Same check updateData uses, so unchanged cells aren't reported
20856
+ if(oldValue !== newValue){
20857
+ hasChanges = true;
20858
+ this.modifiedCells.push(cell.getComponent());
20859
+ }
20860
+
20861
+ if(!rowUpdates.has(cell.row)){
20862
+ rowUpdates.set(cell.row, {});
20863
+ }
20864
+
20865
+ rowUpdates.get(cell.row)[field] = newValue;
20866
+ }
20867
+
20868
+ // Undo matches cellValues to getCells() by index, so it must
20869
+ // cover every cell of the range, not just the changed ones.
20870
+ cellValues.push({ oldValue, newValue });
20871
+ });
20872
+ });
20873
+
20874
+ rowUpdates.forEach((newData, row) => row.updateData(newData));
20875
+
20876
+ if(hasChanges && this.table.modExists("history")){
20877
+ this.table.modules.history.action("rangeEdit", this, {
20878
+ cells: cellValues,
20879
+ });
20880
+ }
20881
+
20882
+ if(hasChanges){
20883
+ this.dispatchExternal("rangeEdited", this.getComponent());
20884
+ }
20885
+
20886
+ this.table.restoreRedraw();
20887
+ }
20888
+
20889
+ fill(value){
20890
+ const columns = this.getColumns();
20891
+ const data = this.getRows().map(() => columns.map(() => value));
20892
+ this.setData(data);
20893
+ }
20894
+
20725
20895
  getBounds(component){
20726
20896
  var cells = this.getCells(false, component),
20727
20897
  output = {
@@ -20739,6 +20909,14 @@ class Range extends CoreFeature{
20739
20909
  return output;
20740
20910
  }
20741
20911
 
20912
+ getStartCell(){
20913
+ return this.rangeManager.getCell(this.start.row, this.start.col);
20914
+ }
20915
+
20916
+ getEndCell(){
20917
+ return this.rangeManager.getCell(this.end.row, this.end.col);
20918
+ }
20919
+
20742
20920
  getComponent() {
20743
20921
  if (!this.component) {
20744
20922
  this.component = new RangeComponent(this);
@@ -20755,7 +20933,7 @@ class Range extends CoreFeature{
20755
20933
  this.rangeManager.rangeRemoved(this);
20756
20934
  }
20757
20935
 
20758
- if(this.initialized){
20936
+ if(this.initialized && !this.skipEvents){
20759
20937
  this.dispatchExternal("rangeRemoved", this.getComponent());
20760
20938
  }
20761
20939
  }
@@ -20769,6 +20947,215 @@ class Range extends CoreFeature{
20769
20947
  }
20770
20948
  }
20771
20949
 
20950
+ class FillHandle extends CoreFeature {
20951
+ constructor(table, rangeManager) {
20952
+ super(table);
20953
+
20954
+ /** @type {import("./SelectRange.js").default} */
20955
+ this.rangeManager = rangeManager;
20956
+ this.element = null;
20957
+ /** @type {Range|null} */
20958
+ this.preview = null;
20959
+ /** @type {Rect|null} */
20960
+ this.source = null;
20961
+ this.pointerRow = 0;
20962
+ this.pointerCol = 0;
20963
+ this.isActive = false;
20964
+
20965
+ this.handleMouseDown = this.handleMouseDown.bind(this);
20966
+ this.handleMouseUp = this.handleMouseUp.bind(this);
20967
+ this.handleCellMouseMove = this.handleCellMouseMove.bind(this);
20968
+
20969
+ this.element = document.createElement("div");
20970
+ this.element.classList.add("tabulator-range-fill-handle");
20971
+ this.element.addEventListener("mousedown", this.handleMouseDown);
20972
+
20973
+ this.subscribe("range-active-changed", (range) => this.attach(range));
20974
+ }
20975
+
20976
+ attach(range) {
20977
+ if (this.element.parentNode !== range.element) {
20978
+ range.element.appendChild(this.element);
20979
+ }
20980
+ }
20981
+
20982
+ handleMouseDown(e) {
20983
+ const range = this.rangeManager.activeRange;
20984
+
20985
+ if (e.button !== 0 || !range) {
20986
+ return;
20987
+ }
20988
+
20989
+ e.preventDefault();
20990
+ e.stopPropagation();
20991
+
20992
+ this.isActive = true;
20993
+ this.source = range.rect.clone();
20994
+ this.pointerRow = this.source.bottom;
20995
+ this.pointerCol = this.source.right;
20996
+
20997
+ this.preview = new Range(this.table, this.rangeManager, {
20998
+ rect: this.source,
20999
+ skipEvents: true,
21000
+ classNames: ["tabulator-range-fill-preview"],
21001
+ });
21002
+
21003
+ this.rangeManager.rangeContainer.appendChild(this.preview.element);
21004
+ this.preview.layout();
21005
+ this.subscribe("cell-mousemove", this.handleCellMouseMove);
21006
+ document.addEventListener("mouseup", this.handleMouseUp);
21007
+ }
21008
+
21009
+ handleCellMouseMove(e, cell) {
21010
+ if (cell.column === this.rangeManager.rowHeader) {
21011
+ return;
21012
+ }
21013
+
21014
+ const row = cell.row.position - 1;
21015
+ const col = cell.column.getPosition() - 1;
21016
+
21017
+ if (row === this.pointerRow && col === this.pointerCol) {
21018
+ return;
21019
+ }
21020
+
21021
+ this.pointerRow = row;
21022
+ this.pointerCol = col;
21023
+
21024
+ const rect = FillHandle.extendAlongAxis(
21025
+ this.source,
21026
+ this.pointerRow,
21027
+ this.pointerCol,
21028
+ );
21029
+
21030
+ this.preview.setRect(rect);
21031
+ this.preview.layout();
21032
+ }
21033
+
21034
+ async handleMouseUp() {
21035
+ this.isActive = false;
21036
+
21037
+ this.unsubscribe("cell-mousemove", this.handleCellMouseMove);
21038
+ document.removeEventListener("mouseup", this.handleMouseUp);
21039
+
21040
+ this.rangeManager.clearRanges();
21041
+
21042
+ const range = await this.addInitializedRange(
21043
+ this.preview.getStartCell(),
21044
+ this.preview.getEndCell()
21045
+ );
21046
+
21047
+ const data = this.buildFillData(
21048
+ this.source,
21049
+ this.pointerRow,
21050
+ this.pointerCol,
21051
+ );
21052
+
21053
+ range.setData(data);
21054
+
21055
+ this.preview.destroy();
21056
+ }
21057
+
21058
+ /**
21059
+ * The data, in Range.setData shape, for the cells a drag from `source` to
21060
+ * (pointerRow, pointerCol) covers, repeating the source's values.
21061
+ * @param {Rect} source
21062
+ * @param {number} pointerRow
21063
+ * @param {number} pointerCol
21064
+ */
21065
+ buildFillData(source, pointerRow, pointerCol) {
21066
+ const target = FillHandle.extendAlongAxis(source, pointerRow, pointerCol);
21067
+ const height = source.bottom - source.top + 1;
21068
+ const width = source.right - source.left + 1;
21069
+
21070
+ const rows = this.rangeManager.getTableRows();
21071
+ const columns = this.rangeManager.getTableColumns();
21072
+ const data = [];
21073
+
21074
+ for (let y = target.top; y <= target.bottom; y++) {
21075
+ const rowData = [];
21076
+
21077
+ for (let x = target.left; x <= target.right; x++) {
21078
+ const sourceRowPos =
21079
+ source.top + ((((y - source.top) % height) + height) % height);
21080
+ const sourceColPos =
21081
+ source.left + ((((x - source.left) % width) + width) % width);
21082
+ const sourceRow = rows[sourceRowPos];
21083
+ const sourceCol = columns[sourceColPos];
21084
+
21085
+ rowData.push(sourceRow.getData()[sourceCol.getField()]);
21086
+ }
21087
+
21088
+ data.push(rowData);
21089
+ }
21090
+
21091
+ return data;
21092
+ }
21093
+
21094
+ addInitializedRange(start, end) {
21095
+ const range = this.rangeManager.addRange(start, end);
21096
+
21097
+ if (!range.initialized) {
21098
+ return new Promise((resolve) => {
21099
+ const handleRangeAdded = (promisedRange) => {
21100
+ if (promisedRange !== range) {
21101
+ return;
21102
+ }
21103
+ this.unsubscribe("range-added", handleRangeAdded);
21104
+ resolve(range);
21105
+ };
21106
+
21107
+ this.subscribe("range-added", handleRangeAdded);
21108
+ });
21109
+ }
21110
+
21111
+ return Promise.resolve(range);
21112
+ }
21113
+
21114
+ /**
21115
+ * The rect a fill from `source` covers when the pointer is over (row, col).
21116
+ * @param {Rect} source
21117
+ * @param {number} row
21118
+ * @param {number} col
21119
+ */
21120
+ static extendAlongAxis(source, row, col) {
21121
+ let rowDelta = 0;
21122
+ let colDelta = 0;
21123
+ let top = source.top;
21124
+ let bottom = source.bottom;
21125
+ let left = source.left;
21126
+ let right = source.right;
21127
+
21128
+ if (row < source.top) {
21129
+ rowDelta = source.top - row;
21130
+ } else if (row > source.bottom) {
21131
+ rowDelta = row - source.bottom;
21132
+ }
21133
+
21134
+ if (col < source.left) {
21135
+ colDelta = source.left - col;
21136
+ } else if (col > source.right) {
21137
+ colDelta = col - source.right;
21138
+ }
21139
+
21140
+ // Like a spreadsheet, a fill only ever grows along one axis: whichever the pointer has strayed further on.
21141
+ if (rowDelta && rowDelta >= colDelta) {
21142
+ top = Math.min(top, row);
21143
+ bottom = Math.max(bottom, row);
21144
+ } else if (colDelta) {
21145
+ left = Math.min(left, col);
21146
+ right = Math.max(right, col);
21147
+ }
21148
+
21149
+ return new Rect(top, bottom, left, right);
21150
+ }
21151
+
21152
+ destroy() {
21153
+ document.removeEventListener("mouseup", this.handleMouseUp);
21154
+ this.element.remove();
21155
+ this.preview?.destroy();
21156
+ }
21157
+ }
21158
+
20772
21159
  var bindings = {
20773
21160
  rangeJumpUp:["ctrl + 38", "meta + 38"],
20774
21161
  rangeJumpDown:["ctrl + 40", "meta + 40"],
@@ -20945,6 +21332,24 @@ var rowLookups = {
20945
21332
  },
20946
21333
  };
20947
21334
 
21335
+ var undoers = {
21336
+ rangeEdit:function(action){
21337
+ action.component.getCells().forEach((cell, index) => {
21338
+ cell.setValueProcessData(action.data.cells[index].oldValue);
21339
+ cell.cellRendered();
21340
+ });
21341
+ },
21342
+ };
21343
+
21344
+ var redoers = {
21345
+ rangeEdit:function(action){
21346
+ action.component.getCells().forEach((cell, index) => {
21347
+ cell.setValueProcessData(action.data.cells[index].newValue);
21348
+ cell.cellRendered();
21349
+ });
21350
+ },
21351
+ };
21352
+
20948
21353
  var extensions = {
20949
21354
  keybindings:{
20950
21355
  bindings:bindings,
@@ -20957,6 +21362,10 @@ var extensions = {
20957
21362
  export:{
20958
21363
  columnLookups:columnLookups,
20959
21364
  rowLookups:rowLookups,
21365
+ },
21366
+ history:{
21367
+ undoers:undoers,
21368
+ redoers:redoers,
20960
21369
  }
20961
21370
  };
20962
21371
 
@@ -20978,8 +21387,10 @@ class SelectRange extends Module {
20978
21387
  this.columnSelection = false;
20979
21388
  this.rowSelection = false;
20980
21389
  this.maxRanges = 0;
21390
+ /** @type {Range|false} */
20981
21391
  this.activeRange = false;
20982
21392
  this.blockKeydown = false;
21393
+ this.fillHandle = null;
20983
21394
 
20984
21395
  this.keyDownEvent = this._handleKeyDown.bind(this);
20985
21396
  this.mouseUpEvent = this._handleMouseUp.bind(this);
@@ -20992,6 +21403,7 @@ class SelectRange extends Module {
20992
21403
  this.registerTableOption("selectableRangeAutoFocus", true); //focus on a cell after resetRanges
20993
21404
  this.registerTableOption("selectableRangeInitializeDefault", true); //initializes default range on cell [0,0]
20994
21405
  this.registerTableOption("selectableRangeBlurEditOnNavigate", undefined); //prevent editing on navigation
21406
+ this.registerTableOption("selectableRangeFill", false); //drag the range handle to fill neighbouring cells
20995
21407
 
20996
21408
  this.registerTableFunction("getRangesData", this.getRangesData.bind(this));
20997
21409
  this.registerTableFunction("getRanges", this.getRanges.bind(this));
@@ -21045,6 +21457,10 @@ class SelectRange extends Module {
21045
21457
  this.overlay.appendChild(this.rangeContainer);
21046
21458
  this.overlay.appendChild(this.activeRangeCellElement);
21047
21459
 
21460
+ if(this.options("selectableRangeFill")){
21461
+ this.fillHandle = new FillHandle(this.table, this);
21462
+ }
21463
+
21048
21464
  this.table.rowManager.element.addEventListener("keydown", this.keyDownEvent);
21049
21465
 
21050
21466
  this.setDefaultRange();
@@ -21419,12 +21835,7 @@ class SelectRange extends Module {
21419
21835
  }
21420
21836
 
21421
21837
  range = this.activeRange;
21422
- prevRect = {
21423
- top: range.top,
21424
- bottom: range.bottom,
21425
- left: range.left,
21426
- right: range.right
21427
- };
21838
+ prevRect = range.rect.clone();
21428
21839
 
21429
21840
  rangeEdge = expand ? range.end : range.start;
21430
21841
  nextRow = rangeEdge.row;
@@ -21482,7 +21893,7 @@ class SelectRange extends Module {
21482
21893
  this.selecting = "cell";
21483
21894
  }
21484
21895
 
21485
- moved = prevRect.top !== range.top || prevRect.bottom !== range.bottom || prevRect.left !== range.left || prevRect.right !== range.right;
21896
+ moved = !prevRect.equals(range.rect);
21486
21897
 
21487
21898
  if (moved) {
21488
21899
  row = this.getRowByRangePos(range.end.row);
@@ -21520,7 +21931,7 @@ class SelectRange extends Module {
21520
21931
 
21521
21932
  if(this.activeRange === removed){
21522
21933
  if(this.ranges.length){
21523
- this.activeRange = this.ranges[this.ranges.length - 1];
21934
+ this.setActiveRange(this.ranges[this.ranges.length - 1]);
21524
21935
  }else {
21525
21936
  this.addRange();
21526
21937
  }
@@ -21872,6 +22283,11 @@ class SelectRange extends Module {
21872
22283
  return this.table.columnManager.getVisibleColumnsByIndex();
21873
22284
  }
21874
22285
 
22286
+ setActiveRange(range) {
22287
+ this.activeRange = range;
22288
+ this.dispatch("range-active-changed", range);
22289
+ }
22290
+
21875
22291
  addRange(start, end) {
21876
22292
  var range;
21877
22293
 
@@ -21879,9 +22295,9 @@ class SelectRange extends Module {
21879
22295
  this.ranges.shift().destroy();
21880
22296
  }
21881
22297
 
21882
- range = new Range(this.table, this, start, end);
22298
+ range = new Range(this.table, this, { start, end });
21883
22299
 
21884
- this.activeRange = range;
22300
+ this.setActiveRange(range);
21885
22301
  this.ranges.push(range);
21886
22302
  this.rangeContainer.appendChild(range.element);
21887
22303
 
@@ -21926,6 +22342,7 @@ class SelectRange extends Module {
21926
22342
 
21927
22343
  tableDestroyed(){
21928
22344
  document.removeEventListener("mouseup", this.mouseUpEvent);
22345
+ this.fillHandle?.destroy();
21929
22346
  this.table.rowManager.element.removeEventListener("keydown", this.keyDownEvent);
21930
22347
  }
21931
22348
 
@@ -30499,9 +30916,7 @@ function columnElementExists(column) {
30499
30916
  const customElementExists = customElements.get(column.component.name);
30500
30917
  return isNativeElement || customElementExists;
30501
30918
  }
30502
- else {
30503
- return false;
30504
- }
30919
+ return false;
30505
30920
  }
30506
30921
  /**
30507
30922
  * Format the value of a cell in the table
@@ -30685,7 +31100,7 @@ class ElementPool {
30685
31100
  }
30686
31101
  createElement(name) {
30687
31102
  const element = this.document.createElement(name);
30688
- if (!(name in this.pool)) {
31103
+ if (!Object.hasOwn(this.pool, name)) {
30689
31104
  this.pool[name] = [];
30690
31105
  }
30691
31106
  this.pool[name].push(element);
@@ -30991,19 +31406,20 @@ class TableSelection {
30991
31406
  return this.getTable().getRow(item).getData();
30992
31407
  };
30993
31408
  this.updateRowSelectors = (changeSet) => {
30994
- for (const row of changeSet.indexes.map(this.getRowByIndex))
30995
- this.updateRowSelector(row, changeSet.selected);
31409
+ for (const index of changeSet.indexes) {
31410
+ this.updateRowSelector(this.getRowByIndex(index), changeSet.selected);
31411
+ }
30996
31412
  };
30997
31413
  this.updateRowSelector = (row, checked) => {
30998
31414
  // Look up by class instead of cell index: when `movableRows` is
30999
31415
  // enabled, the drag-handle column occupies index 0 and the
31000
31416
  // row-selector shifts to index 1. Keep the `.limel-table--row-selector`
31001
31417
  // class in sync with `getRowSelectorColumnDefinition` if renamed.
31002
- const checkBox = row
31418
+ const checkbox = row
31003
31419
  .getElement()
31004
31420
  .querySelector(`.limel-table--row-selector ${LIMEL_CHECKBOX}`);
31005
- if (checkBox) {
31006
- checkBox.checked = checked;
31421
+ if (checkbox) {
31422
+ checkbox.checked = checked;
31007
31423
  }
31008
31424
  };
31009
31425
  this.getActiveRows = () => {
@@ -31094,7 +31510,7 @@ const areRowsEqual = (newData, oldData) => {
31094
31510
  return newData.every((newItem, index) => isEqual.isEqual(newItem, oldData[index]));
31095
31511
  };
31096
31512
 
31097
- const tableCss = () => `@charset "UTF-8";.tabulator{position:relative;border:1px solid #999;background-color:#888;font-size:14px;text-align:left;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select{user-select:none}.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){user-select:none}.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;overflow:hidden;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;outline:none}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{display:inline-flex;position:relative;box-sizing:border-box;flex-direction:column;justify-content:flex-start;border-right:1px solid #aaa;background:#e6e6e6;text-align:left;vertical-align:bottom;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{position:absolute;border:1px solid #999;background:rgb(204.5, 204.5, 204.5);pointer-events:none}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#D6D6D6;color:#000000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#FFFFFF}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;position:relative;padding:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:0.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{white-space:normal;text-overflow:initial}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;width:100%;border:1px solid #999;padding:1px;background:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{display:flex;align-items:center;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{position:relative;display:flex;border-top:1px solid #aaa;overflow:hidden;margin-right:-1px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{position:relative;box-sizing:border-box;margin-top:2px;width:100%;text-align:center}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto !important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{width:0;height:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{cursor:pointer;background-color:rgb(204.5, 204.5, 204.5)}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-right:0;padding-bottom:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;left:0;right:0;top:4px;bottom:auto}.tabulator .tabulator-header .tabulator-frozen{position:sticky;left:0;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder{box-sizing:border-box;display:inline-block;background:rgb(242.75, 242.75, 242.75) !important;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:rgb(242.75, 242.75, 242.75) !important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{position:relative;width:100%;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{display:inline-block;text-align:center;padding:10px;color:#ccc;font-weight:bold;font-size:20px;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{position:relative;display:inline-block;background-color:#fff;white-space:nowrap;overflow:visible;color:#333}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:bold;background:rgb(226.25, 226.25, 226.25) !important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-range-overlay{position:absolute;inset:0;z-index:11;pointer-events:none}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{position:absolute;box-sizing:border-box;border:1px solid #2975DD}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after{content:"";position:absolute;right:-3px;bottom:-3px;width:6px;height:6px;background-color:#2975DD;border-radius:999px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{position:absolute;box-sizing:border-box;border:2px solid #2975DD}.tabulator .tabulator-footer{border-top:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-footer .tabulator-footer-contents{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{display:inline-block;padding:5px;border:#999 1px solid;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;font-size:0.9em}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:0.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;width:100%;text-align:left;background:rgb(242.75, 242.75, 242.75) !important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;overflow:hidden}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:rgb(242.75, 242.75, 242.75) !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px;border-bottom:none}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:normal}.tabulator .tabulator-footer .tabulator-paginator{flex:1;text-align:right;color:#555;font-family:inherit;font-weight:inherit;font-size:inherit}.tabulator .tabulator-footer .tabulator-page-size{display:inline-block;margin:0 5px;padding:2px 5px;border:1px solid #aaa;border-radius:3px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{display:inline-block;margin:0 2px;padding:2px 5px;border:1px solid #aaa;border-radius:3px;background:rgba(255, 255, 255, 0.2)}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{cursor:pointer;background:rgba(0, 0, 0, 0.2);color:#fff}}.tabulator .tabulator-col-resize-handle{position:relative;display:inline-block;width:6px;margin-left:-3px;margin-right:-3px;z-index:11;vertical-align:middle}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-col-resize-guide{position:absolute;top:0;width:4px;height:100%;margin-left:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-row-resize-guide{position:absolute;left:0;width:100%;height:4px;margin-top:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-alert{position:absolute;display:flex;align-items:center;top:0;left:0;z-index:100;height:100%;width:100%;background:rgba(0, 0, 0, 0.4);text-align:center}.tabulator .tabulator-alert .tabulator-alert-msg{display:inline-block;margin:0 auto;padding:10px 20px;border-radius:10px;background:#fff;font-weight:bold;font-size:16px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #D00;color:#590000}.tabulator-row{position:relative;box-sizing:border-box;min-height:22px;background-color:#fff}.tabulator-row.tabulator-row-even{background-color:#EFEFEF}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9ABCEA}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selected:hover{background-color:#769BCC;cursor:pointer}}.tabulator-row.tabulator-row-moving{border:1px solid #000;background:#fff}.tabulator-row.tabulator-moving{position:absolute;border-top:1px solid #aaa;border-bottom:1px solid #aaa;pointer-events:none;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#D6D6D6;color:#000000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row .tabulator-row-resize-handle{position:absolute;right:0;bottom:0;left:0;height:5px}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;padding:5px;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;padding:4px;border-right:1px solid #aaa;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.tabulator-row .tabulator-cell .tabulator-tick{fill:#2DC214}.tabulator-row .tabulator-cell .tabulator-cross{fill:#CE1515}.tabulator-row .tabulator-cell.tabulator-row-header{border-right:1px solid #999;border-bottom:1px solid #aaa;background:#e6e6e6}.tabulator-row .tabulator-cell.tabulator-frozen{display:inline-block;position:sticky;left:0;background-color:inherit;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1D68CD;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{border:1px;background:transparent;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #dd0000}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{border:1px;background:transparent;color:#dd0000}.tabulator-row .tabulator-cell.tabulator-row-handle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{width:100%;height:3px;margin-top:2px;background:#666}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9ABCEA}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-row .tabulator-cell .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;height:15px;width:15px;border-radius:20px;background:#666;color:#fff;font-weight:bold;font-size:1.1em}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{opacity:0.7;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{display:inline-block;height:14px;width:14px;border-radius:14px}.tabulator-row.tabulator-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-row.tabulator-group span{margin-left:10px;color:#d00}.tabulator-toggle{box-sizing:border-box;display:flex;flex-direction:row;border:1px solid #ccc;background:#dcdcdc}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{box-sizing:border-box;border:1px solid #ccc;background:#fff}.tabulator-popup-container{position:absolute;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #aaa;box-shadow:0 0 5px 0 rgba(0, 0, 0, 0.2);font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10000}.tabulator-popup{padding:5px;border-radius:3px}.tabulator-tooltip{max-width:min(500px, 100%);padding:3px 5px;border-radius:2px;box-shadow:none;font-size:12px;pointer-events:none}.tabulator-menu .tabulator-menu-item{position:relative;box-sizing:border-box;padding:5px 10px;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#EFEFEF}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu::after{display:inline-block;position:absolute;top:calc(5px + 0.4em);right:10px;height:7px;width:7px;content:"";border-width:1px 1px 0 0;border-style:solid;border-color:#aaa;vertical-align:top;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #aaa}.tabulator-edit-list{max-height:200px;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabulator-edit-list .tabulator-edit-list-item{padding:4px;color:#333;outline:none}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1D68CD}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid rgba(255, 255, 255, 0.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1D68CD}@media (hover: hover) and (pointer: fine){.tabulator-edit-list .tabulator-edit-list-item:hover{cursor:pointer;color:#fff;background:#1D68CD}}.tabulator-edit-list .tabulator-edit-list-placeholder{padding:4px;color:#333;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #aaa;padding:4px;padding-top:6px;color:#333;font-weight:bold}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{text-align:initial;border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-right:initial;margin-left:-1px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:0;padding-left:25px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:initial}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active::after{content:"";position:absolute;left:-3px;right:initial;bottom:-3px;width:6px;height:6px;background-color:#2975DD;border-radius:999px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-right:initial;border-left:1px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{margin-right:initial;margin-left:5px;border-bottom-left-radius:initial;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-right:initial;margin-left:5px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{position:absolute;top:0;bottom:0;left:0;right:0;z-index:10000}body.tabulator-print-fullscreen-hide>*:not(.tabulator-print-fullscreen){display:none !important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px !important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#d00}.tabulator-print-table .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}#tabulator-container,#tabulator-table{height:100%;width:100%}.tabulator{display:flex;flex-direction:column}.tabulator *{box-sizing:border-box}.tabulator .tabulator-header{flex-shrink:0}.tabulator .tabulator-tableholder{isolation:isolate;flex-grow:1;height:unset !important;max-height:unset !important;min-height:unset !important;padding-bottom:5rem}.tabulator .tabulator-footer{flex-shrink:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{position:relative;cursor:pointer;transition:opacity 0.2s ease;right:0}.tabulator-sortable[aria-sort=none] .tabulator-col-sorter{opacity:0}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter .tabulator-arrow{animation:indicate-sortable-unsorted-column 2s ease forwards}.tabulator-sortable[aria-sort=desc] .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc] .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=desc]:hover .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc]:hover .tabulator-col-sorter{opacity:1;animation:indicate-sortable-sorted-column 0.5s ease}.tabulator-arrow{rotate:180deg;transition:border 0.2s ease;border-left:0.25rem solid transparent !important;border-right:0.25rem solid transparent !important}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-arrow{height:0.75rem;border-top-width:0.25rem;border-top-style:solid;border-top-color:rgb(var(--table-arrow-color));border-bottom-width:0.25rem;border-bottom-style:solid;border-bottom-color:rgb(var(--table-arrow-color))}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=desc] .tabulator-arrow{height:0;transform:translate3d(0, -0.2rem, 0);border-top-width:0.25rem;border-bottom-width:0;border-top-color:var(--table-arrow-color--active)}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=asc] .tabulator-arrow{height:0;transform:translate3d(0, 0.2rem, 0);border-top-width:0;border-bottom-width:0.25rem;border-bottom-color:var(--table-arrow-color--active)}@keyframes indicate-sortable-sorted-column{0%,100%{transform:translate3d(0, 0, 0)}30%{transform:translate3d(0, -0.0875rem, 0)}60%{transform:translate3d(0, 0.0875rem, 0)}}@keyframes indicate-sortable-unsorted-column{0%,15%,45%,75%{border-top-color:transparent;border-bottom-color:transparent;transform:translate3d(0, 0, 0)}30%{border-top-color:transparent;border-bottom-color:var(--table-arrow-color--active);transform:translate3d(0, -0.3125rem, 0)}60%{border-top-color:var(--table-arrow-color--active);border-bottom-color:transparent;transform:translate3d(0, 0.3125rem, 0)}100%{border-top-color:rgb(var(--table-arrow-color));border-bottom-color:rgb(var(--table-arrow-color))}}:host(:not(.has-pagination)) #tabulator-container .tabulator-paginator{display:var(--limel-table-single-page-paginator-display, grid)}.tabulator .tabulator-footer .tabulator-paginator{box-sizing:border-box;display:grid;grid-auto-flow:column;justify-content:end;padding-top:0.25rem;padding-bottom:0.25rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages{margin:0 0.5rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages .tabulator-page{margin:0 0rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]){transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:rgb(var(--contrast-1200)) !important;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{will-change:color, background-color, box-shadow, transform}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover{box-shadow:var(--button-shadow-hovered)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page{position:relative;height:1.75rem;min-width:1.75rem;padding:0 0.5rem;margin:0;border:none;border-radius:2.5rem;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page.active{background-color:var(--limel-theme-surface-background-color);box-shadow:var(--button-shadow-inset)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled{opacity:0.3;cursor:not-allowed}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled:hover{background-color:transparent}button.tabulator-page{display:inline-flex !important;align-items:center;justify-content:center}button.tabulator-page[data-page=first],button.tabulator-page[data-page=prev],button.tabulator-page[data-page=next],button.tabulator-page[data-page=last]{font-size:0;color:transparent !important}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:before,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:before,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:before,button.tabulator-page[data-page=last]:after{content:"";transition:transform 0.2s ease;display:block;position:absolute}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:after{border-style:solid;border-color:transparent;border-width:0.25rem 0 0.25rem 0.4rem;border-left-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=last]:before{height:0.5rem;width:0.125rem;background-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before{left:0.375rem}button.tabulator-page[data-page=last]:before{right:0.375rem}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after{transform:rotateZ(180deg)}button.tabulator-page[data-page=next]:not([disabled]):hover:after,button.tabulator-page[data-page=last]:not([disabled]):hover:after{transform:translate3d(0.09375rem, 0, 0)}button.tabulator-page[data-page=first]:not([disabled]):hover:after,button.tabulator-page[data-page=prev]:not([disabled]):hover:after{transform:translate3d(-0.09375rem, 0, 0) rotateZ(180deg)}@keyframes fade-in-tabulator-loader{0%{background:transparent}100%{background:rgba(var(--contrast-1400), 0.4)}}@keyframes spin-tabulator-loader{to{transform:rotate(360deg)}}.tabulator .tabulator-loader{animation:fade-in-tabulator-loader 0.5s ease 0.5s forwards;animation-iteration-count:1;cursor:progress;background:transparent}.tabulator .tabulator-loader .tabulator-loader-msg{animation:spin-tabulator-loader 0.4s linear infinite;color:transparent;font-size:0;border-radius:50%;border:0.1875rem solid rgb(var(--lime-brand-color-flexible-turquoise)) !important;border-top-color:transparent !important;width:1.25rem;height:1.25rem;background-color:transparent !important;padding:0}.interactive-feedback{position:absolute;inset:0;min-height:0.125rem;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);background-color:rgb(var(--limel-table-row-background-color))}.tabulator-row:active .interactive-feedback{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 )}.tabulator-row:hover .interactive-feedback,.tabulator-row:active .interactive-feedback{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator-row:not(.tabulator-calcs){background-color:transparent}.tabulator-row:not(.tabulator-calcs).tabulator-row-odd{--limel-table-row-background-color:var( --table-row-background-color--odd )}.tabulator-row:not(.tabulator-calcs).tabulator-row-even{--limel-table-row-background-color:var( --table-row-background-color--even )}.tabulator-row:not(.tabulator-calcs) .tabulator-cell{pointer-events:none}.tabulator-row:not(.tabulator-calcs) .tabulator-cell>*{pointer-events:auto}.tabulator-row:not(.tabulator-calcs).tabulator-selectable:hover{background-color:var(--table-row-background-color--hover);z-index:var(--limel-table-interactive-selectable-row-z-index-hover)}.tabulator-row:not(.tabulator-calcs).tabulator-selectable.active:before{content:"";display:inline-block;box-sizing:border-box;position:sticky;z-index:calc(var(--limel-table-interactive-selectable-row-z-index-hover) + 1);inset:0 0 auto 0;border:0.2rem solid var(--lime-primary-color, var(--limel-theme-primary-color));border-radius:1rem;margin-right:-0.4rem}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable .interactive-feedback:hover{box-shadow:var(--button-shadow-hovered)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:active .interactive-feedback{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.05rem, 0)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active{--limel-table-row-background-color:var( --table-row-background-color--active )}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback{opacity:0.2;background-color:var(--table-row-background-color--active);box-shadow:var(--button-shadow-inset-pressed)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback:hover{opacity:0.3}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:not(.active) .interactive-feedback:hover{background-color:var(--table-row-background-color--hover)}:host(.has-low-density) #tabulator-container{width:max-content;max-width:100%;margin:auto}:host(.has-low-density) .tabulator-table{background-color:transparent}:host(.has-low-density) .tabulator-header{border-radius:0.375rem}:host(.has-low-density) .tabulator-footer{border-radius:0.5rem}:host(.has-low-density) .tabulator-calcs-holder{border-radius:0.5rem 0.5rem 0 0}:host(.has-low-density) .tabulator-row{border-radius:0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom){margin-bottom:0.25rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom):first-child{margin-top:0.75rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell{height:2.75rem !important}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:first-child{border-radius:0.5rem 0 0 0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:last-child{border-radius:0 0.5rem 0.5rem 0}:host(.has-pagination-on-top) .tabulator .tabulator-header{order:2}:host(.has-pagination-on-top) .tabulator .tabulator-tableholder{order:3}:host(.has-pagination-on-top) .tabulator .tabulator-footer{order:1;background-color:transparent}:host(.has-pagination-on-top) .tabulator .tabulator-calcs-holder{position:absolute;bottom:0}:host(.has-pagination-on-top):has(.tabulator-calcs-holder) .tabulator-tableholder{margin-bottom:var(--limel-table-height-of-aggregations-row)}:host(.has-pagination-on-top) .select-all{top:2.5rem}.lime-col-title__custom-component{width:100%;display:flex;align-items:center;margin-right:1.25rem;gap:0.25rem}.title-component-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;flex-shrink:1;min-width:0}.title-component-slot{flex-shrink:0}@keyframes detach-a-column-header{0%{transform:rotate(0deg)}100%{transform:rotate(-2deg)}}:host([movable-columns]:not([movable-columns=false])) .tabulator-header{overflow-y:visible}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen){cursor:move !important}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving{animation:detach-a-column-header 0.2s ease forwards;opacity:0.9;border:none;border-radius:0.25rem;background-color:rgb(var(---table-header-background-color-when-being-dragged));box-shadow:var(--shadow-depth-16)}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving:hover{background-color:rgb(var(---table-header-background-color-when-being-dragged))}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving .tabulator-arrow:before{background-color:rgb(var(---table-header-background-color-when-being-dragged))}.tabulator .tabulator-footer{transition:transform 0.5s ease-out, opacity 0.35s ease;color:var(--table-text-color);background-color:rgb(var(--table-header-background-color--hover));border:none;user-select:auto}.tabulator .tabulator-footer .tabulator-footer-contents{padding:0 0.25rem}.tabulator .tabulator-footer .tabulator-calcs-holder{border-color:rgb(var(--contrast-500));background:rgb(var(--contrast-500)) !important;margin-top:0;margin-bottom:0}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{height:var(--limel-table-height-of-aggregations-row);background:transparent !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-calcs{cursor:default}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-cell{height:var(--limel-table-height-of-aggregations-row) !important;padding-top:0.25rem;padding-bottom:0}.select-all,.limel-table--row-selector,.limel-table-drag-handle{--limel-checkbox-min-height:1.25rem;display:inline-flex !important;align-items:center;justify-content:center;text-overflow:unset !important;padding:0 !important}.select-all{position:absolute;z-index:var(--limel-table-row-selector-z-index);left:0.375rem;top:0.1875rem}:host([movable-rows]:not([movable-rows=false])) .select-all{left:calc(var(--limel-table-drag-handle-width) + 0.375rem)}.limel-table--row-selector{left:0}:host([movable-rows]:not([movable-rows=false])) .limel-table--row-selector{left:var(--limel-table-drag-handle-width)}.tabulator-block-select .limel-table--row-selector,.tabulator-block-select .limel-table--row-selector *{pointer-events:none !important}.limel-table--row-selector,.limel-table-drag-handle{position:sticky !important;border:none !important;z-index:var(--limel-table-row-selector-z-index) !important}.limel-table--row-selector:before,.limel-table-drag-handle:before{content:"";inset:0.25rem 0;position:absolute;background-image:linear-gradient(to right, rgb(var(--limel-table-row-background-color)) 70%, rgb(var(--limel-table-row-background-color), 0))}.limel-table--row-selector limel-checkbox,.limel-table-drag-handle limel-checkbox{transition:opacity 0.2s ease;opacity:0.3}.tabulator-row:hover .limel-table--row-selector limel-checkbox,.tabulator-row:hover .limel-table-drag-handle limel-checkbox{opacity:1}:host(.has-selection) .limel-table--row-selector limel-checkbox,:host(.has-selection) .limel-table-drag-handle limel-checkbox{opacity:1}.limel-table--row-selector .tabulator-col-resize-handle,.limel-table-drag-handle .tabulator-col-resize-handle{display:none}.limel-table--row-selector+.tabulator-col .tabulator-col-resize-handle.prev,.limel-table--row-selector+.tabulator-cell .tabulator-col-resize-handle.prev,.limel-table-drag-handle+.tabulator-col .tabulator-col-resize-handle.prev,.limel-table-drag-handle+.tabulator-cell .tabulator-col-resize-handle.prev{display:none}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col.limel-table--row-selector,:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col.limel-table-drag-handle{border:none;cursor:default !important;pointer-events:none;background-color:transparent;background-image:linear-gradient(to right, rgb(var(--table-header-background-color--hover)) 70%, rgb(var(--table-header-background-color--hover), 0));left:0}:host([movable-columns]:not([movable-columns=false])[movable-rows]:not([movable-rows=false])) .tabulator-header .tabulator-col.limel-table--row-selector{left:var(--limel-table-drag-handle-width)}:host(.has-selection) .tabulator-calcs .tabulator-cell{color:var(--table-arrow-color--active)}.limel-table-drag-handle{transition:opacity 0.3s ease;left:0;width:var(--limel-table-drag-handle-width) !important;height:2rem !important;user-select:none;z-index:calc(var(--limel-table-row-selector-z-index) + 1) !important;background-color:transparent !important}:host([selectable]:not([selectable=false])) .limel-table-drag-handle{background-image:none !important;background-color:rgb(var(--limel-table-row-background-color)) !important}.tabulator-block-select .limel-table-drag-handle{opacity:0.3;cursor:grabbing}.tabulator-block-select .limel-table-drag-handle limel-drag-handle,.tabulator-block-select .limel-table-drag-handle limel-drag-handle *{pointer-events:none !important}.tabulator-row.tabulator-moving .limel-table-drag-handle limel-drag-handle button:last-of-type{display:none;}:host(limel-table){--limel-table-interactive-selectable-row-z-index-hover:2;--limel-table-sorter-arrow-width:0.5rem;--limel-table-table-cell-padding:0.5rem;--limel-table-row-selector-z-index:1;--limel-table-drag-handle-width:2rem;--limel-table-height-of-aggregations-row:1.5rem;isolation:isolate;display:block;--table-header-background-color:var(--contrast-500);--table-header-background-color--hover:var(--contrast-400);--table-header-background-color-when-being-dragged:var(--contrast-100);--table-row-background-color--odd:var(--contrast-200);--table-row-background-color--even:var(--contrast-100);--table-row-background-color--hover:var( --lime-elevated-surface-background-color );--table-row-background-color--active:var(--mdc-theme-primary);--table-arrow-color:var(--contrast-800);--table-arrow-color--active:var( --lime-primary-color, var(--limel-theme-primary-color) );--table-text-color:var(--limel-theme-text-primary-on-background-color);--limel-chip-size:1.25rem}#tabulator-container{position:relative}#tabulator-container,#tabulator-table{background-color:transparent;border:none}.tabulator .tabulator-header{color:var(--table-text-color)}.tabulator .tabulator-tableholder .tabulator-table{color:var(--table-text-color);background-color:transparent}.tabulator .tabulator-header{border-bottom:0;background-color:rgb(var(--table-header-background-color))}.tabulator .tabulator-header .tabulator-headers{width:fit-content}.tabulator .tabulator-header .tabulator-col{transition:background-color 0.2s ease;background-color:rgb(var(--table-header-background-color));border-right-color:rgb(var(--contrast-200))}.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:rgb(var(--table-header-background-color--hover))}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:0 var(--limel-table-sorter-arrow-width) 0 0.25rem}.tabulator .tabulator-header .tabulator-col-title-holder{height:1.75rem;display:flex;align-items:center;gap:0.25rem}.tabulator .tabulator-header .tabulator-col-sorter{order:1}.tabulator .tabulator-header .tabulator-col-title{order:2;font-weight:500;padding-right:0 !important;line-height:1.25rem}.tabulator-row{height:2.25rem}.tabulator-row .tabulator-cell{border-right:transparent;padding:var(--limel-table-table-cell-padding);padding-left:calc(var(--limel-table-table-cell-padding) + var(--limel-table-sorter-arrow-width));height:inherit}.tabulator-row .tabulator-cell[style*="text-align: right;"]{justify-content:flex-end}.tabulator-row .tabulator-cell[style*="text-align: center;"]{justify-content:center}.tabulator-row .tabulator-col-resize-handle{display:none}.tabulator-col,.tabulator-cell{max-width:var(--table-max-column-width, 40rem)}#tabulator-loader,#tabulator-empty-text{position:absolute;width:100%;height:100%;z-index:1;display:flex;align-items:center;justify-content:center}#tabulator-loader{background-color:rgba(var(--contrast-100), 0.6);cursor:wait}#tabulator-empty-text{color:rgb(var(--contrast-800));font-weight:bold;font-size:1.25rem;pointer-events:none}limel-chip{transform:translateY(-0.15rem)}`;
31513
+ const tableCss = () => `@charset "UTF-8";.tabulator{position:relative;border:1px solid #999;background-color:#888;font-size:14px;text-align:left;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select{user-select:none}.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){user-select:none}.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;overflow:hidden;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;outline:none}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{display:inline-flex;position:relative;box-sizing:border-box;flex-direction:column;justify-content:flex-start;border-right:1px solid #aaa;background:#e6e6e6;text-align:left;vertical-align:bottom;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{position:absolute;border:1px solid #999;background:rgb(204.5, 204.5, 204.5);pointer-events:none}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#D6D6D6;color:#000000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#FFFFFF}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;position:relative;padding:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:0.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{white-space:normal;text-overflow:initial}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;width:100%;border:1px solid #999;padding:1px;background:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{display:flex;align-items:center;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{position:relative;display:flex;border-top:1px solid #aaa;overflow:hidden;margin-right:-1px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{position:relative;box-sizing:border-box;margin-top:2px;width:100%;text-align:center}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto !important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{width:0;height:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{cursor:pointer;background-color:rgb(204.5, 204.5, 204.5)}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-right:0;padding-bottom:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;left:0;right:0;top:4px;bottom:auto}.tabulator .tabulator-header .tabulator-frozen{position:sticky;left:0;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder{box-sizing:border-box;display:inline-block;background:rgb(242.75, 242.75, 242.75) !important;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:rgb(242.75, 242.75, 242.75) !important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{position:relative;width:100%;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{display:inline-block;text-align:center;padding:10px;color:#ccc;font-weight:bold;font-size:20px;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{position:relative;display:inline-block;background-color:#fff;white-space:nowrap;overflow:visible;color:#333}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:bold;background:rgb(226.25, 226.25, 226.25) !important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-range-overlay{position:absolute;inset:0;z-index:11;pointer-events:none}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{position:absolute;box-sizing:border-box;border:1px solid #2975DD}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-fill-preview{border-style:dashed}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{position:absolute;box-sizing:border-box;border:2px solid #2975DD}.tabulator .tabulator-footer{border-top:1px solid #999;background-color:#e6e6e6;color:#555;font-weight:bold;white-space:nowrap;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-footer .tabulator-footer-contents{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{display:inline-block;padding:5px;border:#999 1px solid;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;font-size:0.9em}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:0.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;width:100%;text-align:left;background:rgb(242.75, 242.75, 242.75) !important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;overflow:hidden}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:rgb(242.75, 242.75, 242.75) !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px;border-bottom:none}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:normal}.tabulator .tabulator-footer .tabulator-paginator{flex:1;text-align:right;color:#555;font-family:inherit;font-weight:inherit;font-size:inherit}.tabulator .tabulator-footer .tabulator-page-size{display:inline-block;margin:0 5px;padding:2px 5px;border:1px solid #aaa;border-radius:3px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{display:inline-block;margin:0 2px;padding:2px 5px;border:1px solid #aaa;border-radius:3px;background:rgba(255, 255, 255, 0.2)}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{cursor:pointer;background:rgba(0, 0, 0, 0.2);color:#fff}}.tabulator .tabulator-col-resize-handle{position:relative;display:inline-block;width:6px;margin-left:-3px;margin-right:-3px;z-index:11;vertical-align:middle}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-col-resize-guide{position:absolute;top:0;width:4px;height:100%;margin-left:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-row-resize-guide{position:absolute;left:0;width:100%;height:4px;margin-top:-0.5px;background-color:#999;opacity:0.5}.tabulator .tabulator-alert{position:absolute;display:flex;align-items:center;top:0;left:0;z-index:100;height:100%;width:100%;background:rgba(0, 0, 0, 0.4);text-align:center}.tabulator .tabulator-alert .tabulator-alert-msg{display:inline-block;margin:0 auto;padding:10px 20px;border-radius:10px;background:#fff;font-weight:bold;font-size:16px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #D00;color:#590000}.tabulator-row{position:relative;box-sizing:border-box;min-height:22px;background-color:#fff}.tabulator-row.tabulator-row-even{background-color:#EFEFEF}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9ABCEA}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selected:hover{background-color:#769BCC;cursor:pointer}}.tabulator-row.tabulator-row-moving{border:1px solid #000;background:#fff}.tabulator-row.tabulator-moving{position:absolute;border-top:1px solid #aaa;border-bottom:1px solid #aaa;pointer-events:none;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#D6D6D6;color:#000000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#FFFFFF}.tabulator-row .tabulator-row-resize-handle{position:absolute;right:0;bottom:0;left:0;height:5px}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;padding:5px;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;padding:4px;border-right:1px solid #aaa;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.tabulator-row .tabulator-cell .tabulator-tick{fill:#2DC214}.tabulator-row .tabulator-cell .tabulator-cross{fill:#CE1515}.tabulator-row .tabulator-cell.tabulator-row-header{border-right:1px solid #999;border-bottom:1px solid #aaa;background:#e6e6e6}.tabulator-row .tabulator-cell.tabulator-frozen{display:inline-block;position:sticky;left:0;background-color:inherit;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1D68CD;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{border:1px;background:transparent;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #dd0000}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{border:1px;background:transparent;color:#dd0000}.tabulator-row .tabulator-cell.tabulator-row-handle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{width:100%;height:3px;margin-top:2px;background:#666}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9ABCEA}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-row .tabulator-cell .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;height:15px;width:15px;border-radius:20px;background:#666;color:#fff;font-weight:bold;font-size:1.1em}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{opacity:0.7;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{display:inline-block;height:14px;width:14px;border-radius:14px}.tabulator-row.tabulator-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-row.tabulator-group span{margin-left:10px;color:#d00}.tabulator-range-fill-handle{position:absolute;right:-3px;bottom:-3px;width:6px;height:6px;background-color:#2975DD;border-radius:999px;cursor:crosshair;pointer-events:auto}.tabulator-toggle{box-sizing:border-box;display:flex;flex-direction:row;border:1px solid #ccc;background:#dcdcdc}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{box-sizing:border-box;border:1px solid #ccc;background:#fff}.tabulator-popup-container{position:absolute;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #aaa;box-shadow:0 0 5px 0 rgba(0, 0, 0, 0.2);font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10000}.tabulator-popup{padding:5px;border-radius:3px}.tabulator-tooltip{max-width:min(500px, 100%);padding:3px 5px;border-radius:2px;box-shadow:none;font-size:12px;pointer-events:none}.tabulator-menu .tabulator-menu-item{position:relative;box-sizing:border-box;padding:5px 10px;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:0.5}@media (hover: hover) and (pointer: fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#EFEFEF}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu::after{display:inline-block;position:absolute;top:calc(5px + 0.4em);right:10px;height:7px;width:7px;content:"";border-width:1px 1px 0 0;border-style:solid;border-color:#aaa;vertical-align:top;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #aaa}.tabulator-edit-list{max-height:200px;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabulator-edit-list .tabulator-edit-list-item{padding:4px;color:#333;outline:none}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1D68CD}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid rgba(255, 255, 255, 0.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1D68CD}@media (hover: hover) and (pointer: fine){.tabulator-edit-list .tabulator-edit-list-item:hover{cursor:pointer;color:#fff;background:#1D68CD}}.tabulator-edit-list .tabulator-edit-list-placeholder{padding:4px;color:#333;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #aaa;padding:4px;padding-top:6px;color:#333;font-weight:bold}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{text-align:initial;border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-right:initial;margin-left:-1px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:0;padding-left:25px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:initial}.tabulator.tabulator-rtl .tabulator-range-fill-handle{left:-3px;right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-right:initial;border-left:1px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{margin-right:initial;margin-left:5px;border-bottom-left-radius:initial;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-right:initial;margin-left:5px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{position:absolute;top:0;bottom:0;left:0;right:0;z-index:10000}body.tabulator-print-fullscreen-hide>*:not(.tabulator-print-fullscreen){display:none !important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #aaa;border-bottom:2px solid #aaa}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #aaa;border-top:1px solid #999;padding:5px;padding-left:10px;background:#ccc;font-weight:bold;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:rgba(0, 0, 0, 0.1)}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px !important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px !important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#d00}.tabulator-print-table .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0, 0, 0, 0.1);overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0, 0, 0, 0.2)}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:"";left:-3px;top:3px;height:1px;width:7px;background:#333}#tabulator-container,#tabulator-table{height:100%;width:100%}.tabulator{display:flex;flex-direction:column}.tabulator *{box-sizing:border-box}.tabulator .tabulator-header{flex-shrink:0}.tabulator .tabulator-tableholder{isolation:isolate;flex-grow:1;height:unset !important;max-height:unset !important;min-height:unset !important;padding-bottom:5rem}.tabulator .tabulator-footer{flex-shrink:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{position:relative;cursor:pointer;transition:opacity 0.2s ease;right:0}.tabulator-sortable[aria-sort=none] .tabulator-col-sorter{opacity:0}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=none]:hover .tabulator-col-sorter .tabulator-arrow{animation:indicate-sortable-unsorted-column 2s ease forwards}.tabulator-sortable[aria-sort=desc] .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc] .tabulator-col-sorter{opacity:1}.tabulator-sortable[aria-sort=desc]:hover .tabulator-col-sorter,.tabulator-sortable[aria-sort=asc]:hover .tabulator-col-sorter{opacity:1;animation:indicate-sortable-sorted-column 0.5s ease}.tabulator-arrow{rotate:180deg;transition:border 0.2s ease;border-left:0.25rem solid transparent !important;border-right:0.25rem solid transparent !important}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-arrow{height:0.75rem;border-top-width:0.25rem;border-top-style:solid;border-top-color:rgb(var(--table-arrow-color));border-bottom-width:0.25rem;border-bottom-style:solid;border-bottom-color:rgb(var(--table-arrow-color))}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=desc] .tabulator-arrow{height:0;transform:translate3d(0, -0.2rem, 0);border-top-width:0.25rem;border-bottom-width:0;border-top-color:var(--table-arrow-color--active)}.tabulator#tabulator-table .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=asc] .tabulator-arrow{height:0;transform:translate3d(0, 0.2rem, 0);border-top-width:0;border-bottom-width:0.25rem;border-bottom-color:var(--table-arrow-color--active)}@keyframes indicate-sortable-sorted-column{0%,100%{transform:translate3d(0, 0, 0)}30%{transform:translate3d(0, -0.0875rem, 0)}60%{transform:translate3d(0, 0.0875rem, 0)}}@keyframes indicate-sortable-unsorted-column{0%,15%,45%,75%{border-top-color:transparent;border-bottom-color:transparent;transform:translate3d(0, 0, 0)}30%{border-top-color:transparent;border-bottom-color:var(--table-arrow-color--active);transform:translate3d(0, -0.3125rem, 0)}60%{border-top-color:var(--table-arrow-color--active);border-bottom-color:transparent;transform:translate3d(0, 0.3125rem, 0)}100%{border-top-color:rgb(var(--table-arrow-color));border-bottom-color:rgb(var(--table-arrow-color))}}:host(:not(.has-pagination)) #tabulator-container .tabulator-paginator{display:var(--limel-table-single-page-paginator-display, grid)}.tabulator .tabulator-footer .tabulator-paginator{box-sizing:border-box;display:grid;grid-auto-flow:column;justify-content:end;padding-top:0.25rem;padding-bottom:0.25rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages{margin:0 0.5rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-pages .tabulator-page{margin:0 0rem}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]){transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:rgb(var(--contrast-1200)) !important;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{will-change:color, background-color, box-shadow, transform}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover{box-shadow:var(--button-shadow-hovered)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):hover,.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:not([disabled]):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page{position:relative;height:1.75rem;min-width:1.75rem;padding:0 0.5rem;margin:0;border:none;border-radius:2.5rem;background-color:transparent}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page.active{background-color:var(--limel-theme-surface-background-color);box-shadow:var(--button-shadow-inset)}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled{opacity:0.3;cursor:not-allowed}.tabulator .tabulator-footer .tabulator-paginator .tabulator-page:disabled:hover{background-color:transparent}button.tabulator-page{display:inline-flex !important;align-items:center;justify-content:center}button.tabulator-page[data-page=first],button.tabulator-page[data-page=prev],button.tabulator-page[data-page=next],button.tabulator-page[data-page=last]{font-size:0;color:transparent !important}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:before,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:before,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:before,button.tabulator-page[data-page=last]:after{content:"";transition:transform 0.2s ease;display:block;position:absolute}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after,button.tabulator-page[data-page=next]:after,button.tabulator-page[data-page=last]:after{border-style:solid;border-color:transparent;border-width:0.25rem 0 0.25rem 0.4rem;border-left-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before,button.tabulator-page[data-page=last]:before{height:0.5rem;width:0.125rem;background-color:var(--limel-theme-on-surface-color)}button.tabulator-page[data-page=first]:before{left:0.375rem}button.tabulator-page[data-page=last]:before{right:0.375rem}button.tabulator-page[data-page=first]:after,button.tabulator-page[data-page=prev]:after{transform:rotateZ(180deg)}button.tabulator-page[data-page=next]:not([disabled]):hover:after,button.tabulator-page[data-page=last]:not([disabled]):hover:after{transform:translate3d(0.09375rem, 0, 0)}button.tabulator-page[data-page=first]:not([disabled]):hover:after,button.tabulator-page[data-page=prev]:not([disabled]):hover:after{transform:translate3d(-0.09375rem, 0, 0) rotateZ(180deg)}@keyframes fade-in-tabulator-loader{0%{background:transparent}100%{background:rgba(var(--contrast-1400), 0.4)}}@keyframes spin-tabulator-loader{to{transform:rotate(360deg)}}.tabulator .tabulator-loader{animation:fade-in-tabulator-loader 0.5s ease 0.5s forwards;animation-iteration-count:1;cursor:progress;background:transparent}.tabulator .tabulator-loader .tabulator-loader-msg{animation:spin-tabulator-loader 0.4s linear infinite;color:transparent;font-size:0;border-radius:50%;border:0.1875rem solid rgb(var(--lime-brand-color-flexible-turquoise)) !important;border-top-color:transparent !important;width:1.25rem;height:1.25rem;background-color:transparent !important;padding:0}.interactive-feedback{position:absolute;inset:0;min-height:0.125rem;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);background-color:rgb(var(--limel-table-row-background-color))}.tabulator-row:active .interactive-feedback{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 )}.tabulator-row:hover .interactive-feedback,.tabulator-row:active .interactive-feedback{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.tabulator-row:not(.tabulator-calcs){background-color:transparent}.tabulator-row:not(.tabulator-calcs).tabulator-row-odd{--limel-table-row-background-color:var( --table-row-background-color--odd )}.tabulator-row:not(.tabulator-calcs).tabulator-row-even{--limel-table-row-background-color:var( --table-row-background-color--even )}.tabulator-row:not(.tabulator-calcs) .tabulator-cell{pointer-events:none}.tabulator-row:not(.tabulator-calcs) .tabulator-cell>*{pointer-events:auto}.tabulator-row:not(.tabulator-calcs).tabulator-selectable:hover{background-color:var(--table-row-background-color--hover);z-index:var(--limel-table-interactive-selectable-row-z-index-hover)}.tabulator-row:not(.tabulator-calcs).tabulator-selectable.active:before{content:"";display:inline-block;box-sizing:border-box;position:sticky;z-index:calc(var(--limel-table-interactive-selectable-row-z-index-hover) + 1);inset:0 0 auto 0;border:0.2rem solid var(--lime-primary-color, var(--limel-theme-primary-color));border-radius:1rem;margin-right:-0.4rem}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable .interactive-feedback:hover{box-shadow:var(--button-shadow-hovered)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:active .interactive-feedback{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.05rem, 0)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active{--limel-table-row-background-color:var( --table-row-background-color--active )}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback{opacity:0.2;background-color:var(--table-row-background-color--active);box-shadow:var(--button-shadow-inset-pressed)}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable.active .interactive-feedback:hover{opacity:0.3}:host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:not(.active) .interactive-feedback:hover{background-color:var(--table-row-background-color--hover)}:host(.has-low-density) #tabulator-container{width:max-content;max-width:100%;margin:auto}:host(.has-low-density) .tabulator-table{background-color:transparent}:host(.has-low-density) .tabulator-header{border-radius:0.375rem}:host(.has-low-density) .tabulator-footer{border-radius:0.5rem}:host(.has-low-density) .tabulator-calcs-holder{border-radius:0.5rem 0.5rem 0 0}:host(.has-low-density) .tabulator-row{border-radius:0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom){margin-bottom:0.25rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom):first-child{margin-top:0.75rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell{height:2.75rem !important}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:first-child{border-radius:0.5rem 0 0 0.5rem}:host(.has-low-density) .tabulator-row:not(.tabulator-calcs-bottom) .tabulator-cell:last-child{border-radius:0 0.5rem 0.5rem 0}:host(.has-pagination-on-top) .tabulator .tabulator-header{order:2}:host(.has-pagination-on-top) .tabulator .tabulator-tableholder{order:3}:host(.has-pagination-on-top) .tabulator .tabulator-footer{order:1;background-color:transparent}:host(.has-pagination-on-top) .tabulator .tabulator-calcs-holder{position:absolute;bottom:0}:host(.has-pagination-on-top):has(.tabulator-calcs-holder) .tabulator-tableholder{margin-bottom:var(--limel-table-height-of-aggregations-row)}:host(.has-pagination-on-top) .select-all{top:2.5rem}.lime-col-title__custom-component{width:100%;display:flex;align-items:center;margin-right:1.25rem;gap:0.25rem}.title-component-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;flex-shrink:1;min-width:0}.title-component-slot{flex-shrink:0}@keyframes detach-a-column-header{0%{transform:rotate(0deg)}100%{transform:rotate(-2deg)}}:host([movable-columns]:not([movable-columns=false])) .tabulator-header{overflow-y:visible}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen){cursor:move !important}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving{animation:detach-a-column-header 0.2s ease forwards;opacity:0.9;border:none;border-radius:0.25rem;background-color:rgb(var(---table-header-background-color-when-being-dragged));box-shadow:var(--shadow-depth-16)}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving:hover{background-color:rgb(var(---table-header-background-color-when-being-dragged))}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving .tabulator-arrow:before{background-color:rgb(var(---table-header-background-color-when-being-dragged))}.tabulator .tabulator-footer{transition:transform 0.5s ease-out, opacity 0.35s ease;color:var(--table-text-color);background-color:rgb(var(--table-header-background-color--hover));border:none;user-select:auto}.tabulator .tabulator-footer .tabulator-footer-contents{padding:0 0.25rem}.tabulator .tabulator-footer .tabulator-calcs-holder{border-color:rgb(var(--contrast-500));background:rgb(var(--contrast-500)) !important;margin-top:0;margin-bottom:0}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{height:var(--limel-table-height-of-aggregations-row);background:transparent !important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-calcs{cursor:default}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-cell{height:var(--limel-table-height-of-aggregations-row) !important;padding-top:0.25rem;padding-bottom:0}.select-all,.limel-table--row-selector,.limel-table-drag-handle{--limel-checkbox-min-height:1.25rem;display:inline-flex !important;align-items:center;justify-content:center;text-overflow:unset !important;padding:0 !important}.select-all{position:absolute;z-index:var(--limel-table-row-selector-z-index);left:0.375rem;top:0.1875rem}:host([movable-rows]:not([movable-rows=false])) .select-all{left:calc(var(--limel-table-drag-handle-width) + 0.375rem)}.limel-table--row-selector{left:0}:host([movable-rows]:not([movable-rows=false])) .limel-table--row-selector{left:var(--limel-table-drag-handle-width)}.tabulator-block-select .limel-table--row-selector,.tabulator-block-select .limel-table--row-selector *{pointer-events:none !important}.limel-table--row-selector,.limel-table-drag-handle{position:sticky !important;border:none !important;z-index:var(--limel-table-row-selector-z-index) !important}.limel-table--row-selector:before,.limel-table-drag-handle:before{content:"";inset:0.25rem 0;position:absolute;background-image:linear-gradient(to right, rgb(var(--limel-table-row-background-color)) 70%, rgb(var(--limel-table-row-background-color), 0))}.limel-table--row-selector limel-checkbox,.limel-table-drag-handle limel-checkbox{transition:opacity 0.2s ease;opacity:0.3}.tabulator-row:hover .limel-table--row-selector limel-checkbox,.tabulator-row:hover .limel-table-drag-handle limel-checkbox{opacity:1}:host(.has-selection) .limel-table--row-selector limel-checkbox,:host(.has-selection) .limel-table-drag-handle limel-checkbox{opacity:1}.limel-table--row-selector .tabulator-col-resize-handle,.limel-table-drag-handle .tabulator-col-resize-handle{display:none}.limel-table--row-selector+.tabulator-col .tabulator-col-resize-handle.prev,.limel-table--row-selector+.tabulator-cell .tabulator-col-resize-handle.prev,.limel-table-drag-handle+.tabulator-col .tabulator-col-resize-handle.prev,.limel-table-drag-handle+.tabulator-cell .tabulator-col-resize-handle.prev{display:none}:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col.limel-table--row-selector,:host([movable-columns]:not([movable-columns=false])) .tabulator-header .tabulator-col.limel-table-drag-handle{border:none;cursor:default !important;pointer-events:none;background-color:transparent;background-image:linear-gradient(to right, rgb(var(--table-header-background-color--hover)) 70%, rgb(var(--table-header-background-color--hover), 0));left:0}:host([movable-columns]:not([movable-columns=false])[movable-rows]:not([movable-rows=false])) .tabulator-header .tabulator-col.limel-table--row-selector{left:var(--limel-table-drag-handle-width)}:host(.has-selection) .tabulator-calcs .tabulator-cell{color:var(--table-arrow-color--active)}.limel-table-drag-handle{transition:opacity 0.3s ease;left:0;width:var(--limel-table-drag-handle-width) !important;height:2rem !important;user-select:none;z-index:calc(var(--limel-table-row-selector-z-index) + 1) !important;background-color:transparent !important}:host([selectable]:not([selectable=false])) .limel-table-drag-handle{background-image:none !important;background-color:rgb(var(--limel-table-row-background-color)) !important}.tabulator-block-select .limel-table-drag-handle{opacity:0.3;cursor:grabbing}.tabulator-block-select .limel-table-drag-handle limel-drag-handle,.tabulator-block-select .limel-table-drag-handle limel-drag-handle *{pointer-events:none !important}.tabulator-row.tabulator-moving .limel-table-drag-handle limel-drag-handle button:last-of-type{display:none;}:host(limel-table){--limel-table-interactive-selectable-row-z-index-hover:2;--limel-table-sorter-arrow-width:0.5rem;--limel-table-table-cell-padding:0.5rem;--limel-table-row-selector-z-index:1;--limel-table-drag-handle-width:2rem;--limel-table-height-of-aggregations-row:1.5rem;isolation:isolate;display:block;--table-header-background-color:var(--contrast-500);--table-header-background-color--hover:var(--contrast-400);--table-header-background-color-when-being-dragged:var(--contrast-100);--table-row-background-color--odd:var(--contrast-200);--table-row-background-color--even:var(--contrast-100);--table-row-background-color--hover:var( --lime-elevated-surface-background-color );--table-row-background-color--active:var(--mdc-theme-primary);--table-arrow-color:var(--contrast-800);--table-arrow-color--active:var( --lime-primary-color, var(--limel-theme-primary-color) );--table-text-color:var(--limel-theme-text-primary-on-background-color);--limel-chip-size:1.25rem}#tabulator-container{position:relative}#tabulator-container,#tabulator-table{background-color:transparent;border:none}.tabulator .tabulator-header{color:var(--table-text-color)}.tabulator .tabulator-tableholder .tabulator-table{color:var(--table-text-color);background-color:transparent}.tabulator .tabulator-header{border-bottom:0;background-color:rgb(var(--table-header-background-color))}.tabulator .tabulator-header .tabulator-headers{width:fit-content}.tabulator .tabulator-header .tabulator-col{transition:background-color 0.2s ease;background-color:rgb(var(--table-header-background-color));border-right-color:rgb(var(--contrast-200))}.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:rgb(var(--table-header-background-color--hover))}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:0 var(--limel-table-sorter-arrow-width) 0 0.25rem}.tabulator .tabulator-header .tabulator-col-title-holder{height:1.75rem;display:flex;align-items:center;gap:0.25rem}.tabulator .tabulator-header .tabulator-col-sorter{order:1}.tabulator .tabulator-header .tabulator-col-title{order:2;font-weight:500;padding-right:0 !important;line-height:1.25rem}.tabulator-row{height:2.25rem}.tabulator-row .tabulator-cell{border-right:transparent;padding:var(--limel-table-table-cell-padding);padding-left:calc(var(--limel-table-table-cell-padding) + var(--limel-table-sorter-arrow-width));height:inherit}.tabulator-row .tabulator-cell[style*="text-align: right;"]{justify-content:flex-end}.tabulator-row .tabulator-cell[style*="text-align: center;"]{justify-content:center}.tabulator-row .tabulator-col-resize-handle{display:none}.tabulator-col,.tabulator-cell{max-width:var(--table-max-column-width, 40rem)}#tabulator-loader,#tabulator-empty-text{position:absolute;width:100%;height:100%;z-index:1;display:flex;align-items:center;justify-content:center}#tabulator-loader{background-color:rgba(var(--contrast-100), 0.6);cursor:wait}#tabulator-empty-text{color:rgb(var(--contrast-800));font-weight:bold;font-size:1.25rem;pointer-events:none}limel-chip{transform:translateY(-0.15rem)}`;
31098
31514
 
31099
31515
  const FIRST_PAGE = 1;
31100
31516
  const Table = class {
@@ -31211,7 +31627,7 @@ const Table = class {
31211
31627
  });
31212
31628
  };
31213
31629
  this.getTranslation = (key) => {
31214
- return translations.translate.get(key, this.language);
31630
+ return translations.translations.get(key, this.language);
31215
31631
  };
31216
31632
  this.handleDataSorting = this.handleDataSorting.bind(this);
31217
31633
  this.handlePageLoaded = this.handlePageLoaded.bind(this);
@@ -31263,10 +31679,7 @@ const Table = class {
31263
31679
  this.refreshRemotePaginator();
31264
31680
  }
31265
31681
  pageChanged() {
31266
- if (!this.tabulator) {
31267
- return;
31268
- }
31269
- if (this.tabulator.getPage() === this.page) {
31682
+ if (!this.tabulator || this.tabulator.getPage() === this.page) {
31270
31683
  return;
31271
31684
  }
31272
31685
  this.tabulator.setPage(this.page);
@@ -31282,7 +31695,7 @@ const Table = class {
31282
31695
  const oldIds = this.getRowIds(oldData);
31283
31696
  const shouldReplace = !this.areEqualIds(newIds, oldIds) ||
31284
31697
  !this.isSameOrder(newIds, oldIds);
31285
- setTimeout(() => {
31698
+ setTimeout(async () => {
31286
31699
  if (!this.tabulator || !this.initialized) {
31287
31700
  return;
31288
31701
  }
@@ -31294,19 +31707,18 @@ const Table = class {
31294
31707
  }
31295
31708
  if (!areRowsEqual(newData, oldData)) {
31296
31709
  const patched = this.fillMissingFields(newData, oldData);
31297
- this.tabulator.updateData(patched).then(() => {
31298
- if (!this.tabulator) {
31299
- return;
31300
- }
31301
- this.reformatChangedRows(newData, oldData);
31302
- this.setSelection();
31303
- });
31710
+ await this.tabulator.updateData(patched);
31711
+ if (!this.tabulator) {
31712
+ return;
31713
+ }
31714
+ this.reformatChangedRows(newData, oldData);
31715
+ this.setSelection();
31304
31716
  return;
31305
31717
  }
31306
31718
  if (newData.length > 0) {
31307
31719
  this.tabulator.updateOrAddData(newData);
31308
31720
  }
31309
- });
31721
+ }, 0);
31310
31722
  }
31311
31723
  updateColumns(newColumns, oldColumns) {
31312
31724
  if (!this.tabulator || !this.initialized) {
@@ -31375,10 +31787,11 @@ const Table = class {
31375
31787
  if (this.hasWarnedOnConflictingMovableAndSortable) {
31376
31788
  return;
31377
31789
  }
31378
- if (this.movableRows && this.sortableColumns) {
31379
- 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`.');
31380
- this.hasWarnedOnConflictingMovableAndSortable = true;
31790
+ if (!(this.movableRows && this.sortableColumns)) {
31791
+ return;
31381
31792
  }
31793
+ 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`.');
31794
+ this.hasWarnedOnConflictingMovableAndSortable = true;
31382
31795
  }
31383
31796
  updateSorting(newValue, oldValue) {
31384
31797
  if (!this.tabulator || !this.initialized) {
@@ -31394,11 +31807,12 @@ const Table = class {
31394
31807
  }
31395
31808
  reformatChangedRows(newData, oldData) {
31396
31809
  for (const [i, newRow] of newData.entries()) {
31397
- if (!!(newRow === null || newRow === void 0 ? void 0 : newRow.id) && !isEqual.isEqual(newRow, oldData[i])) {
31398
- const row = this.tabulator.getRow(newRow.id);
31399
- if (row) {
31400
- row.reformat();
31401
- }
31810
+ if (!(newRow === null || newRow === void 0 ? void 0 : newRow.id) || isEqual.isEqual(newRow, oldData[i])) {
31811
+ continue;
31812
+ }
31813
+ const row = this.tabulator.getRow(newRow.id);
31814
+ if (row) {
31815
+ row.reformat();
31402
31816
  }
31403
31817
  }
31404
31818
  }
@@ -31408,7 +31822,9 @@ const Table = class {
31408
31822
  if (!oldRow) {
31409
31823
  return newRow;
31410
31824
  }
31411
- const missingKeys = Object.keys(oldRow).filter((key) => !(key in newRow));
31825
+ const missingKeys = Object.keys(oldRow).filter(
31826
+ // eslint-disable-next-line unicorn/no-computed-property-existence-check -- `in` must also see inherited properties, e.g. getters on class instances
31827
+ (key) => !(key in newRow));
31412
31828
  if (missingKeys.length === 0) {
31413
31829
  return newRow;
31414
31830
  }
@@ -31531,10 +31947,11 @@ const Table = class {
31531
31947
  }
31532
31948
  }
31533
31949
  initTableSelection() {
31534
- if (this.selectable) {
31535
- this.tableSelection = new TableSelection(() => this.tabulator, this.pool, this.select, (key) => this.getTranslation(key));
31536
- this.tableSelection.setSelection(this.selection);
31950
+ if (!this.selectable) {
31951
+ return;
31537
31952
  }
31953
+ this.tableSelection = new TableSelection(() => this.tabulator, this.pool, this.select, (key) => this.getTranslation(key));
31954
+ this.tableSelection.setSelection(this.selection);
31538
31955
  }
31539
31956
  setSelection() {
31540
31957
  if (!(this.tabulator && this.tableSelection)) {
@@ -31579,10 +31996,11 @@ const Table = class {
31579
31996
  catch (_c) {
31580
31997
  return;
31581
31998
  }
31582
- if (scrollContainer) {
31583
- scrollContainer.scrollTop = scrollTop;
31584
- scrollContainer.scrollLeft = scrollLeft;
31999
+ if (!scrollContainer) {
32000
+ return;
31585
32001
  }
32002
+ scrollContainer.scrollTop = scrollTop;
32003
+ scrollContainer.scrollLeft = scrollLeft;
31586
32004
  }
31587
32005
  /**
31588
32006
  * Tabulator's scrollable row container, inside `<limel-table>`'s
@@ -31746,10 +32164,11 @@ const Table = class {
31746
32164
  this.changePage.emit(page);
31747
32165
  }
31748
32166
  handleRenderComplete() {
31749
- if (this.tabulator && this.shouldSort) {
31750
- this.shouldSort = false;
31751
- this.tabulator.setSort(this.getInitialSorting());
32167
+ if (!(this.tabulator && this.shouldSort)) {
32168
+ return;
31752
32169
  }
32170
+ this.shouldSort = false;
32171
+ this.tabulator.setSort(this.getInitialSorting());
31753
32172
  }
31754
32173
  onClickRow(event, row) {
31755
32174
  if (row.getPosition === undefined) {
@@ -31768,8 +32187,9 @@ const Table = class {
31768
32187
  this.activate.emit(this.activeRow);
31769
32188
  }
31770
32189
  formatRows() {
31771
- // eslint-disable-next-line unicorn/no-array-for-each
31772
- this.tabulator.getRows().forEach(this.formatRow);
32190
+ for (const row of this.tabulator.getRows()) {
32191
+ this.formatRow(row);
32192
+ }
31773
32193
  }
31774
32194
  formatRow(row) {
31775
32195
  if (this.isActiveRow(row)) {
@@ -31781,11 +32201,12 @@ const Table = class {
31781
32201
  const interactiveFeedbackElement = row
31782
32202
  .getElement()
31783
32203
  .querySelectorAll('.interactive-feedback');
31784
- if (interactiveFeedbackElement.length === 0) {
31785
- const element = row.getElement().ownerDocument.createElement('div');
31786
- element.classList.add('interactive-feedback');
31787
- row.getElement().prepend(element);
32204
+ if (interactiveFeedbackElement.length > 0) {
32205
+ return;
31788
32206
  }
32207
+ const element = row.getElement().ownerDocument.createElement('div');
32208
+ element.classList.add('interactive-feedback');
32209
+ row.getElement().prepend(element);
31789
32210
  }
31790
32211
  isActiveRow(row) {
31791
32212
  var _a;
@@ -31830,13 +32251,13 @@ const Table = class {
31830
32251
  render() {
31831
32252
  var _a, _b;
31832
32253
  const totalRows = (_a = this.totalRows) !== null && _a !== void 0 ? _a : this.data.length;
31833
- return (index.h(index.Host, { key: 'd7b3d7357afd74a50a5096df20d2c8b80215c44e', class: {
32254
+ return (index.h(index.Host, { key: 'fbc213159bb430688bad03e74964e10edfcd829d', class: {
31834
32255
  'has-low-density': this.layout === 'lowDensity',
31835
32256
  'has-pagination-on-top': this.paginationLocation === 'top',
31836
32257
  'has-aggregation': this.hasAggregation(this.columns),
31837
32258
  'has-pagination': totalRows > this.pageSize,
31838
32259
  'has-selection': (_b = this.tableSelection) === null || _b === void 0 ? void 0 : _b.hasSelection,
31839
- } }, index.h("div", { key: '85d4a0102b483b4cc445aeef0f1e61eb7e6193a7', id: "tabulator-container" }, index.h("div", { key: '4cef0219d120662fae2f942478f375adb0df6e8b', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, index.h("limel-spinner", { key: '3a37a59de9728849a1fae6869e741a45f96ef327', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), index.h("div", { key: '77b23fb41ad3b972f097c71ea333dfc8b97c46bf', id: "tabulator-table" }))));
32260
+ } }, index.h("div", { key: 'cc988b86f74549d7ad773e748fef7cd92345efa5', id: "tabulator-container" }, index.h("div", { key: 'fd765d0050979609eaf4b9192f74b0abcf2cc0bd', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, index.h("limel-spinner", { key: '8416fbae6d90b71ee9151f7c28450373a685fc99', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), index.h("div", { key: '52aa28d0e575d8da169b8c6bb84d93b6f73f9a12', id: "tabulator-table" }))));
31840
32261
  }
31841
32262
  renderSelectAll() {
31842
32263
  var _a, _b, _c;