@revolist/revogrid 4.9.22 → 4.9.23

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 (208) hide show
  1. package/dist/cjs/{app-globals-a6bcda2f.js → app-globals-c0b20747.js} +2 -2
  2. package/dist/cjs/{app-globals-a6bcda2f.js.map → app-globals-c0b20747.js.map} +1 -1
  3. package/dist/cjs/{column.drag.plugin-3644bda6.js → column.drag.plugin-eb1db875.js} +50 -55
  4. package/dist/cjs/column.drag.plugin-eb1db875.js.map +1 -0
  5. package/dist/cjs/{column.service-caec759a.js → column.service-6089b047.js} +10 -20
  6. package/dist/cjs/column.service-6089b047.js.map +1 -0
  7. package/dist/{esm/debounce-e8e9464a.js → cjs/debounce-ec7a04b4.js} +36 -78
  8. package/dist/cjs/debounce-ec7a04b4.js.map +1 -0
  9. package/dist/cjs/{edit.utils-18840bb3.js → edit.utils-093fe9cd.js} +2 -2
  10. package/dist/cjs/{edit.utils-18840bb3.js.map → edit.utils-093fe9cd.js.map} +1 -1
  11. package/dist/cjs/{filter.button-1e1e16be.js → filter.button-afb16244.js} +2 -2
  12. package/dist/cjs/{filter.button-1e1e16be.js.map → filter.button-afb16244.js.map} +1 -1
  13. package/dist/cjs/{header-cell-renderer-4fd62cec.js → header-cell-renderer-2d56e8f5.js} +3 -3
  14. package/dist/cjs/{header-cell-renderer-4fd62cec.js.map → header-cell-renderer-2d56e8f5.js.map} +1 -1
  15. package/dist/cjs/{index-34dfb0db.js → index-10d10c55.js} +14 -20
  16. package/dist/cjs/index-10d10c55.js.map +1 -0
  17. package/dist/cjs/{index-71b783e2.js → index-a9ee8eef.js} +290 -854
  18. package/dist/cjs/index-a9ee8eef.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +11 -11
  20. package/dist/cjs/{key.utils-48b178d1.js → key.utils-1438f2ac.js} +2 -2
  21. package/dist/cjs/{key.utils-48b178d1.js.map → key.utils-1438f2ac.js.map} +1 -1
  22. package/dist/cjs/loader.cjs.js +2 -2
  23. package/dist/cjs/revo-grid.cjs.entry.js +43 -74
  24. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  25. package/dist/cjs/revo-grid.cjs.js +3 -3
  26. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  27. package/dist/cjs/revogr-attribution_6.cjs.entry.js +10 -10
  28. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  29. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +7 -7
  30. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  31. package/dist/cjs/revogr-data_4.cjs.entry.js +24 -47
  32. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  33. package/dist/cjs/revogr-filter-panel.cjs.entry.js +4 -4
  34. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  35. package/dist/cjs/{row-header-utils-baf917a2.js → row-header-utils-eb5949b3.js} +7 -9
  36. package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
  37. package/dist/cjs/{sorting.sign-54938069.js → sorting.sign-8bf92449.js} +2 -2
  38. package/dist/cjs/{sorting.sign-54938069.js.map → sorting.sign-8bf92449.js.map} +1 -1
  39. package/dist/cjs/{text-editor-bdc757b1.js → text-editor-ea3badef.js} +3 -3
  40. package/dist/cjs/{text-editor-bdc757b1.js.map → text-editor-ea3badef.js.map} +1 -1
  41. package/dist/cjs/{throttle-b5d436ca.js → throttle-6fecba1e.js} +6 -11
  42. package/dist/cjs/throttle-6fecba1e.js.map +1 -0
  43. package/dist/collection/collection-manifest.json +1 -1
  44. package/dist/collection/components/revoGrid/revo-grid.js +9 -13
  45. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  46. package/dist/collection/services/dimension.provider.js +4 -3
  47. package/dist/collection/services/dimension.provider.js.map +1 -1
  48. package/dist/collection/store/dimension/dimension.store.js +19 -6
  49. package/dist/collection/store/dimension/dimension.store.js.map +1 -1
  50. package/dist/collection/store/vp/viewport.store.js +5 -7
  51. package/dist/collection/store/vp/viewport.store.js.map +1 -1
  52. package/dist/esm/{app-globals-43714036.js → app-globals-3a760941.js} +2 -2
  53. package/dist/esm/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +1 -1
  54. package/dist/esm/{column.drag.plugin-49737eae.js → column.drag.plugin-cb25a5e1.js} +47 -52
  55. package/dist/esm/column.drag.plugin-cb25a5e1.js.map +1 -0
  56. package/dist/esm/{column.service-dc98409c.js → column.service-407956dd.js} +7 -17
  57. package/dist/esm/column.service-407956dd.js.map +1 -0
  58. package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
  59. package/dist/esm/debounce-7b511afc.js.map +1 -0
  60. package/dist/esm/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  61. package/dist/esm/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +1 -1
  62. package/dist/esm/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
  63. package/dist/esm/{filter.button-91088160.js.map → filter.button-37373672.js.map} +1 -1
  64. package/dist/esm/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +3 -3
  65. package/dist/esm/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
  66. package/dist/esm/{index-70354f39.js → index-a61f225b.js} +14 -20
  67. package/dist/esm/index-a61f225b.js.map +1 -0
  68. package/dist/esm/{index-29a9a87a.js → index-b6586f9b.js} +270 -834
  69. package/dist/esm/index-b6586f9b.js.map +1 -0
  70. package/dist/esm/index.js +11 -11
  71. package/dist/esm/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  72. package/dist/esm/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +1 -1
  73. package/dist/esm/loader.js +3 -3
  74. package/dist/esm/revo-grid.entry.js +39 -70
  75. package/dist/esm/revo-grid.entry.js.map +1 -1
  76. package/dist/esm/revo-grid.js +4 -4
  77. package/dist/esm/revo-grid.js.map +1 -1
  78. package/dist/esm/revogr-attribution_6.entry.js +10 -10
  79. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  80. package/dist/esm/revogr-clipboard_3.entry.js +7 -7
  81. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  82. package/dist/esm/revogr-data_4.entry.js +20 -43
  83. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  84. package/dist/esm/revogr-filter-panel.entry.js +4 -4
  85. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  86. package/dist/esm/{row-header-utils-32049c13.js → row-header-utils-e043f744.js} +7 -9
  87. package/dist/esm/row-header-utils-e043f744.js.map +1 -0
  88. package/dist/esm/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
  89. package/dist/esm/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +1 -1
  90. package/dist/esm/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +3 -3
  91. package/dist/esm/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +1 -1
  92. package/dist/esm/{throttle-c6f34cc0.js → throttle-bb3169c7.js} +4 -9
  93. package/dist/esm/throttle-bb3169c7.js.map +1 -0
  94. package/dist/revo-grid/app-globals-3a760941.js +5 -0
  95. package/dist/revo-grid/column.drag.plugin-cb25a5e1.js +5 -0
  96. package/dist/revo-grid/column.drag.plugin-cb25a5e1.js.map +1 -0
  97. package/dist/revo-grid/column.service-407956dd.js +5 -0
  98. package/dist/revo-grid/column.service-407956dd.js.map +1 -0
  99. package/dist/revo-grid/debounce-7b511afc.js +5 -0
  100. package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
  101. package/dist/revo-grid/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  102. package/dist/revo-grid/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
  103. package/dist/revo-grid/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +2 -2
  104. package/dist/revo-grid/index-a61f225b.js +6 -0
  105. package/dist/revo-grid/index-a61f225b.js.map +1 -0
  106. package/dist/revo-grid/index-b6586f9b.js +5 -0
  107. package/dist/revo-grid/index-b6586f9b.js.map +1 -0
  108. package/dist/revo-grid/index.esm.js +1 -1
  109. package/dist/revo-grid/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  110. package/dist/revo-grid/revo-grid.entry.js +1 -1
  111. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  112. package/dist/revo-grid/revo-grid.esm.js +1 -1
  113. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  114. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  115. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  116. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  117. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  118. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  119. package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
  120. package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
  121. package/dist/revo-grid/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
  122. package/dist/revo-grid/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +2 -2
  123. package/dist/revo-grid/throttle-bb3169c7.js +5 -0
  124. package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
  125. package/dist/types/store/dimension/dimension.store.d.ts +2 -1
  126. package/dist/types/store/vp/viewport.store.d.ts +0 -1
  127. package/hydrate/index.d.ts +4 -4
  128. package/hydrate/index.js +426 -1128
  129. package/hydrate/index.mjs +426 -1128
  130. package/package.json +3 -3
  131. package/standalone/column.service.js +5 -16
  132. package/standalone/column.service.js.map +1 -1
  133. package/standalone/debounce.js +7 -16
  134. package/standalone/debounce.js.map +1 -1
  135. package/standalone/dimension.helpers.js +15 -45
  136. package/standalone/dimension.helpers.js.map +1 -1
  137. package/standalone/index.js +0 -2
  138. package/standalone/index.js.map +1 -1
  139. package/standalone/index2.js +0 -2
  140. package/standalone/index2.js.map +1 -1
  141. package/standalone/reduce.js +1319 -474
  142. package/standalone/reduce.js.map +1 -1
  143. package/standalone/revo-grid.js +74 -111
  144. package/standalone/revo-grid.js.map +1 -1
  145. package/standalone/revogr-data2.js +0 -2
  146. package/standalone/revogr-data2.js.map +1 -1
  147. package/standalone/revogr-filter-panel.js +2 -2
  148. package/standalone/revogr-filter-panel.js.map +1 -1
  149. package/standalone/revogr-focus2.js +0 -2
  150. package/standalone/revogr-focus2.js.map +1 -1
  151. package/standalone/revogr-header2.js +12 -37
  152. package/standalone/revogr-header2.js.map +1 -1
  153. package/standalone/revogr-order-editor2.js +2 -4
  154. package/standalone/revogr-order-editor2.js.map +1 -1
  155. package/standalone/revogr-overlay-selection2.js +2 -4
  156. package/standalone/revogr-overlay-selection2.js.map +1 -1
  157. package/standalone/revogr-row-headers2.js +5 -9
  158. package/standalone/revogr-row-headers2.js.map +1 -1
  159. package/standalone/revogr-temp-range2.js +2 -2
  160. package/standalone/revogr-temp-range2.js.map +1 -1
  161. package/standalone/revogr-viewport-scroll2.js +2 -2
  162. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  163. package/standalone/selection.utils.js +0 -2
  164. package/standalone/selection.utils.js.map +1 -1
  165. package/standalone/throttle.js +3 -8
  166. package/standalone/throttle.js.map +1 -1
  167. package/standalone/toNumber.js +165 -22
  168. package/standalone/toNumber.js.map +1 -1
  169. package/dist/cjs/column.drag.plugin-3644bda6.js.map +0 -1
  170. package/dist/cjs/column.service-caec759a.js.map +0 -1
  171. package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
  172. package/dist/cjs/index-34dfb0db.js.map +0 -1
  173. package/dist/cjs/index-71b783e2.js.map +0 -1
  174. package/dist/cjs/row-header-utils-baf917a2.js.map +0 -1
  175. package/dist/cjs/throttle-b5d436ca.js.map +0 -1
  176. package/dist/esm/column.drag.plugin-49737eae.js.map +0 -1
  177. package/dist/esm/column.service-dc98409c.js.map +0 -1
  178. package/dist/esm/debounce-e8e9464a.js.map +0 -1
  179. package/dist/esm/index-29a9a87a.js.map +0 -1
  180. package/dist/esm/index-70354f39.js.map +0 -1
  181. package/dist/esm/row-header-utils-32049c13.js.map +0 -1
  182. package/dist/esm/throttle-c6f34cc0.js.map +0 -1
  183. package/dist/revo-grid/app-globals-43714036.js +0 -5
  184. package/dist/revo-grid/column.drag.plugin-49737eae.js +0 -5
  185. package/dist/revo-grid/column.drag.plugin-49737eae.js.map +0 -1
  186. package/dist/revo-grid/column.service-dc98409c.js +0 -5
  187. package/dist/revo-grid/column.service-dc98409c.js.map +0 -1
  188. package/dist/revo-grid/debounce-e8e9464a.js +0 -5
  189. package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
  190. package/dist/revo-grid/index-29a9a87a.js +0 -5
  191. package/dist/revo-grid/index-29a9a87a.js.map +0 -1
  192. package/dist/revo-grid/index-70354f39.js +0 -6
  193. package/dist/revo-grid/index-70354f39.js.map +0 -1
  194. package/dist/revo-grid/row-header-utils-32049c13.js +0 -5
  195. package/dist/revo-grid/row-header-utils-32049c13.js.map +0 -1
  196. package/dist/revo-grid/throttle-c6f34cc0.js +0 -5
  197. package/dist/revo-grid/throttle-c6f34cc0.js.map +0 -1
  198. package/standalone/_stringToPath.js +0 -1389
  199. package/standalone/_stringToPath.js.map +0 -1
  200. package/standalone/isObjectLike.js +0 -195
  201. package/standalone/isObjectLike.js.map +0 -1
  202. /package/dist/revo-grid/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +0 -0
  203. /package/dist/revo-grid/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +0 -0
  204. /package/dist/revo-grid/{filter.button-91088160.js.map → filter.button-37373672.js.map} +0 -0
  205. /package/dist/revo-grid/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
  206. /package/dist/revo-grid/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +0 -0
  207. /package/dist/revo-grid/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +0 -0
  208. /package/dist/revo-grid/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +0 -0
