@revolist/revogrid 4.21.2 → 4.21.4

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 (77) hide show
  1. package/dist/cjs/{cell-renderer-EyG5RkCf.js → cell-renderer-BLcxDHzP.js} +2 -2
  2. package/dist/cjs/{column.drag.plugin-DuMzh_Cm.js → column.drag.plugin-DfTAC5Qc.js} +4 -4
  3. package/dist/cjs/{column.service-BNgb1GSr.js → column.service-BmT2HOnj.js} +1 -1
  4. package/dist/cjs/{dimension.helpers-DLLC6uO6.js → dimension.helpers-BOxHtX5T.js} +13 -3
  5. package/dist/cjs/{edit.utils-BWpSdGmj.js → edit.utils-DnvQVP4H.js} +1 -1
  6. package/dist/cjs/{header-cell-renderer-BReLylCk.js → header-cell-renderer-7DgGThjq.js} +1 -1
  7. package/dist/cjs/index.cjs.js +9 -8
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/revo-grid.cjs.entry.js +45 -12
  10. package/dist/cjs/revo-grid.cjs.js +1 -1
  11. package/dist/cjs/revogr-attribution_7.cjs.entry.js +5 -5
  12. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +5 -3
  13. package/dist/cjs/revogr-data_4.cjs.entry.js +8 -7
  14. package/dist/cjs/{text-editor-tI8PMl7r.js → text-editor-B9ibcdrl.js} +2 -2
  15. package/dist/cjs/{throttle-Rub9czPz.js → throttle-DkuCcmB0.js} +1 -1
  16. package/dist/cjs/{viewport.store-Bkhj0ZmO.js → viewport.store-DG-4bWqg.js} +1 -1
  17. package/dist/collection/components/clipboard/revogr-clipboard.js +6 -4
  18. package/dist/collection/components/revoGrid/revo-grid.js +64 -3
  19. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +4 -3
  20. package/dist/collection/components/revoGrid/viewport.service.js +2 -0
  21. package/dist/collection/components/rowHeaders/revogr-row-headers.js +1 -1
  22. package/dist/collection/components/scroll/revogr-viewport-scroll.js +25 -4
  23. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +1 -1
  24. package/dist/collection/services/data.provider.js +18 -2
  25. package/dist/collection/store/dataSource/data.store.js +14 -4
  26. package/dist/collection/types/events.js +1 -0
  27. package/dist/{revo-grid/cell-renderer-BDmepZJO.js → esm/cell-renderer-BNeaYjy6.js} +2 -2
  28. package/dist/esm/{column.drag.plugin-B98azH0j.js → column.drag.plugin-C9lvlTfl.js} +4 -4
  29. package/dist/esm/{column.service-BghHOZP8.js → column.service-8pPNyrKn.js} +1 -1
  30. package/dist/{revo-grid/dimension.helpers-C2F2Cuh8.js → esm/dimension.helpers-B-5OBYes.js} +13 -3
  31. package/dist/esm/{edit.utils-Cdhf8P7e.js → edit.utils-CQjRmx5n.js} +1 -1
  32. package/dist/{revo-grid/header-cell-renderer-DO0jvvbw.js → esm/header-cell-renderer-WkTbrmr7.js} +1 -1
  33. package/dist/esm/index.js +10 -9
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/revo-grid.entry.js +45 -12
  36. package/dist/esm/revo-grid.js +1 -1
  37. package/dist/esm/revogr-attribution_7.entry.js +5 -5
  38. package/dist/esm/revogr-clipboard_3.entry.js +5 -3
  39. package/dist/esm/revogr-data_4.entry.js +8 -7
  40. package/dist/{revo-grid/text-editor-BylR9oxh.js → esm/text-editor-DZSx2pWr.js} +2 -2
  41. package/dist/esm/{throttle-BEccmfmt.js → throttle-CYM0qC3v.js} +1 -1
  42. package/dist/{revo-grid/viewport.store-C3ajQgRm.js → esm/viewport.store-BGWR3XfI.js} +1 -1
  43. package/dist/{esm/cell-renderer-BDmepZJO.js → revo-grid/cell-renderer-BNeaYjy6.js} +2 -2
  44. package/dist/revo-grid/{column.drag.plugin-B98azH0j.js → column.drag.plugin-C9lvlTfl.js} +4 -4
  45. package/dist/revo-grid/{column.service-BghHOZP8.js → column.service-8pPNyrKn.js} +1 -1
  46. package/dist/{esm/dimension.helpers-C2F2Cuh8.js → revo-grid/dimension.helpers-B-5OBYes.js} +13 -3
  47. package/dist/revo-grid/{edit.utils-Cdhf8P7e.js → edit.utils-CQjRmx5n.js} +1 -1
  48. package/dist/{esm/header-cell-renderer-DO0jvvbw.js → revo-grid/header-cell-renderer-WkTbrmr7.js} +1 -1
  49. package/dist/revo-grid/index.esm.js +10 -9
  50. package/dist/revo-grid/revo-grid.entry.js +45 -12
  51. package/dist/revo-grid/revo-grid.esm.js +1 -1
  52. package/dist/revo-grid/revogr-attribution_7.entry.js +5 -5
  53. package/dist/revo-grid/revogr-clipboard_3.entry.js +5 -3
  54. package/dist/revo-grid/revogr-data_4.entry.js +8 -7
  55. package/dist/{esm/text-editor-BylR9oxh.js → revo-grid/text-editor-DZSx2pWr.js} +2 -2
  56. package/dist/revo-grid/{throttle-BEccmfmt.js → throttle-CYM0qC3v.js} +1 -1
  57. package/dist/{esm/viewport.store-C3ajQgRm.js → revo-grid/viewport.store-BGWR3XfI.js} +1 -1
  58. package/dist/types/components/clipboard/revogr-clipboard.d.ts +2 -0
  59. package/dist/types/components/revoGrid/revo-grid.d.ts +11 -0
  60. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +3 -3
  61. package/dist/types/components/revoGrid/viewport.service.d.ts +1 -0
  62. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +1 -0
  63. package/dist/types/components.d.ts +33 -0
  64. package/dist/types/services/data.provider.d.ts +15 -1
  65. package/dist/types/store/dataSource/data.store.d.ts +3 -1
  66. package/dist/types/types/events.d.ts +1 -1
  67. package/dist/types/types/interfaces.d.ts +2 -2
  68. package/dist/types/types/viewport.interfaces.d.ts +7 -2
  69. package/hydrate/index.js +60 -12
  70. package/hydrate/index.mjs +60 -12
  71. package/package.json +1 -1
  72. package/readme.md +2 -0
  73. package/standalone/data.store.js +1 -1
  74. package/standalone/index.js +1 -1
  75. package/standalone/revo-grid.js +1 -1
  76. package/standalone/revogr-clipboard2.js +1 -1
  77. package/standalone/revogr-viewport-scroll2.js +1 -1
