@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
@@ -1,4 +1,4 @@
1
- import { FunctionalComponent } from '../../stencil-public-runtime';
1
+ import { type FunctionalComponent } from '../../stencil-public-runtime';
2
2
  import { ResizeProps } from './resizable.directive';
3
3
  import type { CellProps } from "../../types/index";
4
4
  export type ResizableElementHTMLAttributes = Partial<ResizeProps> & CellProps;
@@ -1,10 +1,9 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { HTMLStencilElement } from '../../stencil-public-runtime';
3
2
  import { Groups } from "../../store/index";
4
3
  import { HeaderRenderProps } from './header-renderer';
5
4
  import { ResizeProps } from './resizable.directive';
6
5
  import { ColumnRegular, DimensionSettingsState, InitialHeaderClick, Providers, ViewportState, ViewSettingSizeProp, DimensionCols, SelectionStoreState } from "../../types/index";
7
- import { Observable } from '../../utils/store.utils';
6
+ import { Observable } from '../../utils';
8
7
  export declare class RevogrHeaderComponent {
9
8
  /**
10
9
  * Stores
@@ -75,7 +74,7 @@ export declare class RevogrHeaderComponent {
75
74
  * After all header cells rendered. Finalizes cell rendering.
76
75
  */
77
76
  afterHeaderRender: EventEmitter<Providers<DimensionCols | 'rowHeaders'>>;
78
- element: HTMLStencilElement;
77
+ element: HTMLElement;
79
78
  private onResize;
80
79
  private onResizeGroup;
81
80
  componentDidRender(): void;
@@ -1,4 +1,4 @@
1
- import { VNode } from '../../stencil-public-runtime';
1
+ import { type VNode } from '../../stencil-public-runtime';
2
2
  import { PositionItem } from "../../types/index";
3
3
  import { Cell } from "../../types/index";
4
4
  type Props = {
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { DSourceState } from "../../store/index";
3
- import { DimensionRows, DataType, DimensionSettingsState, DragStartEvent, PositionItem, Cell } from "../../types/index";
4
- import { Observable } from '../../utils/store.utils';
2
+ import { type DSourceState } from "../../store/index";
3
+ import type { DimensionRows, DataType, DimensionSettingsState, DragStartEvent, PositionItem, Cell, RowDragStartDetails } from "../../types/index";
4
+ import type { Observable } from '../../utils';
5
5
  /**
6
6
  * Component for handling row order editor.
7
7
  */
@@ -16,13 +16,7 @@ export declare class OrderEditor {
16
16
  dataStore: Observable<DSourceState<DataType, DimensionRows>>;
17
17
  rowType: DimensionRows;
18
18
  /** Row drag started */
19
- rowDragStart: EventEmitter<{
20
- cell: Cell;
21
- text: string;
22
- pos: PositionItem;
23
- event: MouseEvent;
24
- rowType: DimensionRows;
25
- }>;
19
+ rowDragStart: EventEmitter<RowDragStartDetails>;
26
20
  /** Row drag ended started */
27
21
  rowDragEnd: EventEmitter<{
28
22
  rowType: DimensionRows;
@@ -2,7 +2,7 @@ import { EventData } from './selection.utils';
2
2
  import { DSourceState } from "../../store/index";
3
3
  import ColumnService from '../data/column.service';
4
4
  import { DataLookup, DataType, DimensionSettingsState, TempRange, ChangedRange, BeforeRangeSaveDataDetails, RangeArea, Cell, DimensionRows, Nullable } from "../../types/index";
5
- import { Observable } from '../../utils/store.utils';
5
+ import { Observable } from '../../utils';
6
6
  type Config = {
7
7
  dimensionRow: Observable<DimensionSettingsState>;
8
8
  dimensionCol: Observable<DimensionSettingsState>;
@@ -68,7 +68,7 @@ export declare class AutoFillService {
68
68
  /**
69
69
  * Trigger range apply events and handle responses
70
70
  */
71
- onRangeApply(data: DataLookup, range: RangeArea | null): void;
71
+ onRangeApply(newData: DataLookup, newRange: RangeArea | null, oldRange: RangeArea | null): void;
72
72
  /** Apply range and copy data during range application */
73
73
  private applyRangeWithData;
74
74
  /**
@@ -1,6 +1,6 @@
1
+ import { type Observable } from '../../utils';
1
2
  import { EventData } from './selection.utils';
2
3
  import { Cell, Nullable, RangeArea, SelectionStoreState } from "../../types/index";
3
- import { Observable } from '../../utils/store.utils';
4
4
  type Config = {
5
5
  selectionStore: Observable<SelectionStoreState>;
6
6
  change(val?: any): void;
@@ -2,8 +2,8 @@ import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import ColumnService from '../data/column.service';
3
3
  import { type DSourceState } from "../../store/index";
4
4
  import { EventData } from './selection.utils';
5
- import { Observable, SelectionStoreState, DimensionSettingsState, DataType, DimensionRows, ColumnRegular, DimensionCols, Cell, DragStartEvent } from '../../components';
6
- import type { MultiDimensionType, Nullable, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, FocusRenderEvent, ApplyFocusEvent, AllDimensionType, Editors, BeforeSaveDataDetails, BeforeEdit, RangeArea, TempRange, ChangedRange, BeforeRangeSaveDataDetails, SaveDataDetails } from "../../types/index";
5
+ import { type Observable } from '../../utils';
6
+ import type { SelectionStoreState, DimensionSettingsState, DataType, DimensionRows, ColumnRegular, DimensionCols, DragStartEvent, Cell, MultiDimensionType, Nullable, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, FocusRenderEvent, ApplyFocusEvent, AllDimensionType, Editors, BeforeSaveDataDetails, BeforeEdit, RangeArea, TempRange, ChangedRange, BeforeRangeSaveDataDetails, SaveDataDetails } from "../../types/index";
7
7
  /**
8
8
  * Component for overlaying the grid with the selection.
9
9
  */
@@ -89,27 +89,30 @@ export declare class OverlaySelection {
89
89
  */
90
90
  setEdit: EventEmitter<BeforeEdit>;
91
91
  /**
92
- * Before range applied. First step in triggerRangeEvent.
92
+ * Before range applied.
93
+ * First step in triggerRangeEvent.
93
94
  */
94
95
  beforeApplyRange: EventEmitter<FocusRenderEvent>;
95
96
  /**
96
- * Before range selection applied. Second step in triggerRangeEvent.
97
+ * Before range selection applied.
98
+ * Second step in triggerRangeEvent.
97
99
  */
98
100
  beforeSetRange: EventEmitter;
99
- /**
100
- * Before editor render.
101
- */
102
- beforeEditRender: EventEmitter<FocusRenderEvent>;
103
101
  /**
104
102
  * Set range.
103
+ * Third step in triggerRangeEvent.
105
104
  */
106
105
  setRange: EventEmitter<RangeArea & {
107
106
  type: MultiDimensionType;
108
107
  }>;
109
- /** Select all. */
108
+ /**
109
+ * Before editor render.
110
+ */
111
+ beforeEditRender: EventEmitter<FocusRenderEvent>;
112
+ /** Select all cells from keyboard. */
110
113
  selectAll: EventEmitter;
111
114
  /**
112
- * Used for editors support when editor close requested.
115
+ * Cancel edit. Used for editors support when editor close requested.
113
116
  */
114
117
  cancelEdit: EventEmitter;
115
118
  /**
@@ -131,10 +134,10 @@ export declare class OverlaySelection {
131
134
  * Cell get focused.
132
135
  * To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
133
136
  */
134
- focusCell: EventEmitter<ApplyFocusEvent>;
137
+ focusCell: EventEmitter<ApplyFocusEvent & FocusRenderEvent>;
135
138
  /** Range data apply. */
136
139
  beforeRangeDataApply: EventEmitter<FocusRenderEvent>;
137
- /** Selection range changed. */
140
+ /** Autofill data in range. First step in applyRangeWithData */
138
141
  selectionChange: EventEmitter<ChangedRange>;
139
142
  /** Before range copy. */
140
143
  beforeRangeCopyApply: EventEmitter<ChangedRange>;
@@ -207,7 +210,7 @@ export declare class OverlaySelection {
207
210
  /**
208
211
  * Selection & Keyboard
209
212
  */
210
- selectionServiceSet(s: Observable<SelectionStoreState>): void;
213
+ selectionServiceSet(selectionStore: Observable<SelectionStoreState>): void;
211
214
  /** Autofill */
212
215
  createAutoFillService(): void;
213
216
  /** Columns */
@@ -1,6 +1,6 @@
1
1
  import { DimensionIndexInput, DSourceState } from "../../store/index";
2
2
  import type { DimensionSettingsState, Cell, RangeArea, RangeAreaCss, DataLookup, DimensionRows, DataType, EditCellStore } from "../../types/index";
3
- import { Observable } from '../../utils/store.utils';
3
+ import { Observable } from '../../utils';
4
4
  export type EventData = {
5
5
  el: HTMLElement;
6
6
  rows: DimensionSettingsState;
@@ -0,0 +1,37 @@
1
+ import { PluginBaseComponent, PluginProviders, PluginServiceBase } from "../../types/index";
2
+ import { GridPlugin } from "../../plugins/index";
3
+ /**
4
+ * Plugin service
5
+ * Manages plugins
6
+ */
7
+ export declare class PluginService implements PluginServiceBase {
8
+ /**
9
+ * Plugins
10
+ * Define plugins collection
11
+ */
12
+ internalPlugins: PluginBaseComponent[];
13
+ /**
14
+ * Get all plugins
15
+ */
16
+ get(): PluginBaseComponent[];
17
+ /**
18
+ * Add plugin to collection
19
+ */
20
+ add(plugin: PluginBaseComponent): void;
21
+ /**
22
+ * Add user plugins and create
23
+ */
24
+ addUserPluginsAndCreate(element: HTMLRevoGridElement, plugins?: GridPlugin[], prevPlugins?: GridPlugin[], pluginData?: PluginProviders): void;
25
+ /**
26
+ * Get plugin by class
27
+ */
28
+ getByClass<T extends PluginBaseComponent>(pluginClass: new (...args: any[]) => T): T | undefined;
29
+ /**
30
+ * Remove plugin
31
+ */
32
+ remove(plugin: PluginBaseComponent): void;
33
+ /**
34
+ * Remove all plugins
35
+ */
36
+ destroy(): void;
37
+ }
@@ -1,38 +1,45 @@
1
- import { EventEmitter, VNode } from '../../stencil-public-runtime';
2
- import type { MultiDimensionType, DimensionRows, DimensionCols, DimensionTypeCol, RowHeaders, ColumnRegular, ColumnGrouping, DataType, RowDefinition, ColumnType, FocusTemplateFunc, PositionItem, ColumnProp, ViewPortScrollEvent, InitialHeaderClick, AllDimensionType, Editors, BeforeSaveDataDetails, BeforeRangeSaveDataDetails, Cell, ChangedRange, RangeArea, AfterEditEvent, Theme, PluginBaseComponent, FocusAfterRenderEvent } from "../../types/index";
1
+ import { type VNode, EventEmitter } from '../../stencil-public-runtime';
2
+ import type { MultiDimensionType, DimensionRows, DimensionCols, DimensionTypeCol, RowHeaders, ColumnRegular, ColumnGrouping, DataType, RowDefinition, ColumnType, FocusTemplateFunc, PositionItem, ColumnProp, ViewPortScrollEvent, InitialHeaderClick, AllDimensionType, Editors, BeforeSaveDataDetails, BeforeRangeSaveDataDetails, Cell, ChangedRange, RangeArea, AfterEditEvent, Theme, PluginBaseComponent, PluginProviders, FocusAfterRenderEvent, ExtraNodeFuncConfig, RowDragStartDetails } from "../../types/index";
3
3
  import ColumnDataProvider from '../../services/column.data.provider';
4
4
  import { DataProvider } from '../../services/data.provider';
5
5
  import { DSourceState } from "../../store/index";
6
6
  import DimensionProvider from '../../services/dimension.provider';
7
7
  import ViewportProvider from '../../services/viewport.provider';
8
8
  import ThemeService from '../../themeManager/theme.service';
9
- import { AutoSizeColumnConfig } from '../../plugins/column.auto-size.plugin';
9
+ import { type AutoSizeColumnConfig } from '../../plugins/column.auto-size.plugin';
10
10
  import { DataInput } from '../../plugins/export/types';
11
11
  import { GroupingOptions } from '../../plugins/groupingRow/grouping.row.types';
12
12
  import ViewportService, { FocusedData } from './viewport.service';
13
13
  import GridScrollingService from './viewport.scrolling.service';
14
- import SelectionStoreConnector from '../../services/selection.store.connector';
14
+ import { SelectionStoreConnector } from '../../services/selection.store.connector';
15
15
  import { OrdererService } from '../order/order-renderer';
16
- import type { Observable } from '../../utils/store.utils';
16
+ import type { Observable } from '../../utils';
17
17
  import type { GridPlugin } from '../../plugins/base.plugin';
18
18
  import { ColumnCollection } from '../../utils/column.utils';
19
- import { ColumnFilterConfig, FilterCollection } from '../../plugins/filter/filter.types';
19
+ import { ColumnFilterConfig, FilterCollectionItem } from '../../plugins/filter/filter.types';
20
+ import { PluginService } from './plugin.service';
21
+ import { SortingConfig, SortingOrder } from '../../plugins';
20
22
  /**
21
23
  * Revogrid - High-performance, customizable grid library for managing large datasets.
24
+ * ### Events guide
25
+ *
26
+ * For a comprehensive events guide, check the [Events API Page](./events.md).
27
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
28
+ *
29
+ * ### Type definitions
22
30
  *
23
- * :::tip
24
31
  * Read [type definition file](https://github.com/revolist/revogrid/blob/master/src/interfaces.d.ts) for the full interface information.
32
+ *
25
33
  * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
26
- * :::
27
34
  *
28
- * :::tip
29
- * For a comprehensive events guide, check the [dependency tree](#Dependencies).
30
- * All events propagate to the root level of the grid.
31
- * :::
35
+ * ### HTMLRevoGridElement
32
36
  *
33
37
  * @slot data-{column-type}-{row-type}. @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
34
38
  * @slot focus-{column-type}-{row-type}. @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
35
- */
39
+ * @slot viewport - Viewport slot.
40
+ * @slot header - Header slot.
41
+ * @slot footer - Footer slot.
42
+ */
36
43
  export declare class RevoGridComponent {
37
44
  /** Excel like functionality.
38
45
  * Show row numbers.
@@ -88,9 +95,10 @@ export declare class RevoGridComponent {
88
95
  */
89
96
  applyOnClose: boolean;
90
97
  /**
91
- * Custom grid plugins.
92
- * Has to be predefined during first grid init.
93
- * Every plugin should be inherited from BasePlugin.
98
+ * Custom grid plugins. Can be added or removed at runtime.
99
+ * Every plugin should be inherited from BasePlugin class.
100
+ *
101
+ * For more details check [Plugin guide](https://rv-grid.com/guide/plugin/)
94
102
  */
95
103
  plugins: GridPlugin[];
96
104
  /**
@@ -125,6 +133,11 @@ export declare class RevoGridComponent {
125
133
  * Or can be filter collection See `FilterCollection` for more info.
126
134
  */
127
135
  filter: boolean | ColumnFilterConfig;
136
+ /**
137
+ * Alternative way to set sorting.
138
+ * `{columns: [{prop: 'name', order: 'asc'}]}`
139
+ */
140
+ sorting?: SortingConfig;
128
141
  /**
129
142
  * Apply changes typed in editor on editor close except Escape cases.
130
143
  * If custom editor in use method `getValue` required.
@@ -186,8 +199,10 @@ export declare class RevoGridComponent {
186
199
  * Register new virtual node inside of grid.
187
200
  * Used for additional items creation such as plugin elements.
188
201
  * Should be set before grid render inside of plugins.
202
+ * Can return VNode result of h() function or a function that returns VNode.
203
+ * Function can be used for performance improvement and additional renders.
189
204
  */
190
- registerVNode: (VNode | (() => VNode))[];
205
+ registerVNode: (VNode | ((c: ExtraNodeFuncConfig) => VNode))[];
191
206
  /**
192
207
  * Enable accessibility. If disabled, the grid will not be accessible.
193
208
  * @default true
@@ -200,38 +215,38 @@ export declare class RevoGridComponent {
200
215
  */
201
216
  contentsizechanged: EventEmitter<MultiDimensionType>;
202
217
  /**
203
- * This event is triggered before the data is edited.
218
+ * Before the data is edited.
204
219
  * To prevent the default behavior of editing data and use your own implementation, call `e.preventDefault()`.
205
220
  * To override the edit result with your own value, set the `e.val` property to your desired value.
206
221
  */
207
222
  beforeedit: EventEmitter<BeforeSaveDataDetails>;
208
223
  /**
209
- * This event is triggered before applying range data, specifically when a range selection occurs.
224
+ * Before applying range data, specifically when a range selection occurs.
210
225
  * To customize the data and prevent the default edit data from being set, you can call `e.preventDefault()`.
211
226
  */
212
227
  beforerangeedit: EventEmitter<BeforeRangeSaveDataDetails>;
213
228
  /**
214
- * Triggered after data applied or range changed.
229
+ * After data applied or range changed.
215
230
  */
216
231
  afteredit: EventEmitter<AfterEditEvent>;
217
232
  /**
218
- * This event is triggered before autofill is applied.
233
+ * Before autofill is applied.
219
234
  * To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
220
235
  */
221
236
  beforeautofill: EventEmitter<ChangedRange>;
222
237
  /**
223
- * Triggered before range applied.
238
+ * Before autofill is applied. Runs before beforeautofill event.
224
239
  * Use e.preventDefault() to prevent range.
225
240
  */
226
241
  beforerange: EventEmitter<ChangedRange>;
227
242
  /**
228
- * Triggered after focus render finished.
243
+ * After focus render finished.
229
244
  * Can be used to access a focus element through `event.target`.
230
245
  * This is just a duplicate of `afterfocus` from `revogr-focus.tsx`.
231
246
  */
232
247
  afterfocus: EventEmitter<FocusAfterRenderEvent>;
233
248
  /**
234
- * This event is triggered before the order of `rgRow` is applied.
249
+ * Before the order of `rgRow` is applied.
235
250
  * To prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`.
236
251
  */
237
252
  roworderchanged: EventEmitter<{
@@ -239,22 +254,32 @@ export declare class RevoGridComponent {
239
254
  to: number;
240
255
  }>;
241
256
  /**
242
- * Triggered by sorting.plugin.ts
243
- * Before sorting apply.
244
- * Use e.preventDefault() to prevent sorting data change.
257
+ * By `sorting.plugin.ts`
258
+ * <br>Triggered immediately after header click.
259
+ * <br>First in sorting event sequence. Ff this event stops no other event called.
260
+ * <br>Use `e.preventDefault()` to prevent sorting.
245
261
  */
246
- beforesortingapply: EventEmitter<{
262
+ beforesorting: EventEmitter<{
247
263
  column: ColumnRegular;
248
264
  order: 'desc' | 'asc';
249
265
  additive: boolean;
250
266
  }>;
251
267
  /**
252
- * Triggered by sorting.plugin.ts
253
- * Before sorting event.
254
- * Initial sorting triggered, if this event stops no other event called.
255
- * Use e.preventDefault() to prevent sorting.
268
+ * By `sorting.plugin.ts`
269
+ * <br>Same as `beforesorting` but triggered after `beforeanysource` (when source is changed).
270
+ * <br>Use `e.preventDefault()` to prevent sorting data change.
256
271
  */
257
- beforesorting: EventEmitter<{
272
+ beforesourcesortingapply: EventEmitter<{
273
+ type: DimensionRows;
274
+ sorting?: SortingOrder;
275
+ }>;
276
+ /**
277
+ * By `sorting.plugin.ts`
278
+ * <br> After `beforesorting`
279
+ * <br>Triggered after column data updated with new sorting order.
280
+ * <br>Use `e.preventDefault()` to prevent sorting data change.
281
+ */
282
+ beforesortingapply: EventEmitter<{
258
283
  column: ColumnRegular;
259
284
  order: 'desc' | 'asc';
260
285
  additive: boolean;
@@ -264,21 +289,18 @@ export declare class RevoGridComponent {
264
289
  * To prevent the default behavior of changing the row order, you can call `e.preventDefault()`.
265
290
  * To change the item name at the start of the row order change, you can set `e.text` to the desired new name.
266
291
  */
267
- rowdragstart: EventEmitter<{
268
- pos: PositionItem;
269
- text: string;
270
- }>;
292
+ rowdragstart: EventEmitter<RowDragStartDetails>;
271
293
  /**
272
294
  * On header click.
273
295
  */
274
296
  headerclick: EventEmitter<ColumnRegular>;
275
297
  /**
276
- * This event is triggered before the cell focus is changed.
298
+ * Before the cell focus is changed.
277
299
  * To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
278
300
  */
279
301
  beforecellfocus: EventEmitter<BeforeSaveDataDetails>;
280
302
  /**
281
- * This event is triggered before the grid focus is lost.
303
+ * Before the grid focus is lost.
282
304
  * To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.
283
305
  */
284
306
  beforefocuslost: EventEmitter<FocusedData | null>;
@@ -334,7 +356,7 @@ export declare class RevoGridComponent {
334
356
  * Modify if you need to change filters.
335
357
  */
336
358
  beforefilterapply: EventEmitter<{
337
- collection: FilterCollection;
359
+ collection: Record<ColumnProp, FilterCollectionItem>;
338
360
  }>;
339
361
  /**
340
362
  * Emitted before applying a filter to the data source.
@@ -343,7 +365,7 @@ export declare class RevoGridComponent {
343
365
  * Modify the `itemsToFilter` property if you want to filter the indexes for trimming.
344
366
  */
345
367
  beforefiltertrimmed: EventEmitter<{
346
- collection: FilterCollection;
368
+ collection: Record<ColumnProp, FilterCollectionItem>;
347
369
  itemsToFilter: Record<number, boolean>;
348
370
  }>;
349
371
  /**
@@ -396,6 +418,10 @@ export declare class RevoGridComponent {
396
418
  * Emitted when the filter configuration is changed
397
419
  */
398
420
  filterconfigchanged: EventEmitter;
421
+ /**
422
+ * Emitted when the sorting configuration is changed
423
+ */
424
+ sortingconfigchanged: EventEmitter<SortingConfig>;
399
425
  /**
400
426
  * Emmited when the row headers are changed.
401
427
  */
@@ -420,19 +446,29 @@ export declare class RevoGridComponent {
420
446
  * Emmited after the theme is changed
421
447
  */
422
448
  afterthemechanged: EventEmitter<Theme>;
449
+ /**
450
+ * Emmited after grid created
451
+ */
452
+ created: EventEmitter;
423
453
  /**
424
454
  * Refreshes data viewport.
425
455
  * Can be specific part as rgRow or pinned rgRow or 'all' by default.
426
456
  */
427
457
  refresh(type?: DimensionRows | 'all'): Promise<void>;
428
458
  /**
429
- * Sets data at specified cell.
459
+ * Refreshes data at specified cell.
430
460
  * Useful for performance optimization.
431
461
  * No viewport update will be triggered.
462
+ *
463
+ * @example
464
+ * const grid = document.querySelector('revo-grid');
465
+ * grid.setDataAt({ row: 0, col: 0, val: 'test' }); // refresh
432
466
  */
433
- setDataAt(data: {
467
+ setDataAt({ row, col, colType, rowType, val, skipDataUpdate }: {
434
468
  row: number;
435
469
  col: number;
470
+ val?: any;
471
+ skipDataUpdate?: boolean;
436
472
  } & AllDimensionType): Promise<void | undefined>;
437
473
  /**
438
474
  * Scrolls viewport to specified row by index.
@@ -517,6 +553,12 @@ export declare class RevoGridComponent {
517
553
  * Get the currently selected Range.
518
554
  */
519
555
  getSelectedRange(): Promise<RangeArea | null>;
556
+ /**
557
+ * Refresh extra elements. Triggers re-rendering of extra elements and functions.
558
+ * Part of extraElements and registerVNode methods.
559
+ * Useful for plugins.
560
+ */
561
+ refreshExtraElements(): Promise<void>;
520
562
  private clickTrackForFocusClear?;
521
563
  mousedownHandle(event: MouseEvent | TouchEvent): void;
522
564
  /**
@@ -524,18 +566,14 @@ export declare class RevoGridComponent {
524
566
  */
525
567
  mouseupHandle(event: MouseEvent | TouchEvent): Promise<void>;
526
568
  /** Drag events */
527
- onRowDragStarted(e: CustomEvent<{
528
- pos: PositionItem;
529
- text: string;
530
- event: MouseEvent;
531
- }>): void;
569
+ onRowDragStarted(e: CustomEvent<HTMLRevogrOrderEditorElementEventMap['rowdragstartinit']>): void;
532
570
  onRowDragEnd(): void;
533
571
  onRowOrderChange(e: CustomEvent<HTMLRevogrOrderEditorElementEventMap['roworderchange']>): void;
534
572
  onRowDrag({ detail }: CustomEvent<PositionItem>): void;
535
573
  onRowMouseMove(e: CustomEvent<Cell>): void;
536
574
  onCellEdit(e: CustomEvent<BeforeSaveDataDetails>): Promise<void>;
537
- onRangeEdit(e: CustomEvent<BeforeRangeSaveDataDetails>): void;
538
- onRangeChanged(e: CustomEvent<ChangedRange>): void;
575
+ onRangeEdit(e: CustomEvent<HTMLRevogrOverlaySelectionElementEventMap['rangeeditapply']>): void;
576
+ onRangeChanged(e: CustomEvent<HTMLRevogrOverlaySelectionElementEventMap['selectionchangeinit']>): void;
539
577
  onRowDropped(e: CustomEvent<{
540
578
  from: number;
541
579
  to: number;
@@ -543,24 +581,25 @@ export declare class RevoGridComponent {
543
581
  onHeaderClick(e: CustomEvent<InitialHeaderClick>): void;
544
582
  onCellFocus(e: CustomEvent<BeforeSaveDataDetails>): void;
545
583
  element: HTMLRevoGridElement;
546
- extraElements: (VNode | (() => VNode))[];
584
+ extraElements: HTMLRevogrExtraElement['nodes'];
585
+ /**
586
+ * Service for rendering extra elements as virtual nodes
587
+ * Part of extraElements and registerVNode methods
588
+ */
589
+ extraService?: HTMLRevogrExtraElement;
547
590
  columnProvider?: ColumnDataProvider;
548
591
  dataProvider?: DataProvider;
549
592
  dimensionProvider?: DimensionProvider;
550
593
  viewportProvider?: ViewportProvider;
551
594
  themeService: ThemeService;
595
+ pluginService: PluginService;
552
596
  viewport: ViewportService | null;
553
597
  isInited: boolean;
554
598
  orderService: OrdererService;
555
- selectionStoreConnector: SelectionStoreConnector;
599
+ selectionStoreConnector?: SelectionStoreConnector;
556
600
  scrollingService: GridScrollingService;
557
- /**
558
- * Plugins
559
- * Define plugins collection
560
- */
561
- internalPlugins: PluginBaseComponent[];
562
601
  columnTypesChanged(): void;
563
- columnChanged(newVal?: (ColumnGrouping | ColumnRegular)[]): void;
602
+ columnChanged(newVal?: (ColumnGrouping | ColumnRegular)[], _prevVal?: (ColumnGrouping | ColumnRegular)[] | undefined, __watchName?: string, init?: boolean): void;
564
603
  disableVirtualXChanged(newVal?: boolean, prevVal?: boolean): void;
565
604
  rowSizeChanged(s: number): void;
566
605
  themeChanged(t: Theme, _?: Theme, __?: string, init?: boolean): void;
@@ -577,15 +616,20 @@ export declare class RevoGridComponent {
577
616
  */
578
617
  applyStretch(isStretch: boolean | string): void;
579
618
  applyFilter(cfg: boolean | ColumnFilterConfig): void;
619
+ applySorting(cfg?: SortingConfig): void;
580
620
  rowHeadersChange(rowHeaders?: RowHeaders | boolean): void;
581
621
  /**
582
622
  * Register external VNodes
583
623
  */
584
- registerOutsideVNodes(elements?: (VNode | (() => VNode))[]): void;
624
+ registerOutsideVNodes(elements?: HTMLRevogrExtraElement['nodes']): void;
585
625
  additionalDataChanged(data: any): void;
586
- pluginsChanged(plugins?: GridPlugin[], _prevPlugins?: GridPlugin[]): void;
626
+ /**
627
+ * User can add plugins via plugins property
628
+ */
629
+ pluginsChanged(plugins?: GridPlugin[], prevPlugins?: GridPlugin[]): void;
587
630
  private setPlugins;
588
- private getPluginData;
631
+ private setCorePlugins;
632
+ getPluginData(): PluginProviders | undefined;
589
633
  private removePlugins;
590
634
  connectedCallback(): void;
591
635
  /**
@@ -1,11 +1,11 @@
1
1
  import DimensionProvider from '../../services/dimension.provider';
2
- import SelectionStoreConnector from '../../services/selection.store.connector';
2
+ import { type SelectionStoreConnector } from '../../services/selection.store.connector';
3
3
  import ViewportProvider from '../../services/viewport.provider';
4
4
  import { OrdererService } from '../order/order-renderer';
5
5
  import GridScrollingService from './viewport.scrolling.service';
6
6
  import ColumnDataProvider from '../../services/column.data.provider';
7
7
  import { DataProvider } from '../../services/data.provider';
8
- import { Cell, ColumnRegular, DimensionCols, DimensionRows, RangeArea, ViewportProps } from "../../types/index";
8
+ import type { Cell, ColumnRegular, DimensionCols, DimensionRows, RangeArea, ViewportProps } from "../../types/index";
9
9
  export type ResizeDetails = {
10
10
  [index: number]: ColumnRegular;
11
11
  };
@@ -1,5 +1,5 @@
1
- import { VNode } from '../../stencil-public-runtime';
2
- import { HyperFunc } from "../../types/index";
1
+ import type { VNode } from '../../stencil-public-runtime';
2
+ import type { HyperFunc } from "../../types/index";
3
3
  type HeaderRender = {
4
4
  (start: number): (h: HyperFunc<VNode>, e: {
5
5
  rowIndex: number;
@@ -1,6 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { DimensionCols, DimensionType, ElementScroll } from "../../types/index";
3
- import { ScrollCoordinateEvent, ViewPortResizeEvent, ViewPortScrollEvent } from "../../types/index";
2
+ import type { DimensionCols, DimensionType, ElementScroll, ScrollCoordinateEvent, ViewPortResizeEvent, ViewPortScrollEvent } from "../../types/index";
4
3
  type Delta = 'deltaX' | 'deltaY';
5
4
  type LocalScrollEvent = {
6
5
  preventDefault(): void;
@@ -48,8 +47,6 @@ export declare class RevogrViewportScroll implements ElementScroll {
48
47
  */
49
48
  silentScroll: EventEmitter<ViewPortScrollEvent>;
50
49
  horizontalScroll: HTMLElement;
51
- private oldValY;
52
- private oldValX;
53
50
  private verticalScroll?;
54
51
  private header?;
55
52
  private footer?;
@@ -58,7 +55,7 @@ export declare class RevogrViewportScroll implements ElementScroll {
58
55
  */
59
56
  private horizontalMouseWheel;
60
57
  private verticalMouseWheel;
61
- private resizeService;
58
+ private resizeService?;
62
59
  private localScrollService;
63
60
  private localScrollTimer;
64
61
  setScroll(e: ViewPortScrollEvent): Promise<void>;
@@ -1,7 +1,6 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { DimensionType } from "../../types/index";
3
- import { ViewportState, DimensionSettingsState, ViewPortScrollEvent } from "../../types/index";
4
- import { Observable } from '../../utils/store.utils';
2
+ import type { DimensionType, ViewportState, DimensionSettingsState, ViewPortScrollEvent } from "../../types/index";
3
+ import { type Observable } from '../../utils';
5
4
  /**
6
5
  * Virtual scroll component
7
6
  */
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { DSourceState } from "../../store/index";
3
- import { SelectionStoreState, ColumnRegular, DataType, DimensionSettingsState, FocusRenderEvent, FocusTemplateFunc, DimensionCols, DimensionRows, FocusAfterRenderEvent } from "../../types/index";
4
- import { Observable } from '../../utils/store.utils';
3
+ import type { SelectionStoreState, ColumnRegular, DataType, DimensionSettingsState, FocusRenderEvent, FocusTemplateFunc, DimensionCols, DimensionRows, FocusAfterRenderEvent } from "../../types/index";
4
+ import type { Observable } from '../../utils';
5
5
  /**
6
6
  * Focus component. Shows focus layer around the cell that is currently in focus.
7
7
  * @slot focus-${view.type}-${data.type}. @example focus-rgCol-rgRow
@@ -1,6 +1,5 @@
1
- import { DimensionSettingsState } from "../../types/index";
2
- import { SelectionStoreState } from "../../types/index";
3
- import { Observable } from '../../utils/store.utils';
1
+ import { DimensionSettingsState, SelectionStoreState } from "../../types/index";
2
+ import type { Observable } from '../../utils';
4
3
  /**
5
4
  * Temporary range selection component. Shows temporary range selection.
6
5
  */