balala-revogrid 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/app-globals-D67EXhgK.js +16 -0
  3. package/dist/cjs/app-globals-D67EXhgK.js.map +1 -0
  4. package/dist/cjs/cell-renderer-B87qecTb.js +57 -0
  5. package/dist/cjs/cell-renderer-B87qecTb.js.map +1 -0
  6. package/dist/cjs/debounce-CcpHiH2p.js +498 -0
  7. package/dist/cjs/debounce-CcpHiH2p.js.map +1 -0
  8. package/dist/cjs/dimension.helpers-DA9-xqPT.js +3606 -0
  9. package/dist/cjs/dimension.helpers-DA9-xqPT.js.map +1 -0
  10. package/dist/cjs/edit.utils-CKsIiHlD.js +113 -0
  11. package/dist/cjs/edit.utils-CKsIiHlD.js.map +1 -0
  12. package/dist/cjs/events-DeLDyZlb.js +46 -0
  13. package/dist/cjs/events-DeLDyZlb.js.map +1 -0
  14. package/dist/cjs/filter.button-DSsWNs23.js +49 -0
  15. package/dist/cjs/filter.button-DSsWNs23.js.map +1 -0
  16. package/dist/cjs/grouping.row.renderer-BqR0ytMi.js +64 -0
  17. package/dist/cjs/grouping.row.renderer-BqR0ytMi.js.map +1 -0
  18. package/dist/cjs/header-cell-renderer-D-RjAVfe.js +1766 -0
  19. package/dist/cjs/header-cell-renderer-D-RjAVfe.js.map +1 -0
  20. package/dist/cjs/index-BF1c1pO3.js +2549 -0
  21. package/dist/cjs/index-BF1c1pO3.js.map +1 -0
  22. package/dist/cjs/index.cjs.js +6426 -0
  23. package/dist/cjs/index.cjs.js.map +1 -0
  24. package/dist/cjs/loader.cjs.js +19 -0
  25. package/dist/cjs/loader.cjs.js.map +1 -0
  26. package/dist/cjs/revo-grid.cjs.entry.js +3215 -0
  27. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
  28. package/dist/cjs/revo-grid.cjs.js +31 -0
  29. package/dist/cjs/revo-grid.cjs.js.map +1 -0
  30. package/dist/cjs/revo-grid.entry.cjs.js.map +1 -0
  31. package/dist/cjs/revogr-attribution.revogr-extra.revogr-focus.revogr-grouping-overlay.revogr-header-unified.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.cjs.js.map +1 -0
  32. package/dist/cjs/revogr-attribution_9.cjs.entry.js +2629 -0
  33. package/dist/cjs/revogr-attribution_9.cjs.entry.js.map +1 -0
  34. package/dist/cjs/revogr-clipboard.revogr-edit.revogr-order-editor.entry.cjs.js.map +1 -0
  35. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +471 -0
  36. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -0
  37. package/dist/cjs/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.cjs.js.map +1 -0
  38. package/dist/cjs/revogr-data_4.cjs.entry.js +1420 -0
  39. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
  40. package/dist/cjs/revogr-filter-panel.cjs.entry.js +382 -0
  41. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
  42. package/dist/cjs/revogr-filter-panel.entry.cjs.js.map +1 -0
  43. package/dist/cjs/row-renderer-BTE7VKD9.js +49 -0
  44. package/dist/cjs/row-renderer-BTE7VKD9.js.map +1 -0
  45. package/dist/cjs/text-editor-BdhmcrkS.js +81 -0
  46. package/dist/cjs/text-editor-BdhmcrkS.js.map +1 -0
  47. package/dist/cjs/throttle-2ZxfGjEI.js +533 -0
  48. package/dist/cjs/throttle-2ZxfGjEI.js.map +1 -0
  49. package/dist/cjs/tree-data.plugin-BRjwZtxI.js +5350 -0
  50. package/dist/cjs/tree-data.plugin-BRjwZtxI.js.map +1 -0
  51. package/dist/cjs/viewport.helpers-BAovztDd.js +61 -0
  52. package/dist/cjs/viewport.helpers-BAovztDd.js.map +1 -0
  53. package/dist/cjs/viewport.store-BTbPlyF-.js +525 -0
  54. package/dist/cjs/viewport.store-BTbPlyF-.js.map +1 -0
  55. package/dist/collection/collection-manifest.json +30 -0
  56. package/dist/collection/components/attribution/revogr-attribution.js +20 -0
  57. package/dist/collection/components/attribution/revogr-attribution.js.map +1 -0
  58. package/dist/collection/components/clipboard/revogr-clipboard.js +411 -0
  59. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
  60. package/dist/collection/components/data/cell-renderer.js +44 -0
  61. package/dist/collection/components/data/cell-renderer.js.map +1 -0
  62. package/dist/collection/components/data/column.service.js +333 -0
  63. package/dist/collection/components/data/column.service.js.map +1 -0
  64. package/dist/collection/components/data/revogr-data-style.css +95 -0
  65. package/dist/collection/components/data/revogr-data.js +939 -0
  66. package/dist/collection/components/data/revogr-data.js.map +1 -0
  67. package/dist/collection/components/data/row-highlight.plugin.js +51 -0
  68. package/dist/collection/components/data/row-highlight.plugin.js.map +1 -0
  69. package/dist/collection/components/data/row-renderer.js +37 -0
  70. package/dist/collection/components/data/row-renderer.js.map +1 -0
  71. package/dist/collection/components/editors/edit.utils.js +13 -0
  72. package/dist/collection/components/editors/edit.utils.js.map +1 -0
  73. package/dist/collection/components/editors/revogr-edit-style.css +16 -0
  74. package/dist/collection/components/editors/revogr-edit.js +346 -0
  75. package/dist/collection/components/editors/revogr-edit.js.map +1 -0
  76. package/dist/collection/components/editors/text-editor.js +74 -0
  77. package/dist/collection/components/editors/text-editor.js.map +1 -0
  78. package/dist/collection/components/extra/revogr-extra.js +125 -0
  79. package/dist/collection/components/extra/revogr-extra.js.map +1 -0
  80. package/dist/collection/components/grouping-overlay/revogr-grouping-overlay.css +62 -0
  81. package/dist/collection/components/grouping-overlay/revogr-grouping-overlay.js +644 -0
  82. package/dist/collection/components/grouping-overlay/revogr-grouping-overlay.js.map +1 -0
  83. package/dist/collection/components/header/header-cell-renderer.js +49 -0
  84. package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
  85. package/dist/collection/components/header/header-group-renderer.js +29 -0
  86. package/dist/collection/components/header/header-group-renderer.js.map +1 -0
  87. package/dist/collection/components/header/header-renderer.js +100 -0
  88. package/dist/collection/components/header/header-renderer.js.map +1 -0
  89. package/dist/collection/components/header/resizable.directive.js +274 -0
  90. package/dist/collection/components/header/resizable.directive.js.map +1 -0
  91. package/dist/collection/components/header/resizable.element.js +36 -0
  92. package/dist/collection/components/header/resizable.element.js.map +1 -0
  93. package/dist/collection/components/header/revogr-header-style.css +164 -0
  94. package/dist/collection/components/header/revogr-header-unified-style.css +205 -0
  95. package/dist/collection/components/header/revogr-header-unified.js +1013 -0
  96. package/dist/collection/components/header/revogr-header-unified.js.map +1 -0
  97. package/dist/collection/components/header/revogr-header.js +852 -0
  98. package/dist/collection/components/header/revogr-header.js.map +1 -0
  99. package/dist/collection/components/order/order-renderer.js +50 -0
  100. package/dist/collection/components/order/order-renderer.js.map +1 -0
  101. package/dist/collection/components/order/order-row.service.js +72 -0
  102. package/dist/collection/components/order/order-row.service.js.map +1 -0
  103. package/dist/collection/components/order/revogr-order-editor.js +461 -0
  104. package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
  105. package/dist/collection/components/overlay/autofill.service.js +221 -0
  106. package/dist/collection/components/overlay/autofill.service.js.map +1 -0
  107. package/dist/collection/components/overlay/keyboard.service.js +178 -0
  108. package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
  109. package/dist/collection/components/overlay/revogr-overlay-selection.js +1606 -0
  110. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
  111. package/dist/collection/components/overlay/revogr-overlay-style.css +95 -0
  112. package/dist/collection/components/overlay/selection.utils.js +136 -0
  113. package/dist/collection/components/overlay/selection.utils.js.map +1 -0
  114. package/dist/collection/components/revoGrid/grid.helpers.js +33 -0
  115. package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -0
  116. package/dist/collection/components/revoGrid/plugin.service.js +81 -0
  117. package/dist/collection/components/revoGrid/plugin.service.js.map +1 -0
  118. package/dist/collection/components/revoGrid/revo-grid-style.css +897 -0
  119. package/dist/collection/components/revoGrid/revo-grid.js +4717 -0
  120. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
  121. package/dist/collection/components/revoGrid/viewport.helpers.js +51 -0
  122. package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -0
  123. package/dist/collection/components/revoGrid/viewport.resize.service.js +55 -0
  124. package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -0
  125. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +139 -0
  126. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
  127. package/dist/collection/components/revoGrid/viewport.service.js +253 -0
  128. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -0
  129. package/dist/collection/components/rowHeaders/revogr-row-headers.js +291 -0
  130. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
  131. package/dist/collection/components/rowHeaders/row-header-render.js +5 -0
  132. package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
  133. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +70 -0
  134. package/dist/collection/components/scroll/revogr-viewport-scroll.js +938 -0
  135. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -0
  136. package/dist/collection/components/scrollable/autohide-scroll.plugin.js +44 -0
  137. package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -0
  138. package/dist/collection/components/scrollable/revogr-scroll-style.css +34 -0
  139. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +346 -0
  140. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
  141. package/dist/collection/components/selectionFocus/revogr-focus-style.css +7 -0
  142. package/dist/collection/components/selectionFocus/revogr-focus.js +429 -0
  143. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -0
  144. package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +28 -0
  145. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +171 -0
  146. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -0
  147. package/dist/collection/components/vnode/vnode-converter.js +84 -0
  148. package/dist/collection/components/vnode/vnode-converter.js.map +1 -0
  149. package/dist/collection/components/vnode/vnode.utils.js +18 -0
  150. package/dist/collection/components/vnode/vnode.utils.js.map +1 -0
  151. package/dist/collection/global/global.js +19 -0
  152. package/dist/collection/global/global.js.map +1 -0
  153. package/dist/collection/index.js +13 -0
  154. package/dist/collection/index.js.map +1 -0
  155. package/dist/collection/plugins/add-rows-on-paste.plugin.js +40 -0
  156. package/dist/collection/plugins/add-rows-on-paste.plugin.js.map +1 -0
  157. package/dist/collection/plugins/base.plugin.js +90 -0
  158. package/dist/collection/plugins/base.plugin.js.map +1 -0
  159. package/dist/collection/plugins/column-hide.plugin.js +532 -0
  160. package/dist/collection/plugins/column-hide.plugin.js.map +1 -0
  161. package/dist/collection/plugins/column-manage.plugin.js +1218 -0
  162. package/dist/collection/plugins/column-manage.plugin.js.map +1 -0
  163. package/dist/collection/plugins/column-stretch.plugin.js +921 -0
  164. package/dist/collection/plugins/column-stretch.plugin.js.map +1 -0
  165. package/dist/collection/plugins/column.auto-size.plugin.js +308 -0
  166. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -0
  167. package/dist/collection/plugins/column.stretch.plugin.js +96 -0
  168. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -0
  169. package/dist/collection/plugins/customColumnDrag/column-move.helper.js +361 -0
  170. package/dist/collection/plugins/customColumnDrag/column-move.helper.js.map +1 -0
  171. package/dist/collection/plugins/customColumnDrag/custom-column-drag.plugin.js +145 -0
  172. package/dist/collection/plugins/customColumnDrag/custom-column-drag.plugin.js.map +1 -0
  173. package/dist/collection/plugins/customColumnDrag/drag.handler.js +726 -0
  174. package/dist/collection/plugins/customColumnDrag/drag.handler.js.map +1 -0
  175. package/dist/collection/plugins/customColumnDrag/example.js +282 -0
  176. package/dist/collection/plugins/customColumnDrag/example.js.map +1 -0
  177. package/dist/collection/plugins/customColumnDrag/index.js +8 -0
  178. package/dist/collection/plugins/customColumnDrag/index.js.map +1 -0
  179. package/dist/collection/plugins/customColumnDrag/types.js +2 -0
  180. package/dist/collection/plugins/customColumnDrag/types.js.map +1 -0
  181. package/dist/collection/plugins/dispatcher.js +40 -0
  182. package/dist/collection/plugins/dispatcher.js.map +1 -0
  183. package/dist/collection/plugins/enhanced-scrollbar.plugin.js +493 -0
  184. package/dist/collection/plugins/enhanced-scrollbar.plugin.js.map +1 -0
  185. package/dist/collection/plugins/export/csv.js +72 -0
  186. package/dist/collection/plugins/export/csv.js.map +1 -0
  187. package/dist/collection/plugins/export/export.plugin.js +157 -0
  188. package/dist/collection/plugins/export/export.plugin.js.map +1 -0
  189. package/dist/collection/plugins/export/types.js +2 -0
  190. package/dist/collection/plugins/export/types.js.map +1 -0
  191. package/dist/collection/plugins/filter/conditions/equal.js +21 -0
  192. package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
  193. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +14 -0
  194. package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
  195. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +11 -0
  196. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
  197. package/dist/collection/plugins/filter/conditions/number/lessThan.js +16 -0
  198. package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
  199. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +11 -0
  200. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
  201. package/dist/collection/plugins/filter/conditions/set.js +7 -0
  202. package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
  203. package/dist/collection/plugins/filter/conditions/string/beginswith.js +21 -0
  204. package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
  205. package/dist/collection/plugins/filter/conditions/string/contains.js +25 -0
  206. package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
  207. package/dist/collection/plugins/filter/filter.button.js +28 -0
  208. package/dist/collection/plugins/filter/filter.button.js.map +1 -0
  209. package/dist/collection/plugins/filter/filter.indexed.js +49 -0
  210. package/dist/collection/plugins/filter/filter.indexed.js.map +1 -0
  211. package/dist/collection/plugins/filter/filter.panel.js +610 -0
  212. package/dist/collection/plugins/filter/filter.panel.js.map +1 -0
  213. package/dist/collection/plugins/filter/filter.plugin.js +388 -0
  214. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
  215. package/dist/collection/plugins/filter/filter.style.css +165 -0
  216. package/dist/collection/plugins/filter/filter.types.js +9 -0
  217. package/dist/collection/plugins/filter/filter.types.js.map +1 -0
  218. package/dist/collection/plugins/grid-setup.js +131 -0
  219. package/dist/collection/plugins/grid-setup.js.map +1 -0
  220. package/dist/collection/plugins/groupingRow/grouping.const.js +18 -0
  221. package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
  222. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +122 -0
  223. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
  224. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +252 -0
  225. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
  226. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +49 -0
  227. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
  228. package/dist/collection/plugins/groupingRow/grouping.row.types.js +2 -0
  229. package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
  230. package/dist/collection/plugins/groupingRow/grouping.service.js +215 -0
  231. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
  232. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +61 -0
  233. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
  234. package/dist/collection/plugins/index.js +26 -0
  235. package/dist/collection/plugins/index.js.map +1 -0
  236. package/dist/collection/plugins/manual-focus.plugin.js +353 -0
  237. package/dist/collection/plugins/manual-focus.plugin.js.map +1 -0
  238. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +171 -0
  239. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
  240. package/dist/collection/plugins/moveColumn/order-column.handler.js +69 -0
  241. package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
  242. package/dist/collection/plugins/pin-shadow.plugin.js +487 -0
  243. package/dist/collection/plugins/pin-shadow.plugin.js.map +1 -0
  244. package/dist/collection/plugins/resize-indicator.plugin.js +430 -0
  245. package/dist/collection/plugins/resize-indicator.plugin.js.map +1 -0
  246. package/dist/collection/plugins/row-select-plugin-2026228.js +1803 -0
  247. package/dist/collection/plugins/row-select-plugin-2026228.js.map +1 -0
  248. package/dist/collection/plugins/row-select.plugin.js +2096 -0
  249. package/dist/collection/plugins/row-select.plugin.js.map +1 -0
  250. package/dist/collection/plugins/rtl/rtl.plugin.js +110 -0
  251. package/dist/collection/plugins/rtl/rtl.plugin.js.map +1 -0
  252. package/dist/collection/plugins/sorting/sorting.func.js +82 -0
  253. package/dist/collection/plugins/sorting/sorting.func.js.map +1 -0
  254. package/dist/collection/plugins/sorting/sorting.plugin.js +224 -0
  255. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
  256. package/dist/collection/plugins/sorting/sorting.sign.js +9 -0
  257. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
  258. package/dist/collection/plugins/sorting/sorting.types.js +2 -0
  259. package/dist/collection/plugins/sorting/sorting.types.js.map +1 -0
  260. package/dist/collection/plugins/tree-data.plugin.js +447 -0
  261. package/dist/collection/plugins/tree-data.plugin.js.map +1 -0
  262. package/dist/collection/plugins/wcag/index.js +84 -0
  263. package/dist/collection/plugins/wcag/index.js.map +1 -0
  264. package/dist/collection/serve/controller.js +344 -0
  265. package/dist/collection/serve/data.js +201 -0
  266. package/dist/collection/serve/realData.js +4148 -0
  267. package/dist/collection/services/cell.helpers.js +12 -0
  268. package/dist/collection/services/cell.helpers.js.map +1 -0
  269. package/dist/collection/services/column.data.provider.js +122 -0
  270. package/dist/collection/services/column.data.provider.js.map +1 -0
  271. package/dist/collection/services/data.provider.js +89 -0
  272. package/dist/collection/services/data.provider.js.map +1 -0
  273. package/dist/collection/services/dimension.provider.js +257 -0
  274. package/dist/collection/services/dimension.provider.js.map +1 -0
  275. package/dist/collection/services/local.scroll.service.js +136 -0
  276. package/dist/collection/services/local.scroll.service.js.map +1 -0
  277. package/dist/collection/services/local.scroll.timer.js +84 -0
  278. package/dist/collection/services/local.scroll.timer.js.map +1 -0
  279. package/dist/collection/services/selection.store.connector.js +274 -0
  280. package/dist/collection/services/selection.store.connector.js.map +1 -0
  281. package/dist/collection/services/viewport.provider.js +17 -0
  282. package/dist/collection/services/viewport.provider.js.map +1 -0
  283. package/dist/collection/store/dataSource/data.proxy.js +45 -0
  284. package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
  285. package/dist/collection/store/dataSource/data.store.js +146 -0
  286. package/dist/collection/store/dataSource/data.store.js.map +1 -0
  287. package/dist/collection/store/dataSource/index.js +7 -0
  288. package/dist/collection/store/dataSource/index.js.map +1 -0
  289. package/dist/collection/store/dataSource/trimmed.plugin.js +34 -0
  290. package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -0
  291. package/dist/collection/store/dimension/dimension.helpers.js +101 -0
  292. package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
  293. package/dist/collection/store/dimension/dimension.recalculate.plugin.js +29 -0
  294. package/dist/collection/store/dimension/dimension.recalculate.plugin.js.map +1 -0
  295. package/dist/collection/store/dimension/dimension.store.js +124 -0
  296. package/dist/collection/store/dimension/dimension.store.js.map +1 -0
  297. package/dist/collection/store/dimension/dimension.trim.plugin.js +61 -0
  298. package/dist/collection/store/dimension/dimension.trim.plugin.js.map +1 -0
  299. package/dist/collection/store/dimension/index.js +6 -0
  300. package/dist/collection/store/dimension/index.js.map +1 -0
  301. package/dist/collection/store/index.js +17 -0
  302. package/dist/collection/store/index.js.map +1 -0
  303. package/dist/collection/store/selection/index.js +6 -0
  304. package/dist/collection/store/selection/index.js.map +1 -0
  305. package/dist/collection/store/selection/selection.helpers.js +49 -0
  306. package/dist/collection/store/selection/selection.helpers.js.map +1 -0
  307. package/dist/collection/store/selection/selection.store.js +85 -0
  308. package/dist/collection/store/selection/selection.store.js.map +1 -0
  309. package/dist/collection/store/vp/index.js +6 -0
  310. package/dist/collection/store/vp/index.js.map +1 -0
  311. package/dist/collection/store/vp/viewport.helpers.js +251 -0
  312. package/dist/collection/store/vp/viewport.helpers.js.map +1 -0
  313. package/dist/collection/store/vp/viewport.store.js +256 -0
  314. package/dist/collection/store/vp/viewport.store.js.map +1 -0
  315. package/dist/collection/themeManager/theme.compact.js +9 -0
  316. package/dist/collection/themeManager/theme.compact.js.map +1 -0
  317. package/dist/collection/themeManager/theme.default.js +9 -0
  318. package/dist/collection/themeManager/theme.default.js.map +1 -0
  319. package/dist/collection/themeManager/theme.material.js +9 -0
  320. package/dist/collection/themeManager/theme.material.js.map +1 -0
  321. package/dist/collection/themeManager/theme.service.js +53 -0
  322. package/dist/collection/themeManager/theme.service.js.map +1 -0
  323. package/dist/collection/types/dimension.js +2 -0
  324. package/dist/collection/types/dimension.js.map +1 -0
  325. package/dist/collection/types/events.js +124 -0
  326. package/dist/collection/types/events.js.map +1 -0
  327. package/dist/collection/types/index.js +12 -0
  328. package/dist/collection/types/index.js.map +1 -0
  329. package/dist/collection/types/interfaces.js +6 -0
  330. package/dist/collection/types/interfaces.js.map +1 -0
  331. package/dist/collection/types/plugin.js +2 -0
  332. package/dist/collection/types/plugin.js.map +1 -0
  333. package/dist/collection/types/plugin.types.js +2 -0
  334. package/dist/collection/types/plugin.types.js.map +1 -0
  335. package/dist/collection/types/selection.js +2 -0
  336. package/dist/collection/types/selection.js.map +1 -0
  337. package/dist/collection/types/theme.js +2 -0
  338. package/dist/collection/types/theme.js.map +1 -0
  339. package/dist/collection/types/viewport.interfaces.js +2 -0
  340. package/dist/collection/types/viewport.interfaces.js.map +1 -0
  341. package/dist/collection/utils/batchGroupCollapse.js +190 -0
  342. package/dist/collection/utils/batchGroupCollapse.js.map +1 -0
  343. package/dist/collection/utils/browser.js +7 -0
  344. package/dist/collection/utils/browser.js.map +1 -0
  345. package/dist/collection/utils/cell-template-helper.js +181 -0
  346. package/dist/collection/utils/cell-template-helper.js.map +1 -0
  347. package/dist/collection/utils/closest.polifill.js +22 -0
  348. package/dist/collection/utils/closest.polifill.js.map +1 -0
  349. package/dist/collection/utils/column.utils.js +448 -0
  350. package/dist/collection/utils/column.utils.js.map +1 -0
  351. package/dist/collection/utils/consts.js +26 -0
  352. package/dist/collection/utils/consts.js.map +1 -0
  353. package/dist/collection/utils/events.js +39 -0
  354. package/dist/collection/utils/events.js.map +1 -0
  355. package/dist/collection/utils/header.utils.js +24 -0
  356. package/dist/collection/utils/header.utils.js.map +1 -0
  357. package/dist/collection/utils/index.js +133 -0
  358. package/dist/collection/utils/index.js.map +1 -0
  359. package/dist/collection/utils/key.codes.js +80 -0
  360. package/dist/collection/utils/key.codes.js.map +1 -0
  361. package/dist/collection/utils/key.utils.js +86 -0
  362. package/dist/collection/utils/key.utils.js.map +1 -0
  363. package/dist/collection/utils/mobile.js +7 -0
  364. package/dist/collection/utils/mobile.js.map +1 -0
  365. package/dist/collection/utils/platform.js +9 -0
  366. package/dist/collection/utils/platform.js.map +1 -0
  367. package/dist/collection/utils/row-header-utils.js +9 -0
  368. package/dist/collection/utils/row-header-utils.js.map +1 -0
  369. package/dist/collection/utils/store.types.js +2 -0
  370. package/dist/collection/utils/store.types.js.map +1 -0
  371. package/dist/collection/utils/store.utils.js +15 -0
  372. package/dist/collection/utils/store.utils.js.map +1 -0
  373. package/dist/esm/app-globals-C3ZHKjnB.js +14 -0
  374. package/dist/esm/app-globals-C3ZHKjnB.js.map +1 -0
  375. package/dist/esm/cell-renderer-C2Td6LKY.js +54 -0
  376. package/dist/esm/cell-renderer-C2Td6LKY.js.map +1 -0
  377. package/dist/esm/debounce-BfO9dz9v.js +488 -0
  378. package/dist/esm/debounce-BfO9dz9v.js.map +1 -0
  379. package/dist/esm/dimension.helpers-DDil7Dg0.js +3546 -0
  380. package/dist/esm/dimension.helpers-DDil7Dg0.js.map +1 -0
  381. package/dist/esm/edit.utils-ClxXX_x9.js +99 -0
  382. package/dist/esm/edit.utils-ClxXX_x9.js.map +1 -0
  383. package/dist/esm/events-BvSmBueA.js +43 -0
  384. package/dist/esm/events-BvSmBueA.js.map +1 -0
  385. package/dist/esm/filter.button-DmOE7VCJ.js +39 -0
  386. package/dist/esm/filter.button-DmOE7VCJ.js.map +1 -0
  387. package/dist/esm/grouping.row.renderer-6NYszUJA.js +60 -0
  388. package/dist/esm/grouping.row.renderer-6NYszUJA.js.map +1 -0
  389. package/dist/esm/header-cell-renderer-BVHTuFGE.js +1715 -0
  390. package/dist/esm/header-cell-renderer-BVHTuFGE.js.map +1 -0
  391. package/dist/esm/index-Dyptvvxf.js +2519 -0
  392. package/dist/esm/index-Dyptvvxf.js.map +1 -0
  393. package/dist/esm/index.js +6232 -0
  394. package/dist/esm/index.js.map +1 -0
  395. package/dist/esm/loader.js +17 -0
  396. package/dist/esm/loader.js.map +1 -0
  397. package/dist/esm/revo-grid.entry.js +3213 -0
  398. package/dist/esm/revo-grid.entry.js.map +1 -0
  399. package/dist/esm/revo-grid.js +27 -0
  400. package/dist/esm/revo-grid.js.map +1 -0
  401. package/dist/esm/revogr-attribution.revogr-extra.revogr-focus.revogr-grouping-overlay.revogr-header-unified.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.js.map +1 -0
  402. package/dist/esm/revogr-attribution_9.entry.js +2619 -0
  403. package/dist/esm/revogr-attribution_9.entry.js.map +1 -0
  404. package/dist/esm/revogr-clipboard.revogr-edit.revogr-order-editor.entry.js.map +1 -0
  405. package/dist/esm/revogr-clipboard_3.entry.js +467 -0
  406. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -0
  407. package/dist/esm/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.js.map +1 -0
  408. package/dist/esm/revogr-data_4.entry.js +1415 -0
  409. package/dist/esm/revogr-data_4.entry.js.map +1 -0
  410. package/dist/esm/revogr-filter-panel.entry.js +380 -0
  411. package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
  412. package/dist/esm/row-renderer-sb6QTqH-.js +46 -0
  413. package/dist/esm/row-renderer-sb6QTqH-.js.map +1 -0
  414. package/dist/esm/text-editor-CxXqoicM.js +79 -0
  415. package/dist/esm/text-editor-CxXqoicM.js.map +1 -0
  416. package/dist/esm/throttle-DXYrmEeb.js +525 -0
  417. package/dist/esm/throttle-DXYrmEeb.js.map +1 -0
  418. package/dist/esm/tree-data.plugin-C2eXkf9_.js +5319 -0
  419. package/dist/esm/tree-data.plugin-C2eXkf9_.js.map +1 -0
  420. package/dist/esm/viewport.helpers-VXhsJZtn.js +55 -0
  421. package/dist/esm/viewport.helpers-VXhsJZtn.js.map +1 -0
  422. package/dist/esm/viewport.store-C-GnV31k.js +512 -0
  423. package/dist/esm/viewport.store-C-GnV31k.js.map +1 -0
  424. package/dist/index.cjs.js +1 -0
  425. package/dist/index.js +1 -0
  426. package/dist/revo-grid/app-globals-C3ZHKjnB.js +14 -0
  427. package/dist/revo-grid/app-globals-C3ZHKjnB.js.map +1 -0
  428. package/dist/revo-grid/cell-renderer-C2Td6LKY.js +54 -0
  429. package/dist/revo-grid/cell-renderer-C2Td6LKY.js.map +1 -0
  430. package/dist/revo-grid/debounce-BfO9dz9v.js +488 -0
  431. package/dist/revo-grid/debounce-BfO9dz9v.js.map +1 -0
  432. package/dist/revo-grid/dimension.helpers-DDil7Dg0.js +3546 -0
  433. package/dist/revo-grid/dimension.helpers-DDil7Dg0.js.map +1 -0
  434. package/dist/revo-grid/edit.utils-ClxXX_x9.js +99 -0
  435. package/dist/revo-grid/edit.utils-ClxXX_x9.js.map +1 -0
  436. package/dist/revo-grid/events-BvSmBueA.js +43 -0
  437. package/dist/revo-grid/events-BvSmBueA.js.map +1 -0
  438. package/dist/revo-grid/filter.button-DmOE7VCJ.js +39 -0
  439. package/dist/revo-grid/filter.button-DmOE7VCJ.js.map +1 -0
  440. package/dist/revo-grid/grouping.row.renderer-6NYszUJA.js +60 -0
  441. package/dist/revo-grid/grouping.row.renderer-6NYszUJA.js.map +1 -0
  442. package/dist/revo-grid/header-cell-renderer-BVHTuFGE.js +1715 -0
  443. package/dist/revo-grid/header-cell-renderer-BVHTuFGE.js.map +1 -0
  444. package/dist/revo-grid/index-Dyptvvxf.js +2490 -0
  445. package/dist/revo-grid/index-Dyptvvxf.js.map +1 -0
  446. package/dist/revo-grid/index.esm.js +6232 -0
  447. package/dist/revo-grid/index.esm.js.map +1 -0
  448. package/dist/revo-grid/loader.esm.js.map +1 -0
  449. package/dist/revo-grid/revo-grid.entry.esm.js.map +1 -0
  450. package/dist/revo-grid/revo-grid.entry.js +3213 -0
  451. package/dist/revo-grid/revo-grid.entry.js.map +1 -0
  452. package/dist/revo-grid/revo-grid.esm.js +27 -0
  453. package/dist/revo-grid/revo-grid.esm.js.map +1 -0
  454. package/dist/revo-grid/revogr-attribution.revogr-extra.revogr-focus.revogr-grouping-overlay.revogr-header-unified.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.esm.js.map +1 -0
  455. package/dist/revo-grid/revogr-attribution_9.entry.js +2619 -0
  456. package/dist/revo-grid/revogr-attribution_9.entry.js.map +1 -0
  457. package/dist/revo-grid/revogr-clipboard.revogr-edit.revogr-order-editor.entry.esm.js.map +1 -0
  458. package/dist/revo-grid/revogr-clipboard_3.entry.js +467 -0
  459. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
  460. package/dist/revo-grid/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.esm.js.map +1 -0
  461. package/dist/revo-grid/revogr-data_4.entry.js +1415 -0
  462. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
  463. package/dist/revo-grid/revogr-filter-panel.entry.esm.js.map +1 -0
  464. package/dist/revo-grid/revogr-filter-panel.entry.js +380 -0
  465. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
  466. package/dist/revo-grid/row-renderer-sb6QTqH-.js +46 -0
  467. package/dist/revo-grid/row-renderer-sb6QTqH-.js.map +1 -0
  468. package/dist/revo-grid/text-editor-CxXqoicM.js +79 -0
  469. package/dist/revo-grid/text-editor-CxXqoicM.js.map +1 -0
  470. package/dist/revo-grid/throttle-DXYrmEeb.js +525 -0
  471. package/dist/revo-grid/throttle-DXYrmEeb.js.map +1 -0
  472. package/dist/revo-grid/tree-data.plugin-C2eXkf9_.js +5319 -0
  473. package/dist/revo-grid/tree-data.plugin-C2eXkf9_.js.map +1 -0
  474. package/dist/revo-grid/viewport.helpers-VXhsJZtn.js +55 -0
  475. package/dist/revo-grid/viewport.helpers-VXhsJZtn.js.map +1 -0
  476. package/dist/revo-grid/viewport.store-C-GnV31k.js +512 -0
  477. package/dist/revo-grid/viewport.store-C-GnV31k.js.map +1 -0
  478. package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
  479. package/dist/types/components/clipboard/revogr-clipboard.d.ts +89 -0
  480. package/dist/types/components/data/cell-renderer.d.ts +12 -0
  481. package/dist/types/components/data/column.service.d.ts +65 -0
  482. package/dist/types/components/data/revogr-data.d.ts +132 -0
  483. package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
  484. package/dist/types/components/data/row-renderer.d.ts +13 -0
  485. package/dist/types/components/editors/edit.utils.d.ts +3 -0
  486. package/dist/types/components/editors/revogr-edit.d.ts +63 -0
  487. package/dist/types/components/editors/text-editor.d.ts +43 -0
  488. package/dist/types/components/extra/revogr-extra.d.ts +38 -0
  489. package/dist/types/components/grouping-overlay/revogr-grouping-overlay.d.ts +71 -0
  490. package/dist/types/components/header/header-cell-renderer.d.ts +10 -0
  491. package/dist/types/components/header/header-group-renderer.d.ts +17 -0
  492. package/dist/types/components/header/header-renderer.d.ts +24 -0
  493. package/dist/types/components/header/resizable.directive.d.ts +60 -0
  494. package/dist/types/components/header/resizable.element.d.ts +5 -0
  495. package/dist/types/components/header/revogr-header-unified.d.ts +168 -0
  496. package/dist/types/components/header/revogr-header.d.ts +131 -0
  497. package/dist/types/components/order/order-renderer.d.ts +29 -0
  498. package/dist/types/components/order/order-row.service.d.ts +27 -0
  499. package/dist/types/components/order/revogr-order-editor.d.ts +56 -0
  500. package/dist/types/components/overlay/autofill.service.d.ts +80 -0
  501. package/dist/types/components/overlay/keyboard.service.d.ts +29 -0
  502. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +295 -0
  503. package/dist/types/components/overlay/selection.utils.d.ts +47 -0
  504. package/dist/types/components/revoGrid/grid.helpers.d.ts +17 -0
  505. package/dist/types/components/revoGrid/plugin.service.d.ts +37 -0
  506. package/dist/types/components/revoGrid/revo-grid.d.ts +801 -0
  507. package/dist/types/components/revoGrid/viewport.helpers.d.ts +42 -0
  508. package/dist/types/components/revoGrid/viewport.resize.service.d.ts +17 -0
  509. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +24 -0
  510. package/dist/types/components/revoGrid/viewport.service.d.ts +59 -0
  511. package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +51 -0
  512. package/dist/types/components/rowHeaders/row-header-render.d.ts +9 -0
  513. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +159 -0
  514. package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
  515. package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +49 -0
  516. package/dist/types/components/selectionFocus/revogr-focus.d.ts +63 -0
  517. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +28 -0
  518. package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
  519. package/dist/types/components/vnode/vnode.utils.d.ts +9 -0
  520. package/dist/types/components.d.ts +2928 -0
  521. package/dist/types/global/global.d.ts +1 -0
  522. package/dist/types/index.d.ts +9 -0
  523. package/dist/types/plugins/add-rows-on-paste.plugin.d.ts +14 -0
  524. package/dist/types/plugins/base.plugin.d.ts +51 -0
  525. package/dist/types/plugins/column-hide.plugin.d.ts +110 -0
  526. package/dist/types/plugins/column-manage.plugin.d.ts +225 -0
  527. package/dist/types/plugins/column-stretch.plugin.d.ts +159 -0
  528. package/dist/types/plugins/column.auto-size.plugin.d.ts +69 -0
  529. package/dist/types/plugins/column.stretch.plugin.d.ts +20 -0
  530. package/dist/types/plugins/customColumnDrag/column-move.helper.d.ts +71 -0
  531. package/dist/types/plugins/customColumnDrag/custom-column-drag.plugin.d.ts +35 -0
  532. package/dist/types/plugins/customColumnDrag/drag.handler.d.ts +112 -0
  533. package/dist/types/plugins/customColumnDrag/example.d.ts +31 -0
  534. package/dist/types/plugins/customColumnDrag/index.d.ts +5 -0
  535. package/dist/types/plugins/customColumnDrag/types.d.ts +46 -0
  536. package/dist/types/plugins/dispatcher.d.ts +20 -0
  537. package/dist/types/plugins/enhanced-scrollbar.plugin.d.ts +76 -0
  538. package/dist/types/plugins/export/csv.d.ts +9 -0
  539. package/dist/types/plugins/export/export.plugin.d.ts +24 -0
  540. package/dist/types/plugins/export/types.d.ts +23 -0
  541. package/dist/types/plugins/filter/conditions/equal.d.ts +4 -0
  542. package/dist/types/plugins/filter/conditions/number/greaterThan.d.ts +3 -0
  543. package/dist/types/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +3 -0
  544. package/dist/types/plugins/filter/conditions/number/lessThan.d.ts +3 -0
  545. package/dist/types/plugins/filter/conditions/number/lessThanOrEqual.d.ts +3 -0
  546. package/dist/types/plugins/filter/conditions/set.d.ts +4 -0
  547. package/dist/types/plugins/filter/conditions/string/beginswith.d.ts +3 -0
  548. package/dist/types/plugins/filter/conditions/string/contains.d.ts +4 -0
  549. package/dist/types/plugins/filter/filter.button.d.ts +14 -0
  550. package/dist/types/plugins/filter/filter.indexed.d.ts +20 -0
  551. package/dist/types/plugins/filter/filter.panel.d.ts +53 -0
  552. package/dist/types/plugins/filter/filter.plugin.d.ts +73 -0
  553. package/dist/types/plugins/filter/filter.types.d.ts +129 -0
  554. package/dist/types/plugins/grid-setup.d.ts +65 -0
  555. package/dist/types/plugins/groupingRow/grouping.const.d.ts +14 -0
  556. package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +15 -0
  557. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +39 -0
  558. package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +6 -0
  559. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +144 -0
  560. package/dist/types/plugins/groupingRow/grouping.service.d.ts +36 -0
  561. package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +10 -0
  562. package/dist/types/plugins/index.d.ts +22 -0
  563. package/dist/types/plugins/manual-focus.plugin.d.ts +113 -0
  564. package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +50 -0
  565. package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
  566. package/dist/types/plugins/pin-shadow.plugin.d.ts +73 -0
  567. package/dist/types/plugins/resize-indicator.plugin.d.ts +71 -0
  568. package/dist/types/plugins/row-select-plugin-2026228.d.ts +367 -0
  569. package/dist/types/plugins/row-select.plugin.d.ts +378 -0
  570. package/dist/types/plugins/rtl/rtl.plugin.d.ts +37 -0
  571. package/dist/types/plugins/sorting/sorting.func.d.ts +9 -0
  572. package/dist/types/plugins/sorting/sorting.plugin.d.ts +48 -0
  573. package/dist/types/plugins/sorting/sorting.sign.d.ts +6 -0
  574. package/dist/types/plugins/sorting/sorting.types.d.ts +14 -0
  575. package/dist/types/plugins/tree-data.plugin.d.ts +56 -0
  576. package/dist/types/plugins/wcag/index.d.ts +26 -0
  577. package/dist/types/services/cell.helpers.d.ts +2 -0
  578. package/dist/types/services/column.data.provider.d.ts +27 -0
  579. package/dist/types/services/data.provider.d.ts +36 -0
  580. package/dist/types/services/dimension.provider.d.ts +71 -0
  581. package/dist/types/services/local.scroll.service.d.ts +36 -0
  582. package/dist/types/services/local.scroll.timer.d.ts +32 -0
  583. package/dist/types/services/selection.store.connector.d.ts +74 -0
  584. package/dist/types/services/viewport.provider.d.ts +9 -0
  585. package/dist/types/stencil-public-runtime.d.ts +1709 -0
  586. package/dist/types/store/dataSource/data.proxy.d.ts +14 -0
  587. package/dist/types/store/dataSource/data.store.d.ts +77 -0
  588. package/dist/types/store/dataSource/index.d.ts +3 -0
  589. package/dist/types/store/dataSource/trimmed.plugin.d.ts +12 -0
  590. package/dist/types/store/dimension/dimension.helpers.d.ts +24 -0
  591. package/dist/types/store/dimension/dimension.recalculate.plugin.d.ts +15 -0
  592. package/dist/types/store/dimension/dimension.store.d.ts +34 -0
  593. package/dist/types/store/dimension/dimension.trim.plugin.d.ts +13 -0
  594. package/dist/types/store/dimension/index.d.ts +2 -0
  595. package/dist/types/store/index.d.ts +8 -0
  596. package/dist/types/store/selection/index.d.ts +2 -0
  597. package/dist/types/store/selection/selection.helpers.d.ts +5 -0
  598. package/dist/types/store/selection/selection.store.d.ts +22 -0
  599. package/dist/types/store/vp/index.d.ts +7 -0
  600. package/dist/types/store/vp/viewport.helpers.d.ts +54 -0
  601. package/dist/types/store/vp/viewport.store.d.ts +38 -0
  602. package/dist/types/themeManager/theme.compact.d.ts +4 -0
  603. package/dist/types/themeManager/theme.default.d.ts +4 -0
  604. package/dist/types/themeManager/theme.material.d.ts +4 -0
  605. package/dist/types/themeManager/theme.service.d.ts +13 -0
  606. package/dist/types/types/dimension.d.ts +8 -0
  607. package/dist/types/types/events.d.ts +2 -0
  608. package/dist/types/types/index.d.ts +8 -0
  609. package/dist/types/types/interfaces.d.ts +795 -0
  610. package/dist/types/types/plugin.d.ts +9 -0
  611. package/dist/types/types/plugin.types.d.ts +48 -0
  612. package/dist/types/types/selection.d.ts +178 -0
  613. package/dist/types/types/theme.d.ts +7 -0
  614. package/dist/types/types/viewport.interfaces.d.ts +45 -0
  615. package/dist/types/utils/batchGroupCollapse.d.ts +77 -0
  616. package/dist/types/utils/browser.d.ts +1 -0
  617. package/dist/types/utils/cell-template-helper.d.ts +74 -0
  618. package/dist/types/utils/closest.polifill.d.ts +0 -0
  619. package/dist/types/utils/column.utils.d.ts +110 -0
  620. package/dist/types/utils/consts.d.ts +22 -0
  621. package/dist/types/utils/events.d.ts +5 -0
  622. package/dist/types/utils/header.utils.d.ts +2 -0
  623. package/dist/types/utils/index.d.ts +32 -0
  624. package/dist/types/utils/key.codes.d.ts +73 -0
  625. package/dist/types/utils/key.utils.d.ts +12 -0
  626. package/dist/types/utils/mobile.d.ts +1 -0
  627. package/dist/types/utils/platform.d.ts +4 -0
  628. package/dist/types/utils/row-header-utils.d.ts +2 -0
  629. package/dist/types/utils/store.types.d.ts +97 -0
  630. package/dist/types/utils/store.utils.d.ts +10 -0
  631. package/hydrate/index.d.ts +273 -0
  632. package/hydrate/index.js +39851 -0
  633. package/hydrate/index.mjs +39843 -0
  634. package/hydrate/package.json +12 -0
  635. package/loader/cdn.js +4 -0
  636. package/loader/index.cjs.js +4 -0
  637. package/loader/index.d.ts +24 -0
  638. package/loader/index.es2017.js +4 -0
  639. package/loader/index.js +5 -0
  640. package/package.json +149 -0
  641. package/readme.md +303 -0
  642. package/standalone/column.service.js +1110 -0
  643. package/standalone/column.service.js.map +1 -0
  644. package/standalone/consts.js +30 -0
  645. package/standalone/consts.js.map +1 -0
  646. package/standalone/data.store.js +3101 -0
  647. package/standalone/data.store.js.map +1 -0
  648. package/standalone/debounce.js +215 -0
  649. package/standalone/debounce.js.map +1 -0
  650. package/standalone/dimension.helpers.js +229 -0
  651. package/standalone/dimension.helpers.js.map +1 -0
  652. package/standalone/filter.button.js +39 -0
  653. package/standalone/filter.button.js.map +1 -0
  654. package/standalone/grouping.service.js +234 -0
  655. package/standalone/grouping.service.js.map +1 -0
  656. package/standalone/header-group-renderer.js +634 -0
  657. package/standalone/header-group-renderer.js.map +1 -0
  658. package/standalone/index.d.ts +72 -0
  659. package/standalone/index.js +6272 -0
  660. package/standalone/index.js.map +1 -0
  661. package/standalone/index2.js +131 -0
  662. package/standalone/index2.js.map +1 -0
  663. package/standalone/local.scroll.timer.js +222 -0
  664. package/standalone/local.scroll.timer.js.map +1 -0
  665. package/standalone/platform.js +90 -0
  666. package/standalone/platform.js.map +1 -0
  667. package/standalone/revo-grid.d.ts +11 -0
  668. package/standalone/revo-grid.js +8734 -0
  669. package/standalone/revo-grid.js.map +1 -0
  670. package/standalone/revogr-attribution.d.ts +11 -0
  671. package/standalone/revogr-attribution.js +12 -0
  672. package/standalone/revogr-attribution.js.map +1 -0
  673. package/standalone/revogr-attribution2.js +32 -0
  674. package/standalone/revogr-attribution2.js.map +1 -0
  675. package/standalone/revogr-clipboard.d.ts +11 -0
  676. package/standalone/revogr-clipboard.js +12 -0
  677. package/standalone/revogr-clipboard.js.map +1 -0
  678. package/standalone/revogr-clipboard2.js +179 -0
  679. package/standalone/revogr-clipboard2.js.map +1 -0
  680. package/standalone/revogr-data.d.ts +11 -0
  681. package/standalone/revogr-data.js +12 -0
  682. package/standalone/revogr-data.js.map +1 -0
  683. package/standalone/revogr-data2.js +503 -0
  684. package/standalone/revogr-data2.js.map +1 -0
  685. package/standalone/revogr-edit.d.ts +11 -0
  686. package/standalone/revogr-edit.js +12 -0
  687. package/standalone/revogr-edit.js.map +1 -0
  688. package/standalone/revogr-edit2.js +330 -0
  689. package/standalone/revogr-edit2.js.map +1 -0
  690. package/standalone/revogr-extra.d.ts +11 -0
  691. package/standalone/revogr-extra.js +12 -0
  692. package/standalone/revogr-extra.js.map +1 -0
  693. package/standalone/revogr-extra2.js +73 -0
  694. package/standalone/revogr-extra2.js.map +1 -0
  695. package/standalone/revogr-filter-panel.d.ts +11 -0
  696. package/standalone/revogr-filter-panel.js +411 -0
  697. package/standalone/revogr-filter-panel.js.map +1 -0
  698. package/standalone/revogr-focus.d.ts +11 -0
  699. package/standalone/revogr-focus.js +12 -0
  700. package/standalone/revogr-focus.js.map +1 -0
  701. package/standalone/revogr-focus2.js +119 -0
  702. package/standalone/revogr-focus2.js.map +1 -0
  703. package/standalone/revogr-grouping-overlay.d.ts +11 -0
  704. package/standalone/revogr-grouping-overlay.js +12 -0
  705. package/standalone/revogr-grouping-overlay.js.map +1 -0
  706. package/standalone/revogr-grouping-overlay2.js +356 -0
  707. package/standalone/revogr-grouping-overlay2.js.map +1 -0
  708. package/standalone/revogr-header-unified.d.ts +11 -0
  709. package/standalone/revogr-header-unified.js +12 -0
  710. package/standalone/revogr-header-unified.js.map +1 -0
  711. package/standalone/revogr-header-unified2.js +781 -0
  712. package/standalone/revogr-header-unified2.js.map +1 -0
  713. package/standalone/revogr-header.d.ts +11 -0
  714. package/standalone/revogr-header.js +12 -0
  715. package/standalone/revogr-header.js.map +1 -0
  716. package/standalone/revogr-header2.js +343 -0
  717. package/standalone/revogr-header2.js.map +1 -0
  718. package/standalone/revogr-order-editor.d.ts +11 -0
  719. package/standalone/revogr-order-editor.js +12 -0
  720. package/standalone/revogr-order-editor.js.map +1 -0
  721. package/standalone/revogr-order-editor2.js +201 -0
  722. package/standalone/revogr-order-editor2.js.map +1 -0
  723. package/standalone/revogr-overlay-selection.d.ts +11 -0
  724. package/standalone/revogr-overlay-selection.js +12 -0
  725. package/standalone/revogr-overlay-selection.js.map +1 -0
  726. package/standalone/revogr-overlay-selection2.js +1068 -0
  727. package/standalone/revogr-overlay-selection2.js.map +1 -0
  728. package/standalone/revogr-row-headers.d.ts +11 -0
  729. package/standalone/revogr-row-headers.js +12 -0
  730. package/standalone/revogr-row-headers.js.map +1 -0
  731. package/standalone/revogr-row-headers2.js +625 -0
  732. package/standalone/revogr-row-headers2.js.map +1 -0
  733. package/standalone/revogr-scroll-virtual.d.ts +11 -0
  734. package/standalone/revogr-scroll-virtual.js +12 -0
  735. package/standalone/revogr-scroll-virtual.js.map +1 -0
  736. package/standalone/revogr-scroll-virtual2.js +235 -0
  737. package/standalone/revogr-scroll-virtual2.js.map +1 -0
  738. package/standalone/revogr-temp-range.d.ts +11 -0
  739. package/standalone/revogr-temp-range.js +12 -0
  740. package/standalone/revogr-temp-range.js.map +1 -0
  741. package/standalone/revogr-temp-range2.js +93 -0
  742. package/standalone/revogr-temp-range2.js.map +1 -0
  743. package/standalone/revogr-viewport-scroll.d.ts +11 -0
  744. package/standalone/revogr-viewport-scroll.js +12 -0
  745. package/standalone/revogr-viewport-scroll.js.map +1 -0
  746. package/standalone/revogr-viewport-scroll2.js +761 -0
  747. package/standalone/revogr-viewport-scroll2.js.map +1 -0
  748. package/standalone/row-renderer.js +41 -0
  749. package/standalone/row-renderer.js.map +1 -0
  750. package/standalone/selection.utils.js +179 -0
  751. package/standalone/selection.utils.js.map +1 -0
  752. package/standalone/throttle.js +75 -0
  753. package/standalone/throttle.js.map +1 -0
  754. package/standalone/toNumber.js +282 -0
  755. package/standalone/toNumber.js.map +1 -0
  756. package/standalone/vnode-converter.js +46 -0
  757. package/standalone/vnode-converter.js.map +1 -0
  758. package/standalone/vnode-html.d.ts +11 -0
  759. package/standalone/vnode-html.js +12 -0
  760. package/standalone/vnode-html.js.map +1 -0