package/hydrate/index.js CHANGED
@@ -6769,6 +6769,7 @@ class Clipboard {
6769
6769
  const beforePasteApply = this.beforePasteApply.emit({
6770
6770
  raw: data,
6771
6771
  parsed: parsedData,
6772
+ dataText,
6772
6773
  event: e,
6773
6774
  });
6774
6775
  if (beforePasteApply.defaultPrevented) {
@@ -6779,6 +6780,7 @@ class Clipboard {
6779
6780
  const afterPasteApply = this.afterPasteApply.emit({
6780
6781
  raw: data,
6781
6782
  parsed: parsedData,
6783
+ dataText,
6782
6784
  event: e,
6783
6785
  });
6784
6786
  // keep default behavior if needed
@@ -11357,8 +11359,16 @@ class DataStore {
11357
11359
  * full data source update
11358
11360
  * @param source - data column/rgRow source
11359
11361
  * @param grouping - grouping information if present
11362
+ * @param silent - if true, store will be updated without resetting trimmed state
11363
+ * @param preserveTrimmed - if true, current trimmed indexes will be re-applied to the new source, use with caution because physical indexes may change across full data refreshes
11360
11364
  */
11361
- updateData(source, grouping, silent = false) {
11365
+ updateData(source, grouping,
11366
+ // if true, store will be updated without resetting trimmed state
11367
+ silent = false,
11368
+ // if true, current trimmed indexes will be re-applied to the new source
11369
+ preserveTrimmed = false) {
11370
+ const trimmed = this.store.get('trimmed');
11371
+ const trimmedItems = silent && preserveTrimmed ? gatherTrimmedItems(trimmed) : null;
11362
11372
  // during full update we do drop trim
11363
11373
  if (!silent) {
11364
11374
  this.store.set('trimmed', {});
@@ -11371,12 +11381,14 @@ class DataStore {
11371
11381
  source,
11372
11382
  proxyItems: [...items],
11373
11383
  });
11374
- // update data items
11375
- this.store.set('items', items);
11384
+ // Explicit trim preservation is opt-in because physical indexes may change
11385
+ // across full data refreshes.
11386
+ this.store.set('items', trimmedItems ? items.filter(i => !trimmedItems[i]) : items);
11376
11387
  // apply grouping if present
11377
11388
  if (grouping) {
11378
11389
  setStore(this.store, {
11379
11390
  groupingDepth: grouping.depth,
11391
+ // if groups are not provided, we will consider that there is only one group with all items
11380
11392
  groups: grouping.groups,
11381
11393
  groupingCustomRenderer: grouping.customRenderer,
11382
11394
  });
@@ -14569,9 +14581,25 @@ class DataProvider {
14569
14581
  return sources;
14570
14582
  }, {});
14571
14583
  }
14572
- setData(data, type = 'rgRow', disableVirtualRows = false, grouping, silent = false) {
14584
+ /**
14585
+ * Replaces the data source for a row type and synchronizes the related dimension metadata.
14586
+ *
14587
+ * `rgRow` updates also refresh the virtual row model unless `disableVirtualRows` is set.
14588
+ * Pinned row types skip virtual row recalculation because they are rendered directly.
14589
+ *
14590
+ * @param data Full source data assigned to the target row store.
14591
+ * @param type Row collection to update. Defaults to the main body rows.
14592
+ * @param disableVirtualRows Prevents recalculating virtual rows for the main row store.
14593
+ * @param grouping Optional grouping metadata applied together with the new data set.
14594
+ * @param silent Preserves the current trimmed state instead of resetting it during the update.
14595
+ * @param preserveTrimmed Re-applies current trimmed indexes after a silent update.
14596
+ * @returns The same `data` array that was provided to the method.
14597
+ */
14598
+ setData(data, type = 'rgRow', disableVirtualRows = false, grouping,
14599
+ // if true, store will be updated without resetting trimmed state
14600
+ silent = false, preserveTrimmed = false) {
14573
14601
  // set rgRow data
14574
- this.stores[type].updateData([...data], grouping, silent);
14602
+ this.stores[type].updateData([...data], grouping, silent, preserveTrimmed);
14575
14603
  // for pinned row no need virtual data
14576
14604
  const noVirtual = type !== 'rgRow' || disableVirtualRows;
14577
14605
  this.dimensionProvider.setData(data.length, type, noVirtual);
@@ -16928,6 +16956,7 @@ function gatherColumnData(data) {
16928
16956
  contentHeight: data.contentHeight,
16929
16957
  key: data.colType,
16930
16958
  colType: data.colType,
16959
+ noHorizontalScrollTransfer: data.noHorizontalScrollTransfer,
16931
16960
  onResizeviewport: data.onResizeviewport,
16932
16961
  // set viewport size to real size
16933
16962
  style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
@@ -16972,6 +17001,7 @@ class ViewportService {
16972
17001
  viewports: config.viewportProvider.stores,
16973
17002
  dimensions: config.dimensionProvider.stores,
16974
17003
  rowStores: config.dataProvider.stores,
17004
+ noHorizontalScrollTransfer: config.noHorizontalScrollTransfer,
16975
17005
  colStore,
16976
17006
  onHeaderresize: e => this.onColumnResize(val, e, colStore),
16977
17007
  };
@@ -17150,11 +17180,11 @@ class GridScrollingService {
17150
17180
  this.setViewport = setViewport;
17151
17181
  this.elements = {};
17152
17182
  }
17153
- async proxyScroll(e, key) {
17183
+ async proxyScroll(e, key, skipEvent) {
17154
17184
  var _a;
17155
17185
  let newEventPromise;
17156
17186
  let event = e;
17157
- for (let elKey in this.elements) {
17187
+ for (let elKey in (skipEvent ? {} : this.elements)) {
17158
17188
  // skip
17159
17189
  if (e.dimension === 'rgCol' && elKey === 'headerRow') {
17160
17190
  continue;
@@ -17180,7 +17210,8 @@ class GridScrollingService {
17180
17210
  if (newEvent) {
17181
17211
  event = newEvent;
17182
17212
  }
17183
- this.setViewport(event);
17213
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
17214
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
17184
17215
  }
17185
17216
  /**
17186
17217
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -18512,6 +18543,7 @@ class RevoGridComponent {
18512
18543
  this.beforeanysource = createEvent(this, "beforeanysource", 7);
18513
18544
  this.aftersourceset = createEvent(this, "aftersourceset", 7);
18514
18545
  this.afteranysource = createEvent(this, "afteranysource", 7);
18546
+ this.beforecolumnsgather = createEvent(this, "beforecolumnsgather", 7);
18515
18547
  this.beforecolumnsset = createEvent(this, "beforecolumnsset", 7);
18516
18548
  this.beforecolumnapplied = createEvent(this, "beforecolumnapplied", 7);
18517
18549
  this.aftercolumnsset = createEvent(this, "aftercolumnsset", 7);
@@ -18552,6 +18584,10 @@ class RevoGridComponent {
18552
18584
  this.readonly = false;
18553
18585
  /** When true, columns are resizable. */
18554
18586
  this.resize = false;
18587
+ /**
18588
+ * Prevents horizontal scroll state from being mirrored across viewport sections.
18589
+ */
18590
+ this.noHorizontalScrollTransfer = false;
18555
18591
  /** When true cell focus appear. */
18556
18592
  this.canFocus = true;
18557
18593
  /** When true enable clipboard. */
@@ -19087,7 +19123,13 @@ class RevoGridComponent {
19087
19123
  if (!this.dimensionProvider || !this.columnProvider) {
19088
19124
  return;
19089
19125
  }
19090
- const columnGather = getColumns(newVal, 0, this.columnTypes);
19126
+ const beforeGatherEvent = this.beforecolumnsgather.emit({
19127
+ columns: [...newVal],
19128
+ });
19129
+ if (beforeGatherEvent.defaultPrevented) {
19130
+ return;
19131
+ }
19132
+ const columnGather = getColumns(beforeGatherEvent.detail.columns, 0, this.columnTypes);
19091
19133
  const beforeSetEvent = this.beforecolumnsset.emit(columnGather);
19092
19134
  if (beforeSetEvent.defaultPrevented) {
19093
19135
  return;
@@ -19434,6 +19476,7 @@ class RevoGridComponent {
19434
19476
  scrollingService: this.scrollingService,
19435
19477
  orderService: this.orderService,
19436
19478
  selectionStoreConnector: this.selectionStoreConnector,
19479
+ noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
19437
19480
  disableVirtualX: this.disableVirtualX,
19438
19481
  disableVirtualY: this.disableVirtualY,
19439
19482
  resize: c => this.aftercolumnresize.emit(c),
@@ -19474,7 +19517,9 @@ class RevoGridComponent {
19474
19517
  dataViews.push(dataView);
19475
19518
  });
19476
19519
  // Add viewport scroll in the end
19477
- viewPortHtml.push(hAsync("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`), onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
19520
+ viewPortHtml.push(hAsync("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => {
19521
+ this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`, this.noHorizontalScrollTransfer && e.detail.dimension === 'rgCol');
19522
+ }, onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
19478
19523
  }
19479
19524
  viewportSections.push(viewPortHtml);
19480
19525
  // #endregion
@@ -19571,6 +19616,7 @@ class RevoGridComponent {
19571
19616
  "range": [4],
19572
19617
  "readonly": [4],
19573
19618
  "resize": [4],
19619
+ "noHorizontalScrollTransfer": [4, "no-horizontal-scroll-transfer"],
19574
19620
  "canFocus": [4, "can-focus"],
19575
19621
  "useClipboard": [4, "use-clipboard"],
19576
19622
  "columns": [16],
@@ -21123,6 +21169,7 @@ class RevogrViewportScroll {
21123
21169
  * Height of inner content
21124
21170
  */
21125
21171
  this.contentHeight = 0;
21172
+ this.noHorizontalScrollTransfer = false;
21126
21173
  }
21127
21174
  async setScroll(e) {
21128
21175
  var _a;
@@ -21307,7 +21354,7 @@ class RevogrViewportScroll {
21307
21354
  this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
21308
21355
  }
21309
21356
  render() {
21310
- return (hAsync(Host, { key: '2be96df29e23c7a681a45675567b5f168786cf92', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, hAsync("div", { key: '49152054dc9c8bdbffc430aa4ee2cf8c2732e05c', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, hAsync("div", { key: '6a2124ed6345021fbbfbd78607dc280918ef9bc5', class: "header-wrapper", ref: e => (this.header = e) }, hAsync("slot", { key: '0a25f0620be889d87fbf81325ffb596919105f4d', name: HEADER_SLOT })), hAsync("div", { key: '7c986664c70ebc6f6d996864e591e484d709c3a5', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, hAsync("div", { key: 'bf810ecbb62b35334b24ab72292ae37866002cb9', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, hAsync("slot", { key: '7d0bf53549eb60d9e6942b05fe1037131562ca2e', name: CONTENT_SLOT }))), hAsync("div", { key: '78d8bdc545e220b324665b5331d902d887ea5e2b', class: "footer-wrapper", ref: e => (this.footer = e) }, hAsync("slot", { key: '76d5b39a94ba27411ca0b58e49714b21e0e837bf', name: FOOTER_SLOT })))));
21357
+ return (hAsync(Host, { key: 'adc7378dba1794ca2ec263d52b09abefe50bcbfd', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, hAsync("div", { key: '7b57a8a0ea44629fefcfe4d2cd77bf0f048d8e06', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, hAsync("div", { key: 'cca3de158bc2a7f0651f578a281819be5698b257', class: "header-wrapper", ref: e => (this.header = e) }, hAsync("slot", { key: '1d170147dabe034f2c35481a8e2fedd6de2b6aed', name: HEADER_SLOT })), hAsync("div", { key: 'b6dd29a91bb1f380a83a035dfdb749ca669936f2', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, hAsync("div", { key: '9bce27bf8ec4d3b679aa9a34eb6379a8c2d46cac', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, hAsync("slot", { key: 'b44a082c9fbb948fd87bd235b4cd4356fd4a3536', name: CONTENT_SLOT }))), hAsync("div", { key: '28c305ff6bc664f1d1bbb117e8b8565c8d4bb6b2', class: "footer-wrapper", ref: e => (this.footer = e) }, hAsync("slot", { key: '96312fb7f18198fd1feb9dcc00c79cde74ba9c9f', name: FOOTER_SLOT })))));
21311
21358
  }
21312
21359
  /**
21313
21360
  * Extra layer for scroll event monitoring, where MouseWheel event is not passing
@@ -21386,7 +21433,7 @@ class RevogrViewportScroll {
21386
21433
  const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;
21387
21434
  // Detect if the user has reached the left end
21388
21435
  const atLeft = scrollLeft === 0 && e.deltaX < 0;
21389
- if (!atRight && !atLeft) {
21436
+ if (!atRight && !atLeft && !this.noHorizontalScrollTransfer) {
21390
21437
  (_a = e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);
21391
21438
  }
21392
21439
  const pos = scrollLeft + e[delta];
@@ -21403,6 +21450,7 @@ class RevogrViewportScroll {
21403
21450
  "contentWidth": [2, "content-width"],
21404
21451
  "contentHeight": [2, "content-height"],
21405
21452
  "colType": [1, "col-type"],
21453
+ "noHorizontalScrollTransfer": [4, "no-horizontal-scroll-transfer"],
21406
21454
  "setScroll": [64],
21407
21455
  "changeScroll": [64],
21408
21456
  "applyScroll": [64]
package/hydrate/index.mjs CHANGED
@@ -6767,6 +6767,7 @@ class Clipboard {
6767
6767
  const beforePasteApply = this.beforePasteApply.emit({
6768
6768
  raw: data,
6769
6769
  parsed: parsedData,
6770
+ dataText,
6770
6771
  event: e,
6771
6772
  });
6772
6773
  if (beforePasteApply.defaultPrevented) {
@@ -6777,6 +6778,7 @@ class Clipboard {
6777
6778
  const afterPasteApply = this.afterPasteApply.emit({
6778
6779
  raw: data,
6779
6780
  parsed: parsedData,
6781
+ dataText,
6780
6782
  event: e,
6781
6783
  });
6782
6784
  // keep default behavior if needed
@@ -11355,8 +11357,16 @@ class DataStore {
11355
11357
  * full data source update
11356
11358
  * @param source - data column/rgRow source
11357
11359
  * @param grouping - grouping information if present
11360
+ * @param silent - if true, store will be updated without resetting trimmed state
11361
+ * @param preserveTrimmed - if true, current trimmed indexes will be re-applied to the new source, use with caution because physical indexes may change across full data refreshes
11358
11362
  */
11359
- updateData(source, grouping, silent = false) {
11363
+ updateData(source, grouping,
11364
+ // if true, store will be updated without resetting trimmed state
11365
+ silent = false,
11366
+ // if true, current trimmed indexes will be re-applied to the new source
11367
+ preserveTrimmed = false) {
11368
+ const trimmed = this.store.get('trimmed');
11369
+ const trimmedItems = silent && preserveTrimmed ? gatherTrimmedItems(trimmed) : null;
11360
11370
  // during full update we do drop trim
11361
11371
  if (!silent) {
11362
11372
  this.store.set('trimmed', {});
@@ -11369,12 +11379,14 @@ class DataStore {
11369
11379
  source,
11370
11380
  proxyItems: [...items],
11371
11381
  });
11372
- // update data items
11373
- this.store.set('items', items);
11382
+ // Explicit trim preservation is opt-in because physical indexes may change
11383
+ // across full data refreshes.
11384
+ this.store.set('items', trimmedItems ? items.filter(i => !trimmedItems[i]) : items);
11374
11385
  // apply grouping if present
11375
11386
  if (grouping) {
11376
11387
  setStore(this.store, {
11377
11388
  groupingDepth: grouping.depth,
11389
+ // if groups are not provided, we will consider that there is only one group with all items
11378
11390
  groups: grouping.groups,
11379
11391
  groupingCustomRenderer: grouping.customRenderer,
11380
11392
  });
@@ -14567,9 +14579,25 @@ class DataProvider {
14567
14579
  return sources;
14568
14580
  }, {});
14569
14581
  }
14570
- setData(data, type = 'rgRow', disableVirtualRows = false, grouping, silent = false) {
14582
+ /**
14583
+ * Replaces the data source for a row type and synchronizes the related dimension metadata.
14584
+ *
14585
+ * `rgRow` updates also refresh the virtual row model unless `disableVirtualRows` is set.
14586
+ * Pinned row types skip virtual row recalculation because they are rendered directly.
14587
+ *
14588
+ * @param data Full source data assigned to the target row store.
14589
+ * @param type Row collection to update. Defaults to the main body rows.
14590
+ * @param disableVirtualRows Prevents recalculating virtual rows for the main row store.
14591
+ * @param grouping Optional grouping metadata applied together with the new data set.
14592
+ * @param silent Preserves the current trimmed state instead of resetting it during the update.
14593
+ * @param preserveTrimmed Re-applies current trimmed indexes after a silent update.
14594
+ * @returns The same `data` array that was provided to the method.
14595
+ */
14596
+ setData(data, type = 'rgRow', disableVirtualRows = false, grouping,
14597
+ // if true, store will be updated without resetting trimmed state
14598
+ silent = false, preserveTrimmed = false) {
14571
14599
  // set rgRow data
14572
- this.stores[type].updateData([...data], grouping, silent);
14600
+ this.stores[type].updateData([...data], grouping, silent, preserveTrimmed);
14573
14601
  // for pinned row no need virtual data
14574
14602
  const noVirtual = type !== 'rgRow' || disableVirtualRows;
14575
14603
  this.dimensionProvider.setData(data.length, type, noVirtual);
@@ -16926,6 +16954,7 @@ function gatherColumnData(data) {
16926
16954
  contentHeight: data.contentHeight,
16927
16955
  key: data.colType,
16928
16956
  colType: data.colType,
16957
+ noHorizontalScrollTransfer: data.noHorizontalScrollTransfer,
16929
16958
  onResizeviewport: data.onResizeviewport,
16930
16959
  // set viewport size to real size
16931
16960
  style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
@@ -16970,6 +16999,7 @@ class ViewportService {
16970
16999
  viewports: config.viewportProvider.stores,
16971
17000
  dimensions: config.dimensionProvider.stores,
16972
17001
  rowStores: config.dataProvider.stores,
17002
+ noHorizontalScrollTransfer: config.noHorizontalScrollTransfer,
16973
17003
  colStore,
16974
17004
  onHeaderresize: e => this.onColumnResize(val, e, colStore),
16975
17005
  };
@@ -17148,11 +17178,11 @@ class GridScrollingService {
17148
17178
  this.setViewport = setViewport;
17149
17179
  this.elements = {};
17150
17180
  }
17151
- async proxyScroll(e, key) {
17181
+ async proxyScroll(e, key, skipEvent) {
17152
17182
  var _a;
17153
17183
  let newEventPromise;
17154
17184
  let event = e;
17155
- for (let elKey in this.elements) {
17185
+ for (let elKey in (skipEvent ? {} : this.elements)) {
17156
17186
  // skip
17157
17187
  if (e.dimension === 'rgCol' && elKey === 'headerRow') {
17158
17188
  continue;
@@ -17178,7 +17208,8 @@ class GridScrollingService {
17178
17208
  if (newEvent) {
17179
17209
  event = newEvent;
17180
17210
  }
17181
- this.setViewport(event);
17211
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
17212
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
17182
17213
  }
17183
17214
  /**
17184
17215
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -18510,6 +18541,7 @@ class RevoGridComponent {
18510
18541
  this.beforeanysource = createEvent(this, "beforeanysource", 7);
18511
18542
  this.aftersourceset = createEvent(this, "aftersourceset", 7);
18512
18543
  this.afteranysource = createEvent(this, "afteranysource", 7);
18544
+ this.beforecolumnsgather = createEvent(this, "beforecolumnsgather", 7);
18513
18545
  this.beforecolumnsset = createEvent(this, "beforecolumnsset", 7);
18514
18546
  this.beforecolumnapplied = createEvent(this, "beforecolumnapplied", 7);
18515
18547
  this.aftercolumnsset = createEvent(this, "aftercolumnsset", 7);
@@ -18550,6 +18582,10 @@ class RevoGridComponent {
18550
18582
  this.readonly = false;
18551
18583
  /** When true, columns are resizable. */
18552
18584
  this.resize = false;
18585
+ /**
18586
+ * Prevents horizontal scroll state from being mirrored across viewport sections.
18587
+ */
18588
+ this.noHorizontalScrollTransfer = false;
18553
18589
  /** When true cell focus appear. */
18554
18590
  this.canFocus = true;
18555
18591
  /** When true enable clipboard. */
@@ -19085,7 +19121,13 @@ class RevoGridComponent {
19085
19121
  if (!this.dimensionProvider || !this.columnProvider) {
19086
19122
  return;
19087
19123
  }
19088
- const columnGather = getColumns(newVal, 0, this.columnTypes);
19124
+ const beforeGatherEvent = this.beforecolumnsgather.emit({
19125
+ columns: [...newVal],
19126
+ });
19127
+ if (beforeGatherEvent.defaultPrevented) {
19128
+ return;
19129
+ }
19130
+ const columnGather = getColumns(beforeGatherEvent.detail.columns, 0, this.columnTypes);
19089
19131
  const beforeSetEvent = this.beforecolumnsset.emit(columnGather);
19090
19132
  if (beforeSetEvent.defaultPrevented) {
19091
19133
  return;
@@ -19432,6 +19474,7 @@ class RevoGridComponent {
19432
19474
  scrollingService: this.scrollingService,
19433
19475
  orderService: this.orderService,
19434
19476
  selectionStoreConnector: this.selectionStoreConnector,
19477
+ noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
19435
19478
  disableVirtualX: this.disableVirtualX,
19436
19479
  disableVirtualY: this.disableVirtualY,
19437
19480
  resize: c => this.aftercolumnresize.emit(c),
@@ -19472,7 +19515,9 @@ class RevoGridComponent {
19472
19515
  dataViews.push(dataView);
19473
19516
  });
19474
19517
  // Add viewport scroll in the end
19475
- viewPortHtml.push(hAsync("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`), onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
19518
+ viewPortHtml.push(hAsync("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => {
19519
+ this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`, this.noHorizontalScrollTransfer && e.detail.dimension === 'rgCol');
19520
+ }, onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
19476
19521
  }
19477
19522
  viewportSections.push(viewPortHtml);
19478
19523
  // #endregion
@@ -19569,6 +19614,7 @@ class RevoGridComponent {
19569
19614
  "range": [4],
19570
19615
  "readonly": [4],
19571
19616
  "resize": [4],
19617
+ "noHorizontalScrollTransfer": [4, "no-horizontal-scroll-transfer"],
19572
19618
  "canFocus": [4, "can-focus"],
19573
19619
  "useClipboard": [4, "use-clipboard"],
19574
19620
  "columns": [16],
@@ -21121,6 +21167,7 @@ class RevogrViewportScroll {
21121
21167
  * Height of inner content
21122
21168
  */
21123
21169
  this.contentHeight = 0;
21170
+ this.noHorizontalScrollTransfer = false;
21124
21171
  }
21125
21172
  async setScroll(e) {
21126
21173
  var _a;
@@ -21305,7 +21352,7 @@ class RevogrViewportScroll {
21305
21352
  this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
21306
21353
  }
21307
21354
  render() {
21308
- return (hAsync(Host, { key: '2be96df29e23c7a681a45675567b5f168786cf92', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, hAsync("div", { key: '49152054dc9c8bdbffc430aa4ee2cf8c2732e05c', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, hAsync("div", { key: '6a2124ed6345021fbbfbd78607dc280918ef9bc5', class: "header-wrapper", ref: e => (this.header = e) }, hAsync("slot", { key: '0a25f0620be889d87fbf81325ffb596919105f4d', name: HEADER_SLOT })), hAsync("div", { key: '7c986664c70ebc6f6d996864e591e484d709c3a5', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, hAsync("div", { key: 'bf810ecbb62b35334b24ab72292ae37866002cb9', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, hAsync("slot", { key: '7d0bf53549eb60d9e6942b05fe1037131562ca2e', name: CONTENT_SLOT }))), hAsync("div", { key: '78d8bdc545e220b324665b5331d902d887ea5e2b', class: "footer-wrapper", ref: e => (this.footer = e) }, hAsync("slot", { key: '76d5b39a94ba27411ca0b58e49714b21e0e837bf', name: FOOTER_SLOT })))));
21355
+ return (hAsync(Host, { key: 'adc7378dba1794ca2ec263d52b09abefe50bcbfd', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, hAsync("div", { key: '7b57a8a0ea44629fefcfe4d2cd77bf0f048d8e06', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, hAsync("div", { key: 'cca3de158bc2a7f0651f578a281819be5698b257', class: "header-wrapper", ref: e => (this.header = e) }, hAsync("slot", { key: '1d170147dabe034f2c35481a8e2fedd6de2b6aed', name: HEADER_SLOT })), hAsync("div", { key: 'b6dd29a91bb1f380a83a035dfdb749ca669936f2', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, hAsync("div", { key: '9bce27bf8ec4d3b679aa9a34eb6379a8c2d46cac', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, hAsync("slot", { key: 'b44a082c9fbb948fd87bd235b4cd4356fd4a3536', name: CONTENT_SLOT }))), hAsync("div", { key: '28c305ff6bc664f1d1bbb117e8b8565c8d4bb6b2', class: "footer-wrapper", ref: e => (this.footer = e) }, hAsync("slot", { key: '96312fb7f18198fd1feb9dcc00c79cde74ba9c9f', name: FOOTER_SLOT })))));
21309
21356
  }
21310
21357
  /**
21311
21358
  * Extra layer for scroll event monitoring, where MouseWheel event is not passing
@@ -21384,7 +21431,7 @@ class RevogrViewportScroll {
21384
21431
  const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;
21385
21432
  // Detect if the user has reached the left end
21386
21433
  const atLeft = scrollLeft === 0 && e.deltaX < 0;
21387
- if (!atRight && !atLeft) {
21434
+ if (!atRight && !atLeft && !this.noHorizontalScrollTransfer) {
21388
21435
  (_a = e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);
21389
21436
  }
21390
21437
  const pos = scrollLeft + e[delta];
@@ -21401,6 +21448,7 @@ class RevogrViewportScroll {
21401
21448
  "contentWidth": [2, "content-width"],
21402
21449
  "contentHeight": [2, "content-height"],
21403
21450
  "colType": [1, "col-type"],
21451
+ "noHorizontalScrollTransfer": [4, "no-horizontal-scroll-transfer"],
21404
21452
  "setScroll": [64],
21405
21453
  "changeScroll": [64],
21406
21454
  "applyScroll": [64]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revolist/revogrid",
3
- "version": "4.21.2",
3
+ "version": "4.21.4",
4
4
  "type": "module",
5
5
  "description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
6
6
  "license": "MIT",
package/readme.md CHANGED
@@ -127,6 +127,8 @@ Used by some of the largest companies in Europe and the United States.
127
127
  - Nested grids: Build a grid inside a grid, showcasing advanced editing options and user interactions for a more dynamic data presentation.
128
128
  - Context Menu: Build context menus for any grid element - from cells to headers. Cut, copy, paste, add rows, modify columns, and more. Fully customizable with your own actions and behaviors.
129
129
 
130
+ - **[AI Agents and MCP](https://rv-grid.com/guide/mcp)**: Connect Codex, Cursor, Claude Code, and VS Code to version-aware RevoGrid docs, examples, migrations, feature availability, and typed API context.
131
+
130
132
  - [Cell template](https://rv-grid.com/guide/cell/renderer) (create your own cell views).
131
133
  - [Cell editor](https://rv-grid.com/guide/cell/editor) (use predefined or apply your own custom editors and cell types).
132
134
 
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import{c as t,b as n,r,S as e,i as o,f as u,a as i,t as c}from"./toNumber.js";import*as s from"@stencil/core/internal/client";import"./platform.js";const f=t=>({set(n,r){if("proxyItems"!==n)return;const e=t.get("items").reduce(((t,n)=>(t.add(n),t)),new Set),o=r.reduce(((t,n)=>(e.has(n)&&t.push(n),t)),[]);t.set("items",o)}});function a(t,n){return t===n||t!=t&&n!=n}function v(t,n){for(var r=t.length;r--;)if(a(t[r][0],n))return r;return-1}var l=Array.prototype.splice;function h(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function b(r){if(!t(r))return!1;var e=n(r);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}h.prototype.clear=function(){this.__data__=[],this.size=0},h.prototype.delete=function(t){var n=this.__data__,r=v(n,t);return!(r<0||(r==n.length-1?n.pop():l.call(n,r,1),--this.size,0))},h.prototype.get=function(t){var n=this.__data__,r=v(n,t);return r<0?void 0:n[r][1]},h.prototype.has=function(t){return v(this.__data__,t)>-1},h.prototype.set=function(t,n){var r=this.__data__,e=v(r,t);return e<0?(++this.size,r.push([t,n])):r[e][1]=n,this};var p,d=r["__core-js_shared__"],m=(p=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+p:"",j=Function.prototype.toString;function y(t){if(null!=t){try{return j.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var w=/^\[object .+?Constructor\]$/,g=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function O(n,r){var e=function(t,n){return null==t?void 0:t[n]}(n,r);return function(n){return!(!t(n)||(r=n,m&&m in r))&&(b(n)?g:w).test(y(n));var r}(e)?e:void 0}var _=O(r,"Map"),x=O(Object,"create"),A=Object.prototype.hasOwnProperty,D=Object.prototype.hasOwnProperty;function M(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function S(t,n){var r,e,o=t.__data__;return("string"==(e=typeof(r=n))||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==r:null===r)?o["string"==typeof n?"string":"hash"]:o.map}function k(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function $(t){var n=this.__data__=new h(t);this.size=n.size}function P(t){var n=-1,r=null==t?0:t.length;for(this.__data__=new k;++n<r;)this.add(t[n])}function C(t,n){for(var r=-1,e=null==t?0:t.length;++r<e;)if(n(t[r],r,t))return!0;return!1}function E(t,n,r,e,o,u){var i=1&r,c=t.length,s=n.length;if(c!=s&&!(i&&s>c))return!1;var f=u.get(t),a=u.get(n);if(f&&a)return f==n&&a==t;var v=-1,l=!0,h=2&r?new P:void 0;for(u.set(t,n),u.set(n,t);++v<c;){var b=t[v],p=n[v];if(e)var d=i?e(p,b,v,n,t,u):e(b,p,v,t,n,u);if(void 0!==d){if(d)continue;l=!1;break}if(h){if(!C(n,(function(t,n){if(!h.has(n)&&(b===t||o(b,t,r,e,u)))return h.push(n)}))){l=!1;break}}else if(b!==p&&!o(b,p,r,e,u)){l=!1;break}}return u.delete(t),u.delete(n),l}M.prototype.clear=function(){this.__data__=x?x(null):{},this.size=0},M.prototype.delete=function(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n},M.prototype.get=function(t){var n=this.__data__;if(x){var r=n[t];return"__lodash_hash_undefined__"===r?void 0:r}return A.call(n,t)?n[t]:void 0},M.prototype.has=function(t){var n=this.__data__;return x?void 0!==n[t]:D.call(n,t)},M.prototype.set=function(t,n){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=x&&void 0===n?"__lodash_hash_undefined__":n,this},k.prototype.clear=function(){this.size=0,this.__data__={hash:new M,map:new(_||h),string:new M}},k.prototype.delete=function(t){var n=S(this,t).delete(t);return this.size-=n?1:0,n},k.prototype.get=function(t){return S(this,t).get(t)},k.prototype.has=function(t){return S(this,t).has(t)},k.prototype.set=function(t,n){var r=S(this,t),e=r.size;return r.set(t,n),this.size+=r.size==e?0:1,this},$.prototype.clear=function(){this.__data__=new h,this.size=0},$.prototype.delete=function(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r},$.prototype.get=function(t){return this.__data__.get(t)},$.prototype.has=function(t){return this.__data__.has(t)},$.prototype.set=function(t,n){var r=this.__data__;if(r instanceof h){var e=r.__data__;if(!_||e.length<199)return e.push([t,n]),this.size=++r.size,this;r=this.__data__=new k(e)}return r.set(t,n),this.size=r.size,this},P.prototype.add=P.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},P.prototype.has=function(t){return this.__data__.has(t)};var F=r.Uint8Array;function R(t){var n=-1,r=Array(t.size);return t.forEach((function(t,e){r[++n]=[e,t]})),r}function I(t){var n=-1,r=Array(t.size);return t.forEach((function(t){r[++n]=t})),r}var T=e?e.prototype:void 0,B=T?T.valueOf:void 0,N=Array.isArray,V=Object.prototype.propertyIsEnumerable,W=Object.getOwnPropertySymbols,H=W?function(t){return null==t?[]:(t=Object(t),function(n){for(var r=-1,e=null==n?0:n.length,o=0,u=[];++r<e;){var i=n[r];V.call(t,i)&&(u[o++]=i)}return u}(W(t)))}:function(){return[]};function L(t){return o(t)&&"[object Arguments]"==n(t)}var q=Object.prototype,G=q.hasOwnProperty,K=q.propertyIsEnumerable,U=L(function(){return arguments}())?L:function(t){return o(t)&&G.call(t,"callee")&&!K.call(t,"callee")},z="object"==typeof exports&&exports&&!exports.nodeType&&exports,J=z&&"object"==typeof module&&module&&!module.nodeType&&module,Q=J&&J.exports===z?r.Buffer:void 0,X=(Q?Q.isBuffer:void 0)||function(){return!1},Y=/^(?:0|[1-9]\d*)$/;function Z(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&Y.test(t))&&t>-1&&t%1==0&&t<n}function tt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var nt={};nt["[object Float32Array]"]=nt["[object Float64Array]"]=nt["[object Int8Array]"]=nt["[object Int16Array]"]=nt["[object Int32Array]"]=nt["[object Uint8Array]"]=nt["[object Uint8ClampedArray]"]=nt["[object Uint16Array]"]=nt["[object Uint32Array]"]=!0,nt["[object Arguments]"]=nt["[object Array]"]=nt["[object ArrayBuffer]"]=nt["[object Boolean]"]=nt["[object DataView]"]=nt["[object Date]"]=nt["[object Error]"]=nt["[object Function]"]=nt["[object Map]"]=nt["[object Number]"]=nt["[object Object]"]=nt["[object RegExp]"]=nt["[object Set]"]=nt["[object String]"]=nt["[object WeakMap]"]=!1;var rt,et="object"==typeof exports&&exports&&!exports.nodeType&&exports,ot=et&&"object"==typeof module&&module&&!module.nodeType&&module,ut=ot&&ot.exports===et&&u.process,it=function(){try{return ot&&ot.require&&ot.require("util").types||ut&&ut.binding&&ut.binding("util")}catch(t){}}(),ct=it&&it.isTypedArray,st=ct?(rt=ct,function(t){return rt(t)}):function(t){return o(t)&&tt(t.length)&&!!nt[n(t)]},ft=Object.prototype.hasOwnProperty;var at=Object.prototype,vt=function(t,n){return function(r){return t(n(r))}}(Object.keys,Object),lt=Object.prototype.hasOwnProperty;function ht(t){if((n=t)!==("function"==typeof(r=n&&n.constructor)&&r.prototype||at))return vt(t);var n,r,e=[];for(var o in Object(t))lt.call(t,o)&&"constructor"!=o&&e.push(o);return e}function bt(t){return null!=t&&tt(t.length)&&!b(t)}function pt(t){return bt(t)?function(t){var n=N(t),r=!n&&U(t),e=!n&&!r&&X(t),o=!n&&!r&&!e&&st(t),u=n||r||e||o,i=u?function(t,n){for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);return e}(t.length,String):[],c=i.length;for(var s in t)!ft.call(t,s)||u&&("length"==s||e&&("offset"==s||"parent"==s)||o&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||Z(s,c))||i.push(s);return i}(t):ht(t)}function dt(t){return function(t,n,r){var e=pt(t);return N(t)?e:function(t,n){for(var r=-1,e=n.length,o=t.length;++r<e;)t[o+r]=n[r];return t}(e,r(t))}(t,0,H)}var mt=Object.prototype.hasOwnProperty,jt=O(r,"DataView"),yt=O(r,"Promise"),wt=O(r,"Set"),gt=O(r,"WeakMap"),Ot="[object Map]",_t="[object Promise]",xt="[object Set]",At="[object WeakMap]",Dt="[object DataView]",Mt=y(jt),St=y(_),kt=y(yt),$t=y(wt),Pt=y(gt),Ct=n;(jt&&Ct(new jt(new ArrayBuffer(1)))!=Dt||_&&Ct(new _)!=Ot||yt&&Ct(yt.resolve())!=_t||wt&&Ct(new wt)!=xt||gt&&Ct(new gt)!=At)&&(Ct=function(t){var r=n(t),e="[object Object]"==r?t.constructor:void 0,o=e?y(e):"";if(o)switch(o){case Mt:return Dt;case St:return Ot;case kt:return _t;case $t:return xt;case Pt:return At}return r});var Et="[object Arguments]",Ft="[object Array]",Rt="[object Object]",It=Object.prototype.hasOwnProperty;function Tt(t,n,r,e,u){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:function(t,n,r,e,o,u){var i=N(t),c=N(n),s=i?Ft:Ct(t),f=c?Ft:Ct(n),v=(s=s==Et?Rt:s)==Rt,l=(f=f==Et?Rt:f)==Rt,h=s==f;if(h&&X(t)){if(!X(n))return!1;i=!0,v=!1}if(h&&!v)return u||(u=new $),i||st(t)?E(t,n,r,e,o,u):function(t,n,r,e,o,u,i){switch(r){case"[object DataView]":if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=n.byteLength||!u(new F(t),new F(n)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+t,+n);case"[object Error]":return t.name==n.name&&t.message==n.message;case"[object RegExp]":case"[object String]":return t==n+"";case"[object Map]":var c=R;case"[object Set]":if(c||(c=I),t.size!=n.size&&!(1&e))return!1;var s=i.get(t);if(s)return s==n;e|=2,i.set(t,n);var f=E(c(t),c(n),e,o,u,i);return i.delete(t),f;case"[object Symbol]":if(B)return B.call(t)==B.call(n)}return!1}(t,n,s,r,e,o,u);if(!(1&r)){var b=v&&It.call(t,"__wrapped__"),p=l&&It.call(n,"__wrapped__");if(b||p){var d=b?t.value():t,m=p?n.value():n;return u||(u=new $),o(d,m,r,e,u)}}return!!h&&(u||(u=new $),function(t,n,r,e,o,u){var i=1&r,c=dt(t),s=c.length;if(s!=dt(n).length&&!i)return!1;for(var f=s;f--;){var a=c[f];if(!(i?a in n:mt.call(n,a)))return!1}var v=u.get(t),l=u.get(n);if(v&&l)return v==n&&l==t;var h=!0;u.set(t,n),u.set(n,t);for(var b=i;++f<s;){var p=t[a=c[f]],d=n[a];if(e)var m=i?e(d,p,a,n,t,u):e(p,d,a,t,n,u);if(!(void 0===m?p===d||o(p,d,r,e,u):m)){h=!1;break}b||(b="constructor"==a)}if(h&&!b){var j=t.constructor,y=n.constructor;j==y||!("constructor"in t)||!("constructor"in n)||"function"==typeof j&&j instanceof j&&"function"==typeof y&&y instanceof y||(h=!1)}return u.delete(t),u.delete(n),h}(t,n,r,e,o,u))}(t,n,r,e,Tt,u))}function Bt(n){return n==n&&!t(n)}function Nt(t,n){return function(r){return null!=r&&r[t]===n&&(void 0!==n||t in Object(r))}}var Vt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wt=/^\w*$/;function Ht(t,n){if(N(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!i(t))||Wt.test(t)||!Vt.test(t)||null!=n&&t in Object(n)}function Lt(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new TypeError("Expected a function");var r=function(){var e=arguments,o=n?n.apply(this,e):e[0],u=r.cache;if(u.has(o))return u.get(o);var i=t.apply(this,e);return r.cache=u.set(o,i)||u,i};return r.cache=new(Lt.Cache||k),r}Lt.Cache=k;var qt,Gt,Kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ut=/\\(\\)?/g,zt=(qt=Lt((function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(Kt,(function(t,r,e,o){n.push(e?o.replace(Ut,"$1"):r||t)})),n}),(function(t){return 500===Gt.size&&Gt.clear(),t})),Gt=qt.cache,qt),Jt=e?e.prototype:void 0,Qt=Jt?Jt.toString:void 0;function Xt(t){if("string"==typeof t)return t;if(N(t))return function(t,n){for(var r=-1,e=null==t?0:t.length,o=Array(e);++r<e;)o[r]=n(t[r],r,t);return o}(t,Xt)+"";if(i(t))return Qt?Qt.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function Yt(t,n){return N(t)?t:Ht(t,n)?[t]:zt(function(t){return null==t?"":Xt(t)}(t))}function Zt(t){if("string"==typeof t||i(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function tn(t,n){for(var r=0,e=(n=Yt(n,t)).length;null!=t&&r<e;)t=t[Zt(n[r++])];return r&&r==e?t:void 0}function nn(t,n){return null!=t&&n in Object(t)}function rn(t,n){return Ht(t)&&Bt(n)?Nt(Zt(t),n):function(r){var e=function(t,n){var r=null==t?void 0:tn(t,n);return void 0===r?void 0:r}(r,t);return void 0===e&&e===n?function(t,n){return null!=t&&function(t,n,r){for(var e=-1,o=(n=Yt(n,t)).length,u=!1;++e<o;){var i=Zt(n[e]);if(!(u=null!=t&&r(t,i)))break;t=t[i]}return u||++e!=o?u:!!(o=null==t?0:t.length)&&tt(o)&&Z(i,o)&&(N(t)||U(t))}(t,n,nn)}(r,t):Tt(n,e,3)}}function en(t){return t}function on(t){return function(n){return null==n?void 0:n[t]}}function un(t){return"function"==typeof t?t:null==t?en:"object"==typeof t?N(t)?rn(t[0],t[1]):(e=function(t){for(var n=pt(t),r=n.length;r--;){var e=n[r],o=t[e];n[r]=[e,o,Bt(o)]}return n}(r=t),1==e.length&&e[0][2]?Nt(e[0][0],e[0][1]):function(t){return t===r||function(t,n,r){var e=r.length,o=e;if(null==t)return!o;for(t=Object(t);e--;){var u=r[e];if(u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++e<o;){var i=(u=r[e])[0],c=t[i];if(u[2]){if(void 0===c&&!(i in t))return!1}else if(!Tt(u[1],c,3,void 0,new $))return!1}return!0}(t,0,e)}):Ht(n=t)?on(Zt(n)):function(t){return function(n){return tn(n,t)}}(n);var n,r,e}var cn=1/0;function sn(t){return t?(t=c(t))===cn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}var fn=Math.ceil,an=Math.max;function vn(n,r,e){if(!t(e))return!1;var o=typeof r;return!!("number"==o?bt(e)&&Z(r,e.length):"string"==o&&r in e)&&a(e[r],n)}const ln=(()=>{let t;return(...n)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let n of t.keys()){const r=t.get(n).filter((t=>{const n=t.deref();return n&&(!("isConnected"in(r=n))||r.isConnected);var r}));t.set(n,r)}})(...n)}),2e3)}})(),hn=s.forceUpdate,bn=s.getRenderingRef,pn=(t,n)=>{const r=t.indexOf(n);r>=0&&(t[r]=t[t.length-1],t.length--)},dn=(t,n)=>{const r=((t,n=(t,n)=>t!==n)=>{const r=()=>{return("function"==typeof(n=t)?n():n)??{};var n},e=r();let o=new Map(Object.entries(e));const u="undefined"!=typeof Proxy,i=u?null:{},c={dispose:[],get:[],set:[],reset:[]},s=new Map,f=()=>{o=new Map(Object.entries(r())),u||p(),c.reset.forEach((t=>t()))},a=t=>(c.get.forEach((n=>n(t))),o.get(t)),v=(t,r)=>{const e=o.get(t);n(r,e,t)&&(o.set(t,r),u||b(t),c.set.forEach((n=>n(t,r,e))))},l=u?new Proxy(e,{get:(t,n)=>a(n),ownKeys:()=>Array.from(o.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,n)=>o.has(n),set:(t,n,r)=>(v(n,r),!0)}):(p(),i),h=(t,n)=>(c[t].push(n),()=>{pn(c[t],n)});function b(t){!u&&i&&(Object.prototype.hasOwnProperty.call(i,t)||Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:()=>a(t),set(n){v(t,n)}}))}function p(){if(u||!i)return;const t=new Set(o.keys());for(const n of Object.keys(i))t.has(n)||delete i[n];for(const n of t)b(n)}return{state:l,get:a,set:v,on:h,onChange:(t,n)=>{const e=(r,e)=>{r===t&&n(e)},o=()=>{const e=r();n(e[t])},u=h("set",e),i=h("reset",o);return s.set(n,{setHandler:e,resetHandler:o,propName:t}),()=>{u(),i(),s.delete(n)}},use:(...t)=>{const n=t.reduce(((t,n)=>(n.set&&t.push(h("set",n.set)),n.get&&t.push(h("get",n.get)),n.reset&&t.push(h("reset",n.reset)),n.dispose&&t.push(h("dispose",n.dispose)),t)),[]);return()=>n.forEach((t=>t()))},dispose:()=>{c.dispose.forEach((t=>t())),f()},reset:f,forceUpdate:t=>{const n=o.get(t);c.set.forEach((r=>r(t,n,n)))},removeListener:(t,n)=>{const r=s.get(n);r&&r.propName===t&&(pn(c.set,r.setHandler),pn(c.reset,r.resetHandler),s.delete(n))}}})(t,n);return r.use((()=>{if("function"!=typeof bn||"function"!=typeof hn)return{};const t=hn,n=bn,r=new Map;return{dispose:()=>r.clear(),get:t=>{const e=n();e&&((t,n,r)=>{let e=t.get(n);e||(e=[],t.set(n,e)),e.some((t=>t.deref()===r))||e.push(new WeakRef(r))})(r,t,e)},set:n=>{const e=r.get(n);if(e){const o=e.filter((n=>{const r=n.deref();return!!r&&t(r)}));r.set(n,o)}ln(r)},reset:()=>{r.forEach((n=>{n.forEach((n=>{const r=n.deref();r&&t(r)}))})),ln(r)}}})()),r},mn=t=>({set(n,r){switch(n){case"trimmed":{const n=t.get("proxyItems"),e=jn(r),o=n.filter((t=>!e[t]));t.set("items",o);break}}}});function jn(t){const n={};for(let r in t)for(let e in t[r])n[e]=n[e]||t[r][e];return n}function yn(t,n){Object.entries(n).forEach((([n,r])=>{t.set(n,r)}))}class wn{get store(){return this.dataStore}constructor(t,n){const r=this.dataStore=dn(Object.assign({items:[],proxyItems:[],source:[],groupingDepth:0,groups:{},type:t,trimmed:{},groupingCustomRenderer:void 0},n));r.use(f(r)),r.use(mn(r))}updateData(t,n,r=!1){r||this.store.set("trimmed",{}),this.store.set("items",[]);const e=(o=0,u=(null==t?void 0:t.length)||0,i&&"number"!=typeof i&&vn(o,u,i)&&(u=i=void 0),o=sn(o),void 0===u?(u=o,o=0):u=sn(u),function(t,n,r){for(var e=-1,o=an(fn((n-t)/(r||1)),0),u=Array(o);o--;)u[++e]=t,t+=r;return u}(o,u,i=void 0===i?o<u?1:-1:sn(i)));var o,u,i;yn(this.store,{source:t,proxyItems:[...e]}),this.store.set("items",e),n&&yn(this.store,{groupingDepth:n.depth,groups:n.groups,groupingCustomRenderer:n.customRenderer})}addTrimmed(t){let n=this.store.get("trimmed");n=Object.assign(Object.assign({},n),t),yn(this.store,{trimmed:n})}setSourceData(t,n=!0){An(this.store,t,n)}setData(t){const n=Object.assign({},t);yn(this.store,n)}refresh(){const t=this.store.get("source");this.store.set("source",[...t])}}function gn(t,n){return t.get("items")[n]}function On(t){const n=t.get("source");return t.get("items").map((t=>n[t]))}const _n=(t,n)=>t.get("source")[xn(t,n)],xn=(t,n)=>t.get("items")[n];function An(t,n,r=!0){const e=t.get("items"),o=t.get("source");for(let t in n)o[e[t]]=n[t];r&&t.set("source",[...o])}function Dn(t,n,r=!0){const e=t.get("source");for(let t in n)e[t]=n[t];r&&t.set("source",[...e])}function Mn(t,n){t.set("items",n)}function Sn(t,n){const r=t.get("items"),e=null!=(o=t.get("source"))&&o.length?function(t,n){for(var r=t.length,e=-1;++e<r;)if(n(t[e],e,t))return e;return-1}(o,un({prop:n})):-1;var o;return r.indexOf(e)}export{wn as D,On as a,_n as b,xn as c,Dn as d,Mn as e,Sn as f,gn as g,jn as h,yn as i,dn as j,en as k,N as l,on as m,bt as n,Ct as o,f as p,ht as q,O as r,An as s,mn as t,un as u,sn as v,pt as w,vn as x}
4
+ import{c as t,b as n,r,S as e,i as o,f as u,a as i,t as c}from"./toNumber.js";import*as s from"@stencil/core/internal/client";import"./platform.js";const f=t=>({set(n,r){if("proxyItems"!==n)return;const e=t.get("items").reduce(((t,n)=>(t.add(n),t)),new Set),o=r.reduce(((t,n)=>(e.has(n)&&t.push(n),t)),[]);t.set("items",o)}});function a(t,n){return t===n||t!=t&&n!=n}function v(t,n){for(var r=t.length;r--;)if(a(t[r][0],n))return r;return-1}var l=Array.prototype.splice;function h(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function b(r){if(!t(r))return!1;var e=n(r);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}h.prototype.clear=function(){this.__data__=[],this.size=0},h.prototype.delete=function(t){var n=this.__data__,r=v(n,t);return!(r<0||(r==n.length-1?n.pop():l.call(n,r,1),--this.size,0))},h.prototype.get=function(t){var n=this.__data__,r=v(n,t);return r<0?void 0:n[r][1]},h.prototype.has=function(t){return v(this.__data__,t)>-1},h.prototype.set=function(t,n){var r=this.__data__,e=v(r,t);return e<0?(++this.size,r.push([t,n])):r[e][1]=n,this};var p,d=r["__core-js_shared__"],m=(p=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+p:"",j=Function.prototype.toString;function y(t){if(null!=t){try{return j.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var w=/^\[object .+?Constructor\]$/,g=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function O(n,r){var e=function(t,n){return null==t?void 0:t[n]}(n,r);return function(n){return!(!t(n)||(r=n,m&&m in r))&&(b(n)?g:w).test(y(n));var r}(e)?e:void 0}var _=O(r,"Map"),x=O(Object,"create"),A=Object.prototype.hasOwnProperty,D=Object.prototype.hasOwnProperty;function M(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function S(t,n){var r,e,o=t.__data__;return("string"==(e=typeof(r=n))||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==r:null===r)?o["string"==typeof n?"string":"hash"]:o.map}function k(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function $(t){var n=this.__data__=new h(t);this.size=n.size}function P(t){var n=-1,r=null==t?0:t.length;for(this.__data__=new k;++n<r;)this.add(t[n])}function C(t,n){for(var r=-1,e=null==t?0:t.length;++r<e;)if(n(t[r],r,t))return!0;return!1}function E(t,n,r,e,o,u){var i=1&r,c=t.length,s=n.length;if(c!=s&&!(i&&s>c))return!1;var f=u.get(t),a=u.get(n);if(f&&a)return f==n&&a==t;var v=-1,l=!0,h=2&r?new P:void 0;for(u.set(t,n),u.set(n,t);++v<c;){var b=t[v],p=n[v];if(e)var d=i?e(p,b,v,n,t,u):e(b,p,v,t,n,u);if(void 0!==d){if(d)continue;l=!1;break}if(h){if(!C(n,(function(t,n){if(!h.has(n)&&(b===t||o(b,t,r,e,u)))return h.push(n)}))){l=!1;break}}else if(b!==p&&!o(b,p,r,e,u)){l=!1;break}}return u.delete(t),u.delete(n),l}M.prototype.clear=function(){this.__data__=x?x(null):{},this.size=0},M.prototype.delete=function(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n},M.prototype.get=function(t){var n=this.__data__;if(x){var r=n[t];return"__lodash_hash_undefined__"===r?void 0:r}return A.call(n,t)?n[t]:void 0},M.prototype.has=function(t){var n=this.__data__;return x?void 0!==n[t]:D.call(n,t)},M.prototype.set=function(t,n){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=x&&void 0===n?"__lodash_hash_undefined__":n,this},k.prototype.clear=function(){this.size=0,this.__data__={hash:new M,map:new(_||h),string:new M}},k.prototype.delete=function(t){var n=S(this,t).delete(t);return this.size-=n?1:0,n},k.prototype.get=function(t){return S(this,t).get(t)},k.prototype.has=function(t){return S(this,t).has(t)},k.prototype.set=function(t,n){var r=S(this,t),e=r.size;return r.set(t,n),this.size+=r.size==e?0:1,this},$.prototype.clear=function(){this.__data__=new h,this.size=0},$.prototype.delete=function(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r},$.prototype.get=function(t){return this.__data__.get(t)},$.prototype.has=function(t){return this.__data__.has(t)},$.prototype.set=function(t,n){var r=this.__data__;if(r instanceof h){var e=r.__data__;if(!_||e.length<199)return e.push([t,n]),this.size=++r.size,this;r=this.__data__=new k(e)}return r.set(t,n),this.size=r.size,this},P.prototype.add=P.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},P.prototype.has=function(t){return this.__data__.has(t)};var F=r.Uint8Array;function R(t){var n=-1,r=Array(t.size);return t.forEach((function(t,e){r[++n]=[e,t]})),r}function I(t){var n=-1,r=Array(t.size);return t.forEach((function(t){r[++n]=t})),r}var T=e?e.prototype:void 0,B=T?T.valueOf:void 0,N=Array.isArray,V=Object.prototype.propertyIsEnumerable,W=Object.getOwnPropertySymbols,H=W?function(t){return null==t?[]:(t=Object(t),function(n){for(var r=-1,e=null==n?0:n.length,o=0,u=[];++r<e;){var i=n[r];V.call(t,i)&&(u[o++]=i)}return u}(W(t)))}:function(){return[]};function L(t){return o(t)&&"[object Arguments]"==n(t)}var q=Object.prototype,G=q.hasOwnProperty,K=q.propertyIsEnumerable,U=L(function(){return arguments}())?L:function(t){return o(t)&&G.call(t,"callee")&&!K.call(t,"callee")},z="object"==typeof exports&&exports&&!exports.nodeType&&exports,J=z&&"object"==typeof module&&module&&!module.nodeType&&module,Q=J&&J.exports===z?r.Buffer:void 0,X=(Q?Q.isBuffer:void 0)||function(){return!1},Y=/^(?:0|[1-9]\d*)$/;function Z(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&Y.test(t))&&t>-1&&t%1==0&&t<n}function tt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var nt={};nt["[object Float32Array]"]=nt["[object Float64Array]"]=nt["[object Int8Array]"]=nt["[object Int16Array]"]=nt["[object Int32Array]"]=nt["[object Uint8Array]"]=nt["[object Uint8ClampedArray]"]=nt["[object Uint16Array]"]=nt["[object Uint32Array]"]=!0,nt["[object Arguments]"]=nt["[object Array]"]=nt["[object ArrayBuffer]"]=nt["[object Boolean]"]=nt["[object DataView]"]=nt["[object Date]"]=nt["[object Error]"]=nt["[object Function]"]=nt["[object Map]"]=nt["[object Number]"]=nt["[object Object]"]=nt["[object RegExp]"]=nt["[object Set]"]=nt["[object String]"]=nt["[object WeakMap]"]=!1;var rt,et="object"==typeof exports&&exports&&!exports.nodeType&&exports,ot=et&&"object"==typeof module&&module&&!module.nodeType&&module,ut=ot&&ot.exports===et&&u.process,it=function(){try{return ot&&ot.require&&ot.require("util").types||ut&&ut.binding&&ut.binding("util")}catch(t){}}(),ct=it&&it.isTypedArray,st=ct?(rt=ct,function(t){return rt(t)}):function(t){return o(t)&&tt(t.length)&&!!nt[n(t)]},ft=Object.prototype.hasOwnProperty;var at=Object.prototype,vt=function(t,n){return function(r){return t(n(r))}}(Object.keys,Object),lt=Object.prototype.hasOwnProperty;function ht(t){if((n=t)!==("function"==typeof(r=n&&n.constructor)&&r.prototype||at))return vt(t);var n,r,e=[];for(var o in Object(t))lt.call(t,o)&&"constructor"!=o&&e.push(o);return e}function bt(t){return null!=t&&tt(t.length)&&!b(t)}function pt(t){return bt(t)?function(t){var n=N(t),r=!n&&U(t),e=!n&&!r&&X(t),o=!n&&!r&&!e&&st(t),u=n||r||e||o,i=u?function(t,n){for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);return e}(t.length,String):[],c=i.length;for(var s in t)!ft.call(t,s)||u&&("length"==s||e&&("offset"==s||"parent"==s)||o&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||Z(s,c))||i.push(s);return i}(t):ht(t)}function dt(t){return function(t,n,r){var e=pt(t);return N(t)?e:function(t,n){for(var r=-1,e=n.length,o=t.length;++r<e;)t[o+r]=n[r];return t}(e,r(t))}(t,0,H)}var mt=Object.prototype.hasOwnProperty,jt=O(r,"DataView"),yt=O(r,"Promise"),wt=O(r,"Set"),gt=O(r,"WeakMap"),Ot="[object Map]",_t="[object Promise]",xt="[object Set]",At="[object WeakMap]",Dt="[object DataView]",Mt=y(jt),St=y(_),kt=y(yt),$t=y(wt),Pt=y(gt),Ct=n;(jt&&Ct(new jt(new ArrayBuffer(1)))!=Dt||_&&Ct(new _)!=Ot||yt&&Ct(yt.resolve())!=_t||wt&&Ct(new wt)!=xt||gt&&Ct(new gt)!=At)&&(Ct=function(t){var r=n(t),e="[object Object]"==r?t.constructor:void 0,o=e?y(e):"";if(o)switch(o){case Mt:return Dt;case St:return Ot;case kt:return _t;case $t:return xt;case Pt:return At}return r});var Et="[object Arguments]",Ft="[object Array]",Rt="[object Object]",It=Object.prototype.hasOwnProperty;function Tt(t,n,r,e,u){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:function(t,n,r,e,o,u){var i=N(t),c=N(n),s=i?Ft:Ct(t),f=c?Ft:Ct(n),v=(s=s==Et?Rt:s)==Rt,l=(f=f==Et?Rt:f)==Rt,h=s==f;if(h&&X(t)){if(!X(n))return!1;i=!0,v=!1}if(h&&!v)return u||(u=new $),i||st(t)?E(t,n,r,e,o,u):function(t,n,r,e,o,u,i){switch(r){case"[object DataView]":if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=n.byteLength||!u(new F(t),new F(n)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+t,+n);case"[object Error]":return t.name==n.name&&t.message==n.message;case"[object RegExp]":case"[object String]":return t==n+"";case"[object Map]":var c=R;case"[object Set]":if(c||(c=I),t.size!=n.size&&!(1&e))return!1;var s=i.get(t);if(s)return s==n;e|=2,i.set(t,n);var f=E(c(t),c(n),e,o,u,i);return i.delete(t),f;case"[object Symbol]":if(B)return B.call(t)==B.call(n)}return!1}(t,n,s,r,e,o,u);if(!(1&r)){var b=v&&It.call(t,"__wrapped__"),p=l&&It.call(n,"__wrapped__");if(b||p){var d=b?t.value():t,m=p?n.value():n;return u||(u=new $),o(d,m,r,e,u)}}return!!h&&(u||(u=new $),function(t,n,r,e,o,u){var i=1&r,c=dt(t),s=c.length;if(s!=dt(n).length&&!i)return!1;for(var f=s;f--;){var a=c[f];if(!(i?a in n:mt.call(n,a)))return!1}var v=u.get(t),l=u.get(n);if(v&&l)return v==n&&l==t;var h=!0;u.set(t,n),u.set(n,t);for(var b=i;++f<s;){var p=t[a=c[f]],d=n[a];if(e)var m=i?e(d,p,a,n,t,u):e(p,d,a,t,n,u);if(!(void 0===m?p===d||o(p,d,r,e,u):m)){h=!1;break}b||(b="constructor"==a)}if(h&&!b){var j=t.constructor,y=n.constructor;j==y||!("constructor"in t)||!("constructor"in n)||"function"==typeof j&&j instanceof j&&"function"==typeof y&&y instanceof y||(h=!1)}return u.delete(t),u.delete(n),h}(t,n,r,e,o,u))}(t,n,r,e,Tt,u))}function Bt(n){return n==n&&!t(n)}function Nt(t,n){return function(r){return null!=r&&r[t]===n&&(void 0!==n||t in Object(r))}}var Vt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wt=/^\w*$/;function Ht(t,n){if(N(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!i(t))||Wt.test(t)||!Vt.test(t)||null!=n&&t in Object(n)}function Lt(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new TypeError("Expected a function");var r=function(){var e=arguments,o=n?n.apply(this,e):e[0],u=r.cache;if(u.has(o))return u.get(o);var i=t.apply(this,e);return r.cache=u.set(o,i)||u,i};return r.cache=new(Lt.Cache||k),r}Lt.Cache=k;var qt,Gt,Kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ut=/\\(\\)?/g,zt=(qt=Lt((function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(Kt,(function(t,r,e,o){n.push(e?o.replace(Ut,"$1"):r||t)})),n}),(function(t){return 500===Gt.size&&Gt.clear(),t})),Gt=qt.cache,qt),Jt=e?e.prototype:void 0,Qt=Jt?Jt.toString:void 0;function Xt(t){if("string"==typeof t)return t;if(N(t))return function(t,n){for(var r=-1,e=null==t?0:t.length,o=Array(e);++r<e;)o[r]=n(t[r],r,t);return o}(t,Xt)+"";if(i(t))return Qt?Qt.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function Yt(t,n){return N(t)?t:Ht(t,n)?[t]:zt(function(t){return null==t?"":Xt(t)}(t))}function Zt(t){if("string"==typeof t||i(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function tn(t,n){for(var r=0,e=(n=Yt(n,t)).length;null!=t&&r<e;)t=t[Zt(n[r++])];return r&&r==e?t:void 0}function nn(t,n){return null!=t&&n in Object(t)}function rn(t,n){return Ht(t)&&Bt(n)?Nt(Zt(t),n):function(r){var e=function(t,n){var r=null==t?void 0:tn(t,n);return void 0===r?void 0:r}(r,t);return void 0===e&&e===n?function(t,n){return null!=t&&function(t,n,r){for(var e=-1,o=(n=Yt(n,t)).length,u=!1;++e<o;){var i=Zt(n[e]);if(!(u=null!=t&&r(t,i)))break;t=t[i]}return u||++e!=o?u:!!(o=null==t?0:t.length)&&tt(o)&&Z(i,o)&&(N(t)||U(t))}(t,n,nn)}(r,t):Tt(n,e,3)}}function en(t){return t}function on(t){return function(n){return null==n?void 0:n[t]}}function un(t){return"function"==typeof t?t:null==t?en:"object"==typeof t?N(t)?rn(t[0],t[1]):(e=function(t){for(var n=pt(t),r=n.length;r--;){var e=n[r],o=t[e];n[r]=[e,o,Bt(o)]}return n}(r=t),1==e.length&&e[0][2]?Nt(e[0][0],e[0][1]):function(t){return t===r||function(t,n,r){var e=r.length,o=e;if(null==t)return!o;for(t=Object(t);e--;){var u=r[e];if(u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++e<o;){var i=(u=r[e])[0],c=t[i];if(u[2]){if(void 0===c&&!(i in t))return!1}else if(!Tt(u[1],c,3,void 0,new $))return!1}return!0}(t,0,e)}):Ht(n=t)?on(Zt(n)):function(t){return function(n){return tn(n,t)}}(n);var n,r,e}var cn=1/0;function sn(t){return t?(t=c(t))===cn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}var fn=Math.ceil,an=Math.max;function vn(n,r,e){if(!t(e))return!1;var o=typeof r;return!!("number"==o?bt(e)&&Z(r,e.length):"string"==o&&r in e)&&a(e[r],n)}const ln=(()=>{let t;return(...n)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let n of t.keys()){const r=t.get(n).filter((t=>{const n=t.deref();return n&&(!("isConnected"in(r=n))||r.isConnected);var r}));t.set(n,r)}})(...n)}),2e3)}})(),hn=s.forceUpdate,bn=s.getRenderingRef,pn=(t,n)=>{const r=t.indexOf(n);r>=0&&(t[r]=t[t.length-1],t.length--)},dn=(t,n)=>{const r=((t,n=(t,n)=>t!==n)=>{const r=()=>{return("function"==typeof(n=t)?n():n)??{};var n},e=r();let o=new Map(Object.entries(e));const u="undefined"!=typeof Proxy,i=u?null:{},c={dispose:[],get:[],set:[],reset:[]},s=new Map,f=()=>{o=new Map(Object.entries(r())),u||p(),c.reset.forEach((t=>t()))},a=t=>(c.get.forEach((n=>n(t))),o.get(t)),v=(t,r)=>{const e=o.get(t);n(r,e,t)&&(o.set(t,r),u||b(t),c.set.forEach((n=>n(t,r,e))))},l=u?new Proxy(e,{get:(t,n)=>a(n),ownKeys:()=>Array.from(o.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,n)=>o.has(n),set:(t,n,r)=>(v(n,r),!0)}):(p(),i),h=(t,n)=>(c[t].push(n),()=>{pn(c[t],n)});function b(t){!u&&i&&(Object.prototype.hasOwnProperty.call(i,t)||Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:()=>a(t),set(n){v(t,n)}}))}function p(){if(u||!i)return;const t=new Set(o.keys());for(const n of Object.keys(i))t.has(n)||delete i[n];for(const n of t)b(n)}return{state:l,get:a,set:v,on:h,onChange:(t,n)=>{const e=(r,e)=>{r===t&&n(e)},o=()=>{const e=r();n(e[t])},u=h("set",e),i=h("reset",o);return s.set(n,{setHandler:e,resetHandler:o,propName:t}),()=>{u(),i(),s.delete(n)}},use:(...t)=>{const n=t.reduce(((t,n)=>(n.set&&t.push(h("set",n.set)),n.get&&t.push(h("get",n.get)),n.reset&&t.push(h("reset",n.reset)),n.dispose&&t.push(h("dispose",n.dispose)),t)),[]);return()=>n.forEach((t=>t()))},dispose:()=>{c.dispose.forEach((t=>t())),f()},reset:f,forceUpdate:t=>{const n=o.get(t);c.set.forEach((r=>r(t,n,n)))},removeListener:(t,n)=>{const r=s.get(n);r&&r.propName===t&&(pn(c.set,r.setHandler),pn(c.reset,r.resetHandler),s.delete(n))}}})(t,n);return r.use((()=>{if("function"!=typeof bn||"function"!=typeof hn)return{};const t=hn,n=bn,r=new Map;return{dispose:()=>r.clear(),get:t=>{const e=n();e&&((t,n,r)=>{let e=t.get(n);e||(e=[],t.set(n,e)),e.some((t=>t.deref()===r))||e.push(new WeakRef(r))})(r,t,e)},set:n=>{const e=r.get(n);if(e){const o=e.filter((n=>{const r=n.deref();return!!r&&t(r)}));r.set(n,o)}ln(r)},reset:()=>{r.forEach((n=>{n.forEach((n=>{const r=n.deref();r&&t(r)}))})),ln(r)}}})()),r},mn=t=>({set(n,r){switch(n){case"trimmed":{const n=t.get("proxyItems"),e=jn(r),o=n.filter((t=>!e[t]));t.set("items",o);break}}}});function jn(t){const n={};for(let r in t)for(let e in t[r])n[e]=n[e]||t[r][e];return n}function yn(t,n){Object.entries(n).forEach((([n,r])=>{t.set(n,r)}))}class wn{get store(){return this.dataStore}constructor(t,n){const r=this.dataStore=dn(Object.assign({items:[],proxyItems:[],source:[],groupingDepth:0,groups:{},type:t,trimmed:{},groupingCustomRenderer:void 0},n));r.use(f(r)),r.use(mn(r))}updateData(t,n,r=!1,e=!1){const o=this.store.get("trimmed"),u=r&&e?jn(o):null;r||this.store.set("trimmed",{}),this.store.set("items",[]);const i=(c=0,s=(null==t?void 0:t.length)||0,f&&"number"!=typeof f&&vn(c,s,f)&&(s=f=void 0),c=sn(c),void 0===s?(s=c,c=0):s=sn(s),function(t,n,r){for(var e=-1,o=an(fn((n-t)/(r||1)),0),u=Array(o);o--;)u[++e]=t,t+=r;return u}(c,s,f=void 0===f?c<s?1:-1:sn(f)));var c,s,f;yn(this.store,{source:t,proxyItems:[...i]}),this.store.set("items",u?i.filter((t=>!u[t])):i),n&&yn(this.store,{groupingDepth:n.depth,groups:n.groups,groupingCustomRenderer:n.customRenderer})}addTrimmed(t){let n=this.store.get("trimmed");n=Object.assign(Object.assign({},n),t),yn(this.store,{trimmed:n})}setSourceData(t,n=!0){An(this.store,t,n)}setData(t){const n=Object.assign({},t);yn(this.store,n)}refresh(){const t=this.store.get("source");this.store.set("source",[...t])}}function gn(t,n){return t.get("items")[n]}function On(t){const n=t.get("source");return t.get("items").map((t=>n[t]))}const _n=(t,n)=>t.get("source")[xn(t,n)],xn=(t,n)=>t.get("items")[n];function An(t,n,r=!0){const e=t.get("items"),o=t.get("source");for(let t in n)o[e[t]]=n[t];r&&t.set("source",[...o])}function Dn(t,n,r=!0){const e=t.get("source");for(let t in n)e[t]=n[t];r&&t.set("source",[...e])}function Mn(t,n){t.set("items",n)}function Sn(t,n){const r=t.get("items"),e=null!=(o=t.get("source"))&&o.length?function(t,n){for(var r=t.length,e=-1;++e<r;)if(n(t[e],e,t))return e;return-1}(o,un({prop:n})):-1;var o;return r.indexOf(e)}export{wn as D,On as a,_n as b,xn as c,Dn as d,Mn as e,Sn as f,gn as g,jn as h,yn as i,dn as j,en as k,N as l,on as m,bt as n,Ct as o,f as p,ht as q,O as r,An as s,mn as t,un as u,sn as v,pt as w,vn as x}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import{setMode as _}from"@stencil/core/internal/client";export{getAssetPath,h,render,setAssetPath,setNonce,setPlatformOptions}from"@stencil/core/internal/client";import{g as O,B as L}from"./revo-grid.js";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,RevoGrid,S as SelectionStore,n as SortingPlugin,a as StretchColumn,o as defaultCellCompare,defineCustomElement as defineCustomElementRevoGrid,p as descCellCompare,k as doCollapse,l as doExpand,f as filterCoreFunctionsIndexedByType,j as filterNames,h as filterTypes,r as getComparer,m as getLeftRelative,q as getNextOrder,i as isStretchPlugin,s as sortIndexByItems}from"./revo-grid.js";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.js";export{S as SortingSign,d as dispatch,a as dispatchByEvent}from"./revogr-header2.js";export{a as applyMixins,f as findPositionInArray,g as getScrollbarSize,m as mergeSortedArray,p as pushSorted,r as range,s as scaleValue,t as timeout}from"./index2.js";export{C as CellRenderer,G as GroupingRowRenderer,e as expandEvent,a as expandSvgIconVNode}from"./revogr-data2.js";export{T as TextEditor,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"./revogr-edit2.js";export{RevogrAttribution,defineCustomElement as defineCustomElementRevogrAttribution}from"./revogr-attribution.js";export{RevogrClipboard,defineCustomElement as defineCustomElementRevogrClipboard}from"./revogr-clipboard.js";export{RevogrData,defineCustomElement as defineCustomElementRevogrData}from"./revogr-data.js";export{RevogrEdit,defineCustomElement as defineCustomElementRevogrEdit}from"./revogr-edit.js";export{RevogrExtra,defineCustomElement as defineCustomElementRevogrExtra}from"./revogr-extra.js";export{RevogrFilterPanel,defineCustomElement as defineCustomElementRevogrFilterPanel}from"./revogr-filter-panel.js";export{RevogrFocus,defineCustomElement as defineCustomElementRevogrFocus}from"./revogr-focus.js";export{RevogrHeader,defineCustomElement as defineCustomElementRevogrHeader}from"./revogr-header.js";export{RevogrOrderEditor,defineCustomElement as defineCustomElementRevogrOrderEditor}from"./revogr-order-editor.js";export{RevogrOverlaySelection,defineCustomElement as defineCustomElementRevogrOverlaySelection}from"./revogr-overlay-selection.js";export{RevogrRowHeaders,defineCustomElement as defineCustomElementRevogrRowHeaders}from"./revogr-row-headers.js";export{RevogrScrollVirtual,defineCustomElement as defineCustomElementRevogrScrollVirtual}from"./revogr-scroll-virtual.js";export{RevogrTempRange,defineCustomElement as defineCustomElementRevogrTempRange}from"./revogr-temp-range.js";export{RevogrViewportScroll,defineCustomElement as defineCustomElementRevogrViewportScroll}from"./revogr-viewport-scroll.js";export{VnodeHtml,defineCustomElement as defineCustomElementVnodeHtml}from"./vnode-html.js";export{D as DataStore,h as gatherTrimmedItems,g as getPhysical,b as getSourceItem,f as getSourceItemVirtualIndexByProp,c as getSourcePhysicalIndex,a as getVisibleSourceItem,p as proxyPlugin,e as setItems,d as setSourceByPhysicalIndex,s as setSourceByVirtualIndex,i as setStore,t as trimmedPlugin}from"./data.store.js";export{c as calculateDimensionData,a as getItemByIndex,g as getItemByPosition}from"./dimension.helpers.js";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"./revogr-row-headers2.js";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.js";export{C as CELL_CLASS,j as CELL_HANDLER_CLASS,D as DATA_COL,a as DATA_ROW,b as DISABLED_CLASS,h as DRAGGABLE_CLASS,k as DRAGG_TEXT,g as DRAG_ICON_CLASS,E as EDIT_INPUT_WR,F as FOCUS_CLASS,G as GRID_INTERNALS,f as HEADER_ACTUAL_ROW_CLASS,H as HEADER_CLASS,e as HEADER_ROW_CLASS,d as HEADER_SORTABLE_CLASS,M as MIN_COL_SIZE,i as MOBILE_CLASS,R as RESIZE_INTERVAL,l as ROW_FOCUSED_CLASS,c as ROW_HEADER_TYPE,S as SELECTION_BORDER_CLASS,T as TMP_SELECTION_BG_CLASS}from"./consts.js";export{c as codesLetter,k as keyValues}from"./platform.js";const N=function(){_((e=>{let r=e.theme||e.getAttribute("theme");"string"==typeof r&&(r=r.trim());const o=O(r);return o!==r&&e.setAttribute("theme",o),o}))}||(()=>{}),U=new Map([["contentsizechanged","contentsizechanged"],["beforeedit","beforeedit"],["beforerangeedit","beforerangeedit"],["afteredit","afteredit"],["beforeautofill","beforeautofill"],["beforerange","beforerange"],["afterfocus","afterfocus"],["roworderchanged","roworderchanged"],["beforesorting","beforesorting"],["beforesourcesortingapply","beforesourcesortingapply"],["beforesortingapply","beforesortingapply"],["rowdragstart","rowdragstart"],["headerclick","headerclick"],["beforecellfocus","beforecellfocus"],["beforefocuslost","beforefocuslost"],["beforesourceset","beforesourceset"],["beforeanysource","beforeanysource"],["aftersourceset","aftersourceset"],["afteranysource","afteranysource"],["beforecolumnsset","beforecolumnsset"],["beforecolumnapplied","beforecolumnapplied"],["aftercolumnsset","aftercolumnsset"],["beforefilterapply","beforefilterapply"],["beforefiltertrimmed","beforefiltertrimmed"],["beforetrimmed","beforetrimmed"],["aftertrimmed","aftertrimmed"],["viewportscroll","viewportscroll"],["beforeexport","beforeexport"],["beforeeditstart","beforeeditstart"],["aftercolumnresize","aftercolumnresize"],["beforerowdefinition","beforerowdefinition"],["filterconfigchanged","filterconfigchanged"],["sortingconfigchanged","sortingconfigchanged"],["rowheaderschanged","rowheaderschanged"],["beforegridrender","beforegridrender"],["aftergridrender","aftergridrender"],["aftergridinit","aftergridinit"],["additionaldatachanged","additionaldatachanged"],["afterthemechanged","afterthemechanged"],["created","created"],["beforepaste","beforepaste"],["beforepasteapply","beforepasteapply"],["pasteregion","pasteregion"],["afterpasteapply","afterpasteapply"],["beforecut","beforecut"],["clearregion","clearregion"],["beforecopy","beforecopy"],["beforecopyapply","beforecopyapply"],["copyregion","copyregion"],["beforerowrender","beforerowrender"],["afterrender","afterrender"],["beforecellrender","beforecellrender"],["beforedatarender","beforedatarender"],["dragstartcell","dragstartcell"],["celleditinit","celleditinit"],["closeedit","closeedit"],["filterChange","filterChange"],["resetChange","resetChange"],["beforefocusrender","beforefocusrender"],["beforescrollintoview","beforescrollintoview"],["afterfocus","afterfocus"],["beforeheaderclick","beforeheaderclick"],["headerresize","headerresize"],["beforeheaderresize","beforeheaderresize"],["headerdblclick","headerdblclick"],["beforeheaderrender","beforeheaderrender"],["beforegroupheaderrender","beforegroupheaderrender"],["afterheaderrender","afterheaderrender"],["rowdragstartinit","rowdragstartinit"],["rowdragendinit","rowdragendinit"],["rowdragmoveinit","rowdragmoveinit"],["rowdragmousemove","rowdragmousemove"],["rowdropinit","rowdropinit"],["roworderchange","roworderchange"],["beforecopyregion","beforecopyregion"],["beforepasteregion","beforepasteregion"],["celleditapply","celleditapply"],["beforecellfocusinit","beforecellfocusinit"],["beforenextvpfocus","beforenextvpfocus"],["setedit","setedit"],["beforeapplyrange","beforeapplyrange"],["beforesetrange","beforesetrange"],["setrange","setrange"],["beforeeditrender","beforeeditrender"],["selectall","selectall"],["canceledit","canceledit"],["settemprange","settemprange"],["beforesettemprange","beforesettemprange"],["applyfocus","applyfocus"],["focuscell","focuscell"],["beforerangedataapply","beforerangedataapply"],["selectionchangeinit","selectionchangeinit"],["beforerangecopyapply","beforerangecopyapply"],["rangeeditapply","rangeeditapply"],["clipboardrangecopy","clipboardrangecopy"],["clipboardrangepaste","clipboardrangepaste"],["beforekeydown","beforekeydown"],["beforekeyup","beforekeyup"],["beforecellsave","beforecellsave"],["celledit","celledit"],["scrollview","scrollview"],["ref","ref"],["scrollvirtual","scrollvirtual"],["scrollviewport","scrollviewport"],["resizeviewport","resizeviewport"],["scrollchange","scrollchange"],["scrollviewportsilent","scrollviewportsilent"],["html","html"]]);class W extends L{constructor(e,r){super(e,r),this.addEventListener("beforepasteapply",(e=>this.handleBeforePasteApply(e)))}handleBeforePasteApply(e){const r=this.providers.selection.focused;if(!r||null!=this.providers.selection.edit)return;const o=this.providers.data.stores.rgRow.store.get("items").length,t=r.y+e.detail.parsed.length;if(o<t){const e=Array.from({length:t-o},((e,r)=>({index:o+r,data:{}}))),r=this.emit("newRows",{newRows:e});if(r.defaultPrevented)return;const a=[...this.providers.data.stores.rgRow.store.get("source"),...r.detail.newRows.map((e=>e.data))];this.providers.data.setData(a)}}}N();export{W as AutoAddRowsPlugin,L as BasePlugin,U as REVOGRID_EVENTS}
4
+ import{setMode as _}from"@stencil/core/internal/client";export{getAssetPath,h,render,setAssetPath,setNonce,setPlatformOptions}from"@stencil/core/internal/client";import{g as O,B as L}from"./revo-grid.js";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,RevoGrid,S as SelectionStore,n as SortingPlugin,a as StretchColumn,o as defaultCellCompare,defineCustomElement as defineCustomElementRevoGrid,p as descCellCompare,k as doCollapse,l as doExpand,f as filterCoreFunctionsIndexedByType,j as filterNames,h as filterTypes,r as getComparer,m as getLeftRelative,q as getNextOrder,i as isStretchPlugin,s as sortIndexByItems}from"./revo-grid.js";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.js";export{S as SortingSign,d as dispatch,a as dispatchByEvent}from"./revogr-header2.js";export{a as applyMixins,f as findPositionInArray,g as getScrollbarSize,m as mergeSortedArray,p as pushSorted,r as range,s as scaleValue,t as timeout}from"./index2.js";export{C as CellRenderer,G as GroupingRowRenderer,e as expandEvent,a as expandSvgIconVNode}from"./revogr-data2.js";export{T as TextEditor,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"./revogr-edit2.js";export{RevogrAttribution,defineCustomElement as defineCustomElementRevogrAttribution}from"./revogr-attribution.js";export{RevogrClipboard,defineCustomElement as defineCustomElementRevogrClipboard}from"./revogr-clipboard.js";export{RevogrData,defineCustomElement as defineCustomElementRevogrData}from"./revogr-data.js";export{RevogrEdit,defineCustomElement as defineCustomElementRevogrEdit}from"./revogr-edit.js";export{RevogrExtra,defineCustomElement as defineCustomElementRevogrExtra}from"./revogr-extra.js";export{RevogrFilterPanel,defineCustomElement as defineCustomElementRevogrFilterPanel}from"./revogr-filter-panel.js";export{RevogrFocus,defineCustomElement as defineCustomElementRevogrFocus}from"./revogr-focus.js";export{RevogrHeader,defineCustomElement as defineCustomElementRevogrHeader}from"./revogr-header.js";export{RevogrOrderEditor,defineCustomElement as defineCustomElementRevogrOrderEditor}from"./revogr-order-editor.js";export{RevogrOverlaySelection,defineCustomElement as defineCustomElementRevogrOverlaySelection}from"./revogr-overlay-selection.js";export{RevogrRowHeaders,defineCustomElement as defineCustomElementRevogrRowHeaders}from"./revogr-row-headers.js";export{RevogrScrollVirtual,defineCustomElement as defineCustomElementRevogrScrollVirtual}from"./revogr-scroll-virtual.js";export{RevogrTempRange,defineCustomElement as defineCustomElementRevogrTempRange}from"./revogr-temp-range.js";export{RevogrViewportScroll,defineCustomElement as defineCustomElementRevogrViewportScroll}from"./revogr-viewport-scroll.js";export{VnodeHtml,defineCustomElement as defineCustomElementVnodeHtml}from"./vnode-html.js";export{D as DataStore,h as gatherTrimmedItems,g as getPhysical,b as getSourceItem,f as getSourceItemVirtualIndexByProp,c as getSourcePhysicalIndex,a as getVisibleSourceItem,p as proxyPlugin,e as setItems,d as setSourceByPhysicalIndex,s as setSourceByVirtualIndex,i as setStore,t as trimmedPlugin}from"./data.store.js";export{c as calculateDimensionData,a as getItemByIndex,g as getItemByPosition}from"./dimension.helpers.js";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"./revogr-row-headers2.js";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.js";export{C as CELL_CLASS,j as CELL_HANDLER_CLASS,D as DATA_COL,a as DATA_ROW,b as DISABLED_CLASS,h as DRAGGABLE_CLASS,k as DRAGG_TEXT,g as DRAG_ICON_CLASS,E as EDIT_INPUT_WR,F as FOCUS_CLASS,G as GRID_INTERNALS,f as HEADER_ACTUAL_ROW_CLASS,H as HEADER_CLASS,e as HEADER_ROW_CLASS,d as HEADER_SORTABLE_CLASS,M as MIN_COL_SIZE,i as MOBILE_CLASS,R as RESIZE_INTERVAL,l as ROW_FOCUSED_CLASS,c as ROW_HEADER_TYPE,S as SELECTION_BORDER_CLASS,T as TMP_SELECTION_BG_CLASS}from"./consts.js";export{c as codesLetter,k as keyValues}from"./platform.js";const N=function(){_((e=>{let r=e.theme||e.getAttribute("theme");"string"==typeof r&&(r=r.trim());const o=O(r);return o!==r&&e.setAttribute("theme",o),o}))}||(()=>{}),U=new Map([["contentsizechanged","contentsizechanged"],["beforeedit","beforeedit"],["beforerangeedit","beforerangeedit"],["afteredit","afteredit"],["beforeautofill","beforeautofill"],["beforerange","beforerange"],["afterfocus","afterfocus"],["roworderchanged","roworderchanged"],["beforesorting","beforesorting"],["beforesourcesortingapply","beforesourcesortingapply"],["beforesortingapply","beforesortingapply"],["rowdragstart","rowdragstart"],["headerclick","headerclick"],["beforecellfocus","beforecellfocus"],["beforefocuslost","beforefocuslost"],["beforesourceset","beforesourceset"],["beforeanysource","beforeanysource"],["aftersourceset","aftersourceset"],["afteranysource","afteranysource"],["beforecolumnsgather","beforecolumnsgather"],["beforecolumnsset","beforecolumnsset"],["beforecolumnapplied","beforecolumnapplied"],["aftercolumnsset","aftercolumnsset"],["beforefilterapply","beforefilterapply"],["beforefiltertrimmed","beforefiltertrimmed"],["beforetrimmed","beforetrimmed"],["aftertrimmed","aftertrimmed"],["viewportscroll","viewportscroll"],["beforeexport","beforeexport"],["beforeeditstart","beforeeditstart"],["aftercolumnresize","aftercolumnresize"],["beforerowdefinition","beforerowdefinition"],["filterconfigchanged","filterconfigchanged"],["sortingconfigchanged","sortingconfigchanged"],["rowheaderschanged","rowheaderschanged"],["beforegridrender","beforegridrender"],["aftergridrender","aftergridrender"],["aftergridinit","aftergridinit"],["additionaldatachanged","additionaldatachanged"],["afterthemechanged","afterthemechanged"],["created","created"],["beforepaste","beforepaste"],["beforepasteapply","beforepasteapply"],["pasteregion","pasteregion"],["afterpasteapply","afterpasteapply"],["beforecut","beforecut"],["clearregion","clearregion"],["beforecopy","beforecopy"],["beforecopyapply","beforecopyapply"],["copyregion","copyregion"],["beforerowrender","beforerowrender"],["afterrender","afterrender"],["beforecellrender","beforecellrender"],["beforedatarender","beforedatarender"],["dragstartcell","dragstartcell"],["celleditinit","celleditinit"],["closeedit","closeedit"],["filterChange","filterChange"],["resetChange","resetChange"],["beforefocusrender","beforefocusrender"],["beforescrollintoview","beforescrollintoview"],["afterfocus","afterfocus"],["beforeheaderclick","beforeheaderclick"],["headerresize","headerresize"],["beforeheaderresize","beforeheaderresize"],["headerdblclick","headerdblclick"],["beforeheaderrender","beforeheaderrender"],["beforegroupheaderrender","beforegroupheaderrender"],["afterheaderrender","afterheaderrender"],["rowdragstartinit","rowdragstartinit"],["rowdragendinit","rowdragendinit"],["rowdragmoveinit","rowdragmoveinit"],["rowdragmousemove","rowdragmousemove"],["rowdropinit","rowdropinit"],["roworderchange","roworderchange"],["beforecopyregion","beforecopyregion"],["beforepasteregion","beforepasteregion"],["celleditapply","celleditapply"],["beforecellfocusinit","beforecellfocusinit"],["beforenextvpfocus","beforenextvpfocus"],["setedit","setedit"],["beforeapplyrange","beforeapplyrange"],["beforesetrange","beforesetrange"],["setrange","setrange"],["beforeeditrender","beforeeditrender"],["selectall","selectall"],["canceledit","canceledit"],["settemprange","settemprange"],["beforesettemprange","beforesettemprange"],["applyfocus","applyfocus"],["focuscell","focuscell"],["beforerangedataapply","beforerangedataapply"],["selectionchangeinit","selectionchangeinit"],["beforerangecopyapply","beforerangecopyapply"],["rangeeditapply","rangeeditapply"],["clipboardrangecopy","clipboardrangecopy"],["clipboardrangepaste","clipboardrangepaste"],["beforekeydown","beforekeydown"],["beforekeyup","beforekeyup"],["beforecellsave","beforecellsave"],["celledit","celledit"],["scrollview","scrollview"],["ref","ref"],["scrollvirtual","scrollvirtual"],["scrollviewport","scrollviewport"],["resizeviewport","resizeviewport"],["scrollchange","scrollchange"],["scrollviewportsilent","scrollviewportsilent"],["html","html"]]);class W extends L{constructor(e,r){super(e,r),this.addEventListener("beforepasteapply",(e=>this.handleBeforePasteApply(e)))}handleBeforePasteApply(e){const r=this.providers.selection.focused;if(!r||null!=this.providers.selection.edit)return;const o=this.providers.data.stores.rgRow.store.get("items").length,t=r.y+e.detail.parsed.length;if(o<t){const e=Array.from({length:t-o},((e,r)=>({index:o+r,data:{}}))),r=this.emit("newRows",{newRows:e});if(r.defaultPrevented)return;const a=[...this.providers.data.stores.rgRow.store.get("source"),...r.detail.newRows.map((e=>e.data))];this.providers.data.setData(a)}}}N();export{W as AutoAddRowsPlugin,L as BasePlugin,U as REVOGRID_EVENTS}