@revolist/revogrid 4.9.41 → 4.9.42

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 (403) hide show
  1. package/dist/cjs/app-globals-c0b20747.js.map +1 -1
  2. package/dist/cjs/{column.drag.plugin-fcd892ec.js → column.drag.plugin-a6ef25bf.js} +1034 -149
  3. package/dist/cjs/column.drag.plugin-a6ef25bf.js.map +1 -0
  4. package/dist/cjs/column.service-831e1c92.js +1321 -0
  5. package/dist/cjs/column.service-831e1c92.js.map +1 -0
  6. package/dist/cjs/{column.service-26c61ed6.js → dimension.helpers-1927ad24.js} +490 -1273
  7. package/dist/cjs/dimension.helpers-1927ad24.js.map +1 -0
  8. package/dist/cjs/{edit.utils-179c0800.js → edit.utils-e51411f6.js} +3 -3
  9. package/dist/cjs/{edit.utils-179c0800.js.map → edit.utils-e51411f6.js.map} +1 -1
  10. package/dist/cjs/{header-cell-renderer-d879d95e.js → header-cell-renderer-53ecdcdb.js} +2 -2
  11. package/dist/cjs/{header-cell-renderer-d879d95e.js.map → header-cell-renderer-53ecdcdb.js.map} +1 -1
  12. package/dist/cjs/index.cjs.js +127 -69
  13. package/dist/cjs/index.cjs.js.map +1 -1
  14. package/dist/cjs/key.utils-96d0bc42.js +101 -0
  15. package/dist/cjs/key.utils-96d0bc42.js.map +1 -0
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/revo-grid.cjs.entry.js +310 -941
  18. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  19. package/dist/cjs/revo-grid.cjs.js +1 -1
  20. package/dist/cjs/revogr-attribution_7.cjs.entry.js +100 -70
  21. package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
  22. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +11 -10
  23. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/revogr-data_4.cjs.entry.js +88 -78
  25. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  26. package/dist/cjs/revogr-filter-panel.cjs.entry.js +33 -13
  27. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  28. package/dist/cjs/{text-editor-b756d6b3.js → text-editor-1afffaf1.js} +6 -6
  29. package/dist/cjs/text-editor-1afffaf1.js.map +1 -0
  30. package/dist/cjs/{throttle-a57f51f9.js → throttle-bb713c73.js} +4 -4
  31. package/dist/cjs/{throttle-a57f51f9.js.map → throttle-bb713c73.js.map} +1 -1
  32. package/dist/cjs/{row-header-utils-c37f76e4.js → viewport.store-69b45f22.js} +15 -14
  33. package/dist/cjs/viewport.store-69b45f22.js.map +1 -0
  34. package/dist/collection/components/attribution/revogr-attribution.js +1 -1
  35. package/dist/collection/components/attribution/revogr-attribution.js.map +1 -1
  36. package/dist/collection/components/data/cell-renderer.js +11 -9
  37. package/dist/collection/components/data/cell-renderer.js.map +1 -1
  38. package/dist/collection/components/data/column.service.js +7 -19
  39. package/dist/collection/components/data/column.service.js.map +1 -1
  40. package/dist/collection/components/data/revogr-data-style.css +10 -5
  41. package/dist/collection/components/data/revogr-data.js +50 -28
  42. package/dist/collection/components/data/revogr-data.js.map +1 -1
  43. package/dist/collection/components/data/row-highlight.plugin.js.map +1 -1
  44. package/dist/collection/components/data/row-renderer.js.map +1 -1
  45. package/dist/collection/components/editors/revogr-edit-style.css +8 -5
  46. package/dist/collection/components/editors/revogr-edit.js +2 -2
  47. package/dist/collection/components/editors/revogr-edit.js.map +1 -1
  48. package/dist/collection/components/editors/text-editor.js +2 -2
  49. package/dist/collection/components/editors/text-editor.js.map +1 -1
  50. package/dist/collection/components/extra/revogr-extra.js +44 -6
  51. package/dist/collection/components/extra/revogr-extra.js.map +1 -1
  52. package/dist/collection/components/header/header-cell-renderer.js.map +1 -1
  53. package/dist/collection/components/header/header-renderer.js.map +1 -1
  54. package/dist/collection/components/header/resizable.element.js.map +1 -1
  55. package/dist/collection/components/header/revogr-header-style.css +8 -5
  56. package/dist/collection/components/header/revogr-header.js +9 -9
  57. package/dist/collection/components/header/revogr-header.js.map +1 -1
  58. package/dist/collection/components/order/order-renderer.js.map +1 -1
  59. package/dist/collection/components/order/revogr-order-editor.js +12 -24
  60. package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
  61. package/dist/collection/components/overlay/autofill.service.js +7 -5
  62. package/dist/collection/components/overlay/autofill.service.js.map +1 -1
  63. package/dist/collection/components/overlay/keyboard.service.js +1 -4
  64. package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
  65. package/dist/collection/components/overlay/revogr-overlay-selection.js +88 -72
  66. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  67. package/dist/collection/components/overlay/revogr-overlay-style.css +8 -5
  68. package/dist/collection/components/overlay/selection.utils.js.map +1 -1
  69. package/dist/collection/components/revoGrid/plugin.service.js +81 -0
  70. package/dist/collection/components/revoGrid/plugin.service.js.map +1 -0
  71. package/dist/collection/components/revoGrid/revo-grid-style.css +18 -11
  72. package/dist/collection/components/revoGrid/revo-grid.js +289 -140
  73. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  74. package/dist/collection/components/revoGrid/viewport.service.js +9 -9
  75. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
  76. package/dist/collection/components/rowHeaders/revogr-row-headers.js +1 -1
  77. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  78. package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -1
  79. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +8 -5
  80. package/dist/collection/components/scroll/revogr-viewport-scroll.js +26 -20
  81. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
  82. package/dist/collection/components/scrollable/revogr-scroll-style.css +10 -7
  83. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +10 -8
  84. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
  85. package/dist/collection/components/selectionFocus/revogr-focus-style.css +8 -5
  86. package/dist/collection/components/selectionFocus/revogr-focus.js +10 -10
  87. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  88. package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +8 -5
  89. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +6 -6
  90. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
  91. package/dist/collection/components/vnode/vnode-converter.js +1 -1
  92. package/dist/collection/components/vnode/vnode-converter.js.map +1 -1
  93. package/dist/collection/components/vnode/vnode.utils.js.map +1 -1
  94. package/dist/collection/index.js.map +1 -1
  95. package/dist/collection/plugins/add-rows-on-paste.plugin.js +40 -0
  96. package/dist/collection/plugins/add-rows-on-paste.plugin.js.map +1 -0
  97. package/dist/collection/plugins/base.plugin.js.map +1 -1
  98. package/dist/collection/plugins/column.auto-size.plugin.js +1 -1
  99. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
  100. package/dist/collection/plugins/column.stretch.plugin.js +1 -1
  101. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -1
  102. package/dist/collection/plugins/export/csv.js +1 -1
  103. package/dist/collection/plugins/export/csv.js.map +1 -1
  104. package/dist/collection/plugins/export/export.plugin.js +4 -2
  105. package/dist/collection/plugins/export/export.plugin.js.map +1 -1
  106. package/dist/collection/plugins/filter/filter.indexed.js +1 -0
  107. package/dist/collection/plugins/filter/filter.indexed.js.map +1 -1
  108. package/dist/collection/plugins/filter/filter.panel.js +35 -35
  109. package/dist/collection/plugins/filter/filter.panel.js.map +1 -1
  110. package/dist/collection/plugins/filter/filter.plugin.js +117 -77
  111. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
  112. package/dist/collection/plugins/filter/filter.style.css +19 -5
  113. package/dist/collection/plugins/filter/filter.types.js.map +1 -1
  114. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
  115. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
  116. package/dist/collection/plugins/groupingRow/grouping.const.js +1 -0
  117. package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -1
  118. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +64 -79
  119. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
  120. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +3 -3
  121. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -1
  122. package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -1
  123. package/dist/collection/plugins/groupingRow/grouping.service.js +40 -6
  124. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
  125. package/dist/collection/plugins/index.js +2 -0
  126. package/dist/collection/plugins/index.js.map +1 -1
  127. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +12 -6
  128. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
  129. package/dist/collection/plugins/sorting/sorting.func.js +42 -0
  130. package/dist/collection/plugins/sorting/sorting.func.js.map +1 -0
  131. package/dist/collection/plugins/sorting/sorting.plugin.js +71 -69
  132. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  133. package/dist/collection/plugins/sorting/sorting.types.js +2 -0
  134. package/dist/collection/plugins/sorting/sorting.types.js.map +1 -0
  135. package/dist/collection/serve/controller.js +32 -15
  136. package/dist/collection/serve/data.js +18 -11
  137. package/dist/collection/services/column.data.provider.js +5 -2
  138. package/dist/collection/services/column.data.provider.js.map +1 -1
  139. package/dist/collection/services/data.provider.js +18 -7
  140. package/dist/collection/services/data.provider.js.map +1 -1
  141. package/dist/collection/services/dimension.provider.js +32 -33
  142. package/dist/collection/services/dimension.provider.js.map +1 -1
  143. package/dist/collection/services/selection.store.connector.js +1 -1
  144. package/dist/collection/services/selection.store.connector.js.map +1 -1
  145. package/dist/collection/store/dataSource/data.proxy.js +9 -15
  146. package/dist/collection/store/dataSource/data.proxy.js.map +1 -1
  147. package/dist/collection/store/dataSource/data.store.js +1 -1
  148. package/dist/collection/store/dataSource/data.store.js.map +1 -1
  149. package/dist/collection/store/dataSource/trimmed.plugin.js +5 -8
  150. package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -1
  151. package/dist/collection/store/dimension/dimension.helpers.js +7 -9
  152. package/dist/collection/store/dimension/dimension.helpers.js.map +1 -1
  153. package/dist/collection/store/dimension/dimension.recalculate.plugin.js +35 -0
  154. package/dist/collection/store/dimension/dimension.recalculate.plugin.js.map +1 -0
  155. package/dist/collection/store/dimension/dimension.store.js +47 -67
  156. package/dist/collection/store/dimension/dimension.store.js.map +1 -1
  157. package/dist/collection/store/dimension/dimension.trim.plugin.js +61 -0
  158. package/dist/collection/store/dimension/dimension.trim.plugin.js.map +1 -0
  159. package/dist/collection/store/selection/selection.store.js +1 -1
  160. package/dist/collection/store/selection/selection.store.js.map +1 -1
  161. package/dist/collection/store/vp/viewport.store.js +4 -2
  162. package/dist/collection/store/vp/viewport.store.js.map +1 -1
  163. package/dist/collection/types/events.js +6 -2
  164. package/dist/collection/types/events.js.map +1 -1
  165. package/dist/collection/types/interfaces.js +4 -0
  166. package/dist/collection/types/interfaces.js.map +1 -1
  167. package/dist/collection/types/plugin.types.js.map +1 -1
  168. package/dist/collection/types/selection.js.map +1 -1
  169. package/dist/collection/types/viewport.interfaces.js.map +1 -1
  170. package/dist/collection/utils/column.utils.js +13 -3
  171. package/dist/collection/utils/column.utils.js.map +1 -1
  172. package/dist/esm/app-globals-3a760941.js.map +1 -1
  173. package/dist/esm/{column.drag.plugin-3cc77986.js → column.drag.plugin-50f49fa9.js} +1012 -130
  174. package/dist/esm/column.drag.plugin-50f49fa9.js.map +1 -0
  175. package/dist/esm/column.service-a6a7c415.js +1281 -0
  176. package/dist/esm/column.service-a6a7c415.js.map +1 -0
  177. package/dist/esm/{debounce-72878ced.js → debounce-b3166f78.js} +2 -2
  178. package/dist/esm/{debounce-72878ced.js.map → debounce-b3166f78.js.map} +1 -1
  179. package/dist/esm/{column.service-751345b2.js → dimension.helpers-d0d709c4.js} +450 -1234
  180. package/dist/esm/dimension.helpers-d0d709c4.js.map +1 -0
  181. package/dist/esm/{edit.utils-6fc686b9.js → edit.utils-0ae0db50.js} +2 -2
  182. package/dist/esm/{edit.utils-6fc686b9.js.map → edit.utils-0ae0db50.js.map} +1 -1
  183. package/dist/esm/{header-cell-renderer-32d2ed96.js → header-cell-renderer-36ecbdef.js} +2 -2
  184. package/dist/esm/{header-cell-renderer-32d2ed96.js.map → header-cell-renderer-36ecbdef.js.map} +1 -1
  185. package/dist/esm/index.js +52 -11
  186. package/dist/esm/index.js.map +1 -1
  187. package/dist/esm/{key.utils-17273f42.js → key.utils-7c3218d4.js} +2 -2
  188. package/dist/esm/{key.utils-17273f42.js.map → key.utils-7c3218d4.js.map} +1 -1
  189. package/dist/esm/loader.js +1 -1
  190. package/dist/esm/revo-grid.entry.js +246 -877
  191. package/dist/esm/revo-grid.entry.js.map +1 -1
  192. package/dist/esm/revo-grid.js +1 -1
  193. package/dist/esm/revogr-attribution_7.entry.js +63 -33
  194. package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
  195. package/dist/esm/revogr-clipboard_3.entry.js +7 -6
  196. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  197. package/dist/esm/revogr-data_4.entry.js +60 -50
  198. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  199. package/dist/esm/revogr-filter-panel.entry.js +34 -14
  200. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  201. package/dist/esm/{text-editor-901c3eb8.js → text-editor-148a17c1.js} +5 -5
  202. package/dist/esm/text-editor-148a17c1.js.map +1 -0
  203. package/dist/esm/{throttle-138d69c3.js → throttle-394e489c.js} +3 -3
  204. package/dist/esm/{throttle-138d69c3.js.map → throttle-394e489c.js.map} +1 -1
  205. package/dist/esm/{row-header-utils-3dfbb81f.js → viewport.store-afa8c4fe.js} +11 -10
  206. package/dist/esm/viewport.store-afa8c4fe.js.map +1 -0
  207. package/dist/revo-grid/app-globals-3a760941.js +8 -1
  208. package/dist/revo-grid/app-globals-3a760941.js.map +1 -1
  209. package/dist/revo-grid/column.drag.plugin-50f49fa9.js +2541 -0
  210. package/dist/revo-grid/column.drag.plugin-50f49fa9.js.map +1 -0
  211. package/dist/revo-grid/column.service-a6a7c415.js +1281 -0
  212. package/dist/revo-grid/column.service-a6a7c415.js.map +1 -0
  213. package/dist/revo-grid/debounce-b3166f78.js +495 -0
  214. package/dist/revo-grid/debounce-b3166f78.js.map +1 -0
  215. package/dist/revo-grid/dimension.helpers-d0d709c4.js +3611 -0
  216. package/dist/revo-grid/dimension.helpers-d0d709c4.js.map +1 -0
  217. package/dist/revo-grid/edit.utils-0ae0db50.js +17 -0
  218. package/dist/revo-grid/edit.utils-0ae0db50.js.map +1 -0
  219. package/dist/revo-grid/events-cf0893a3.js +38 -1
  220. package/dist/revo-grid/events-cf0893a3.js.map +1 -1
  221. package/dist/revo-grid/filter.button-d40ab17b.js +34 -1
  222. package/dist/revo-grid/filter.button-d40ab17b.js.map +1 -1
  223. package/dist/revo-grid/header-cell-renderer-36ecbdef.js +339 -0
  224. package/dist/revo-grid/header-cell-renderer-36ecbdef.js.map +1 -0
  225. package/dist/revo-grid/index-a61f225b.js +1845 -2
  226. package/dist/revo-grid/index-a61f225b.js.map +1 -1
  227. package/dist/revo-grid/index.esm.js +160 -1
  228. package/dist/revo-grid/index.esm.js.map +1 -1
  229. package/dist/revo-grid/key.utils-7c3218d4.js +89 -0
  230. package/dist/revo-grid/key.utils-7c3218d4.js.map +1 -0
  231. package/dist/revo-grid/resize-observer-83c9e167.js +501 -1
  232. package/dist/revo-grid/resize-observer-83c9e167.js.map +1 -1
  233. package/dist/revo-grid/revo-grid.entry.js +1934 -1
  234. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  235. package/dist/revo-grid/revo-grid.esm.js +21 -1
  236. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  237. package/dist/revo-grid/revogr-attribution_7.entry.js +1431 -1
  238. package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -1
  239. package/dist/revo-grid/revogr-clipboard_3.entry.js +455 -1
  240. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  241. package/dist/revo-grid/revogr-data_4.entry.js +974 -1
  242. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  243. package/dist/revo-grid/revogr-filter-panel.entry.js +340 -1
  244. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  245. package/dist/revo-grid/sorting.sign-1a675bf7.js +9 -1
  246. package/dist/revo-grid/sorting.sign-1a675bf7.js.map +1 -1
  247. package/dist/revo-grid/text-editor-148a17c1.js +80 -0
  248. package/dist/revo-grid/text-editor-148a17c1.js.map +1 -0
  249. package/dist/revo-grid/throttle-394e489c.js +230 -0
  250. package/dist/revo-grid/throttle-394e489c.js.map +1 -0
  251. package/dist/revo-grid/viewport.helpers-7e7f9dad.js +48 -1
  252. package/dist/revo-grid/viewport.helpers-7e7f9dad.js.map +1 -1
  253. package/dist/revo-grid/viewport.store-afa8c4fe.js +406 -0
  254. package/dist/revo-grid/viewport.store-afa8c4fe.js.map +1 -0
  255. package/dist/types/components/data/cell-renderer.d.ts +3 -5
  256. package/dist/types/components/data/column.service.d.ts +2 -3
  257. package/dist/types/components/data/revogr-data.d.ts +10 -6
  258. package/dist/types/components/data/row-highlight.plugin.d.ts +1 -1
  259. package/dist/types/components/data/row-renderer.d.ts +1 -1
  260. package/dist/types/components/editors/revogr-edit.d.ts +2 -2
  261. package/dist/types/components/editors/text-editor.d.ts +5 -6
  262. package/dist/types/components/extra/revogr-extra.d.ts +17 -3
  263. package/dist/types/components/header/header-cell-renderer.d.ts +1 -1
  264. package/dist/types/components/header/header-renderer.d.ts +2 -2
  265. package/dist/types/components/header/resizable.element.d.ts +1 -1
  266. package/dist/types/components/header/revogr-header.d.ts +2 -3
  267. package/dist/types/components/order/order-renderer.d.ts +1 -1
  268. package/dist/types/components/order/revogr-order-editor.d.ts +4 -10
  269. package/dist/types/components/overlay/autofill.service.d.ts +2 -2
  270. package/dist/types/components/overlay/keyboard.service.d.ts +1 -1
  271. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +16 -13
  272. package/dist/types/components/overlay/selection.utils.d.ts +1 -1
  273. package/dist/types/components/revoGrid/plugin.service.d.ts +37 -0
  274. package/dist/types/components/revoGrid/revo-grid.d.ts +105 -61
  275. package/dist/types/components/revoGrid/viewport.service.d.ts +2 -2
  276. package/dist/types/components/rowHeaders/row-header-render.d.ts +2 -2
  277. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +2 -5
  278. package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +2 -3
  279. package/dist/types/components/selectionFocus/revogr-focus.d.ts +2 -2
  280. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +2 -3
  281. package/dist/types/components/vnode/vnode-converter.d.ts +1 -1
  282. package/dist/types/components/vnode/vnode.utils.d.ts +2 -2
  283. package/dist/types/components.d.ts +191 -108
  284. package/dist/types/index.d.ts +1 -1
  285. package/dist/types/plugins/add-rows-on-paste.plugin.d.ts +14 -0
  286. package/dist/types/plugins/base.plugin.d.ts +3 -4
  287. package/dist/types/plugins/column.auto-size.plugin.d.ts +1 -1
  288. package/dist/types/plugins/column.stretch.plugin.d.ts +1 -1
  289. package/dist/types/plugins/export/csv.d.ts +1 -1
  290. package/dist/types/plugins/export/export.plugin.d.ts +4 -3
  291. package/dist/types/plugins/filter/filter.panel.d.ts +2 -2
  292. package/dist/types/plugins/filter/filter.plugin.d.ts +25 -7
  293. package/dist/types/plugins/filter/filter.types.d.ts +32 -10
  294. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +2 -2
  295. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +3 -4
  296. package/dist/types/plugins/groupingRow/grouping.const.d.ts +3 -1
  297. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +15 -10
  298. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +38 -4
  299. package/dist/types/plugins/groupingRow/grouping.service.d.ts +9 -12
  300. package/dist/types/plugins/index.d.ts +2 -0
  301. package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +2 -2
  302. package/dist/types/plugins/sorting/sorting.func.d.ts +3 -0
  303. package/dist/types/plugins/sorting/sorting.plugin.d.ts +14 -13
  304. package/dist/types/plugins/sorting/sorting.types.d.ts +13 -0
  305. package/dist/types/services/column.data.provider.d.ts +5 -2
  306. package/dist/types/services/data.provider.d.ts +3 -1
  307. package/dist/types/services/dimension.provider.d.ts +9 -4
  308. package/dist/types/services/selection.store.connector.d.ts +4 -4
  309. package/dist/types/store/dataSource/data.proxy.d.ts +7 -9
  310. package/dist/types/store/dataSource/data.store.d.ts +2 -3
  311. package/dist/types/store/dataSource/trimmed.plugin.d.ts +1 -1
  312. package/dist/types/store/dimension/dimension.helpers.d.ts +1 -4
  313. package/dist/types/store/dimension/dimension.recalculate.plugin.d.ts +9 -0
  314. package/dist/types/store/dimension/dimension.store.d.ts +3 -2
  315. package/dist/types/store/dimension/dimension.trim.plugin.d.ts +13 -0
  316. package/dist/types/store/selection/selection.store.d.ts +1 -1
  317. package/dist/types/store/vp/viewport.store.d.ts +1 -1
  318. package/dist/types/types/events.d.ts +1 -1
  319. package/dist/types/types/interfaces.d.ts +36 -12
  320. package/dist/types/types/plugin.types.d.ts +17 -1
  321. package/dist/types/types/selection.d.ts +23 -17
  322. package/dist/types/types/viewport.interfaces.d.ts +1 -3
  323. package/dist/types/utils/column.utils.d.ts +1 -0
  324. package/hydrate/index.js +2490 -2135
  325. package/hydrate/index.mjs +2490 -2135
  326. package/package.json +20 -19
  327. package/readme.md +15 -17
  328. package/standalone/column.service.js +192 -160
  329. package/standalone/column.service.js.map +1 -1
  330. package/standalone/data.store.js +36 -25
  331. package/standalone/data.store.js.map +1 -1
  332. package/standalone/dimension.helpers.js +8 -10
  333. package/standalone/dimension.helpers.js.map +1 -1
  334. package/standalone/index.js +46 -6
  335. package/standalone/index.js.map +1 -1
  336. package/standalone/revo-grid.js +1275 -1022
  337. package/standalone/revo-grid.js.map +1 -1
  338. package/standalone/revogr-attribution2.js +1 -1
  339. package/standalone/revogr-attribution2.js.map +1 -1
  340. package/standalone/revogr-data2.js +26 -22
  341. package/standalone/revogr-data2.js.map +1 -1
  342. package/standalone/revogr-edit2.js +3 -3
  343. package/standalone/revogr-edit2.js.map +1 -1
  344. package/standalone/revogr-extra2.js +25 -4
  345. package/standalone/revogr-extra2.js.map +1 -1
  346. package/standalone/revogr-filter-panel.js +34 -14
  347. package/standalone/revogr-filter-panel.js.map +1 -1
  348. package/standalone/revogr-focus2.js +2 -1
  349. package/standalone/revogr-focus2.js.map +1 -1
  350. package/standalone/revogr-header2.js +6 -5
  351. package/standalone/revogr-header2.js.map +1 -1
  352. package/standalone/revogr-order-editor2.js +3 -0
  353. package/standalone/revogr-order-editor2.js.map +1 -1
  354. package/standalone/revogr-overlay-selection2.js +29 -17
  355. package/standalone/revogr-overlay-selection2.js.map +1 -1
  356. package/standalone/revogr-row-headers2.js +12 -9
  357. package/standalone/revogr-row-headers2.js.map +1 -1
  358. package/standalone/revogr-scroll-virtual2.js +6 -4
  359. package/standalone/revogr-scroll-virtual2.js.map +1 -1
  360. package/standalone/revogr-temp-range2.js +1 -1
  361. package/standalone/revogr-temp-range2.js.map +1 -1
  362. package/standalone/revogr-viewport-scroll2.js +27 -21
  363. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  364. package/standalone/selection.utils.js +1 -0
  365. package/standalone/selection.utils.js.map +1 -1
  366. package/standalone/vnode-converter.js +1 -1
  367. package/standalone/vnode-converter.js.map +1 -1
  368. package/dist/cjs/column.drag.plugin-fcd892ec.js.map +0 -1
  369. package/dist/cjs/column.service-26c61ed6.js.map +0 -1
  370. package/dist/cjs/index-3ab26ab9.js +0 -513
  371. package/dist/cjs/index-3ab26ab9.js.map +0 -1
  372. package/dist/cjs/key.utils-f49d7bee.js +0 -101
  373. package/dist/cjs/key.utils-f49d7bee.js.map +0 -1
  374. package/dist/cjs/row-header-utils-c37f76e4.js.map +0 -1
  375. package/dist/cjs/text-editor-b756d6b3.js.map +0 -1
  376. package/dist/esm/column.drag.plugin-3cc77986.js.map +0 -1
  377. package/dist/esm/column.service-751345b2.js.map +0 -1
  378. package/dist/esm/index-1dcad6ef.js +0 -476
  379. package/dist/esm/index-1dcad6ef.js.map +0 -1
  380. package/dist/esm/row-header-utils-3dfbb81f.js.map +0 -1
  381. package/dist/esm/text-editor-901c3eb8.js.map +0 -1
  382. package/dist/revo-grid/column.drag.plugin-3cc77986.js +0 -5
  383. package/dist/revo-grid/column.drag.plugin-3cc77986.js.map +0 -1
  384. package/dist/revo-grid/column.service-751345b2.js +0 -5
  385. package/dist/revo-grid/column.service-751345b2.js.map +0 -1
  386. package/dist/revo-grid/debounce-72878ced.js +0 -5
  387. package/dist/revo-grid/debounce-72878ced.js.map +0 -1
  388. package/dist/revo-grid/edit.utils-6fc686b9.js +0 -5
  389. package/dist/revo-grid/edit.utils-6fc686b9.js.map +0 -1
  390. package/dist/revo-grid/header-cell-renderer-32d2ed96.js +0 -5
  391. package/dist/revo-grid/header-cell-renderer-32d2ed96.js.map +0 -1
  392. package/dist/revo-grid/index-1dcad6ef.js +0 -5
  393. package/dist/revo-grid/index-1dcad6ef.js.map +0 -1
  394. package/dist/revo-grid/key.utils-17273f42.js +0 -5
  395. package/dist/revo-grid/key.utils-17273f42.js.map +0 -1
  396. package/dist/revo-grid/row-header-utils-3dfbb81f.js +0 -5
  397. package/dist/revo-grid/row-header-utils-3dfbb81f.js.map +0 -1
  398. package/dist/revo-grid/text-editor-901c3eb8.js +0 -5
  399. package/dist/revo-grid/text-editor-901c3eb8.js.map +0 -1
  400. package/dist/revo-grid/throttle-138d69c3.js +0 -5
  401. package/dist/revo-grid/throttle-138d69c3.js.map +0 -1
  402. package/standalone/identity.js +0 -26
  403. package/standalone/identity.js.map +0 -1