@@ -2,17 +2,16 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { h, proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, Host } from '@stencil/core/internal/client';
5
- import { i as createStore, r as reduce_1, h as setStore, b as getSourceItem, j as toInteger_1, _ as _isIterateeCall, g as getPhysical, d as setItems, k as isArray_1, l as _baseProperty, m as _baseKeys, n as isArrayLike_1, o as range_1, D as DataStore, e as getSourceItemVirtualIndexByProp, s as setSourceByVirtualIndex, a as getVisibleSourceItem, f as gatherTrimmedItems } from './reduce.js';
6
- import { c as calculateDimensionData, e as each, g as getItemByPosition, a as getItemByIndex } from './dimension.helpers.js';
7
- import { _ as _getTag } from './_stringToPath.js';
8
- import { _ as _baseGetTag, i as isObjectLike_1 } from './isObjectLike.js';
5
+ import { i as createStore, r as reduce, h as setStore, b as getSourceItem, j as toInteger, k as isIterateeCall, g as getPhysical, d as setItems, l as isArray, m as baseProperty, n as isArrayLike, o as getTag, q as baseKeys, u as range, D as DataStore, e as getSourceItemVirtualIndexByProp, s as setSourceByVirtualIndex, a as getVisibleSourceItem, f as gatherTrimmedItems } from './reduce.js';
9
6
  import { e as getColumnType, m as isGrouping, o as getGroupingName, d as getCellDataParsed, G as GROUP_EXPANDED, p as getParsedGroup, q as isSameGroup, r as GROUP_DEPTH, P as PSEUDO_GROUP_ITEM_VALUE, s as PSEUDO_GROUP_ITEM_ID, t as GROUPING_ROW_TYPE, u as PSEUDO_GROUP_COLUMN, v as GROUP_EXPAND_EVENT, w as gatherGrouping, x as isGroupingColumn, h as isColGrouping, l as getColumnByProp, f as getColumnSizes, E as EMPTY_INDEX, j as getColumns, y as SelectionStoreConnector } from './column.service.js';