@@ -0,0 +1,2928 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ /**
4
+ * This is an autogenerated file created by the Stencil compiler.
5
+ * It contains typing information for all components that exist in this project.
6
+ */
7
+ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp, VirtualPositionItem } from "./types/index";
9
+ import { GridPlugin } from "./plugins/base.plugin";
10
+ import { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
11
+ import { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
12
+ import { SortingConfig, SortingOrder } from "./plugins";
13
+ import { GetGroupSelectionFunc, GroupingOptions, RowGroupingProps } from "./plugins/groupingRow/grouping.row.types";
14
+ import { VNode } from "./stencil-public-runtime";
15
+ import { FocusedData } from "./components/revoGrid/viewport.service";
16
+ import { ColumnCollection } from "./utils/column.utils";
17
+ import { DataInput } from "./plugins/export/types";
18
+ import { Observable } from "./utils";
19
+ import { DSourceState, Groups } from "./store/index";
20
+ import { ResizeProps } from "./components/header/resizable.directive";
21
+ import { HeaderRenderProps } from "./components/header/header-renderer";
22
+ import { HeaderGroupRendererProps } from "./components/header/header-group-renderer";
23
+ import { HeaderAreaData } from "./components/header/revogr-header-unified";
24
+ import { EventData } from "./components/overlay/selection.utils";
25
+ export { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp, VirtualPositionItem } from "./types/index";
26
+ export { GridPlugin } from "./plugins/base.plugin";
27
+ export { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
28
+ export { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
29
+ export { SortingConfig, SortingOrder } from "./plugins";
30
+ export { GetGroupSelectionFunc, GroupingOptions, RowGroupingProps } from "./plugins/groupingRow/grouping.row.types";
31
+ export { VNode } from "./stencil-public-runtime";
32
+ export { FocusedData } from "./components/revoGrid/viewport.service";
33
+ export { ColumnCollection } from "./utils/column.utils";
34
+ export { DataInput } from "./plugins/export/types";
35
+ export { Observable } from "./utils";
36
+ export { DSourceState, Groups } from "./store/index";
37
+ export { ResizeProps } from "./components/header/resizable.directive";
38
+ export { HeaderRenderProps } from "./components/header/header-renderer";
39
+ export { HeaderGroupRendererProps } from "./components/header/header-group-renderer";
40
+ export { HeaderAreaData } from "./components/header/revogr-header-unified";
41
+ export { EventData } from "./components/overlay/selection.utils";
42
+ export namespace Components {
43
+ /**
44
+ * Revogrid - High-performance, customizable grid library for managing large datasets.
45
+ * ### Events guide
46
+ * For a comprehensive events guide, check the [Events API Page](/guide/api/events).
47
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
48
+ * ### Type definitions
49
+ * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
50
+ * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
51
+ * ### HTMLRevoGridElement
52
+ * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
53
+ * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
54
+ */
55
+ interface RevoGrid {
56
+ /**
57
+ * Enable accessibility. If disabled, the grid will not be accessible.
58
+ * @default true
59
+ */
60
+ "accessible": boolean;
61
+ /**
62
+ * Add trimmed by type
63
+ */
64
+ "addTrimmed": (trimmed: Record<number, boolean>, trimmedType?: string, type?: DimensionRows) => Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>;
65
+ /**
66
+ * Additional data to be passed to plugins, renders or editors. For example if you need to pass Vue component instance.
67
+ * @default {}
68
+ */
69
+ "additionalData": AdditionalData;
70
+ /**
71
+ * Apply changes in editor when closed except 'Escape' cases. If custom editor in use method getValue required. Check interfaces.d.ts `EditorBase` for more info.
72
+ * @default false
73
+ */
74
+ "applyOnClose": boolean;
75
+ /**
76
+ * Auto scroll to focused cell. When true, the grid will automatically scroll to make the focused cell visible.
77
+ * @default false
78
+ */
79
+ "autoScrollToFocus": boolean;
80
+ /**
81
+ * Autosize config. Enables columns autoSize. For more details check `autoSizeColumn` plugin. By default disabled, hence operation is not performance efficient. `true` to enable with default params (double header separator click for autosize). Or define config. See `AutoSizeColumnConfig` for more details.
82
+ * @default false
83
+ */
84
+ "autoSizeColumn": boolean | AutoSizeColumnConfig;
85
+ /**
86
+ * Disable native drag&drop plugin.
87
+ * @default true
88
+ */
89
+ "canDrag": boolean;
90
+ /**
91
+ * When true cell focus appear.
92
+ * @default true
93
+ */
94
+ "canFocus": boolean;
95
+ /**
96
+ * Enable column move plugin.
97
+ * @default false
98
+ */
99
+ "canMoveColumns": boolean;
100
+ /**
101
+ * Clear current grid focus. Grid has no longer focus on it.
102
+ */
103
+ "clearFocus": () => Promise<void>;
104
+ /**
105
+ * Clears column sorting
106
+ */
107
+ "clearSorting": () => Promise<void>;
108
+ /**
109
+ * Indicates default column size.
110
+ * @default 100
111
+ */
112
+ "colSize": number;
113
+ /**
114
+ * Column Types Format. Every type represent multiple column properties. Types will be merged but can be replaced with column properties. Types were made as separate objects to be reusable per multiple columns.
115
+ * @default {}
116
+ */
117
+ "columnTypes": { [name: string]: ColumnType };
118
+ /**
119
+ * Columns - defines an array of grid columns. Can be column or grouped column.
120
+ * @default []
121
+ */
122
+ "columns": (ColumnRegular | ColumnGrouping)[];
123
+ /**
124
+ * Delete rows by ID field value (physically remove from source)
125
+ * @param ids - Array of ID values to delete
126
+ * @param idField - ID field name, default 'id'
127
+ * @param type - Row type, default 'rgRow'
128
+ * @returns New source array after deletion
129
+ */
130
+ "deleteRowsById": (ids: any[], idField?: string, type?: DimensionRows) => Promise<DataType[]>;
131
+ /**
132
+ * Delete rows by physical indexes
133
+ * @param indexes - Array of physical row indexes to delete
134
+ * @param type - Row type, default 'rgRow'
135
+ * @returns New source array after deletion
136
+ */
137
+ "deleteRowsByIndexes": (indexes: number[], type?: DimensionRows) => Promise<DataType[]>;
138
+ /**
139
+ * Disable scrolling. When true, the grid will not respond to scroll events.
140
+ * @default false
141
+ */
142
+ "disableScroll": boolean;
143
+ /**
144
+ * Disable lazy rendering mode for the `X axis`. Use when not many columns present and you don't need rerenader cells during scroll. Can be used for initial rendering performance improvement.
145
+ * @default false
146
+ */
147
+ "disableVirtualX": boolean;
148
+ /**
149
+ * Disable lazy rendering mode for the `Y axis`. Use when not many rows present and you don't need rerenader cells during scroll. Can be used for initial rendering performance improvement.
150
+ * @default false
151
+ */
152
+ "disableVirtualY": boolean;
153
+ /**
154
+ * Custom editors register.
155
+ * @default {}
156
+ */
157
+ "editors": Editors;
158
+ /**
159
+ * Custom template for empty data placeholder. If not provided, the empty slot will be used.
160
+ */
161
+ "emptyTemplate"?: (createElement: typeof h) => VNode;
162
+ /**
163
+ * Enable export plugin.
164
+ * @default false
165
+ */
166
+ "exporting": boolean;
167
+ /**
168
+ * Enables filter plugin. Can be boolean. Or can be filter collection See `FilterCollection` for more info.
169
+ * @default false
170
+ */
171
+ "filter": boolean | ColumnFilterConfig;
172
+ /**
173
+ * Apply changes typed in editor on editor close except Escape cases. If custom editor in use method `getValue` required. Check `interfaces.d.ts` `EditorBase` for more info.
174
+ */
175
+ "focusTemplate": FocusTemplateFunc;
176
+ /**
177
+ * Defines how many rows/columns should be rendered outside visible area.
178
+ * @default 1
179
+ */
180
+ "frameSize": number;
181
+ /**
182
+ * Provides access to column internal store observer Can be used for plugin support
183
+ * @param type - type of column
184
+ */
185
+ "getColumnStore": (type?: DimensionCols) => Promise<Observable<DSourceState<ColumnRegular, DimensionCols>>>;
186
+ /**
187
+ * Receive all columns in data source
188
+ */
189
+ "getColumns": () => Promise<ColumnRegular[]>;
190
+ /**
191
+ * Get size of content Including all pinned data
192
+ */
193
+ "getContentSize": () => Promise<Cell>;
194
+ /**
195
+ * Get the currently focused cell.
196
+ */
197
+ "getFocused": () => Promise<FocusedData | null>;
198
+ /**
199
+ * Get all active plugins instances
200
+ */
201
+ "getPlugins": () => Promise<PluginBaseComponent[]>;
202
+ /**
203
+ * Get all providers for grid Useful for external grid integration
204
+ */
205
+ "getProviders": () => Promise<PluginProviders | undefined>;
206
+ /**
207
+ * Get the currently selected Range.
208
+ */
209
+ "getSelectedRange": () => Promise<(RangeArea & AllDimensionType) | null>;
210
+ /**
211
+ * Get data from source
212
+ */
213
+ "getSource": (type?: DimensionRows) => Promise<DataType[]>;
214
+ /**
215
+ * Provides access to rows internal store observer Can be used for plugin support
216
+ * @param type - type of source
217
+ */
218
+ "getSourceStore": (type?: DimensionRows) => Promise<Observable<DSourceState<DataType, DimensionRows>>>;
219
+ /**
220
+ * Get data from visible part of source Trimmed/filtered rows will be excluded
221
+ * @param type - type of source
222
+ */
223
+ "getVisibleSource": (type?: DimensionRows) => Promise<any[]>;
224
+ /**
225
+ * Group rows based on this property. Define properties to be groped by grouping plugin See `GroupingOptions`.
226
+ */
227
+ "grouping": GroupingOptions;
228
+ /**
229
+ * Please only hide the attribution if you are subscribed to Pro version
230
+ * @default false
231
+ */
232
+ "hideAttribution": boolean;
233
+ /**
234
+ * Hide empty placeholder during initial loading. Set to true when loading data asynchronously.
235
+ * @default false
236
+ */
237
+ "hideEmpty": boolean;
238
+ /**
239
+ * Hide rows by ID field value
240
+ * @param ids - Array of ID values to hide
241
+ * @param idField - ID field name, default 'id'
242
+ * @param trimmedType - Trimmed type identifier, default 'byId'
243
+ * @param type - Row type, default 'rgRow'
244
+ * @returns Event with trimmed row indexes
245
+ */
246
+ "hideRowsById": (ids: any[], idField?: string, trimmedType?: string, type?: DimensionRows) => Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>;
247
+ /**
248
+ * Get current scroll lock state.
249
+ */
250
+ "isScrollLocked": () => Promise<boolean>;
251
+ /**
252
+ * Prevent rendering until job is done. Can be used for initial rendering performance improvement. When several plugins require initial rendering this will prevent double initial rendering.
253
+ * @default []
254
+ */
255
+ "jobsBeforeRender": Promise<any>[];
256
+ /**
257
+ * Lock scrolling. Prevents the grid from responding to scroll events.
258
+ */
259
+ "lockScroll": () => Promise<void>;
260
+ /**
261
+ * Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source.
262
+ * @default []
263
+ */
264
+ "pinnedBottomSource": DataType[];
265
+ /**
266
+ * Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source.
267
+ * @default []
268
+ */
269
+ "pinnedTopSource": DataType[];
270
+ /**
271
+ * Custom grid plugins. Can be added or removed at runtime. Every plugin should be inherited from BasePlugin class. For more details check [Plugin guide](https://rv-grid.com/guide/plugin/)
272
+ * @default []
273
+ */
274
+ "plugins": GridPlugin[];
275
+ /**
276
+ * When true, user can range selection.
277
+ * @default false
278
+ */
279
+ "range": boolean;
280
+ /**
281
+ * When true, grid in read only mode.
282
+ * @default false
283
+ */
284
+ "readonly": boolean;
285
+ /**
286
+ * Refreshes data viewport. Can be specific part as rgRow or pinned rgRow or 'all' by default.
287
+ */
288
+ "refresh": (type?: DimensionRows | "all") => Promise<void>;
289
+ /**
290
+ * Refresh extra elements. Triggers re-rendering of extra elements and functions. Part of extraElements and registerVNode methods. Useful for plugins.
291
+ */
292
+ "refreshExtraElements": () => Promise<void>;
293
+ /**
294
+ * Register new virtual node inside of grid. Used for additional items creation such as plugin elements. Should be set before grid render inside of plugins. Can return VNode result of h() function or a function that returns VNode. Function can be used for performance improvement and additional renders.
295
+ * @default []
296
+ */
297
+ "registerVNode": (
298
+ | VNode
299
+ | ((c: ExtraNodeFuncConfig) => VNode)
300
+ )[];
301
+ /**
302
+ * When true, columns are resizable.
303
+ * @default false
304
+ */
305
+ "resize": boolean;
306
+ /**
307
+ * Row class property mapping. Map custom classes to rows from row object data. Define this property in rgRow object and this will be mapped as rgRow class.
308
+ * @default ''
309
+ */
310
+ "rowClass": string;
311
+ /**
312
+ * Custom row properies to be applied. See `RowDefinition` for more info.
313
+ * @default []
314
+ */
315
+ "rowDefinitions": RowDefinition[];
316
+ /**
317
+ * Excel like functionality. Show row numbers. Also can be used for custom row header render if object provided.
318
+ */
319
+ "rowHeaders": RowHeaders | boolean;
320
+ /**
321
+ * Indicates default rgRow size. By default 0, means theme package size will be applied Alternatively you can use `rowSize` to reset viewport
322
+ * @default 0
323
+ */
324
+ "rowSize": number;
325
+ /**
326
+ * Enable right-to-left (RTL) mode. When enabled, columns will be displayed from right to left.
327
+ * @default false
328
+ */
329
+ "rtl": boolean;
330
+ /**
331
+ * Scrolls viewport to specified column by index.
332
+ */
333
+ "scrollToColumnIndex": (coordinate?: number) => Promise<void>;
334
+ /**
335
+ * Scrolls viewport to specified column by prop
336
+ */
337
+ "scrollToColumnProp": (prop: ColumnProp, dimension?: DimensionTypeCol) => Promise<void>;
338
+ /**
339
+ * Scrolls view port to coordinate
340
+ */
341
+ "scrollToCoordinate": (cell: Partial<Cell>) => Promise<void>;
342
+ /**
343
+ * Scrolls viewport to specified row by index.
344
+ */
345
+ "scrollToRow": (coordinate?: number) => Promise<void>;
346
+ /**
347
+ * Scrolls viewport to row by property value
348
+ * @param propName - Property name to search for (e.g., 'id', 'name')
349
+ * @param value - Value to match
350
+ * @param type - Row type, default 'rgRow'
351
+ * @returns true if row found and scrolled, false otherwise
352
+ */
353
+ "scrollToRowByProp": (propName: string, value: any, type?: DimensionRows) => Promise<boolean>;
354
+ /**
355
+ * Open editor for cell.
356
+ */
357
+ "setCellEdit": (rgRow: number, prop: ColumnProp, rowSource?: DimensionRows) => Promise<void>;
358
+ /**
359
+ * Set focus range.
360
+ */
361
+ "setCellsFocus": (cellStart?: Cell, cellEnd?: Cell, colType?: string, rowType?: string) => Promise<void>;
362
+ /**
363
+ * Refreshes data at specified cell. Useful for performance optimization. No viewport update will be triggered.
364
+ * @example const grid = document.querySelector('revo-grid'); grid.setDataAt({ row: 0, col: 0, val: 'test' }); // refresh
365
+ */
366
+ "setDataAt": ({ row, col, colType, rowType, val, skipDataUpdate }: { row: number; col: number; val?: any; skipDataUpdate?: boolean; } & AllDimensionType) => Promise<void | undefined>;
367
+ /**
368
+ * Show rows by ID field value (remove from trimmed)
369
+ * @param ids - Array of ID values to show, if empty will show all rows
370
+ * @param idField - ID field name, default 'id'
371
+ * @param trimmedType - Trimmed type identifier, default 'byId'
372
+ * @param type - Row type, default 'rgRow'
373
+ */
374
+ "showRowsById": (ids?: any[], idField?: string, trimmedType?: string, type?: DimensionRows) => Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>;
375
+ /**
376
+ * Show scrollbars. When false, scrollbars will be hidden.
377
+ * @default true
378
+ */
379
+ "showScrollbar": boolean;
380
+ /**
381
+ * Alternative way to set sorting. `{columns: [{prop: 'name', order: 'asc'}]}` Use SortingPlugin to get current sorting state
382
+ */
383
+ "sorting"?: SortingConfig;
384
+ /**
385
+ * Source - defines main data source. Can be an Object or 2 dimensional array([][]); Keys/indexes referenced from columns Prop.
386
+ * @default []
387
+ */
388
+ "source": DataType[];
389
+ /**
390
+ * Stretch strategy for columns by `StretchColumn` plugin. For example if there are more space on the right last column size would be increased.
391
+ * @default false
392
+ */
393
+ "stretch": boolean | string;
394
+ /**
395
+ * Theme name.
396
+ * @default 'default'
397
+ */
398
+ "theme": Theme;
399
+ /**
400
+ * Trimmed rows. Functionality which allows to hide rows from main data set. `trimmedRows` are physical `rgRow` indexes to hide.
401
+ * @default {}
402
+ */
403
+ "trimmedRows": Record<number, boolean>;
404
+ /**
405
+ * Unlock scrolling. Allows the grid to respond to scroll events.
406
+ */
407
+ "unlockScroll": () => Promise<void>;
408
+ /**
409
+ * Update column sorting
410
+ * @param column - column prop and cellCompare
411
+ * @param order - order to apply
412
+ * @param additive - if false will replace current order later passed to SortingPlugin
413
+ */
414
+ "updateColumnSorting": (column: Pick<ColumnRegular, "prop" | "cellCompare">, order: "asc" | "desc" | undefined, additive: boolean) => Promise<void>;
415
+ /**
416
+ * Update columns
417
+ */
418
+ "updateColumns": (cols: ColumnRegular[]) => Promise<void>;
419
+ /**
420
+ * When true enable clipboard.
421
+ * @default true
422
+ */
423
+ "useClipboard": boolean;
424
+ }
425
+ interface RevogrAttribution {
426
+ }
427
+ /**
428
+ * This Clipboard provides functionality for handling clipboard events in a web application.
429
+ */
430
+ interface RevogrClipboard {
431
+ "doCopy": (e: DataTransfer, data?: DataFormat[][]) => Promise<void>;
432
+ /**
433
+ * If readonly mode - disabled Paste event
434
+ */
435
+ "readonly": boolean;
436
+ }
437
+ /**
438
+ * This component is responsible for rendering data
439
+ * Rows, columns, groups and cells
440
+ */
441
+ interface RevogrData {
442
+ /**
443
+ * Additional data to pass to renderer Used in plugins such as vue or react to pass root app entity to cells
444
+ */
445
+ "additionalData": any;
446
+ /**
447
+ * Column source
448
+ */
449
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
450
+ /**
451
+ * Column data type
452
+ */
453
+ "colType": DimensionCols | 'rowHeaders';
454
+ /**
455
+ * Data rows source
456
+ */
457
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
458
+ /**
459
+ * Dimension settings Y
460
+ */
461
+ "dimensionRow": Observable<DimensionSettingsState>;
462
+ /**
463
+ * Whether there are colPinEnd columns in the grid Used to determine which column should get the last-column class
464
+ */
465
+ "hasColPinEnd"?: boolean;
466
+ /**
467
+ * Whether there are rgCol columns in the grid Used to determine which column should get the last-column class
468
+ */
469
+ "hasRgCol"?: boolean;
470
+ /**
471
+ * Prevent rendering until job is done. Can be used for initial rendering performance improvement. When several plugins require initial rendering this will prevent double initial rendering.
472
+ * @default []
473
+ */
474
+ "jobsBeforeRender": (Promise<any> | (() => Promise<any>))[];
475
+ /**
476
+ * Padding depth for grouping rows (in pixels per depth level)
477
+ */
478
+ "paddingDepth"?: number;
479
+ /**
480
+ * Range allowed
481
+ */
482
+ "range": boolean;
483
+ /**
484
+ * Readonly mode
485
+ */
486
+ "readonly": boolean;
487
+ /**
488
+ * Defines property from which to read row class
489
+ */
490
+ "rowClass": string;
491
+ /**
492
+ * Selection, range, focus for row selection
493
+ */
494
+ "rowSelectionStore": Observable<SelectionStoreState>;
495
+ /**
496
+ * Row data type
497
+ */
498
+ "type": DimensionRows;
499
+ /**
500
+ * Unique identifier for the data component Used for tracking and debugging purposes
501
+ */
502
+ "uniqueId"?: any;
503
+ /**
504
+ * Pointed cell update.
505
+ */
506
+ "updateCell": (e: { row: number; col: number; }) => Promise<void>;
507
+ /**
508
+ * Viewport X
509
+ */
510
+ "viewportCol": Observable<ViewportState>;
511
+ /**
512
+ * Viewport Y
513
+ */
514
+ "viewportRow": Observable<ViewportState>;
515
+ }
516
+ /**
517
+ * Represents a cell editor in a grid.
518
+ * It manages the editing of cells by handling events, saving data, rendering the editor UI,
519
+ * and managing the lifecycle of the editor instance.
520
+ */
521
+ interface RevogrEdit {
522
+ /**
523
+ * Additional data to pass to renderer
524
+ */
525
+ "additionalData": any;
526
+ /**
527
+ * Before editor got disconnected. Can be triggered multiple times before actual disconnect.
528
+ */
529
+ "beforeDisconnect": () => Promise<void>;
530
+ /**
531
+ * Cancel pending changes flag. Editor will be closed without autosave.
532
+ */
533
+ "cancelChanges": () => Promise<void>;
534
+ /**
535
+ * Column data for editor.
536
+ */
537
+ "column": ColumnDataSchemaModel | null;
538
+ /**
539
+ * Cell to edit data.
540
+ */
541
+ "editCell": EditCell;
542
+ /**
543
+ * Custom editors register
544
+ */
545
+ "editor": EditorCtr | null;
546
+ /**
547
+ * Save on editor close. Defines if data should be saved on editor close.
548
+ * @default false
549
+ */
550
+ "saveOnClose": boolean;
551
+ }
552
+ /**
553
+ * Contains extra elements for stencil components.
554
+ * Performs rendering and updates for external components.
555
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
556
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
557
+ * // use `config.refresh()` for component to re-render
558
+ * return h('div')
559
+ * }
560
+ * revogrid.registerVNode = [
561
+ * ...existingNodes,
562
+ * paginationPanel.bind(this)
563
+ * ];
564
+ * /**
565
+ */
566
+ interface RevogrExtra {
567
+ /**
568
+ * Nodes to render
569
+ * @default []
570
+ */
571
+ "nodes": (
572
+ | VNode
573
+ | ((c: ExtraNodeFuncConfig) => VNode)
574
+ )[];
575
+ /**
576
+ * Refreshes the extra component. Useful if you want to manually force the component to re-render.
577
+ */
578
+ "refresh": () => Promise<void>;
579
+ }
580
+ interface RevogrFilterPanel {
581
+ /**
582
+ * If true, closes the filter panel when clicking outside
583
+ * @default true
584
+ */
585
+ "closeOnOutsideClick": boolean;
586
+ /**
587
+ * Disables dynamic filtering. A way to apply filters on Save only
588
+ * @default false
589
+ */
590
+ "disableDynamicFiltering": boolean;
591
+ "filterCaptions": Partial<FilterCaptions> | undefined;
592
+ /**
593
+ * @default {}
594
+ */
595
+ "filterEntities": Record<string, LogicFunction>;
596
+ /**
597
+ * @default {}
598
+ */
599
+ "filterNames": Record<string, string>;
600
+ "getChanges": () => Promise<ShowData | undefined>;
601
+ "show": (newEntity?: ShowData) => Promise<void>;
602
+ }
603
+ /**
604
+ * Focus component. Shows focus layer around the cell that is currently in focus.
605
+ * @example focus-rgCol-rgRow
606
+ */
607
+ interface RevogrFocus {
608
+ /**
609
+ * Auto scroll to focused cell. When true, the grid will automatically scroll to make the focused cell visible.
610
+ * @default false
611
+ */
612
+ "autoScrollToFocus": boolean;
613
+ /**
614
+ * Column source
615
+ */
616
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
617
+ /**
618
+ * Column type
619
+ */
620
+ "colType": DimensionCols;
621
+ /**
622
+ * Data rows source
623
+ */
624
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
625
+ /**
626
+ * Dimension settings X
627
+ */
628
+ "dimensionCol": Observable<DimensionSettingsState>;
629
+ /**
630
+ * Dimension settings Y
631
+ */
632
+ "dimensionRow": Observable<DimensionSettingsState>;
633
+ /**
634
+ * Focus template custom function. Can be used to render custom focus layer.
635
+ * @default null
636
+ */
637
+ "focusTemplate": FocusTemplateFunc | null;
638
+ /**
639
+ * Row type
640
+ */
641
+ "rowType": DimensionRows;
642
+ /**
643
+ * Selection, range, focus for selection
644
+ */
645
+ "selectionStore": Observable<SelectionStoreState>;
646
+ }
647
+ interface RevogrGroupingOverlay {
648
+ "additionalData": any;
649
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
650
+ /**
651
+ * @default 'rgCol'
652
+ */
653
+ "colType": DimensionCols;
654
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
655
+ "dimensionRow": Observable<DimensionSettingsState>;
656
+ /**
657
+ * 获取分组选中信息的函数
658
+ */
659
+ "getGroupSelection"?: GetGroupSelectionFunc;
660
+ /**
661
+ * Padding depth for grouping rows (in pixels per depth level)
662
+ */
663
+ "paddingDepth"?: number;
664
+ /**
665
+ * 刷新分组行显示,用于选中状态变化后更新选中数量
666
+ */
667
+ "refresh": () => Promise<void>;
668
+ "rowClass": string;
669
+ /**
670
+ * @default 'rgRow'
671
+ */
672
+ "type": DimensionRows;
673
+ /**
674
+ * 立即更新分组行(带变化检测)
675
+ * @param forceUpdate 是否强制更新,忽略变化检测
676
+ */
677
+ "updateGroupRowsImmediate": (forceUpdate?: boolean) => Promise<void>;
678
+ "viewportCol": Observable<ViewportState>;
679
+ "viewportRow": Observable<ViewportState>;
680
+ }
681
+ interface RevogrHeader {
682
+ /**
683
+ * Extra properties to pass into header renderer, such as vue or react components to handle parent
684
+ * @default {}
685
+ */
686
+ "additionalData": any;
687
+ /**
688
+ * If columns can be resized
689
+ */
690
+ "canResize": boolean;
691
+ /**
692
+ * Columns - defines an array of grid columns.
693
+ */
694
+ "colData": ColumnRegular[];
695
+ /**
696
+ * Column filter
697
+ */
698
+ "columnFilter": boolean;
699
+ /**
700
+ * Dimension settings X
701
+ */
702
+ "dimensionCol": Observable<DimensionSettingsState>;
703
+ /**
704
+ * Dimension state (alternative to Observable) When provided, this will be used instead of reading from dimensionCol Observable This allows parent component to control rendering timing
705
+ */
706
+ "dimensionState"?: DimensionSettingsState;
707
+ /**
708
+ * Grouping depth, how many levels of grouping
709
+ * @default 0
710
+ */
711
+ "groupingDepth": number;
712
+ /**
713
+ * Column groups
714
+ */
715
+ "groups": Groups;
716
+ /**
717
+ * Whether there are colPinEnd columns in the grid Used to determine which column should get the last-column class
718
+ */
719
+ "hasColPinEnd"?: boolean;
720
+ /**
721
+ * Whether there are rgCol columns in the grid Used to determine which column should get the last-column class
722
+ */
723
+ "hasRgCol"?: boolean;
724
+ /**
725
+ * Readonly mode
726
+ */
727
+ "readonly": boolean;
728
+ /**
729
+ * Defines resize position
730
+ */
731
+ "resizeHandler": ResizeProps['active'];
732
+ /**
733
+ * Selection range (alternative to Observable) When provided, this will be used instead of reading from selectionStore Observable
734
+ */
735
+ "selectionRange"?: RangeArea | null;
736
+ /**
737
+ * Selection, range, focus
738
+ */
739
+ "selectionStore": Observable<SelectionStoreState>;
740
+ /**
741
+ * Column type
742
+ */
743
+ "type": DimensionCols | 'rowHeaders';
744
+ /**
745
+ * Viewport X
746
+ */
747
+ "viewportCol": Observable<ViewportState>;
748
+ /**
749
+ * Viewport items (alternative to Observable) When provided, this will be used instead of reading from viewportCol Observable This allows parent component to control rendering timing
750
+ */
751
+ "viewportItems"?: VirtualPositionItem[];
752
+ }
753
+ /**
754
+ * 统一的表头组件
755
+ * 渲染所有三个区域(colPinStart, rgCol, colPinEnd)的表头
756
+ * 这样可以确保所有区域在同一个渲染周期内更新,避免异步渲染问题
757
+ */
758
+ interface RevogrHeaderUnified {
759
+ /**
760
+ * 所有区域的数据
761
+ */
762
+ "areas": HeaderAreaData[];
763
+ /**
764
+ * 公开方法:结束调整大小(用于自动列宽)
765
+ */
766
+ "endResizingForAutoSize": () => Promise<void>;
767
+ /**
768
+ * 公开方法:强制刷新表头(用于跨区域列宽同步) 当一个区域的列宽变化影响到另一个区域时调用
769
+ */
770
+ "forceRefresh": () => Promise<void>;
771
+ /**
772
+ * 公开方法:开始调整大小(用于自动列宽)
773
+ */
774
+ "startResizingForAutoSize": (type: DimensionCols) => Promise<void>;
775
+ }
776
+ /**
777
+ * Component for handling row order editor.
778
+ */
779
+ interface RevogrOrderEditor {
780
+ "clearOrder": () => Promise<void>;
781
+ /**
782
+ * Static stores, not expected to change during component lifetime
783
+ */
784
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
785
+ /**
786
+ * Dimension settings X
787
+ */
788
+ "dimensionCol": Observable<DimensionSettingsState>;
789
+ /**
790
+ * Dimension settings Y
791
+ */
792
+ "dimensionRow": Observable<DimensionSettingsState>;
793
+ "dragStart": (e: DragStartEvent) => Promise<void>;
794
+ "endOrder": (e: MouseEvent) => Promise<void>;
795
+ /**
796
+ * Parent element
797
+ */
798
+ "parent": HTMLElement;
799
+ "rowType": DimensionRows;
800
+ }
801
+ /**
802
+ * Component for overlaying the grid with the selection.
803
+ */
804
+ interface RevogrOverlaySelection {
805
+ /**
806
+ * Additional data to pass to renderer.
807
+ */
808
+ "additionalData": any;
809
+ /**
810
+ * If true applys changes when cell closes if not Escape.
811
+ * @default false
812
+ */
813
+ "applyChangesOnClose": boolean;
814
+ /**
815
+ * Enable revogr-order-editor component (read more in revogr-order-editor component). Allows D&D.
816
+ */
817
+ "canDrag": boolean;
818
+ /**
819
+ * Column data store.
820
+ */
821
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
822
+ /**
823
+ * Row data store.
824
+ */
825
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
826
+ /**
827
+ * Dimension settings X.
828
+ */
829
+ "dimensionCol": Observable<DimensionSettingsState>;
830
+ /**
831
+ * Dimension settings Y.
832
+ */
833
+ "dimensionRow": Observable<DimensionSettingsState>;
834
+ /**
835
+ * Custom editors register.
836
+ */
837
+ "editors": Editors;
838
+ /**
839
+ * Is mobile view mode.
840
+ */
841
+ "isMobileDevice": boolean;
842
+ /**
843
+ * Last real coordinates positions + 1.
844
+ */
845
+ "lastCell": Cell;
846
+ /**
847
+ * Range selection allowed.
848
+ */
849
+ "range": boolean;
850
+ /**
851
+ * Readonly mode.
852
+ */
853
+ "readonly": boolean;
854
+ /**
855
+ * Selection, range, focus.
856
+ */
857
+ "selectionStore": Observable<SelectionStoreState>;
858
+ /**
859
+ * Enable revogr-clipboard component (read more in revogr-clipboard component). Allows copy/paste.
860
+ */
861
+ "useClipboard": boolean;
862
+ }
863
+ /**
864
+ * Row headers component
865
+ * Visible on the left side of the table
866
+ */
867
+ interface RevogrRowHeaders {
868
+ /**
869
+ * Additional data to pass to renderer
870
+ */
871
+ "additionalData": any;
872
+ /**
873
+ * Viewport data
874
+ */
875
+ "dataPorts": ViewportData[];
876
+ /**
877
+ * Header props
878
+ */
879
+ "headerProp": Record<string, any>;
880
+ /**
881
+ * Header height to setup row headers
882
+ */
883
+ "height": number;
884
+ /**
885
+ * Prevent rendering until job is done. Can be used for initial rendering performance improvement. When several plugins require initial rendering this will prevent double initial rendering.
886
+ * @default []
887
+ */
888
+ "jobsBeforeRender": Promise<any>[];
889
+ /**
890
+ * Enable resize
891
+ */
892
+ "resize": boolean;
893
+ /**
894
+ * Row class
895
+ */
896
+ "rowClass": string;
897
+ /**
898
+ * Row header column
899
+ */
900
+ "rowHeaderColumn": RowHeaders;
901
+ }
902
+ /**
903
+ * Virtual scroll component
904
+ */
905
+ interface RevogrScrollVirtual {
906
+ /**
907
+ * Update if `delta` exists in case we don't know current position or if it's external change
908
+ */
909
+ "changeScroll": (e: ViewPortScrollEvent) => Promise<ViewPortScrollEvent>;
910
+ /**
911
+ * Client size
912
+ */
913
+ "clientSize": number;
914
+ /**
915
+ * Scroll dimension (`X` - `rgCol` or `Y` - `rgRow`)
916
+ * @default 'rgRow'
917
+ */
918
+ "dimension": DimensionType;
919
+ /**
920
+ * Dimensions
921
+ */
922
+ "realSize": number;
923
+ "setScroll": (e: ViewPortScrollEvent) => Promise<void>;
924
+ /**
925
+ * Virtual size
926
+ */
927
+ "virtualSize": number;
928
+ }
929
+ /**
930
+ * Temporary range selection component. Shows temporary range selection.
931
+ */
932
+ interface RevogrTempRange {
933
+ /**
934
+ * Dimension column store
935
+ */
936
+ "dimensionCol": Observable<DimensionSettingsState>;
937
+ /**
938
+ * Dimension row store
939
+ */
940
+ "dimensionRow": Observable<DimensionSettingsState>;
941
+ /**
942
+ * Selection store, shows current selection and focus
943
+ */
944
+ "selectionStore": Observable<SelectionStoreState>;
945
+ }
946
+ /**
947
+ * Viewport scroll component for RevoGrid
948
+ */
949
+ interface RevogrViewportScroll {
950
+ /**
951
+ * Extra layer for scroll event monitoring, where MouseWheel event is not passing We need to trigger scroll event in case there is no mousewheel event
952
+ */
953
+ "applyScroll": (type: DimensionType, e: UIEvent) => Promise<void>;
954
+ /**
955
+ * update on delta in case we don't know existing position or external change
956
+ * @param e
957
+ */
958
+ "changeScroll": (e: ViewPortScrollEvent, silent?: boolean) => Promise<ViewPortScrollEvent | undefined>;
959
+ "colType": DimensionCols | 'rowHeaders';
960
+ /**
961
+ * Height of inner content
962
+ * @default 0
963
+ */
964
+ "contentHeight": number;
965
+ /**
966
+ * Width of inner content
967
+ * @default 0
968
+ */
969
+ "contentWidth": number;
970
+ /**
971
+ * Enable row header
972
+ */
973
+ "rowHeader": boolean;
974
+ "setScroll": (e: ViewPortScrollEvent) => Promise<void>;
975
+ }
976
+ interface VnodeHtml {
977
+ /**
978
+ * @default null
979
+ */
980
+ "redraw": (() => VNode[]) | null | undefined;
981
+ }
982
+ }
983
+ export interface RevoGridCustomEvent<T> extends CustomEvent<T> {
984
+ detail: T;
985
+ target: HTMLRevoGridElement;
986
+ }
987
+ export interface RevogrClipboardCustomEvent<T> extends CustomEvent<T> {
988
+ detail: T;
989
+ target: HTMLRevogrClipboardElement;
990
+ }
991
+ export interface RevogrDataCustomEvent<T> extends CustomEvent<T> {
992
+ detail: T;
993
+ target: HTMLRevogrDataElement;
994
+ }
995
+ export interface RevogrEditCustomEvent<T> extends CustomEvent<T> {
996
+ detail: T;
997
+ target: HTMLRevogrEditElement;
998
+ }
999
+ export interface RevogrFilterPanelCustomEvent<T> extends CustomEvent<T> {
1000
+ detail: T;
1001
+ target: HTMLRevogrFilterPanelElement;
1002
+ }
1003
+ export interface RevogrFocusCustomEvent<T> extends CustomEvent<T> {
1004
+ detail: T;
1005
+ target: HTMLRevogrFocusElement;
1006
+ }
1007
+ export interface RevogrHeaderCustomEvent<T> extends CustomEvent<T> {
1008
+ detail: T;
1009
+ target: HTMLRevogrHeaderElement;
1010
+ }
1011
+ export interface RevogrHeaderUnifiedCustomEvent<T> extends CustomEvent<T> {
1012
+ detail: T;
1013
+ target: HTMLRevogrHeaderUnifiedElement;
1014
+ }
1015
+ export interface RevogrOrderEditorCustomEvent<T> extends CustomEvent<T> {
1016
+ detail: T;
1017
+ target: HTMLRevogrOrderEditorElement;
1018
+ }
1019
+ export interface RevogrOverlaySelectionCustomEvent<T> extends CustomEvent<T> {
1020
+ detail: T;
1021
+ target: HTMLRevogrOverlaySelectionElement;
1022
+ }
1023
+ export interface RevogrRowHeadersCustomEvent<T> extends CustomEvent<T> {
1024
+ detail: T;
1025
+ target: HTMLRevogrRowHeadersElement;
1026
+ }
1027
+ export interface RevogrScrollVirtualCustomEvent<T> extends CustomEvent<T> {
1028
+ detail: T;
1029
+ target: HTMLRevogrScrollVirtualElement;
1030
+ }
1031
+ export interface RevogrViewportScrollCustomEvent<T> extends CustomEvent<T> {
1032
+ detail: T;
1033
+ target: HTMLRevogrViewportScrollElement;
1034
+ }
1035
+ export interface VnodeHtmlCustomEvent<T> extends CustomEvent<T> {
1036
+ detail: T;
1037
+ target: HTMLVnodeHtmlElement;
1038
+ }
1039
+ declare global {
1040
+ interface HTMLRevoGridElementEventMap {
1041
+ "contentsizechanged": MultiDimensionType;
1042
+ "beforeedit": BeforeSaveDataDetails;
1043
+ "beforerangeedit": BeforeRangeSaveDataDetails;
1044
+ "afteredit": AfterEditEvent;
1045
+ "beforeautofill": ChangedRange;
1046
+ "beforerange": ChangedRange;
1047
+ "afterfocus": FocusAfterRenderEvent;
1048
+ "roworderchanged": { from: number; to: number };
1049
+ "beforesorting": {
1050
+ column: ColumnRegular;
1051
+ order: 'desc' | 'asc';
1052
+ additive: boolean;
1053
+ };
1054
+ "beforesourcesortingapply": {
1055
+ type: DimensionRows;
1056
+ sorting?: SortingOrder;
1057
+ };
1058
+ "beforesortingapply": {
1059
+ column: ColumnRegular;
1060
+ order: 'desc' | 'asc';
1061
+ additive: boolean;
1062
+ };
1063
+ "rowdragstart": RowDragStartDetails;
1064
+ "headerclick": ColumnRegular;
1065
+ "beforecellfocus": BeforeSaveDataDetails;
1066
+ "cellclick": BeforeSaveDataDetails & { originalEvent?: MouseEvent | TouchEvent };
1067
+ "beforefocuslost": FocusedData | null;
1068
+ "beforesourceset": {
1069
+ type: DimensionRows;
1070
+ source: DataType[];
1071
+ };
1072
+ "beforeanysource": {
1073
+ type: DimensionRows;
1074
+ source: DataType[];
1075
+ };
1076
+ "aftersourceset": {
1077
+ type: DimensionRows;
1078
+ source: DataType[];
1079
+ };
1080
+ "afteranysource": {
1081
+ type: DimensionRows;
1082
+ source: DataType[];
1083
+ };
1084
+ "beforecolumnsset": ColumnCollection;
1085
+ "beforecolumnapplied": ColumnCollection;
1086
+ "aftercolumnsset": {
1087
+ columns: ColumnCollection;
1088
+ order: SortingOrder;
1089
+ };
1090
+ "beforefilterapply": { collection: Record<ColumnProp, FilterCollectionItem> };
1091
+ "beforefiltertrimmed": {
1092
+ collection: Record<ColumnProp, FilterCollectionItem>;
1093
+ itemsToFilter: Record<number, boolean>;
1094
+ };
1095
+ "beforetrimmed": {
1096
+ trimmed: Record<number, boolean>;
1097
+ trimmedType: string;
1098
+ type: string;
1099
+ };
1100
+ "aftertrimmed": any;
1101
+ "viewportscroll": ViewPortScrollEvent;
1102
+ "beforeexport": DataInput;
1103
+ "beforeeditstart": BeforeSaveDataDetails;
1104
+ "aftercolumnresize": {
1105
+ [index: number]: ColumnRegular;
1106
+ };
1107
+ "beforerowdefinition": { vals: any; oldVals: any };
1108
+ "filterconfigchanged": any;
1109
+ "sortingconfigchanged": SortingConfig;
1110
+ "rowheaderschanged": any;
1111
+ "beforegridrender": any;
1112
+ "aftergridrender": any;
1113
+ "afterdatarendered": any;
1114
+ "aftergridinit": any;
1115
+ "additionaldatachanged": any;
1116
+ "afterthemechanged": Theme;
1117
+ "created": any;
1118
+ }
1119
+ /**
1120
+ * Revogrid - High-performance, customizable grid library for managing large datasets.
1121
+ * ### Events guide
1122
+ * For a comprehensive events guide, check the [Events API Page](/guide/api/events).
1123
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
1124
+ * ### Type definitions
1125
+ * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
1126
+ * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
1127
+ * ### HTMLRevoGridElement
1128
+ * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
1129
+ * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
1130
+ */
1131
+ interface HTMLRevoGridElement extends Components.RevoGrid, HTMLStencilElement {
1132
+ addEventListener<K extends keyof HTMLRevoGridElementEventMap>(type: K, listener: (this: HTMLRevoGridElement, ev: RevoGridCustomEvent<HTMLRevoGridElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1133
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1134
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1135
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1136
+ removeEventListener<K extends keyof HTMLRevoGridElementEventMap>(type: K, listener: (this: HTMLRevoGridElement, ev: RevoGridCustomEvent<HTMLRevoGridElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1137
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1138
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1139
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1140
+ }
1141
+ var HTMLRevoGridElement: {
1142
+ prototype: HTMLRevoGridElement;
1143
+ new (): HTMLRevoGridElement;
1144
+ };
1145
+ interface HTMLRevogrAttributionElement extends Components.RevogrAttribution, HTMLStencilElement {
1146
+ }
1147
+ var HTMLRevogrAttributionElement: {
1148
+ prototype: HTMLRevogrAttributionElement;
1149
+ new (): HTMLRevogrAttributionElement;
1150
+ };
1151
+ interface HTMLRevogrClipboardElementEventMap {
1152
+ "beforepaste": {
1153
+ raw: string;
1154
+ isHTML: boolean;
1155
+ event: ClipboardEvent;
1156
+ dataText: string;
1157
+ };
1158
+ "beforepasteapply": {
1159
+ raw: string;
1160
+ parsed: string[][];
1161
+ event: ClipboardEvent;
1162
+ };
1163
+ "pasteregion": string[][];
1164
+ "afterpasteapply": {
1165
+ raw: string;
1166
+ parsed: string[][];
1167
+ event: ClipboardEvent;
1168
+ };
1169
+ "beforecut": {
1170
+ event: ClipboardEvent;
1171
+ };
1172
+ "clearregion": DataTransfer;
1173
+ "beforecopy": {
1174
+ event: ClipboardEvent;
1175
+ };
1176
+ "beforecopyapply": {
1177
+ event: DataTransfer;
1178
+ data?: string[][];
1179
+ };
1180
+ "copyregion": DataTransfer;
1181
+ }
1182
+ /**
1183
+ * This Clipboard provides functionality for handling clipboard events in a web application.
1184
+ */
1185
+ interface HTMLRevogrClipboardElement extends Components.RevogrClipboard, HTMLStencilElement {
1186
+ addEventListener<K extends keyof HTMLRevogrClipboardElementEventMap>(type: K, listener: (this: HTMLRevogrClipboardElement, ev: RevogrClipboardCustomEvent<HTMLRevogrClipboardElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1187
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1188
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1189
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1190
+ removeEventListener<K extends keyof HTMLRevogrClipboardElementEventMap>(type: K, listener: (this: HTMLRevogrClipboardElement, ev: RevogrClipboardCustomEvent<HTMLRevogrClipboardElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1191
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1192
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1193
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1194
+ }
1195
+ var HTMLRevogrClipboardElement: {
1196
+ prototype: HTMLRevogrClipboardElement;
1197
+ new (): HTMLRevogrClipboardElement;
1198
+ };
1199
+ interface HTMLRevogrDataElementEventMap {
1200
+ "beforerowrender": BeforeRowRenderEvent;
1201
+ "afterrender": { type: DimensionRows; colType: DimensionCols | 'rowHeaders' };
1202
+ "beforecellrender": BeforeCellRenderEvent<CellTemplateProp>;
1203
+ "beforedatarender": AllDimensionType;
1204
+ "dragstartcell": DragStartEvent;
1205
+ }
1206
+ /**
1207
+ * This component is responsible for rendering data
1208
+ * Rows, columns, groups and cells
1209
+ */
1210
+ interface HTMLRevogrDataElement extends Components.RevogrData, HTMLStencilElement {
1211
+ addEventListener<K extends keyof HTMLRevogrDataElementEventMap>(type: K, listener: (this: HTMLRevogrDataElement, ev: RevogrDataCustomEvent<HTMLRevogrDataElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1212
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1213
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1214
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1215
+ removeEventListener<K extends keyof HTMLRevogrDataElementEventMap>(type: K, listener: (this: HTMLRevogrDataElement, ev: RevogrDataCustomEvent<HTMLRevogrDataElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1216
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1217
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1218
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1219
+ }
1220
+ var HTMLRevogrDataElement: {
1221
+ prototype: HTMLRevogrDataElement;
1222
+ new (): HTMLRevogrDataElement;
1223
+ };
1224
+ interface HTMLRevogrEditElementEventMap {
1225
+ "celleditinit": SaveDataDetails;
1226
+ "closeedit": boolean | undefined;
1227
+ }
1228
+ /**
1229
+ * Represents a cell editor in a grid.
1230
+ * It manages the editing of cells by handling events, saving data, rendering the editor UI,
1231
+ * and managing the lifecycle of the editor instance.
1232
+ */
1233
+ interface HTMLRevogrEditElement extends Components.RevogrEdit, HTMLStencilElement {
1234
+ addEventListener<K extends keyof HTMLRevogrEditElementEventMap>(type: K, listener: (this: HTMLRevogrEditElement, ev: RevogrEditCustomEvent<HTMLRevogrEditElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1235
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1236
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1237
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1238
+ removeEventListener<K extends keyof HTMLRevogrEditElementEventMap>(type: K, listener: (this: HTMLRevogrEditElement, ev: RevogrEditCustomEvent<HTMLRevogrEditElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1239
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1240
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1241
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1242
+ }
1243
+ var HTMLRevogrEditElement: {
1244
+ prototype: HTMLRevogrEditElement;
1245
+ new (): HTMLRevogrEditElement;
1246
+ };
1247
+ /**
1248
+ * Contains extra elements for stencil components.
1249
+ * Performs rendering and updates for external components.
1250
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
1251
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
1252
+ * // use `config.refresh()` for component to re-render
1253
+ * return h('div')
1254
+ * }
1255
+ * revogrid.registerVNode = [
1256
+ * ...existingNodes,
1257
+ * paginationPanel.bind(this)
1258
+ * ];
1259
+ * /**
1260
+ */
1261
+ interface HTMLRevogrExtraElement extends Components.RevogrExtra, HTMLStencilElement {
1262
+ }
1263
+ var HTMLRevogrExtraElement: {
1264
+ prototype: HTMLRevogrExtraElement;
1265
+ new (): HTMLRevogrExtraElement;
1266
+ };
1267
+ interface HTMLRevogrFilterPanelElementEventMap {
1268
+ "filterChange": MultiFilterItem;
1269
+ "resetChange": ColumnProp;
1270
+ }
1271
+ interface HTMLRevogrFilterPanelElement extends Components.RevogrFilterPanel, HTMLStencilElement {
1272
+ addEventListener<K extends keyof HTMLRevogrFilterPanelElementEventMap>(type: K, listener: (this: HTMLRevogrFilterPanelElement, ev: RevogrFilterPanelCustomEvent<HTMLRevogrFilterPanelElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1273
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1274
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1275
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1276
+ removeEventListener<K extends keyof HTMLRevogrFilterPanelElementEventMap>(type: K, listener: (this: HTMLRevogrFilterPanelElement, ev: RevogrFilterPanelCustomEvent<HTMLRevogrFilterPanelElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1277
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1278
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1279
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1280
+ }
1281
+ var HTMLRevogrFilterPanelElement: {
1282
+ prototype: HTMLRevogrFilterPanelElement;
1283
+ new (): HTMLRevogrFilterPanelElement;
1284
+ };
1285
+ interface HTMLRevogrFocusElementEventMap {
1286
+ "beforefocusrender": FocusRenderEvent;
1287
+ "beforescrollintoview": { el: HTMLElement };
1288
+ "afterfocus": FocusAfterRenderEvent;
1289
+ }
1290
+ /**
1291
+ * Focus component. Shows focus layer around the cell that is currently in focus.
1292
+ * @example focus-rgCol-rgRow
1293
+ */
1294
+ interface HTMLRevogrFocusElement extends Components.RevogrFocus, HTMLStencilElement {
1295
+ addEventListener<K extends keyof HTMLRevogrFocusElementEventMap>(type: K, listener: (this: HTMLRevogrFocusElement, ev: RevogrFocusCustomEvent<HTMLRevogrFocusElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1296
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1297
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1298
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1299
+ removeEventListener<K extends keyof HTMLRevogrFocusElementEventMap>(type: K, listener: (this: HTMLRevogrFocusElement, ev: RevogrFocusCustomEvent<HTMLRevogrFocusElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1300
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1301
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1302
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1303
+ }
1304
+ var HTMLRevogrFocusElement: {
1305
+ prototype: HTMLRevogrFocusElement;
1306
+ new (): HTMLRevogrFocusElement;
1307
+ };
1308
+ interface HTMLRevogrGroupingOverlayElement extends Components.RevogrGroupingOverlay, HTMLStencilElement {
1309
+ }
1310
+ var HTMLRevogrGroupingOverlayElement: {
1311
+ prototype: HTMLRevogrGroupingOverlayElement;
1312
+ new (): HTMLRevogrGroupingOverlayElement;
1313
+ };
1314
+ interface HTMLRevogrHeaderElementEventMap {
1315
+ "beforeheaderclick": InitialHeaderClick;
1316
+ "headerresize": ViewSettingSizeProp;
1317
+ "beforeheaderresize": ColumnRegular[];
1318
+ "headerdblclick": InitialHeaderClick;
1319
+ "beforeheaderrender": HeaderRenderProps;
1320
+ "beforegroupheaderrender": HeaderGroupRendererProps;
1321
+ "afterheaderrender": ProvidersColumns;
1322
+ }
1323
+ interface HTMLRevogrHeaderElement extends Components.RevogrHeader, HTMLStencilElement {
1324
+ addEventListener<K extends keyof HTMLRevogrHeaderElementEventMap>(type: K, listener: (this: HTMLRevogrHeaderElement, ev: RevogrHeaderCustomEvent<HTMLRevogrHeaderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1325
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1326
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1327
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1328
+ removeEventListener<K extends keyof HTMLRevogrHeaderElementEventMap>(type: K, listener: (this: HTMLRevogrHeaderElement, ev: RevogrHeaderCustomEvent<HTMLRevogrHeaderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1329
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1330
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1331
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1332
+ }
1333
+ var HTMLRevogrHeaderElement: {
1334
+ prototype: HTMLRevogrHeaderElement;
1335
+ new (): HTMLRevogrHeaderElement;
1336
+ };
1337
+ interface HTMLRevogrHeaderUnifiedElementEventMap {
1338
+ "beforeheaderclick": InitialHeaderClick;
1339
+ "headerresize": ViewSettingSizeProp;
1340
+ "beforeheaderresize": ColumnRegular[];
1341
+ "headerdblclick": InitialHeaderClick;
1342
+ "beforeheaderrender": HeaderRenderProps;
1343
+ "beforegroupheaderrender": HeaderGroupRendererProps;
1344
+ "afterheaderrender": ProvidersColumns;
1345
+ }
1346
+ /**
1347
+ * 统一的表头组件
1348
+ * 渲染所有三个区域(colPinStart, rgCol, colPinEnd)的表头
1349
+ * 这样可以确保所有区域在同一个渲染周期内更新,避免异步渲染问题
1350
+ */
1351
+ interface HTMLRevogrHeaderUnifiedElement extends Components.RevogrHeaderUnified, HTMLStencilElement {
1352
+ addEventListener<K extends keyof HTMLRevogrHeaderUnifiedElementEventMap>(type: K, listener: (this: HTMLRevogrHeaderUnifiedElement, ev: RevogrHeaderUnifiedCustomEvent<HTMLRevogrHeaderUnifiedElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1353
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1354
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1355
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1356
+ removeEventListener<K extends keyof HTMLRevogrHeaderUnifiedElementEventMap>(type: K, listener: (this: HTMLRevogrHeaderUnifiedElement, ev: RevogrHeaderUnifiedCustomEvent<HTMLRevogrHeaderUnifiedElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1357
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1358
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1359
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1360
+ }
1361
+ var HTMLRevogrHeaderUnifiedElement: {
1362
+ prototype: HTMLRevogrHeaderUnifiedElement;
1363
+ new (): HTMLRevogrHeaderUnifiedElement;
1364
+ };
1365
+ interface HTMLRevogrOrderEditorElementEventMap {
1366
+ "rowdragstartinit": RowDragStartDetails;
1367
+ "rowdragendinit": { rowType: DimensionRows };
1368
+ "rowdragmoveinit": PositionItem & { rowType: DimensionRows };
1369
+ "rowdragmousemove": Cell & { rowType: DimensionRows };
1370
+ "rowdropinit": {
1371
+ from: number;
1372
+ to: number;
1373
+ rowType: DimensionRows;
1374
+ };
1375
+ "roworderchange": {
1376
+ from: number;
1377
+ to: number;
1378
+ rowType: DimensionRows;
1379
+ };
1380
+ }
1381
+ /**
1382
+ * Component for handling row order editor.
1383
+ */
1384
+ interface HTMLRevogrOrderEditorElement extends Components.RevogrOrderEditor, HTMLStencilElement {
1385
+ addEventListener<K extends keyof HTMLRevogrOrderEditorElementEventMap>(type: K, listener: (this: HTMLRevogrOrderEditorElement, ev: RevogrOrderEditorCustomEvent<HTMLRevogrOrderEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1386
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1387
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1388
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1389
+ removeEventListener<K extends keyof HTMLRevogrOrderEditorElementEventMap>(type: K, listener: (this: HTMLRevogrOrderEditorElement, ev: RevogrOrderEditorCustomEvent<HTMLRevogrOrderEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1390
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1391
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1392
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1393
+ }
1394
+ var HTMLRevogrOrderEditorElement: {
1395
+ prototype: HTMLRevogrOrderEditorElement;
1396
+ new (): HTMLRevogrOrderEditorElement;
1397
+ };
1398
+ interface HTMLRevogrOverlaySelectionElementEventMap {
1399
+ "beforecopyregion": any;
1400
+ "beforepasteregion": any;
1401
+ "celleditapply": BeforeSaveDataDetails;
1402
+ "beforecellfocusinit": BeforeSaveDataDetails;
1403
+ "cellclickinit": BeforeSaveDataDetails & { originalEvent?: MouseEvent | TouchEvent };
1404
+ "beforenextvpfocus": Cell;
1405
+ "setedit": BeforeEdit;
1406
+ "beforeapplyrange": FocusRenderEvent;
1407
+ "beforesetrange": any;
1408
+ "setrange": RangeArea & { type: MultiDimensionType };
1409
+ "beforeeditrender": FocusRenderEvent;
1410
+ "selectall": any;
1411
+ "canceledit": any;
1412
+ "settemprange": Nullable<TempRange> | null;
1413
+ "beforesettemprange": { tempRange: Nullable<TempRange> | null } & EventData & AllDimensionType;
1414
+ "applyfocus": FocusRenderEvent;
1415
+ "focuscell": ApplyFocusEvent & FocusRenderEvent;
1416
+ "beforerangedataapply": FocusRenderEvent;
1417
+ "selectionchangeinit": ChangedRange;
1418
+ "beforerangecopyapply": ChangedRange;
1419
+ "rangeeditapply": BeforeRangeSaveDataDetails;
1420
+ "clipboardrangecopy": RangeClipboardCopyEventProps;
1421
+ "clipboardrangepaste": RangeClipboardPasteEvent;
1422
+ "beforekeydown": { original: KeyboardEvent } & EventData;
1423
+ "beforekeyup": { original: KeyboardEvent } & EventData;
1424
+ "beforecellsave": any;
1425
+ "celledit": SaveDataDetails;
1426
+ }
1427
+ /**
1428
+ * Component for overlaying the grid with the selection.
1429
+ */
1430
+ interface HTMLRevogrOverlaySelectionElement extends Components.RevogrOverlaySelection, HTMLStencilElement {
1431
+ addEventListener<K extends keyof HTMLRevogrOverlaySelectionElementEventMap>(type: K, listener: (this: HTMLRevogrOverlaySelectionElement, ev: RevogrOverlaySelectionCustomEvent<HTMLRevogrOverlaySelectionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1432
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1433
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1434
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1435
+ removeEventListener<K extends keyof HTMLRevogrOverlaySelectionElementEventMap>(type: K, listener: (this: HTMLRevogrOverlaySelectionElement, ev: RevogrOverlaySelectionCustomEvent<HTMLRevogrOverlaySelectionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1436
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1437
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1438
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1439
+ }
1440
+ var HTMLRevogrOverlaySelectionElement: {
1441
+ prototype: HTMLRevogrOverlaySelectionElement;
1442
+ new (): HTMLRevogrOverlaySelectionElement;
1443
+ };
1444
+ interface HTMLRevogrRowHeadersElementEventMap {
1445
+ "scrollview": ViewPortScrollEvent;
1446
+ "ref": ElementScroll;
1447
+ }
1448
+ /**
1449
+ * Row headers component
1450
+ * Visible on the left side of the table
1451
+ */
1452
+ interface HTMLRevogrRowHeadersElement extends Components.RevogrRowHeaders, HTMLStencilElement {
1453
+ addEventListener<K extends keyof HTMLRevogrRowHeadersElementEventMap>(type: K, listener: (this: HTMLRevogrRowHeadersElement, ev: RevogrRowHeadersCustomEvent<HTMLRevogrRowHeadersElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1454
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1455
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1456
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1457
+ removeEventListener<K extends keyof HTMLRevogrRowHeadersElementEventMap>(type: K, listener: (this: HTMLRevogrRowHeadersElement, ev: RevogrRowHeadersCustomEvent<HTMLRevogrRowHeadersElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1458
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1459
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1460
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1461
+ }
1462
+ var HTMLRevogrRowHeadersElement: {
1463
+ prototype: HTMLRevogrRowHeadersElement;
1464
+ new (): HTMLRevogrRowHeadersElement;
1465
+ };
1466
+ interface HTMLRevogrScrollVirtualElementEventMap {
1467
+ "scrollvirtual": ViewPortScrollEvent;
1468
+ }
1469
+ /**
1470
+ * Virtual scroll component
1471
+ */
1472
+ interface HTMLRevogrScrollVirtualElement extends Components.RevogrScrollVirtual, HTMLStencilElement {
1473
+ addEventListener<K extends keyof HTMLRevogrScrollVirtualElementEventMap>(type: K, listener: (this: HTMLRevogrScrollVirtualElement, ev: RevogrScrollVirtualCustomEvent<HTMLRevogrScrollVirtualElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1474
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1475
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1476
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1477
+ removeEventListener<K extends keyof HTMLRevogrScrollVirtualElementEventMap>(type: K, listener: (this: HTMLRevogrScrollVirtualElement, ev: RevogrScrollVirtualCustomEvent<HTMLRevogrScrollVirtualElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1478
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1479
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1480
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1481
+ }
1482
+ var HTMLRevogrScrollVirtualElement: {
1483
+ prototype: HTMLRevogrScrollVirtualElement;
1484
+ new (): HTMLRevogrScrollVirtualElement;
1485
+ };
1486
+ /**
1487
+ * Temporary range selection component. Shows temporary range selection.
1488
+ */
1489
+ interface HTMLRevogrTempRangeElement extends Components.RevogrTempRange, HTMLStencilElement {
1490
+ }
1491
+ var HTMLRevogrTempRangeElement: {
1492
+ prototype: HTMLRevogrTempRangeElement;
1493
+ new (): HTMLRevogrTempRangeElement;
1494
+ };
1495
+ interface HTMLRevogrViewportScrollElementEventMap {
1496
+ "scrollviewport": ViewPortScrollEvent;
1497
+ "resizeviewport": ViewPortResizeEvent;
1498
+ "scrollchange": {
1499
+ type: DimensionType;
1500
+ hasScroll: boolean;
1501
+ };
1502
+ "scrollviewportsilent": ViewPortScrollEvent;
1503
+ }
1504
+ /**
1505
+ * Viewport scroll component for RevoGrid
1506
+ */
1507
+ interface HTMLRevogrViewportScrollElement extends Components.RevogrViewportScroll, HTMLStencilElement {
1508
+ addEventListener<K extends keyof HTMLRevogrViewportScrollElementEventMap>(type: K, listener: (this: HTMLRevogrViewportScrollElement, ev: RevogrViewportScrollCustomEvent<HTMLRevogrViewportScrollElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1509
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1510
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1511
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1512
+ removeEventListener<K extends keyof HTMLRevogrViewportScrollElementEventMap>(type: K, listener: (this: HTMLRevogrViewportScrollElement, ev: RevogrViewportScrollCustomEvent<HTMLRevogrViewportScrollElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1513
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1514
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1515
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1516
+ }
1517
+ var HTMLRevogrViewportScrollElement: {
1518
+ prototype: HTMLRevogrViewportScrollElement;
1519
+ new (): HTMLRevogrViewportScrollElement;
1520
+ };
1521
+ interface HTMLVnodeHtmlElementEventMap {
1522
+ "html": { html: string; vnodes: (VNode[]) | null };
1523
+ }
1524
+ interface HTMLVnodeHtmlElement extends Components.VnodeHtml, HTMLStencilElement {
1525
+ addEventListener<K extends keyof HTMLVnodeHtmlElementEventMap>(type: K, listener: (this: HTMLVnodeHtmlElement, ev: VnodeHtmlCustomEvent<HTMLVnodeHtmlElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1526
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1527
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1528
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1529
+ removeEventListener<K extends keyof HTMLVnodeHtmlElementEventMap>(type: K, listener: (this: HTMLVnodeHtmlElement, ev: VnodeHtmlCustomEvent<HTMLVnodeHtmlElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1530
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1531
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1532
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1533
+ }
1534
+ var HTMLVnodeHtmlElement: {
1535
+ prototype: HTMLVnodeHtmlElement;
1536
+ new (): HTMLVnodeHtmlElement;
1537
+ };
1538
+ interface HTMLElementTagNameMap {
1539
+ "revo-grid": HTMLRevoGridElement;
1540
+ "revogr-attribution": HTMLRevogrAttributionElement;
1541
+ "revogr-clipboard": HTMLRevogrClipboardElement;
1542
+ "revogr-data": HTMLRevogrDataElement;
1543
+ "revogr-edit": HTMLRevogrEditElement;
1544
+ "revogr-extra": HTMLRevogrExtraElement;
1545
+ "revogr-filter-panel": HTMLRevogrFilterPanelElement;
1546
+ "revogr-focus": HTMLRevogrFocusElement;
1547
+ "revogr-grouping-overlay": HTMLRevogrGroupingOverlayElement;
1548
+ "revogr-header": HTMLRevogrHeaderElement;
1549
+ "revogr-header-unified": HTMLRevogrHeaderUnifiedElement;
1550
+ "revogr-order-editor": HTMLRevogrOrderEditorElement;
1551
+ "revogr-overlay-selection": HTMLRevogrOverlaySelectionElement;
1552
+ "revogr-row-headers": HTMLRevogrRowHeadersElement;
1553
+ "revogr-scroll-virtual": HTMLRevogrScrollVirtualElement;
1554
+ "revogr-temp-range": HTMLRevogrTempRangeElement;
1555
+ "revogr-viewport-scroll": HTMLRevogrViewportScrollElement;
1556
+ "vnode-html": HTMLVnodeHtmlElement;
1557
+ }
1558
+ }
1559
+ declare namespace LocalJSX {
1560
+ /**
1561
+ * Revogrid - High-performance, customizable grid library for managing large datasets.
1562
+ * ### Events guide
1563
+ * For a comprehensive events guide, check the [Events API Page](/guide/api/events).
1564
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
1565
+ * ### Type definitions
1566
+ * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
1567
+ * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
1568
+ * ### HTMLRevoGridElement
1569
+ * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
1570
+ * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
1571
+ */
1572
+ interface RevoGrid {
1573
+ /**
1574
+ * Enable accessibility. If disabled, the grid will not be accessible.
1575
+ * @default true
1576
+ */
1577
+ "accessible"?: boolean;
1578
+ /**
1579
+ * Additional data to be passed to plugins, renders or editors. For example if you need to pass Vue component instance.
1580
+ * @default {}
1581
+ */
1582
+ "additionalData"?: AdditionalData;
1583
+ /**
1584
+ * Apply changes in editor when closed except 'Escape' cases. If custom editor in use method getValue required. Check interfaces.d.ts `EditorBase` for more info.
1585
+ * @default false
1586
+ */
1587
+ "applyOnClose"?: boolean;
1588
+ /**
1589
+ * Auto scroll to focused cell. When true, the grid will automatically scroll to make the focused cell visible.
1590
+ * @default false
1591
+ */
1592
+ "autoScrollToFocus"?: boolean;
1593
+ /**
1594
+ * Autosize config. Enables columns autoSize. For more details check `autoSizeColumn` plugin. By default disabled, hence operation is not performance efficient. `true` to enable with default params (double header separator click for autosize). Or define config. See `AutoSizeColumnConfig` for more details.
1595
+ * @default false
1596
+ */
1597
+ "autoSizeColumn"?: boolean | AutoSizeColumnConfig;
1598
+ /**
1599
+ * Disable native drag&drop plugin.
1600
+ * @default true
1601
+ */
1602
+ "canDrag"?: boolean;
1603
+ /**
1604
+ * When true cell focus appear.
1605
+ * @default true
1606
+ */
1607
+ "canFocus"?: boolean;
1608
+ /**
1609
+ * Enable column move plugin.
1610
+ * @default false
1611
+ */
1612
+ "canMoveColumns"?: boolean;
1613
+ /**
1614
+ * Indicates default column size.
1615
+ * @default 100
1616
+ */
1617
+ "colSize"?: number;
1618
+ /**
1619
+ * Column Types Format. Every type represent multiple column properties. Types will be merged but can be replaced with column properties. Types were made as separate objects to be reusable per multiple columns.
1620
+ * @default {}
1621
+ */
1622
+ "columnTypes"?: { [name: string]: ColumnType };
1623
+ /**
1624
+ * Columns - defines an array of grid columns. Can be column or grouped column.
1625
+ * @default []
1626
+ */
1627
+ "columns"?: (ColumnRegular | ColumnGrouping)[];
1628
+ /**
1629
+ * Disable scrolling. When true, the grid will not respond to scroll events.
1630
+ * @default false
1631
+ */
1632
+ "disableScroll"?: boolean;
1633
+ /**
1634
+ * Disable lazy rendering mode for the `X axis`. Use when not many columns present and you don't need rerenader cells during scroll. Can be used for initial rendering performance improvement.
1635
+ * @default false
1636
+ */
1637
+ "disableVirtualX"?: boolean;
1638
+ /**
1639
+ * Disable lazy rendering mode for the `Y axis`. Use when not many rows present and you don't need rerenader cells during scroll. Can be used for initial rendering performance improvement.
1640
+ * @default false
1641
+ */
1642
+ "disableVirtualY"?: boolean;
1643
+ /**
1644
+ * Custom editors register.
1645
+ * @default {}
1646
+ */
1647
+ "editors"?: Editors;
1648
+ /**
1649
+ * Custom template for empty data placeholder. If not provided, the empty slot will be used.
1650
+ */
1651
+ "emptyTemplate"?: (createElement: typeof h) => VNode;
1652
+ /**
1653
+ * Enable export plugin.
1654
+ * @default false
1655
+ */
1656
+ "exporting"?: boolean;
1657
+ /**
1658
+ * Enables filter plugin. Can be boolean. Or can be filter collection See `FilterCollection` for more info.
1659
+ * @default false
1660
+ */
1661
+ "filter"?: boolean | ColumnFilterConfig;
1662
+ /**
1663
+ * Apply changes typed in editor on editor close except Escape cases. If custom editor in use method `getValue` required. Check `interfaces.d.ts` `EditorBase` for more info.
1664
+ */
1665
+ "focusTemplate"?: FocusTemplateFunc;
1666
+ /**
1667
+ * Defines how many rows/columns should be rendered outside visible area.
1668
+ * @default 1
1669
+ */
1670
+ "frameSize"?: number;
1671
+ /**
1672
+ * Group rows based on this property. Define properties to be groped by grouping plugin See `GroupingOptions`.
1673
+ */
1674
+ "grouping"?: GroupingOptions;
1675
+ /**
1676
+ * Please only hide the attribution if you are subscribed to Pro version
1677
+ * @default false
1678
+ */
1679
+ "hideAttribution"?: boolean;
1680
+ /**
1681
+ * Hide empty placeholder during initial loading. Set to true when loading data asynchronously.
1682
+ * @default false
1683
+ */
1684
+ "hideEmpty"?: boolean;
1685
+ /**
1686
+ * Prevent rendering until job is done. Can be used for initial rendering performance improvement. When several plugins require initial rendering this will prevent double initial rendering.
1687
+ * @default []
1688
+ */
1689
+ "jobsBeforeRender"?: Promise<any>[];
1690
+ /**
1691
+ * Emmited after the additional data is changed
1692
+ */
1693
+ "onAdditionaldatachanged"?: (event: RevoGridCustomEvent<any>) => void;
1694
+ /**
1695
+ * Emitted after each source update, whether from the pinned or main viewport. Useful for tracking all changes originating from sources in both the pinned and main viewports.
1696
+ */
1697
+ "onAfteranysource"?: (event: RevoGridCustomEvent<{
1698
+ type: DimensionRows;
1699
+ source: DataType[];
1700
+ }>) => void;
1701
+ /**
1702
+ * Emitted after column resizing. Useful for retrieving the resized columns.
1703
+ */
1704
+ "onAftercolumnresize"?: (event: RevoGridCustomEvent<{
1705
+ [index: number]: ColumnRegular;
1706
+ }>) => void;
1707
+ /**
1708
+ * Column updated
1709
+ */
1710
+ "onAftercolumnsset"?: (event: RevoGridCustomEvent<{
1711
+ columns: ColumnCollection;
1712
+ order: SortingOrder;
1713
+ }>) => void;
1714
+ /**
1715
+ * Emmited after data source update and all related renders are completed. This event is triggered only once per data update, after all areas (main, pinned) are rendered.
1716
+ */
1717
+ "onAfterdatarendered"?: (event: RevoGridCustomEvent<any>) => void;
1718
+ /**
1719
+ * After data applied or range changed.
1720
+ */
1721
+ "onAfteredit"?: (event: RevoGridCustomEvent<AfterEditEvent>) => void;
1722
+ /**
1723
+ * After focus render finished. Can be used to access a focus element through `event.target`. This is just a duplicate of `afterfocus` from `revogr-focus.tsx`.
1724
+ */
1725
+ "onAfterfocus"?: (event: RevoGridCustomEvent<FocusAfterRenderEvent>) => void;
1726
+ /**
1727
+ * Emmited after the grid is initialized. Connected to the DOM.
1728
+ */
1729
+ "onAftergridinit"?: (event: RevoGridCustomEvent<any>) => void;
1730
+ /**
1731
+ * Emmited after the grid is rendered.
1732
+ */
1733
+ "onAftergridrender"?: (event: RevoGridCustomEvent<any>) => void;
1734
+ /**
1735
+ * After main source/rows updated
1736
+ */
1737
+ "onAftersourceset"?: (event: RevoGridCustomEvent<{
1738
+ type: DimensionRows;
1739
+ source: DataType[];
1740
+ }>) => void;
1741
+ /**
1742
+ * Emmited after the theme is changed
1743
+ */
1744
+ "onAfterthemechanged"?: (event: RevoGridCustomEvent<Theme>) => void;
1745
+ /**
1746
+ * Emitted after trimmed values have been applied. Useful for notifying when trimming of values has taken place.
1747
+ */
1748
+ "onAftertrimmed"?: (event: RevoGridCustomEvent<any>) => void;
1749
+ /**
1750
+ * Before data apply on any source type. Can be source from pinned and main viewport. You can override data source here
1751
+ */
1752
+ "onBeforeanysource"?: (event: RevoGridCustomEvent<{
1753
+ type: DimensionRows;
1754
+ source: DataType[];
1755
+ }>) => void;
1756
+ /**
1757
+ * Before autofill is applied. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
1758
+ */
1759
+ "onBeforeautofill"?: (event: RevoGridCustomEvent<ChangedRange>) => void;
1760
+ /**
1761
+ * Before the cell focus is changed. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
1762
+ */
1763
+ "onBeforecellfocus"?: (event: RevoGridCustomEvent<BeforeSaveDataDetails>) => void;
1764
+ /**
1765
+ * Emitted before a column update is applied, after the column set is gathered and the viewport is updated. Useful for performing actions or modifications before the final application of the column update.
1766
+ */
1767
+ "onBeforecolumnapplied"?: (event: RevoGridCustomEvent<ColumnCollection>) => void;
1768
+ /**
1769
+ * Emitted before a column update is applied. Listeners can use this event to perform any necessary actions or modifications before the column update is finalized.
1770
+ */
1771
+ "onBeforecolumnsset"?: (event: RevoGridCustomEvent<ColumnCollection>) => void;
1772
+ /**
1773
+ * Before the data is edited. To prevent the default behavior of editing data and use your own implementation, call `e.preventDefault()`. To override the edit result with your own value, set the `e.val` property to your desired value.
1774
+ */
1775
+ "onBeforeedit"?: (event: RevoGridCustomEvent<BeforeSaveDataDetails>) => void;
1776
+ /**
1777
+ * Emitted before editing starts. Use e.preventDefault() to prevent the default edit behavior.
1778
+ */
1779
+ "onBeforeeditstart"?: (event: RevoGridCustomEvent<BeforeSaveDataDetails>) => void;
1780
+ /**
1781
+ * Before export Use e.preventDefault() to prevent export Replace data in Event in case you want to modify it in export
1782
+ */
1783
+ "onBeforeexport"?: (event: RevoGridCustomEvent<DataInput>) => void;
1784
+ /**
1785
+ * Emitted before applying a filter to the data source. Use e.preventDefault() to prevent cell focus change. Modify if you need to change filters.
1786
+ */
1787
+ "onBeforefilterapply"?: (event: RevoGridCustomEvent<{ collection: Record<ColumnProp, FilterCollectionItem> }>) => void;
1788
+ /**
1789
+ * Emitted before applying a filter to the data source. Use e.preventDefault() to prevent the default behavior of trimming values and applying the filter. Modify the `collection` property if you want to change the filters. Modify the `itemsToFilter` property if you want to filter the indexes for trimming.
1790
+ */
1791
+ "onBeforefiltertrimmed"?: (event: RevoGridCustomEvent<{
1792
+ collection: Record<ColumnProp, FilterCollectionItem>;
1793
+ itemsToFilter: Record<number, boolean>;
1794
+ }>) => void;
1795
+ /**
1796
+ * Before the grid focus is lost. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
1797
+ */
1798
+ "onBeforefocuslost"?: (event: RevoGridCustomEvent<FocusedData | null>) => void;
1799
+ /**
1800
+ * Emmited before the grid is rendered.
1801
+ */
1802
+ "onBeforegridrender"?: (event: RevoGridCustomEvent<any>) => void;
1803
+ /**
1804
+ * Before autofill is applied. Runs before beforeautofill event. Use e.preventDefault() to prevent range.
1805
+ */
1806
+ "onBeforerange"?: (event: RevoGridCustomEvent<ChangedRange>) => void;
1807
+ /**
1808
+ * Before applying range data, specifically when a range selection occurs. To customize the data and prevent the default edit data from being set, you can call `e.preventDefault()`.
1809
+ */
1810
+ "onBeforerangeedit"?: (event: RevoGridCustomEvent<BeforeRangeSaveDataDetails>) => void;
1811
+ /**
1812
+ * Emitted before the row definition is applied. Useful for modifying or preventing the default row definition behavior.
1813
+ */
1814
+ "onBeforerowdefinition"?: (event: RevoGridCustomEvent<{ vals: any; oldVals: any }>) => void;
1815
+ /**
1816
+ * By `SortingPlugin` <br>Triggered immediately after header click. <br>First in sorting event sequence. Ff this event stops no other event called. <br>Use `e.preventDefault()` to prevent sorting.
1817
+ */
1818
+ "onBeforesorting"?: (event: RevoGridCustomEvent<{
1819
+ column: ColumnRegular;
1820
+ order: 'desc' | 'asc';
1821
+ additive: boolean;
1822
+ }>) => void;
1823
+ /**
1824
+ * By `SortingPlugin` <br> After `beforesorting` <br>Triggered after column data updated with new sorting order. <br>Use `e.preventDefault()` to prevent sorting data change.
1825
+ */
1826
+ "onBeforesortingapply"?: (event: RevoGridCustomEvent<{
1827
+ column: ColumnRegular;
1828
+ order: 'desc' | 'asc';
1829
+ additive: boolean;
1830
+ }>) => void;
1831
+ /**
1832
+ * Before main source/rows data apply. You can override data source here
1833
+ */
1834
+ "onBeforesourceset"?: (event: RevoGridCustomEvent<{
1835
+ type: DimensionRows;
1836
+ source: DataType[];
1837
+ }>) => void;
1838
+ /**
1839
+ * By `SortingPlugin` <br>Same as `beforesorting` but triggered after `beforeanysource` (when source is changed). <br>Use `e.preventDefault()` to prevent sorting data change.
1840
+ */
1841
+ "onBeforesourcesortingapply"?: (event: RevoGridCustomEvent<{
1842
+ type: DimensionRows;
1843
+ sorting?: SortingOrder;
1844
+ }>) => void;
1845
+ /**
1846
+ * Emitted before trimming values. Use e.preventDefault() to prevent the default behavior of trimming values. Modify the `trimmed` property if you want to filter the indexes for trimming.
1847
+ */
1848
+ "onBeforetrimmed"?: (event: RevoGridCustomEvent<{
1849
+ trimmed: Record<number, boolean>;
1850
+ trimmedType: string;
1851
+ type: string;
1852
+ }>) => void;
1853
+ /**
1854
+ * Cell click event. Triggered when user clicks on a cell.
1855
+ */
1856
+ "onCellclick"?: (event: RevoGridCustomEvent<BeforeSaveDataDetails & { originalEvent?: MouseEvent | TouchEvent }>) => void;
1857
+ /**
1858
+ * New content size has been applied. The size excludes the header. Currently, the event responsible for applying the new content size does not provide the actual size. To retrieve the actual content size, you can utilize the `getContentSize` function after the event has been triggered.
1859
+ */
1860
+ "onContentsizechanged"?: (event: RevoGridCustomEvent<MultiDimensionType>) => void;
1861
+ /**
1862
+ * Emmited after grid created
1863
+ */
1864
+ "onCreated"?: (event: RevoGridCustomEvent<any>) => void;
1865
+ /**
1866
+ * Emitted when the filter configuration is changed
1867
+ */
1868
+ "onFilterconfigchanged"?: (event: RevoGridCustomEvent<any>) => void;
1869
+ /**
1870
+ * On header click.
1871
+ */
1872
+ "onHeaderclick"?: (event: RevoGridCustomEvent<ColumnRegular>) => void;
1873
+ /**
1874
+ * This event is triggered when the row order change is started. To prevent the default behavior of changing the row order, you can call `e.preventDefault()`. To change the item name at the start of the row order change, you can set `e.text` to the desired new name.
1875
+ */
1876
+ "onRowdragstart"?: (event: RevoGridCustomEvent<RowDragStartDetails>) => void;
1877
+ /**
1878
+ * Emmited when the row headers are changed.
1879
+ */
1880
+ "onRowheaderschanged"?: (event: RevoGridCustomEvent<any>) => void;
1881
+ /**
1882
+ * Before the order of `rgRow` is applied. To prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`.
1883
+ */
1884
+ "onRoworderchanged"?: (event: RevoGridCustomEvent<{ from: number; to: number }>) => void;
1885
+ /**
1886
+ * Emitted when the sorting configuration is changed SortingPlugin subsribed to this event
1887
+ */
1888
+ "onSortingconfigchanged"?: (event: RevoGridCustomEvent<SortingConfig>) => void;
1889
+ /**
1890
+ * Emitted when the viewport is scrolled. Useful for tracking viewport scrolling events.
1891
+ */
1892
+ "onViewportscroll"?: (event: RevoGridCustomEvent<ViewPortScrollEvent>) => void;
1893
+ /**
1894
+ * Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source.
1895
+ * @default []
1896
+ */
1897
+ "pinnedBottomSource"?: DataType[];
1898
+ /**
1899
+ * Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source.
1900
+ * @default []
1901
+ */
1902
+ "pinnedTopSource"?: DataType[];
1903
+ /**
1904
+ * Custom grid plugins. Can be added or removed at runtime. Every plugin should be inherited from BasePlugin class. For more details check [Plugin guide](https://rv-grid.com/guide/plugin/)
1905
+ * @default []
1906
+ */
1907
+ "plugins"?: GridPlugin[];
1908
+ /**
1909
+ * When true, user can range selection.
1910
+ * @default false
1911
+ */
1912
+ "range"?: boolean;
1913
+ /**
1914
+ * When true, grid in read only mode.
1915
+ * @default false
1916
+ */
1917
+ "readonly"?: boolean;
1918
+ /**
1919
+ * Register new virtual node inside of grid. Used for additional items creation such as plugin elements. Should be set before grid render inside of plugins. Can return VNode result of h() function or a function that returns VNode. Function can be used for performance improvement and additional renders.
1920
+ * @default []
1921
+ */
1922
+ "registerVNode"?: (
1923
+ | VNode
1924
+ | ((c: ExtraNodeFuncConfig) => VNode)
1925
+ )[];
1926
+ /**
1927
+ * When true, columns are resizable.
1928
+ * @default false
1929
+ */
1930
+ "resize"?: boolean;
1931
+ /**
1932
+ * Row class property mapping. Map custom classes to rows from row object data. Define this property in rgRow object and this will be mapped as rgRow class.
1933
+ * @default ''
1934
+ */
1935
+ "rowClass"?: string;
1936
+ /**
1937
+ * Custom row properies to be applied. See `RowDefinition` for more info.
1938
+ * @default []
1939
+ */
1940
+ "rowDefinitions"?: RowDefinition[];
1941
+ /**
1942
+ * Excel like functionality. Show row numbers. Also can be used for custom row header render if object provided.
1943
+ */
1944
+ "rowHeaders"?: RowHeaders | boolean;
1945
+ /**
1946
+ * Indicates default rgRow size. By default 0, means theme package size will be applied Alternatively you can use `rowSize` to reset viewport
1947
+ * @default 0
1948
+ */
1949
+ "rowSize"?: number;
1950
+ /**
1951
+ * Enable right-to-left (RTL) mode. When enabled, columns will be displayed from right to left.
1952
+ * @default false
1953
+ */
1954
+ "rtl"?: boolean;
1955
+ /**
1956
+ * Show scrollbars. When false, scrollbars will be hidden.
1957
+ * @default true
1958
+ */
1959
+ "showScrollbar"?: boolean;
1960
+ /**
1961
+ * Alternative way to set sorting. `{columns: [{prop: 'name', order: 'asc'}]}` Use SortingPlugin to get current sorting state
1962
+ */
1963
+ "sorting"?: SortingConfig;
1964
+ /**
1965
+ * Source - defines main data source. Can be an Object or 2 dimensional array([][]); Keys/indexes referenced from columns Prop.
1966
+ * @default []
1967
+ */
1968
+ "source"?: DataType[];
1969
+ /**
1970
+ * Stretch strategy for columns by `StretchColumn` plugin. For example if there are more space on the right last column size would be increased.
1971
+ * @default false
1972
+ */
1973
+ "stretch"?: boolean | string;
1974
+ /**
1975
+ * Theme name.
1976
+ * @default 'default'
1977
+ */
1978
+ "theme"?: Theme;
1979
+ /**
1980
+ * Trimmed rows. Functionality which allows to hide rows from main data set. `trimmedRows` are physical `rgRow` indexes to hide.
1981
+ * @default {}
1982
+ */
1983
+ "trimmedRows"?: Record<number, boolean>;
1984
+ /**
1985
+ * When true enable clipboard.
1986
+ * @default true
1987
+ */
1988
+ "useClipboard"?: boolean;
1989
+ }
1990
+ interface RevogrAttribution {
1991
+ }
1992
+ /**
1993
+ * This Clipboard provides functionality for handling clipboard events in a web application.
1994
+ */
1995
+ interface RevogrClipboard {
1996
+ /**
1997
+ * Paste 4. Fired after paste applied to the grid defaultPrevented - if true, paste will be canceled
1998
+ */
1999
+ "onAfterpasteapply"?: (event: RevogrClipboardCustomEvent<{
2000
+ raw: string;
2001
+ parsed: string[][];
2002
+ event: ClipboardEvent;
2003
+ }>) => void;
2004
+ /**
2005
+ * Copy 1. Fired before copy triggered defaultPrevented - if true, copy will be canceled
2006
+ */
2007
+ "onBeforecopy"?: (event: RevogrClipboardCustomEvent<{
2008
+ event: ClipboardEvent;
2009
+ }>) => void;
2010
+ /**
2011
+ * Copy Method 1. Fired before copy applied to the clipboard from outside. defaultPrevented - if true, copy will be canceled
2012
+ */
2013
+ "onBeforecopyapply"?: (event: RevogrClipboardCustomEvent<{
2014
+ event: DataTransfer;
2015
+ data?: string[][];
2016
+ }>) => void;
2017
+ /**
2018
+ * Cut 1. Fired before cut triggered defaultPrevented - if true, cut will be canceled
2019
+ */
2020
+ "onBeforecut"?: (event: RevogrClipboardCustomEvent<{
2021
+ event: ClipboardEvent;
2022
+ }>) => void;
2023
+ /**
2024
+ * Paste 1. Fired before paste applied to the grid defaultPrevented - if true, paste will be canceled
2025
+ */
2026
+ "onBeforepaste"?: (event: RevogrClipboardCustomEvent<{
2027
+ raw: string;
2028
+ isHTML: boolean;
2029
+ event: ClipboardEvent;
2030
+ dataText: string;
2031
+ }>) => void;
2032
+ /**
2033
+ * Paste 2. Fired before paste applied to the grid and after data parsed
2034
+ */
2035
+ "onBeforepasteapply"?: (event: RevogrClipboardCustomEvent<{
2036
+ raw: string;
2037
+ parsed: string[][];
2038
+ event: ClipboardEvent;
2039
+ }>) => void;
2040
+ /**
2041
+ * Cut 2. Clears region when cut is done
2042
+ */
2043
+ "onClearregion"?: (event: RevogrClipboardCustomEvent<DataTransfer>) => void;
2044
+ /**
2045
+ * Copy 2. Fired when region copied defaultPrevented - if true, copy will be canceled
2046
+ */
2047
+ "onCopyregion"?: (event: RevogrClipboardCustomEvent<DataTransfer>) => void;
2048
+ /**
2049
+ * Paste 3. Internal method. When data region is ready pass it to the top.
2050
+ * @property {string[][]} data - data to paste
2051
+ * @property {boolean} defaultPrevented - if true, paste will be canceled
2052
+ */
2053
+ "onPasteregion"?: (event: RevogrClipboardCustomEvent<string[][]>) => void;
2054
+ /**
2055
+ * If readonly mode - disabled Paste event
2056
+ */
2057
+ "readonly"?: boolean;
2058
+ }
2059
+ /**
2060
+ * This component is responsible for rendering data
2061
+ * Rows, columns, groups and cells
2062
+ */
2063
+ interface RevogrData {
2064
+ /**
2065
+ * Additional data to pass to renderer Used in plugins such as vue or react to pass root app entity to cells
2066
+ */
2067
+ "additionalData"?: any;
2068
+ /**
2069
+ * Column source
2070
+ */
2071
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
2072
+ /**
2073
+ * Column data type
2074
+ */
2075
+ "colType": DimensionCols | 'rowHeaders';
2076
+ /**
2077
+ * Data rows source
2078
+ */
2079
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
2080
+ /**
2081
+ * Dimension settings Y
2082
+ */
2083
+ "dimensionRow": Observable<DimensionSettingsState>;
2084
+ /**
2085
+ * Whether there are colPinEnd columns in the grid Used to determine which column should get the last-column class
2086
+ */
2087
+ "hasColPinEnd"?: boolean;
2088
+ /**
2089
+ * Whether there are rgCol columns in the grid Used to determine which column should get the last-column class
2090
+ */
2091
+ "hasRgCol"?: boolean;
2092
+ /**
2093
+ * Prevent rendering until job is done. Can be used for initial rendering performance improvement. When several plugins require initial rendering this will prevent double initial rendering.
2094
+ * @default []
2095
+ */
2096
+ "jobsBeforeRender"?: (Promise<any> | (() => Promise<any>))[];
2097
+ /**
2098
+ * When data render finished for the designated type
2099
+ */
2100
+ "onAfterrender"?: (event: RevogrDataCustomEvent<{ type: DimensionRows; colType: DimensionCols | 'rowHeaders' }>) => void;
2101
+ /**
2102
+ * Before each cell render function. Allows to override cell properties
2103
+ */
2104
+ "onBeforecellrender"?: (event: RevogrDataCustomEvent<BeforeCellRenderEvent<CellTemplateProp>>) => void;
2105
+ /**
2106
+ * Before data render
2107
+ */
2108
+ "onBeforedatarender"?: (event: RevogrDataCustomEvent<AllDimensionType>) => void;
2109
+ /**
2110
+ * Before each row render
2111
+ */
2112
+ "onBeforerowrender"?: (event: RevogrDataCustomEvent<BeforeRowRenderEvent>) => void;
2113
+ /**
2114
+ * Event emitted on cell drag start
2115
+ */
2116
+ "onDragstartcell"?: (event: RevogrDataCustomEvent<DragStartEvent>) => void;
2117
+ /**
2118
+ * Padding depth for grouping rows (in pixels per depth level)
2119
+ */
2120
+ "paddingDepth"?: number;
2121
+ /**
2122
+ * Range allowed
2123
+ */
2124
+ "range"?: boolean;
2125
+ /**
2126
+ * Readonly mode
2127
+ */
2128
+ "readonly"?: boolean;
2129
+ /**
2130
+ * Defines property from which to read row class
2131
+ */
2132
+ "rowClass"?: string;
2133
+ /**
2134
+ * Selection, range, focus for row selection
2135
+ */
2136
+ "rowSelectionStore": Observable<SelectionStoreState>;
2137
+ /**
2138
+ * Row data type
2139
+ */
2140
+ "type": DimensionRows;
2141
+ /**
2142
+ * Unique identifier for the data component Used for tracking and debugging purposes
2143
+ */
2144
+ "uniqueId"?: any;
2145
+ /**
2146
+ * Viewport X
2147
+ */
2148
+ "viewportCol": Observable<ViewportState>;
2149
+ /**
2150
+ * Viewport Y
2151
+ */
2152
+ "viewportRow": Observable<ViewportState>;
2153
+ }
2154
+ /**
2155
+ * Represents a cell editor in a grid.
2156
+ * It manages the editing of cells by handling events, saving data, rendering the editor UI,
2157
+ * and managing the lifecycle of the editor instance.
2158
+ */
2159
+ interface RevogrEdit {
2160
+ /**
2161
+ * Additional data to pass to renderer
2162
+ */
2163
+ "additionalData"?: any;
2164
+ /**
2165
+ * Column data for editor.
2166
+ */
2167
+ "column"?: ColumnDataSchemaModel | null;
2168
+ /**
2169
+ * Cell to edit data.
2170
+ */
2171
+ "editCell"?: EditCell;
2172
+ /**
2173
+ * Custom editors register
2174
+ */
2175
+ "editor"?: EditorCtr | null;
2176
+ /**
2177
+ * Cell edit event initiator, first in the cellEdit event chain
2178
+ */
2179
+ "onCelleditinit"?: (event: RevogrEditCustomEvent<SaveDataDetails>) => void;
2180
+ /**
2181
+ * Close editor event pass true if requires focus next
2182
+ */
2183
+ "onCloseedit"?: (event: RevogrEditCustomEvent<boolean | undefined>) => void;
2184
+ /**
2185
+ * Save on editor close. Defines if data should be saved on editor close.
2186
+ * @default false
2187
+ */
2188
+ "saveOnClose"?: boolean;
2189
+ }
2190
+ /**
2191
+ * Contains extra elements for stencil components.
2192
+ * Performs rendering and updates for external components.
2193
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
2194
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
2195
+ * // use `config.refresh()` for component to re-render
2196
+ * return h('div')
2197
+ * }
2198
+ * revogrid.registerVNode = [
2199
+ * ...existingNodes,
2200
+ * paginationPanel.bind(this)
2201
+ * ];
2202
+ * /**
2203
+ */
2204
+ interface RevogrExtra {
2205
+ /**
2206
+ * Nodes to render
2207
+ * @default []
2208
+ */
2209
+ "nodes"?: (
2210
+ | VNode
2211
+ | ((c: ExtraNodeFuncConfig) => VNode)
2212
+ )[];
2213
+ }
2214
+ interface RevogrFilterPanel {
2215
+ /**
2216
+ * If true, closes the filter panel when clicking outside
2217
+ * @default true
2218
+ */
2219
+ "closeOnOutsideClick"?: boolean;
2220
+ /**
2221
+ * Disables dynamic filtering. A way to apply filters on Save only
2222
+ * @default false
2223
+ */
2224
+ "disableDynamicFiltering"?: boolean;
2225
+ "filterCaptions"?: Partial<FilterCaptions> | undefined;
2226
+ /**
2227
+ * @default {}
2228
+ */
2229
+ "filterEntities"?: Record<string, LogicFunction>;
2230
+ /**
2231
+ * @default {}
2232
+ */
2233
+ "filterNames"?: Record<string, string>;
2234
+ "onFilterChange"?: (event: RevogrFilterPanelCustomEvent<MultiFilterItem>) => void;
2235
+ "onResetChange"?: (event: RevogrFilterPanelCustomEvent<ColumnProp>) => void;
2236
+ }
2237
+ /**
2238
+ * Focus component. Shows focus layer around the cell that is currently in focus.
2239
+ * @example focus-rgCol-rgRow
2240
+ */
2241
+ interface RevogrFocus {
2242
+ /**
2243
+ * Auto scroll to focused cell. When true, the grid will automatically scroll to make the focused cell visible.
2244
+ * @default false
2245
+ */
2246
+ "autoScrollToFocus"?: boolean;
2247
+ /**
2248
+ * Column source
2249
+ */
2250
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
2251
+ /**
2252
+ * Column type
2253
+ */
2254
+ "colType": DimensionCols;
2255
+ /**
2256
+ * Data rows source
2257
+ */
2258
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
2259
+ /**
2260
+ * Dimension settings X
2261
+ */
2262
+ "dimensionCol": Observable<DimensionSettingsState>;
2263
+ /**
2264
+ * Dimension settings Y
2265
+ */
2266
+ "dimensionRow": Observable<DimensionSettingsState>;
2267
+ /**
2268
+ * Focus template custom function. Can be used to render custom focus layer.
2269
+ * @default null
2270
+ */
2271
+ "focusTemplate"?: FocusTemplateFunc | null;
2272
+ /**
2273
+ * Used to setup properties after focus was rendered
2274
+ */
2275
+ "onAfterfocus"?: (event: RevogrFocusCustomEvent<FocusAfterRenderEvent>) => void;
2276
+ /**
2277
+ * Before focus render event. Can be prevented by event.preventDefault(). If preventDefault used slot will be rendered.
2278
+ */
2279
+ "onBeforefocusrender"?: (event: RevogrFocusCustomEvent<FocusRenderEvent>) => void;
2280
+ /**
2281
+ * Before focus changed verify if it's in view and scroll viewport into this view Can be prevented by event.preventDefault()
2282
+ */
2283
+ "onBeforescrollintoview"?: (event: RevogrFocusCustomEvent<{ el: HTMLElement }>) => void;
2284
+ /**
2285
+ * Row type
2286
+ */
2287
+ "rowType": DimensionRows;
2288
+ /**
2289
+ * Selection, range, focus for selection
2290
+ */
2291
+ "selectionStore": Observable<SelectionStoreState>;
2292
+ }
2293
+ interface RevogrGroupingOverlay {
2294
+ "additionalData"?: any;
2295
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
2296
+ /**
2297
+ * @default 'rgCol'
2298
+ */
2299
+ "colType"?: DimensionCols;
2300
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
2301
+ "dimensionRow": Observable<DimensionSettingsState>;
2302
+ /**
2303
+ * 获取分组选中信息的函数
2304
+ */
2305
+ "getGroupSelection"?: GetGroupSelectionFunc;
2306
+ /**
2307
+ * Padding depth for grouping rows (in pixels per depth level)
2308
+ */
2309
+ "paddingDepth"?: number;
2310
+ "rowClass"?: string;
2311
+ /**
2312
+ * @default 'rgRow'
2313
+ */
2314
+ "type"?: DimensionRows;
2315
+ "viewportCol": Observable<ViewportState>;
2316
+ "viewportRow": Observable<ViewportState>;
2317
+ }
2318
+ interface RevogrHeader {
2319
+ /**
2320
+ * Extra properties to pass into header renderer, such as vue or react components to handle parent
2321
+ * @default {}
2322
+ */
2323
+ "additionalData"?: any;
2324
+ /**
2325
+ * If columns can be resized
2326
+ */
2327
+ "canResize"?: boolean;
2328
+ /**
2329
+ * Columns - defines an array of grid columns.
2330
+ */
2331
+ "colData"?: ColumnRegular[];
2332
+ /**
2333
+ * Column filter
2334
+ */
2335
+ "columnFilter"?: boolean;
2336
+ /**
2337
+ * Dimension settings X
2338
+ */
2339
+ "dimensionCol"?: Observable<DimensionSettingsState>;
2340
+ /**
2341
+ * Dimension state (alternative to Observable) When provided, this will be used instead of reading from dimensionCol Observable This allows parent component to control rendering timing
2342
+ */
2343
+ "dimensionState"?: DimensionSettingsState;
2344
+ /**
2345
+ * Grouping depth, how many levels of grouping
2346
+ * @default 0
2347
+ */
2348
+ "groupingDepth"?: number;
2349
+ /**
2350
+ * Column groups
2351
+ */
2352
+ "groups"?: Groups;
2353
+ /**
2354
+ * Whether there are colPinEnd columns in the grid Used to determine which column should get the last-column class
2355
+ */
2356
+ "hasColPinEnd"?: boolean;
2357
+ /**
2358
+ * Whether there are rgCol columns in the grid Used to determine which column should get the last-column class
2359
+ */
2360
+ "hasRgCol"?: boolean;
2361
+ /**
2362
+ * After all header cells rendered. Finalizes cell rendering.
2363
+ */
2364
+ "onAfterheaderrender"?: (event: RevogrHeaderCustomEvent<ProvidersColumns>) => void;
2365
+ /**
2366
+ * Before each group header cell render function. Allows to override group header cell properties
2367
+ */
2368
+ "onBeforegroupheaderrender"?: (event: RevogrHeaderCustomEvent<HeaderGroupRendererProps>) => void;
2369
+ /**
2370
+ * On initial header click
2371
+ */
2372
+ "onBeforeheaderclick"?: (event: RevogrHeaderCustomEvent<InitialHeaderClick>) => void;
2373
+ /**
2374
+ * Before each header cell render function. Allows to override cell properties
2375
+ */
2376
+ "onBeforeheaderrender"?: (event: RevogrHeaderCustomEvent<HeaderRenderProps>) => void;
2377
+ /**
2378
+ * On before header resize
2379
+ */
2380
+ "onBeforeheaderresize"?: (event: RevogrHeaderCustomEvent<ColumnRegular[]>) => void;
2381
+ /**
2382
+ * On header double click
2383
+ */
2384
+ "onHeaderdblclick"?: (event: RevogrHeaderCustomEvent<InitialHeaderClick>) => void;
2385
+ /**
2386
+ * On header resize
2387
+ */
2388
+ "onHeaderresize"?: (event: RevogrHeaderCustomEvent<ViewSettingSizeProp>) => void;
2389
+ /**
2390
+ * Readonly mode
2391
+ */
2392
+ "readonly"?: boolean;
2393
+ /**
2394
+ * Defines resize position
2395
+ */
2396
+ "resizeHandler"?: ResizeProps['active'];
2397
+ /**
2398
+ * Selection range (alternative to Observable) When provided, this will be used instead of reading from selectionStore Observable
2399
+ */
2400
+ "selectionRange"?: RangeArea | null;
2401
+ /**
2402
+ * Selection, range, focus
2403
+ */
2404
+ "selectionStore"?: Observable<SelectionStoreState>;
2405
+ /**
2406
+ * Column type
2407
+ */
2408
+ "type": DimensionCols | 'rowHeaders';
2409
+ /**
2410
+ * Viewport X
2411
+ */
2412
+ "viewportCol"?: Observable<ViewportState>;
2413
+ /**
2414
+ * Viewport items (alternative to Observable) When provided, this will be used instead of reading from viewportCol Observable This allows parent component to control rendering timing
2415
+ */
2416
+ "viewportItems"?: VirtualPositionItem[];
2417
+ }
2418
+ /**
2419
+ * 统一的表头组件
2420
+ * 渲染所有三个区域(colPinStart, rgCol, colPinEnd)的表头
2421
+ * 这样可以确保所有区域在同一个渲染周期内更新,避免异步渲染问题
2422
+ */
2423
+ interface RevogrHeaderUnified {
2424
+ /**
2425
+ * 所有区域的数据
2426
+ */
2427
+ "areas": HeaderAreaData[];
2428
+ /**
2429
+ * After all header cells rendered
2430
+ */
2431
+ "onAfterheaderrender"?: (event: RevogrHeaderUnifiedCustomEvent<ProvidersColumns>) => void;
2432
+ /**
2433
+ * Before each group header cell render function
2434
+ */
2435
+ "onBeforegroupheaderrender"?: (event: RevogrHeaderUnifiedCustomEvent<HeaderGroupRendererProps>) => void;
2436
+ /**
2437
+ * On initial header click
2438
+ */
2439
+ "onBeforeheaderclick"?: (event: RevogrHeaderUnifiedCustomEvent<InitialHeaderClick>) => void;
2440
+ /**
2441
+ * Before each header cell render function
2442
+ */
2443
+ "onBeforeheaderrender"?: (event: RevogrHeaderUnifiedCustomEvent<HeaderRenderProps>) => void;
2444
+ /**
2445
+ * On before header resize
2446
+ */
2447
+ "onBeforeheaderresize"?: (event: RevogrHeaderUnifiedCustomEvent<ColumnRegular[]>) => void;
2448
+ /**
2449
+ * On header double click
2450
+ */
2451
+ "onHeaderdblclick"?: (event: RevogrHeaderUnifiedCustomEvent<InitialHeaderClick>) => void;
2452
+ /**
2453
+ * On header resize
2454
+ */
2455
+ "onHeaderresize"?: (event: RevogrHeaderUnifiedCustomEvent<ViewSettingSizeProp>) => void;
2456
+ }
2457
+ /**
2458
+ * Component for handling row order editor.
2459
+ */
2460
+ interface RevogrOrderEditor {
2461
+ /**
2462
+ * Static stores, not expected to change during component lifetime
2463
+ */
2464
+ "dataStore"?: Observable<DSourceState<DataType, DimensionRows>>;
2465
+ /**
2466
+ * Dimension settings X
2467
+ */
2468
+ "dimensionCol"?: Observable<DimensionSettingsState>;
2469
+ /**
2470
+ * Dimension settings Y
2471
+ */
2472
+ "dimensionRow"?: Observable<DimensionSettingsState>;
2473
+ /**
2474
+ * Row drag ended started
2475
+ */
2476
+ "onRowdragendinit"?: (event: RevogrOrderEditorCustomEvent<{ rowType: DimensionRows }>) => void;
2477
+ /**
2478
+ * Row mouse move started
2479
+ */
2480
+ "onRowdragmousemove"?: (event: RevogrOrderEditorCustomEvent<Cell & { rowType: DimensionRows }>) => void;
2481
+ /**
2482
+ * Row move started
2483
+ */
2484
+ "onRowdragmoveinit"?: (event: RevogrOrderEditorCustomEvent<PositionItem & { rowType: DimensionRows }>) => void;
2485
+ /**
2486
+ * Row drag started
2487
+ */
2488
+ "onRowdragstartinit"?: (event: RevogrOrderEditorCustomEvent<RowDragStartDetails>) => void;
2489
+ /**
2490
+ * Row dragged, new range ready to be applied
2491
+ */
2492
+ "onRowdropinit"?: (event: RevogrOrderEditorCustomEvent<{
2493
+ from: number;
2494
+ to: number;
2495
+ rowType: DimensionRows;
2496
+ }>) => void;
2497
+ /**
2498
+ * Row drag ended finished. Time to apply data
2499
+ */
2500
+ "onRoworderchange"?: (event: RevogrOrderEditorCustomEvent<{
2501
+ from: number;
2502
+ to: number;
2503
+ rowType: DimensionRows;
2504
+ }>) => void;
2505
+ /**
2506
+ * Parent element
2507
+ */
2508
+ "parent"?: HTMLElement;
2509
+ "rowType"?: DimensionRows;
2510
+ }
2511
+ /**
2512
+ * Component for overlaying the grid with the selection.
2513
+ */
2514
+ interface RevogrOverlaySelection {
2515
+ /**
2516
+ * Additional data to pass to renderer.
2517
+ */
2518
+ "additionalData"?: any;
2519
+ /**
2520
+ * If true applys changes when cell closes if not Escape.
2521
+ * @default false
2522
+ */
2523
+ "applyChangesOnClose"?: boolean;
2524
+ /**
2525
+ * Enable revogr-order-editor component (read more in revogr-order-editor component). Allows D&D.
2526
+ */
2527
+ "canDrag"?: boolean;
2528
+ /**
2529
+ * Column data store.
2530
+ */
2531
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
2532
+ /**
2533
+ * Row data store.
2534
+ */
2535
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
2536
+ /**
2537
+ * Dimension settings X.
2538
+ */
2539
+ "dimensionCol": Observable<DimensionSettingsState>;
2540
+ /**
2541
+ * Dimension settings Y.
2542
+ */
2543
+ "dimensionRow"?: Observable<DimensionSettingsState>;
2544
+ /**
2545
+ * Custom editors register.
2546
+ */
2547
+ "editors"?: Editors;
2548
+ /**
2549
+ * Is mobile view mode.
2550
+ */
2551
+ "isMobileDevice"?: boolean;
2552
+ /**
2553
+ * Last real coordinates positions + 1.
2554
+ */
2555
+ "lastCell"?: Cell;
2556
+ /**
2557
+ * Before cell get focused. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
2558
+ */
2559
+ "onApplyfocus"?: (event: RevogrOverlaySelectionCustomEvent<FocusRenderEvent>) => void;
2560
+ /**
2561
+ * Before range applied. First step in triggerRangeEvent.
2562
+ */
2563
+ "onBeforeapplyrange"?: (event: RevogrOverlaySelectionCustomEvent<FocusRenderEvent>) => void;
2564
+ /**
2565
+ * Before cell focus.
2566
+ */
2567
+ "onBeforecellfocusinit"?: (event: RevogrOverlaySelectionCustomEvent<BeforeSaveDataDetails>) => void;
2568
+ /**
2569
+ * Runs before cell save. Can be used to override or cancel original save.
2570
+ */
2571
+ "onBeforecellsave"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2572
+ /**
2573
+ * Before clipboard copy happened. Validate data before copy. To prevent the default behavior of editing data and use your own implementation, call `e.preventDefault()`.
2574
+ */
2575
+ "onBeforecopyregion"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2576
+ /**
2577
+ * Before editor render.
2578
+ */
2579
+ "onBeforeeditrender"?: (event: RevogrOverlaySelectionCustomEvent<FocusRenderEvent>) => void;
2580
+ /**
2581
+ * Before key up event proxy, used to prevent key up trigger. If you have some custom behaviour event, use this event to check if it wasn't processed by internal logic. Call preventDefault().
2582
+ */
2583
+ "onBeforekeydown"?: (event: RevogrOverlaySelectionCustomEvent<{ original: KeyboardEvent } & EventData>) => void;
2584
+ /**
2585
+ * Before key down event proxy, used to prevent key down trigger. If you have some custom behaviour event, use this event to check if it wasn't processed by internal logic. Call preventDefault().
2586
+ */
2587
+ "onBeforekeyup"?: (event: RevogrOverlaySelectionCustomEvent<{ original: KeyboardEvent } & EventData>) => void;
2588
+ /**
2589
+ * Fired when change of viewport happens. Usually when we switch between pinned regions.
2590
+ */
2591
+ "onBeforenextvpfocus"?: (event: RevogrOverlaySelectionCustomEvent<Cell>) => void;
2592
+ /**
2593
+ * Before region paste happened.
2594
+ */
2595
+ "onBeforepasteregion"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2596
+ /**
2597
+ * Before range copy.
2598
+ */
2599
+ "onBeforerangecopyapply"?: (event: RevogrOverlaySelectionCustomEvent<ChangedRange>) => void;
2600
+ /**
2601
+ * Range data apply.
2602
+ */
2603
+ "onBeforerangedataapply"?: (event: RevogrOverlaySelectionCustomEvent<FocusRenderEvent>) => void;
2604
+ /**
2605
+ * Before range selection applied. Second step in triggerRangeEvent.
2606
+ */
2607
+ "onBeforesetrange"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2608
+ /**
2609
+ * Before set temp range area during autofill.
2610
+ */
2611
+ "onBeforesettemprange"?: (event: RevogrOverlaySelectionCustomEvent<{ tempRange: Nullable<TempRange> | null } & EventData & AllDimensionType>) => void;
2612
+ /**
2613
+ * Cancel edit. Used for editors support when editor close requested.
2614
+ */
2615
+ "onCanceledit"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2616
+ /**
2617
+ * Cell click event. Triggered when user clicks on a cell.
2618
+ */
2619
+ "onCellclickinit"?: (event: RevogrOverlaySelectionCustomEvent<BeforeSaveDataDetails & { originalEvent?: MouseEvent | TouchEvent }>) => void;
2620
+ /**
2621
+ * Runs when edit finished save started, first in chain event
2622
+ */
2623
+ "onCelledit"?: (event: RevogrOverlaySelectionCustomEvent<SaveDataDetails>) => void;
2624
+ /**
2625
+ * Cell edit apply to the data source. Triggers datasource edit on the root level.
2626
+ */
2627
+ "onCelleditapply"?: (event: RevogrOverlaySelectionCustomEvent<BeforeSaveDataDetails>) => void;
2628
+ /**
2629
+ * Range copy.
2630
+ */
2631
+ "onClipboardrangecopy"?: (event: RevogrOverlaySelectionCustomEvent<RangeClipboardCopyEventProps>) => void;
2632
+ /**
2633
+ * Range paste event.
2634
+ */
2635
+ "onClipboardrangepaste"?: (event: RevogrOverlaySelectionCustomEvent<RangeClipboardPasteEvent>) => void;
2636
+ /**
2637
+ * Cell get focused. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
2638
+ */
2639
+ "onFocuscell"?: (event: RevogrOverlaySelectionCustomEvent<ApplyFocusEvent & FocusRenderEvent>) => void;
2640
+ /**
2641
+ * Range data apply. Triggers datasource edit on the root level.
2642
+ */
2643
+ "onRangeeditapply"?: (event: RevogrOverlaySelectionCustomEvent<BeforeRangeSaveDataDetails>) => void;
2644
+ /**
2645
+ * Select all cells from keyboard.
2646
+ */
2647
+ "onSelectall"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2648
+ /**
2649
+ * Autofill data in range. First step in applyRangeWithData
2650
+ */
2651
+ "onSelectionchangeinit"?: (event: RevogrOverlaySelectionCustomEvent<ChangedRange>) => void;
2652
+ /**
2653
+ * Set edit cell.
2654
+ */
2655
+ "onSetedit"?: (event: RevogrOverlaySelectionCustomEvent<BeforeEdit>) => void;
2656
+ /**
2657
+ * Set range. Third step in triggerRangeEvent.
2658
+ */
2659
+ "onSetrange"?: (event: RevogrOverlaySelectionCustomEvent<RangeArea & { type: MultiDimensionType }>) => void;
2660
+ /**
2661
+ * Set temp range area during autofill.
2662
+ */
2663
+ "onSettemprange"?: (event: RevogrOverlaySelectionCustomEvent<Nullable<TempRange> | null>) => void;
2664
+ /**
2665
+ * Range selection allowed.
2666
+ */
2667
+ "range"?: boolean;
2668
+ /**
2669
+ * Readonly mode.
2670
+ */
2671
+ "readonly"?: boolean;
2672
+ /**
2673
+ * Selection, range, focus.
2674
+ */
2675
+ "selectionStore": Observable<SelectionStoreState>;
2676
+ /**
2677
+ * Enable revogr-clipboard component (read more in revogr-clipboard component). Allows copy/paste.
2678
+ */
2679
+ "useClipboard"?: boolean;
2680
+ }
2681
+ /**
2682
+ * Row headers component
2683
+ * Visible on the left side of the table
2684
+ */
2685
+ interface RevogrRowHeaders {
2686
+ /**
2687
+ * Additional data to pass to renderer
2688
+ */
2689
+ "additionalData"?: any;
2690
+ /**
2691
+ * Viewport data
2692
+ */
2693
+ "dataPorts"?: ViewportData[];
2694
+ /**
2695
+ * Header props
2696
+ */
2697
+ "headerProp"?: Record<string, any>;
2698
+ /**
2699
+ * Header height to setup row headers
2700
+ */
2701
+ "height"?: number;
2702
+ /**
2703
+ * Prevent rendering until job is done. Can be used for initial rendering performance improvement. When several plugins require initial rendering this will prevent double initial rendering.
2704
+ * @default []
2705
+ */
2706
+ "jobsBeforeRender"?: Promise<any>[];
2707
+ /**
2708
+ * Register element to scroll
2709
+ */
2710
+ "onRef"?: (event: RevogrRowHeadersCustomEvent<ElementScroll>) => void;
2711
+ /**
2712
+ * Scroll viewport
2713
+ */
2714
+ "onScrollview"?: (event: RevogrRowHeadersCustomEvent<ViewPortScrollEvent>) => void;
2715
+ /**
2716
+ * Enable resize
2717
+ */
2718
+ "resize"?: boolean;
2719
+ /**
2720
+ * Row class
2721
+ */
2722
+ "rowClass"?: string;
2723
+ /**
2724
+ * Row header column
2725
+ */
2726
+ "rowHeaderColumn"?: RowHeaders;
2727
+ }
2728
+ /**
2729
+ * Virtual scroll component
2730
+ */
2731
+ interface RevogrScrollVirtual {
2732
+ /**
2733
+ * Client size
2734
+ */
2735
+ "clientSize": number;
2736
+ /**
2737
+ * Scroll dimension (`X` - `rgCol` or `Y` - `rgRow`)
2738
+ * @default 'rgRow'
2739
+ */
2740
+ "dimension"?: DimensionType;
2741
+ /**
2742
+ * Scroll event
2743
+ */
2744
+ "onScrollvirtual"?: (event: RevogrScrollVirtualCustomEvent<ViewPortScrollEvent>) => void;
2745
+ /**
2746
+ * Dimensions
2747
+ */
2748
+ "realSize": number;
2749
+ /**
2750
+ * Virtual size
2751
+ */
2752
+ "virtualSize": number;
2753
+ }
2754
+ /**
2755
+ * Temporary range selection component. Shows temporary range selection.
2756
+ */
2757
+ interface RevogrTempRange {
2758
+ /**
2759
+ * Dimension column store
2760
+ */
2761
+ "dimensionCol"?: Observable<DimensionSettingsState>;
2762
+ /**
2763
+ * Dimension row store
2764
+ */
2765
+ "dimensionRow"?: Observable<DimensionSettingsState>;
2766
+ /**
2767
+ * Selection store, shows current selection and focus
2768
+ */
2769
+ "selectionStore"?: Observable<SelectionStoreState>;
2770
+ }
2771
+ /**
2772
+ * Viewport scroll component for RevoGrid
2773
+ */
2774
+ interface RevogrViewportScroll {
2775
+ "colType": DimensionCols | 'rowHeaders';
2776
+ /**
2777
+ * Height of inner content
2778
+ * @default 0
2779
+ */
2780
+ "contentHeight"?: number;
2781
+ /**
2782
+ * Width of inner content
2783
+ * @default 0
2784
+ */
2785
+ "contentWidth"?: number;
2786
+ /**
2787
+ * Viewport resize
2788
+ */
2789
+ "onResizeviewport"?: (event: RevogrViewportScrollCustomEvent<ViewPortResizeEvent>) => void;
2790
+ /**
2791
+ * Triggered on scroll change, can be used to get information about scroll visibility
2792
+ */
2793
+ "onScrollchange"?: (event: RevogrViewportScrollCustomEvent<{
2794
+ type: DimensionType;
2795
+ hasScroll: boolean;
2796
+ }>) => void;
2797
+ /**
2798
+ * Before scroll event
2799
+ */
2800
+ "onScrollviewport"?: (event: RevogrViewportScrollCustomEvent<ViewPortScrollEvent>) => void;
2801
+ /**
2802
+ * Silently scroll to coordinate Made to align negative coordinates for mobile devices
2803
+ */
2804
+ "onScrollviewportsilent"?: (event: RevogrViewportScrollCustomEvent<ViewPortScrollEvent>) => void;
2805
+ /**
2806
+ * Enable row header
2807
+ */
2808
+ "rowHeader"?: boolean;
2809
+ }
2810
+ interface VnodeHtml {
2811
+ "onHtml"?: (event: VnodeHtmlCustomEvent<{ html: string; vnodes: (VNode[]) | null }>) => void;
2812
+ /**
2813
+ * @default null
2814
+ */
2815
+ "redraw"?: (() => VNode[]) | null | undefined;
2816
+ }
2817
+ interface IntrinsicElements {
2818
+ "revo-grid": RevoGrid;
2819
+ "revogr-attribution": RevogrAttribution;
2820
+ "revogr-clipboard": RevogrClipboard;
2821
+ "revogr-data": RevogrData;
2822
+ "revogr-edit": RevogrEdit;
2823
+ "revogr-extra": RevogrExtra;
2824
+ "revogr-filter-panel": RevogrFilterPanel;
2825
+ "revogr-focus": RevogrFocus;
2826
+ "revogr-grouping-overlay": RevogrGroupingOverlay;
2827
+ "revogr-header": RevogrHeader;
2828
+ "revogr-header-unified": RevogrHeaderUnified;
2829
+ "revogr-order-editor": RevogrOrderEditor;
2830
+ "revogr-overlay-selection": RevogrOverlaySelection;
2831
+ "revogr-row-headers": RevogrRowHeaders;
2832
+ "revogr-scroll-virtual": RevogrScrollVirtual;
2833
+ "revogr-temp-range": RevogrTempRange;
2834
+ "revogr-viewport-scroll": RevogrViewportScroll;
2835
+ "vnode-html": VnodeHtml;
2836
+ }
2837
+ }
2838
+ export { LocalJSX as JSX };
2839
+ declare module "@stencil/core" {
2840
+ export namespace JSX {
2841
+ interface IntrinsicElements {
2842
+ /**
2843
+ * Revogrid - High-performance, customizable grid library for managing large datasets.
2844
+ * ### Events guide
2845
+ * For a comprehensive events guide, check the [Events API Page](/guide/api/events).
2846
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
2847
+ * ### Type definitions
2848
+ * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
2849
+ * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
2850
+ * ### HTMLRevoGridElement
2851
+ * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
2852
+ * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
2853
+ */
2854
+ "revo-grid": LocalJSX.RevoGrid & JSXBase.HTMLAttributes<HTMLRevoGridElement>;
2855
+ "revogr-attribution": LocalJSX.RevogrAttribution & JSXBase.HTMLAttributes<HTMLRevogrAttributionElement>;
2856
+ /**
2857
+ * This Clipboard provides functionality for handling clipboard events in a web application.
2858
+ */
2859
+ "revogr-clipboard": LocalJSX.RevogrClipboard & JSXBase.HTMLAttributes<HTMLRevogrClipboardElement>;
2860
+ /**
2861
+ * This component is responsible for rendering data
2862
+ * Rows, columns, groups and cells
2863
+ */
2864
+ "revogr-data": LocalJSX.RevogrData & JSXBase.HTMLAttributes<HTMLRevogrDataElement>;
2865
+ /**
2866
+ * Represents a cell editor in a grid.
2867
+ * It manages the editing of cells by handling events, saving data, rendering the editor UI,
2868
+ * and managing the lifecycle of the editor instance.
2869
+ */
2870
+ "revogr-edit": LocalJSX.RevogrEdit & JSXBase.HTMLAttributes<HTMLRevogrEditElement>;
2871
+ /**
2872
+ * Contains extra elements for stencil components.
2873
+ * Performs rendering and updates for external components.
2874
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
2875
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
2876
+ * // use `config.refresh()` for component to re-render
2877
+ * return h('div')
2878
+ * }
2879
+ * revogrid.registerVNode = [
2880
+ * ...existingNodes,
2881
+ * paginationPanel.bind(this)
2882
+ * ];
2883
+ * /**
2884
+ */
2885
+ "revogr-extra": LocalJSX.RevogrExtra & JSXBase.HTMLAttributes<HTMLRevogrExtraElement>;
2886
+ "revogr-filter-panel": LocalJSX.RevogrFilterPanel & JSXBase.HTMLAttributes<HTMLRevogrFilterPanelElement>;
2887
+ /**
2888
+ * Focus component. Shows focus layer around the cell that is currently in focus.
2889
+ * @example focus-rgCol-rgRow
2890
+ */
2891
+ "revogr-focus": LocalJSX.RevogrFocus & JSXBase.HTMLAttributes<HTMLRevogrFocusElement>;
2892
+ "revogr-grouping-overlay": LocalJSX.RevogrGroupingOverlay & JSXBase.HTMLAttributes<HTMLRevogrGroupingOverlayElement>;
2893
+ "revogr-header": LocalJSX.RevogrHeader & JSXBase.HTMLAttributes<HTMLRevogrHeaderElement>;
2894
+ /**
2895
+ * 统一的表头组件
2896
+ * 渲染所有三个区域(colPinStart, rgCol, colPinEnd)的表头
2897
+ * 这样可以确保所有区域在同一个渲染周期内更新,避免异步渲染问题
2898
+ */
2899
+ "revogr-header-unified": LocalJSX.RevogrHeaderUnified & JSXBase.HTMLAttributes<HTMLRevogrHeaderUnifiedElement>;
2900
+ /**
2901
+ * Component for handling row order editor.
2902
+ */
2903
+ "revogr-order-editor": LocalJSX.RevogrOrderEditor & JSXBase.HTMLAttributes<HTMLRevogrOrderEditorElement>;
2904
+ /**
2905
+ * Component for overlaying the grid with the selection.
2906
+ */
2907
+ "revogr-overlay-selection": LocalJSX.RevogrOverlaySelection & JSXBase.HTMLAttributes<HTMLRevogrOverlaySelectionElement>;
2908
+ /**
2909
+ * Row headers component
2910
+ * Visible on the left side of the table
2911
+ */
2912
+ "revogr-row-headers": LocalJSX.RevogrRowHeaders & JSXBase.HTMLAttributes<HTMLRevogrRowHeadersElement>;
2913
+ /**
2914
+ * Virtual scroll component
2915
+ */
2916
+ "revogr-scroll-virtual": LocalJSX.RevogrScrollVirtual & JSXBase.HTMLAttributes<HTMLRevogrScrollVirtualElement>;
2917
+ /**
2918
+ * Temporary range selection component. Shows temporary range selection.
2919
+ */
2920
+ "revogr-temp-range": LocalJSX.RevogrTempRange & JSXBase.HTMLAttributes<HTMLRevogrTempRangeElement>;
2921
+ /**
2922
+ * Viewport scroll component for RevoGrid
2923
+ */
2924
+ "revogr-viewport-scroll": LocalJSX.RevogrViewportScroll & JSXBase.HTMLAttributes<HTMLRevogrViewportScrollElement>;
2925
+ "vnode-html": LocalJSX.VnodeHtml & JSXBase.HTMLAttributes<HTMLVnodeHtmlElement>;
2926
+ }
2927
+ }
2928
+ }