@@ -5,47 +5,46 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
- import { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PositionItem, Providers, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
8
+ import { 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, PositionItem, Providers, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
9
9
  import { GridPlugin } from "./plugins/base.plugin";
10
10
  import { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
11
- import { ColumnFilterConfig, FilterCaptions, FilterCollection, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
11
+ import { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
12
+ import { SortingConfig, SortingOrder } from "./plugins";
12
13
  import { GroupingOptions } from "./plugins/groupingRow/grouping.row.types";
13
14
  import { VNode } from "./stencil-public-runtime";
14
15
  import { FocusedData } from "./components/revoGrid/viewport.service";
15
16
  import { ColumnCollection } from "./utils/column.utils";
16
17
  import { DataInput } from "./plugins/export/types";
17
- import { Observable } from "./utils/store.utils";
18
+ import { Observable } from "./utils";
18
19
  import { DSourceState, Groups } from "./store/index";
19
20
  import { ResizeProps } from "./components/header/resizable.directive";
20
21
  import { HeaderRenderProps } from "./components/header/header-renderer";
21
- import { Cell as Cell1, ColumnRegular as ColumnRegular1, DataType as DataType1, DimensionCols as DimensionCols1, DimensionRows as DimensionRows1, DimensionSettingsState as DimensionSettingsState1, Observable as Observable1, SelectionStoreState as SelectionStoreState1 } from "./components";
22
22
  import { EventData } from "./components/overlay/selection.utils";
23
- export { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PositionItem, Providers, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
23
+ export { 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, PositionItem, Providers, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
24
24
  export { GridPlugin } from "./plugins/base.plugin";
25
25
  export { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
26
- export { ColumnFilterConfig, FilterCaptions, FilterCollection, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
26
+ export { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
27
+ export { SortingConfig, SortingOrder } from "./plugins";
27
28
  export { GroupingOptions } from "./plugins/groupingRow/grouping.row.types";
28
29
  export { VNode } from "./stencil-public-runtime";
29
30
  export { FocusedData } from "./components/revoGrid/viewport.service";
30
31
  export { ColumnCollection } from "./utils/column.utils";
31
32
  export { DataInput } from "./plugins/export/types";
32
- export { Observable } from "./utils/store.utils";
33
+ export { Observable } from "./utils";
33
34
  export { DSourceState, Groups } from "./store/index";
34
35
  export { ResizeProps } from "./components/header/resizable.directive";
35
36
  export { HeaderRenderProps } from "./components/header/header-renderer";
36
- export { Cell as Cell1, ColumnRegular as ColumnRegular1, DataType as DataType1, DimensionCols as DimensionCols1, DimensionRows as DimensionRows1, DimensionSettingsState as DimensionSettingsState1, Observable as Observable1, SelectionStoreState as SelectionStoreState1 } from "./components";
37
37
  export { EventData } from "./components/overlay/selection.utils";
38
38
  export namespace Components {
39
39
  /**
40
40
  * Revogrid - High-performance, customizable grid library for managing large datasets.
41
- * :::tip
41
+ * ### Events guide
42
+ * For a comprehensive events guide, check the [Events API Page](./events.md).
43
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
44
+ * ### Type definitions
42
45
  * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
43
46
  * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
44
- * :::
45
- * :::tip
46
- * For a comprehensive events guide, check the [dependency tree](#Dependencies).
47
- * All events propagate to the root level of the grid.
48
- * :::
47
+ * ### HTMLRevoGridElement
49
48
  * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
50
49
  * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
51
50
  */
@@ -187,7 +186,7 @@ export namespace Components {
187
186
  */
188
187
  "pinnedTopSource": DataType[];
189
188
  /**
190
- * Custom grid plugins. Has to be predefined during first grid init. Every plugin should be inherited from BasePlugin.
189
+ * 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/)
191
190
  */
192
191
  "plugins": GridPlugin[];
193
192
  /**
@@ -203,9 +202,16 @@ export namespace Components {
203
202
  */
204
203
  "refresh": (type?: DimensionRows | "all") => Promise<void>;
205
204
  /**
206
- * 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.
205
+ * Refresh extra elements. Triggers re-rendering of extra elements and functions. Part of extraElements and registerVNode methods. Useful for plugins.
207
206
  */
208
- "registerVNode": (VNode | (() => VNode))[];
207
+ "refreshExtraElements": () => Promise<void>;
208
+ /**
209
+ * 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.
210
+ */
211
+ "registerVNode": (
212
+ | VNode
213
+ | ((c: ExtraNodeFuncConfig) => VNode)
214
+ )[];
209
215
  /**
210
216
  * When true, columns are resizable.
211
217
  */
@@ -251,9 +257,14 @@ export namespace Components {
251
257
  */
252
258
  "setCellsFocus": (cellStart?: Cell, cellEnd?: Cell, colType?: string, rowType?: string) => Promise<void>;
253
259
  /**
254
- * Sets data at specified cell. Useful for performance optimization. No viewport update will be triggered.
260
+ * Refreshes data at specified cell. Useful for performance optimization. No viewport update will be triggered.
261
+ * @example const grid = document.querySelector('revo-grid'); grid.setDataAt({ row: 0, col: 0, val: 'test' }); // refresh
262
+ */
263
+ "setDataAt": ({ row, col, colType, rowType, val, skipDataUpdate }: { row: number; col: number; val?: any; skipDataUpdate?: boolean; } & AllDimensionType) => Promise<void | undefined>;
264
+ /**
265
+ * Alternative way to set sorting. `{columns: [{prop: 'name', order: 'asc'}]}`
255
266
  */
256
- "setDataAt": (data: { row: number; col: number; } & AllDimensionType) => Promise<void | undefined>;
267
+ "sorting"?: SortingConfig;
257
268
  /**
258
269
  * Source - defines main data source. Can be an Object or 2 dimensional array([][]); Keys/indexes referenced from columns Prop.
259
270
  */
@@ -327,7 +338,7 @@ export namespace Components {
327
338
  /**
328
339
  * 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.
329
340
  */
330
- "jobsBeforeRender": Promise<any>[];
341
+ "jobsBeforeRender": (Promise<any> | (() => Promise<any>))[];
331
342
  /**
332
343
  * Range allowed
333
344
  */
@@ -396,11 +407,28 @@ export namespace Components {
396
407
  */
397
408
  "saveOnClose": boolean;
398
409
  }
410
+ /**
411
+ * Contains extra elements for stencil components.
412
+ * Performs rendering and updates for external components.
413
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
414
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
415
+ * // use `config.refresh()` for component to re-render
416
+ * return h('div')
417
+ * }
418
+ * revogrid.registerVNode = [
419
+ * ...existingNodes,
420
+ * paginationPanel.bind(this)
421
+ * ];
422
+ * /**
423
+ */
399
424
  interface RevogrExtra {
400
425
  /**
401
426
  * Nodes to render
402
427
  */
403
- "nodes": ((VNode) | (() => VNode))[] | null;
428
+ "nodes": (
429
+ | VNode
430
+ | ((c: ExtraNodeFuncConfig) => VNode)
431
+ )[];
404
432
  /**
405
433
  * Refreshes the extra component. Useful if you want to manually force the component to re-render.
406
434
  */
@@ -413,7 +441,6 @@ export namespace Components {
413
441
  "disableDynamicFiltering": boolean;
414
442
  "filterCaptions": FilterCaptions | undefined;
415
443
  "filterEntities": Record<string, LogicFunction>;
416
- "filterItems": MultiFilterItem;
417
444
  "filterNames": Record<string, string>;
418
445
  "getChanges": () => Promise<ShowData | undefined>;
419
446
  "show": (newEntity?: ShowData) => Promise<void>;
@@ -550,19 +577,19 @@ export namespace Components {
550
577
  /**
551
578
  * Column data store.
552
579
  */
553
- "colData": Observable1<DSourceState<ColumnRegular1, DimensionCols1>>;
580
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
554
581
  /**
555
582
  * Row data store.
556
583
  */
557
- "dataStore": Observable1<DSourceState<DataType1, DimensionRows1>>;
584
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
558
585
  /**
559
586
  * Dimension settings X.
560
587
  */
561
- "dimensionCol": Observable1<DimensionSettingsState1>;
588
+ "dimensionCol": Observable<DimensionSettingsState>;
562
589
  /**
563
590
  * Dimension settings Y.
564
591
  */
565
- "dimensionRow": Observable1<DimensionSettingsState1>;
592
+ "dimensionRow": Observable<DimensionSettingsState>;
566
593
  /**
567
594
  * Custom editors register.
568
595
  */
@@ -574,7 +601,7 @@ export namespace Components {
574
601
  /**
575
602
  * Last real coordinates positions + 1.
576
603
  */
577
- "lastCell": Cell1;
604
+ "lastCell": Cell;
578
605
  /**
579
606
  * Range selection allowed.
580
607
  */
@@ -586,7 +613,7 @@ export namespace Components {
586
613
  /**
587
614
  * Selection, range, focus.
588
615
  */
589
- "selectionStore": Observable1<SelectionStoreState1>;
616
+ "selectionStore": Observable<SelectionStoreState>;
590
617
  /**
591
618
  * Enable revogr-clipboard component (read more in revogr-clipboard component). Allows copy/paste.
592
619
  */
@@ -763,20 +790,21 @@ declare global {
763
790
  "beforerange": ChangedRange;
764
791
  "afterfocus": FocusAfterRenderEvent;
765
792
  "roworderchanged": { from: number; to: number };
766
- "beforesortingapply": {
793
+ "beforesorting": {
767
794
  column: ColumnRegular;
768
795
  order: 'desc' | 'asc';
769
796
  additive: boolean;
770
797
  };
771
- "beforesorting": {
798
+ "beforesourcesortingapply": {
799
+ type: DimensionRows;
800
+ sorting?: SortingOrder;
801
+ };
802
+ "beforesortingapply": {
772
803
  column: ColumnRegular;
773
804
  order: 'desc' | 'asc';
774
805
  additive: boolean;
775
806
  };
776
- "rowdragstart": {
777
- pos: PositionItem;
778
- text: string;
779
- };
807
+ "rowdragstart": RowDragStartDetails;
780
808
  "headerclick": ColumnRegular;
781
809
  "beforecellfocus": BeforeSaveDataDetails;
782
810
  "beforefocuslost": FocusedData | null;
@@ -802,9 +830,9 @@ declare global {
802
830
  columns: ColumnCollection;
803
831
  order: Record<ColumnProp, 'asc' | 'desc' | undefined>;
804
832
  };
805
- "beforefilterapply": { collection: FilterCollection };
833
+ "beforefilterapply": { collection: Record<ColumnProp, FilterCollectionItem> };
806
834
  "beforefiltertrimmed": {
807
- collection: FilterCollection;
835
+ collection: Record<ColumnProp, FilterCollectionItem>;
808
836
  itemsToFilter: Record<number, boolean>;
809
837
  };
810
838
  "beforetrimmed": {
@@ -821,23 +849,24 @@ declare global {
821
849
  };
822
850
  "beforerowdefinition": { vals: any; oldVals: any };
823
851
  "filterconfigchanged": any;
852
+ "sortingconfigchanged": SortingConfig;
824
853
  "rowheaderschanged": any;
825
854
  "beforegridrender": any;
826
855
  "aftergridrender": any;
827
856
  "aftergridinit": any;
828
857
  "additionaldatachanged": any;
829
858
  "afterthemechanged": Theme;
859
+ "created": any;
830
860
  }
831
861
  /**
832
862
  * Revogrid - High-performance, customizable grid library for managing large datasets.
833
- * :::tip
863
+ * ### Events guide
864
+ * For a comprehensive events guide, check the [Events API Page](./events.md).
865
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
866
+ * ### Type definitions
834
867
  * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
835
868
  * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
836
- * :::
837
- * :::tip
838
- * For a comprehensive events guide, check the [dependency tree](#Dependencies).
839
- * All events propagate to the root level of the grid.
840
- * :::
869
+ * ### HTMLRevoGridElement
841
870
  * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
842
871
  * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
843
872
  */
@@ -912,7 +941,8 @@ declare global {
912
941
  interface HTMLRevogrDataElementEventMap {
913
942
  "beforerowrender": BeforeRowRenderEvent;
914
943
  "afterrender": { type: DimensionRows };
915
- "beforecellrender": BeforeCellRenderEvent<ColumnDataSchemaModel>;
944
+ "beforecellrender": BeforeCellRenderEvent<CellTemplateProp>;
945
+ "beforedatarender": AllDimensionType;
916
946
  "dragstartcell": DragStartEvent;
917
947
  }
918
948
  /**
@@ -956,6 +986,20 @@ declare global {
956
986
  prototype: HTMLRevogrEditElement;
957
987
  new (): HTMLRevogrEditElement;
958
988
  };
989
+ /**
990
+ * Contains extra elements for stencil components.
991
+ * Performs rendering and updates for external components.
992
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
993
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
994
+ * // use `config.refresh()` for component to re-render
995
+ * return h('div')
996
+ * }
997
+ * revogrid.registerVNode = [
998
+ * ...existingNodes,
999
+ * paginationPanel.bind(this)
1000
+ * ];
1001
+ * /**
1002
+ */
959
1003
  interface HTMLRevogrExtraElement extends Components.RevogrExtra, HTMLStencilElement {
960
1004
  }
961
1005
  var HTMLRevogrExtraElement: {
@@ -1026,13 +1070,7 @@ declare global {
1026
1070
  new (): HTMLRevogrHeaderElement;
1027
1071
  };
1028
1072
  interface HTMLRevogrOrderEditorElementEventMap {
1029
- "rowdragstartinit": {
1030
- cell: Cell;
1031
- text: string;
1032
- pos: PositionItem;
1033
- event: MouseEvent;
1034
- rowType: DimensionRows;
1035
- };
1073
+ "rowdragstartinit": RowDragStartDetails;
1036
1074
  "rowdragendinit": { rowType: DimensionRows };
1037
1075
  "rowdragmoveinit": PositionItem & { rowType: DimensionRows };
1038
1076
  "rowdragmousemove": Cell & { rowType: DimensionRows };
@@ -1069,18 +1107,18 @@ declare global {
1069
1107
  "beforepasteregion": any;
1070
1108
  "celleditapply": BeforeSaveDataDetails;
1071
1109
  "beforecellfocusinit": BeforeSaveDataDetails;
1072
- "beforenextvpfocus": Cell1;
1110
+ "beforenextvpfocus": Cell;
1073
1111
  "setedit": BeforeEdit;
1074
1112
  "beforeapplyrange": FocusRenderEvent;
1075
1113
  "beforesetrange": any;
1076
- "beforeeditrender": FocusRenderEvent;
1077
1114
  "setrange": RangeArea & { type: MultiDimensionType };
1115
+ "beforeeditrender": FocusRenderEvent;
1078
1116
  "selectall": any;
1079
1117
  "canceledit": any;
1080
1118
  "settemprange": Nullable<TempRange> | null;
1081
1119
  "beforesettemprange": { tempRange: Nullable<TempRange> | null } & EventData & AllDimensionType;
1082
1120
  "applyfocus": FocusRenderEvent;
1083
- "focuscell": ApplyFocusEvent;
1121
+ "focuscell": ApplyFocusEvent & FocusRenderEvent;
1084
1122
  "beforerangedataapply": FocusRenderEvent;
1085
1123
  "selectionchangeinit": ChangedRange;
1086
1124
  "beforerangecopyapply": ChangedRange;
@@ -1224,14 +1262,13 @@ declare global {
1224
1262
  declare namespace LocalJSX {
1225
1263
  /**
1226
1264
  * Revogrid - High-performance, customizable grid library for managing large datasets.
1227
- * :::tip
1265
+ * ### Events guide
1266
+ * For a comprehensive events guide, check the [Events API Page](./events.md).
1267
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
1268
+ * ### Type definitions
1228
1269
  * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
1229
1270
  * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
1230
- * :::
1231
- * :::tip
1232
- * For a comprehensive events guide, check the [dependency tree](#Dependencies).
1233
- * All events propagate to the root level of the grid.
1234
- * :::
1271
+ * ### HTMLRevoGridElement
1235
1272
  * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
1236
1273
  * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
1237
1274
  */
@@ -1338,11 +1375,11 @@ declare namespace LocalJSX {
1338
1375
  order: Record<ColumnProp, 'asc' | 'desc' | undefined>;
1339
1376
  }>) => void;
1340
1377
  /**
1341
- * Triggered after data applied or range changed.
1378
+ * After data applied or range changed.
1342
1379
  */
1343
1380
  "onAfteredit"?: (event: RevoGridCustomEvent<AfterEditEvent>) => void;
1344
1381
  /**
1345
- * Triggered 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`.
1382
+ * 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`.
1346
1383
  */
1347
1384
  "onAfterfocus"?: (event: RevoGridCustomEvent<FocusAfterRenderEvent>) => void;
1348
1385
  /**
@@ -1376,11 +1413,11 @@ declare namespace LocalJSX {
1376
1413
  source: DataType[];
1377
1414
  }>) => void;
1378
1415
  /**
1379
- * This event is triggered before autofill is applied. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
1416
+ * Before autofill is applied. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
1380
1417
  */
1381
1418
  "onBeforeautofill"?: (event: RevoGridCustomEvent<ChangedRange>) => void;
1382
1419
  /**
1383
- * This event is triggered before the cell focus is changed. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
1420
+ * Before the cell focus is changed. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
1384
1421
  */
1385
1422
  "onBeforecellfocus"?: (event: RevoGridCustomEvent<BeforeSaveDataDetails>) => void;
1386
1423
  /**
@@ -1392,7 +1429,7 @@ declare namespace LocalJSX {
1392
1429
  */
1393
1430
  "onBeforecolumnsset"?: (event: RevoGridCustomEvent<ColumnCollection>) => void;
1394
1431
  /**
1395
- * This event is triggered 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.
1432
+ * 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.
1396
1433
  */
1397
1434
  "onBeforeedit"?: (event: RevoGridCustomEvent<BeforeSaveDataDetails>) => void;
1398
1435
  /**
@@ -1406,16 +1443,16 @@ declare namespace LocalJSX {
1406
1443
  /**
1407
1444
  * Emitted before applying a filter to the data source. Use e.preventDefault() to prevent cell focus change. Modify if you need to change filters.
1408
1445
  */
1409
- "onBeforefilterapply"?: (event: RevoGridCustomEvent<{ collection: FilterCollection }>) => void;
1446
+ "onBeforefilterapply"?: (event: RevoGridCustomEvent<{ collection: Record<ColumnProp, FilterCollectionItem> }>) => void;
1410
1447
  /**
1411
1448
  * 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.
1412
1449
  */
1413
1450
  "onBeforefiltertrimmed"?: (event: RevoGridCustomEvent<{
1414
- collection: FilterCollection;
1451
+ collection: Record<ColumnProp, FilterCollectionItem>;
1415
1452
  itemsToFilter: Record<number, boolean>;
1416
1453
  }>) => void;
1417
1454
  /**
1418
- * This event is triggered before the grid focus is lost. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
1455
+ * Before the grid focus is lost. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
1419
1456
  */
1420
1457
  "onBeforefocuslost"?: (event: RevoGridCustomEvent<FocusedData | null>) => void;
1421
1458
  /**
@@ -1423,11 +1460,11 @@ declare namespace LocalJSX {
1423
1460
  */
1424
1461
  "onBeforegridrender"?: (event: RevoGridCustomEvent<any>) => void;
1425
1462
  /**
1426
- * Triggered before range applied. Use e.preventDefault() to prevent range.
1463
+ * Before autofill is applied. Runs before beforeautofill event. Use e.preventDefault() to prevent range.
1427
1464
  */
1428
1465
  "onBeforerange"?: (event: RevoGridCustomEvent<ChangedRange>) => void;
1429
1466
  /**
1430
- * This event is triggered 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()`.
1467
+ * 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()`.
1431
1468
  */
1432
1469
  "onBeforerangeedit"?: (event: RevoGridCustomEvent<BeforeRangeSaveDataDetails>) => void;
1433
1470
  /**
@@ -1435,7 +1472,7 @@ declare namespace LocalJSX {
1435
1472
  */
1436
1473
  "onBeforerowdefinition"?: (event: RevoGridCustomEvent<{ vals: any; oldVals: any }>) => void;
1437
1474
  /**
1438
- * Triggered by sorting.plugin.ts Before sorting event. Initial sorting triggered, if this event stops no other event called. Use e.preventDefault() to prevent sorting.
1475
+ * By `sorting.plugin.ts` <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.
1439
1476
  */
1440
1477
  "onBeforesorting"?: (event: RevoGridCustomEvent<{
1441
1478
  column: ColumnRegular;
@@ -1443,7 +1480,7 @@ declare namespace LocalJSX {
1443
1480
  additive: boolean;
1444
1481
  }>) => void;
1445
1482
  /**
1446
- * Triggered by sorting.plugin.ts Before sorting apply. Use e.preventDefault() to prevent sorting data change.
1483
+ * By `sorting.plugin.ts` <br> After `beforesorting` <br>Triggered after column data updated with new sorting order. <br>Use `e.preventDefault()` to prevent sorting data change.
1447
1484
  */
1448
1485
  "onBeforesortingapply"?: (event: RevoGridCustomEvent<{
1449
1486
  column: ColumnRegular;
@@ -1456,6 +1493,13 @@ declare namespace LocalJSX {
1456
1493
  "onBeforesourceset"?: (event: RevoGridCustomEvent<{
1457
1494
  type: DimensionRows;
1458
1495
  source: DataType[];
1496
+ }>) => void;
1497
+ /**
1498
+ * By `sorting.plugin.ts` <br>Same as `beforesorting` but triggered after `beforeanysource` (when source is changed). <br>Use `e.preventDefault()` to prevent sorting data change.
1499
+ */
1500
+ "onBeforesourcesortingapply"?: (event: RevoGridCustomEvent<{
1501
+ type: DimensionRows;
1502
+ sorting?: SortingOrder;
1459
1503
  }>) => void;
1460
1504
  /**
1461
1505
  * 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.
@@ -1469,6 +1513,10 @@ declare namespace LocalJSX {
1469
1513
  * 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.
1470
1514
  */
1471
1515
  "onContentsizechanged"?: (event: RevoGridCustomEvent<MultiDimensionType>) => void;
1516
+ /**
1517
+ * Emmited after grid created
1518
+ */
1519
+ "onCreated"?: (event: RevoGridCustomEvent<any>) => void;
1472
1520
  /**
1473
1521
  * Emitted when the filter configuration is changed
1474
1522
  */
@@ -1480,18 +1528,19 @@ declare namespace LocalJSX {
1480
1528
  /**
1481
1529
  * 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.
1482
1530
  */
1483
- "onRowdragstart"?: (event: RevoGridCustomEvent<{
1484
- pos: PositionItem;
1485
- text: string;
1486
- }>) => void;
1531
+ "onRowdragstart"?: (event: RevoGridCustomEvent<RowDragStartDetails>) => void;
1487
1532
  /**
1488
1533
  * Emmited when the row headers are changed.
1489
1534
  */
1490
1535
  "onRowheaderschanged"?: (event: RevoGridCustomEvent<any>) => void;
1491
1536
  /**
1492
- * This event is triggered before the order of `rgRow` is applied. To prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`.
1537
+ * Before the order of `rgRow` is applied. To prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`.
1493
1538
  */
1494
1539
  "onRoworderchanged"?: (event: RevoGridCustomEvent<{ from: number; to: number }>) => void;
1540
+ /**
1541
+ * Emitted when the sorting configuration is changed
1542
+ */
1543
+ "onSortingconfigchanged"?: (event: RevoGridCustomEvent<SortingConfig>) => void;
1495
1544
  /**
1496
1545
  * Emitted when the viewport is scrolled. Useful for tracking viewport scrolling events.
1497
1546
  */
@@ -1505,7 +1554,7 @@ declare namespace LocalJSX {
1505
1554
  */
1506
1555
  "pinnedTopSource"?: DataType[];
1507
1556
  /**
1508
- * Custom grid plugins. Has to be predefined during first grid init. Every plugin should be inherited from BasePlugin.
1557
+ * 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/)
1509
1558
  */
1510
1559
  "plugins"?: GridPlugin[];
1511
1560
  /**
@@ -1517,9 +1566,12 @@ declare namespace LocalJSX {
1517
1566
  */
1518
1567
  "readonly"?: boolean;
1519
1568
  /**
1520
- * 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.
1569
+ * 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.
1521
1570
  */
1522
- "registerVNode"?: (VNode | (() => VNode))[];
1571
+ "registerVNode"?: (
1572
+ | VNode
1573
+ | ((c: ExtraNodeFuncConfig) => VNode)
1574
+ )[];
1523
1575
  /**
1524
1576
  * When true, columns are resizable.
1525
1577
  */
@@ -1540,6 +1592,10 @@ declare namespace LocalJSX {
1540
1592
  * Indicates default rgRow size. By default 0, means theme package size will be applied Alternatively you can use `rowSize` to reset viewport
1541
1593
  */
1542
1594
  "rowSize"?: number;
1595
+ /**
1596
+ * Alternative way to set sorting. `{columns: [{prop: 'name', order: 'asc'}]}`
1597
+ */
1598
+ "sorting"?: SortingConfig;
1543
1599
  /**
1544
1600
  * Source - defines main data source. Can be an Object or 2 dimensional array([][]); Keys/indexes referenced from columns Prop.
1545
1601
  */
@@ -1658,7 +1714,7 @@ declare namespace LocalJSX {
1658
1714
  /**
1659
1715
  * 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.
1660
1716
  */
1661
- "jobsBeforeRender"?: Promise<any>[];
1717
+ "jobsBeforeRender"?: (Promise<any> | (() => Promise<any>))[];
1662
1718
  /**
1663
1719
  * When data render finished for the designated type
1664
1720
  */
@@ -1666,7 +1722,11 @@ declare namespace LocalJSX {
1666
1722
  /**
1667
1723
  * Before each cell render function. Allows to override cell properties
1668
1724
  */
1669
- "onBeforecellrender"?: (event: RevogrDataCustomEvent<BeforeCellRenderEvent<ColumnDataSchemaModel>>) => void;
1725
+ "onBeforecellrender"?: (event: RevogrDataCustomEvent<BeforeCellRenderEvent<CellTemplateProp>>) => void;
1726
+ /**
1727
+ * Before data render
1728
+ */
1729
+ "onBeforedatarender"?: (event: RevogrDataCustomEvent<AllDimensionType>) => void;
1670
1730
  /**
1671
1731
  * Before each row render
1672
1732
  */
@@ -1739,11 +1799,28 @@ declare namespace LocalJSX {
1739
1799
  */
1740
1800
  "saveOnClose"?: boolean;
1741
1801
  }
1802
+ /**
1803
+ * Contains extra elements for stencil components.
1804
+ * Performs rendering and updates for external components.
1805
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
1806
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
1807
+ * // use `config.refresh()` for component to re-render
1808
+ * return h('div')
1809
+ * }
1810
+ * revogrid.registerVNode = [
1811
+ * ...existingNodes,
1812
+ * paginationPanel.bind(this)
1813
+ * ];
1814
+ * /**
1815
+ */
1742
1816
  interface RevogrExtra {
1743
1817
  /**
1744
1818
  * Nodes to render
1745
1819
  */
1746
- "nodes"?: ((VNode) | (() => VNode))[] | null;
1820
+ "nodes"?: (
1821
+ | VNode
1822
+ | ((c: ExtraNodeFuncConfig) => VNode)
1823
+ )[];
1747
1824
  }
1748
1825
  interface RevogrFilterPanel {
1749
1826
  /**
@@ -1752,7 +1829,6 @@ declare namespace LocalJSX {
1752
1829
  "disableDynamicFiltering"?: boolean;
1753
1830
  "filterCaptions"?: FilterCaptions | undefined;
1754
1831
  "filterEntities"?: Record<string, LogicFunction>;
1755
- "filterItems"?: MultiFilterItem;
1756
1832
  "filterNames"?: Record<string, string>;
1757
1833
  "onFilterChange"?: (event: RevogrFilterPanelCustomEvent<MultiFilterItem>) => void;
1758
1834
  "onResetChange"?: (event: RevogrFilterPanelCustomEvent<ColumnProp>) => void;
@@ -1912,13 +1988,7 @@ declare namespace LocalJSX {
1912
1988
  /**
1913
1989
  * Row drag started
1914
1990
  */
1915
- "onRowdragstartinit"?: (event: RevogrOrderEditorCustomEvent<{
1916
- cell: Cell;
1917
- text: string;
1918
- pos: PositionItem;
1919
- event: MouseEvent;
1920
- rowType: DimensionRows;
1921
- }>) => void;
1991
+ "onRowdragstartinit"?: (event: RevogrOrderEditorCustomEvent<RowDragStartDetails>) => void;
1922
1992
  /**
1923
1993
  * Row dragged, new range ready to be applied
1924
1994
  */
@@ -1960,19 +2030,19 @@ declare namespace LocalJSX {
1960
2030
  /**
1961
2031
  * Column data store.
1962
2032
  */
1963
- "colData"?: Observable1<DSourceState<ColumnRegular1, DimensionCols1>>;
2033
+ "colData": Observable<DSourceState<ColumnRegular, DimensionCols>>;
1964
2034
  /**
1965
2035
  * Row data store.
1966
2036
  */
1967
- "dataStore"?: Observable1<DSourceState<DataType1, DimensionRows1>>;
2037
+ "dataStore": Observable<DSourceState<DataType, DimensionRows>>;
1968
2038
  /**
1969
2039
  * Dimension settings X.
1970
2040
  */
1971
- "dimensionCol": Observable1<DimensionSettingsState1>;
2041
+ "dimensionCol": Observable<DimensionSettingsState>;
1972
2042
  /**
1973
2043
  * Dimension settings Y.
1974
2044
  */
1975
- "dimensionRow"?: Observable1<DimensionSettingsState1>;
2045
+ "dimensionRow"?: Observable<DimensionSettingsState>;
1976
2046
  /**
1977
2047
  * Custom editors register.
1978
2048
  */
@@ -1984,7 +2054,7 @@ declare namespace LocalJSX {
1984
2054
  /**
1985
2055
  * Last real coordinates positions + 1.
1986
2056
  */
1987
- "lastCell"?: Cell1;
2057
+ "lastCell"?: Cell;
1988
2058
  /**
1989
2059
  * Before cell get focused. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
1990
2060
  */
@@ -2020,7 +2090,7 @@ declare namespace LocalJSX {
2020
2090
  /**
2021
2091
  * Fired when change of viewport happens. Usually when we switch between pinned regions.
2022
2092
  */
2023
- "onBeforenextvpfocus"?: (event: RevogrOverlaySelectionCustomEvent<Cell1>) => void;
2093
+ "onBeforenextvpfocus"?: (event: RevogrOverlaySelectionCustomEvent<Cell>) => void;
2024
2094
  /**
2025
2095
  * Before region paste happened.
2026
2096
  */
@@ -2042,7 +2112,7 @@ declare namespace LocalJSX {
2042
2112
  */
2043
2113
  "onBeforesettemprange"?: (event: RevogrOverlaySelectionCustomEvent<{ tempRange: Nullable<TempRange> | null } & EventData & AllDimensionType>) => void;
2044
2114
  /**
2045
- * Used for editors support when editor close requested.
2115
+ * Cancel edit. Used for editors support when editor close requested.
2046
2116
  */
2047
2117
  "onCanceledit"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2048
2118
  /**
@@ -2060,17 +2130,17 @@ declare namespace LocalJSX {
2060
2130
  /**
2061
2131
  * Cell get focused. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
2062
2132
  */
2063
- "onFocuscell"?: (event: RevogrOverlaySelectionCustomEvent<ApplyFocusEvent>) => void;
2133
+ "onFocuscell"?: (event: RevogrOverlaySelectionCustomEvent<ApplyFocusEvent & FocusRenderEvent>) => void;
2064
2134
  /**
2065
2135
  * Range data apply. Triggers datasource edit on the root level.
2066
2136
  */
2067
2137
  "onRangeeditapply"?: (event: RevogrOverlaySelectionCustomEvent<BeforeRangeSaveDataDetails>) => void;
2068
2138
  /**
2069
- * Select all.
2139
+ * Select all cells from keyboard.
2070
2140
  */
2071
2141
  "onSelectall"?: (event: RevogrOverlaySelectionCustomEvent<any>) => void;
2072
2142
  /**
2073
- * Selection range changed.
2143
+ * Autofill data in range. First step in applyRangeWithData
2074
2144
  */
2075
2145
  "onSelectionchangeinit"?: (event: RevogrOverlaySelectionCustomEvent<ChangedRange>) => void;
2076
2146
  /**
@@ -2078,7 +2148,7 @@ declare namespace LocalJSX {
2078
2148
  */
2079
2149
  "onSetedit"?: (event: RevogrOverlaySelectionCustomEvent<BeforeEdit>) => void;
2080
2150
  /**
2081
- * Set range.
2151
+ * Set range. Third step in triggerRangeEvent.
2082
2152
  */
2083
2153
  "onSetrange"?: (event: RevogrOverlaySelectionCustomEvent<RangeArea & { type: MultiDimensionType }>) => void;
2084
2154
  /**
@@ -2096,7 +2166,7 @@ declare namespace LocalJSX {
2096
2166
  /**
2097
2167
  * Selection, range, focus.
2098
2168
  */
2099
- "selectionStore"?: Observable1<SelectionStoreState1>;
2169
+ "selectionStore": Observable<SelectionStoreState>;
2100
2170
  /**
2101
2171
  * Enable revogr-clipboard component (read more in revogr-clipboard component). Allows copy/paste.
2102
2172
  */
@@ -2252,14 +2322,13 @@ declare module "@stencil/core" {
2252
2322
  interface IntrinsicElements {
2253
2323
  /**
2254
2324
  * Revogrid - High-performance, customizable grid library for managing large datasets.
2255
- * :::tip
2325
+ * ### Events guide
2326
+ * For a comprehensive events guide, check the [Events API Page](./events.md).
2327
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
2328
+ * ### Type definitions
2256
2329
  * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
2257
2330
  * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
2258
- * :::
2259
- * :::tip
2260
- * For a comprehensive events guide, check the [dependency tree](#Dependencies).
2261
- * All events propagate to the root level of the grid.
2262
- * :::
2331
+ * ### HTMLRevoGridElement
2263
2332
  * @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
2264
2333
  * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
2265
2334
  */
@@ -2280,6 +2349,20 @@ declare module "@stencil/core" {
2280
2349
  * and managing the lifecycle of the editor instance.
2281
2350
  */
2282
2351
  "revogr-edit": LocalJSX.RevogrEdit & JSXBase.HTMLAttributes<HTMLRevogrEditElement>;
2352
+ /**
2353
+ * Contains extra elements for stencil components.
2354
+ * Performs rendering and updates for external components.
2355
+ * @example In Plugins if you want to add extra elements to grid and use stenciljs vnodes reactivity:
2356
+ * function paginationPanel(this: PaginationPlugin, config: { refresh: () => void }) {
2357
+ * // use `config.refresh()` for component to re-render
2358
+ * return h('div')
2359
+ * }
2360
+ * revogrid.registerVNode = [
2361
+ * ...existingNodes,
2362
+ * paginationPanel.bind(this)
2363
+ * ];
2364
+ * /**
2365
+ */
2283
2366
  "revogr-extra": LocalJSX.RevogrExtra & JSXBase.HTMLAttributes<HTMLRevogrExtraElement>;
2284
2367
  "revogr-filter-panel": LocalJSX.RevogrFilterPanel & JSXBase.HTMLAttributes<HTMLRevogrFilterPanelElement>;
2285
2368
  /**