@limetech/lime-elements 40.5.4 → 40.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/{adapt-color-contrast-Beo1IEl_.js → adapt-color-contrast-h6iwOfZd.js} +1 -1
  3. package/dist/cjs/{checkbox.template-BPk8WkQF.js → checkbox.template-CoNVC4Nf.js} +2 -2
  4. package/dist/cjs/{files-DI4jItxi.js → files-DpGigQ8k.js} +1 -1
  5. package/dist/cjs/{format-bytes-CpUKKU86.js → format-bytes-WTHVI718.js} +1 -4
  6. package/dist/cjs/{hotkeys-BtR8uxvl.js → hotkeys-D761KWnZ.js} +1 -0
  7. package/dist/cjs/{image-resize-CG2fitJT.js → image-resize-JlRLB97I.js} +1 -0
  8. package/dist/cjs/{image.template-DY7qwbuy.js → image.template-DlF-f23b.js} +1 -1
  9. package/dist/cjs/{index--B6-r0uo.js → index-BlsqxTB1.js} +1 -7
  10. package/dist/cjs/{index-ETPz91V5.js → index-zZvs6xK-.js} +9382 -9504
  11. package/dist/cjs/index.cjs.js +1 -1
  12. package/dist/cjs/{isArrayLikeObject-U2Ddbw4n.js → isArrayLikeObject-BhSkOTkw.js} +17 -0
  13. package/dist/cjs/{language-CaqPKPyW.js → language-v-MMS6ym.js} +1 -1
  14. package/dist/cjs/lime-elements.cjs.js +2 -2
  15. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-action-bar_3.cjs.entry.js +20 -18
  17. package/dist/cjs/limel-ai-avatar.cjs.entry.js +5 -5
  18. package/dist/cjs/limel-badge.cjs.entry.js +3 -3
  19. package/dist/cjs/limel-banner.cjs.entry.js +2 -2
  20. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +80 -80
  21. package/dist/cjs/limel-button-group.cjs.entry.js +3 -3
  22. package/dist/cjs/limel-button.cjs.entry.js +4 -4
  23. package/dist/cjs/limel-callout.cjs.entry.js +6 -6
  24. package/dist/cjs/limel-card.cjs.entry.js +8 -7
  25. package/dist/cjs/limel-chart.cjs.entry.js +5 -5
  26. package/dist/cjs/limel-checkbox.cjs.entry.js +12 -10
  27. package/dist/cjs/limel-chip-set.cjs.entry.js +30 -39
  28. package/dist/cjs/limel-chip_2.cjs.entry.js +9 -9
  29. package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
  30. package/dist/cjs/limel-code-diff.cjs.entry.js +25 -28
  31. package/dist/cjs/limel-code-editor.cjs.entry.js +17 -12
  32. package/dist/cjs/limel-collapsible-section.cjs.entry.js +8 -8
  33. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -3
  34. package/dist/cjs/limel-color-picker.cjs.entry.js +6 -5
  35. package/dist/cjs/limel-config.cjs.entry.js +3 -3
  36. package/dist/cjs/limel-date-picker.cjs.entry.js +8 -11
  37. package/dist/cjs/limel-dialog.cjs.entry.js +6 -9
  38. package/dist/cjs/limel-dock-button.cjs.entry.js +6 -11
  39. package/dist/cjs/limel-dock.cjs.entry.js +3 -3
  40. package/dist/cjs/limel-drag-handle.cjs.entry.js +6 -6
  41. package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-email-viewer.cjs.entry.js +11 -17
  43. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +11 -12
  44. package/dist/cjs/limel-file-viewer.cjs.entry.js +1099 -1147
  45. package/dist/cjs/limel-file.cjs.entry.js +17 -16
  46. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +100 -94
  47. package/dist/cjs/limel-flex-container.cjs.entry.js +2 -2
  48. package/dist/cjs/limel-form.cjs.entry.js +67 -68
  49. package/dist/cjs/limel-grid.cjs.entry.js +2 -2
  50. package/dist/cjs/limel-header.cjs.entry.js +2 -2
  51. package/dist/cjs/limel-help-content.cjs.entry.js +2 -2
  52. package/dist/cjs/limel-help.cjs.entry.js +3 -3
  53. package/dist/cjs/limel-helper-line_3.cjs.entry.js +12 -14
  54. package/dist/cjs/limel-hotkey_4.cjs.entry.js +23 -23
  55. package/dist/cjs/limel-icon-button.cjs.entry.js +4 -4
  56. package/dist/cjs/limel-icon.cjs.entry.js +15 -13
  57. package/dist/cjs/limel-info-tile.cjs.entry.js +10 -10
  58. package/dist/cjs/limel-list-item.cjs.entry.js +10 -10
  59. package/dist/cjs/limel-markdown.cjs.entry.js +50 -23
  60. package/dist/cjs/limel-masonry-layout.cjs.entry.js +6 -5
  61. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +3 -3
  62. package/dist/cjs/limel-pagination-jump.cjs.entry.js +17 -15
  63. package/dist/cjs/limel-pagination.cjs.entry.js +10 -9
  64. package/dist/cjs/limel-picker.cjs.entry.js +31 -29
  65. package/dist/cjs/limel-popover_2.cjs.entry.js +25 -21
  66. package/dist/cjs/limel-profile-picture.cjs.entry.js +12 -11
  67. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  68. package/dist/cjs/limel-progress-flow.cjs.entry.js +11 -10
  69. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +476 -408
  70. package/dist/cjs/limel-radio-button-group.cjs.entry.js +2 -2
  71. package/dist/cjs/limel-radio-button.cjs.entry.js +3 -3
  72. package/dist/cjs/limel-scroller.cjs.entry.js +180 -0
  73. package/dist/cjs/limel-select.cjs.entry.js +17 -17
  74. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  75. package/dist/cjs/limel-slider.cjs.entry.js +18 -27
  76. package/dist/cjs/limel-snackbar.cjs.entry.js +5 -5
  77. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  78. package/dist/cjs/limel-switch.cjs.entry.js +3 -3
  79. package/dist/cjs/limel-tab-bar.cjs.entry.js +66 -97
  80. package/dist/cjs/limel-tab-panel.cjs.entry.js +12 -9
  81. package/dist/cjs/limel-table.cjs.entry.js +527 -106
  82. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +15 -14
  83. package/dist/cjs/limel-text-editor.cjs.entry.js +3 -3
  84. package/dist/cjs/loader.cjs.js +2 -2
  85. package/dist/cjs/{make-enter-clickable-NuTMC9MU.js → make-enter-clickable-BZHEWIJD.js} +19 -12
  86. package/dist/cjs/markdown-exporter-C-UW43FF.js +6210 -0
  87. package/dist/cjs/{markdown-parser-YH5HSSgF.js → markdown-parser-ssDij8_l.js} +603 -870
  88. package/dist/cjs/{moment-CqRdiK10.js → moment-Cfsz2WF1.js} +1062 -833
  89. package/dist/cjs/{random-string-BTzDB2ee.js → random-string-CFCtFh5l.js} +1 -0
  90. package/dist/cjs/{render-list-component-5ZKWpCnM.js → render-list-component-BtAliHQp.js} +3 -5
  91. package/dist/cjs/{sv-BSR4W58y.js → sv-Co78RX70.js} +31 -3
  92. package/dist/cjs/{translations-DFFpR6AZ.js → translations-CNTWud2a.js} +5 -8
  93. package/dist/collection/collection-manifest.json +1 -0
  94. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  95. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +8 -7
  96. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  97. package/dist/collection/components/action-bar/action-bar.js +6 -5
  98. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  99. package/dist/collection/components/badge/badge.js +2 -2
  100. package/dist/collection/components/banner/banner.js +1 -1
  101. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  102. package/dist/collection/components/button/button.js +2 -2
  103. package/dist/collection/components/button-group/button-group.js +1 -1
  104. package/dist/collection/components/callout/callout.js +1 -1
  105. package/dist/collection/components/card/card.js +6 -5
  106. package/dist/collection/components/checkbox/checkbox.js +9 -7
  107. package/dist/collection/components/checkbox/checkbox.template.js +1 -1
  108. package/dist/collection/components/chip/chip.js +1 -1
  109. package/dist/collection/components/chip-set/chip-set-input-helpers.js +18 -21
  110. package/dist/collection/components/chip-set/chip-set.js +7 -13
  111. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  112. package/dist/collection/components/code-diff/code-diff.js +19 -22
  113. package/dist/collection/components/code-diff/diff-engine.js +2 -2
  114. package/dist/collection/components/code-editor/code-editor.js +8 -3
  115. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  116. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  117. package/dist/collection/components/color-picker/color-picker.js +5 -4
  118. package/dist/collection/components/config/config.js +2 -2
  119. package/dist/collection/components/date-picker/date-picker.js +3 -6
  120. package/dist/collection/components/date-picker/flatpickr-adapter/deferred-destroy.js +4 -3
  121. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  122. package/dist/collection/components/date-picker/pickers/month-picker.js +40 -36
  123. package/dist/collection/components/date-picker/pickers/quarter-picker.js +35 -30
  124. package/dist/collection/components/date-picker/pickers/year-picker.js +16 -20
  125. package/dist/collection/components/dialog/dialog.js +4 -7
  126. package/dist/collection/components/dock/dock-button/dock-button.js +4 -9
  127. package/dist/collection/components/dock/dock.js +2 -2
  128. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  129. package/dist/collection/components/email-viewer/email-loader.js +14 -10
  130. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  131. package/dist/collection/components/email-viewer/sanitize-email-html.js +1 -4
  132. package/dist/collection/components/email-viewer/split-email-address-list.js +4 -10
  133. package/dist/collection/components/file/file.js +11 -10
  134. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  135. package/dist/collection/components/file-input/file-input.js +7 -8
  136. package/dist/collection/components/file-viewer/file-viewer.js +12 -9
  137. package/dist/collection/components/flex-container/flex-container.js +1 -1
  138. package/dist/collection/components/form/fields/schema-field.js +1 -1
  139. package/dist/collection/components/form/form.js +2 -5
  140. package/dist/collection/components/form/form.test-schemas.js +8 -10
  141. package/dist/collection/components/form/templates/array-field.js +7 -9
  142. package/dist/collection/components/form/templates/common.js +19 -19
  143. package/dist/collection/components/form/templates/object-field.js +1 -1
  144. package/dist/collection/components/form/validation-display.js +2 -2
  145. package/dist/collection/components/form/validators/format.js +1 -0
  146. package/dist/collection/components/form/widgets/code-editor.js +6 -9
  147. package/dist/collection/components/form/widgets/date-picker.js +1 -3
  148. package/dist/collection/components/grid/grid.js +1 -1
  149. package/dist/collection/components/header/header.js +1 -1
  150. package/dist/collection/components/help/help-content.js +1 -1
  151. package/dist/collection/components/help/help.js +2 -2
  152. package/dist/collection/components/helper-line/helper-line.js +3 -3
  153. package/dist/collection/components/hotkey/hotkey.js +1 -1
  154. package/dist/collection/components/icon/icon.js +11 -9
  155. package/dist/collection/components/icon-button/icon-button.js +1 -1
  156. package/dist/collection/components/info-tile/info-tile.js +9 -9
  157. package/dist/collection/components/input-field/input-field.js +11 -11
  158. package/dist/collection/components/list/list-renderer.js +5 -7
  159. package/dist/collection/components/list/list.js +2 -2
  160. package/dist/collection/components/list-item/list-item.js +2 -2
  161. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  162. package/dist/collection/components/markdown/hydrate-custom-elements.js +6 -5
  163. package/dist/collection/components/markdown/image-intersection-observer.js +9 -8
  164. package/dist/collection/components/markdown/image-markdown-plugin.js +9 -7
  165. package/dist/collection/components/markdown/link-markdown-plugin.js +11 -10
  166. package/dist/collection/components/markdown/markdown-exporter.js +186 -0
  167. package/dist/collection/components/markdown/markdown-parser.js +2 -3
  168. package/dist/collection/components/markdown/markdown.js +59 -6
  169. package/dist/collection/components/markdown/remove-empty-paragraphs-plugin.js +4 -5
  170. package/dist/collection/components/masonry-layout/masonry-layout.js +5 -4
  171. package/dist/collection/components/menu/menu.js +48 -46
  172. package/dist/collection/components/menu-list/menu-list-renderer.js +8 -8
  173. package/dist/collection/components/menu-list/menu-list.js +1 -1
  174. package/dist/collection/components/menu-surface/menu-surface.js +6 -8
  175. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  176. package/dist/collection/components/pagination/jump/pagination-jump.js +13 -11
  177. package/dist/collection/components/pagination/pagination.js +5 -4
  178. package/dist/collection/components/picker/picker.js +25 -23
  179. package/dist/collection/components/popover/popover.js +13 -10
  180. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  181. package/dist/collection/components/portal/contains.js +9 -8
  182. package/dist/collection/components/portal/portal.js +16 -16
  183. package/dist/collection/components/profile-picture/profile-picture.js +4 -3
  184. package/dist/collection/components/progress-flow/progress-flow.js +10 -9
  185. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  186. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  187. package/dist/collection/components/scroller/scroller.css +317 -0
  188. package/dist/collection/components/scroller/scroller.js +284 -0
  189. package/dist/collection/components/select/select.js +13 -11
  190. package/dist/collection/components/select/select.template.js +1 -3
  191. package/dist/collection/components/slider/get-percentage-class.js +9 -18
  192. package/dist/collection/components/slider/slider.js +2 -2
  193. package/dist/collection/components/tab-bar/tab-bar.css +7 -289
  194. package/dist/collection/components/tab-bar/tab-bar.js +59 -104
  195. package/dist/collection/components/tab-panel/tab-panel.js +11 -8
  196. package/dist/collection/components/table/columns.js +1 -3
  197. package/dist/collection/components/table/element-pool.js +1 -1
  198. package/dist/collection/components/table/table-selection.js +6 -5
  199. package/dist/collection/components/table/table.css +15 -17
  200. package/dist/collection/components/table/table.js +44 -39
  201. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +11 -10
  202. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-command-utils/list-utils.js +1 -1
  203. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-commands.js +6 -10
  204. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/inserter.js +37 -40
  205. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/node.js +2 -1
  206. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/link/link-plugin.js +21 -20
  207. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/menu-state-tracking-plugin.js +6 -5
  208. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/trigger/factory-helpers/detect-trigger-removal.js +15 -14
  209. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +40 -34
  210. package/dist/collection/components/text-editor/text-editor.js +1 -1
  211. package/dist/collection/components/text-editor/utils/metadata-utils.js +1 -1
  212. package/dist/collection/components/text-editor/utils/plugin-factory.js +3 -3
  213. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  214. package/dist/collection/components/tooltip/tooltip.js +2 -2
  215. package/dist/collection/global/icon-cache/factory.js +2 -3
  216. package/dist/collection/global/icon-cache/in-memory-icon-cache.js +2 -0
  217. package/dist/collection/global/translations.js +1 -3
  218. package/dist/collection/translations/fr.js +3 -3
  219. package/dist/collection/util/adapt-color-contrast.js +1 -1
  220. package/dist/collection/util/files.js +1 -1
  221. package/dist/collection/util/format-bytes.js +1 -4
  222. package/dist/collection/util/hotkeys.js +1 -0
  223. package/dist/collection/util/image-resize.js +1 -0
  224. package/dist/collection/util/language.js +1 -1
  225. package/dist/collection/util/make-enter-clickable.js +19 -12
  226. package/dist/collection/util/random-string.js +1 -0
  227. package/dist/collection/util/render-list-component.js +2 -4
  228. package/dist/esm/{adapt-color-contrast-Dgcw_h7C.js → adapt-color-contrast-BQoih_t0.js} +1 -1
  229. package/dist/esm/{checkbox.template-Cx_3u92S.js → checkbox.template-IDyv2bgn.js} +2 -2
  230. package/dist/esm/{files-DnkFEKoB.js → files-CKnLqPDj.js} +1 -1
  231. package/dist/esm/{format-bytes-u_sd2HMb.js → format-bytes-24yUSW40.js} +1 -4
  232. package/dist/esm/{hotkeys-BxrRWYts.js → hotkeys-DjmlD0Mw.js} +1 -0
  233. package/dist/esm/{image-resize-BTSG--2-.js → image-resize-Dv2HOgWN.js} +1 -0
  234. package/dist/esm/{image.template-wqMwmOF-.js → image.template-BGjw97m_.js} +1 -1
  235. package/dist/esm/{index-CbciMfiU.js → index-BN64nlbO.js} +9369 -9505
  236. package/dist/esm/{index-Bnc9lzk2.js → index-BU9IJqli.js} +1 -7
  237. package/dist/esm/index.js +1 -1
  238. package/dist/esm/{isArrayLikeObject-CJB8HbtH.js → isArrayLikeObject-tmUOLOWr.js} +17 -1
  239. package/dist/esm/{language-C3hECvXE.js → language-ChagAaNf.js} +1 -1
  240. package/dist/esm/lime-elements.js +3 -3
  241. package/dist/esm/limel-3d-hover-effect-glow.entry.js +2 -2
  242. package/dist/esm/limel-action-bar_3.entry.js +20 -18
  243. package/dist/esm/limel-ai-avatar.entry.js +5 -5
  244. package/dist/esm/limel-badge.entry.js +3 -3
  245. package/dist/esm/limel-banner.entry.js +2 -2
  246. package/dist/esm/limel-breadcrumbs_6.entry.js +80 -80
  247. package/dist/esm/limel-button-group.entry.js +3 -3
  248. package/dist/esm/limel-button.entry.js +4 -4
  249. package/dist/esm/limel-callout.entry.js +6 -6
  250. package/dist/esm/limel-card.entry.js +8 -7
  251. package/dist/esm/limel-chart.entry.js +5 -5
  252. package/dist/esm/limel-checkbox.entry.js +12 -10
  253. package/dist/esm/limel-chip-set.entry.js +30 -39
  254. package/dist/esm/limel-chip_2.entry.js +9 -9
  255. package/dist/esm/limel-circular-progress.entry.js +2 -2
  256. package/dist/esm/limel-code-diff.entry.js +25 -28
  257. package/dist/esm/limel-code-editor.entry.js +17 -12
  258. package/dist/esm/limel-collapsible-section.entry.js +8 -8
  259. package/dist/esm/limel-color-picker-palette.entry.js +3 -3
  260. package/dist/esm/limel-color-picker.entry.js +6 -5
  261. package/dist/esm/limel-config.entry.js +3 -3
  262. package/dist/esm/limel-date-picker.entry.js +8 -11
  263. package/dist/esm/limel-dialog.entry.js +6 -9
  264. package/dist/esm/limel-dock-button.entry.js +6 -11
  265. package/dist/esm/limel-dock.entry.js +3 -3
  266. package/dist/esm/limel-drag-handle.entry.js +6 -6
  267. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  268. package/dist/esm/limel-email-viewer.entry.js +11 -17
  269. package/dist/esm/limel-file-dropzone_2.entry.js +11 -12
  270. package/dist/esm/limel-file-viewer.entry.js +1099 -1147
  271. package/dist/esm/limel-file.entry.js +17 -16
  272. package/dist/esm/limel-flatpickr-adapter.entry.js +100 -94
  273. package/dist/esm/limel-flex-container.entry.js +2 -2
  274. package/dist/esm/limel-form.entry.js +66 -67
  275. package/dist/esm/limel-grid.entry.js +2 -2
  276. package/dist/esm/limel-header.entry.js +2 -2
  277. package/dist/esm/limel-help-content.entry.js +2 -2
  278. package/dist/esm/limel-help.entry.js +3 -3
  279. package/dist/esm/limel-helper-line_3.entry.js +12 -14
  280. package/dist/esm/limel-hotkey_4.entry.js +23 -23
  281. package/dist/esm/limel-icon-button.entry.js +4 -4
  282. package/dist/esm/limel-icon.entry.js +15 -13
  283. package/dist/esm/limel-info-tile.entry.js +10 -10
  284. package/dist/esm/limel-list-item.entry.js +10 -10
  285. package/dist/esm/limel-markdown.entry.js +50 -23
  286. package/dist/esm/limel-masonry-layout.entry.js +6 -5
  287. package/dist/esm/limel-menu-item-meta.entry.js +3 -3
  288. package/dist/esm/limel-pagination-jump.entry.js +17 -15
  289. package/dist/esm/limel-pagination.entry.js +10 -9
  290. package/dist/esm/limel-picker.entry.js +31 -29
  291. package/dist/esm/limel-popover_2.entry.js +25 -21
  292. package/dist/esm/limel-profile-picture.entry.js +12 -11
  293. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  294. package/dist/esm/limel-progress-flow.entry.js +11 -10
  295. package/dist/esm/limel-prosemirror-adapter.entry.js +476 -408
  296. package/dist/esm/limel-radio-button-group.entry.js +2 -2
  297. package/dist/esm/limel-radio-button.entry.js +3 -3
  298. package/dist/esm/limel-scroller.entry.js +178 -0
  299. package/dist/esm/limel-select.entry.js +17 -17
  300. package/dist/esm/limel-shortcut.entry.js +1 -1
  301. package/dist/esm/limel-slider.entry.js +18 -27
  302. package/dist/esm/limel-snackbar.entry.js +5 -5
  303. package/dist/esm/limel-split-button.entry.js +1 -1
  304. package/dist/esm/limel-switch.entry.js +3 -3
  305. package/dist/esm/limel-tab-bar.entry.js +66 -97
  306. package/dist/esm/limel-tab-panel.entry.js +12 -9
  307. package/dist/esm/limel-table.entry.js +527 -106
  308. package/dist/esm/limel-text-editor-link-menu.entry.js +15 -14
  309. package/dist/esm/limel-text-editor.entry.js +3 -3
  310. package/dist/esm/loader.js +3 -3
  311. package/dist/esm/{make-enter-clickable-BgTwPGeH.js → make-enter-clickable-CIf8aGSd.js} +19 -12
  312. package/dist/esm/markdown-exporter-DblYRMhY.js +6208 -0
  313. package/dist/esm/{markdown-parser-DrxxGLF5.js → markdown-parser-CAPDx7i8.js} +530 -813
  314. package/dist/esm/{moment-DQRNe8qq.js → moment-_DadZLWp.js} +1062 -833
  315. package/dist/esm/{random-string-JbKhhoXs.js → random-string-BrjD-ITe.js} +1 -0
  316. package/dist/esm/{render-list-component-cicbMp0l.js → render-list-component-J1IzNpbv.js} +3 -5
  317. package/dist/esm/{sv-CY-6-yEp.js → sv-DpsDSi7k.js} +31 -3
  318. package/dist/esm/{translations-DMtX4tTX.js → translations-Y4i8PVc9.js} +5 -8
  319. package/dist/lime-elements/index.esm.js +1 -1
  320. package/dist/lime-elements/lime-elements.esm.js +1 -1
  321. package/dist/lime-elements/{p-3916b316.entry.js → p-03cb609e.entry.js} +1 -1
  322. package/dist/lime-elements/p-05038bbb.entry.js +1 -0
  323. package/dist/lime-elements/{p-835149c4.entry.js → p-0d6925f4.entry.js} +1 -1
  324. package/dist/lime-elements/p-0e13ec91.entry.js +1 -0
  325. package/dist/lime-elements/p-159603cf.entry.js +159 -0
  326. package/dist/lime-elements/p-22fd1c87.entry.js +1 -0
  327. package/dist/lime-elements/p-24yUSW40.js +1 -0
  328. package/dist/lime-elements/{p-f717cd7a.entry.js → p-271662d4.entry.js} +1 -1
  329. package/dist/lime-elements/{p-c2a60508.entry.js → p-29c73bdf.entry.js} +1 -1
  330. package/dist/lime-elements/{p-deceda00.entry.js → p-2a902e77.entry.js} +1 -1
  331. package/dist/lime-elements/{p-d0cec424.entry.js → p-2b033dfa.entry.js} +1 -1
  332. package/dist/lime-elements/{p-acba5700.entry.js → p-2b2253d4.entry.js} +1 -1
  333. package/dist/lime-elements/p-2e33d2a4.entry.js +1 -0
  334. package/dist/lime-elements/p-31226737.entry.js +13 -0
  335. package/dist/lime-elements/{p-36ce4fbc.entry.js → p-31f314e6.entry.js} +1 -1
  336. package/dist/lime-elements/p-32a050a3.entry.js +1 -0
  337. package/dist/lime-elements/{p-3735111e.entry.js → p-3cfe0eaf.entry.js} +1 -1
  338. package/dist/lime-elements/{p-fbcd99a3.entry.js → p-3d3bdf45.entry.js} +1 -1
  339. package/dist/lime-elements/p-440a0b43.entry.js +1 -0
  340. package/dist/lime-elements/p-45c39fb4.entry.js +1 -0
  341. package/dist/lime-elements/p-45fde7a1.entry.js +1 -0
  342. package/dist/lime-elements/p-48afa6b7.entry.js +1 -0
  343. package/dist/lime-elements/{p-f04f7c8e.entry.js → p-4a88d365.entry.js} +1 -1
  344. package/dist/lime-elements/p-4b75e653.entry.js +1 -0
  345. package/dist/lime-elements/p-4dfd1962.entry.js +67 -0
  346. package/dist/lime-elements/{p-5698e493.entry.js → p-4ecbc9f4.entry.js} +1 -1
  347. package/dist/lime-elements/p-5386c629.entry.js +1 -0
  348. package/dist/lime-elements/{p-2e568c56.entry.js → p-54a9f48f.entry.js} +1 -1
  349. package/dist/lime-elements/{p-0fba64eb.entry.js → p-5df21b25.entry.js} +2 -2
  350. package/dist/lime-elements/{p-408c4dcb.entry.js → p-5f5c6e7d.entry.js} +1 -1
  351. package/dist/lime-elements/{p-052c3bc6.entry.js → p-681cb6de.entry.js} +1 -1
  352. package/dist/lime-elements/p-6adc7c88.entry.js +1 -0
  353. package/dist/lime-elements/{p-90df3e1b.entry.js → p-6d9961f7.entry.js} +1 -1
  354. package/dist/lime-elements/{p-74bd0c1a.entry.js → p-7b4351f6.entry.js} +1 -1
  355. package/dist/lime-elements/{p-3fd7e8aa.entry.js → p-7eab1341.entry.js} +1 -1
  356. package/dist/lime-elements/p-80153f45.entry.js +1 -0
  357. package/dist/lime-elements/{p-35fa1063.entry.js → p-85318636.entry.js} +1 -1
  358. package/dist/lime-elements/p-8988b7e1.entry.js +1 -0
  359. package/dist/lime-elements/{p-4ffbfc79.entry.js → p-8ac79ef5.entry.js} +1 -1
  360. package/dist/lime-elements/{p-4902fb3f.entry.js → p-9218fa6a.entry.js} +1 -1
  361. package/dist/lime-elements/p-92669910.entry.js +1 -0
  362. package/dist/lime-elements/{p-38b09f87.entry.js → p-9415411e.entry.js} +1 -1
  363. package/dist/lime-elements/p-95ccd9e7.entry.js +1 -0
  364. package/dist/lime-elements/{p-cb407bef.entry.js → p-9afa4721.entry.js} +1 -1
  365. package/dist/lime-elements/{p-54dcf46f.entry.js → p-9c8c2fb7.entry.js} +1 -1
  366. package/dist/lime-elements/{p-B8hoCfhT.js → p-B3YP9GOq.js} +1 -1
  367. package/dist/lime-elements/{p-Dgcw_h7C.js → p-BQoih_t0.js} +1 -1
  368. package/dist/lime-elements/{p-Bnc9lzk2.js → p-BU9IJqli.js} +1 -1
  369. package/dist/lime-elements/{p-CGVVDGcv.js → p-Bkvc4sus.js} +1 -1
  370. package/dist/lime-elements/p-Bvyt2bmV.js +1 -0
  371. package/dist/lime-elements/{p-BgTwPGeH.js → p-CIf8aGSd.js} +1 -1
  372. package/dist/lime-elements/{p-C3hECvXE.js → p-ChagAaNf.js} +1 -1
  373. package/dist/lime-elements/p-DTcfed02.js +3 -0
  374. package/dist/lime-elements/p-DWMfAkOE.js +1 -0
  375. package/dist/lime-elements/{p-BY85K-4J.js → p-DqQOawxc.js} +1 -1
  376. package/dist/lime-elements/p-I0PrvthC.js +7 -0
  377. package/dist/lime-elements/p-N9vxZMhe.js +1 -0
  378. package/dist/lime-elements/{p-DsDkl4Sy.js → p-ZDFVISfu.js} +3 -3
  379. package/dist/lime-elements/p-_UXAljNc.js +1 -0
  380. package/dist/lime-elements/p-a1c69e0c.entry.js +1 -0
  381. package/dist/lime-elements/{p-2daf0482.entry.js → p-a1d1470c.entry.js} +1 -1
  382. package/dist/lime-elements/{p-cef66e53.entry.js → p-a2e6f16e.entry.js} +1 -1
  383. package/dist/lime-elements/p-a550ba18.entry.js +1 -0
  384. package/dist/lime-elements/{p-d146feda.entry.js → p-a65eb58e.entry.js} +1 -1
  385. package/dist/lime-elements/p-ab8021b9.entry.js +1 -0
  386. package/dist/lime-elements/{p-03fb2603.entry.js → p-b22b52a1.entry.js} +1 -1
  387. package/dist/lime-elements/p-b6c0dc91.entry.js +23 -0
  388. package/dist/lime-elements/{p-c2a3ca7c.entry.js → p-b6d39581.entry.js} +1 -1
  389. package/dist/lime-elements/{p-8475a3b8.entry.js → p-c439b68b.entry.js} +1 -1
  390. package/dist/lime-elements/p-d19c7a3a.entry.js +1 -0
  391. package/dist/lime-elements/{p-7cbf50fc.entry.js → p-d1e5dd12.entry.js} +1 -1
  392. package/dist/lime-elements/p-de4719a6.entry.js +1 -0
  393. package/dist/lime-elements/{p-b81a2728.entry.js → p-e02e2c5f.entry.js} +1 -1
  394. package/dist/lime-elements/{p-d351b9ae.entry.js → p-e6a34047.entry.js} +1 -1
  395. package/dist/lime-elements/p-eF09GxA_.js +1 -0
  396. package/dist/lime-elements/{p-8fa9c9ea.entry.js → p-ee719744.entry.js} +1 -1
  397. package/dist/lime-elements/{p-d3bd4b80.entry.js → p-f04e2897.entry.js} +3 -3
  398. package/dist/lime-elements/p-f3cae1e7.entry.js +1 -0
  399. package/dist/lime-elements/{p-8115da75.entry.js → p-f4a0b1bc.entry.js} +1 -1
  400. package/dist/lime-elements/{p-4855dc9b.entry.js → p-f82f72e7.entry.js} +1 -1
  401. package/dist/lime-elements/{p-2d84ea04.entry.js → p-f97ec7a5.entry.js} +1 -1
  402. package/dist/lime-elements/{p-21109d9b.entry.js → p-fdd674fc.entry.js} +1 -1
  403. package/dist/lime-elements/{p-459eea13.entry.js → p-fdec09e9.entry.js} +1 -1
  404. package/dist/lime-elements/{p-2f57c3fa.entry.js → p-fe492ff3.entry.js} +1 -1
  405. package/dist/lime-elements/{p-65cded0e.entry.js → p-ff1a8b2e.entry.js} +1 -1
  406. package/dist/types/components/chip-set/chip-set-input-helpers.d.ts +1 -1
  407. package/dist/types/components/markdown/markdown-exporter.d.ts +15 -0
  408. package/dist/types/components/markdown/markdown.d.ts +19 -0
  409. package/dist/types/components/pagination/jump/pagination-jump.d.ts +1 -1
  410. package/dist/types/components/scroller/scroller.d.ts +67 -0
  411. package/dist/types/components/tab-bar/tab-bar.d.ts +13 -16
  412. package/dist/types/components.d.ts +138 -0
  413. package/dist/types/global/icon-cache/factory.d.ts +2 -2
  414. package/dist/types/global/shared-types/custom-element.types.d.ts +25 -0
  415. package/dist/types/global/translations.d.ts +2 -2
  416. package/package.json +18 -12
  417. package/dist/lime-elements/p-05afb316.entry.js +0 -1
  418. package/dist/lime-elements/p-10594468.entry.js +0 -1
  419. package/dist/lime-elements/p-19344984.entry.js +0 -13
  420. package/dist/lime-elements/p-1e93473a.entry.js +0 -1
  421. package/dist/lime-elements/p-26c5c6b9.entry.js +0 -1
  422. package/dist/lime-elements/p-452b9b01.entry.js +0 -1
  423. package/dist/lime-elements/p-4aae63bd.entry.js +0 -1
  424. package/dist/lime-elements/p-507cc8a1.entry.js +0 -159
  425. package/dist/lime-elements/p-531b6a64.entry.js +0 -1
  426. package/dist/lime-elements/p-54793c06.entry.js +0 -1
  427. package/dist/lime-elements/p-5d974afa.entry.js +0 -1
  428. package/dist/lime-elements/p-66b125f2.entry.js +0 -1
  429. package/dist/lime-elements/p-6d5b23ad.entry.js +0 -1
  430. package/dist/lime-elements/p-7e212fa7.entry.js +0 -1
  431. package/dist/lime-elements/p-82696d24.entry.js +0 -1
  432. package/dist/lime-elements/p-9ac39039.entry.js +0 -1
  433. package/dist/lime-elements/p-9b631363.entry.js +0 -1
  434. package/dist/lime-elements/p-C9xHOCE_.js +0 -7
  435. package/dist/lime-elements/p-DMNtoJ8I.js +0 -1
  436. package/dist/lime-elements/p-DQJU9gzh.js +0 -1
  437. package/dist/lime-elements/p-DpJgXIWf.js +0 -1
  438. package/dist/lime-elements/p-a1de9bbe.entry.js +0 -1
  439. package/dist/lime-elements/p-a71f6e87.entry.js +0 -67
  440. package/dist/lime-elements/p-bd7b3f8e.entry.js +0 -1
  441. package/dist/lime-elements/p-be8610ff.entry.js +0 -1
  442. package/dist/lime-elements/p-c72e5007.entry.js +0 -1
  443. package/dist/lime-elements/p-cafec335.entry.js +0 -1
  444. package/dist/lime-elements/p-d6dadc61.entry.js +0 -1
  445. package/dist/lime-elements/p-d93b7b9f.entry.js +0 -23
  446. package/dist/lime-elements/p-pk5KIdKH.js +0 -1
  447. package/dist/lime-elements/p-u_sd2HMb.js +0 -1
  448. package/dist/lime-elements/p-zo6O9LC9.js +0 -3
  449. /package/dist/lime-elements/{p-JbKhhoXs.js → p-BrjD-ITe.js} +0 -0
  450. /package/dist/lime-elements/{p-BxrRWYts.js → p-DjmlD0Mw.js} +0 -0
  451. /package/dist/lime-elements/{p-BTSG--2-.js → p-Dv2HOgWN.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-Bnc9lzk2.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BU9IJqli.js';
2
2
  import { h as hasPath, d as baseGet, c as castPath, e as arrayMap, b as baseIteratee } from './_baseIteratee-CpbczHY1.js';
3
3
  import { b as baseSet, n as negate } from './_baseSet-Cw2IE6ZF.js';
4
4
  import { e as arrayLikeKeys, f as stubArray, d as arrayPush, h as getSymbols, i as baseGetAllKeys } from './_baseIsEqual-CyF4P8uM.js';
@@ -8,7 +8,7 @@ import { d as isPrototype } from './_getTag-BiAaLWvH.js';
8
8
  import { i as isArrayLike } from './isArrayLike-CyVGB489.js';
9
9
  import { _ as _mapLayout } from './layout-C4zsCPOF.js';
10
10
  import { i as isEqual } from './isEqual-CE83yS8T.js';
11
- import { t as translate } from './translations-DMtX4tTX.js';
11
+ import { t as translations } from './translations-Y4i8PVc9.js';
12
12
  import './isArray-B8VKuhvH.js';
13
13
  import './isSymbol-ClAke5ga.js';
14
14
  import './isObjectLike-oiMYqRQ0.js';
@@ -19,7 +19,7 @@ import './_defineProperty-C69Btzid.js';
19
19
  import './_getNative-COawFdVX.js';
20
20
  import './isFunction-9zQTeQI8.js';
21
21
  import './eq-CZ30nDJE.js';
22
- import './language-C3hECvXE.js';
22
+ import './language-ChagAaNf.js';
23
23
 
24
24
  /**
25
25
  * This function is like
@@ -231,7 +231,7 @@ function pickBy(object, predicate) {
231
231
  });
232
232
  }
233
233
 
234
- /* Tabulator v6.5.3 (c) Oliver Folkerd 2026 */
234
+ /* Tabulator v6.6.1 (c) Oliver Folkerd 2026 */
235
235
  class CoreFeature{
236
236
 
237
237
  constructor(table){
@@ -5846,7 +5846,7 @@ function input(cell, onRendered, success, cancel, editorParams){
5846
5846
  }
5847
5847
  }
5848
5848
 
5849
- input.value = typeof cellValue !== "undefined" ? cellValue : "";
5849
+ input.value = editorParams.initialValue ?? (typeof cellValue !== "undefined" ? cellValue : "");
5850
5850
 
5851
5851
  onRendered(function(){
5852
5852
  if(cell.getType() === "cell"){
@@ -5927,7 +5927,7 @@ function textarea$1(cell, onRendered, success, cancel, editorParams){
5927
5927
  }
5928
5928
  }
5929
5929
 
5930
- input.value = value;
5930
+ input.value = editorParams.initialValue ?? value;
5931
5931
 
5932
5932
  onRendered(function(){
5933
5933
  if(cell.getType() === "cell"){
@@ -8726,9 +8726,9 @@ class Edit extends Module{
8726
8726
  this.recursionBlock = false;
8727
8727
  }
8728
8728
 
8729
- editCell(cell, forceEdit){
8729
+ editCell(cell, forceEdit, editorParams){
8730
8730
  this.focusCellNoEvent(cell);
8731
- this.edit(cell, false, forceEdit);
8731
+ this.edit(cell, false, forceEdit, editorParams);
8732
8732
  }
8733
8733
 
8734
8734
  focusScrollAdjust(cell){
@@ -8793,7 +8793,7 @@ class Edit extends Module{
8793
8793
  return check;
8794
8794
  }
8795
8795
 
8796
- edit(cell, e, forceEdit){
8796
+ edit(cell, e, forceEdit, editorParams){
8797
8797
  var self = this,
8798
8798
  allowEdit = true,
8799
8799
  rendered = function(){},
@@ -8899,6 +8899,10 @@ class Edit extends Module{
8899
8899
  this.dispatchExternal("cellEditing", component);
8900
8900
 
8901
8901
  params = typeof cell.column.modules.edit.params === "function" ? cell.column.modules.edit.params(component) : cell.column.modules.edit.params;
8902
+
8903
+ if(editorParams){
8904
+ params = {...params, ...editorParams};
8905
+ }
8902
8906
 
8903
8907
  cellEditor = cell.column.modules.edit.editor.call(self, component, onRendered, success, cancel, params);
8904
8908
 
@@ -20315,6 +20319,10 @@ class RangeComponent {
20315
20319
  return this._range.getCells(true, true);
20316
20320
  }
20317
20321
 
20322
+ getModifiedCells() {
20323
+ return this._range.modifiedCells;
20324
+ }
20325
+
20318
20326
  getStructuredCells() {
20319
20327
  return this._range.getStructuredCells();
20320
20328
  }
@@ -20332,19 +20340,19 @@ class RangeComponent {
20332
20340
  }
20333
20341
 
20334
20342
  getTopEdge() {
20335
- return this._range.top;
20343
+ return this._range.rect.top;
20336
20344
  }
20337
20345
 
20338
20346
  getBottomEdge() {
20339
- return this._range.bottom;
20347
+ return this._range.rect.bottom;
20340
20348
  }
20341
20349
 
20342
20350
  getLeftEdge() {
20343
- return this._range.left;
20351
+ return this._range.rect.left;
20344
20352
  }
20345
20353
 
20346
20354
  getRightEdge() {
20347
- return this._range.right;
20355
+ return this._range.rect.right;
20348
20356
  }
20349
20357
 
20350
20358
  setBounds(start, end){
@@ -20373,6 +20381,18 @@ class RangeComponent {
20373
20381
  }
20374
20382
  }
20375
20383
 
20384
+ setData(data){
20385
+ if(this._range.destroyedGuard("setData")){
20386
+ this._range.setData(data);
20387
+ }
20388
+ }
20389
+
20390
+ fill(value){
20391
+ if(this._range.destroyedGuard("fill")){
20392
+ this._range.fill(value);
20393
+ }
20394
+ }
20395
+
20376
20396
  remove(){
20377
20397
  if(this._range.destroyedGuard("remove")){
20378
20398
  this._range.destroy(true);
@@ -20380,8 +20400,66 @@ class RangeComponent {
20380
20400
  }
20381
20401
  }
20382
20402
 
20403
+ class Rect {
20404
+ constructor(top, bottom, left, right) {
20405
+ this.top = top;
20406
+ this.bottom = bottom;
20407
+ this.left = left;
20408
+ this.right = right;
20409
+ }
20410
+
20411
+ static zero() {
20412
+ return new Rect(0, 0, 0, 0);
20413
+ }
20414
+
20415
+ clone() {
20416
+ return new Rect(this.top, this.bottom, this.left, this.right);
20417
+ }
20418
+
20419
+ /**
20420
+ * Check if this rect and other are equal
20421
+ * @param {Rect} other
20422
+ */
20423
+ equals(other) {
20424
+ return (
20425
+ this.top === other.top &&
20426
+ this.bottom === other.bottom &&
20427
+ this.left === other.left &&
20428
+ this.right === other.right
20429
+ );
20430
+ }
20431
+
20432
+ /**
20433
+ * @param {number} x
20434
+ * @param {number} y
20435
+ */
20436
+ hasPoint(x, y) {
20437
+ return (
20438
+ x >= this.left &&
20439
+ x <= this.right &&
20440
+ y >= this.top &&
20441
+ y <= this.bottom
20442
+ );
20443
+ }
20444
+
20445
+ /**
20446
+ * Executes a provided function once for each point in the rectangle
20447
+ * @param {(x: number, y: number) => void} fn
20448
+ */
20449
+ forEach(fn) {
20450
+ for (let y = this.top; y <= this.bottom; y++) {
20451
+ for (let x = this.left; x <= this.right; x++) {
20452
+ fn(x, y);
20453
+ }
20454
+ }
20455
+ }
20456
+ }
20457
+
20383
20458
  class Range extends CoreFeature{
20384
- constructor(table, rangeManager, start, end) {
20459
+ /**
20460
+ * @param {{start?: Cell|Column, end?: Cell|Column, rect?: Rect, skipEvents?: boolean, classNames?: string[]}} options
20461
+ */
20462
+ constructor(table, rangeManager, options) {
20385
20463
  super(table);
20386
20464
 
20387
20465
  this.rangeManager = rangeManager;
@@ -20392,38 +20470,48 @@ class Range extends CoreFeature{
20392
20470
  end:false,
20393
20471
  };
20394
20472
  this.destroyed = false;
20473
+ this.skipEvents = options.skipEvents || false;
20395
20474
 
20396
- this.top = 0;
20397
- this.bottom = 0;
20398
- this.left = 0;
20399
- this.right = 0;
20475
+ this.rect = options.rect ? options.rect.clone() : Rect.zero();
20400
20476
 
20401
20477
  this.table = table;
20478
+ this.modifiedCells = [];
20402
20479
  this.start = {row:undefined, col:undefined};
20403
20480
  this.end = {row:undefined, col:undefined};
20404
20481
 
20405
- if(this.rangeManager.rowHeader){
20406
- this.left = 1;
20407
- this.right = 1;
20482
+ if (options.rect) {
20483
+ this.start.row = options.rect.top;
20484
+ this.start.col = options.rect.left;
20485
+ this.end.row = options.rect.bottom;
20486
+ this.end.col = options.rect.right;
20487
+ } else if (this.rangeManager.rowHeader){
20488
+ this.rect.left = 1;
20489
+ this.rect.right = 1;
20408
20490
  this.start.col = 1;
20409
20491
  this.end.col = 1;
20410
20492
  }
20411
20493
 
20412
- this.initElement();
20494
+ this.initElement(options.classNames);
20413
20495
 
20414
- setTimeout(() => {
20415
- this.initBounds(start, end);
20416
- });
20496
+ if (!options.rect) {
20497
+ setTimeout(() => {
20498
+ this.initBounds(options.start, options.end);
20499
+ });
20500
+ }
20417
20501
  }
20418
20502
 
20419
- initElement(){
20503
+ initElement(classNames){
20420
20504
  this.element = document.createElement("div");
20421
20505
  this.element.classList.add("tabulator-range");
20506
+
20507
+ if(classNames){
20508
+ this.element.classList.add(...classNames);
20509
+ }
20422
20510
  }
20423
20511
 
20424
20512
  initBounds(start, end){
20425
20513
  this._updateMinMax();
20426
-
20514
+
20427
20515
  if(start){
20428
20516
  this.setBounds(start, end || start);
20429
20517
  }
@@ -20452,7 +20540,21 @@ class Range extends CoreFeature{
20452
20540
  this._updateMinMax();
20453
20541
  }
20454
20542
  }
20455
-
20543
+
20544
+ /**
20545
+ * @param {Rect} rect
20546
+ */
20547
+ setRect(rect) {
20548
+ const startRow = this.start.row === this.rect.top ? rect.top : rect.bottom;
20549
+ const startCol = this.start.col === this.rect.left ? rect.left : rect.right;
20550
+
20551
+ this.setStart(startRow, startCol);
20552
+ this.setEnd(
20553
+ startRow === rect.top ? rect.bottom : rect.top,
20554
+ startCol === rect.left ? rect.right : rect.left,
20555
+ );
20556
+ }
20557
+
20456
20558
  setBounds(start, end, visibleRows){
20457
20559
  if(start){
20458
20560
  this.setStartBound(start);
@@ -20511,17 +20613,23 @@ class Range extends CoreFeature{
20511
20613
  }
20512
20614
 
20513
20615
  _updateMinMax() {
20514
- this.top = Math.min(this.start.row, this.end.row);
20515
- this.bottom = Math.max(this.start.row, this.end.row);
20516
- this.left = Math.min(this.start.col, this.end.col);
20517
- this.right = Math.max(this.start.col, this.end.col);
20616
+ this.rect.top = Math.min(this.start.row, this.end.row);
20617
+ this.rect.bottom = Math.max(this.start.row, this.end.row);
20618
+ this.rect.left = Math.min(this.start.col, this.end.col);
20619
+ this.rect.right = Math.max(this.start.col, this.end.col);
20518
20620
 
20519
20621
  if(this.initialized){
20520
- this.dispatchExternal("rangeChanged", this.getComponent());
20622
+ if(!this.skipEvents){
20623
+ this.dispatchExternal("rangeChanged", this.getComponent());
20624
+ }
20521
20625
  }else {
20522
20626
  if(this.initializing.start && this.initializing.end){
20523
20627
  this.initialized = true;
20524
- this.dispatchExternal("rangeAdded", this.getComponent());
20628
+
20629
+ if(!this.skipEvents){
20630
+ this.dispatch("range-added", this);
20631
+ this.dispatchExternal("rangeAdded", this.getComponent());
20632
+ }
20525
20633
  }
20526
20634
  }
20527
20635
  }
@@ -20574,10 +20682,10 @@ class Range extends CoreFeature{
20574
20682
  }
20575
20683
 
20576
20684
  if (this.overlaps(_vDomLeft, _vDomTop, _vDomRight, _vDomBottom)) {
20577
- top = Math.max(this.top, _vDomTop);
20578
- bottom = Math.min(this.bottom, _vDomBottom);
20579
- left = Math.max(this.left, _vDomLeft);
20580
- right = Math.min(this.right, _vDomRight + frozenLeft + frozenRight);
20685
+ top = Math.max(this.rect.top, _vDomTop);
20686
+ bottom = Math.min(this.rect.bottom, _vDomBottom);
20687
+ left = Math.max(this.rect.left, _vDomLeft);
20688
+ right = Math.min(this.rect.right, _vDomRight + frozenLeft + frozenRight);
20581
20689
 
20582
20690
  topLeftCell = this.rangeManager.getCell(top, left);
20583
20691
  bottomRightCell = this.rangeManager.getCell(bottom, right);
@@ -20618,11 +20726,11 @@ class Range extends CoreFeature{
20618
20726
  }
20619
20727
 
20620
20728
  atTopLeft(cell) {
20621
- return cell.row.position - 1 === this.top && cell.column.getPosition() - 1 === this.left;
20729
+ return cell.row.position - 1 === this.rect.top && cell.column.getPosition() - 1 === this.rect.left;
20622
20730
  }
20623
20731
 
20624
20732
  atBottomRight(cell) {
20625
- return cell.row.position - 1 === this.bottom && cell.column.getPosition() - 1 === this.right;
20733
+ return cell.row.position - 1 === this.rect.bottom && cell.column.getPosition() - 1 === this.rect.right;
20626
20734
  }
20627
20735
 
20628
20736
  occupies(cell) {
@@ -20630,15 +20738,15 @@ class Range extends CoreFeature{
20630
20738
  }
20631
20739
 
20632
20740
  occupiesRow(row) {
20633
- return this.top <= row.position - 1 && row.position - 1 <= this.bottom;
20741
+ return this.rect.top <= row.position - 1 && row.position - 1 <= this.rect.bottom;
20634
20742
  }
20635
20743
 
20636
20744
  occupiesColumn(col) {
20637
- return this.left <= col.getPosition() - 1 && col.getPosition() - 1 <= this.right;
20745
+ return this.rect.left <= col.getPosition() - 1 && col.getPosition() - 1 <= this.rect.right;
20638
20746
  }
20639
20747
 
20640
20748
  overlaps(left, top, right, bottom) {
20641
- if ((this.left > right || left > this.right) || (this.top > bottom || top > this.bottom)){
20749
+ if ((this.rect.left > right || left > this.rect.right) || (this.rect.top > bottom || top > this.rect.bottom)){
20642
20750
  return false;
20643
20751
  }
20644
20752
 
@@ -20699,11 +20807,11 @@ class Range extends CoreFeature{
20699
20807
  }
20700
20808
 
20701
20809
  getRows() {
20702
- return this._getTableRows().slice(this.top, this.bottom + 1);
20810
+ return this._getTableRows().slice(this.rect.top, this.rect.bottom + 1);
20703
20811
  }
20704
20812
 
20705
20813
  getColumns() {
20706
- return this._getTableColumns().slice(this.left, this.right + 1);
20814
+ return this._getTableColumns().slice(this.rect.left, this.rect.right + 1);
20707
20815
  }
20708
20816
 
20709
20817
  clearValues(){
@@ -20720,6 +20828,68 @@ class Range extends CoreFeature{
20720
20828
 
20721
20829
  }
20722
20830
 
20831
+ setData(data){
20832
+ const rows = this.getCells(true);
20833
+ const rowUpdates = new Map();
20834
+ const cellValues = [];
20835
+ let hasChanges = false;
20836
+
20837
+ this.modifiedCells = [];
20838
+ this.table.blockRedraw();
20839
+
20840
+ rows.forEach((cells, rowIndex) => {
20841
+ const rowValues = data[rowIndex];
20842
+
20843
+ cells.forEach((cell, colIndex) => {
20844
+ const field = cell.column.getField();
20845
+ const oldValue = cell.getValue();
20846
+ const editable = !this.table.modExists("edit")
20847
+ || this.table.modules.edit.allowEdit(cell);
20848
+ let newValue = oldValue;
20849
+
20850
+ if(editable && field && colIndex < rowValues.length){
20851
+ newValue = rowValues[colIndex];
20852
+
20853
+ // Same check updateData uses, so unchanged cells aren't reported
20854
+ if(oldValue !== newValue){
20855
+ hasChanges = true;
20856
+ this.modifiedCells.push(cell.getComponent());
20857
+ }
20858
+
20859
+ if(!rowUpdates.has(cell.row)){
20860
+ rowUpdates.set(cell.row, {});
20861
+ }
20862
+
20863
+ rowUpdates.get(cell.row)[field] = newValue;
20864
+ }
20865
+
20866
+ // Undo matches cellValues to getCells() by index, so it must
20867
+ // cover every cell of the range, not just the changed ones.
20868
+ cellValues.push({ oldValue, newValue });
20869
+ });
20870
+ });
20871
+
20872
+ rowUpdates.forEach((newData, row) => row.updateData(newData));
20873
+
20874
+ if(hasChanges && this.table.modExists("history")){
20875
+ this.table.modules.history.action("rangeEdit", this, {
20876
+ cells: cellValues,
20877
+ });
20878
+ }
20879
+
20880
+ if(hasChanges){
20881
+ this.dispatchExternal("rangeEdited", this.getComponent());
20882
+ }
20883
+
20884
+ this.table.restoreRedraw();
20885
+ }
20886
+
20887
+ fill(value){
20888
+ const columns = this.getColumns();
20889
+ const data = this.getRows().map(() => columns.map(() => value));
20890
+ this.setData(data);
20891
+ }
20892
+
20723
20893
  getBounds(component){
20724
20894
  var cells = this.getCells(false, component),
20725
20895
  output = {
@@ -20737,6 +20907,14 @@ class Range extends CoreFeature{
20737
20907
  return output;
20738
20908
  }
20739
20909
 
20910
+ getStartCell(){
20911
+ return this.rangeManager.getCell(this.start.row, this.start.col);
20912
+ }
20913
+
20914
+ getEndCell(){
20915
+ return this.rangeManager.getCell(this.end.row, this.end.col);
20916
+ }
20917
+
20740
20918
  getComponent() {
20741
20919
  if (!this.component) {
20742
20920
  this.component = new RangeComponent(this);
@@ -20753,7 +20931,7 @@ class Range extends CoreFeature{
20753
20931
  this.rangeManager.rangeRemoved(this);
20754
20932
  }
20755
20933
 
20756
- if(this.initialized){
20934
+ if(this.initialized && !this.skipEvents){
20757
20935
  this.dispatchExternal("rangeRemoved", this.getComponent());
20758
20936
  }
20759
20937
  }
@@ -20767,6 +20945,215 @@ class Range extends CoreFeature{
20767
20945
  }
20768
20946
  }
20769
20947
 
20948
+ class FillHandle extends CoreFeature {
20949
+ constructor(table, rangeManager) {
20950
+ super(table);
20951
+
20952
+ /** @type {import("./SelectRange.js").default} */
20953
+ this.rangeManager = rangeManager;
20954
+ this.element = null;
20955
+ /** @type {Range|null} */
20956
+ this.preview = null;
20957
+ /** @type {Rect|null} */
20958
+ this.source = null;
20959
+ this.pointerRow = 0;
20960
+ this.pointerCol = 0;
20961
+ this.isActive = false;
20962
+
20963
+ this.handleMouseDown = this.handleMouseDown.bind(this);
20964
+ this.handleMouseUp = this.handleMouseUp.bind(this);
20965
+ this.handleCellMouseMove = this.handleCellMouseMove.bind(this);
20966
+
20967
+ this.element = document.createElement("div");
20968
+ this.element.classList.add("tabulator-range-fill-handle");
20969
+ this.element.addEventListener("mousedown", this.handleMouseDown);
20970
+
20971
+ this.subscribe("range-active-changed", (range) => this.attach(range));
20972
+ }
20973
+
20974
+ attach(range) {
20975
+ if (this.element.parentNode !== range.element) {
20976
+ range.element.appendChild(this.element);
20977
+ }
20978
+ }
20979
+
20980
+ handleMouseDown(e) {
20981
+ const range = this.rangeManager.activeRange;
20982
+
20983
+ if (e.button !== 0 || !range) {
20984
+ return;
20985
+ }
20986
+
20987
+ e.preventDefault();
20988
+ e.stopPropagation();
20989
+
20990
+ this.isActive = true;
20991
+ this.source = range.rect.clone();
20992
+ this.pointerRow = this.source.bottom;
20993
+ this.pointerCol = this.source.right;
20994
+
20995
+ this.preview = new Range(this.table, this.rangeManager, {
20996
+ rect: this.source,
20997
+ skipEvents: true,
20998
+ classNames: ["tabulator-range-fill-preview"],
20999
+ });
21000
+
21001
+ this.rangeManager.rangeContainer.appendChild(this.preview.element);
21002
+ this.preview.layout();
21003
+ this.subscribe("cell-mousemove", this.handleCellMouseMove);
21004
+ document.addEventListener("mouseup", this.handleMouseUp);
21005
+ }
21006
+
21007
+ handleCellMouseMove(e, cell) {
21008
+ if (cell.column === this.rangeManager.rowHeader) {
21009
+ return;
21010
+ }
21011
+
21012
+ const row = cell.row.position - 1;
21013
+ const col = cell.column.getPosition() - 1;
21014
+
21015
+ if (row === this.pointerRow && col === this.pointerCol) {
21016
+ return;
21017
+ }
21018
+
21019
+ this.pointerRow = row;
21020
+ this.pointerCol = col;
21021
+
21022
+ const rect = FillHandle.extendAlongAxis(
21023
+ this.source,
21024
+ this.pointerRow,
21025
+ this.pointerCol,
21026
+ );
21027
+
21028
+ this.preview.setRect(rect);
21029
+ this.preview.layout();
21030
+ }
21031
+
21032
+ async handleMouseUp() {
21033
+ this.isActive = false;
21034
+
21035
+ this.unsubscribe("cell-mousemove", this.handleCellMouseMove);
21036
+ document.removeEventListener("mouseup", this.handleMouseUp);
21037
+
21038
+ this.rangeManager.clearRanges();
21039
+
21040
+ const range = await this.addInitializedRange(
21041
+ this.preview.getStartCell(),
21042
+ this.preview.getEndCell()
21043
+ );
21044
+
21045
+ const data = this.buildFillData(
21046
+ this.source,
21047
+ this.pointerRow,
21048
+ this.pointerCol,
21049
+ );
21050
+
21051
+ range.setData(data);
21052
+
21053
+ this.preview.destroy();
21054
+ }
21055
+
21056
+ /**
21057
+ * The data, in Range.setData shape, for the cells a drag from `source` to
21058
+ * (pointerRow, pointerCol) covers, repeating the source's values.
21059
+ * @param {Rect} source
21060
+ * @param {number} pointerRow
21061
+ * @param {number} pointerCol
21062
+ */
21063
+ buildFillData(source, pointerRow, pointerCol) {
21064
+ const target = FillHandle.extendAlongAxis(source, pointerRow, pointerCol);
21065
+ const height = source.bottom - source.top + 1;
21066
+ const width = source.right - source.left + 1;
21067
+
21068
+ const rows = this.rangeManager.getTableRows();
21069
+ const columns = this.rangeManager.getTableColumns();
21070
+ const data = [];
21071
+
21072
+ for (let y = target.top; y <= target.bottom; y++) {
21073
+ const rowData = [];
21074
+
21075
+ for (let x = target.left; x <= target.right; x++) {
21076
+ const sourceRowPos =
21077
+ source.top + ((((y - source.top) % height) + height) % height);
21078
+ const sourceColPos =
21079
+ source.left + ((((x - source.left) % width) + width) % width);
21080
+ const sourceRow = rows[sourceRowPos];
21081
+ const sourceCol = columns[sourceColPos];
21082
+
21083
+ rowData.push(sourceRow.getData()[sourceCol.getField()]);
21084
+ }
21085
+
21086
+ data.push(rowData);
21087
+ }
21088
+
21089
+ return data;
21090
+ }
21091
+
21092
+ addInitializedRange(start, end) {
21093
+ const range = this.rangeManager.addRange(start, end);
21094
+
21095
+ if (!range.initialized) {
21096
+ return new Promise((resolve) => {
21097
+ const handleRangeAdded = (promisedRange) => {
21098
+ if (promisedRange !== range) {
21099
+ return;
21100
+ }
21101
+ this.unsubscribe("range-added", handleRangeAdded);
21102
+ resolve(range);
21103
+ };
21104
+
21105
+ this.subscribe("range-added", handleRangeAdded);
21106
+ });
21107
+ }
21108
+
21109
+ return Promise.resolve(range);
21110
+ }
21111
+
21112
+ /**
21113
+ * The rect a fill from `source` covers when the pointer is over (row, col).
21114
+ * @param {Rect} source
21115
+ * @param {number} row
21116
+ * @param {number} col
21117
+ */
21118
+ static extendAlongAxis(source, row, col) {
21119
+ let rowDelta = 0;
21120
+ let colDelta = 0;
21121
+ let top = source.top;
21122
+ let bottom = source.bottom;
21123
+ let left = source.left;
21124
+ let right = source.right;
21125
+
21126
+ if (row < source.top) {
21127
+ rowDelta = source.top - row;
21128
+ } else if (row > source.bottom) {
21129
+ rowDelta = row - source.bottom;
21130
+ }
21131
+
21132
+ if (col < source.left) {
21133
+ colDelta = source.left - col;
21134
+ } else if (col > source.right) {
21135
+ colDelta = col - source.right;
21136
+ }
21137
+
21138
+ // Like a spreadsheet, a fill only ever grows along one axis: whichever the pointer has strayed further on.
21139
+ if (rowDelta && rowDelta >= colDelta) {
21140
+ top = Math.min(top, row);
21141
+ bottom = Math.max(bottom, row);
21142
+ } else if (colDelta) {
21143
+ left = Math.min(left, col);
21144
+ right = Math.max(right, col);
21145
+ }
21146
+
21147
+ return new Rect(top, bottom, left, right);
21148
+ }
21149
+
21150
+ destroy() {
21151
+ document.removeEventListener("mouseup", this.handleMouseUp);
21152
+ this.element.remove();
21153
+ this.preview?.destroy();
21154
+ }
21155
+ }
21156
+
20770
21157
  var bindings = {
20771
21158
  rangeJumpUp:["ctrl + 38", "meta + 38"],
20772
21159
  rangeJumpDown:["ctrl + 40", "meta + 40"],
@@ -20943,6 +21330,24 @@ var rowLookups = {
20943
21330
  },
20944
21331
  };
20945
21332
 
21333
+ var undoers = {
21334
+ rangeEdit:function(action){
21335
+ action.component.getCells().forEach((cell, index) => {
21336
+ cell.setValueProcessData(action.data.cells[index].oldValue);
21337
+ cell.cellRendered();
21338
+ });
21339
+ },
21340
+ };
21341
+
21342
+ var redoers = {
21343
+ rangeEdit:function(action){
21344
+ action.component.getCells().forEach((cell, index) => {
21345
+ cell.setValueProcessData(action.data.cells[index].newValue);
21346
+ cell.cellRendered();
21347
+ });
21348
+ },
21349
+ };
21350
+
20946
21351
  var extensions = {
20947
21352
  keybindings:{
20948
21353
  bindings:bindings,
@@ -20955,6 +21360,10 @@ var extensions = {
20955
21360
  export:{
20956
21361
  columnLookups:columnLookups,
20957
21362
  rowLookups:rowLookups,
21363
+ },
21364
+ history:{
21365
+ undoers:undoers,
21366
+ redoers:redoers,
20958
21367
  }
20959
21368
  };
20960
21369
 
@@ -20976,8 +21385,10 @@ class SelectRange extends Module {
20976
21385
  this.columnSelection = false;
20977
21386
  this.rowSelection = false;
20978
21387
  this.maxRanges = 0;
21388
+ /** @type {Range|false} */
20979
21389
  this.activeRange = false;
20980
21390
  this.blockKeydown = false;
21391
+ this.fillHandle = null;
20981
21392
 
20982
21393
  this.keyDownEvent = this._handleKeyDown.bind(this);
20983
21394
  this.mouseUpEvent = this._handleMouseUp.bind(this);
@@ -20990,6 +21401,7 @@ class SelectRange extends Module {
20990
21401
  this.registerTableOption("selectableRangeAutoFocus", true); //focus on a cell after resetRanges
20991
21402
  this.registerTableOption("selectableRangeInitializeDefault", true); //initializes default range on cell [0,0]
20992
21403
  this.registerTableOption("selectableRangeBlurEditOnNavigate", undefined); //prevent editing on navigation
21404
+ this.registerTableOption("selectableRangeFill", false); //drag the range handle to fill neighbouring cells
20993
21405
 
20994
21406
  this.registerTableFunction("getRangesData", this.getRangesData.bind(this));
20995
21407
  this.registerTableFunction("getRanges", this.getRanges.bind(this));
@@ -21043,6 +21455,10 @@ class SelectRange extends Module {
21043
21455
  this.overlay.appendChild(this.rangeContainer);
21044
21456
  this.overlay.appendChild(this.activeRangeCellElement);
21045
21457
 
21458
+ if(this.options("selectableRangeFill")){
21459
+ this.fillHandle = new FillHandle(this.table, this);
21460
+ }
21461
+
21046
21462
  this.table.rowManager.element.addEventListener("keydown", this.keyDownEvent);
21047
21463
 
21048
21464
  this.setDefaultRange();
@@ -21417,12 +21833,7 @@ class SelectRange extends Module {
21417
21833
  }
21418
21834
 
21419
21835
  range = this.activeRange;
21420
- prevRect = {
21421
- top: range.top,
21422
- bottom: range.bottom,
21423
- left: range.left,
21424
- right: range.right
21425
- };
21836
+ prevRect = range.rect.clone();
21426
21837
 
21427
21838
  rangeEdge = expand ? range.end : range.start;
21428
21839
  nextRow = rangeEdge.row;
@@ -21480,7 +21891,7 @@ class SelectRange extends Module {
21480
21891
  this.selecting = "cell";
21481
21892
  }
21482
21893
 
21483
- moved = prevRect.top !== range.top || prevRect.bottom !== range.bottom || prevRect.left !== range.left || prevRect.right !== range.right;
21894
+ moved = !prevRect.equals(range.rect);
21484
21895
 
21485
21896
  if (moved) {
21486
21897
  row = this.getRowByRangePos(range.end.row);
@@ -21518,7 +21929,7 @@ class SelectRange extends Module {
21518
21929
 
21519
21930
  if(this.activeRange === removed){
21520
21931
  if(this.ranges.length){
21521
- this.activeRange = this.ranges[this.ranges.length - 1];
21932
+ this.setActiveRange(this.ranges[this.ranges.length - 1]);
21522
21933
  }else {
21523
21934
  this.addRange();
21524
21935
  }
@@ -21870,6 +22281,11 @@ class SelectRange extends Module {
21870
22281
  return this.table.columnManager.getVisibleColumnsByIndex();
21871
22282
  }
21872
22283
 
22284
+ setActiveRange(range) {
22285
+ this.activeRange = range;
22286
+ this.dispatch("range-active-changed", range);
22287
+ }
22288
+
21873
22289
  addRange(start, end) {
21874
22290
  var range;
21875
22291
 
@@ -21877,9 +22293,9 @@ class SelectRange extends Module {
21877
22293
  this.ranges.shift().destroy();
21878
22294
  }
21879
22295
 
21880
- range = new Range(this.table, this, start, end);
22296
+ range = new Range(this.table, this, { start, end });
21881
22297
 
21882
- this.activeRange = range;
22298
+ this.setActiveRange(range);
21883
22299
  this.ranges.push(range);
21884
22300
  this.rangeContainer.appendChild(range.element);
21885
22301
 
@@ -21924,6 +22340,7 @@ class SelectRange extends Module {
21924
22340
 
21925
22341
  tableDestroyed(){
21926
22342
  document.removeEventListener("mouseup", this.mouseUpEvent);
22343
+ this.fillHandle?.destroy();
21927
22344
  this.table.rowManager.element.removeEventListener("keydown", this.keyDownEvent);
21928
22345
  }
21929
22346
 
@@ -30497,9 +30914,7 @@ function columnElementExists(column) {
30497
30914
  const customElementExists = customElements.get(column.component.name);
30498
30915
  return isNativeElement || customElementExists;
30499
30916
  }
30500
- else {
30501
- return false;
30502
- }
30917
+ return false;
30503
30918
  }
30504
30919
  /**
30505
30920
  * Format the value of a cell in the table
@@ -30683,7 +31098,7 @@ class ElementPool {
30683
31098
  }
30684
31099
  createElement(name) {
30685
31100
  const element = this.document.createElement(name);
30686
- if (!(name in this.pool)) {
31101
+ if (!Object.hasOwn(this.pool, name)) {
30687
31102
  this.pool[name] = [];
30688
31103
  }
30689
31104
  this.pool[name].push(element);
@@ -30989,19 +31404,20 @@ class TableSelection {
30989
31404
  return this.getTable().getRow(item).getData();
30990
31405
  };
30991
31406
  this.updateRowSelectors = (changeSet) => {
30992
- for (const row of changeSet.indexes.map(this.getRowByIndex))
30993
- this.updateRowSelector(row, changeSet.selected);
31407
+ for (const index of changeSet.indexes) {
31408
+ this.updateRowSelector(this.getRowByIndex(index), changeSet.selected);
31409
+ }
30994
31410
  };
30995
31411
  this.updateRowSelector = (row, checked) => {
30996
31412
  // Look up by class instead of cell index: when `movableRows` is
30997
31413
  // enabled, the drag-handle column occupies index 0 and the
30998
31414
  // row-selector shifts to index 1. Keep the `.limel-table--row-selector`
30999
31415
  // class in sync with `getRowSelectorColumnDefinition` if renamed.
31000
- const checkBox = row
31416
+ const checkbox = row
31001
31417
  .getElement()
31002
31418
  .querySelector(`.limel-table--row-selector ${LIMEL_CHECKBOX}`);
31003
- if (checkBox) {
31004
- checkBox.checked = checked;
31419
+ if (checkbox) {
31420
+ checkbox.checked = checked;
31005
31421
  }
31006
31422
  };
31007
31423
  this.getActiveRows = () => {
@@ -31092,7 +31508,7 @@ const areRowsEqual = (newData, oldData) => {
31092
31508
  return newData.every((newItem, index) => isEqual(newItem, oldData[index]));
31093
31509
  };
31094
31510
 
31095
- 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)}`;
31511
+ 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)}`;
31096
31512
 
31097
31513
  const FIRST_PAGE = 1;
31098
31514
  const Table = class {
@@ -31209,7 +31625,7 @@ const Table = class {
31209
31625
  });
31210
31626
  };
31211
31627
  this.getTranslation = (key) => {
31212
- return translate.get(key, this.language);
31628
+ return translations.get(key, this.language);
31213
31629
  };
31214
31630
  this.handleDataSorting = this.handleDataSorting.bind(this);
31215
31631
  this.handlePageLoaded = this.handlePageLoaded.bind(this);
@@ -31261,10 +31677,7 @@ const Table = class {
31261
31677
  this.refreshRemotePaginator();
31262
31678
  }
31263
31679
  pageChanged() {
31264
- if (!this.tabulator) {
31265
- return;
31266
- }
31267
- if (this.tabulator.getPage() === this.page) {
31680
+ if (!this.tabulator || this.tabulator.getPage() === this.page) {
31268
31681
  return;
31269
31682
  }
31270
31683
  this.tabulator.setPage(this.page);
@@ -31280,7 +31693,7 @@ const Table = class {
31280
31693
  const oldIds = this.getRowIds(oldData);
31281
31694
  const shouldReplace = !this.areEqualIds(newIds, oldIds) ||
31282
31695
  !this.isSameOrder(newIds, oldIds);
31283
- setTimeout(() => {
31696
+ setTimeout(async () => {
31284
31697
  if (!this.tabulator || !this.initialized) {
31285
31698
  return;
31286
31699
  }
@@ -31292,19 +31705,18 @@ const Table = class {
31292
31705
  }
31293
31706
  if (!areRowsEqual(newData, oldData)) {
31294
31707
  const patched = this.fillMissingFields(newData, oldData);
31295
- this.tabulator.updateData(patched).then(() => {
31296
- if (!this.tabulator) {
31297
- return;
31298
- }
31299
- this.reformatChangedRows(newData, oldData);
31300
- this.setSelection();
31301
- });
31708
+ await this.tabulator.updateData(patched);
31709
+ if (!this.tabulator) {
31710
+ return;
31711
+ }
31712
+ this.reformatChangedRows(newData, oldData);
31713
+ this.setSelection();
31302
31714
  return;
31303
31715
  }
31304
31716
  if (newData.length > 0) {
31305
31717
  this.tabulator.updateOrAddData(newData);
31306
31718
  }
31307
- });
31719
+ }, 0);
31308
31720
  }
31309
31721
  updateColumns(newColumns, oldColumns) {
31310
31722
  if (!this.tabulator || !this.initialized) {
@@ -31373,10 +31785,11 @@ const Table = class {
31373
31785
  if (this.hasWarnedOnConflictingMovableAndSortable) {
31374
31786
  return;
31375
31787
  }
31376
- if (this.movableRows && this.sortableColumns) {
31377
- 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`.');
31378
- this.hasWarnedOnConflictingMovableAndSortable = true;
31788
+ if (!(this.movableRows && this.sortableColumns)) {
31789
+ return;
31379
31790
  }
31791
+ 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`.');
31792
+ this.hasWarnedOnConflictingMovableAndSortable = true;
31380
31793
  }
31381
31794
  updateSorting(newValue, oldValue) {
31382
31795
  if (!this.tabulator || !this.initialized) {
@@ -31392,11 +31805,12 @@ const Table = class {
31392
31805
  }
31393
31806
  reformatChangedRows(newData, oldData) {
31394
31807
  for (const [i, newRow] of newData.entries()) {
31395
- if (!!(newRow === null || newRow === void 0 ? void 0 : newRow.id) && !isEqual(newRow, oldData[i])) {
31396
- const row = this.tabulator.getRow(newRow.id);
31397
- if (row) {
31398
- row.reformat();
31399
- }
31808
+ if (!(newRow === null || newRow === void 0 ? void 0 : newRow.id) || isEqual(newRow, oldData[i])) {
31809
+ continue;
31810
+ }
31811
+ const row = this.tabulator.getRow(newRow.id);
31812
+ if (row) {
31813
+ row.reformat();
31400
31814
  }
31401
31815
  }
31402
31816
  }
@@ -31406,7 +31820,9 @@ const Table = class {
31406
31820
  if (!oldRow) {
31407
31821
  return newRow;
31408
31822
  }
31409
- const missingKeys = Object.keys(oldRow).filter((key) => !(key in newRow));
31823
+ const missingKeys = Object.keys(oldRow).filter(
31824
+ // eslint-disable-next-line unicorn/no-computed-property-existence-check -- `in` must also see inherited properties, e.g. getters on class instances
31825
+ (key) => !(key in newRow));
31410
31826
  if (missingKeys.length === 0) {
31411
31827
  return newRow;
31412
31828
  }
@@ -31529,10 +31945,11 @@ const Table = class {
31529
31945
  }
31530
31946
  }
31531
31947
  initTableSelection() {
31532
- if (this.selectable) {
31533
- this.tableSelection = new TableSelection(() => this.tabulator, this.pool, this.select, (key) => this.getTranslation(key));
31534
- this.tableSelection.setSelection(this.selection);
31948
+ if (!this.selectable) {
31949
+ return;
31535
31950
  }
31951
+ this.tableSelection = new TableSelection(() => this.tabulator, this.pool, this.select, (key) => this.getTranslation(key));
31952
+ this.tableSelection.setSelection(this.selection);
31536
31953
  }
31537
31954
  setSelection() {
31538
31955
  if (!(this.tabulator && this.tableSelection)) {
@@ -31577,10 +31994,11 @@ const Table = class {
31577
31994
  catch (_c) {
31578
31995
  return;
31579
31996
  }
31580
- if (scrollContainer) {
31581
- scrollContainer.scrollTop = scrollTop;
31582
- scrollContainer.scrollLeft = scrollLeft;
31997
+ if (!scrollContainer) {
31998
+ return;
31583
31999
  }
32000
+ scrollContainer.scrollTop = scrollTop;
32001
+ scrollContainer.scrollLeft = scrollLeft;
31584
32002
  }
31585
32003
  /**
31586
32004
  * Tabulator's scrollable row container, inside `<limel-table>`'s
@@ -31744,10 +32162,11 @@ const Table = class {
31744
32162
  this.changePage.emit(page);
31745
32163
  }
31746
32164
  handleRenderComplete() {
31747
- if (this.tabulator && this.shouldSort) {
31748
- this.shouldSort = false;
31749
- this.tabulator.setSort(this.getInitialSorting());
32165
+ if (!(this.tabulator && this.shouldSort)) {
32166
+ return;
31750
32167
  }
32168
+ this.shouldSort = false;
32169
+ this.tabulator.setSort(this.getInitialSorting());
31751
32170
  }
31752
32171
  onClickRow(event, row) {
31753
32172
  if (row.getPosition === undefined) {
@@ -31766,8 +32185,9 @@ const Table = class {
31766
32185
  this.activate.emit(this.activeRow);
31767
32186
  }
31768
32187
  formatRows() {
31769
- // eslint-disable-next-line unicorn/no-array-for-each
31770
- this.tabulator.getRows().forEach(this.formatRow);
32188
+ for (const row of this.tabulator.getRows()) {
32189
+ this.formatRow(row);
32190
+ }
31771
32191
  }
31772
32192
  formatRow(row) {
31773
32193
  if (this.isActiveRow(row)) {
@@ -31779,11 +32199,12 @@ const Table = class {
31779
32199
  const interactiveFeedbackElement = row
31780
32200
  .getElement()
31781
32201
  .querySelectorAll('.interactive-feedback');
31782
- if (interactiveFeedbackElement.length === 0) {
31783
- const element = row.getElement().ownerDocument.createElement('div');
31784
- element.classList.add('interactive-feedback');
31785
- row.getElement().prepend(element);
32202
+ if (interactiveFeedbackElement.length > 0) {
32203
+ return;
31786
32204
  }
32205
+ const element = row.getElement().ownerDocument.createElement('div');
32206
+ element.classList.add('interactive-feedback');
32207
+ row.getElement().prepend(element);
31787
32208
  }
31788
32209
  isActiveRow(row) {
31789
32210
  var _a;
@@ -31828,13 +32249,13 @@ const Table = class {
31828
32249
  render() {
31829
32250
  var _a, _b;
31830
32251
  const totalRows = (_a = this.totalRows) !== null && _a !== void 0 ? _a : this.data.length;
31831
- return (h(Host, { key: 'd7b3d7357afd74a50a5096df20d2c8b80215c44e', class: {
32252
+ return (h(Host, { key: 'fbc213159bb430688bad03e74964e10edfcd829d', class: {
31832
32253
  'has-low-density': this.layout === 'lowDensity',
31833
32254
  'has-pagination-on-top': this.paginationLocation === 'top',
31834
32255
  'has-aggregation': this.hasAggregation(this.columns),
31835
32256
  'has-pagination': totalRows > this.pageSize,
31836
32257
  'has-selection': (_b = this.tableSelection) === null || _b === void 0 ? void 0 : _b.hasSelection,
31837
- } }, h("div", { key: '85d4a0102b483b4cc445aeef0f1e61eb7e6193a7', id: "tabulator-container" }, h("div", { key: '4cef0219d120662fae2f942478f375adb0df6e8b', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: '3a37a59de9728849a1fae6869e741a45f96ef327', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: '77b23fb41ad3b972f097c71ea333dfc8b97c46bf', id: "tabulator-table" }))));
32258
+ } }, h("div", { key: 'cc988b86f74549d7ad773e748fef7cd92345efa5', id: "tabulator-container" }, h("div", { key: 'fd765d0050979609eaf4b9192f74b0abcf2cc0bd', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, h("limel-spinner", { key: '8416fbae6d90b71ee9151f7c28450373a685fc99', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), h("div", { key: '52aa28d0e575d8da169b8c6bb84d93b6f73f9a12', id: "tabulator-table" }))));
31838
32259
  }
31839
32260
  renderSelectAll() {
31840
32261
  var _a, _b, _c;