@revolist/revogrid 4.21.0 → 4.21.2

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 (48) hide show
  1. package/dist/cjs/{cell-renderer-iLXu-jlp.js → cell-renderer-EyG5RkCf.js} +1 -1
  2. package/dist/cjs/{column.drag.plugin-eaYWjuoZ.js → column.drag.plugin-DuMzh_Cm.js} +14 -8
  3. package/dist/cjs/{column.service-fHfnFgbR.js → column.service-BNgb1GSr.js} +5 -1
  4. package/dist/cjs/{header-cell-renderer-CRT8nEvk.js → header-cell-renderer-BReLylCk.js} +1 -1
  5. package/dist/cjs/index.cjs.js +5 -5
  6. package/dist/cjs/revo-grid.cjs.entry.js +6 -6
  7. package/dist/cjs/revogr-attribution_7.cjs.entry.js +2 -2
  8. package/dist/cjs/revogr-data_4.cjs.entry.js +3 -3
  9. package/dist/cjs/revogr-filter-panel.cjs.entry.js +1 -1
  10. package/dist/cjs/{viewport.store-BkVhhu7P.js → viewport.store-Bkhj0ZmO.js} +1 -1
  11. package/dist/collection/components/revoGrid/grid.helpers.js +2 -2
  12. package/dist/collection/plugins/base.plugin.js +3 -0
  13. package/dist/collection/plugins/filter/filter.style.css +0 -1
  14. package/dist/collection/plugins/sorting/sorting.plugin.js +1 -1
  15. package/dist/collection/serve/controller.js +59 -0
  16. package/dist/collection/store/dimension/dimension.recalculate.plugin.js +4 -3
  17. package/dist/collection/store/dimension/dimension.store.js +3 -1
  18. package/dist/collection/store/vp/viewport.helpers.js +1 -1
  19. package/dist/collection/utils/column.utils.js +5 -1
  20. package/dist/esm/{cell-renderer-Dbkws2Qx.js → cell-renderer-BDmepZJO.js} +1 -1
  21. package/dist/esm/{column.drag.plugin-DQ2k24n7.js → column.drag.plugin-B98azH0j.js} +14 -8
  22. package/dist/esm/{column.service-BsgaP7Ww.js → column.service-BghHOZP8.js} +5 -1
  23. package/dist/{revo-grid/header-cell-renderer-HSFeeOeL.js → esm/header-cell-renderer-DO0jvvbw.js} +1 -1
  24. package/dist/esm/index.js +6 -6
  25. package/dist/esm/revo-grid.entry.js +6 -6
  26. package/dist/esm/revogr-attribution_7.entry.js +2 -2
  27. package/dist/esm/revogr-data_4.entry.js +3 -3
  28. package/dist/esm/revogr-filter-panel.entry.js +1 -1
  29. package/dist/{revo-grid/viewport.store-CJZ-1j6C.js → esm/viewport.store-C3ajQgRm.js} +1 -1
  30. package/dist/revo-grid/{cell-renderer-Dbkws2Qx.js → cell-renderer-BDmepZJO.js} +1 -1
  31. package/dist/revo-grid/{column.drag.plugin-DQ2k24n7.js → column.drag.plugin-B98azH0j.js} +14 -8
  32. package/dist/revo-grid/{column.service-BsgaP7Ww.js → column.service-BghHOZP8.js} +5 -1
  33. package/dist/{esm/header-cell-renderer-HSFeeOeL.js → revo-grid/header-cell-renderer-DO0jvvbw.js} +1 -1
  34. package/dist/revo-grid/index.esm.js +6 -6
  35. package/dist/revo-grid/revo-grid.entry.js +6 -6
  36. package/dist/revo-grid/revogr-attribution_7.entry.js +2 -2
  37. package/dist/revo-grid/revogr-data_4.entry.js +3 -3
  38. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  39. package/dist/{esm/viewport.store-CJZ-1j6C.js → revo-grid/viewport.store-C3ajQgRm.js} +1 -1
  40. package/dist/types/plugins/sorting/sorting.plugin.d.ts +1 -1
  41. package/hydrate/index.js +20 -10
  42. package/hydrate/index.mjs +20 -10
  43. package/package.json +5 -2
  44. package/readme.md +32 -0
  45. package/standalone/column.service.js +1 -1
  46. package/standalone/revo-grid.js +1 -1
  47. package/standalone/revogr-filter-panel.js +1 -1
  48. package/standalone/revogr-row-headers2.js +1 -1
@@ -5,7 +5,7 @@
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
7
  var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
8
- var column_service = require('./column.service-fHfnFgbR.js');
8
+ var column_service = require('./column.service-BNgb1GSr.js');
9
9
 