10
- import { d as debounce_1 } from './debounce.js';
7
+ import { c as calculateDimensionData, f as forEach, g as getItemByPosition, a as getItemByIndex } from './dimension.helpers.js';
8
+ import { d as debounce } from './debounce.js';
11
9
  import { R as RESIZE_INTERVAL } from './consts.js';
12
10
  import { f as calculateRowHeaderSize, V as ViewportStore, h as defineCustomElement$6 } from './revogr-row-headers2.js';
13
11
  import { g as getScrollbarSize, t as timeout } from './index2.js';
14
12
  import { F as FILTER_PROP, i as isFilterBtn } from './filter.button.js';
15
13
  import './platform.js';
14
+ import { i as isObjectLike, b as baseGetTag } from './toNumber.js';
16
15
  import { v as viewportDataPartition, H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT, D as DATA_SLOT, d as defineCustomElement$3 } from './revogr-viewport-scroll2.js';
17
16
  import { d as dispatch, O as ON_COLUMN_CLICK, c as defineCustomElement$9 } from './revogr-header2.js';
18
17
  import { g as getPropertyFromEvent } from './selection.utils.js';
@@ -123,20 +122,32 @@ const trimmedPlugin = (store) => {
123
122
  },
124
123
  };
125
124
  };
126
- const realSizePlugin = (store) => {
125
+ /**
126
+ * Plugin which recalculates realSize on changes of sizes, originItemSize and count
127
+ */
128
+ const recalculateRealSizePlugin = (storeService) => {
129
+ /**
130
+ * Recalculates realSize if size, origin size or count changes
131
+ */
127
132
  return {
133
+ /**
134
+ * Reacts on changes of count, sizes and originItemSize
135
+ */
128
136
  set(k) {
129
137
  switch (k) {
130
138
  case 'count':
131
139
  case 'sizes':
132
140
  case 'originItemSize':
141
+ // recalculate realSize
133
142
  let realSize = 0;
134
- const count = store.store.get('count');
143
+ const count = storeService.store.get('count');
135
144
  for (let i = 0; i < count; i++) {
136
145
  realSize +=
137
- store.store.get('sizes')[i] || store.store.get('originItemSize');
146
+ storeService.store.get('sizes')[i] ||
147
+ storeService.store.get('originItemSize');
138
148
  }
139
- store.setStore({ realSize });
149
+ storeService.setStore({ realSize });
150
+ break;
140
151
  }
141
152
  },
142
153
  };
@@ -166,15 +177,16 @@ function initialState() {
166
177
  originItemSize: 0 });
167
178
  }