10
10
  const SortingSign = ({ column }) => {
11
11
  var _a;
@@ -3,13 +3,13 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var column_service = require('./column.service-fHfnFgbR.js');
6
+ var column_service = require('./column.service-BNgb1GSr.js');
7
7
  var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
8
- var viewport_store = require('./viewport.store-BkVhhu7P.js');
8
+ var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
9
9
  var index = require('./index-Dq8Xzj5l.js');
10
10
  var filter_button = require('./filter.button-w6LWnyhi.js');
11
11
  var debounce = require('./debounce-CcpHiH2p.js');
12
- var headerCellRenderer = require('./header-cell-renderer-CRT8nEvk.js');
12
+ var headerCellRenderer = require('./header-cell-renderer-BReLylCk.js');
13
13
 
14
14
  /**
15
15
  * Plugin which recalculates realSize on changes of sizes, originItemSize and count
@@ -23,6 +23,7 @@ const recalculateRealSizePlugin = (storeService) => {
23
23
  * Reacts on changes of count, sizes and originItemSize
24
24
  */
25
25
  set(k) {
26
+ var _a;
26
27
  switch (k) {
27
28
  case 'count':
28
29
  case 'sizes':
@@ -30,10 +31,10 @@ const recalculateRealSizePlugin = (storeService) => {
30
31
  // recalculate realSize
31
32
  let realSize = 0;
32
33
  const count = storeService.store.get('count');
34
+ const sizes = storeService.store.get('sizes');
35
+ const originItemSize = storeService.store.get('originItemSize');
33
36
  for (let i = 0; i < count; i++) {
34
- realSize +=
35
- storeService.store.get('sizes')[i] ||
36
- storeService.store.get('originItemSize');
37
+ realSize += (_a = sizes[i]) !== null && _a !== void 0 ? _a : originItemSize;
37
38
  }
38
39
  storeService.setStore({ realSize });
39
40
  break;
@@ -188,7 +189,9 @@ class DimensionStore {
188
189
  const indices = originalIndices[physIndex]; // Get all original indices for this value
189
190
  if (indices && indices.length > 0) {
190
191
  const originalIndex = indices.shift(); // Get the first available original index
191
- if (originalIndex !== undefined && originalIndex !== virtIndex && customSizes[originalIndex]) {
192
+ if (originalIndex !== undefined &&
193
+ originalIndex !== virtIndex &&
194
+ typeof customSizes[originalIndex] === 'number') {
192
195
  newSizes[virtIndex] = customSizes[originalIndex];
193
196
  delete customSizes[originalIndex];
194
197
  }
@@ -310,10 +313,13 @@ class BasePlugin {
310
313
  * @param immediate - trigger callback immediately with current value
311
314
  */
312
315
  watch(prop, callback, { immediate } = { immediate: false }) {
316
+ var _a;
313
317
  const nativeValueDesc = Object.getOwnPropertyDescriptor(this.revogrid, prop) ||
314
318
  Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);
315
319
  // Overwrite property descriptor for this instance
316
320
  Object.defineProperty(this.revogrid, prop, {
321
+ configurable: true,
322
+ enumerable: (_a = nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.enumerable) !== null && _a !== void 0 ? _a : true,
317
323
  set(val) {
318
324
  var _a;
319
325
  const keepDefault = callback(val);
@@ -1901,7 +1907,7 @@ class SortingPlugin extends BasePlugin {
1901
1907
  });
1902
1908
  }
1903
1909
  /**
1904
- * Entry point for sorting, waits for all delayes, registers jobs
1910
+ * Entry point for sorting, waits for all delays, registers jobs
1905
1911
  */
1906
1912
  startSorting(order, sortingFunc, ignoreViewportUpdate) {
1907
1913
  if (!this.sortingPromise) {
@@ -339,7 +339,11 @@ function gatherGroup(res, colData, collection, existingColumnsByType, level = 0)
339
339
  for (let k in collection.columnGrouping) {
340
340
  const key = k;
341
341
  const collectionItem = collection.columnGrouping[key];
342
- res.columnGrouping[key].push(...collectionItem);
342
+ const delta = ((existingColumnsByType === null || existingColumnsByType === void 0 ? void 0 : existingColumnsByType[key]) || []).length;
343
+ const rebasedItem = delta > 0
344
+ ? collectionItem.map(group => (Object.assign(Object.assign({}, group), { indexes: group.indexes.map(i => i + delta) })))
345
+ : collectionItem;
346
+ res.columnGrouping[key].push(...rebasedItem);
343
347
  }
344
348
  res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
345
349
  res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var column_service = require('./column.service-fHfnFgbR.js');
7
+ var column_service = require('./column.service-BNgb1GSr.js');
8
8
 
9
9
  /**
10
10
  * Dispatches a custom event to a specified target element.
@@ -3,15 +3,15 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var column_service = require('./column.service-fHfnFgbR.js');
7
- var column_drag_plugin = require('./column.drag.plugin-eaYWjuoZ.js');
8
- var headerCellRenderer = require('./header-cell-renderer-CRT8nEvk.js');
9
- var cellRenderer = require('./cell-renderer-iLXu-jlp.js');
6
+ var column_service = require('./column.service-BNgb1GSr.js');
7
+ var column_drag_plugin = require('./column.drag.plugin-DuMzh_Cm.js');
8
+ var headerCellRenderer = require('./header-cell-renderer-BReLylCk.js');
9
+ var cellRenderer = require('./cell-renderer-EyG5RkCf.js');
10
10
  var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
11
11
  var textEditor = require('./text-editor-tI8PMl7r.js');
12
12
  var edit_utils = require('./edit.utils-BWpSdGmj.js');
13
13
  var index = require('./index-Dq8Xzj5l.js');
14
- var viewport_store = require('./viewport.store-BkVhhu7P.js');
14
+ var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
15
15
  var filter_button = require('./filter.button-w6LWnyhi.js');
16
16
  require('./debounce-CcpHiH2p.js');
17
17
 
@@ -4,16 +4,16 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var column_service = require('./column.service-fHfnFgbR.js');
7
+ var column_service = require('./column.service-BNgb1GSr.js');
8
8
  var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
9
9
  var debounce = require('./debounce-CcpHiH2p.js');
10
- var column_drag_plugin = require('./column.drag.plugin-eaYWjuoZ.js');
11
- var viewport_store = require('./viewport.store-BkVhhu7P.js');
10
+ var column_drag_plugin = require('./column.drag.plugin-DuMzh_Cm.js');
11
+ var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
12
12
  var theme_service = require('./theme.service-BgnxGIjK.js');
13
13
  var viewport_helpers = require('./viewport.helpers-BAovztDd.js');
14
14
  var events = require('./events-DeLDyZlb.js');
15
15
  require('./filter.button-w6LWnyhi.js');
16
- require('./header-cell-renderer-CRT8nEvk.js');
16
+ require('./header-cell-renderer-BReLylCk.js');
17
17
 
18
18
  class ColumnDataProvider {
19
19
  get stores() {
@@ -1027,7 +1027,7 @@ const rowDefinitionByType = (newVal = []) => {
1027
1027
  if (!rowDefs) {
1028
1028
  rowDefs = result[v.type] = {};
1029
1029
  }
1030
- if (v.size) {
1030
+ if (typeof v.size === 'number') {
1031
1031
  if (!rowDefs.sizes) {
1032
1032
  rowDefs.sizes = {};
1033
1033
  }
@@ -1043,7 +1043,7 @@ const rowDefinitionRemoveByType = (oldVal = []) => {
1043
1043
  if (!rowDefs) {
1044
1044
  rowDefs = result[v.type] = [];
1045
1045
  }
1046
- if (v.size) {
1046
+ if (typeof v.size === 'number') {
1047
1047
  rowDefs.push(v.index);
1048
1048
  }
1049
1049
  }
@@ -6,10 +6,10 @@
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
7
  var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
8
8
  var events = require('./events-DeLDyZlb.js');
9
- var column_service = require('./column.service-fHfnFgbR.js');
9
+ var column_service = require('./column.service-BNgb1GSr.js');
10
10
  var edit_utils = require('./edit.utils-BWpSdGmj.js');
11
11
  var debounce = require('./debounce-CcpHiH2p.js');
12
- var viewport_store = require('./viewport.store-BkVhhu7P.js');
12
+ var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
13
13
  var viewport_helpers = require('./viewport.helpers-BAovztDd.js');
14
14
  var throttle = require('./throttle-Rub9czPz.js');
15
15
 
@@ -4,11 +4,11 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var column_service = require('./column.service-fHfnFgbR.js');
7
+ var column_service = require('./column.service-BNgb1GSr.js');
8
8
  var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
9
- var cellRenderer = require('./cell-renderer-iLXu-jlp.js');
9
+ var cellRenderer = require('./cell-renderer-EyG5RkCf.js');
10
10
  var filter_button = require('./filter.button-w6LWnyhi.js');
11
- var headerCellRenderer = require('./header-cell-renderer-CRT8nEvk.js');
11
+ var headerCellRenderer = require('./header-cell-renderer-BReLylCk.js');
12
12
  var throttle = require('./throttle-Rub9czPz.js');
13
13
  var viewport_helpers = require('./viewport.helpers-BAovztDd.js');
14
14
  require('./debounce-CcpHiH2p.js');
@@ -26,7 +26,7 @@ var filter_button = require('./filter.button-w6LWnyhi.js');
26
26
  }
27
27
  })();
28
28
 
29
- const filterStyleCss = () => `.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#4545ff;height:32px;line-height:32px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037}.revo-button.red{background-color:#E0662E}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.outline{border:1px solid #dbdbdb;line-height:30px;background:none;color:#000;box-shadow:none}revo-grid[theme^=dark] .revo-button.outline{border:1px solid #404040;color:#d8d8d8}revogr-filter-panel{position:absolute;display:block;top:0;left:0;z-index:100;max-height:calc(100% - 80px);min-width:250px;overflow:auto;opacity:1;transform:none;background-color:var(--revo-grid-filter-panel-bg, #fff);border:1px solid var(--revo-grid-filter-panel-border, #cecece);transform-origin:62px 0px;box-shadow:0 5px 18px -2px var(--revo-grid-filter-panel-shadow, rgba(0, 0, 0, 0.15));padding:10px;border-radius:8px;min-width:220px;text-align:left}revogr-filter-panel .filter-holder>div{display:flex;flex-direction:column}revogr-filter-panel label{font-size:13px;display:block;padding:8px 0}revogr-filter-panel select{width:100%}revogr-filter-panel input[type=text]{border:0;min-height:34px;margin:5px 0;background:var(--revo-grid-filter-panel-input-bg, #f3f3f3);border-radius:5px;padding:0 10px;box-sizing:border-box;width:100%}revogr-filter-panel button{margin-top:10px;margin-right:5px}revogr-filter-panel .filter-actions{text-align:right;margin-right:-5px}.rgHeaderCell:hover .rv-filter{transition:opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}.rgHeaderCell:hover .rv-filter,.rgHeaderCell .rv-filter.active{opacity:1}.rgHeaderCell .rv-filter{height:24px;width:24px;background:none;border:0;opacity:0;visibility:visible;cursor:pointer;border-radius:4px}.rgHeaderCell .rv-filter.active{color:#10224a}.rgHeaderCell .rv-filter .filter-img{color:gray;width:11px}.select-css{display:block;font-family:sans-serif;line-height:1.3;padding:0.6em 1.4em 0.5em 0.8em;width:100%;max-width:100%;box-sizing:border-box;margin:0;border:1px solid var(--revo-grid-filter-panel-select-border, #d9d9d9);box-shadow:transparent;border-radius:0.5em;appearance:none;background-color:var(--revo-grid-filter-panel-input-bg, #f3f3f3);background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat, repeat;background-position:right 0.7em top 50%, 0 0;background-size:0.65em auto, 100%;}.select-css::-ms-expand{display:none}.select-css:hover{border-color:var(--revo-grid-filter-panel-select-border, #d9d9d9)}.select-css:focus{border-color:var(--revo-grid-filter-panel-select-border-hover, #d9d9d9);box-shadow:0 0 1px 3px rgba(59, 153, 252, 0.7);box-shadow:0 0 0 3px -moz-mac-focusring;outline:none}.select-css option{font-weight:normal}.select-css:disabled,.select-css[aria-disabled=true]{color:gray;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #ffffff 100%)}.select-css:disabled:hover,.select-css[aria-disabled=true]{border-color:var(--revo-grid-filter-panel-select-border, #d9d9d9)}.multi-filter-list{margin-top:5px;margin-bottom:5px}.multi-filter-list div{white-space:nowrap}.multi-filter-list .multi-filter-list-action{display:flex;justify-content:space-between;align-items:center}.multi-filter-list .and-or-button{margin:0 0 0 10px;min-width:58px;cursor:pointer}.multi-filter-list .trash-button{margin:0 0 -2px 6px;cursor:pointer;width:22px;height:100%;font-size:16px}.multi-filter-list .trash-button .trash-img{width:1em}.add-filter-divider{display:block;margin:0 -10px 10px -10px;border-bottom:1px solid var(--revo-grid-filter-panel-divider, #d9d9d9);height:10px}.select-input{display:flex;justify-content:space-between;align-items:center}`;
29
+ const filterStyleCss = () => `.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#4545ff;height:32px;line-height:32px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037}.revo-button.red{background-color:#E0662E}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.outline{border:1px solid #dbdbdb;line-height:30px;background:none;color:#000;box-shadow:none}revo-grid[theme^=dark] .revo-button.outline{border:1px solid #404040;color:#d8d8d8}revogr-filter-panel{position:absolute;display:block;top:0;left:0;z-index:100;max-height:calc(100% - 80px);overflow:auto;opacity:1;transform:none;background-color:var(--revo-grid-filter-panel-bg, #fff);border:1px solid var(--revo-grid-filter-panel-border, #cecece);transform-origin:62px 0px;box-shadow:0 5px 18px -2px var(--revo-grid-filter-panel-shadow, rgba(0, 0, 0, 0.15));padding:10px;border-radius:8px;min-width:220px;text-align:left}revogr-filter-panel .filter-holder>div{display:flex;flex-direction:column}revogr-filter-panel label{font-size:13px;display:block;padding:8px 0}revogr-filter-panel select{width:100%}revogr-filter-panel input[type=text]{border:0;min-height:34px;margin:5px 0;background:var(--revo-grid-filter-panel-input-bg, #f3f3f3);border-radius:5px;padding:0 10px;box-sizing:border-box;width:100%}revogr-filter-panel button{margin-top:10px;margin-right:5px}revogr-filter-panel .filter-actions{text-align:right;margin-right:-5px}.rgHeaderCell:hover .rv-filter{transition:opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}.rgHeaderCell:hover .rv-filter,.rgHeaderCell .rv-filter.active{opacity:1}.rgHeaderCell .rv-filter{height:24px;width:24px;background:none;border:0;opacity:0;visibility:visible;cursor:pointer;border-radius:4px}.rgHeaderCell .rv-filter.active{color:#10224a}.rgHeaderCell .rv-filter .filter-img{color:gray;width:11px}.select-css{display:block;font-family:sans-serif;line-height:1.3;padding:0.6em 1.4em 0.5em 0.8em;width:100%;max-width:100%;box-sizing:border-box;margin:0;border:1px solid var(--revo-grid-filter-panel-select-border, #d9d9d9);box-shadow:transparent;border-radius:0.5em;appearance:none;background-color:var(--revo-grid-filter-panel-input-bg, #f3f3f3);background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat, repeat;background-position:right 0.7em top 50%, 0 0;background-size:0.65em auto, 100%;}.select-css::-ms-expand{display:none}.select-css:hover{border-color:var(--revo-grid-filter-panel-select-border, #d9d9d9)}.select-css:focus{border-color:var(--revo-grid-filter-panel-select-border-hover, #d9d9d9);box-shadow:0 0 1px 3px rgba(59, 153, 252, 0.7);box-shadow:0 0 0 3px -moz-mac-focusring;outline:none}.select-css option{font-weight:normal}.select-css:disabled,.select-css[aria-disabled=true]{color:gray;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #ffffff 100%)}.select-css:disabled:hover,.select-css[aria-disabled=true]{border-color:var(--revo-grid-filter-panel-select-border, #d9d9d9)}.multi-filter-list{margin-top:5px;margin-bottom:5px}.multi-filter-list div{white-space:nowrap}.multi-filter-list .multi-filter-list-action{display:flex;justify-content:space-between;align-items:center}.multi-filter-list .and-or-button{margin:0 0 0 10px;min-width:58px;cursor:pointer}.multi-filter-list .trash-button{margin:0 0 -2px 6px;cursor:pointer;width:22px;height:100%;font-size:16px}.multi-filter-list .trash-button .trash-img{width:1em}.add-filter-divider{display:block;margin:0 -10px 10px -10px;border-bottom:1px solid var(--revo-grid-filter-panel-divider, #d9d9d9);height:10px}.select-input{display:flex;justify-content:space-between;align-items:center}`;
30
30
 
31
31
  const defaultType = 'none';
32
32
  const FILTER_LIST_CLASS = 'multi-filter-list';
@@ -191,7 +191,7 @@ function recombineByOffset(offset, data) {
191
191
  return Object.assign({ items: newItems }, range);
192
192
  }
193
193
  function getItemSize(index, sizes, origSize = 0) {
194
- if (sizes && sizes[index]) {
194
+ if (typeof (sizes === null || sizes === void 0 ? void 0 : sizes[index]) === 'number') {
195
195
  return sizes[index];
196
196
  }
197
197
  return origSize;
@@ -8,7 +8,7 @@ export const rowDefinitionByType = (newVal = []) => {
8
8
  if (!rowDefs) {
9
9
  rowDefs = result[v.type] = {};
10
10
  }
11
- if (v.size) {
11
+ if (typeof v.size === 'number') {
12
12
  if (!rowDefs.sizes) {
13
13
  rowDefs.sizes = {};
14
14
  }
@@ -24,7 +24,7 @@ export const rowDefinitionRemoveByType = (oldVal = []) => {
24
24
  if (!rowDefs) {
25
25
  rowDefs = result[v.type] = [];
26
26
  }
27
- if (v.size) {
27
+ if (typeof v.size === 'number') {
28
28
  rowDefs.push(v.index);
29
29
  }
30
30
  }
@@ -32,10 +32,13 @@ export class BasePlugin {
32
32
  * @param immediate - trigger callback immediately with current value
33
33
  */
34
34
  watch(prop, callback, { immediate } = { immediate: false }) {
35
+ var _a;
35
36
  const nativeValueDesc = Object.getOwnPropertyDescriptor(this.revogrid, prop) ||
36
37
  Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);
37
38
  // Overwrite property descriptor for this instance
38
39
  Object.defineProperty(this.revogrid, prop, {
40
+ configurable: true,
41
+ enumerable: (_a = nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.enumerable) !== null && _a !== void 0 ? _a : true,
39
42
  set(val) {
40
43
  var _a;
41
44
  const keepDefault = callback(val);
@@ -42,7 +42,6 @@ revogr-filter-panel {
42
42
  left: 0;
43
43
  z-index: 100;
44
44
  max-height: calc(100% - 80px);
45
- min-width: 250px;
46
45
  overflow: auto;
47
46
  opacity: 1;
48
47
  transform: none;
@@ -101,7 +101,7 @@ export class SortingPlugin extends BasePlugin {
101
101
  });
102
102
  }
103
103
  /**
104
- * Entry point for sorting, waits for all delayes, registers jobs
104
+ * Entry point for sorting, waits for all delays, registers jobs
105
105
  */
106
106
  startSorting(order, sortingFunc, ignoreViewportUpdate) {
107
107
  if (!this.sortingPromise) {
@@ -300,6 +300,65 @@ window.setFilter = () => {
300
300
  grid.filter = filterConfig;
301
301
  };
302
302
 
303
+ /**
304
+ * Deep groups should align with a1/a2/a3/b1/b2/b3.
305
+ * https://github.com/revolist/revogrid/issues/828
306
+ */
307
+ window.setColumnGroupOffsetBugDemo = () => {
308
+ const grid = document.querySelector('revo-grid');
309
+
310
+ grid.columns = [
311
+ { prop: 'q1', name: 'Q1', size: 90 },
312
+ { prop: 'q2', name: 'Q2', size: 90 },
313
+ {
314
+ name: 'Root',
315
+ children: [
316
+ {
317
+ name: 'A',
318
+ children: [
319
+ {
320
+ name: 'A1',
321
+ children: [
322
+ { prop: 'a1', name: 'A1-1', size: 90 },
323
+ { prop: 'a2', name: 'A1-2', size: 90 },
324
+ ],
325
+ },
326
+ {
327
+ name: 'A2',
328
+ children: [{ prop: 'a3', name: 'A2-1', size: 90 }],
329
+ },
330
+ ],
331
+ },
332
+ {
333
+ name: 'B',
334
+ children: [
335
+ {
336
+ name: 'B1',
337
+ children: [{ prop: 'b1', name: 'B1-1', size: 90 }],
338
+ },
339
+ {
340
+ name: 'B2',
341
+ children: [
342
+ { prop: 'b2', name: 'B2-1', size: 90 },
343
+ { prop: 'b3', name: 'B2-2', size: 90 },
344
+ ],
345
+ },
346
+ ],
347
+ },
348
+ ],
349
+ },
350
+ ];
351
+
352
+ grid.source = [
353
+ { q1: 'left-1', q2: 'left-2', a1: 'a1', a2: 'a2', a3: 'a3', b1: 'b1', b2: 'b2', b3: 'b3' },
354
+ { q1: 'left-3', q2: 'left-4', a1: 'a4', a2: 'a5', a3: 'a6', b1: 'b4', b2: 'b5', b3: 'b6' },
355
+ ];
356
+
357
+ grid.pinnedTopSource = [];
358
+ grid.pinnedBottomSource = [];
359
+ grid.rowHeaders = true;
360
+ };
361
+
303
362
  /**
304
363
  * On load function
305
364
  */
@@ -13,6 +13,7 @@ export const recalculateRealSizePlugin = (storeService) => {
13
13
  * Reacts on changes of count, sizes and originItemSize
14
14
  */
15
15
  set(k) {
16
+ var _a;
16
17
  switch (k) {
17
18
  case 'count':
18
19
  case 'sizes':
@@ -20,10 +21,10 @@ export const recalculateRealSizePlugin = (storeService) => {
20
21
  // recalculate realSize
21
22
  let realSize = 0;
22
23
  const count = storeService.store.get('count');
24
+ const sizes = storeService.store.get('sizes');
25
+ const originItemSize = storeService.store.get('originItemSize');
23
26
  for (let i = 0; i < count; i++) {
24
- realSize +=
25
- storeService.store.get('sizes')[i] ||
26
- storeService.store.get('originItemSize');
27
+ realSize += (_a = sizes[i]) !== null && _a !== void 0 ? _a : originItemSize;
27
28
  }
28
29
  storeService.setStore({ realSize });
29
30
  break;
@@ -94,7 +94,9 @@ export class DimensionStore {
94
94
  const indices = originalIndices[physIndex]; // Get all original indices for this value
95
95
  if (indices && indices.length > 0) {
96
96
  const originalIndex = indices.shift(); // Get the first available original index
97
- if (originalIndex !== undefined && originalIndex !== virtIndex && customSizes[originalIndex]) {
97
+ if (originalIndex !== undefined &&
98
+ originalIndex !== virtIndex &&
99
+ typeof customSizes[originalIndex] === 'number') {
98
100
  newSizes[virtIndex] = customSizes[originalIndex];
99
101
  delete customSizes[originalIndex];
100
102
  }
@@ -182,7 +182,7 @@ export function recombineByOffset(offset, data) {
182
182
  return Object.assign({ items: newItems }, range);
183
183
  }
184
184
  function getItemSize(index, sizes, origSize = 0) {
185
- if (sizes && sizes[index]) {
185
+ if (typeof (sizes === null || sizes === void 0 ? void 0 : sizes[index]) === 'number') {
186
186
  return sizes[index];
187
187
  }
188
188
  return origSize;
@@ -126,7 +126,11 @@ export function gatherGroup(res, colData, collection, existingColumnsByType, lev
126
126
  for (let k in collection.columnGrouping) {
127
127
  const key = k;
128
128
  const collectionItem = collection.columnGrouping[key];
129
- res.columnGrouping[key].push(...collectionItem);
129
+ const delta = ((existingColumnsByType === null || existingColumnsByType === void 0 ? void 0 : existingColumnsByType[key]) || []).length;
130
+ const rebasedItem = delta > 0
131
+ ? collectionItem.map(group => (Object.assign(Object.assign({}, group), { indexes: group.indexes.map(i => i + delta) })))
132
+ : collectionItem;
133
+ res.columnGrouping[key].push(...rebasedItem);
130
134
  }
131
135
  res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
132
136
  res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { h, f as Build } from './index-Chp_81rd.js';
5
5
  import { y as DATA_ROW, G as DRAG_ICON_CLASS, I as DRAGGABLE_CLASS } from './dimension.helpers-C2F2Cuh8.js';
6
- import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-BsgaP7Ww.js';
6
+ import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-BghHOZP8.js';
7
7
 
8
8
  const SortingSign = ({ column }) => {
9
9
  var _a;
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-BsgaP7Ww.js';
4
+ import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-BghHOZP8.js';
5
5
  import { W as createStore, w as setStore, i as calculateDimensionData, X as identity, Y as isArray, b as getSourceItem, o as getScrollbarSize, u as timeout, Z as baseProperty, _ as isArrayLike, $ as getTag, a0 as baseKeys, g as getPhysical, e as setItems, j as getItemByPosition } from './dimension.helpers-C2F2Cuh8.js';
6
- import { f as calculateRowHeaderSize } from './viewport.store-CJZ-1j6C.js';
6
+ import { f as calculateRowHeaderSize } from './viewport.store-C3ajQgRm.js';
7
7
  import { h } from './index-Chp_81rd.js';
8
8
  import { b as FILTER_PROP, i as isFilterBtn } from './filter.button-C8XTWPU2.js';
9
9
  import { i as isObjectLike, b as baseGetTag, d as debounce } from './debounce-BfO9dz9v.js';
10
- import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-HSFeeOeL.js';
10
+ import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-DO0jvvbw.js';
11
11
 
12
12
  /**
13
13
  * Plugin which recalculates realSize on changes of sizes, originItemSize and count
@@ -21,6 +21,7 @@ const recalculateRealSizePlugin = (storeService) => {
21
21
  * Reacts on changes of count, sizes and originItemSize
22
22
  */
23
23
  set(k) {
24
+ var _a;
24
25
  switch (k) {
25
26
  case 'count':
26
27
  case 'sizes':
@@ -28,10 +29,10 @@ const recalculateRealSizePlugin = (storeService) => {
28
29
  // recalculate realSize
29
30
  let realSize = 0;
30
31
  const count = storeService.store.get('count');
32
+ const sizes = storeService.store.get('sizes');
33
+ const originItemSize = storeService.store.get('originItemSize');
31
34
  for (let i = 0; i < count; i++) {
32
- realSize +=
33
- storeService.store.get('sizes')[i] ||
34
- storeService.store.get('originItemSize');
35
+ realSize += (_a = sizes[i]) !== null && _a !== void 0 ? _a : originItemSize;
35
36
  }
36
37
  storeService.setStore({ realSize });
37
38
  break;
@@ -186,7 +187,9 @@ class DimensionStore {
186
187
  const indices = originalIndices[physIndex]; // Get all original indices for this value
187
188
  if (indices && indices.length > 0) {
188
189
  const originalIndex = indices.shift(); // Get the first available original index
189
- if (originalIndex !== undefined && originalIndex !== virtIndex && customSizes[originalIndex]) {
190
+ if (originalIndex !== undefined &&
191
+ originalIndex !== virtIndex &&
192
+ typeof customSizes[originalIndex] === 'number') {
190
193
  newSizes[virtIndex] = customSizes[originalIndex];
191
194
  delete customSizes[originalIndex];
192
195
  }
@@ -308,10 +311,13 @@ class BasePlugin {
308
311
  * @param immediate - trigger callback immediately with current value
309
312
  */
310
313
  watch(prop, callback, { immediate } = { immediate: false }) {
314
+ var _a;
311
315
  const nativeValueDesc = Object.getOwnPropertyDescriptor(this.revogrid, prop) ||
312
316
  Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);
313
317
  // Overwrite property descriptor for this instance
314
318
  Object.defineProperty(this.revogrid, prop, {
319
+ configurable: true,
320
+ enumerable: (_a = nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.enumerable) !== null && _a !== void 0 ? _a : true,
315
321
  set(val) {
316
322
  var _a;
317
323
  const keepDefault = callback(val);
@@ -1899,7 +1905,7 @@ class SortingPlugin extends BasePlugin {
1899
1905
  });
1900
1906
  }
1901
1907
  /**
1902
- * Entry point for sorting, waits for all delayes, registers jobs
1908
+ * Entry point for sorting, waits for all delays, registers jobs
1903
1909
  */
1904
1910
  startSorting(order, sortingFunc, ignoreViewportUpdate) {
1905
1911
  if (!this.sortingPromise) {
@@ -337,7 +337,11 @@ function gatherGroup(res, colData, collection, existingColumnsByType, level = 0)
337
337
  for (let k in collection.columnGrouping) {
338
338
  const key = k;
339
339
  const collectionItem = collection.columnGrouping[key];
340
- res.columnGrouping[key].push(...collectionItem);
340
+ const delta = ((existingColumnsByType === null || existingColumnsByType === void 0 ? void 0 : existingColumnsByType[key]) || []).length;
341
+ const rebasedItem = delta > 0
342
+ ? collectionItem.map(group => (Object.assign(Object.assign({}, group), { indexes: group.indexes.map(i => i + delta) })))
343
+ : collectionItem;
344
+ res.columnGrouping[key].push(...rebasedItem);
341
345
  }
342
346
  res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
343
347
  res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
@@ -2,7 +2,7 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { h } from './index-Chp_81rd.js';
5
- import { Q as doPropMerge } from './column.service-BsgaP7Ww.js';
5
+ import { Q as doPropMerge } from './column.service-BghHOZP8.js';
6
6
 
7
7
  /**
8
8
  * Dispatches a custom event to a specified target element.
package/dist/esm/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- export { o as GROUPING_ROW_TYPE, j as GROUP_COLUMN_PROP, G as GROUP_DEPTH, h as GROUP_EXPANDED, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, k as GROUP_ORIGINAL_INDEX, f as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, d as PSEUDO_GROUP_ITEM_ID, e as PSEUDO_GROUP_ITEM_VALUE, c as columnTypes, a as cropCellToMax, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E as isColGrouping, u as isGrouping, v as isGroupingColumn, b as isRangeSingleCell, i as isRowType, y as isSameGroup, w as measureEqualDepth, n as nextCell, r as rowTypes } from './column.service-BsgaP7Ww.js';
5
- import { B as BasePlugin } from './column.drag.plugin-DQ2k24n7.js';
6
- export { A as AutoSizeColumnPlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, m as SortingPlugin, a as StretchColumn, n as defaultCellCompare, o as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, q as getComparer, l as getLeftRelative, p as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-DQ2k24n7.js';
7
- export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-HSFeeOeL.js';
8
- export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-Dbkws2Qx.js';
4
+ export { o as GROUPING_ROW_TYPE, j as GROUP_COLUMN_PROP, G as GROUP_DEPTH, h as GROUP_EXPANDED, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, k as GROUP_ORIGINAL_INDEX, f as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, d as PSEUDO_GROUP_ITEM_ID, e as PSEUDO_GROUP_ITEM_VALUE, c as columnTypes, a as cropCellToMax, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E as isColGrouping, u as isGrouping, v as isGroupingColumn, b as isRangeSingleCell, i as isRowType, y as isSameGroup, w as measureEqualDepth, n as nextCell, r as rowTypes } from './column.service-BghHOZP8.js';
5
+ import { B as BasePlugin } from './column.drag.plugin-B98azH0j.js';
6
+ export { A as AutoSizeColumnPlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, m as SortingPlugin, a as StretchColumn, n as defaultCellCompare, o as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, q as getComparer, l as getLeftRelative, p as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-B98azH0j.js';
7
+ export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-DO0jvvbw.js';
8
+ export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-BDmepZJO.js';
9
9
  export { C as CELL_CLASS, L as CELL_HANDLER_CLASS, x as DATA_COL, y as DATA_ROW, z as DISABLED_CLASS, I as DRAGGABLE_CLASS, O as DRAGG_TEXT, G as DRAG_ICON_CLASS, D as DataStore, N as EDIT_INPUT_WR, J as FOCUS_CLASS, P as GRID_INTERNALS, F as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, E as HEADER_ROW_CLASS, B as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, K as MOBILE_CLASS, R as RESIZE_INTERVAL, Q as ROW_FOCUSED_CLASS, A as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, v as applyMixins, i as calculateDimensionData, U as codesLetter, l as findPositionInArray, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, o as getScrollbarSize, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, V as keyValues, n as mergeSortedArray, p as proxyPlugin, m as pushSorted, r as range, q as scaleValue, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, w as setStore, u as timeout, t as trimmedPlugin } from './dimension.helpers-C2F2Cuh8.js';
10
10
  export { T as TextEditor } from './text-editor-BylR9oxh.js';
11
11
  export { k as isAll, c as isClear, h as isCopy, a as isCtrlKey, b as isCtrlMetaKey, g as isCut, l as isEditInput, m as isEditorCtrConstructible, f as isEnterKeyValue, i as isMetaKey, j as isPaste, d as isTab, e as isTabKeyValue } from './edit.utils-Cdhf8P7e.js';
12
12
  export { h } from './index-Chp_81rd.js';
13
- export { V as ViewportStore, a as addMissingItems, f as calculateRowHeaderSize, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-CJZ-1j6C.js';
13
+ export { V as ViewportStore, a as addMissingItems, f as calculateRowHeaderSize, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-C3ajQgRm.js';
14
14
  export { A as AND_OR_BUTTON, e as AndOrButton, a as FILTER_BUTTON_ACTIVE, F as FILTER_BUTTON_CLASS, b as FILTER_PROP, c as FilterButton, T as TRASH_BUTTON, d as TrashButton, i as isFilterBtn } from './filter.button-C8XTWPU2.js';
15
15
  import './debounce-BfO9dz9v.js';
16
16
 
@@ -2,16 +2,16 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { h, r as registerInstance, d as createEvent, e as Host, g as getElement } from './index-Chp_81rd.js';
5
- import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-BsgaP7Ww.js';
5
+ import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-BghHOZP8.js';
6
6
  import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL, u as timeout } from './dimension.helpers-C2F2Cuh8.js';
7
7
  import { d as debounce } from './debounce-BfO9dz9v.js';
8
- import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, m as SortingPlugin, C as ColumnMovePlugin } from './column.drag.plugin-DQ2k24n7.js';
9
- import { V as ViewportStore } from './viewport.store-CJZ-1j6C.js';
8
+ import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, m as SortingPlugin, C as ColumnMovePlugin } from './column.drag.plugin-B98azH0j.js';
9
+ import { V as ViewportStore } from './viewport.store-C3ajQgRm.js';
10
10
  import { T as ThemeService } from './theme.service-BmnDvr6P.js';
11
11
  import { v as viewportDataPartition, F as FOOTER_SLOT, C as CONTENT_SLOT, H as HEADER_SLOT, D as DATA_SLOT } from './viewport.helpers-VXhsJZtn.js';
12
12
  import { g as getPropertyFromEvent } from './events-BvSmBueA.js';
13
13
  import './filter.button-C8XTWPU2.js';
14
- import './header-cell-renderer-HSFeeOeL.js';
14
+ import './header-cell-renderer-DO0jvvbw.js';
15
15
 
16
16
  class ColumnDataProvider {
17
17
  get stores() {
@@ -1025,7 +1025,7 @@ const rowDefinitionByType = (newVal = []) => {
1025
1025
  if (!rowDefs) {
1026
1026
  rowDefs = result[v.type] = {};
1027
1027
  }
1028
- if (v.size) {
1028
+ if (typeof v.size === 'number') {
1029
1029
  if (!rowDefs.sizes) {
1030
1030
  rowDefs.sizes = {};
1031
1031
  }
@@ -1041,7 +1041,7 @@ const rowDefinitionRemoveByType = (oldVal = []) => {
1041
1041
  if (!rowDefs) {
1042
1042
  rowDefs = result[v.type] = [];
1043
1043
  }
1044
- if (v.size) {
1044
+ if (typeof v.size === 'number') {
1045
1045
  rowDefs.push(v.index);
1046
1046
  }
1047
1047
  }
@@ -4,10 +4,10 @@
4
4
  import { r as registerInstance, h, e as Host, d as createEvent, g as getElement } from './index-Chp_81rd.js';
5
5
  import { k as getItemByIndex, b as getSourceItem, j as getItemByPosition, J as FOCUS_CLASS, U as codesLetter, u as timeout, R as RESIZE_INTERVAL, K as MOBILE_CLASS, L as CELL_HANDLER_CLASS, S as SELECTION_BORDER_CLASS, D as DataStore, A as ROW_HEADER_TYPE, o as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './dimension.helpers-C2F2Cuh8.js';
6
6
  import { g as getPropertyFromEvent, v as verifyTouchTarget } from './events-BvSmBueA.js';
7
- import { g as getRange, M as ColumnService, z as getCellData, N as getCellEditor, b as isRangeSingleCell } from './column.service-BsgaP7Ww.js';
7
+ import { g as getRange, M as ColumnService, z as getCellData, N as getCellEditor, b as isRangeSingleCell } from './column.service-BghHOZP8.js';
8
8
  import { c as isClear, d as isTab, f as isEnterKeyValue, h as isCopy, g as isCut, j as isPaste, k as isAll, l as isEditInput } from './edit.utils-Cdhf8P7e.js';
9
9
  import { d as debounce } from './debounce-BfO9dz9v.js';
10
- import { V as ViewportStore, f as calculateRowHeaderSize } from './viewport.store-CJZ-1j6C.js';
10
+ import { V as ViewportStore, f as calculateRowHeaderSize } from './viewport.store-C3ajQgRm.js';
11
11
  import { H as HEADER_SLOT } from './viewport.helpers-VXhsJZtn.js';
12
12
  import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from './throttle-BEccmfmt.js';
13
13
 
@@ -2,11 +2,11 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, e as Host, g as getElement } from './index-Chp_81rd.js';
5
- import { M as ColumnService, u as isGrouping, K as baseEach } from './column.service-BsgaP7Ww.js';
5
+ import { M as ColumnService, u as isGrouping, K as baseEach } from './column.service-BghHOZP8.js';
6
6
  import { Q as ROW_FOCUSED_CLASS, b as getSourceItem, y as DATA_ROW, x as DATA_COL, a3 as getNative, a4 as baseIteratee, Y as isArray, M as MIN_COL_SIZE, B as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, J as FOCUS_CLASS, E as HEADER_ROW_CLASS, F as HEADER_ACTUAL_ROW_CLASS, k as getItemByIndex } from './dimension.helpers-C2F2Cuh8.js';
7
- import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-Dbkws2Qx.js';
7
+ import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-BDmepZJO.js';
8
8
  import { c as FilterButton } from './filter.button-C8XTWPU2.js';
9
- import { H as HeaderCellRenderer } from './header-cell-renderer-HSFeeOeL.js';
9
+ import { H as HeaderCellRenderer } from './header-cell-renderer-DO0jvvbw.js';
10
10
  import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-BEccmfmt.js';
11
11
  import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-VXhsJZtn.js';
12
12
  import './debounce-BfO9dz9v.js';