168
179
  class DimensionStore {
169
- constructor() {
180
+ constructor(type) {
181
+ this.type = type;
170
182
  this.store = createStore(initialState());
171
183
  this.store.use(trimmedPlugin(this));
172
- this.store.use(realSizePlugin(this));
184
+ this.store.use(recalculateRealSizePlugin(this));
173
185
  }
174
186
  getCurrentState() {
175
187
  const state = initialState();
176
188
  const keys = Object.keys(state);
177
- return reduce_1(keys, (r, k) => {
189
+ return reduce(keys, (r, k) => {
178
190
  const data = this.store.get(k);
179
191
  r[k] = data;
180
192
  return r;
@@ -381,9 +393,9 @@ class AutoSizeColumnPlugin extends BasePlugin {
381
393
  }
382
394
  }
383
395
  // calculate sizes
384
- each(autoSize, (_v, type) => {
396
+ forEach(autoSize, (_v, type) => {
385
397
  const sizes = {};
386
- each(autoSize[type], rgCol => {
398
+ forEach(autoSize[type], rgCol => {
387
399
  // calculate size
388
400
  rgCol.size = sizes[rgCol.index] = source.reduce((prev, rgRow) => Math.max(prev, this.getLength(rgRow[rgCol.prop])), this.getLength(rgCol.name || ''));
389
401
  });
@@ -417,12 +429,12 @@ class AutoSizeColumnPlugin extends BasePlugin {
417
429
  else {
418
430
  data = { 0: { [e.prop]: e.val } };
419
431
  }
420
- each(this.autoSizeColumns, (columns, type) => {
432
+ forEach(this.autoSizeColumns, (columns, type) => {
421
433
  const sizes = {};
422
- each(columns, rgCol => {
434
+ forEach(columns, rgCol => {
423
435
  var _a;
424
436
  // calculate size
425
- const size = reduce_1(data, (prev, rgRow) => {
437
+ const size = reduce(data, (prev, rgRow) => {
426
438
  if (typeof rgRow[rgCol.prop] === 'undefined') {
427
439
  return prev;
428
440
  }
@@ -438,14 +450,14 @@ class AutoSizeColumnPlugin extends BasePlugin {
438
450
  afterEditAll(e) {
439
451
  const props = {};
440
452
  if (this.isRangeEdit(e)) {
441
- each(e.data, r => each(r, (_v, p) => (props[p] = true)));
453
+ forEach(e.data, r => forEach(r, (_v, p) => (props[p] = true)));
442
454
  }
443
455
  else {
444
456
  props[e.prop] = true;
445
457
  }
446
- each(this.autoSizeColumns, (columns, type) => {
458
+ forEach(this.autoSizeColumns, (columns, type) => {
447
459
  const sizes = {};
448
- each(columns, rgCol => {
460
+ forEach(columns, rgCol => {
449
461
  if (props[rgCol.prop]) {
450
462
  const size = this.getColumnSize(rgCol.index, type);
451
463
  if (size) {
@@ -462,8 +474,8 @@ class AutoSizeColumnPlugin extends BasePlugin {
462
474
  if (!rgCol) {
463
475
  return 0;
464
476
  }
465
- return reduce_1(this.providers.data.stores, (r, s) => {
466
- const perStore = reduce_1(s.store.get('items'), (prev, _row, i) => {
477
+ return reduce(this.providers.data.stores, (r, s) => {
478
+ const perStore = reduce(s.store.get('items'), (prev, _row, i) => {
467
479
  const item = getSourceItem(s.store, i);
468
480
  return Math.max(prev || 0, this.getLength(item === null || item === void 0 ? void 0 : item[rgCol.prop]));
469
481
  }, 0);
@@ -571,7 +583,7 @@ class StretchColumn extends BasePlugin {
571
583
  this.dropChanges();
572
584
  // calculate grid size
573
585
  let sizeDifference = this.revogrid.clientWidth - 1;
574
- each(columns, (_, type) => {
586
+ forEach(columns, (_, type) => {
575
587
  const realSize = this.providers.dimension.stores[type].store.get('realSize');
576
588
  sizeDifference -= realSize;
577
589
  });
@@ -622,8 +634,7 @@ function isStretchPlugin(plugin) {
622
634
  * @param {number} upper The upper bound.
623
635
  * @returns {number} Returns the clamped number.
624
636
  */
625
-
626
- function baseClamp$1(number, lower, upper) {
637
+ function baseClamp(number, lower, upper) {
627
638
  if (number === number) {
628
639
  if (upper !== undefined) {
629
640
  number = number <= upper ? number : upper;
@@ -635,11 +646,6 @@ function baseClamp$1(number, lower, upper) {
635
646
  return number;
636
647
  }
637
648
 
638
- var _baseClamp = baseClamp$1;
639
-
640
- var baseClamp = _baseClamp,
641
- toInteger$1 = toInteger_1;
642
-
643
649
  /** Used as references for the maximum length and index of an array. */
644
650
  var MAX_ARRAY_LENGTH = 4294967295;
645
651
 
@@ -670,15 +676,10 @@ var MAX_ARRAY_LENGTH = 4294967295;
670
676
  * _.toLength('3.2');
671
677
  * // => 3
672
678
  */
673
- function toLength$1(value) {
674
- return value ? baseClamp(toInteger$1(value), 0, MAX_ARRAY_LENGTH) : 0;
679
+ function toLength(value) {
680
+ return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
675
681
  }
676
682
 
677
- var toLength_1 = toLength$1;
678
-
679
- var toInteger = toInteger_1,
680
- toLength = toLength_1;
681
-
682
683
  /**
683
684
  * The base implementation of `_.fill` without an iteratee call guard.
684
685
  *
@@ -689,7 +690,7 @@ var toInteger = toInteger_1,
689
690
  * @param {number} [end=array.length] The end position.
690
691
  * @returns {Array} Returns `array`.
691
692
  */
692
- function baseFill$1(array, value, start, end) {
693
+ function baseFill(array, value, start, end) {
693
694
  var length = array.length;
694
695
 
695
696
  start = toInteger(start);
@@ -707,11 +708,6 @@ function baseFill$1(array, value, start, end) {
707
708
  return array;
708
709
  }
709
710
 
710
- var _baseFill = baseFill$1;
711
-
712
- var baseFill = _baseFill,
713
- isIterateeCall = _isIterateeCall;
714
-
715
711
  /**
716
712
  * Fills elements of `array` with `value` from `start` up to, but not
717
713
  * including, `end`.
@@ -753,8 +749,6 @@ function fill(array, value, start, end) {
753
749
  return baseFill(array, value, start, end);
754
750
  }
755
751
 
756
- var fill_1 = fill;
757
-
758
752
  const INITIAL = {
759
753
  mime: 'text/csv',
760
754
  fileKind: 'csv',
@@ -928,7 +922,7 @@ class ExportFilePlugin extends BasePlugin {
928
922
  }
929
923
  getGroupHeaders(depth, groups, items, visibleItems) {
930
924
  const rows = [];
931
- const template = fill_1(new Array(items.length), '');
925
+ const template = fill(new Array(items.length), '');
932
926
  for (let d = 0; d < depth; d++) {
933
927
  const rgRow = [...template];
934
928
  rows.push(rgRow);
@@ -1219,7 +1213,7 @@ class FilterPlugin extends BasePlugin {
1219
1213
  }
1220
1214
  }
1221
1215
  if (config.collection) {
1222
- this.filterCollection = reduce_1(config.collection, (result, item, prop) => {
1216
+ this.filterCollection = reduce(config.collection, (result, item, prop) => {
1223
1217
  if (this.filterFunctionsIndexedByType[item.type]) {
1224
1218
  result[prop] = item;
1225
1219
  }
@@ -1895,7 +1889,7 @@ class ColumnPlugin extends BasePlugin {
1895
1889
  super(revogrid, providers);
1896
1890
  this.revogrid = revogrid;
1897
1891
  this.providers = providers;
1898
- this.moveFunc = debounce_1((e) => this.doMove(e), 5);
1892
+ this.moveFunc = debounce((e) => this.doMove(e), 5);
1899
1893
  this.staticDragData = null;
1900
1894
  this.dragData = null;
1901
1895
  this.localSubscriptions = {};
@@ -2003,7 +1997,7 @@ class ColumnPlugin extends BasePlugin {
2003
1997
  this.clearOrder();
2004
1998
  }
2005
1999
  clearLocalSubscriptions() {
2006
- each(this.localSubscriptions, ({ target, callback }, key) => target.removeEventListener(key, callback));
2000
+ forEach(this.localSubscriptions, ({ target, callback }, key) => target.removeEventListener(key, callback));
2007
2001
  }
2008
2002
  clearOrder() {
2009
2003
  this.staticDragData = null;
@@ -2037,10 +2031,6 @@ function getLeftRelative(absoluteX, gridPos, offset) {
2037
2031
  return absoluteX - gridPos - offset;
2038
2032
  }
2039
2033
 
2040
- var baseGetTag = _baseGetTag,
2041
- isArray = isArray_1,
2042
- isObjectLike = isObjectLike_1;
2043
-
2044
2034
  /** `Object#toString` result references. */
2045
2035
  var stringTag = '[object String]';
2046
2036
 
@@ -2061,15 +2051,11 @@ var stringTag = '[object String]';
2061
2051
  * _.isString(1);
2062
2052
  * // => false
2063
2053
  */
2064
- function isString$1(value) {
2054
+ function isString(value) {
2065
2055
  return typeof value == 'string' ||
2066
2056
  (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
2067
2057
  }
2068
2058
 
2069
- var isString_1 = isString$1;
2070
-
2071
- var baseProperty = _baseProperty;
2072
-
2073
2059
  /**
2074
2060
  * Gets the size of an ASCII `string`.
2075
2061
  *
@@ -2077,12 +2063,11 @@ var baseProperty = _baseProperty;
2077
2063
  * @param {string} string The string inspect.
2078
2064
  * @returns {number} Returns the string size.
2079
2065
  */
2080
- var asciiSize$1 = baseProperty('length');
2066
+ var asciiSize = baseProperty('length');
2081
2067
 
2082
- var _asciiSize = asciiSize$1;
2068
+ const asciiSize$1 = asciiSize;
2083
2069
 
2084
2070
  /** Used to compose unicode character classes. */
2085
-
2086
2071
  var rsAstralRange$1 = '\\ud800-\\udfff',
2087
2072
  rsComboMarksRange$1 = '\\u0300-\\u036f',
2088
2073
  reComboHalfMarksRange$1 = '\\ufe20-\\ufe2f',
@@ -2103,14 +2088,11 @@ var reHasUnicode = RegExp('[' + rsZWJ$1 + rsAstralRange$1 + rsComboRange$1 + rs
2103
2088
  * @param {string} string The string to inspect.
2104
2089
  * @returns {boolean} Returns `true` if a symbol is found, else `false`.
2105
2090
  */
2106
- function hasUnicode$1(string) {
2091
+ function hasUnicode(string) {
2107
2092
  return reHasUnicode.test(string);
2108
2093
  }
2109
2094
 
2110
- var _hasUnicode = hasUnicode$1;
2111
-
2112
2095
  /** Used to compose unicode character classes. */
2113
-
2114
2096
  var rsAstralRange = '\\ud800-\\udfff',
2115
2097
  rsComboMarksRange = '\\u0300-\\u036f',
2116
2098
  reComboHalfMarksRange = '\\ufe20-\\ufe2f',
@@ -2145,7 +2127,7 @@ var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
2145
2127
  * @param {string} string The string inspect.
2146
2128
  * @returns {number} Returns the string size.
2147
2129
  */
2148
- function unicodeSize$1(string) {
2130
+ function unicodeSize(string) {
2149
2131
  var result = reUnicode.lastIndex = 0;
2150
2132
  while (reUnicode.test(string)) {
2151
2133
  ++result;
@@ -2153,12 +2135,6 @@ function unicodeSize$1(string) {
2153
2135
  return result;
2154
2136
  }
2155
2137
 
2156
- var _unicodeSize = unicodeSize$1;
2157
-
2158
- var asciiSize = _asciiSize,
2159
- hasUnicode = _hasUnicode,
2160
- unicodeSize = _unicodeSize;
2161
-
2162
2138
  /**
2163
2139
  * Gets the number of symbols in `string`.
2164
2140
  *
@@ -2166,20 +2142,12 @@ var asciiSize = _asciiSize,
2166
2142
  * @param {string} string The string to inspect.
2167
2143
  * @returns {number} Returns the string size.
2168
2144
  */
2169
- function stringSize$1(string) {
2145
+ function stringSize(string) {
2170
2146
  return hasUnicode(string)
2171
2147
  ? unicodeSize(string)
2172
- : asciiSize(string);
2148
+ : asciiSize$1(string);
2173
2149
  }
2174
2150
 
2175
- var _stringSize = stringSize$1;
2176
-
2177
- var baseKeys = _baseKeys,
2178
- getTag = _getTag,
2179
- isArrayLike = isArrayLike_1,
2180
- isString = isString_1,
2181
- stringSize = _stringSize;
2182
-
2183
2151
  /** `Object#toString` result references. */
2184
2152
  var mapTag = '[object Map]',
2185
2153
  setTag = '[object Set]';
@@ -2219,8 +2187,6 @@ function size(collection) {
2219
2187
  return baseKeys(collection).length;
2220
2188
  }
2221
2189
 
2222
- var size_1 = size;
2223
-
2224
2190
  /**
2225
2191
  * Lifecycle
2226
2192
  * 1. @event `beforesorting` - Triggered when sorting just starts. Nothing has happened yet. This can be triggered from a column or from the source. If the type is from rows, the column will be undefined.
@@ -2241,7 +2207,7 @@ class SortingPlugin extends BasePlugin {
2241
2207
  super(revogrid, providers);
2242
2208
  this.revogrid = revogrid;
2243
2209
  this.sortingPromise = null;
2244
- this.postponeSort = debounce_1(async (order, comparison) => this.runSorting(order, comparison), 50);
2210
+ this.postponeSort = debounce(async (order, comparison) => this.runSorting(order, comparison), 50);
2245
2211
  const beforeanysource = async ({ detail: { type }, }) => {
2246
2212
  // if sorting was provided - sort data
2247
2213
  if (!!this.sorting && this.sortingFunc) {
@@ -2324,7 +2290,7 @@ class SortingPlugin extends BasePlugin {
2324
2290
  this.sorting = Object.assign(Object.assign({}, this.sorting), sorting);
2325
2291
  // extend sorting function with new sorting for multiple columns sorting
2326
2292
  this.sortingFunc = Object.assign(Object.assign({}, this.sortingFunc), sortingFunc);
2327
- if (column.prop in sorting && size_1(sorting) > 1 && order === undefined) {
2293
+ if (column.prop in sorting && size(sorting) > 1 && order === undefined) {
2328
2294
  delete sorting[column.prop];
2329
2295
  delete sortingFunc[column.prop];
2330
2296
  }
@@ -2356,7 +2322,7 @@ class SortingPlugin extends BasePlugin {
2356
2322
  */
2357
2323
  async sort(sorting, sortingFunc, types = ['rgRow', 'rowPinStart', 'rowPinEnd']) {
2358
2324
  // if no sorting - reset
2359
- if (!size_1(sorting)) {
2325
+ if (!size(sorting)) {
2360
2326
  this.sorting = undefined;
2361
2327
  this.sortingFunc = undefined;
2362
2328
  for (let type of types) {
@@ -2364,7 +2330,7 @@ class SortingPlugin extends BasePlugin {
2364
2330
  // row data
2365
2331
  const source = store.get('source');
2366
2332
  // row indexes
2367
- const proxyItems = range_1(0, source.length);
2333
+ const proxyItems = range(0, source.length);
2368
2334
  setStore(store, {
2369
2335
  proxyItems,
2370
2336
  source: [...source],
@@ -2471,7 +2437,7 @@ class ColumnDataProvider {
2471
2437
  return getSourceItem(this.dataSources[type].store, virtualIndex);
2472
2438
  }
2473
2439
  getRawColumns() {
2474
- return reduce_1(this.dataSources, (result, item, type) => {
2440
+ return reduce(this.dataSources, (result, item, type) => {
2475
2441
  result[type] = item.store.get('source');
2476
2442
  return result;
2477
2443
  }, {
@@ -2572,14 +2538,14 @@ class ColumnDataProvider {
2572
2538
  return column;
2573
2539
  }
2574
2540
  clearSorting() {
2575
- const types = reduce_1(this.sorting, (r, c) => {
2541
+ const types = reduce(this.sorting, (r, c) => {
2576
2542
  const k = getColumnType(c);
2577
2543
  r[k] = true;
2578
2544
  return r;
2579
2545
  }, {});
2580
- each(types, (_, type) => {
2546
+ forEach(types, (_, type) => {
2581
2547
  const cols = this.dataSources[type].store.get('source');
2582
- each(cols, (c) => (c.order = undefined));
2548
+ forEach(cols, (c) => (c.order = undefined));
2583
2549
  this.dataSources[type].setData({ source: [...cols] });
2584
2550
  });
2585
2551
  this.sorting = {};
@@ -2592,7 +2558,7 @@ class ColumnDataProvider {
2592
2558
  class DataProvider {
2593
2559
  constructor(dimensionProvider) {
2594
2560
  this.dimensionProvider = dimensionProvider;
2595
- this.stores = reduce_1(rowTypes, (sources, k) => {
2561
+ this.stores = reduce(rowTypes, (sources, k) => {
2596
2562
  sources[k] = new DataStore(k);
2597
2563
  return sources;
2598
2564
  }, {});
@@ -2659,10 +2625,10 @@ class DataProvider {
2659
2625
  class DimensionProvider {
2660
2626
  constructor(viewports, config) {
2661
2627
  this.viewports = viewports;
2662
- const sizeChanged = debounce_1((k) => config.realSizeChanged(k), RESIZE_INTERVAL);
2663
- this.stores = reduce_1([...rowTypes, ...columnTypes], (sources, k) => {
2664
- sources[k] = new DimensionStore();
2665
- sources[k].store.onChange('realSize', () => sizeChanged(k));
2628
+ const sizeChanged = debounce((k) => config.realSizeChanged(k), RESIZE_INTERVAL);
2629
+ this.stores = reduce([...rowTypes, ...columnTypes], (sources, t) => {
2630
+ sources[t] = new DimensionStore(t);
2631
+ sources[t].store.onChange('realSize', () => sizeChanged(t));
2666
2632
  return sources;
2667
2633
  }, {});
2668
2634
  }
@@ -2744,6 +2710,7 @@ class DimensionProvider {
2744
2710
  if (noVirtual) {
2745
2711
  vpUpdate.virtualSize = this.stores[type].getCurrentState().realSize;
2746
2712
  }
2713
+ // if virtualSize present this would trigger viewport clear
2747
2714
  this.viewports.stores[type].setViewport(vpUpdate);
2748
2715
  this.setViewPortCoordinate({
2749
2716
  coordinate: this.viewports.stores[type].lastCoordinate,
@@ -2797,7 +2764,7 @@ class DimensionProvider {
2797
2764
 
2798
2765
  class ViewportProvider {
2799
2766
  constructor() {
2800
- this.stores = reduce_1([...rowTypes, ...columnTypes], (sources, k) => {
2767
+ this.stores = reduce([...rowTypes, ...columnTypes], (sources, k) => {
2801
2768
  sources[k] = new ViewportStore(k);
2802
2769
  return sources;
2803
2770
  }, {});
@@ -2909,7 +2876,7 @@ class ViewportService {
2909
2876
  onColumnResize(type, { detail }, store) {
2910
2877
  var _a;
2911
2878
  (_a = this.config.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(type, detail, true);
2912
- const changedItems = reduce_1(detail || {}, (r, size, i) => {
2879
+ const changedItems = reduce(detail || {}, (r, size, i) => {
2913
2880
  const index = parseInt(i, 10);
2914
2881
  const item = getSourceItem(store, index);
2915
2882
  if (item) {
@@ -3796,7 +3763,7 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
3796
3763
  vals: after,
3797
3764
  oldVals: before,
3798
3765
  });
3799
- // apply new vals
3766
+ // apply new values
3800
3767
  const newRows = rowDefinitionByType(newVal);
3801
3768
  // clear current defs
3802
3769
  if (oldVal) {
@@ -3811,18 +3778,14 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
3811
3778
  }
3812
3779
  }
3813
3780
  }
3814
- if (!newVal.length) {
3815
- if (forceUpdate) {
3816
- this.dimensionProvider.setCustomSizes('rgRow', {});
3817
- }
3818
- else {
3819
- return;
3820
- }
3821
- }
3822
- Object.entries(newRows).forEach(([k, r]) => {
3781
+ // set new sizes
3782
+ rowTypes.forEach((t) => {
3823
3783
  var _a;
3824
- const type = k;
3825
- (_a = this.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(type, r.sizes || {});
3784
+ const newSizes = newRows[t];
3785
+ // apply new sizes or force update
3786
+ if (newSizes || forceUpdate) {
3787
+ (_a = this.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(t, (newSizes === null || newSizes === void 0 ? void 0 : newSizes.sizes) || {});
3788
+ }
3826
3789
  });
3827
3790
  }
3828
3791
  trimmedRowsChanged(newVal = {}) {