@revolist/revogrid 4.21.3 → 4.21.5

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.
@@ -444,6 +444,15 @@ function forEach(collection, iteratee) {
444
444
  * Add support for automatic column resize
445
445
  */
446
446
  const LETTER_BLOCK_SIZE = 7;
447
+ exports.ColumnAutoSizeMode = void 0;
448
+ (function (ColumnAutoSizeMode) {
449
+ // increases column width on header click according the largest text value
450
+ ColumnAutoSizeMode["headerClickAutosize"] = "headerClickAutoSize";
451
+ // increases column width on data set and text edit, decreases performance
452
+ ColumnAutoSizeMode["autoSizeOnTextOverlap"] = "autoSizeOnTextOverlap";
453
+ // increases and decreases column width based on all items sizes, worst for performance
454
+ ColumnAutoSizeMode["autoSizeAll"] = "autoSizeAll";
455
+ })(exports.ColumnAutoSizeMode || (exports.ColumnAutoSizeMode = {}));
447
456
  class AutoSizeColumnPlugin extends BasePlugin {
448
457
  constructor(revogrid, providers, config) {
449
458
  super(revogrid, providers);
@@ -467,13 +476,13 @@ class AutoSizeColumnPlugin extends BasePlugin {
467
476
  };
468
477
  this.addEventListener('beforecolumnsset', beforecolumnsset);
469
478
  switch (config === null || config === void 0 ? void 0 : config.mode) {
470
- case "autoSizeOnTextOverlap" /* ColumnAutoSizeMode.autoSizeOnTextOverlap */:
479
+ case exports.ColumnAutoSizeMode.autoSizeOnTextOverlap:
471
480
  this.addEventListener('aftersourceset', aftersourceset);
472
481
  this.addEventListener('afteredit', ({ detail }) => {
473
482
  this.afteredit(detail);
474
483
  });
475
484
  break;
476
- case "autoSizeAll" /* ColumnAutoSizeMode.autoSizeAll */:
485
+ case exports.ColumnAutoSizeMode.autoSizeAll:
477
486
  this.addEventListener('aftersourceset', aftersourceset);
478
487
  this.addEventListener('afteredit', ({ detail }) => {
479
488
  this.afterEditAll(detail);
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var column_service = require('./column.service-BmT2HOnj.js');
7
- var column_drag_plugin = require('./column.drag.plugin-DfTAC5Qc.js');
7
+ var column_drag_plugin = require('./column.drag.plugin-BunAX4dQ.js');
8
8
  var headerCellRenderer = require('./header-cell-renderer-7DgGThjq.js');
9
9
  var cellRenderer = require('./cell-renderer-BLcxDHzP.js');
10
10
  var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
@@ -201,6 +201,10 @@ exports.nextCell = column_service.nextCell;
201
201
  exports.rowTypes = column_service.rowTypes;
202
202
  exports.AutoSizeColumnPlugin = column_drag_plugin.AutoSizeColumnPlugin;
203
203
  exports.BasePlugin = column_drag_plugin.BasePlugin;
204
+ Object.defineProperty(exports, "ColumnAutoSizeMode", {
205
+ enumerable: true,
206
+ get: function () { return column_drag_plugin.ColumnAutoSizeMode; }
207
+ });
204
208
  exports.ColumnMovePlugin = column_drag_plugin.ColumnMovePlugin;
205
209
  exports.DimensionStore = column_drag_plugin.DimensionStore;
206
210
  exports.ExportCsv = column_drag_plugin.ExportCsv;
@@ -7,7 +7,7 @@ var index = require('./index-Dq8Xzj5l.js');
7
7
  var column_service = require('./column.service-BmT2HOnj.js');
8
8
  var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
9
9
  var debounce = require('./debounce-CcpHiH2p.js');
10
- var column_drag_plugin = require('./column.drag.plugin-DfTAC5Qc.js');
10
+ var column_drag_plugin = require('./column.drag.plugin-BunAX4dQ.js');
11
11
  var viewport_store = require('./viewport.store-DG-4bWqg.js');
12
12
  var theme_service = require('./theme.service-BgnxGIjK.js');
13
13
  var viewport_helpers = require('./viewport.helpers-BAovztDd.js');
@@ -672,7 +672,8 @@ class GridScrollingService {
672
672
  if (newEvent) {
673
673
  event = newEvent;
674
674
  }
675
- this.setViewport(event);
675
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
676
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
676
677
  }
677
678
  /**
678
679
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -2588,7 +2588,7 @@ export class RevoGridComponent {
2588
2588
  },
2589
2589
  "complexType": {
2590
2590
  "original": "ViewPortScrollEvent",
2591
- "resolved": "{ dimension: DimensionType; coordinate: number; delta?: number | undefined; outside?: boolean | undefined; }",
2591
+ "resolved": "D",
2592
2592
  "references": {
2593
2593
  "ViewPortScrollEvent": {
2594
2594
  "location": "import",
@@ -37,7 +37,8 @@ export default class GridScrollingService {
37
37
  if (newEvent) {
38
38
  event = newEvent;
39
39
  }
40
- this.setViewport(event);
40
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
41
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
41
42
  }
42
43
  /**
43
44
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -253,7 +253,7 @@ export class RevogrRowHeaders {
253
253
  },
254
254
  "complexType": {
255
255
  "original": "ViewPortScrollEvent",
256
- "resolved": "{ dimension: DimensionType; coordinate: number; delta?: number | undefined; outside?: boolean | undefined; }",
256
+ "resolved": "D",
257
257
  "references": {
258
258
  "ViewPortScrollEvent": {
259
259
  "location": "import",
@@ -426,7 +426,7 @@ export class RevogrViewportScroll {
426
426
  },
427
427
  "complexType": {
428
428
  "original": "ViewPortScrollEvent",
429
- "resolved": "{ dimension: DimensionType; coordinate: number; delta?: number | undefined; outside?: boolean | undefined; }",
429
+ "resolved": "D",
430
430
  "references": {
431
431
  "ViewPortScrollEvent": {
432
432
  "location": "import",
@@ -492,7 +492,7 @@ export class RevogrViewportScroll {
492
492
  },
493
493
  "complexType": {
494
494
  "original": "ViewPortScrollEvent",
495
- "resolved": "{ dimension: DimensionType; coordinate: number; delta?: number | undefined; outside?: boolean | undefined; }",
495
+ "resolved": "D",
496
496
  "references": {
497
497
  "ViewPortScrollEvent": {
498
498
  "location": "import",
@@ -224,7 +224,7 @@ export class RevogrScrollVirtual {
224
224
  },
225
225
  "complexType": {
226
226
  "original": "ViewPortScrollEvent",
227
- "resolved": "{ dimension: DimensionType; coordinate: number; delta?: number | undefined; outside?: boolean | undefined; }",
227
+ "resolved": "D",
228
228
  "references": {
229
229
  "ViewPortScrollEvent": {
230
230
  "location": "import",
@@ -11,6 +11,15 @@ import { BasePlugin } from "./base.plugin";
11
11
  import { getSourceItem, columnTypes } from "../store/index";
12
12
  import { getColumnType } from "../utils/column.utils";
13
13
  const LETTER_BLOCK_SIZE = 7;
14
+ export var ColumnAutoSizeMode;
15
+ (function (ColumnAutoSizeMode) {
16
+ // increases column width on header click according the largest text value
17
+ ColumnAutoSizeMode["headerClickAutosize"] = "headerClickAutoSize";
18
+ // increases column width on data set and text edit, decreases performance
19
+ ColumnAutoSizeMode["autoSizeOnTextOverlap"] = "autoSizeOnTextOverlap";
20
+ // increases and decreases column width based on all items sizes, worst for performance
21
+ ColumnAutoSizeMode["autoSizeAll"] = "autoSizeAll";
22
+ })(ColumnAutoSizeMode || (ColumnAutoSizeMode = {}));
14
23
  export class AutoSizeColumnPlugin extends BasePlugin {
15
24
  constructor(revogrid, providers, config) {
16
25
  super(revogrid, providers);
@@ -34,13 +43,13 @@ export class AutoSizeColumnPlugin extends BasePlugin {
34
43
  };
35
44
  this.addEventListener('beforecolumnsset', beforecolumnsset);
36
45
  switch (config === null || config === void 0 ? void 0 : config.mode) {
37
- case "autoSizeOnTextOverlap" /* ColumnAutoSizeMode.autoSizeOnTextOverlap */:
46
+ case ColumnAutoSizeMode.autoSizeOnTextOverlap:
38
47
  this.addEventListener('aftersourceset', aftersourceset);
39
48
  this.addEventListener('afteredit', ({ detail }) => {
40
49
  this.afteredit(detail);
41
50
  });
42
51
  break;
43
- case "autoSizeAll" /* ColumnAutoSizeMode.autoSizeAll */:
52
+ case ColumnAutoSizeMode.autoSizeAll:
44
53
  this.addEventListener('aftersourceset', aftersourceset);
45
54
  this.addEventListener('afteredit', ({ detail }) => {
46
55
  this.afterEditAll(detail);
@@ -442,6 +442,15 @@ function forEach(collection, iteratee) {
442
442
  * Add support for automatic column resize
443
443
  */
444
444
  const LETTER_BLOCK_SIZE = 7;
445
+ var ColumnAutoSizeMode;
446
+ (function (ColumnAutoSizeMode) {
447
+ // increases column width on header click according the largest text value
448
+ ColumnAutoSizeMode["headerClickAutosize"] = "headerClickAutoSize";
449
+ // increases column width on data set and text edit, decreases performance
450
+ ColumnAutoSizeMode["autoSizeOnTextOverlap"] = "autoSizeOnTextOverlap";
451
+ // increases and decreases column width based on all items sizes, worst for performance
452
+ ColumnAutoSizeMode["autoSizeAll"] = "autoSizeAll";
453
+ })(ColumnAutoSizeMode || (ColumnAutoSizeMode = {}));
445
454
  class AutoSizeColumnPlugin extends BasePlugin {
446
455
  constructor(revogrid, providers, config) {
447
456
  super(revogrid, providers);
@@ -465,13 +474,13 @@ class AutoSizeColumnPlugin extends BasePlugin {
465
474
  };
466
475
  this.addEventListener('beforecolumnsset', beforecolumnsset);
467
476
  switch (config === null || config === void 0 ? void 0 : config.mode) {
468
- case "autoSizeOnTextOverlap" /* ColumnAutoSizeMode.autoSizeOnTextOverlap */:
477
+ case ColumnAutoSizeMode.autoSizeOnTextOverlap:
469
478
  this.addEventListener('aftersourceset', aftersourceset);
470
479
  this.addEventListener('afteredit', ({ detail }) => {
471
480
  this.afteredit(detail);
472
481
  });
473
482
  break;
474
- case "autoSizeAll" /* ColumnAutoSizeMode.autoSizeAll */:
483
+ case ColumnAutoSizeMode.autoSizeAll:
475
484
  this.addEventListener('aftersourceset', aftersourceset);
476
485
  this.addEventListener('afteredit', ({ detail }) => {
477
486
  this.afterEditAll(detail);
@@ -2600,4 +2609,4 @@ function getLeftRelative(absoluteX, gridPos, offset) {
2600
2609
  return absoluteX - gridPos - offset;
2601
2610
  }
2602
2611
 
2603
- export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnMovePlugin as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, SelectionStore as S, StretchColumn as a, ExportCsv as b, FILTER_CONFIG_CHANGED_EVENT as c, FILTE_PANEL as d, FilterPlugin as e, filterCoreFunctionsIndexedByType as f, filterTypes as g, filterNames as h, isStretchPlugin as i, doCollapse as j, doExpand as k, getLeftRelative as l, SortingPlugin as m, defaultCellCompare as n, descCellCompare as o, getNextOrder as p, getComparer as q, sortIndexByItems as s };
2612
+ export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnAutoSizeMode as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, SelectionStore as S, StretchColumn as a, ExportCsv as b, FILTER_CONFIG_CHANGED_EVENT as c, FILTE_PANEL as d, FilterPlugin as e, filterCoreFunctionsIndexedByType as f, filterTypes as g, filterNames as h, isStretchPlugin as i, doCollapse as j, doExpand as k, ColumnMovePlugin as l, getLeftRelative as m, SortingPlugin as n, defaultCellCompare as o, descCellCompare as p, getNextOrder as q, getComparer as r, sortIndexByItems as s };
package/dist/esm/index.js CHANGED
@@ -2,8 +2,8 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
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-8pPNyrKn.js';
5
- import { B as BasePlugin } from './column.drag.plugin-C9lvlTfl.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-C9lvlTfl.js';
5
+ import { B as BasePlugin } from './column.drag.plugin-991PW1Yy.js';
6
+ export { A as AutoSizeColumnPlugin, C as ColumnAutoSizeMode, l 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, n as SortingPlugin, a as StretchColumn, o as defaultCellCompare, p as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, r as getComparer, m as getLeftRelative, q as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-991PW1Yy.js';
7
7
  export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-WkTbrmr7.js';
8
8
  export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-BNeaYjy6.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-B-5OBYes.js';
@@ -5,7 +5,7 @@ import { h, r as registerInstance, d as createEvent, e as Host, g as getElement
5
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-8pPNyrKn.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-B-5OBYes.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-C9lvlTfl.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, n as SortingPlugin, l as ColumnMovePlugin } from './column.drag.plugin-991PW1Yy.js';
9
9
  import { V as ViewportStore } from './viewport.store-BGWR3XfI.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';
@@ -670,7 +670,8 @@ class GridScrollingService {
670
670
  if (newEvent) {
671
671
  event = newEvent;
672
672
  }
673
- this.setViewport(event);
673
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
674
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
674
675
  }
675
676
  /**
676
677
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -442,6 +442,15 @@ function forEach(collection, iteratee) {
442
442
  * Add support for automatic column resize
443
443
  */
444
444
  const LETTER_BLOCK_SIZE = 7;
445
+ var ColumnAutoSizeMode;
446
+ (function (ColumnAutoSizeMode) {
447
+ // increases column width on header click according the largest text value
448
+ ColumnAutoSizeMode["headerClickAutosize"] = "headerClickAutoSize";
449
+ // increases column width on data set and text edit, decreases performance
450
+ ColumnAutoSizeMode["autoSizeOnTextOverlap"] = "autoSizeOnTextOverlap";
451
+ // increases and decreases column width based on all items sizes, worst for performance
452
+ ColumnAutoSizeMode["autoSizeAll"] = "autoSizeAll";
453
+ })(ColumnAutoSizeMode || (ColumnAutoSizeMode = {}));
445
454
  class AutoSizeColumnPlugin extends BasePlugin {
446
455
  constructor(revogrid, providers, config) {
447
456
  super(revogrid, providers);
@@ -465,13 +474,13 @@ class AutoSizeColumnPlugin extends BasePlugin {
465
474
  };
466
475
  this.addEventListener('beforecolumnsset', beforecolumnsset);
467
476
  switch (config === null || config === void 0 ? void 0 : config.mode) {
468
- case "autoSizeOnTextOverlap" /* ColumnAutoSizeMode.autoSizeOnTextOverlap */:
477
+ case ColumnAutoSizeMode.autoSizeOnTextOverlap:
469
478
  this.addEventListener('aftersourceset', aftersourceset);
470
479
  this.addEventListener('afteredit', ({ detail }) => {
471
480
  this.afteredit(detail);
472
481
  });
473
482
  break;
474
- case "autoSizeAll" /* ColumnAutoSizeMode.autoSizeAll */:
483
+ case ColumnAutoSizeMode.autoSizeAll:
475
484
  this.addEventListener('aftersourceset', aftersourceset);
476
485
  this.addEventListener('afteredit', ({ detail }) => {
477
486
  this.afterEditAll(detail);
@@ -2600,4 +2609,4 @@ function getLeftRelative(absoluteX, gridPos, offset) {
2600
2609
  return absoluteX - gridPos - offset;
2601
2610
  }
2602
2611
 
2603
- export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnMovePlugin as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, SelectionStore as S, StretchColumn as a, ExportCsv as b, FILTER_CONFIG_CHANGED_EVENT as c, FILTE_PANEL as d, FilterPlugin as e, filterCoreFunctionsIndexedByType as f, filterTypes as g, filterNames as h, isStretchPlugin as i, doCollapse as j, doExpand as k, getLeftRelative as l, SortingPlugin as m, defaultCellCompare as n, descCellCompare as o, getNextOrder as p, getComparer as q, sortIndexByItems as s };
2612
+ export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnAutoSizeMode as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, SelectionStore as S, StretchColumn as a, ExportCsv as b, FILTER_CONFIG_CHANGED_EVENT as c, FILTE_PANEL as d, FilterPlugin as e, filterCoreFunctionsIndexedByType as f, filterTypes as g, filterNames as h, isStretchPlugin as i, doCollapse as j, doExpand as k, ColumnMovePlugin as l, getLeftRelative as m, SortingPlugin as n, defaultCellCompare as o, descCellCompare as p, getNextOrder as q, getComparer as r, sortIndexByItems as s };
@@ -2,8 +2,8 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
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-8pPNyrKn.js';
5
- import { B as BasePlugin } from './column.drag.plugin-C9lvlTfl.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-C9lvlTfl.js';
5
+ import { B as BasePlugin } from './column.drag.plugin-991PW1Yy.js';
6
+ export { A as AutoSizeColumnPlugin, C as ColumnAutoSizeMode, l 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, n as SortingPlugin, a as StretchColumn, o as defaultCellCompare, p as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, r as getComparer, m as getLeftRelative, q as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-991PW1Yy.js';
7
7
  export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-WkTbrmr7.js';
8
8
  export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-BNeaYjy6.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-B-5OBYes.js';
@@ -5,7 +5,7 @@ import { h, r as registerInstance, d as createEvent, e as Host, g as getElement
5
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-8pPNyrKn.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-B-5OBYes.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-C9lvlTfl.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, n as SortingPlugin, l as ColumnMovePlugin } from './column.drag.plugin-991PW1Yy.js';
9
9
  import { V as ViewportStore } from './viewport.store-BGWR3XfI.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';
@@ -670,7 +670,8 @@ class GridScrollingService {
670
670
  if (newEvent) {
671
671
  event = newEvent;
672
672
  }
673
- this.setViewport(event);
673
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
674
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
674
675
  }
675
676
  /**
676
677
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -1,8 +1,8 @@
1
- import { DimensionColPin, ViewPortScrollEvent, ElementsScroll, ElementScroll } from "../../types/index";
1
+ import { DimensionColPin, ViewPortScrollEvent, ElementsScroll, ElementScroll, MultiDimensionType } from "../../types/index";
2
2
  export default class GridScrollingService {
3
3
  private setViewport;
4
4
  private elements;
5
- constructor(setViewport: (e: ViewPortScrollEvent) => void);
5
+ constructor(setViewport: (e: ViewPortScrollEvent<MultiDimensionType>) => void);
6
6
  proxyScroll(e: ViewPortScrollEvent, key?: DimensionColPin | string, skipEvent?: boolean): Promise<void>;
7
7
  /**
8
8
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -25,7 +25,7 @@ export type AutoSizeColumnConfig = {
25
25
  * by default it based on assumption each character takes some space defined in letterBlockSize */
26
26
  preciseSize?: boolean;
27
27
  };
28
- export declare const enum ColumnAutoSizeMode {
28
+ export declare enum ColumnAutoSizeMode {
29
29
  headerClickAutosize = "headerClickAutoSize",
30
30
  autoSizeOnTextOverlap = "autoSizeOnTextOverlap",
31
31
  autoSizeAll = "autoSizeAll"
@@ -414,11 +414,11 @@ export type ViewPortResizeEvent = {
414
414
  * `ViewPortScrollEvent` is an object that contains information about a scroll
415
415
  * event in the viewport.
416
416
  */
417
- export type ViewPortScrollEvent = {
417
+ export type ViewPortScrollEvent<D = DimensionType> = {
418
418
  /**
419
419
  * The dimension of the viewport being scrolled.
420
420
  */
421
- dimension: DimensionType;
421
+ dimension: D;
422
422
  /**
423
423
  * The coordinate of the scroll event.
424
424
  */
package/hydrate/index.js CHANGED
@@ -15009,6 +15009,15 @@ class BasePlugin {
15009
15009
  * Add support for automatic column resize
15010
15010
  */
15011
15011
  const LETTER_BLOCK_SIZE = 7;
15012
+ var ColumnAutoSizeMode;
15013
+ (function (ColumnAutoSizeMode) {
15014
+ // increases column width on header click according the largest text value
15015
+ ColumnAutoSizeMode["headerClickAutosize"] = "headerClickAutoSize";
15016
+ // increases column width on data set and text edit, decreases performance
15017
+ ColumnAutoSizeMode["autoSizeOnTextOverlap"] = "autoSizeOnTextOverlap";
15018
+ // increases and decreases column width based on all items sizes, worst for performance
15019
+ ColumnAutoSizeMode["autoSizeAll"] = "autoSizeAll";
15020
+ })(ColumnAutoSizeMode || (ColumnAutoSizeMode = {}));
15012
15021
  class AutoSizeColumnPlugin extends BasePlugin {
15013
15022
  constructor(revogrid, providers, config) {
15014
15023
  super(revogrid, providers);
@@ -15032,13 +15041,13 @@ class AutoSizeColumnPlugin extends BasePlugin {
15032
15041
  };
15033
15042
  this.addEventListener('beforecolumnsset', beforecolumnsset);
15034
15043
  switch (config === null || config === void 0 ? void 0 : config.mode) {
15035
- case "autoSizeOnTextOverlap" /* ColumnAutoSizeMode.autoSizeOnTextOverlap */:
15044
+ case ColumnAutoSizeMode.autoSizeOnTextOverlap:
15036
15045
  this.addEventListener('aftersourceset', aftersourceset);
15037
15046
  this.addEventListener('afteredit', ({ detail }) => {
15038
15047
  this.afteredit(detail);
15039
15048
  });
15040
15049
  break;
15041
- case "autoSizeAll" /* ColumnAutoSizeMode.autoSizeAll */:
15050
+ case ColumnAutoSizeMode.autoSizeAll:
15042
15051
  this.addEventListener('aftersourceset', aftersourceset);
15043
15052
  this.addEventListener('afteredit', ({ detail }) => {
15044
15053
  this.afterEditAll(detail);
@@ -17210,7 +17219,8 @@ class GridScrollingService {
17210
17219
  if (newEvent) {
17211
17220
  event = newEvent;
17212
17221
  }
17213
- this.setViewport(event);
17222
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
17223
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
17214
17224
  }
17215
17225
  /**
17216
17226
  * Silent scroll update for mobile devices when we have negative scroll top
package/hydrate/index.mjs CHANGED
@@ -15007,6 +15007,15 @@ class BasePlugin {
15007
15007
  * Add support for automatic column resize
15008
15008
  */
15009
15009
  const LETTER_BLOCK_SIZE = 7;
15010
+ var ColumnAutoSizeMode;
15011
+ (function (ColumnAutoSizeMode) {
15012
+ // increases column width on header click according the largest text value
15013
+ ColumnAutoSizeMode["headerClickAutosize"] = "headerClickAutoSize";
15014
+ // increases column width on data set and text edit, decreases performance
15015
+ ColumnAutoSizeMode["autoSizeOnTextOverlap"] = "autoSizeOnTextOverlap";
15016
+ // increases and decreases column width based on all items sizes, worst for performance
15017
+ ColumnAutoSizeMode["autoSizeAll"] = "autoSizeAll";
15018
+ })(ColumnAutoSizeMode || (ColumnAutoSizeMode = {}));
15010
15019
  class AutoSizeColumnPlugin extends BasePlugin {
15011
15020
  constructor(revogrid, providers, config) {
15012
15021
  super(revogrid, providers);
@@ -15030,13 +15039,13 @@ class AutoSizeColumnPlugin extends BasePlugin {
15030
15039
  };
15031
15040
  this.addEventListener('beforecolumnsset', beforecolumnsset);
15032
15041
  switch (config === null || config === void 0 ? void 0 : config.mode) {
15033
- case "autoSizeOnTextOverlap" /* ColumnAutoSizeMode.autoSizeOnTextOverlap */:
15042
+ case ColumnAutoSizeMode.autoSizeOnTextOverlap:
15034
15043
  this.addEventListener('aftersourceset', aftersourceset);
15035
15044
  this.addEventListener('afteredit', ({ detail }) => {
15036
15045
  this.afteredit(detail);
15037
15046
  });
15038
15047
  break;
15039
- case "autoSizeAll" /* ColumnAutoSizeMode.autoSizeAll */:
15048
+ case ColumnAutoSizeMode.autoSizeAll:
15040
15049
  this.addEventListener('aftersourceset', aftersourceset);
15041
15050
  this.addEventListener('afteredit', ({ detail }) => {
15042
15051
  this.afterEditAll(detail);
@@ -17208,7 +17217,8 @@ class GridScrollingService {
17208
17217
  if (newEvent) {
17209
17218
  event = newEvent;
17210
17219
  }
17211
- this.setViewport(event);
17220
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
17221
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
17212
17222
  }
17213
17223
  /**
17214
17224
  * Silent scroll update for mobile devices when we have negative scroll top
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revolist/revogrid",
3
- "version": "4.21.3",
3
+ "version": "4.21.5",
4
4
  "type": "module",
5
5
  "description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
6
6
  "license": "MIT",
@@ -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"],["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}
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 ColumnAutoSizeMode,m 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,o as SortingPlugin,a as StretchColumn,p as defaultCellCompare,defineCustomElement as defineCustomElementRevoGrid,q as descCellCompare,k as doCollapse,l as doExpand,f as filterCoreFunctionsIndexedByType,j as filterNames,h as filterTypes,t as getComparer,n as getLeftRelative,r 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}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import{h as e,proxyCustomElement as t,HTMLElement as r,createEvent as i,Host as o,transformTag as s}from"@stencil/core/internal/client";import{J as n,g as a,K as l,C as d,c as h,L as c,u as g,t as u,r as v,B as p,A as f,I as m,h as b,x as w,y as x,G as C,e as y,d as S,o as j,p as R,f as O,s as E,m as k,v as z,q as L,E as H,i as T,D as P,a as I,n as D,F as N}from"./column.service.js";import{j as F,i as M,k as B,l as V,b as A,m as $,n as U,o as q,q as X,g as G,e as Y,D as W,f as J,d as K,s as Z,a as _,h as Q}from"./data.store.js";import{d as ee}from"./debounce.js";import{R as te}from"./consts.js";import{c as re,g as ie,a as oe}from"./dimension.helpers.js";import"./platform.js";import{f as se,V as ne,h as ae}from"./revogr-row-headers2.js";import{g as le,t as de}from"./index2.js";import{b as he,i as ce}from"./filter.button.js";import{i as ge,b as ue}from"./toNumber.js";import{v as ve,F as pe,C as fe,H as me,D as be,d as we}from"./revogr-viewport-scroll2.js";import{O as xe,d as Ce,b as ye}from"./revogr-header2.js";import{g as Se}from"./selection.utils.js";import{d as je}from"./revogr-attribution2.js";import{d as Re}from"./revogr-clipboard2.js";import{d as Oe}from"./revogr-data2.js";import{n as Ee}from"./revogr-edit2.js";import{d as ke}from"./revogr-extra2.js";import{d as ze}from"./revogr-focus2.js";import{d as Le}from"./revogr-order-editor2.js";import{d as He}from"./revogr-overlay-selection2.js";import{d as Te}from"./revogr-scroll-virtual2.js";import{d as Pe}from"./revogr-temp-range2.js";import{d as Ie}from"./vnode-converter.js";class De{constructor(){this.defaultRowSize=32}}class Ne{constructor(){this.defaultRowSize=27}}class Fe{constructor(){this.defaultRowSize=42}}const Me="default",Be=[Me,"material","compact","darkMaterial","darkCompact"];class Ve{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(e){this.customRowSize=e}constructor(e){this.customRowSize=0,this.customRowSize=e.rowSize,this.register("default")}register(e){switch(Ae(e)){case"material":case"darkMaterial":this.currentTheme=new Fe;break;case"compact":case"darkCompact":this.currentTheme=new De;break;default:this.currentTheme=new Ne}}}function Ae(e){return e&&Be.indexOf(e)>-1?e:Me}function $e(){return Object.assign(Object.assign({},{indexes:[],count:0,trimmed:null,sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}),{realSize:0,originItemSize:0})}class Ue{constructor(e){this.type=e,this.store=F($e()),this.store.use((e=>{let t=null,r=null;return{set(i,o){switch(i){case"sizes":if(t&&t===o)return void(t=null);r=null;break;case"trimmed":{const i=o;r||(r=e.store.get("sizes")),t=function(e,t){const r={},i=Object.keys(e||{}).map(Number).sort(((e,t)=>e-t)),o=i[i.length-1];let s=0;for(let i=0;i<=o;i++)void 0!==t[i]&&(s++,void 0!==e[i])||void 0!==e[i]&&(r[i-s]=e[i]);return r}(r,i||{}),e.setSizes(t);break}}}}})({store:this.store,setSizes:this.setDimensionSize.bind(this)})),this.store.use((e=>({set(t){var r;switch(t){case"count":case"sizes":case"originItemSize":{let t=0;const i=e.store.get("count"),o=e.store.get("sizes"),s=e.store.get("originItemSize");for(let e=0;e<i;e++)t+=null!==(r=o[e])&&void 0!==r?r:s;e.setStore({realSize:t});break}}}}))({store:this.store,setStore:this.setStore.bind(this)}))}getCurrentState(){const e=$e();return n(Object.keys(e),((e,t)=>{const r=this.store.get(t);return e[t]=r,e}),e)}dispose(){M(this.store,$e())}setStore(e){M(this.store,e)}drop(){M(this.store,{indexes:[],count:0,trimmed:null,sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]})}setDimensionSize(e={}){const t=re(this.store.get("originItemSize"),e);M(this.store,Object.assign(Object.assign({},t),{sizes:e}))}updateSizesPositionByIndexes(e,t=[]){const r=Object.assign({},this.store.get("sizes"));if(!Object.keys(r).length)return;const i={};t.forEach(((e,t)=>{i[e]||(i[e]=[]),i[e].push(t)}));const o={};e.forEach(((e,t)=>{const s=i[e];if(s&&s.length>0){const e=s.shift();void 0!==e&&e!==t&&"number"==typeof r[e]&&(o[t]=r[e],delete r[e])}})),Object.keys(o).length&&this.setDimensionSize(Object.assign(Object.assign({},r),o))}}class qe{constructor(){this.unsubscribe=[],this.store=F({range:null,tempRange:null,tempRangeType:null,focus:null,edit:null,lastCell:null,nextFocus:null}),this.store.on("set",((e,t)=>{"tempRange"!==e||t||this.store.set("tempRangeType",null)}))}onChange(e,t){this.unsubscribe.push(this.store.onChange(e,t))}clearFocus(){M(this.store,{focus:null,range:null,edit:null,tempRange:null})}setFocus(e,t){M(this.store,t?{focus:e,range:a(e,t),edit:null,tempRange:null}:{focus:e})}setNextFocus(e){M(this.store,{nextFocus:e})}setTempArea(e){M(this.store,{tempRange:null==e?void 0:e.area,tempRangeType:null==e?void 0:e.type,edit:null})}clearTemp(){M(this.store,{tempRange:null})}setRangeArea(e){M(this.store,{range:e,edit:null,tempRange:null})}setRange(e,t){const r=a(e,t);this.setRangeArea(r)}setLastCell(e){M(this.store,{lastCell:e})}setEdit(e){const t=this.store.get("focus");M(this.store,t&&"string"==typeof e?{edit:{x:t.x,y:t.y,val:e}}:{edit:null})}dispose(){this.unsubscribe.forEach((e=>e())),this.store.dispose()}}class Xe{constructor(t,r){this.revogrid=t,this.providers=r,this.h=e,this.subscriptions={}}addEventListener(e,t){this.revogrid.addEventListener(e,t),this.subscriptions[e]=t}watch(e,t,{immediate:r}={immediate:!1}){var i;const o=Object.getOwnPropertyDescriptor(this.revogrid,e)||Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype,e);Object.defineProperty(this.revogrid,e,{configurable:!0,enumerable:null===(i=null==o?void 0:o.enumerable)||void 0===i||i,set(e){var r;if(!1!==t(e))return null===(r=null==o?void 0:o.set)||void 0===r?void 0:r.call(this,e)},get(){var e;return null===(e=null==o?void 0:o.get)||void 0===e?void 0:e.call(this)}}),r&&t(null==o?void 0:o.value)}removeEventListener(e){this.revogrid.removeEventListener(e,this.subscriptions[e]),delete this.subscriptions[e]}emit(e,t){const r=new CustomEvent(e,{detail:t,cancelable:!0});return this.revogrid.dispatchEvent(r),r}clearSubscriptions(){for(let e in this.subscriptions)this.removeEventListener(e)}destroy(){this.clearSubscriptions()}}function Ge(e,t){for(var r=-1,i=null==e?0:e.length;++r<i&&!1!==t(e[r],r,e););return e}function Ye(e,t){return(V(e)?Ge:l)(e,function(e){return"function"==typeof e?e:B}(t))}class We extends Xe{constructor(e,t,r){super(e,t),this.providers=t,this.config=r,this.autoSizeColumns=null,this.dataResolve=null,this.dataReject=null,this.letterBlockSize=(null==r?void 0:r.letterBlockSize)||7,(null==r?void 0:r.preciseSize)&&(this.precsizeCalculationArea=this.initiatePresizeElement(),e.appendChild(this.precsizeCalculationArea));const i=({detail:{source:e}})=>{this.setSource(e)};switch(this.addEventListener("beforecolumnsset",(({detail:{columns:e}})=>{this.columnSet(e)})),null==r?void 0:r.mode){case"autoSizeOnTextOverlap":this.addEventListener("aftersourceset",i),this.addEventListener("afteredit",(({detail:e})=>{this.afteredit(e)}));break;case"autoSizeAll":this.addEventListener("aftersourceset",i),this.addEventListener("afteredit",(({detail:e})=>{this.afterEditAll(e)}));break;default:this.addEventListener("headerdblclick",(({detail:e})=>{const t=d(e.column),r=this.getColumnSize(e.index,t);r&&this.providers.dimension.setCustomSizes(t,{[e.index]:r},!0)}))}}async setSource(e){let t=this.autoSizeColumns;if(this.dataReject&&(this.dataReject(),this.clearPromise()),!t){const e=new Promise(((e,t)=>{this.dataResolve=e,this.dataReject=t}));try{t=await e}catch(e){return}}Ye(t,((r,i)=>{const o={};Ye(t[i],(t=>{t.size=o[t.index]=e.reduce(((e,r)=>Math.max(e,this.getLength(r[t.prop]))),this.getLength(t.name||""))})),this.providers.dimension.setCustomSizes(i,o,!0)}))}getLength(e){var t;if(!e)return 0;try{const r=""+e;return(null===(t=this.config)||void 0===t?void 0:t.preciseSize)?(this.precsizeCalculationArea.innerText=r,this.precsizeCalculationArea.scrollWidth+30):r.length*this.letterBlockSize+30}catch(e){return 0}}afteredit(e){let t;t=this.isRangeEdit(e)?e.data:{0:{[e.prop]:e.val}},Ye(this.autoSizeColumns,((e,r)=>{const i={};Ye(e,(e=>{var r;const o=n(t,((t,r)=>void 0===r[e.prop]?t:Math.max(t||0,this.getLength(r[e.prop]))),void 0);o&&(null!==(r=e.size)&&void 0!==r?r:0)<o&&(e.size=i[e.index]=o)})),this.providers.dimension.setCustomSizes(r,i,!0)}))}afterEditAll(e){const t={};this.isRangeEdit(e)?Ye(e.data,(e=>Ye(e,((e,r)=>t[r]=!0)))):t[e.prop]=!0,Ye(this.autoSizeColumns,((e,r)=>{const i={};Ye(e,(e=>{if(t[e.prop]){const t=this.getColumnSize(e.index,r);t&&(i[e.index]=t)}})),this.providers.dimension.setCustomSizes(r,i,!0)}))}getColumnSize(e,t){var r,i;const o=null===(i=null===(r=this.autoSizeColumns)||void 0===r?void 0:r[t])||void 0===i?void 0:i[e];return o?n(this.providers.data.stores,((e,t)=>{const r=n(t.store.get("items"),((e,r,i)=>{const s=A(t.store,i);return Math.max(e||0,this.getLength(null==s?void 0:s[o.prop]))}),0);return Math.max(e,r)}),o.size||0):0}columnSet(e){var t;for(let r of h){const i=r,o=e[i];for(let e in o)(o[e].autoSize||(null===(t=this.config)||void 0===t?void 0:t.allColumns))&&(this.autoSizeColumns||(this.autoSizeColumns={}),this.autoSizeColumns[i]||(this.autoSizeColumns[i]={}),this.autoSizeColumns[i][e]=Object.assign(Object.assign({},o[e]),{index:parseInt(e,10)}))}this.dataResolve&&(this.dataResolve(this.autoSizeColumns||{}),this.clearPromise())}clearPromise(){this.dataResolve=null,this.dataReject=null}isRangeEdit(e){return!!e.data}initiatePresizeElement(){var e;const t={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll",display:"block"},r=document.createElement("div");for(let i in t)r.style[i]=null!==(e=t[i])&&void 0!==e?e:"";return r.classList.add("revo-test-container"),r}destroy(){var e;super.destroy(),null===(e=this.precsizeCalculationArea)||void 0===e||e.remove()}}class Je extends Xe{constructor(e,t){super(e,t),this.providers=t,this.stretchedColumn=null,this.scrollSize=le(document),this.addEventListener("beforecolumnapplied",(({detail:{columns:e}})=>this.applyStretch(e)))}setScroll({type:e,hasScroll:t}){var r;"rgRow"===e&&this.stretchedColumn&&(null===(r=this.stretchedColumn)||void 0===r?void 0:r.initialSize)===this.stretchedColumn.size&&t&&(this.stretchedColumn.size-=this.scrollSize,this.apply(),this.dropChanges())}activateChanges(){this.addEventListener("scrollchange",(({detail:e})=>this.setScroll(e)))}dropChanges(){this.stretchedColumn=null,this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn)return;const e="rgCol",t=this.providers.dimension.stores[e].store.get("sizes");this.providers.dimension.setCustomSizes(e,Object.assign(Object.assign({},t),{[this.stretchedColumn.index]:this.stretchedColumn.size}),!0)}applyStretch(e){this.dropChanges();let t=this.revogrid.clientWidth-1;if(Ye(e,((e,r)=>{const i=this.providers.dimension.stores[r].store.get("realSize");t-=i})),this.revogrid.rowHeaders){const e=this.providers.data.stores.rgRow.store.get("source").length,r=this.revogrid.rowHeaders,i=se(e,"object"==typeof r?r:void 0);i&&(t-=i)}if(t>0){const r=e.rgCol.length-1,i=e.rgCol[r],o=(null==i?void 0:i.size)||this.revogrid.colSize||0,s=t+o-1;i&&!i.autoSize&&o<s&&(this.stretchedColumn={initialSize:s,index:r,size:s},this.apply(),this.activateChanges())}}}function Ke(e){return!!e.applyStretch}const Ze={mime:"text/csv",fileKind:"csv",bom:!0,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""},_e=RegExp('"',"g");class Qe{constructor(e={}){this.options=Object.assign(Object.assign({},Ze),e)}doExport({data:e,headers:t,props:r}){let i=this.options.bom?"\ufeff":"";return(null==t?void 0:t.length)>0&&t.forEach((e=>{e.length&&(i+=this.prepareHeader(e,this.options.columnDelimiter),i+=this.options.rowDelimiter)})),e.forEach(((e,t)=>{t>0&&(i+=this.options.rowDelimiter),g(e)?i+=this.parseCell(u(e),this.options.columnDelimiter):i+=r.map((t=>this.parseCell(e[t],this.options.columnDelimiter))).join(this.options.columnDelimiter)})),i}prepareHeader(e,t){let r="";return r+=e.map((e=>this.parseCell(e,t,!0))).join(t),r}parseCell(e,t,r=!1){let i=e;return"string"!=typeof e&&(i=JSON.stringify(e)),void 0===i?"":""!==i&&(r||["\r",'"',"\n",t].some((e=>i.indexOf(e)>=0)))?`"${i.replace(_e,'""')}"`:i}}var et;!function(e){e.csv="csv"}(et||(et={}));class tt extends Xe{async exportString(e={},t=et.csv){const r=await this.beforeexport();return r?this.formatter(t,e).doExport(r):null}async exportBlob(e={},t=et.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=et.csv){const r=this.formatter(t,e),i=window.URL||window.webkitURL,o=document.createElement("a"),{filename:s,fileKind:n}=r.options,a=`${s}.${n}`,l=await this.getBlob(r),d=l?i.createObjectURL(l):"";o.style.display="none",o.setAttribute("href",d),o.setAttribute("download",a),this.revogrid.appendChild(o),o.dispatchEvent(new MouseEvent("click")),this.revogrid.removeChild(o),await de(120),i.revokeObjectURL(d)}async getBlob(e){const t=`${e.options.mime};charset=${e.options.encoding}`;if("undefined"!=typeof Blob){const r=await this.beforeexport();return r?new Blob([e.doExport(r)],{type:t}):null}return null}async beforeexport(){let e=await this.getData();const t=this.emit("beforeexport",{data:e});return t.defaultPrevented?null:t.detail.data}async getData(){const e=await this.getSource(),t=[],r=[];h.forEach(((e,i)=>{r.push(this.getColPerSource(e).then((e=>t[i]=e)))})),await Promise.all(r);const i={headers:[],props:[]};for(let e of t)e.headers.forEach(((e,t)=>{i.headers[t]||(i.headers[t]=[]),i.headers[t].push(...e)})),i.props.push(...e.props);return Object.assign({data:e},i)}async getColPerSource(e){const t=await this.revogrid.getColumnStore(e),r=t.get("source"),i=t.get("items"),o=t.get("groupingDepth"),s=t.get("groups"),n=[],a=[];i.forEach((e=>{const t=r[e].prop;n.push(r[e].name||""),a.push(t)}));const l=this.getGroupHeaders(o,s,i);return l.push(n),{headers:l,props:a}}getGroupHeaders(e,t,r){const i=[],o=function(e){return null!=e&&e.length?function(e,t,r,i){var o=e.length;for((r=c(r))<0&&(r=-r>o?0:o+r),(i=void 0===i||i>o?o:c(i))<0&&(i+=o),i=r>i?0:function(e){return e?function(e,t,r){return e==e&&(e=(e=e<=r?e:r)>=0?e:0),e}(c(e),0,4294967295):0}(i);r<i;)e[r++]=t;return e}(e,"",void 0,void 0):[]}(Array(r.length));for(let r=0;r<e;r++){const e=[...o];(i.push(e),t[r])&&t[r].forEach((t=>{const r=t.indexes[0];"number"==typeof r&&(e[r]=t.name)}))}return i}async getSource(){const e=[],t=[];return v.forEach((r=>{const i=[];e.push(i);const o=this.revogrid.getVisibleSource(r).then((e=>i.push(...e)));t.push(o)})),await Promise.all(t),e.reduce(((e,t)=>(e.push(...t),e)),[])}formatter(e,t={}){if(e===et.csv)return new Qe(t);throw Error("Unknown format")}}const rt=(e,t)=>{if(void 0===e||null===e&&!t)return!0;"string"!=typeof e&&(e=JSON.stringify(e));const r=null==t?void 0:(""+t).toLocaleLowerCase();return 0===(null==r?void 0:r.length)||e.toLocaleLowerCase()===r},it=(e,t)=>!rt(e,t);it.extra="input",rt.extra="input";const ot=function(e,t){let r;return"number"==typeof e&&null!=t&&(r=parseFloat(null==t?void 0:""+t),e>r)};ot.extra="input";const st=function(e,t){return rt(e,t)||ot(e,t)};st.extra="input";const nt=function(e,t){let r;return"number"==typeof e&&null!=t&&(r=parseFloat(""+t),e<r)};nt.extra="input";const at=function(e,t){return rt(e,t)||nt(e,t)};at.extra="input";const lt=e=>!(""===e||null==e),dt=(e,t)=>!(!e||t&&("string"!=typeof e&&(e=JSON.stringify(e)),"string"!=typeof t&&(t=JSON.stringify(t)),0!==e.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())));dt.extra="input";const ht=(e,t)=>!t||!!e&&(!t||("string"!=typeof e&&(e=JSON.stringify(e)),e.toLocaleLowerCase().indexOf((""+t).toLowerCase())>-1)),ct=(e,t)=>!ht(e,t);ct.extra="input",ht.extra="input";const gt={none:()=>!0,empty:e=>!lt(e),notEmpty:lt,eq:rt,notEq:it,begins:dt,contains:ht,notContains:ct,eqN:rt,neqN:it,gt:ot,gte:st,lt:nt,lte:at},ut={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]},vt={none:"None",empty:"Not set",notEmpty:"Set",eq:"Equal",notEq:"Not equal",begins:"Begins with",contains:"Contains",notContains:"Does not contain",eqN:"=",neqN:"!=",gt:">",gte:">=",lt:"<",lte:"<="},pt="filter",ft="filterconfigchanged",mt="revogr-filter-panel";class bt extends Xe{constructor(t,r,i){var o;super(t,r),this.revogrid=t,this.config=i,this.filterCollection={},this.multiFilterItems={},this.filterByType=Object.assign({},ut),this.filterNameIndexByType=Object.assign({},vt),this.filterFunctionsIndexedByType=Object.assign({},gt),this.filterProp=he,i&&this.initConfig(i);const s=this.revogrid.registerVNode.filter((e=>"object"==typeof e&&e.t!==mt));this.revogrid.registerVNode=[...s,e("revogr-filter-panel",{filterNames:this.filterNameIndexByType,filterEntities:this.filterFunctionsIndexedByType,filterCaptions:null===(o=null==i?void 0:i.localization)||void 0===o?void 0:o.captions,onFilterChange:e=>this.onFilterChange(e.detail),onResetChange:e=>this.onFilterReset(e.detail),disableDynamicFiltering:null==i?void 0:i.disableDynamicFiltering,closeOnOutsideClick:null==i?void 0:i.closeFilterPanelOnOutsideClick,ref:e=>this.pop=e}," ",this.extraContent())];const n=async()=>{const e=Object.keys(this.filterCollection);e.length>0&&e.forEach(((e,t)=>{this.multiFilterItems[e]||(this.multiFilterItems[e]=[{id:t,type:this.filterCollection[e].type,value:this.filterCollection[e].value,relation:"and"}])})),0!==Object.keys(this.multiFilterItems).length&&await this.runFiltering(this.multiFilterItems)};this.addEventListener("headerclick",(e=>this.headerclick(e))),this.addEventListener(ft,(({detail:e})=>{e&&("object"!=typeof e||e.multiFilterItems&&Object.keys(e.multiFilterItems).length)?("object"==typeof e&&this.initConfig(e),n()):this.clearFiltering()})),this.addEventListener("aftersourceset",n),this.addEventListener("filter",(({detail:e})=>this.onFilterChange(e)))}beforeshow(e){}extraContent(){return null}initConfig(e){if(this.multiFilterItems=e.multiFilterItems?Object.assign({},e.multiFilterItems):{},e.customFilters)for(let t in e.customFilters){const r=e.customFilters[t];this.filterByType[r.columnFilterType]||(this.filterByType[r.columnFilterType]=[]),this.filterByType[r.columnFilterType].push(t),this.filterFunctionsIndexedByType[t]=r.func,this.filterNameIndexByType[t]=r.name}e.filterProp&&(this.filterProp=e.filterProp);const t=e.include;if(t){const e={};for(let r in this.filterByType){const i=this.filterByType[r].filter((e=>t.indexOf(e)>-1));i.length&&(e[r]=i)}Object.keys(e).length>0&&(this.filterByType=e)}if(e.collection){const t=Object.entries(e.collection).filter((([,e])=>this.filterFunctionsIndexedByType[e.type]));this.filterCollection=Object.fromEntries(t)}else this.filterCollection={};e.localization&&e.localization.filterNames&&Object.entries(e.localization.filterNames).forEach((([e,t])=>{null!=this.filterNameIndexByType[e]&&(this.filterNameIndexByType[e]=t)}))}async headerclick(e){var t,r;const i=null===(t=e.detail.originalEvent)||void 0===t?void 0:t.target;if(!ce(i))return;if(e.preventDefault(),!this.pop)return;const o=this.revogrid.getBoundingClientRect(),s=i.getBoundingClientRect(),n=e.detail.prop,a=Object.assign(Object.assign(Object.assign({},e.detail),this.filterCollection[n]),{x:s.x-o.x,y:s.y-o.y+s.height,autoCorrect:!0,filterTypes:this.getColumnFilter(e.detail.filter),filterItems:this.multiFilterItems,extraContent:this.extraHyperContent});null===(r=this.beforeshow)||void 0===r||r.call(this,a),this.pop.show(a)}getColumnFilter(e){let t="string";if(!e)return{[t]:this.filterByType[t]};if(this.isValidType(e))t=e;else if("object"==typeof e&&e.length)return e.reduce(((e,t)=>(this.isValidType(t)&&(e[t]=this.filterByType[t]),e)),{});return{[t]:this.filterByType[t]}}isValidType(e){return!("string"!=typeof e||!this.filterByType[e])}async onFilterChange(e){this.multiFilterItems=e,this.runFiltering(this.multiFilterItems)}onFilterReset(e){delete this.multiFilterItems[null!=e?e:""],this.onFilterChange(this.multiFilterItems)}async doFiltering(e,t,r,i){const o=[],s={};r.forEach((e=>{const t=Object.assign({},e),r=i[t.prop];s[t.prop]=t,t[this.filterProp]&&!r&&(delete t[this.filterProp],o.push(t)),!t[this.filterProp]&&r&&(o.push(t),t[this.filterProp]=!0)}));const n=this.getRowFilter(t,i,s),{defaultPrevented:a,detail:l}=this.emit("beforefiltertrimmed",{collection:e,itemsToFilter:n,source:t,filterItems:i});a||(this.providers.data.setTrimmed({[pt]:l.itemsToFilter}),this.providers.column.updateColumns(o),this.emit("afterfilterapply",{multiFilterItems:i,source:t,collection:e}))}async clearFiltering(){this.multiFilterItems={},await this.runFiltering(this.multiFilterItems)}async runFiltering(e){const t={},r=Object.keys(e);for(const i of r)if(e[i].length>0){const r=e[i][0];t[i]={type:r.type,value:r.value}}this.filterCollection=t;const i=this.providers.column.getColumns(),o=this.providers.data.stores.rgRow.store.get("source"),{defaultPrevented:s,detail:n}=this.emit("beforefilterapply",{collection:this.filterCollection,source:o,columns:i,filterItems:this.multiFilterItems});s||this.doFiltering(n.collection,n.source,n.columns,n.filterItems)}getRowFilter(e,t,r){const i=Object.keys(t),o={};for(let s=0;s<e.length;s++)for(const n of i)this.shouldTrimRow(t[n],n,r[n],e[s])&&(o[s]=!0);return o}shouldTrimRow(e,t,r,i={}){let o=0,s=[];for(const[n,a]of e.entries()){const l=this.filterFunctionsIndexedByType[a.type],d=r?p(i,r):i[t];if("or"===a.relation){if(s=[],l(d,a.value))continue;o++}else if(s.push(!l(d,a.value)),wt(n,e)){if(xt(s)){s=[];continue}o+=s.length,s=[]}}return o===e.length}}function wt(e,t){const r=t[e+1];return!r||!!r.relation&&"and"!==r.relation}function xt(e){return!e.includes(!0)}var Ct=$("length"),yt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),St="\\ud800-\\udfff",jt="["+St+"]",Rt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Ot="\\ud83c[\\udffb-\\udfff]",Et="[^"+St+"]",kt="(?:\\ud83c[\\udde6-\\uddff]){2}",zt="[\\ud800-\\udbff][\\udc00-\\udfff]",Lt="(?:"+Rt+"|"+Ot+")?",Ht="[\\ufe0e\\ufe0f]?",Tt=Ht+Lt+"(?:\\u200d(?:"+[Et,kt,zt].join("|")+")"+Ht+Lt+")*",Pt=RegExp(Ot+"(?="+Ot+")|(?:"+[Et+Rt+"?",Rt,kt,zt,jt].join("|")+")"+Tt,"g");function It(e){if(null==e)return 0;if(U(e))return function(e){return"string"==typeof e||!V(e)&&ge(e)&&"[object String]"==ue(e)}(e)?function(e){return function(e){return yt.test(e)}(e)?function(e){for(var t=Pt.lastIndex=0;Pt.test(e);)++t;return t}(e):Ct(e)}(e):e.length;var t=q(e);return"[object Map]"==t||"[object Set]"==t?e.size:X(e).length}function Dt(e,t,r={}){return 0===Object.entries(r).length?[...Array(e.length).keys()]:e.sort(((e,i)=>{const o=t[e],s=t[i];for(const[e,t]of Object.entries(r)){if(g(o)&&o["__rvgr-prop"]!==e)return 0;if(g(s)&&s["__rvgr-prop"]!==e)return 0;const r=null==t?void 0:t(e,o,s);if(r)return r}return 0}))}function Nt(e,t,r){const i=this.column?f(t,this.column):null==t?void 0:t[e],o=this.column?f(r,this.column):null==r?void 0:r[e],s="number"==typeof i?i:null==i?void 0:(""+i).toLowerCase(),n="number"==typeof o?o:null==o?void 0:(""+o).toLowerCase();return s===n?0:s>n?1:-1}function Ft(e){return(t,r,i)=>-1*e(t,r,i)}function Mt(e){switch(e){case void 0:return"asc";case"asc":return"desc";case"desc":return}}function Bt(e,t){var r;const i=(null===(r=null==e?void 0:e.cellCompare)||void 0===r?void 0:r.bind({order:t}))||(null==Nt?void 0:Nt.bind({column:e,order:t}));return"asc"==t?i:"desc"==t?Ft(i):void 0}class Vt extends Xe{constructor(e,t,r){super(e,t),this.revogrid=e,this.sortingPromise=null,this.postponeSort=ee(((e,t,r)=>this.runSorting(e,t,r)),50);const i=e=>{var t;if(e){const r={},i={};null===(t=e.columns)||void 0===t||t.forEach((e=>{r[e.prop]=Bt(e,e.order),i[e.prop]=e.order})),e.additive?(this.sorting=Object.assign(Object.assign({},this.sorting),i),this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r)):(this.sorting=i,this.sortingFunc=r)}};i(r),this.addEventListener("sortingconfigchanged",(({detail:e})=>{r=e,i(e),this.startSorting(this.sorting,this.sortingFunc)})),this.addEventListener("beforeheaderrender",(({detail:e})=>{var t;const{data:r}=e;r.sortable&&(e.data=Object.assign(Object.assign({},r),{order:null===(t=this.sorting)||void 0===t?void 0:t[r.prop]}))})),this.addEventListener("beforeanysource",(({detail:{type:e}})=>{if(this.sorting&&this.sortingFunc){if(this.emit("beforesourcesortingapply",{type:e,sorting:this.sorting}).defaultPrevented)return;this.startSorting(this.sorting,this.sortingFunc)}})),this.addEventListener("aftercolumnsset",(({detail:{order:e}})=>{if(r)return;const t=this.providers.column.getColumns(),i={};for(let r in e){const o=Bt(m(t,r),e[r]);i[r]=o}this.sorting=e,this.sortingFunc=e&&i})),this.addEventListener("beforeheaderclick",(e=>{var t,r,i,o;e.defaultPrevented||(null===(r=null===(t=e.detail)||void 0===t?void 0:t.column)||void 0===r?void 0:r.sortable)&&this.headerclick(e.detail.column,null===(o=null===(i=e.detail)||void 0===i?void 0:i.originalEvent)||void 0===o?void 0:o.shiftKey)}))}startSorting(e,t,r){this.sortingPromise||this.revogrid.jobsBeforeRender.push(new Promise((e=>{this.sortingPromise=e}))),this.postponeSort(e,t,r)}headerclick(e,t){var r,i,o;const s=e.prop;let n=Mt(null===(r=this.sorting)||void 0===r?void 0:r[s]);const a=this.emit("beforesorting",{column:e,order:n,additive:t});if(a.defaultPrevented)return;n=a.detail.order;const l=this.emit("beforesortingapply",{column:a.detail.column,order:n,additive:t});if(l.defaultPrevented)return;const d=Bt(l.detail.column,l.detail.order);if(l.detail.additive&&this.sorting){const e={},t={};s in e&&It(e)>1&&void 0===n?(delete e[s],delete t[s]):(e[s]=n,t[s]=d),this.sorting=Object.assign(Object.assign({},this.sorting),e),this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),t)}else n?(this.sorting={[s]:n},this.sortingFunc={[s]:d}):(null===(i=this.sorting)||void 0===i||delete i[s],null===(o=this.sortingFunc)||void 0===o||delete o[s]);this.startSorting(this.sorting,this.sortingFunc)}runSorting(e,t,r){var i;this.sort(e,t,void 0,r),null===(i=this.sortingPromise)||void 0===i||i.call(this),this.sortingPromise=null}sort(e,t,r=v,i=!1){if(Object.keys(e||{}).length)for(let e of r){const r=this.providers.data.stores[e],o=r.store.get("source"),s=Dt([...r.store.get("proxyItems")],o,t),n=r.store.get("items");r.setData({proxyItems:s,source:[...o]});const a=r.store.get("items");i||this.providers.dimension.updateSizesPositionByNewDataIndexes(e,a,n)}else for(let e of r){const t=this.providers.data.stores[e],r=t.store.get("source"),i=t.store.get("proxyItems"),o=Array.from({length:r.length},((e,t)=>t));this.providers.dimension.updateSizesPositionByNewDataIndexes(e,o,i),t.setData({proxyItems:o,source:[...r]})}h.forEach((e=>{this.providers.column.dataSources[e].refresh()})),this.emit("aftersortingapply")}}function At(e,t){const r=t[e],i=r[y],o={};let s=e+1;const n=t.length;for(;s<n;){const e=t[s];if(g(e)){const t=e[y];if(!t.length||!t.startsWith(i+","))break;e[b]=!1}o[s++]=!0}return r[b]=!1,{trimmed:o}}function $t(e,t,r){const i=r[e],o=t[i],s=w(o[S]),n={};if(!s)return{trimmed:n};const a=[];o[b]=!0;let l=i+1;const d=t.length;let h=0;for(;l<d;){const e=t[l],r=g(e);if(r){if(!x(s,o,e))break;h||(h=e[C])}(!h||r&&h===e[C])&&(n[l]=!1,a.push(l)),l++}const c={trimmed:n};if(a.length){const t=[...r];t.splice(e+1,0,...a),c.items=t}return c}const Ut="grouping";class qt extends Xe{getStore(e=j){return this.providers.data.stores[e].store}constructor(e,t){super(e,t)}onFocus(e){g(e.detail.model)&&e.preventDefault()}onExpand({virtualIndex:e}){const{source:t}=R(this.getStore().get("source"),this.getStore().get("proxyItems"));let r=this.getStore().get("trimmed")[Ut],i=G(this.getStore(),e);if(L(t[i])){const{trimmed:e}=At(i,t);r=Object.assign(Object.assign({},r),e),this.revogrid.clearFocus()}else{const{trimmed:i,items:o}=$t(e,t,this.getStore().get("items"));r=Object.assign(Object.assign({},r),i),o&&Y(this.getStore(),o)}this.getStore().set("source",t),this.revogrid.addTrimmed(r,Ut)}setColumnGrouping(e){return!!(null==e?void 0:e.length)&&(e[0][O]=!0,!0)}setColumns({columns:e}){for(let t of h)if(this.setColumnGrouping(e[t]))break}onDrag(e){const{from:t,to:r}=e.detail,i=r-t>=0,{source:o}=R(this.getStore().get("source"),this.getStore().get("proxyItems")),s=this.getStore().get("items");let n=i?t:r;const a=i?r:t;for(;n<a;n++)if(g(o[s[n]]))return void e.preventDefault()}beforeTrimmedApply(e,t){if(t===pt){const t=this.getStore().get("source");for(let r in e)e[r]&&g(t[r])&&(e[r]=!1)}}isSortingRunning(){const e=this.providers.plugins.getByClass(Vt);return!!(null==e?void 0:e.sortingPromise)}doSourceUpdate(e){var t;const r=this.getStore(),{source:i,prevExpanded:o,oldNewIndexes:s}=R(r.get("source"),r.get("proxyItems"),!0),n=Object.assign({prevExpanded:o},e),{sourceWithGroups:a,depth:l,trimmed:d,oldNewIndexMap:h}=E(i,(null===(t=this.options)||void 0===t?void 0:t.props)||[],n);this.providers.data.setData(a,j,this.revogrid.disableVirtualY,{depth:l,customRenderer:null==e?void 0:e.groupLabelTemplate},!0),this.updateTrimmed(d,null!=s?s:{},h)}onDataSet(e){var t,r;let i={};if(!1!==(null===(t=this.options)||void 0===t?void 0:t.preserveGroupingOnUpdate)){let{prevExpanded:e}=R(this.getStore().get("source"),this.getStore().get("proxyItems"),!0);i=e}const o=e.source.filter((e=>!g(e))),s=Object.assign(Object.assign({},this.revogrid.grouping||{}),{prevExpanded:i}),{sourceWithGroups:n,depth:a,trimmed:l,oldNewIndexMap:d}=E(o,(null===(r=this.options)||void 0===r?void 0:r.props)||[],s);e.source=n,this.providers.data.setGrouping({depth:a}),this.updateTrimmed(l,d)}setGrouping(e){var t,r;if(this.clearSubscriptions(),this.options=e,!(null===(r=null===(t=this.options)||void 0===t?void 0:t.props)||void 0===r?void 0:r.length))return void this.clearGrouping();const i=this.getStore(),{source:o}=R(i.get("source"),i.get("proxyItems"));o.length&&this.doSourceUpdate(Object.assign({},e));for(let e of h)if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}this.addEventListener("beforesourceset",(({detail:e})=>{var t,r,i;(null===(r=null===(t=this.options)||void 0===t?void 0:t.props)||void 0===r?void 0:r.length)&&(null===(i=null==e?void 0:e.source)||void 0===i?void 0:i.length)&&(this.isSortingRunning()||this.onDataSet(e))})),this.addEventListener("beforecolumnsset",(({detail:e})=>{this.setColumns(e)})),this.addEventListener("beforetrimmed",(({detail:{trimmed:e,trimmedType:t}})=>this.beforeTrimmedApply(e,t))),this.addEventListener("aftersortingapply",(()=>{var e,t;(null===(t=null===(e=this.options)||void 0===e?void 0:e.props)||void 0===t?void 0:t.length)&&this.doSourceUpdate(Object.assign({},this.options))})),this.addEventListener("beforecellfocus",(e=>this.onFocus(e))),this.addEventListener("roworderchanged",(e=>this.onDrag(e))),this.addEventListener(k,(e=>this.onExpand(e.detail)))}clearGrouping(){h.forEach((e=>{const t=this.providers.column.getColumns(e);let r=!1;t.forEach((e=>{z(e)&&(delete e[O],r=!0)})),r&&this.providers.column.refreshByType(e)}));const{source:e,oldNewIndexes:t}=R(this.getStore().get("source"),this.getStore().get("proxyItems"),!0);this.providers.data.setData(e,j,this.revogrid.disableVirtualY,void 0,!0),this.updateTrimmed(void 0,void 0,t)}updateTrimmed(e={},t={},r){const i=function(e,t,r){const i={};for(let o in e){if(o===Ut)continue;const s=e[o],n={};for(let e in s){let a=t[e];r&&(a=r[a]),s[e]&&(n[a]=!0,a!==parseInt(e,10)&&(i[o]=n))}}return i}(this.getStore().get("trimmed"),t,r);for(let e in i)this.revogrid.addTrimmed(i[e],e);this.revogrid.addTrimmed(Object.assign({},e),Ut)}}const Xt="column-drag-start";class Gt{constructor(){this.offset=0}renderAutoscroll(e,t){t&&(this.autoscrollEl=document.createElement("div"),this.autoscrollEl.classList.add("drag-auto-scroll-y"),t.appendChild(this.autoscrollEl))}autoscroll(e,t,r="translateX"){this.autoscrollEl&&(this.autoscrollEl.style.transform=`${r}(${Math.min(e+10,t-3)}px)`,this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"}))}start(e,{dataEl:t,gridRect:r,scrollEl:i,gridEl:o},s="left"){o.classList.add(Xt);const n=i.getBoundingClientRect();n&&(this.offset=n[s]-r[s]),this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(Xt),this.element&&(this.element.hidden=!0),this.offset=0,null===(t=this.autoscrollEl)||void 0===t||t.remove(),this.autoscrollEl=void 0}showHandler(e,t,r="translateX"){this.element&&(this.offset&&(e=Math.max(e,this.offset)),this.element.style.transform=`${r}(${e=Math.min(e,t)}px)`,this.element.hidden=!1)}render(){const e=this.element=document.createElement("div");return e.classList.add("drag-position-y"),e.hidden=!0,e}}const Yt=xe;class Wt extends Xe{constructor(e,t){super(e,t),this.moveFunc=ee((e=>this.doMove(e)),5),this.staticDragData=null,this.dragData=null,this.localSubscriptions={},this.orderUi=new Gt,e.appendChild(this.orderUi.render()),e.classList.add("column-draggable"),this.localSubscriptions.mouseleave={target:document,callback:e=>this.onMouseOut(e)},this.localSubscriptions.mouseup={target:document,callback:e=>this.onMouseUp(e)},this.localSubscriptions.mousemove={target:document,callback:e=>this.move(e)},this.addEventListener(Yt,(({detail:e})=>this.dragStart(e)))}dragStart({event:e,data:t}){if(e.defaultPrevented)return;const{defaultPrevented:r}=Ce(this.revogrid,"columndragstart",t);if(r)return;this.clearOrder();const{mouseleave:i,mouseup:o,mousemove:s}=this.localSubscriptions;i.target.addEventListener("mouseleave",i.callback),o.target.addEventListener("mouseup",o.callback);const n=e.target.closest("revogr-header"),a=e.target.closest("revogr-viewport-scroll");if(!n||!a)return;if(H(t)||"rowHeaders"===t.providers.type)return;const l=this.getDimension(t.pin||"rgCol"),d=this.revogrid.getBoundingClientRect(),h=n.getBoundingClientRect(),c=ie(l,Jt(e.x,d.left,h.left-d.left));this.staticDragData={startPos:e.x,startItem:c,pin:t.pin,dataEl:n,scrollEl:a,gridEl:this.revogrid,cols:l},this.dragData=this.getData(this.staticDragData),s.target.addEventListener("mousemove",s.callback),this.orderUi.start(e,Object.assign(Object.assign({},this.dragData),this.staticDragData))}doMove(e){if(!this.staticDragData)return;const t=this.dragData=this.getData(this.staticDragData);if(t&&Math.abs(this.staticDragData.startPos-e.x)>10){const r=Jt(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset),i=ie(this.staticDragData.cols,r);if(this.orderUi.autoscroll(r,t.elRect.width),i.itemIndex>=this.staticDragData.cols.count)return;this.orderUi.showHandler(i.end+t.scrollOffset,t.gridRect.width)}}move(e){Ce(this.revogrid,"columndragmousemove",e),this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){if(this.dragData&&this.staticDragData){let t=Jt(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);t<0&&(t=0);const r=ie(this.staticDragData.cols,t),i=this.providers.column.stores[this.dragData.type].store,o=[...i.get("items")],{defaultPrevented:s}=Ce(this.revogrid,"beforecolumndragend",Object.assign(Object.assign({},this.staticDragData),{startPosition:this.staticDragData.startItem,newPosition:r,newItem:i.get("source")[o[this.staticDragData.startItem.itemIndex]]}));if(!s){const e=[...o],t=o.splice(this.staticDragData.startItem.itemIndex,1);o.splice(r.itemIndex,0,...t),i.set("items",o),this.providers.dimension.updateSizesPositionByNewDataIndexes(this.dragData.type,o,e)}Ce(this.revogrid,"columndragend",this.dragData)}this.clearOrder()}clearLocalSubscriptions(){Ye(this.localSubscriptions,(({target:e,callback:t},r)=>e.removeEventListener(r,t)))}clearOrder(){this.staticDragData=null,this.dragData=null,this.clearLocalSubscriptions(),this.orderUi.stop(this.revogrid)}clearSubscriptions(){super.clearSubscriptions(),this.clearLocalSubscriptions()}getData({gridEl:e,dataEl:t,pin:r}){const i=e.getBoundingClientRect(),o=t.getBoundingClientRect();return{elRect:o,gridRect:i,type:r||"rgCol",scrollOffset:o.left-i.left}}getDimension(e){return this.providers.dimension.stores[e].getCurrentState()}}function Jt(e,t,r){return e-t-r}class Kt{get stores(){return this.dataSources}constructor(){this.collection=null,this.dataSources=h.reduce(((e,t)=>(e[t]=new W(t),e)),{})}column(e,t="rgCol"){return this.getColumn(e,t)}getColumn(e,t){return A(this.dataSources[t].store,e)}getRawColumns(){return n(this.dataSources,((e,t,r)=>(e[r]=t.store.get("source"),e)),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){const t=this.getRawColumns();return"all"!==e?t[e]:h.reduce(((e,r)=>[...e,...t[r]]),[])}getColumnIndexByProp(e,t){return J(this.dataSources[t].store,e)}getColumnByProp(e){var t;return null===(t=this.collection)||void 0===t?void 0:t.columnByProp[e]}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){return h.forEach((t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce(((e,t)=>(e[t.level]||(e[t.level]=[]),e[t.level].push(t),e)),{})})})),this.collection=e,e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=d(t);return e[r]||(e[r]={}),e[r][t.prop]=t,e}),{}),r={};for(const e in t){if(!t.hasOwnProperty(e))continue;const i=e,o=t[i],s=this.dataSources[i].store.get("source");r[i]={};for(let e=0;e<s.length;e++){const t=null==o?void 0:o[s[e].prop];t&&(r[i][e]=t)}}for(const e in r)r.hasOwnProperty(e)&&K(this.dataSources[e].store,r[e]||{})}updateColumn(e,t){const r=d(e);Z(this.dataSources[r].store,{[t]:e})}}class Zt{constructor(e){this.dimensionProvider=e,this.stores=n(v,((e,t)=>(e[t]=new W(t),e)),{})}setData(e,t="rgRow",r=!1,i,o=!1,s=!1){return this.stores[t].updateData([...e],i,o,s),this.dimensionProvider.setData(e.length,t,"rgRow"!==t||r),e}getModel(e,t="rgRow"){return A(this.stores[t].store,e)}changeOrder({rowType:e="rgRow",from:t,to:r}){const i=this.stores[e],o=[...i.store.get("proxyItems")],s=i.store.get("items"),n=o.splice(o.indexOf(s[t]),1);o.splice(o.indexOf(s[r]),0,...n),i.setData({proxyItems:o});const a=i.store.get("items");this.dimensionProvider.updateSizesPositionByNewDataIndexes(e,a,s)}setCellData({type:e,rowIndex:t,prop:r,val:i},o=!0){const s=this.getModel(t,e);s[r]=i,this.stores[e].setSourceData({[t]:s},o)}setRangeData(e,t){const r={};for(let i in e){const o=r[i]=A(this.stores[t].store,parseInt(i,10));if(o)for(let t in e[i])o[t]=e[i][t]}this.stores[t].setSourceData(r)}refresh(e="all"){T(e)&&this.refreshItems(e),v.forEach((e=>this.refreshItems(e)))}refreshItems(e="rgRow"){const t=this.stores[e].store.get("items");this.stores[e].setData({items:[...t]})}setGrouping({depth:e},t="rgRow"){this.stores[t].setData({groupingDepth:e})}setTrimmed(e,t="rgRow"){const r=this.stores[t];r.addTrimmed(e),this.dimensionProvider.setTrimmed(e,t),"rgRow"===t&&this.dimensionProvider.setData(_(r.store).length,t)}}class _t{constructor(e,t){this.viewports=e;const r=ee((e=>t.realSizeChanged(e)),te);this.stores=n([...v,...h],((e,t)=>(e[t]=new Ue(t),e[t].store.onChange("realSize",(()=>r(t))),e)),{})}clearSize(e,t){this.stores[e].drop(),this.viewports.stores[e].setOriginalSizes(this.stores[e].store.get("originItemSize")),this.setItemCount(t,e)}setCustomSizes(e,t,r=!1){let i=t;if(r){const r=this.stores[e].store.get("sizes");i=Object.assign(Object.assign({},r),t)}this.stores[e].setDimensionSize(i),this.setViewPortCoordinate({type:e,force:!0})}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e}),this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=Q(e);this.stores[t].setStore({trimmed:r}),this.setViewPortCoordinate({type:t,force:!0})}setData(e,t,r=!1){if(this.setItemCount(e,t),r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.setViewPortCoordinate({type:t})}applyNewColumns(e,t,r=!1){for(let i of h){r||this.stores[i].drop();const o=e[i],s="rgCol"!==i||t;this.stores[i].setStore({count:o.length});const n=P(o);this.stores[i].setDimensionSize(n);const a={realCount:o.length};s&&(a.virtualSize=this.stores[i].getCurrentState().realSize),this.viewports.stores[i].setViewport(a),this.setViewPortCoordinate({type:i})}}getFullSize(){var e,t;let r=0,i=0;for(let t of h)r+=(null===(e=this.stores[t])||void 0===e?void 0:e.store.get("realSize"))||0;for(let e of v)i+=(null===(t=this.stores[e])||void 0===t?void 0:t.store.get("realSize"))||0;return{y:i,x:r}}setViewPortCoordinate({type:e,coordinate:t=this.viewports.stores[e].lastCoordinate,force:r=!1}){const i=this.stores[e].getCurrentState();this.viewports.stores[e].setViewPortCoordinate(t,i,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();return oe(t,e.coordinate).start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=h;break;case"rgRow":r=v}for(let t of r)this.stores[t].setStore(e)}updateSizesPositionByNewDataIndexes(e,t,r=[]){this.stores[e].updateSizesPositionByIndexes(t,r),this.setViewPortCoordinate({type:e,force:!0})}}class Qt{constructor(){this.stores=n([...v,...h],((e,t)=>(e[t]=new ne(t),e)),{})}setViewport(e,t){this.stores[e].setViewport(t)}}class er{constructor(e,t){var r;this.config=e;const i=[];let o=0;h.forEach((r=>{const s=e.columnProvider.stores[r].store;if(!s.get("items").length)return;const n={colType:r,position:{x:o,y:1},contentHeight:t,fixWidth:"rgCol"!==r,viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,noHorizontalScrollTransfer:e.noHorizontalScrollTransfer,colStore:s,onHeaderresize:e=>this.onColumnResize(r,e,s)};"rgCol"===r&&(n.onResizeviewport=t=>{var r;const i={clientSize:t.detail.size};("rgRow"===t.detail.dimension&&!e.disableVirtualY||"rgCol"===t.detail.dimension&&!e.disableVirtualX)&&(i.virtualSize=t.detail.size),null===(r=e.viewportProvider)||void 0===r||r.setViewport(t.detail.dimension,i)});const a=function(e){const t=e.dimensions[e.colType].store,r=t.get("realSize"),i={contentWidth:r,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,noHorizontalScrollTransfer:e.noHorizontalScrollTransfer,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:r+"px"}:void 0},o={colData:_(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get("groups"),groupingDepth:e.colStore.get("groupingDepth"),resizeHandler:"colPinEnd"===e.colType?["l"]:void 0,onHeaderresize:e.onHeaderresize};return{prop:i,type:e.colType,position:e.position,headerProp:o,viewportCol:e.viewports[e.colType].store}}(n),l=this.registerCol(a.position.x,r),d=this.dataViewPort(n).reduce(((t,i)=>{const o=this.registerSegment(i.position,i.lastCell),s=this.registerRow(i.position.y,i.type),n=Object.assign(Object.assign({colType:r},i),{rowSelectionStore:s,selectionStore:o.store,onSetrange:e=>{o.setRangeArea(e.detail)},onSettemprange:e=>o.setTempArea(e.detail),onFocuscell:t=>{o.clearFocus(),e.selectionStoreConnector.focus(o,t.detail)}});return t.push(n),t}),[]);i.push(Object.assign(Object.assign({},a),{columnSelectionStore:l,dataPorts:d})),o++})),this.columns=i,null===(r=this.config.scrollingService)||void 0===r||r.unregister()}onColumnResize(e,{detail:t},r){var i;null===(i=this.config.dimensionProvider)||void 0===i||i.setCustomSizes(e,t,!0);const o={};for(const[e,i]of Object.entries(t||{})){const t=parseInt(e,10),s=A(r,t);s&&(o[t]=Object.assign(Object.assign({},s),{size:i}))}this.config.resize(o)}registerSegment(e,t){const r=this.config.selectionStoreConnector.register(e);return r.setLastCell(t),r}registerRow(e,t){return this.config.selectionStoreConnector.registerRow(e,t).store}registerCol(e,t){return this.config.selectionStoreConnector.registerColumn(e,t).store}dataViewPort(e){const t={rowPinStart:me,rgRow:fe,rowPinEnd:pe};let r=0;return v.reduce(((i,o)=>{const s=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:r})}),n=ve(s,o,t[o],"rgRow"!==o);return i.push(n),r++,i}),[])}scrollToCell(e){for(let t in e){const r=e[t];"number"==typeof r&&this.config.scrollingService.proxyScroll({dimension:"x"===t?"rgCol":"rgRow",coordinate:r})}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(!1)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e)return null;const t=this.config.selectionStoreConnector.storesXToType[e.position.x],r=this.config.columnProvider.getColumn(e.cell.x,t),i=this.config.selectionStoreConnector.storesYToType[e.position.y];return{column:r,model:this.config.dataProvider.getModel(e.cell.y,i),cell:e.cell,colType:t,rowType:i}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(void 0!==r[e]&&void 0!==r[t])return{x:r[e],y:r[t]}}setFocus(e,t,r,i){var o;const s=this.getStoreCoordinateByType(e,t);s&&(null===(o=this.config.selectionStoreConnector)||void 0===o||o.focusByCell(s,r,i))}getSelectedRange(){const e=this.config.selectionStoreConnector.focusedStore;if(!e)return null;const t=this.config.selectionStoreConnector.storesXToType[e.position.x],r=this.config.selectionStoreConnector.storesYToType[e.position.y],i=e.entity.store.get("range");return i?Object.assign(Object.assign({},i),{colType:t,rowType:r}):null}setEdit(e,t,r,i){var o;const s=this.getStoreCoordinateByType(r,i);s&&(null===(o=this.config.selectionStoreConnector)||void 0===o||o.setEditByCell(s,{x:t,y:e}))}}class tr{constructor(e){this.setViewport=e,this.elements={}}async proxyScroll(e,t,r){var i;let o,s=e;for(let s in r?{}:this.elements)if("rgCol"!==e.dimension||"headerRow"!==s)if(this.isPinnedColumn(t)&&"rgCol"===e.dimension){if(s===t||!e.delta)continue;for(let t of this.elements[s])t.changeScroll&&(o=t.changeScroll(e))}else for(let t of this.elements[s])await(null===(i=t.setScroll)||void 0===i?void 0:i.call(t,e));const n=await o;n&&(s=n),this.setViewport(s)}async scrollSilentService(e,t){var r;for(let i in this.elements)if(i!==t)if(!h.includes(t)||"headerRow"!==i&&!h.includes(i));else for(let t of this.elements[i])await(null===(r=t.changeScroll)||void 0===r?void 0:r.call(t,e,!0))}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){this.elements[t]||(this.elements[t]=[]),e?this.elements[t].push(e):this.elements[t]&&delete this.elements[t]}unregister(){this.elements={}}}class rr{constructor(){this.stores={},this.columnStores={},this.rowStores={},this.storesByType={},this.storesXToType={},this.storesYToType={}}get focusedStore(){var e;for(let t in this.stores)for(let r in this.stores[t]){const i=null===(e=this.stores[t][r])||void 0===e?void 0:e.store.get("focus");if(i)return{entity:this.stores[t][r],cell:i,position:{x:parseInt(r,10),y:parseInt(t,10)}}}return null}get edit(){var e;return null===(e=this.focusedStore)||void 0===e?void 0:e.entity.store.get("edit")}get focused(){var e;return null===(e=this.focusedStore)||void 0===e?void 0:e.entity.store.get("focus")}get selectedRange(){var e;return null===(e=this.focusedStore)||void 0===e?void 0:e.entity.store.get("range")}registerColumn(e,t){return this.columnStores[e]||(this.columnStores[e]=new qe,this.storesByType[t]=e,this.storesXToType[e]=t),this.columnStores[e]}registerRow(e,t){return this.rowStores[e]||(this.rowStores[e]=new qe,this.storesByType[t]=e,this.storesYToType[e]=t),this.rowStores[e]}register({x:e,y:t}){this.stores[t]||(this.stores[t]={});let r=this.stores[t][e];return r||(this.stores[t][e]=r=new qe,r.onChange("range",(r=>{this.columnStores[e].setRangeArea(r),this.rowStores[t].setRangeArea(r)})),r.store.on("dispose",(()=>this.destroy(e,t))),r)}destroy(e,t){var r,i;if(null===(r=this.columnStores[e])||void 0===r||r.dispose(),null===(i=this.rowStores[t])||void 0===i||i.dispose(),delete this.rowStores[t],delete this.columnStores[e],this.storesXToType[e]){const t=this.storesXToType[e];delete this.storesXToType[e],delete this.storesByType[t]}if(this.storesYToType[t]){const e=this.storesYToType[t];delete this.storesYToType[t],delete this.storesByType[e]}this.stores[t]&&delete this.stores[t][e],Object.keys(this.stores[t]||{}).length||delete this.stores[t]}setEditByCell(e,t){this.focusByCell(e,t,t),this.setEdit("")}beforeNextFocusCell(e){var t;if(!this.focusedStore)return;const r=this.focusedStore.entity.store.get("lastCell"),i=r&&this.getNextStore(e,this.focusedStore.position,r);null===(t=null==i?void 0:i.store)||void 0===t||t.setNextFocus(Object.assign(Object.assign({},e),i.item))}focusByCell(e,t,r){this.focus(this.stores[e.y][e.x],{focus:t,end:r})}focus(e,{focus:t,end:r}){const i=this.getCurrentStorePointer(e);if(!i)return null;const o=e.store.get("lastCell"),s=o&&this.getNextStore(t,i,o);if(null==s?void 0:s.store){const e=Object.assign(Object.assign({},t),s.item);return this.focus(s.store,{focus:e,end:e}),null}return o&&(t=I(t,o),r=I(r,o)),e.setFocus(t,r),t}getCurrentStorePointer(e){let t;for(let r in this.stores)for(let i in this.stores[r]){const o=this.stores[r][i];o!==e?o.clearFocus():t={x:parseInt(i,10),y:parseInt(r,10)}}return t}getNextStore(e,t,r){const i=D(e,r);let o;i&&Object.entries(i).forEach((([e,r])=>{let s;switch(e){case"x":s=this.getXStores(t.y);break;case"y":s=this.getYStores(t.x)}if(r>=0)o=s[++t[e]];else{o=s[--t[e]];const n=null==o?void 0:o.store.get("lastCell");n&&(i[e]=n[e]+r)}}));const s=null==o?void 0:o.store.get("lastCell");return(null==s?void 0:s.x)&&(null==s?void 0:s.y)||(o=void 0),{store:o,item:i}}clearAll(){var e;for(let t in this.stores)for(let r in this.stores[t])null===(e=this.stores[t][r])||void 0===e||e.clearFocus()}setEdit(e){this.focusedStore&&this.focusedStore.entity.setEdit(e)}selectAll(){for(let e in this.stores)for(let t in this.stores[e]){const r=this.stores[e][t];if(!r)continue;const i=r.store.get("lastCell");i&&r.setRange({x:0,y:0},{x:i.x-1,y:i.y-1})}}getXStores(e){return this.stores[e]}getYStores(e){const t={};for(let r in this.stores)t[r]=this.stores[r][e];return t}}class ir{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:i}){var o;const{top:s}=e.getBoundingClientRect();this.parentY=s,this.text&&(this.text.innerText=r),this.move(t),this.moveTip({x:i.x,y:i.y}),null===(o=this.el)||void 0===o||o.classList.remove("hidden")}end(){var e;null===(e=this.el)||void 0===e||e.classList.add("hidden")}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){this.draggable&&(this.draggable.style.left=e+"px",this.draggable.style.top=t+"px")}moveElement(e){this.rgRow&&(this.rgRow.style.transform=`translateY(${e}px)`)}}const or=({ref:t})=>{const r=new ir;return t(r),e("div",{class:"draggable-wrapper hidden",ref:e=>r.el=e},e("div",{class:"draggable",ref:e=>r.draggable=e},e("span",{class:"revo-alt-icon"}),e("span",{ref:e=>r.text=e})),e("div",{class:"drag-position",ref:e=>r.rgRow=e}))};class sr extends Xe{constructor(e,t){super(e,t),e.setAttribute("role","treegrid"),e.setAttribute("aria-keyshortcuts","Enter"),e.setAttribute("aria-multiselectable","true"),e.setAttribute("tabindex","0"),this.addEventListener("beforecolumnsset",(({detail:t})=>{const r=[...t.columns.colPinStart,...t.columns.rgCol,...t.columns.colPinEnd];e.setAttribute("aria-colcount",""+r.length),r.forEach(((e,t)=>{const{columnProperties:r,cellProperties:i}=e;e.columnProperties=(...e)=>{const i=(null==r?void 0:r(...e))||{};return i.role="columnheader",i["aria-colindex"]=""+t,i},e.cellProperties=(...e)=>{const r={role:"gridcell","aria-colindex":""+t,"aria-rowindex":""+e[0].rowIndex,tabindex:-1},o=(null==i?void 0:i(...e))||{};return Object.assign(Object.assign({},r),o)}}))})),this.addEventListener("beforesourceset",(({detail:t})=>{e.setAttribute("aria-rowcount",""+t.source.length)})),this.addEventListener("beforerowrender",(({detail:e})=>{e.node.i=Object.assign(Object.assign({},e.node.i),{role:"row","aria-rowindex":e.item.itemIndex})})),this.addEventListener("afterfocus",(async e=>{if(e.defaultPrevented)return;const t=this.revogrid.querySelector(`revogr-data[type="${e.detail.rowType}"][col-type="${e.detail.colType}"] [data-rgrow="${e.detail.rowIndex}"][data-rgcol="${e.detail.colIndex}"]`);t instanceof HTMLElement&&t.focus()}))}}class nr{constructor(){this.internalPlugins=[]}get(){return[...this.internalPlugins]}add(e){this.internalPlugins.push(e)}addUserPluginsAndCreate(e,t=[],r,i){i&&(((null==r?void 0:r.filter((e=>!t.some((t=>t===e)))))||[]).forEach((e=>{var t,r;const i=this.internalPlugins.findIndex((t=>t instanceof e));-1!==i&&(null===(r=(t=this.internalPlugins[i]).destroy)||void 0===r||r.call(t),this.internalPlugins.splice(i,1))})),null==t||t.forEach((t=>{this.internalPlugins.find((e=>e instanceof t))||this.add(new t(e,i))})))}getByClass(e){return this.internalPlugins.find((t=>t instanceof e))}remove(e){var t,r;const i=this.internalPlugins.indexOf(e);i>-1&&(null===(r=(t=this.internalPlugins[i]).destroy)||void 0===r||r.call(t),this.internalPlugins.splice(i,1))}destroy(){this.internalPlugins.forEach((e=>{var t;return null===(t=e.destroy)||void 0===t?void 0:t.call(e)})),this.internalPlugins=[]}}class ar extends Xe{constructor(e,t){super(e,t),this.isRTLEnabled=!1,this.init()}init(){this.addEventListener("beforecolumnsset",(e=>{this.handleBeforeColumnsSet(e)})),this.addEventListener("aftergridinit",(()=>{this.updateRTLState()})),this.watch("rtl",(e=>{this.isRTLEnabled=e,this.emit("rtlstatechanged",{rtl:this.isRTLEnabled})}),{immediate:!0})}handleBeforeColumnsSet(e){if(!this.isRTLEnabled)return;const t=this.applyRTLTransformationToCollection(e.detail);e.detail.columns=t.columns,e.detail.columnByProp=t.columnByProp,e.detail.columnGrouping=t.columnGrouping}applyRTLTransformationToCollection(e){const t={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:Object.assign({},e.columnByProp),columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:e.maxLevel,sort:Object.assign({},e.sort)};return Object.keys(e.columns).forEach((r=>{const i=r,o=e.columns[i],s=[...o].reverse();t.columns[i]=s,t.columnGrouping[i]=this.applyRTLTransformationToGroups(e.columnGrouping[i],o.length)})),t}applyRTLTransformationToGroups(e,t){return e.map((e=>{const r=e.indexes.map((e=>t-1-e)).reverse();return Object.assign(Object.assign({},e),{indexes:r})})).reverse()}updateRTLState(){const e=this.revogrid;e&&"boolean"==typeof e.rtl&&(this.isRTLEnabled=e.rtl)}getRTLState(){return this.isRTLEnabled}destroy(){super.destroy()}}const lr=t(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.contentsizechanged=i(this,"contentsizechanged",7),this.beforeedit=i(this,"beforeedit",7),this.beforerangeedit=i(this,"beforerangeedit",7),this.afteredit=i(this,"afteredit",7),this.beforeautofill=i(this,"beforeautofill",7),this.beforerange=i(this,"beforerange",7),this.afterfocus=i(this,"afterfocus",7),this.roworderchanged=i(this,"roworderchanged",7),this.beforesorting=i(this,"beforesorting",7),this.beforesourcesortingapply=i(this,"beforesourcesortingapply",7),this.beforesortingapply=i(this,"beforesortingapply",7),this.rowdragstart=i(this,"rowdragstart",7),this.headerclick=i(this,"headerclick",7),this.beforecellfocus=i(this,"beforecellfocus",7),this.beforefocuslost=i(this,"beforefocuslost",7),this.beforesourceset=i(this,"beforesourceset",7),this.beforeanysource=i(this,"beforeanysource",7),this.aftersourceset=i(this,"aftersourceset",7),this.afteranysource=i(this,"afteranysource",7),this.beforecolumnsgather=i(this,"beforecolumnsgather",7),this.beforecolumnsset=i(this,"beforecolumnsset",7),this.beforecolumnapplied=i(this,"beforecolumnapplied",7),this.aftercolumnsset=i(this,"aftercolumnsset",7),this.beforefilterapply=i(this,"beforefilterapply",7),this.beforefiltertrimmed=i(this,"beforefiltertrimmed",7),this.beforetrimmed=i(this,"beforetrimmed",7),this.aftertrimmed=i(this,"aftertrimmed",7),this.viewportscroll=i(this,"viewportscroll",7),this.beforeexport=i(this,"beforeexport",7),this.beforeeditstart=i(this,"beforeeditstart",7),this.aftercolumnresize=i(this,"aftercolumnresize",7),this.beforerowdefinition=i(this,"beforerowdefinition",7),this.filterconfigchanged=i(this,"filterconfigchanged",7),this.sortingconfigchanged=i(this,"sortingconfigchanged",7),this.rowheaderschanged=i(this,"rowheaderschanged",7),this.beforegridrender=i(this,"beforegridrender",7),this.aftergridrender=i(this,"aftergridrender",7),this.aftergridinit=i(this,"aftergridinit",7),this.additionaldatachanged=i(this,"additionaldatachanged",7),this.afterthemechanged=i(this,"afterthemechanged",7),this.created=i(this,"created",7),this.frameSize=1,this.rowSize=0,this.colSize=100,this.range=!1,this.readonly=!1,this.resize=!1,this.noHorizontalScrollTransfer=!1,this.canFocus=!0,this.useClipboard=!0,this.columns=[],this.source=[],this.pinnedTopSource=[],this.pinnedBottomSource=[],this.rowDefinitions=[],this.editors={},this.applyOnClose=!1,this.plugins=[],this.columnTypes={},this.theme="default",this.rowClass="",this.autoSizeColumn=!1,this.filter=!1,this.canMoveColumns=!1,this.trimmedRows={},this.exporting=!1,this.stretch=!1,this.additionalData={},this.disableVirtualX=!1,this.disableVirtualY=!1,this.hideAttribution=!1,this.jobsBeforeRender=[],this.registerVNode=[],this.accessible=!0,this.rtl=!1,this.canDrag=!0,this.extraElements=[],this.pluginService=new nr,this.viewport=null,this.isInited=!1}async refresh(e="all"){if(!this.dataProvider)throw Error("Not connected");this.dataProvider.refresh(e)}async setDataAt({row:e,col:t,colType:r="rgCol",rowType:i="rgRow",val:o,skipDataUpdate:s=!1}){var n;if(this.dataProvider&&this.columnProvider&&!s){const s=null===(n=this.columnProvider.getColumn(t,r))||void 0===n?void 0:n.prop;void 0!==s&&this.dataProvider.setCellData({type:i,rowIndex:e,prop:s,val:o},!1)}const a=this.element.querySelector(`revogr-data[type="${i}"][col-type="${r}"]`);return null==a?void 0:a.updateCell({row:e,col:t})}async scrollToRow(e=0){if(!this.dimensionProvider)throw Error("Not connected");const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){if(!this.dimensionProvider)throw Error("Not connected");const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){if(!this.dimensionProvider||!this.columnProvider)throw Error("Not connected");const r=this.columnProvider.getColumnIndexByProp(e,t);if(r<0)return;const i=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:t});await this.scrollToCoordinate({x:i})}async updateColumns(e){var t;null===(t=this.columnProvider)||void 0===t||t.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){if(!this.dataProvider)throw Error("Not connected");const i=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});return i.defaultPrevented||(this.dataProvider.setTrimmed({[t]:i.detail.trimmed},r),this.aftertrimmed.emit()),i}async scrollToCoordinate(e){var t;null===(t=this.viewport)||void 0===t||t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var i;const o=m(this.columns,t);if(!o)return;await de();const s=o.pin||"rgCol";if(!this.columnProvider)throw Error("Not connected");null===(i=this.viewport)||void 0===i||i.setEdit(e,this.columnProvider.getColumnIndexByProp(t,s),s,r)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},r="rgCol",i="rgRow"){var o;null===(o=this.viewport)||void 0===o||o.setFocus(r,i,e,t)}async getSource(e="rgRow"){if(!this.dataProvider)throw Error("Not connected");return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){if(!this.dataProvider)throw Error("Not connected");return _(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){if(!this.dataProvider)throw Error("Not connected");return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){if(!this.columnProvider)throw Error("Not connected");return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r){this.sortingconfigchanged.emit({columns:[{prop:e.prop,order:t,cellCompare:e.cellCompare}],additive:r})}async clearSorting(){this.sortingconfigchanged.emit({columns:[]})}async getColumns(){if(!this.columnProvider)throw Error("Not connected");return this.columnProvider.getColumns()}async clearFocus(){var e,t;const r=null===(e=this.viewport)||void 0===e?void 0:e.getFocused();this.beforefocuslost.emit(r).defaultPrevented||null===(t=this.selectionStoreConnector)||void 0===t||t.clearAll()}async getPlugins(){return this.pluginService.get()}async getFocused(){var e,t;return null!==(t=null===(e=this.viewport)||void 0===e?void 0:e.getFocused())&&void 0!==t?t:null}async getContentSize(){var e;if(!this.dimensionProvider)throw Error("Not connected");return null===(e=this.dimensionProvider)||void 0===e?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return null!==(t=null===(e=this.viewport)||void 0===e?void 0:e.getSelectedRange())&&void 0!==t?t:null}async refreshExtraElements(){var e;null===(e=this.extraService)||void 0===e||e.refresh()}async getProviders(){return this.getPluginData()}mousedownHandle(e){const t=Se(e,"screenX"),r=Se(e,"screenY");null!==t&&null!==r&&(this.clickTrackForFocusClear=t+r)}async mouseupHandle(e){var t;const r=Se(e,"screenX"),i=Se(e,"screenY");if(null===r||null===i)return;if(e.defaultPrevented)return;if(Math.abs((null!==(t=this.clickTrackForFocusClear)&&void 0!==t?t:0)-(r+i))>10)return;const o=e.composedPath();o.includes(this.element)||this.element.shadowRoot&&o.includes(this.element.shadowRoot)||await this.clearFocus()}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);r.defaultPrevented?e.preventDefault():null===(t=this.orderService)||void 0===t||t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;null===(e=this.orderService)||void 0===e||e.end()}onRowOrderChange(e){var t;null===(t=this.dataProvider)||void 0===t||t.changeOrder(e.detail)}onRowDrag({detail:e}){var t;null===(t=this.orderService)||void 0===t||t.move(e)}onRowMouseMove(e){var t;null===(t=this.orderService)||void 0===t||t.moveTip(e.detail)}async onCellEdit(e){var t;const{defaultPrevented:r,detail:i}=this.beforeedit.emit(e.detail);await de(),r||(null===(t=this.dataProvider)||void 0===t||t.setCellData(i),this.afteredit.emit(i))}onRangeEdit(e){if(!this.dataProvider)throw Error("Not connected");const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);t?e.preventDefault():(this.dataProvider.setRangeData(r.data,r.type),this.afteredit.emit(r))}onRangeChanged(e){const t=this.beforerange.emit(e.detail);t.defaultPrevented&&e.preventDefault(),this.beforeautofill.emit(t.detail).defaultPrevented&&e.preventDefault()}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);t&&e.preventDefault()}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));t&&e.preventDefault()}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);this.canFocus&&!t||e.preventDefault()}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[],t,r="columns",i=!1){if(!this.dimensionProvider||!this.columnProvider)return;const o=this.beforecolumnsgather.emit({columns:[...e]});if(o.defaultPrevented)return;const s=N(o.detail.columns,0,this.columnTypes),n=this.beforecolumnsset.emit(s);if(n.defaultPrevented)return;this.dimensionProvider.applyNewColumns(n.detail.columns,this.disableVirtualX,i);const a=this.beforecolumnapplied.emit(s);if(a.defaultPrevented)return;const l=this.columnProvider.setColumns(a.detail);this.aftercolumnsset.emit({columns:l,order:Object.entries(a.detail.sort).reduce(((e,[t,r])=>(e[t]=r.order,e)),{})})}disableVirtualXChanged(e=!1,t=!1){e!==t&&this.columnChanged(this.columns)}rowSizeChanged(e){this.dimensionProvider&&(this.dimensionProvider.setSettings({originItemSize:e},"rgRow"),this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",!0))}themeChanged(e,t,r="theme",i=!1){this.dimensionProvider&&(this.themeService.register(e),this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow"),this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol"),i||(this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow"),this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",!0)),this.afterthemechanged.emit(e))}dataSourceChanged(e=[],t,r){if(!this.dataProvider)return;let i="rgRow";switch(r){case"pinnedBottomSource":i="rowPinEnd";break;case"pinnedTopSource":i="rowPinStart";break;case"source":i="rgRow",e=this.beforesourceset.emit({type:i,source:e}).detail.source}const o=[...this.beforeanysource.emit({type:i,source:e}).detail.source];this.dataProvider.setData(o,i,this.disableVirtualY),"source"===r&&this.aftersourceset.emit({type:i,source:e}),this.afteranysource.emit({type:i,source:e})}disableVirtualYChanged(e=!1,t=!1){e!==t&&this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,i=!0){if(!this.dimensionProvider||!this.dataProvider)return;const{detail:{vals:o,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t}),n=((e=[])=>{const t={};for(const r of e){let e=t[r.type];e||(e=t[r.type]={}),"number"==typeof r.size&&(e.sizes||(e.sizes={}),e.sizes[r.index]=r.size)}return t})(o);if(s){const e=((e=[])=>{const t={};for(const r of e){let e=t[r.type];e||(e=t[r.type]=[]),"number"==typeof r.size&&e.push(r.index)}return t})(s);for(const t in e)if(e.hasOwnProperty(t)){const e=t,r=this.dataProvider.stores[e].store.get("source").length;this.dimensionProvider.clearSize(e,r)}}v.forEach((e=>{var t;const r=n[e];(r||i)&&(null===(t=this.dimensionProvider)||void 0===t||t.setCustomSizes(e,(null==r?void 0:r.sizes)||{}))}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){var t;null===(t=this.pluginService.getByClass(qt))||void 0===t||t.setGrouping(e||{})}applyStretch(e){if(!(this.dimensionProvider&&this.dataProvider&&this.columnProvider&&this.viewportProvider))return;"false"===e&&(e=!1);const t=this.getPluginData();if(!t)return;const r=this.pluginService.getByClass(Je);"boolean"==typeof e&&e||"true"===e?r?Ke(r)&&r.applyStretch(this.columnProvider.getRawColumns()):this.pluginService.add(new Je(this.element,t)):r&&this.pluginService.remove(r)}applyFilter(e){this.filterconfigchanged.emit(e)}applySorting(e){this.sortingconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=e}additionalDataChanged(e){this.additionaldatachanged.emit(e)}rtlChanged(){this.columnChanged(this.columns)}pluginsChanged(e=[],t){this.pluginService.addUserPluginsAndCreate(this.element,e,t,this.getPluginData())}setPlugins(){this.removePlugins();const e=this.getPluginData();e&&(this.setCorePlugins(e),this.pluginsChanged(this.plugins))}setCorePlugins(e){this.accessible&&this.pluginService.add(new sr(this.element,e)),this.pluginService.add(new ar(this.element,e)),this.autoSizeColumn&&this.pluginService.add(new We(this.element,e,"object"==typeof this.autoSizeColumn?this.autoSizeColumn:void 0)),this.filter&&this.pluginService.add(new bt(this.element,e,"object"==typeof this.filter?this.filter:void 0)),this.exporting&&this.pluginService.add(new tt(this.element,e)),this.pluginService.add(new Vt(this.element,e)),this.pluginService.add(new qt(this.element,e)),this.canMoveColumns&&this.pluginService.add(new Wt(this.element,e))}getPluginData(){if(this.dimensionProvider&&this.dataProvider&&this.columnProvider&&this.viewportProvider&&this.selectionStoreConnector)return{data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector,plugins:this.pluginService}}removePlugins(){this.pluginService.destroy()}connectedCallback(){this.isInited&&this.setPlugins(),this.created.emit()}componentWillLoad(){var e;this.viewportProvider=new Qt,this.themeService=new Ve({rowSize:this.rowSize}),this.dimensionProvider=new _t(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)}),this.columnProvider=new Kt,this.selectionStoreConnector=new rr,this.dataProvider=new Zt(this.dimensionProvider),this.registerOutsideVNodes(this.registerVNode),this.setPlugins(),this.applyStretch(this.stretch),this.themeChanged(this.theme,void 0,void 0,!0),this.columnChanged(this.columns,void 0,void 0,!0),this.dataSourceChanged(this.source,void 0,"source"),this.dataSourceChanged(this.pinnedTopSource,void 0,"pinnedTopSource"),this.dataSourceChanged(this.pinnedBottomSource,void 0,"pinnedBottomSource"),Object.keys(null!==(e=this.trimmedRows)&&void 0!==e?e:{}).length>0&&this.trimmedRowsChanged(this.trimmedRows),this.rowDefChanged(this.rowDefinitions),this.grouping&&Object.keys(this.grouping).length>0&&this.groupingChanged(this.grouping),this.scrollingService=new tr((e=>{var t;null===(t=this.dimensionProvider)||void 0===t||t.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension}),this.viewportscroll.emit(e)})),this.aftergridinit.emit(),this.isInited=!0}componentWillRender(){return!this.beforegridrender.emit().defaultPrevented&&Promise.all(this.jobsBeforeRender)}componentDidRender(){this.aftergridrender.emit()}render(){if(!(this.dimensionProvider&&this.dataProvider&&this.columnProvider&&this.viewportProvider&&this.selectionStoreConnector))return;const t=this.dimensionProvider.stores.rgRow.store.get("realSize");this.viewport=new er({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,noHorizontalScrollTransfer:this.noHorizontalScrollTransfer,disableVirtualX:this.disableVirtualX,disableVirtualY:this.disableVirtualY,resize:e=>this.aftercolumnresize.emit(e)},t);const r=[];if(this.rowHeaders&&this.viewport.columns.length){const i=this.viewport.columns[0];r.push(e("revogr-row-headers",{additionalData:this.additionalData,height:t,rowClass:this.rowClass,resize:this.resize,dataPorts:i.dataPorts,headerProp:i.headerProp,jobsBeforeRender:this.jobsBeforeRender,rowHeaderColumn:"object"==typeof this.rowHeaders?this.rowHeaders:void 0,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,"headerRow"),onRef:({detail:e})=>this.scrollingService.registerElement(e,"headerRow")}))}const i=/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0,s=[];for(let t of this.viewport.columns){const r=Object.assign(Object.assign({},t.headerProp),{type:t.type,additionalData:this.additionalData,viewportCol:t.viewportCol,selectionStore:t.columnSelectionStore,canResize:this.resize,readonly:this.readonly,columnFilter:!!this.filter}),o=[e("revogr-header",Object.assign({},r,{slot:me}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`,n=e("revogr-overlay-selection",Object.assign({},r,{canDrag:this.canDrag&&r.canDrag,isMobileDevice:i,onSelectall:()=>{var e;return null===(e=this.selectionStoreConnector)||void 0===e?void 0:e.selectAll()},editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>{var t;return null===(t=this.selectionStoreConnector)||void 0===t?void 0:t.beforeNextFocusCell(e.detail)},onCanceledit:()=>{var e;return null===(e=this.selectionStoreConnector)||void 0===e?void 0:e.setEdit(!1)},onSetedit:({detail:e})=>{var t;this.beforeeditstart.emit(e).defaultPrevented||null===(t=this.selectionStoreConnector)||void 0===t||t.setEdit(e.val)}}),e("revogr-data",Object.assign({},r,{colType:t.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:be}),e("slot",{name:`data-${t.type}-${r.type}`})),e("revogr-temp-range",{selectionStore:r.selectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol}),e("revogr-focus",{colData:r.colData,dataStore:r.dataStore,focusTemplate:this.focusTemplate,rowType:r.type,colType:t.type,selectionStore:r.selectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol},e("slot",{name:`focus-${t.type}-${r.type}`})));o.push(n)})),s.push(e("revogr-viewport-scroll",Object.assign({},t.prop,{ref:e=>this.scrollingService.registerElement(e,""+t.prop.key),onScrollviewport:e=>{this.scrollingService.proxyScroll(e.detail,""+t.prop.key,this.noHorizontalScrollTransfer&&"rgCol"===e.detail.dimension)},onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,""+t.prop.key)}),o))}r.push(s);const n="rgRow",a="rgCol",l=this.viewportProvider.stores,d=this.dimensionProvider.stores,h=e("revogr-scroll-virtual",{class:"vertical",dimension:n,clientSize:l[n].store.get("clientSize"),virtualSize:l[n].store.get("virtualSize"),realSize:d[n].store.get("realSize"),ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),c=e("revogr-scroll-virtual",{class:"horizontal",dimension:a,clientSize:l[a].store.get("clientSize"),virtualSize:l[a].store.get("virtualSize"),realSize:d[a].store.get("realSize"),ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)});return e(o,{dir:this.rtl?"rtl":"ltr"},this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("slot",{name:"header"}),e("div",{class:"main-viewport",onClick:e=>{var t;e.currentTarget===e.target&&(null===(t=this.viewport)||void 0===t||t.clearEdit())}},e("div",{class:"viewports"},e("slot",{name:"viewport"}),r,h,e(or,{ref:e=>this.orderService=e}))),c,e("revogr-extra",{ref:e=>this.extraService=e,nodes:this.extraElements}),e("slot",{name:"footer"}))}disconnectedCallback(){this.removePlugins()}get element(){return this}static get watchers(){return{columnTypes:[{columnTypesChanged:0}],columns:[{columnChanged:0}],disableVirtualX:[{disableVirtualXChanged:0}],rowSize:[{rowSizeChanged:0}],theme:[{themeChanged:0}],source:[{dataSourceChanged:0}],pinnedBottomSource:[{dataSourceChanged:0}],pinnedTopSource:[{dataSourceChanged:0}],disableVirtualY:[{disableVirtualYChanged:0}],rowDefinitions:[{rowDefChanged:0}],trimmedRows:[{trimmedRowsChanged:0}],grouping:[{groupingChanged:0}],stretch:[{applyStretch:0}],filter:[{applyFilter:0}],sorting:[{applySorting:0}],rowHeaders:[{rowHeadersChange:0}],registerVNode:[{registerOutsideVNodes:0}],additionalData:[{additionalDataChanged:0}],rtl:[{rtlChanged:0}],plugins:[{pluginsChanged:0}]}}static get style(){return'revo-grid[theme=default],revo-grid:not([theme]){border:1px solid var(--revo-grid-header-border);font-size:12px}revo-grid[theme=default] .rowHeaders revogr-header,revo-grid:not([theme]) .rowHeaders revogr-header{box-shadow:-1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:var(--revo-grid-header-bg)}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .group-rgRow .rgHeaderCell,revo-grid:not([theme]) revogr-header .group-rgRow .rgHeaderCell{box-shadow:-1px 0 0 0 var(--revo-grid-header-border), -1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:var(--revo-grid-header-color)}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:var(--revo-grid-header-bg)}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:var(--revo-grid-header-color)}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid var(--revo-grid-header-border)}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 var(--revo-grid-header-border) inset, -1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) inset, 0 -1px 0 0 var(--revo-grid-cell-border) inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid[dir=rtl] .viewports{flex-direction:row-reverse}revo-grid[dir=rtl] revogr-header .rgHeaderCell{text-align:right}revo-grid[dir=rtl] revogr-data .rgCell{text-align:right}revo-grid[dir=rtl] .rowHeaders revogr-data .rgCell{text-align:right}revo-grid[dir=rtl] revogr-filter-panel{direction:rtl}revo-grid[dir=rtl] revo-dropdown .rv-dr-root{text-align:right}revo-grid[dir=rtl] .drag-position{right:0;left:auto}revo-grid[dir=rtl] .drag-auto-scroll-y{right:0;left:auto}revo-grid[dir=rtl] .clipboard{right:0;left:auto}revo-grid[dir=rtl] .draggable{margin-left:-20px;margin-right:0;padding-right:20px;padding-left:5px}revo-grid[dir=rtl] .draggable .revo-alt-icon{right:5px;left:auto}revo-grid[dir=rtl] .focused-cell{border-right:2px solid var(--revo-grid-primary);border-left:none}revo-grid[dir=rtl] .selection-range{border-right:2px solid var(--revo-grid-primary);border-left:none}revo-grid[dir=rtl] .resize-handle{right:0;left:auto}revo-grid[dir=rtl] .sort-indicator{margin-left:0;margin-right:5px}revo-grid[dir=rtl] .filter-button{margin-left:0;margin-right:5px}revo-grid[dir=rtl] .group-expand{margin-right:0;margin-left:2px;padding-right:5px;padding-left:0}revo-grid[dir=rtl] .rgCell,revo-grid[dir=rtl] .rgHeaderCell{padding-left:5px;padding-right:5px}revo-grid[dir=rtl] revogr-edit{direction:rtl}revo-grid[dir=rtl] .rgHeaderCell{direction:rtl}revo-grid[dir=rtl][theme=material] revogr-header,revo-grid[dir=rtl][theme=darkMaterial] revogr-header{text-align:right}revo-grid[dir=rtl][theme=material] revogr-data,revo-grid[dir=rtl][theme=darkMaterial] revogr-data{text-align:right}revo-grid[dir=rtl][theme=default] .rowHeaders,revo-grid[dir=rtl]:not([theme]) .rowHeaders{background-color:var(--revo-grid-header-bg)}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell{color:var(--revo-grid-header-color)}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-left:1px solid var(--revo-grid-header-border);border-right:none}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data revogr-header,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] revogr-header,revo-grid[dir=rtl]:not([theme]) revogr-header{text-align:right}revo-grid[dir=rtl][theme=default] revogr-data,revo-grid[dir=rtl]:not([theme]) revogr-data{text-align:right}revo-grid[dir=rtl][theme=compact] revogr-header,revo-grid[dir=rtl][theme=darkCompact] revogr-header{text-align:right}revo-grid[dir=rtl][theme=compact] revogr-data,revo-grid[dir=rtl][theme=darkCompact] revogr-data{text-align:right}.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::";display:inline-block}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}revo-grid{--revo-grid-primary:#266ae8;--revo-grid-primary-transparent:rgba(38, 106, 232, 0.9);--revo-grid-background:#fff;--revo-grid-foreground:black;--revo-grid-divider:gray;--revo-grid-shadow:rgba(0, 0, 0, 0.15);--revo-grid-text:black;--revo-grid-border:rgba(0, 0, 0, 0.2);--revo-grid-filter-panel-bg:#fff;--revo-grid-filter-panel-border:#d9d9d9;--revo-grid-filter-panel-shadow:rgba(0, 0, 0, 0.15);--revo-grid-filter-panel-input-bg:#eaeaeb;--revo-grid-filter-panel-divider:#d9d9d9;--revo-grid-filter-panel-select-border:transparent;--revo-grid-filter-panel-select-border-hover:transparent;--revo-grid-header-bg:#f8f9fa;--revo-grid-header-color:#000;--revo-grid-header-border:#cecece;--revo-grid-cell-border:#e2e3e3;--revo-grid-focused-bg:rgba(233, 234, 237, 0.5);--revo-grid-row-hover:#f1f1f1;--revo-grid-row-headers-bg:#f7faff;--revo-grid-row-headers-color:#757a82;--revo-grid-cell-disabled-bg:rgba(0, 0, 0, 0.07);direction:ltr !important;display:flex !important;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;color:var(--revo-grid-text);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid[theme*=dark]{--revo-grid-background:#212529;--revo-grid-foreground:#fff;--revo-grid-text:rgba(255, 255, 255, 0.9);--revo-grid-divider:#505050;--revo-grid-border:rgba(255, 255, 255, 0.2);--revo-grid-filter-panel-bg:#212529;--revo-grid-filter-panel-border:#505050;--revo-grid-filter-panel-input-bg:#343a40;--revo-grid-filter-panel-divider:#505050;--revo-grid-header-bg:#343a40;--revo-grid-header-color:#fff;--revo-grid-header-border:#505050;--revo-grid-cell-border:#424242;--revo-grid-focused-bg:rgba(52, 58, 64, 0.5);--revo-grid-row-hover:rgba(80, 80, 80, 0.5);--revo-grid-row-headers-bg:rgba(52, 58, 64, 0.8);--revo-grid-row-headers-color:rgba(255, 255, 255, 0.8);--revo-grid-cell-disabled-bg:rgba(255, 255, 255, 0.07)}revo-grid revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid revogr-header .rgHeaderCell.sortable:hover{background-color:var(--revo-grid-row-hover)}revo-grid revogr-header .rgHeaderCell.focused-cell{background:var(--revo-grid-focused-bg)}revo-grid .footer-wrapper revogr-data{box-shadow:0 -1px 0 var(--revo-grid-cell-border)}revo-grid revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 var(--revo-grid-cell-border) inset}revo-grid revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 var(--revo-grid-cell-border)}revo-grid revogr-data .rgRow{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset}revo-grid revogr-data .rgRow.focused-rgRow{background-color:var(--revo-grid-focused-bg)}revo-grid revogr-data .rgCell{color:var(--revo-grid-text)}revo-grid revogr-data .rgCell.disabled{background-color:var(--revo-grid-cell-disabled-bg)}revo-grid .attribution{position:absolute;bottom:0;left:0;right:0;z-index:1000;width:0;height:0;border-left:4px solid var(--revo-grid-primary-transparent);border-bottom:4px solid var(--revo-grid-primary-transparent);border-top:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;bottom:0;left:0;background-color:var(--revo-grid-background);padding:4px;border-radius:4px;box-shadow:0 1px 10px var(--revo-grid-border);white-space:nowrap;text-decoration:none;color:var(--revo-grid-text);letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:var(--revo-grid-background);border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 var(--revo-grid-shadow);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:var(--revo-grid-foreground);position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:var(--revo-grid-divider);pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:var(--revo-grid-divider);pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}'}},[260,"revo-grid",{rowHeaders:[4,"row-headers"],frameSize:[2,"frame-size"],rowSize:[2,"row-size"],colSize:[2,"col-size"],range:[4],readonly:[4],resize:[4],noHorizontalScrollTransfer:[4,"no-horizontal-scroll-transfer"],canFocus:[4,"can-focus"],useClipboard:[4,"use-clipboard"],columns:[16],source:[16],pinnedTopSource:[16],pinnedBottomSource:[16],rowDefinitions:[16],editors:[16],applyOnClose:[4,"apply-on-close"],plugins:[16],columnTypes:[16],theme:[1537],rowClass:[513,"row-class"],autoSizeColumn:[4,"auto-size-column"],filter:[4],sorting:[16],focusTemplate:[16],canMoveColumns:[4,"can-move-columns"],trimmedRows:[16],exporting:[4],grouping:[16],stretch:[8],additionalData:[16],disableVirtualX:[4,"disable-virtual-x"],disableVirtualY:[4,"disable-virtual-y"],hideAttribution:[4,"hide-attribution"],jobsBeforeRender:[16],registerVNode:[16],accessible:[4],rtl:[4],canDrag:[4,"can-drag"],refresh:[64],setDataAt:[64],scrollToRow:[64],scrollToColumnIndex:[64],scrollToColumnProp:[64],updateColumns:[64],addTrimmed:[64],scrollToCoordinate:[64],setCellEdit:[64],setCellsFocus:[64],getSource:[64],getVisibleSource:[64],getSourceStore:[64],getColumnStore:[64],updateColumnSorting:[64],clearSorting:[64],getColumns:[64],clearFocus:[64],getPlugins:[64],getFocused:[64],getContentSize:[64],getSelectedRange:[64],refreshExtraElements:[64],getProviders:[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{columnTypes:[{columnTypesChanged:0}],columns:[{columnChanged:0}],disableVirtualX:[{disableVirtualXChanged:0}],rowSize:[{rowSizeChanged:0}],theme:[{themeChanged:0}],source:[{dataSourceChanged:0}],pinnedBottomSource:[{dataSourceChanged:0}],pinnedTopSource:[{dataSourceChanged:0}],disableVirtualY:[{disableVirtualYChanged:0}],rowDefinitions:[{rowDefChanged:0}],trimmedRows:[{trimmedRowsChanged:0}],grouping:[{groupingChanged:0}],stretch:[{applyStretch:0}],filter:[{applyFilter:0}],sorting:[{applySorting:0}],rowHeaders:[{rowHeadersChange:0}],registerVNode:[{registerOutsideVNodes:0}],additionalData:[{additionalDataChanged:0}],rtl:[{rtlChanged:0}],plugins:[{pluginsChanged:0}]}]),dr=lr,hr=function(){"undefined"!=typeof customElements&&["revo-grid","revogr-attribution","revogr-clipboard","revogr-data","revogr-edit","revogr-extra","revogr-focus","revogr-header","revogr-order-editor","revogr-overlay-selection","revogr-row-headers","revogr-scroll-virtual","revogr-temp-range","revogr-viewport-scroll","vnode-html"].forEach((e=>{switch(e){case"revo-grid":customElements.get(s(e))||customElements.define(s(e),lr);break;case"revogr-attribution":customElements.get(s(e))||je();break;case"revogr-clipboard":customElements.get(s(e))||Re();break;case"revogr-data":customElements.get(s(e))||Oe();break;case"revogr-edit":customElements.get(s(e))||Ee();break;case"revogr-extra":customElements.get(s(e))||ke();break;case"revogr-focus":customElements.get(s(e))||ze();break;case"revogr-header":customElements.get(s(e))||ye();break;case"revogr-order-editor":customElements.get(s(e))||Le();break;case"revogr-overlay-selection":customElements.get(s(e))||He();break;case"revogr-row-headers":customElements.get(s(e))||ae();break;case"revogr-scroll-virtual":customElements.get(s(e))||Te();break;case"revogr-temp-range":customElements.get(s(e))||Pe();break;case"revogr-viewport-scroll":customElements.get(s(e))||we();break;case"vnode-html":customElements.get(s(e))||Ie()}}))};export{We as A,Xe as B,Wt as C,Ue as D,tt as E,pt as F,qt as G,dr as RevoGrid,qe as S,Je as a,Qe as b,ft as c,mt as d,hr as defineCustomElement,bt as e,gt as f,Ae as g,ut as h,Ke as i,vt as j,At as k,$t as l,Jt as m,Vt as n,Nt as o,Ft as p,Mt as q,Bt as r,Dt as s}
4
+ import{h as e,proxyCustomElement as t,HTMLElement as r,createEvent as i,Host as o,transformTag as s}from"@stencil/core/internal/client";import{J as n,g as a,K as l,C as d,c as h,L as c,u as g,t as u,r as v,B as p,A as f,I as m,h as b,x as w,y as x,G as C,e as y,d as S,o as j,p as R,f as O,s as E,m as k,v as z,q as L,E as H,i as T,D as P,a as I,n as D,F as N}from"./column.service.js";import{j as F,i as M,k as B,l as V,b as A,m as $,n as U,o as q,q as X,g as G,e as Y,D as W,f as J,d as K,s as Z,a as _,h as Q}from"./data.store.js";import{d as ee}from"./debounce.js";import{R as te}from"./consts.js";import{c as re,g as ie,a as oe}from"./dimension.helpers.js";import"./platform.js";import{f as se,V as ne,h as ae}from"./revogr-row-headers2.js";import{g as le,t as de}from"./index2.js";import{b as he,i as ce}from"./filter.button.js";import{i as ge,b as ue}from"./toNumber.js";import{v as ve,F as pe,C as fe,H as me,D as be,d as we}from"./revogr-viewport-scroll2.js";import{O as xe,d as Ce,b as ye}from"./revogr-header2.js";import{g as Se}from"./selection.utils.js";import{d as je}from"./revogr-attribution2.js";import{d as Re}from"./revogr-clipboard2.js";import{d as Oe}from"./revogr-data2.js";import{n as Ee}from"./revogr-edit2.js";import{d as ke}from"./revogr-extra2.js";import{d as ze}from"./revogr-focus2.js";import{d as Le}from"./revogr-order-editor2.js";import{d as He}from"./revogr-overlay-selection2.js";import{d as Te}from"./revogr-scroll-virtual2.js";import{d as Pe}from"./revogr-temp-range2.js";import{d as Ie}from"./vnode-converter.js";class De{constructor(){this.defaultRowSize=32}}class Ne{constructor(){this.defaultRowSize=27}}class Fe{constructor(){this.defaultRowSize=42}}const Me="default",Be=[Me,"material","compact","darkMaterial","darkCompact"];class Ve{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(e){this.customRowSize=e}constructor(e){this.customRowSize=0,this.customRowSize=e.rowSize,this.register("default")}register(e){switch(Ae(e)){case"material":case"darkMaterial":this.currentTheme=new Fe;break;case"compact":case"darkCompact":this.currentTheme=new De;break;default:this.currentTheme=new Ne}}}function Ae(e){return e&&Be.indexOf(e)>-1?e:Me}function $e(){return Object.assign(Object.assign({},{indexes:[],count:0,trimmed:null,sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}),{realSize:0,originItemSize:0})}class Ue{constructor(e){this.type=e,this.store=F($e()),this.store.use((e=>{let t=null,r=null;return{set(i,o){switch(i){case"sizes":if(t&&t===o)return void(t=null);r=null;break;case"trimmed":{const i=o;r||(r=e.store.get("sizes")),t=function(e,t){const r={},i=Object.keys(e||{}).map(Number).sort(((e,t)=>e-t)),o=i[i.length-1];let s=0;for(let i=0;i<=o;i++)void 0!==t[i]&&(s++,void 0!==e[i])||void 0!==e[i]&&(r[i-s]=e[i]);return r}(r,i||{}),e.setSizes(t);break}}}}})({store:this.store,setSizes:this.setDimensionSize.bind(this)})),this.store.use((e=>({set(t){var r;switch(t){case"count":case"sizes":case"originItemSize":{let t=0;const i=e.store.get("count"),o=e.store.get("sizes"),s=e.store.get("originItemSize");for(let e=0;e<i;e++)t+=null!==(r=o[e])&&void 0!==r?r:s;e.setStore({realSize:t});break}}}}))({store:this.store,setStore:this.setStore.bind(this)}))}getCurrentState(){const e=$e();return n(Object.keys(e),((e,t)=>{const r=this.store.get(t);return e[t]=r,e}),e)}dispose(){M(this.store,$e())}setStore(e){M(this.store,e)}drop(){M(this.store,{indexes:[],count:0,trimmed:null,sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]})}setDimensionSize(e={}){const t=re(this.store.get("originItemSize"),e);M(this.store,Object.assign(Object.assign({},t),{sizes:e}))}updateSizesPositionByIndexes(e,t=[]){const r=Object.assign({},this.store.get("sizes"));if(!Object.keys(r).length)return;const i={};t.forEach(((e,t)=>{i[e]||(i[e]=[]),i[e].push(t)}));const o={};e.forEach(((e,t)=>{const s=i[e];if(s&&s.length>0){const e=s.shift();void 0!==e&&e!==t&&"number"==typeof r[e]&&(o[t]=r[e],delete r[e])}})),Object.keys(o).length&&this.setDimensionSize(Object.assign(Object.assign({},r),o))}}class qe{constructor(){this.unsubscribe=[],this.store=F({range:null,tempRange:null,tempRangeType:null,focus:null,edit:null,lastCell:null,nextFocus:null}),this.store.on("set",((e,t)=>{"tempRange"!==e||t||this.store.set("tempRangeType",null)}))}onChange(e,t){this.unsubscribe.push(this.store.onChange(e,t))}clearFocus(){M(this.store,{focus:null,range:null,edit:null,tempRange:null})}setFocus(e,t){M(this.store,t?{focus:e,range:a(e,t),edit:null,tempRange:null}:{focus:e})}setNextFocus(e){M(this.store,{nextFocus:e})}setTempArea(e){M(this.store,{tempRange:null==e?void 0:e.area,tempRangeType:null==e?void 0:e.type,edit:null})}clearTemp(){M(this.store,{tempRange:null})}setRangeArea(e){M(this.store,{range:e,edit:null,tempRange:null})}setRange(e,t){const r=a(e,t);this.setRangeArea(r)}setLastCell(e){M(this.store,{lastCell:e})}setEdit(e){const t=this.store.get("focus");M(this.store,t&&"string"==typeof e?{edit:{x:t.x,y:t.y,val:e}}:{edit:null})}dispose(){this.unsubscribe.forEach((e=>e())),this.store.dispose()}}class Xe{constructor(t,r){this.revogrid=t,this.providers=r,this.h=e,this.subscriptions={}}addEventListener(e,t){this.revogrid.addEventListener(e,t),this.subscriptions[e]=t}watch(e,t,{immediate:r}={immediate:!1}){var i;const o=Object.getOwnPropertyDescriptor(this.revogrid,e)||Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype,e);Object.defineProperty(this.revogrid,e,{configurable:!0,enumerable:null===(i=null==o?void 0:o.enumerable)||void 0===i||i,set(e){var r;if(!1!==t(e))return null===(r=null==o?void 0:o.set)||void 0===r?void 0:r.call(this,e)},get(){var e;return null===(e=null==o?void 0:o.get)||void 0===e?void 0:e.call(this)}}),r&&t(null==o?void 0:o.value)}removeEventListener(e){this.revogrid.removeEventListener(e,this.subscriptions[e]),delete this.subscriptions[e]}emit(e,t){const r=new CustomEvent(e,{detail:t,cancelable:!0});return this.revogrid.dispatchEvent(r),r}clearSubscriptions(){for(let e in this.subscriptions)this.removeEventListener(e)}destroy(){this.clearSubscriptions()}}function Ge(e,t){for(var r=-1,i=null==e?0:e.length;++r<i&&!1!==t(e[r],r,e););return e}function Ye(e,t){return(V(e)?Ge:l)(e,function(e){return"function"==typeof e?e:B}(t))}var We;!function(e){e.headerClickAutosize="headerClickAutoSize",e.autoSizeOnTextOverlap="autoSizeOnTextOverlap",e.autoSizeAll="autoSizeAll"}(We||(We={}));class Je extends Xe{constructor(e,t,r){super(e,t),this.providers=t,this.config=r,this.autoSizeColumns=null,this.dataResolve=null,this.dataReject=null,this.letterBlockSize=(null==r?void 0:r.letterBlockSize)||7,(null==r?void 0:r.preciseSize)&&(this.precsizeCalculationArea=this.initiatePresizeElement(),e.appendChild(this.precsizeCalculationArea));const i=({detail:{source:e}})=>{this.setSource(e)};switch(this.addEventListener("beforecolumnsset",(({detail:{columns:e}})=>{this.columnSet(e)})),null==r?void 0:r.mode){case We.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i),this.addEventListener("afteredit",(({detail:e})=>{this.afteredit(e)}));break;case We.autoSizeAll:this.addEventListener("aftersourceset",i),this.addEventListener("afteredit",(({detail:e})=>{this.afterEditAll(e)}));break;default:this.addEventListener("headerdblclick",(({detail:e})=>{const t=d(e.column),r=this.getColumnSize(e.index,t);r&&this.providers.dimension.setCustomSizes(t,{[e.index]:r},!0)}))}}async setSource(e){let t=this.autoSizeColumns;if(this.dataReject&&(this.dataReject(),this.clearPromise()),!t){const e=new Promise(((e,t)=>{this.dataResolve=e,this.dataReject=t}));try{t=await e}catch(e){return}}Ye(t,((r,i)=>{const o={};Ye(t[i],(t=>{t.size=o[t.index]=e.reduce(((e,r)=>Math.max(e,this.getLength(r[t.prop]))),this.getLength(t.name||""))})),this.providers.dimension.setCustomSizes(i,o,!0)}))}getLength(e){var t;if(!e)return 0;try{const r=""+e;return(null===(t=this.config)||void 0===t?void 0:t.preciseSize)?(this.precsizeCalculationArea.innerText=r,this.precsizeCalculationArea.scrollWidth+30):r.length*this.letterBlockSize+30}catch(e){return 0}}afteredit(e){let t;t=this.isRangeEdit(e)?e.data:{0:{[e.prop]:e.val}},Ye(this.autoSizeColumns,((e,r)=>{const i={};Ye(e,(e=>{var r;const o=n(t,((t,r)=>void 0===r[e.prop]?t:Math.max(t||0,this.getLength(r[e.prop]))),void 0);o&&(null!==(r=e.size)&&void 0!==r?r:0)<o&&(e.size=i[e.index]=o)})),this.providers.dimension.setCustomSizes(r,i,!0)}))}afterEditAll(e){const t={};this.isRangeEdit(e)?Ye(e.data,(e=>Ye(e,((e,r)=>t[r]=!0)))):t[e.prop]=!0,Ye(this.autoSizeColumns,((e,r)=>{const i={};Ye(e,(e=>{if(t[e.prop]){const t=this.getColumnSize(e.index,r);t&&(i[e.index]=t)}})),this.providers.dimension.setCustomSizes(r,i,!0)}))}getColumnSize(e,t){var r,i;const o=null===(i=null===(r=this.autoSizeColumns)||void 0===r?void 0:r[t])||void 0===i?void 0:i[e];return o?n(this.providers.data.stores,((e,t)=>{const r=n(t.store.get("items"),((e,r,i)=>{const s=A(t.store,i);return Math.max(e||0,this.getLength(null==s?void 0:s[o.prop]))}),0);return Math.max(e,r)}),o.size||0):0}columnSet(e){var t;for(let r of h){const i=r,o=e[i];for(let e in o)(o[e].autoSize||(null===(t=this.config)||void 0===t?void 0:t.allColumns))&&(this.autoSizeColumns||(this.autoSizeColumns={}),this.autoSizeColumns[i]||(this.autoSizeColumns[i]={}),this.autoSizeColumns[i][e]=Object.assign(Object.assign({},o[e]),{index:parseInt(e,10)}))}this.dataResolve&&(this.dataResolve(this.autoSizeColumns||{}),this.clearPromise())}clearPromise(){this.dataResolve=null,this.dataReject=null}isRangeEdit(e){return!!e.data}initiatePresizeElement(){var e;const t={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll",display:"block"},r=document.createElement("div");for(let i in t)r.style[i]=null!==(e=t[i])&&void 0!==e?e:"";return r.classList.add("revo-test-container"),r}destroy(){var e;super.destroy(),null===(e=this.precsizeCalculationArea)||void 0===e||e.remove()}}class Ke extends Xe{constructor(e,t){super(e,t),this.providers=t,this.stretchedColumn=null,this.scrollSize=le(document),this.addEventListener("beforecolumnapplied",(({detail:{columns:e}})=>this.applyStretch(e)))}setScroll({type:e,hasScroll:t}){var r;"rgRow"===e&&this.stretchedColumn&&(null===(r=this.stretchedColumn)||void 0===r?void 0:r.initialSize)===this.stretchedColumn.size&&t&&(this.stretchedColumn.size-=this.scrollSize,this.apply(),this.dropChanges())}activateChanges(){this.addEventListener("scrollchange",(({detail:e})=>this.setScroll(e)))}dropChanges(){this.stretchedColumn=null,this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn)return;const e="rgCol",t=this.providers.dimension.stores[e].store.get("sizes");this.providers.dimension.setCustomSizes(e,Object.assign(Object.assign({},t),{[this.stretchedColumn.index]:this.stretchedColumn.size}),!0)}applyStretch(e){this.dropChanges();let t=this.revogrid.clientWidth-1;if(Ye(e,((e,r)=>{const i=this.providers.dimension.stores[r].store.get("realSize");t-=i})),this.revogrid.rowHeaders){const e=this.providers.data.stores.rgRow.store.get("source").length,r=this.revogrid.rowHeaders,i=se(e,"object"==typeof r?r:void 0);i&&(t-=i)}if(t>0){const r=e.rgCol.length-1,i=e.rgCol[r],o=(null==i?void 0:i.size)||this.revogrid.colSize||0,s=t+o-1;i&&!i.autoSize&&o<s&&(this.stretchedColumn={initialSize:s,index:r,size:s},this.apply(),this.activateChanges())}}}function Ze(e){return!!e.applyStretch}const _e={mime:"text/csv",fileKind:"csv",bom:!0,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""},Qe=RegExp('"',"g");class et{constructor(e={}){this.options=Object.assign(Object.assign({},_e),e)}doExport({data:e,headers:t,props:r}){let i=this.options.bom?"\ufeff":"";return(null==t?void 0:t.length)>0&&t.forEach((e=>{e.length&&(i+=this.prepareHeader(e,this.options.columnDelimiter),i+=this.options.rowDelimiter)})),e.forEach(((e,t)=>{t>0&&(i+=this.options.rowDelimiter),g(e)?i+=this.parseCell(u(e),this.options.columnDelimiter):i+=r.map((t=>this.parseCell(e[t],this.options.columnDelimiter))).join(this.options.columnDelimiter)})),i}prepareHeader(e,t){let r="";return r+=e.map((e=>this.parseCell(e,t,!0))).join(t),r}parseCell(e,t,r=!1){let i=e;return"string"!=typeof e&&(i=JSON.stringify(e)),void 0===i?"":""!==i&&(r||["\r",'"',"\n",t].some((e=>i.indexOf(e)>=0)))?`"${i.replace(Qe,'""')}"`:i}}var tt;!function(e){e.csv="csv"}(tt||(tt={}));class rt extends Xe{async exportString(e={},t=tt.csv){const r=await this.beforeexport();return r?this.formatter(t,e).doExport(r):null}async exportBlob(e={},t=tt.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=tt.csv){const r=this.formatter(t,e),i=window.URL||window.webkitURL,o=document.createElement("a"),{filename:s,fileKind:n}=r.options,a=`${s}.${n}`,l=await this.getBlob(r),d=l?i.createObjectURL(l):"";o.style.display="none",o.setAttribute("href",d),o.setAttribute("download",a),this.revogrid.appendChild(o),o.dispatchEvent(new MouseEvent("click")),this.revogrid.removeChild(o),await de(120),i.revokeObjectURL(d)}async getBlob(e){const t=`${e.options.mime};charset=${e.options.encoding}`;if("undefined"!=typeof Blob){const r=await this.beforeexport();return r?new Blob([e.doExport(r)],{type:t}):null}return null}async beforeexport(){let e=await this.getData();const t=this.emit("beforeexport",{data:e});return t.defaultPrevented?null:t.detail.data}async getData(){const e=await this.getSource(),t=[],r=[];h.forEach(((e,i)=>{r.push(this.getColPerSource(e).then((e=>t[i]=e)))})),await Promise.all(r);const i={headers:[],props:[]};for(let e of t)e.headers.forEach(((e,t)=>{i.headers[t]||(i.headers[t]=[]),i.headers[t].push(...e)})),i.props.push(...e.props);return Object.assign({data:e},i)}async getColPerSource(e){const t=await this.revogrid.getColumnStore(e),r=t.get("source"),i=t.get("items"),o=t.get("groupingDepth"),s=t.get("groups"),n=[],a=[];i.forEach((e=>{const t=r[e].prop;n.push(r[e].name||""),a.push(t)}));const l=this.getGroupHeaders(o,s,i);return l.push(n),{headers:l,props:a}}getGroupHeaders(e,t,r){const i=[],o=function(e){return null!=e&&e.length?function(e,t,r,i){var o=e.length;for((r=c(r))<0&&(r=-r>o?0:o+r),(i=void 0===i||i>o?o:c(i))<0&&(i+=o),i=r>i?0:function(e){return e?function(e,t,r){return e==e&&(e=(e=e<=r?e:r)>=0?e:0),e}(c(e),0,4294967295):0}(i);r<i;)e[r++]=t;return e}(e,"",void 0,void 0):[]}(Array(r.length));for(let r=0;r<e;r++){const e=[...o];(i.push(e),t[r])&&t[r].forEach((t=>{const r=t.indexes[0];"number"==typeof r&&(e[r]=t.name)}))}return i}async getSource(){const e=[],t=[];return v.forEach((r=>{const i=[];e.push(i);const o=this.revogrid.getVisibleSource(r).then((e=>i.push(...e)));t.push(o)})),await Promise.all(t),e.reduce(((e,t)=>(e.push(...t),e)),[])}formatter(e,t={}){if(e===tt.csv)return new et(t);throw Error("Unknown format")}}const it=(e,t)=>{if(void 0===e||null===e&&!t)return!0;"string"!=typeof e&&(e=JSON.stringify(e));const r=null==t?void 0:(""+t).toLocaleLowerCase();return 0===(null==r?void 0:r.length)||e.toLocaleLowerCase()===r},ot=(e,t)=>!it(e,t);ot.extra="input",it.extra="input";const st=function(e,t){let r;return"number"==typeof e&&null!=t&&(r=parseFloat(null==t?void 0:""+t),e>r)};st.extra="input";const nt=function(e,t){return it(e,t)||st(e,t)};nt.extra="input";const at=function(e,t){let r;return"number"==typeof e&&null!=t&&(r=parseFloat(""+t),e<r)};at.extra="input";const lt=function(e,t){return it(e,t)||at(e,t)};lt.extra="input";const dt=e=>!(""===e||null==e),ht=(e,t)=>!(!e||t&&("string"!=typeof e&&(e=JSON.stringify(e)),"string"!=typeof t&&(t=JSON.stringify(t)),0!==e.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())));ht.extra="input";const ct=(e,t)=>!t||!!e&&(!t||("string"!=typeof e&&(e=JSON.stringify(e)),e.toLocaleLowerCase().indexOf((""+t).toLowerCase())>-1)),gt=(e,t)=>!ct(e,t);gt.extra="input",ct.extra="input";const ut={none:()=>!0,empty:e=>!dt(e),notEmpty:dt,eq:it,notEq:ot,begins:ht,contains:ct,notContains:gt,eqN:it,neqN:ot,gt:st,gte:nt,lt:at,lte:lt},vt={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]},pt={none:"None",empty:"Not set",notEmpty:"Set",eq:"Equal",notEq:"Not equal",begins:"Begins with",contains:"Contains",notContains:"Does not contain",eqN:"=",neqN:"!=",gt:">",gte:">=",lt:"<",lte:"<="},ft="filter",mt="filterconfigchanged",bt="revogr-filter-panel";class wt extends Xe{constructor(t,r,i){var o;super(t,r),this.revogrid=t,this.config=i,this.filterCollection={},this.multiFilterItems={},this.filterByType=Object.assign({},vt),this.filterNameIndexByType=Object.assign({},pt),this.filterFunctionsIndexedByType=Object.assign({},ut),this.filterProp=he,i&&this.initConfig(i);const s=this.revogrid.registerVNode.filter((e=>"object"==typeof e&&e.t!==bt));this.revogrid.registerVNode=[...s,e("revogr-filter-panel",{filterNames:this.filterNameIndexByType,filterEntities:this.filterFunctionsIndexedByType,filterCaptions:null===(o=null==i?void 0:i.localization)||void 0===o?void 0:o.captions,onFilterChange:e=>this.onFilterChange(e.detail),onResetChange:e=>this.onFilterReset(e.detail),disableDynamicFiltering:null==i?void 0:i.disableDynamicFiltering,closeOnOutsideClick:null==i?void 0:i.closeFilterPanelOnOutsideClick,ref:e=>this.pop=e}," ",this.extraContent())];const n=async()=>{const e=Object.keys(this.filterCollection);e.length>0&&e.forEach(((e,t)=>{this.multiFilterItems[e]||(this.multiFilterItems[e]=[{id:t,type:this.filterCollection[e].type,value:this.filterCollection[e].value,relation:"and"}])})),0!==Object.keys(this.multiFilterItems).length&&await this.runFiltering(this.multiFilterItems)};this.addEventListener("headerclick",(e=>this.headerclick(e))),this.addEventListener(mt,(({detail:e})=>{e&&("object"!=typeof e||e.multiFilterItems&&Object.keys(e.multiFilterItems).length)?("object"==typeof e&&this.initConfig(e),n()):this.clearFiltering()})),this.addEventListener("aftersourceset",n),this.addEventListener("filter",(({detail:e})=>this.onFilterChange(e)))}beforeshow(e){}extraContent(){return null}initConfig(e){if(this.multiFilterItems=e.multiFilterItems?Object.assign({},e.multiFilterItems):{},e.customFilters)for(let t in e.customFilters){const r=e.customFilters[t];this.filterByType[r.columnFilterType]||(this.filterByType[r.columnFilterType]=[]),this.filterByType[r.columnFilterType].push(t),this.filterFunctionsIndexedByType[t]=r.func,this.filterNameIndexByType[t]=r.name}e.filterProp&&(this.filterProp=e.filterProp);const t=e.include;if(t){const e={};for(let r in this.filterByType){const i=this.filterByType[r].filter((e=>t.indexOf(e)>-1));i.length&&(e[r]=i)}Object.keys(e).length>0&&(this.filterByType=e)}if(e.collection){const t=Object.entries(e.collection).filter((([,e])=>this.filterFunctionsIndexedByType[e.type]));this.filterCollection=Object.fromEntries(t)}else this.filterCollection={};e.localization&&e.localization.filterNames&&Object.entries(e.localization.filterNames).forEach((([e,t])=>{null!=this.filterNameIndexByType[e]&&(this.filterNameIndexByType[e]=t)}))}async headerclick(e){var t,r;const i=null===(t=e.detail.originalEvent)||void 0===t?void 0:t.target;if(!ce(i))return;if(e.preventDefault(),!this.pop)return;const o=this.revogrid.getBoundingClientRect(),s=i.getBoundingClientRect(),n=e.detail.prop,a=Object.assign(Object.assign(Object.assign({},e.detail),this.filterCollection[n]),{x:s.x-o.x,y:s.y-o.y+s.height,autoCorrect:!0,filterTypes:this.getColumnFilter(e.detail.filter),filterItems:this.multiFilterItems,extraContent:this.extraHyperContent});null===(r=this.beforeshow)||void 0===r||r.call(this,a),this.pop.show(a)}getColumnFilter(e){let t="string";if(!e)return{[t]:this.filterByType[t]};if(this.isValidType(e))t=e;else if("object"==typeof e&&e.length)return e.reduce(((e,t)=>(this.isValidType(t)&&(e[t]=this.filterByType[t]),e)),{});return{[t]:this.filterByType[t]}}isValidType(e){return!("string"!=typeof e||!this.filterByType[e])}async onFilterChange(e){this.multiFilterItems=e,this.runFiltering(this.multiFilterItems)}onFilterReset(e){delete this.multiFilterItems[null!=e?e:""],this.onFilterChange(this.multiFilterItems)}async doFiltering(e,t,r,i){const o=[],s={};r.forEach((e=>{const t=Object.assign({},e),r=i[t.prop];s[t.prop]=t,t[this.filterProp]&&!r&&(delete t[this.filterProp],o.push(t)),!t[this.filterProp]&&r&&(o.push(t),t[this.filterProp]=!0)}));const n=this.getRowFilter(t,i,s),{defaultPrevented:a,detail:l}=this.emit("beforefiltertrimmed",{collection:e,itemsToFilter:n,source:t,filterItems:i});a||(this.providers.data.setTrimmed({[ft]:l.itemsToFilter}),this.providers.column.updateColumns(o),this.emit("afterfilterapply",{multiFilterItems:i,source:t,collection:e}))}async clearFiltering(){this.multiFilterItems={},await this.runFiltering(this.multiFilterItems)}async runFiltering(e){const t={},r=Object.keys(e);for(const i of r)if(e[i].length>0){const r=e[i][0];t[i]={type:r.type,value:r.value}}this.filterCollection=t;const i=this.providers.column.getColumns(),o=this.providers.data.stores.rgRow.store.get("source"),{defaultPrevented:s,detail:n}=this.emit("beforefilterapply",{collection:this.filterCollection,source:o,columns:i,filterItems:this.multiFilterItems});s||this.doFiltering(n.collection,n.source,n.columns,n.filterItems)}getRowFilter(e,t,r){const i=Object.keys(t),o={};for(let s=0;s<e.length;s++)for(const n of i)this.shouldTrimRow(t[n],n,r[n],e[s])&&(o[s]=!0);return o}shouldTrimRow(e,t,r,i={}){let o=0,s=[];for(const[n,a]of e.entries()){const l=this.filterFunctionsIndexedByType[a.type],d=r?p(i,r):i[t];if("or"===a.relation){if(s=[],l(d,a.value))continue;o++}else if(s.push(!l(d,a.value)),xt(n,e)){if(Ct(s)){s=[];continue}o+=s.length,s=[]}}return o===e.length}}function xt(e,t){const r=t[e+1];return!r||!!r.relation&&"and"!==r.relation}function Ct(e){return!e.includes(!0)}var yt=$("length"),St=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),jt="\\ud800-\\udfff",Rt="["+jt+"]",Ot="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Et="\\ud83c[\\udffb-\\udfff]",kt="[^"+jt+"]",zt="(?:\\ud83c[\\udde6-\\uddff]){2}",Lt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ht="(?:"+Ot+"|"+Et+")?",Tt="[\\ufe0e\\ufe0f]?",Pt=Tt+Ht+"(?:\\u200d(?:"+[kt,zt,Lt].join("|")+")"+Tt+Ht+")*",It=RegExp(Et+"(?="+Et+")|(?:"+[kt+Ot+"?",Ot,zt,Lt,Rt].join("|")+")"+Pt,"g");function Dt(e){if(null==e)return 0;if(U(e))return function(e){return"string"==typeof e||!V(e)&&ge(e)&&"[object String]"==ue(e)}(e)?function(e){return function(e){return St.test(e)}(e)?function(e){for(var t=It.lastIndex=0;It.test(e);)++t;return t}(e):yt(e)}(e):e.length;var t=q(e);return"[object Map]"==t||"[object Set]"==t?e.size:X(e).length}function Nt(e,t,r={}){return 0===Object.entries(r).length?[...Array(e.length).keys()]:e.sort(((e,i)=>{const o=t[e],s=t[i];for(const[e,t]of Object.entries(r)){if(g(o)&&o["__rvgr-prop"]!==e)return 0;if(g(s)&&s["__rvgr-prop"]!==e)return 0;const r=null==t?void 0:t(e,o,s);if(r)return r}return 0}))}function Ft(e,t,r){const i=this.column?f(t,this.column):null==t?void 0:t[e],o=this.column?f(r,this.column):null==r?void 0:r[e],s="number"==typeof i?i:null==i?void 0:(""+i).toLowerCase(),n="number"==typeof o?o:null==o?void 0:(""+o).toLowerCase();return s===n?0:s>n?1:-1}function Mt(e){return(t,r,i)=>-1*e(t,r,i)}function Bt(e){switch(e){case void 0:return"asc";case"asc":return"desc";case"desc":return}}function Vt(e,t){var r;const i=(null===(r=null==e?void 0:e.cellCompare)||void 0===r?void 0:r.bind({order:t}))||(null==Ft?void 0:Ft.bind({column:e,order:t}));return"asc"==t?i:"desc"==t?Mt(i):void 0}class At extends Xe{constructor(e,t,r){super(e,t),this.revogrid=e,this.sortingPromise=null,this.postponeSort=ee(((e,t,r)=>this.runSorting(e,t,r)),50);const i=e=>{var t;if(e){const r={},i={};null===(t=e.columns)||void 0===t||t.forEach((e=>{r[e.prop]=Vt(e,e.order),i[e.prop]=e.order})),e.additive?(this.sorting=Object.assign(Object.assign({},this.sorting),i),this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r)):(this.sorting=i,this.sortingFunc=r)}};i(r),this.addEventListener("sortingconfigchanged",(({detail:e})=>{r=e,i(e),this.startSorting(this.sorting,this.sortingFunc)})),this.addEventListener("beforeheaderrender",(({detail:e})=>{var t;const{data:r}=e;r.sortable&&(e.data=Object.assign(Object.assign({},r),{order:null===(t=this.sorting)||void 0===t?void 0:t[r.prop]}))})),this.addEventListener("beforeanysource",(({detail:{type:e}})=>{if(this.sorting&&this.sortingFunc){if(this.emit("beforesourcesortingapply",{type:e,sorting:this.sorting}).defaultPrevented)return;this.startSorting(this.sorting,this.sortingFunc)}})),this.addEventListener("aftercolumnsset",(({detail:{order:e}})=>{if(r)return;const t=this.providers.column.getColumns(),i={};for(let r in e){const o=Vt(m(t,r),e[r]);i[r]=o}this.sorting=e,this.sortingFunc=e&&i})),this.addEventListener("beforeheaderclick",(e=>{var t,r,i,o;e.defaultPrevented||(null===(r=null===(t=e.detail)||void 0===t?void 0:t.column)||void 0===r?void 0:r.sortable)&&this.headerclick(e.detail.column,null===(o=null===(i=e.detail)||void 0===i?void 0:i.originalEvent)||void 0===o?void 0:o.shiftKey)}))}startSorting(e,t,r){this.sortingPromise||this.revogrid.jobsBeforeRender.push(new Promise((e=>{this.sortingPromise=e}))),this.postponeSort(e,t,r)}headerclick(e,t){var r,i,o;const s=e.prop;let n=Bt(null===(r=this.sorting)||void 0===r?void 0:r[s]);const a=this.emit("beforesorting",{column:e,order:n,additive:t});if(a.defaultPrevented)return;n=a.detail.order;const l=this.emit("beforesortingapply",{column:a.detail.column,order:n,additive:t});if(l.defaultPrevented)return;const d=Vt(l.detail.column,l.detail.order);if(l.detail.additive&&this.sorting){const e={},t={};s in e&&Dt(e)>1&&void 0===n?(delete e[s],delete t[s]):(e[s]=n,t[s]=d),this.sorting=Object.assign(Object.assign({},this.sorting),e),this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),t)}else n?(this.sorting={[s]:n},this.sortingFunc={[s]:d}):(null===(i=this.sorting)||void 0===i||delete i[s],null===(o=this.sortingFunc)||void 0===o||delete o[s]);this.startSorting(this.sorting,this.sortingFunc)}runSorting(e,t,r){var i;this.sort(e,t,void 0,r),null===(i=this.sortingPromise)||void 0===i||i.call(this),this.sortingPromise=null}sort(e,t,r=v,i=!1){if(Object.keys(e||{}).length)for(let e of r){const r=this.providers.data.stores[e],o=r.store.get("source"),s=Nt([...r.store.get("proxyItems")],o,t),n=r.store.get("items");r.setData({proxyItems:s,source:[...o]});const a=r.store.get("items");i||this.providers.dimension.updateSizesPositionByNewDataIndexes(e,a,n)}else for(let e of r){const t=this.providers.data.stores[e],r=t.store.get("source"),i=t.store.get("proxyItems"),o=Array.from({length:r.length},((e,t)=>t));this.providers.dimension.updateSizesPositionByNewDataIndexes(e,o,i),t.setData({proxyItems:o,source:[...r]})}h.forEach((e=>{this.providers.column.dataSources[e].refresh()})),this.emit("aftersortingapply")}}function $t(e,t){const r=t[e],i=r[y],o={};let s=e+1;const n=t.length;for(;s<n;){const e=t[s];if(g(e)){const t=e[y];if(!t.length||!t.startsWith(i+","))break;e[b]=!1}o[s++]=!0}return r[b]=!1,{trimmed:o}}function Ut(e,t,r){const i=r[e],o=t[i],s=w(o[S]),n={};if(!s)return{trimmed:n};const a=[];o[b]=!0;let l=i+1;const d=t.length;let h=0;for(;l<d;){const e=t[l],r=g(e);if(r){if(!x(s,o,e))break;h||(h=e[C])}(!h||r&&h===e[C])&&(n[l]=!1,a.push(l)),l++}const c={trimmed:n};if(a.length){const t=[...r];t.splice(e+1,0,...a),c.items=t}return c}const qt="grouping";class Xt extends Xe{getStore(e=j){return this.providers.data.stores[e].store}constructor(e,t){super(e,t)}onFocus(e){g(e.detail.model)&&e.preventDefault()}onExpand({virtualIndex:e}){const{source:t}=R(this.getStore().get("source"),this.getStore().get("proxyItems"));let r=this.getStore().get("trimmed")[qt],i=G(this.getStore(),e);if(L(t[i])){const{trimmed:e}=$t(i,t);r=Object.assign(Object.assign({},r),e),this.revogrid.clearFocus()}else{const{trimmed:i,items:o}=Ut(e,t,this.getStore().get("items"));r=Object.assign(Object.assign({},r),i),o&&Y(this.getStore(),o)}this.getStore().set("source",t),this.revogrid.addTrimmed(r,qt)}setColumnGrouping(e){return!!(null==e?void 0:e.length)&&(e[0][O]=!0,!0)}setColumns({columns:e}){for(let t of h)if(this.setColumnGrouping(e[t]))break}onDrag(e){const{from:t,to:r}=e.detail,i=r-t>=0,{source:o}=R(this.getStore().get("source"),this.getStore().get("proxyItems")),s=this.getStore().get("items");let n=i?t:r;const a=i?r:t;for(;n<a;n++)if(g(o[s[n]]))return void e.preventDefault()}beforeTrimmedApply(e,t){if(t===ft){const t=this.getStore().get("source");for(let r in e)e[r]&&g(t[r])&&(e[r]=!1)}}isSortingRunning(){const e=this.providers.plugins.getByClass(At);return!!(null==e?void 0:e.sortingPromise)}doSourceUpdate(e){var t;const r=this.getStore(),{source:i,prevExpanded:o,oldNewIndexes:s}=R(r.get("source"),r.get("proxyItems"),!0),n=Object.assign({prevExpanded:o},e),{sourceWithGroups:a,depth:l,trimmed:d,oldNewIndexMap:h}=E(i,(null===(t=this.options)||void 0===t?void 0:t.props)||[],n);this.providers.data.setData(a,j,this.revogrid.disableVirtualY,{depth:l,customRenderer:null==e?void 0:e.groupLabelTemplate},!0),this.updateTrimmed(d,null!=s?s:{},h)}onDataSet(e){var t,r;let i={};if(!1!==(null===(t=this.options)||void 0===t?void 0:t.preserveGroupingOnUpdate)){let{prevExpanded:e}=R(this.getStore().get("source"),this.getStore().get("proxyItems"),!0);i=e}const o=e.source.filter((e=>!g(e))),s=Object.assign(Object.assign({},this.revogrid.grouping||{}),{prevExpanded:i}),{sourceWithGroups:n,depth:a,trimmed:l,oldNewIndexMap:d}=E(o,(null===(r=this.options)||void 0===r?void 0:r.props)||[],s);e.source=n,this.providers.data.setGrouping({depth:a}),this.updateTrimmed(l,d)}setGrouping(e){var t,r;if(this.clearSubscriptions(),this.options=e,!(null===(r=null===(t=this.options)||void 0===t?void 0:t.props)||void 0===r?void 0:r.length))return void this.clearGrouping();const i=this.getStore(),{source:o}=R(i.get("source"),i.get("proxyItems"));o.length&&this.doSourceUpdate(Object.assign({},e));for(let e of h)if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}this.addEventListener("beforesourceset",(({detail:e})=>{var t,r,i;(null===(r=null===(t=this.options)||void 0===t?void 0:t.props)||void 0===r?void 0:r.length)&&(null===(i=null==e?void 0:e.source)||void 0===i?void 0:i.length)&&(this.isSortingRunning()||this.onDataSet(e))})),this.addEventListener("beforecolumnsset",(({detail:e})=>{this.setColumns(e)})),this.addEventListener("beforetrimmed",(({detail:{trimmed:e,trimmedType:t}})=>this.beforeTrimmedApply(e,t))),this.addEventListener("aftersortingapply",(()=>{var e,t;(null===(t=null===(e=this.options)||void 0===e?void 0:e.props)||void 0===t?void 0:t.length)&&this.doSourceUpdate(Object.assign({},this.options))})),this.addEventListener("beforecellfocus",(e=>this.onFocus(e))),this.addEventListener("roworderchanged",(e=>this.onDrag(e))),this.addEventListener(k,(e=>this.onExpand(e.detail)))}clearGrouping(){h.forEach((e=>{const t=this.providers.column.getColumns(e);let r=!1;t.forEach((e=>{z(e)&&(delete e[O],r=!0)})),r&&this.providers.column.refreshByType(e)}));const{source:e,oldNewIndexes:t}=R(this.getStore().get("source"),this.getStore().get("proxyItems"),!0);this.providers.data.setData(e,j,this.revogrid.disableVirtualY,void 0,!0),this.updateTrimmed(void 0,void 0,t)}updateTrimmed(e={},t={},r){const i=function(e,t,r){const i={};for(let o in e){if(o===qt)continue;const s=e[o],n={};for(let e in s){let a=t[e];r&&(a=r[a]),s[e]&&(n[a]=!0,a!==parseInt(e,10)&&(i[o]=n))}}return i}(this.getStore().get("trimmed"),t,r);for(let e in i)this.revogrid.addTrimmed(i[e],e);this.revogrid.addTrimmed(Object.assign({},e),qt)}}const Gt="column-drag-start";class Yt{constructor(){this.offset=0}renderAutoscroll(e,t){t&&(this.autoscrollEl=document.createElement("div"),this.autoscrollEl.classList.add("drag-auto-scroll-y"),t.appendChild(this.autoscrollEl))}autoscroll(e,t,r="translateX"){this.autoscrollEl&&(this.autoscrollEl.style.transform=`${r}(${Math.min(e+10,t-3)}px)`,this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"}))}start(e,{dataEl:t,gridRect:r,scrollEl:i,gridEl:o},s="left"){o.classList.add(Gt);const n=i.getBoundingClientRect();n&&(this.offset=n[s]-r[s]),this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(Gt),this.element&&(this.element.hidden=!0),this.offset=0,null===(t=this.autoscrollEl)||void 0===t||t.remove(),this.autoscrollEl=void 0}showHandler(e,t,r="translateX"){this.element&&(this.offset&&(e=Math.max(e,this.offset)),this.element.style.transform=`${r}(${e=Math.min(e,t)}px)`,this.element.hidden=!1)}render(){const e=this.element=document.createElement("div");return e.classList.add("drag-position-y"),e.hidden=!0,e}}const Wt=xe;class Jt extends Xe{constructor(e,t){super(e,t),this.moveFunc=ee((e=>this.doMove(e)),5),this.staticDragData=null,this.dragData=null,this.localSubscriptions={},this.orderUi=new Yt,e.appendChild(this.orderUi.render()),e.classList.add("column-draggable"),this.localSubscriptions.mouseleave={target:document,callback:e=>this.onMouseOut(e)},this.localSubscriptions.mouseup={target:document,callback:e=>this.onMouseUp(e)},this.localSubscriptions.mousemove={target:document,callback:e=>this.move(e)},this.addEventListener(Wt,(({detail:e})=>this.dragStart(e)))}dragStart({event:e,data:t}){if(e.defaultPrevented)return;const{defaultPrevented:r}=Ce(this.revogrid,"columndragstart",t);if(r)return;this.clearOrder();const{mouseleave:i,mouseup:o,mousemove:s}=this.localSubscriptions;i.target.addEventListener("mouseleave",i.callback),o.target.addEventListener("mouseup",o.callback);const n=e.target.closest("revogr-header"),a=e.target.closest("revogr-viewport-scroll");if(!n||!a)return;if(H(t)||"rowHeaders"===t.providers.type)return;const l=this.getDimension(t.pin||"rgCol"),d=this.revogrid.getBoundingClientRect(),h=n.getBoundingClientRect(),c=ie(l,Kt(e.x,d.left,h.left-d.left));this.staticDragData={startPos:e.x,startItem:c,pin:t.pin,dataEl:n,scrollEl:a,gridEl:this.revogrid,cols:l},this.dragData=this.getData(this.staticDragData),s.target.addEventListener("mousemove",s.callback),this.orderUi.start(e,Object.assign(Object.assign({},this.dragData),this.staticDragData))}doMove(e){if(!this.staticDragData)return;const t=this.dragData=this.getData(this.staticDragData);if(t&&Math.abs(this.staticDragData.startPos-e.x)>10){const r=Kt(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset),i=ie(this.staticDragData.cols,r);if(this.orderUi.autoscroll(r,t.elRect.width),i.itemIndex>=this.staticDragData.cols.count)return;this.orderUi.showHandler(i.end+t.scrollOffset,t.gridRect.width)}}move(e){Ce(this.revogrid,"columndragmousemove",e),this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){if(this.dragData&&this.staticDragData){let t=Kt(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);t<0&&(t=0);const r=ie(this.staticDragData.cols,t),i=this.providers.column.stores[this.dragData.type].store,o=[...i.get("items")],{defaultPrevented:s}=Ce(this.revogrid,"beforecolumndragend",Object.assign(Object.assign({},this.staticDragData),{startPosition:this.staticDragData.startItem,newPosition:r,newItem:i.get("source")[o[this.staticDragData.startItem.itemIndex]]}));if(!s){const e=[...o],t=o.splice(this.staticDragData.startItem.itemIndex,1);o.splice(r.itemIndex,0,...t),i.set("items",o),this.providers.dimension.updateSizesPositionByNewDataIndexes(this.dragData.type,o,e)}Ce(this.revogrid,"columndragend",this.dragData)}this.clearOrder()}clearLocalSubscriptions(){Ye(this.localSubscriptions,(({target:e,callback:t},r)=>e.removeEventListener(r,t)))}clearOrder(){this.staticDragData=null,this.dragData=null,this.clearLocalSubscriptions(),this.orderUi.stop(this.revogrid)}clearSubscriptions(){super.clearSubscriptions(),this.clearLocalSubscriptions()}getData({gridEl:e,dataEl:t,pin:r}){const i=e.getBoundingClientRect(),o=t.getBoundingClientRect();return{elRect:o,gridRect:i,type:r||"rgCol",scrollOffset:o.left-i.left}}getDimension(e){return this.providers.dimension.stores[e].getCurrentState()}}function Kt(e,t,r){return e-t-r}class Zt{get stores(){return this.dataSources}constructor(){this.collection=null,this.dataSources=h.reduce(((e,t)=>(e[t]=new W(t),e)),{})}column(e,t="rgCol"){return this.getColumn(e,t)}getColumn(e,t){return A(this.dataSources[t].store,e)}getRawColumns(){return n(this.dataSources,((e,t,r)=>(e[r]=t.store.get("source"),e)),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){const t=this.getRawColumns();return"all"!==e?t[e]:h.reduce(((e,r)=>[...e,...t[r]]),[])}getColumnIndexByProp(e,t){return J(this.dataSources[t].store,e)}getColumnByProp(e){var t;return null===(t=this.collection)||void 0===t?void 0:t.columnByProp[e]}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){return h.forEach((t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce(((e,t)=>(e[t.level]||(e[t.level]=[]),e[t.level].push(t),e)),{})})})),this.collection=e,e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=d(t);return e[r]||(e[r]={}),e[r][t.prop]=t,e}),{}),r={};for(const e in t){if(!t.hasOwnProperty(e))continue;const i=e,o=t[i],s=this.dataSources[i].store.get("source");r[i]={};for(let e=0;e<s.length;e++){const t=null==o?void 0:o[s[e].prop];t&&(r[i][e]=t)}}for(const e in r)r.hasOwnProperty(e)&&K(this.dataSources[e].store,r[e]||{})}updateColumn(e,t){const r=d(e);Z(this.dataSources[r].store,{[t]:e})}}class _t{constructor(e){this.dimensionProvider=e,this.stores=n(v,((e,t)=>(e[t]=new W(t),e)),{})}setData(e,t="rgRow",r=!1,i,o=!1,s=!1){return this.stores[t].updateData([...e],i,o,s),this.dimensionProvider.setData(e.length,t,"rgRow"!==t||r),e}getModel(e,t="rgRow"){return A(this.stores[t].store,e)}changeOrder({rowType:e="rgRow",from:t,to:r}){const i=this.stores[e],o=[...i.store.get("proxyItems")],s=i.store.get("items"),n=o.splice(o.indexOf(s[t]),1);o.splice(o.indexOf(s[r]),0,...n),i.setData({proxyItems:o});const a=i.store.get("items");this.dimensionProvider.updateSizesPositionByNewDataIndexes(e,a,s)}setCellData({type:e,rowIndex:t,prop:r,val:i},o=!0){const s=this.getModel(t,e);s[r]=i,this.stores[e].setSourceData({[t]:s},o)}setRangeData(e,t){const r={};for(let i in e){const o=r[i]=A(this.stores[t].store,parseInt(i,10));if(o)for(let t in e[i])o[t]=e[i][t]}this.stores[t].setSourceData(r)}refresh(e="all"){T(e)&&this.refreshItems(e),v.forEach((e=>this.refreshItems(e)))}refreshItems(e="rgRow"){const t=this.stores[e].store.get("items");this.stores[e].setData({items:[...t]})}setGrouping({depth:e},t="rgRow"){this.stores[t].setData({groupingDepth:e})}setTrimmed(e,t="rgRow"){const r=this.stores[t];r.addTrimmed(e),this.dimensionProvider.setTrimmed(e,t),"rgRow"===t&&this.dimensionProvider.setData(_(r.store).length,t)}}class Qt{constructor(e,t){this.viewports=e;const r=ee((e=>t.realSizeChanged(e)),te);this.stores=n([...v,...h],((e,t)=>(e[t]=new Ue(t),e[t].store.onChange("realSize",(()=>r(t))),e)),{})}clearSize(e,t){this.stores[e].drop(),this.viewports.stores[e].setOriginalSizes(this.stores[e].store.get("originItemSize")),this.setItemCount(t,e)}setCustomSizes(e,t,r=!1){let i=t;if(r){const r=this.stores[e].store.get("sizes");i=Object.assign(Object.assign({},r),t)}this.stores[e].setDimensionSize(i),this.setViewPortCoordinate({type:e,force:!0})}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e}),this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=Q(e);this.stores[t].setStore({trimmed:r}),this.setViewPortCoordinate({type:t,force:!0})}setData(e,t,r=!1){if(this.setItemCount(e,t),r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.setViewPortCoordinate({type:t})}applyNewColumns(e,t,r=!1){for(let i of h){r||this.stores[i].drop();const o=e[i],s="rgCol"!==i||t;this.stores[i].setStore({count:o.length});const n=P(o);this.stores[i].setDimensionSize(n);const a={realCount:o.length};s&&(a.virtualSize=this.stores[i].getCurrentState().realSize),this.viewports.stores[i].setViewport(a),this.setViewPortCoordinate({type:i})}}getFullSize(){var e,t;let r=0,i=0;for(let t of h)r+=(null===(e=this.stores[t])||void 0===e?void 0:e.store.get("realSize"))||0;for(let e of v)i+=(null===(t=this.stores[e])||void 0===t?void 0:t.store.get("realSize"))||0;return{y:i,x:r}}setViewPortCoordinate({type:e,coordinate:t=this.viewports.stores[e].lastCoordinate,force:r=!1}){const i=this.stores[e].getCurrentState();this.viewports.stores[e].setViewPortCoordinate(t,i,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();return oe(t,e.coordinate).start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=h;break;case"rgRow":r=v}for(let t of r)this.stores[t].setStore(e)}updateSizesPositionByNewDataIndexes(e,t,r=[]){this.stores[e].updateSizesPositionByIndexes(t,r),this.setViewPortCoordinate({type:e,force:!0})}}class er{constructor(){this.stores=n([...v,...h],((e,t)=>(e[t]=new ne(t),e)),{})}setViewport(e,t){this.stores[e].setViewport(t)}}class tr{constructor(e,t){var r;this.config=e;const i=[];let o=0;h.forEach((r=>{const s=e.columnProvider.stores[r].store;if(!s.get("items").length)return;const n={colType:r,position:{x:o,y:1},contentHeight:t,fixWidth:"rgCol"!==r,viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,noHorizontalScrollTransfer:e.noHorizontalScrollTransfer,colStore:s,onHeaderresize:e=>this.onColumnResize(r,e,s)};"rgCol"===r&&(n.onResizeviewport=t=>{var r;const i={clientSize:t.detail.size};("rgRow"===t.detail.dimension&&!e.disableVirtualY||"rgCol"===t.detail.dimension&&!e.disableVirtualX)&&(i.virtualSize=t.detail.size),null===(r=e.viewportProvider)||void 0===r||r.setViewport(t.detail.dimension,i)});const a=function(e){const t=e.dimensions[e.colType].store,r=t.get("realSize"),i={contentWidth:r,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,noHorizontalScrollTransfer:e.noHorizontalScrollTransfer,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:r+"px"}:void 0},o={colData:_(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get("groups"),groupingDepth:e.colStore.get("groupingDepth"),resizeHandler:"colPinEnd"===e.colType?["l"]:void 0,onHeaderresize:e.onHeaderresize};return{prop:i,type:e.colType,position:e.position,headerProp:o,viewportCol:e.viewports[e.colType].store}}(n),l=this.registerCol(a.position.x,r),d=this.dataViewPort(n).reduce(((t,i)=>{const o=this.registerSegment(i.position,i.lastCell),s=this.registerRow(i.position.y,i.type),n=Object.assign(Object.assign({colType:r},i),{rowSelectionStore:s,selectionStore:o.store,onSetrange:e=>{o.setRangeArea(e.detail)},onSettemprange:e=>o.setTempArea(e.detail),onFocuscell:t=>{o.clearFocus(),e.selectionStoreConnector.focus(o,t.detail)}});return t.push(n),t}),[]);i.push(Object.assign(Object.assign({},a),{columnSelectionStore:l,dataPorts:d})),o++})),this.columns=i,null===(r=this.config.scrollingService)||void 0===r||r.unregister()}onColumnResize(e,{detail:t},r){var i;null===(i=this.config.dimensionProvider)||void 0===i||i.setCustomSizes(e,t,!0);const o={};for(const[e,i]of Object.entries(t||{})){const t=parseInt(e,10),s=A(r,t);s&&(o[t]=Object.assign(Object.assign({},s),{size:i}))}this.config.resize(o)}registerSegment(e,t){const r=this.config.selectionStoreConnector.register(e);return r.setLastCell(t),r}registerRow(e,t){return this.config.selectionStoreConnector.registerRow(e,t).store}registerCol(e,t){return this.config.selectionStoreConnector.registerColumn(e,t).store}dataViewPort(e){const t={rowPinStart:me,rgRow:fe,rowPinEnd:pe};let r=0;return v.reduce(((i,o)=>{const s=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:r})}),n=ve(s,o,t[o],"rgRow"!==o);return i.push(n),r++,i}),[])}scrollToCell(e){for(let t in e){const r=e[t];"number"==typeof r&&this.config.scrollingService.proxyScroll({dimension:"x"===t?"rgCol":"rgRow",coordinate:r})}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(!1)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e)return null;const t=this.config.selectionStoreConnector.storesXToType[e.position.x],r=this.config.columnProvider.getColumn(e.cell.x,t),i=this.config.selectionStoreConnector.storesYToType[e.position.y];return{column:r,model:this.config.dataProvider.getModel(e.cell.y,i),cell:e.cell,colType:t,rowType:i}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(void 0!==r[e]&&void 0!==r[t])return{x:r[e],y:r[t]}}setFocus(e,t,r,i){var o;const s=this.getStoreCoordinateByType(e,t);s&&(null===(o=this.config.selectionStoreConnector)||void 0===o||o.focusByCell(s,r,i))}getSelectedRange(){const e=this.config.selectionStoreConnector.focusedStore;if(!e)return null;const t=this.config.selectionStoreConnector.storesXToType[e.position.x],r=this.config.selectionStoreConnector.storesYToType[e.position.y],i=e.entity.store.get("range");return i?Object.assign(Object.assign({},i),{colType:t,rowType:r}):null}setEdit(e,t,r,i){var o;const s=this.getStoreCoordinateByType(r,i);s&&(null===(o=this.config.selectionStoreConnector)||void 0===o||o.setEditByCell(s,{x:t,y:e}))}}class rr{constructor(e){this.setViewport=e,this.elements={}}async proxyScroll(e,t,r){var i;let o,s=e;for(let s in r?{}:this.elements)if("rgCol"!==e.dimension||"headerRow"!==s)if(this.isPinnedColumn(t)&&"rgCol"===e.dimension){if(s===t||!e.delta)continue;for(let t of this.elements[s])t.changeScroll&&(o=t.changeScroll(e))}else for(let t of this.elements[s])await(null===(i=t.setScroll)||void 0===i?void 0:i.call(t,e));const n=await o;n&&(s=n),this.setViewport(r&&this.isPinnedColumn(t)?Object.assign(Object.assign({},s),{dimension:t}):s)}async scrollSilentService(e,t){var r;for(let i in this.elements)if(i!==t)if(!h.includes(t)||"headerRow"!==i&&!h.includes(i));else for(let t of this.elements[i])await(null===(r=t.changeScroll)||void 0===r?void 0:r.call(t,e,!0))}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){this.elements[t]||(this.elements[t]=[]),e?this.elements[t].push(e):this.elements[t]&&delete this.elements[t]}unregister(){this.elements={}}}class ir{constructor(){this.stores={},this.columnStores={},this.rowStores={},this.storesByType={},this.storesXToType={},this.storesYToType={}}get focusedStore(){var e;for(let t in this.stores)for(let r in this.stores[t]){const i=null===(e=this.stores[t][r])||void 0===e?void 0:e.store.get("focus");if(i)return{entity:this.stores[t][r],cell:i,position:{x:parseInt(r,10),y:parseInt(t,10)}}}return null}get edit(){var e;return null===(e=this.focusedStore)||void 0===e?void 0:e.entity.store.get("edit")}get focused(){var e;return null===(e=this.focusedStore)||void 0===e?void 0:e.entity.store.get("focus")}get selectedRange(){var e;return null===(e=this.focusedStore)||void 0===e?void 0:e.entity.store.get("range")}registerColumn(e,t){return this.columnStores[e]||(this.columnStores[e]=new qe,this.storesByType[t]=e,this.storesXToType[e]=t),this.columnStores[e]}registerRow(e,t){return this.rowStores[e]||(this.rowStores[e]=new qe,this.storesByType[t]=e,this.storesYToType[e]=t),this.rowStores[e]}register({x:e,y:t}){this.stores[t]||(this.stores[t]={});let r=this.stores[t][e];return r||(this.stores[t][e]=r=new qe,r.onChange("range",(r=>{this.columnStores[e].setRangeArea(r),this.rowStores[t].setRangeArea(r)})),r.store.on("dispose",(()=>this.destroy(e,t))),r)}destroy(e,t){var r,i;if(null===(r=this.columnStores[e])||void 0===r||r.dispose(),null===(i=this.rowStores[t])||void 0===i||i.dispose(),delete this.rowStores[t],delete this.columnStores[e],this.storesXToType[e]){const t=this.storesXToType[e];delete this.storesXToType[e],delete this.storesByType[t]}if(this.storesYToType[t]){const e=this.storesYToType[t];delete this.storesYToType[t],delete this.storesByType[e]}this.stores[t]&&delete this.stores[t][e],Object.keys(this.stores[t]||{}).length||delete this.stores[t]}setEditByCell(e,t){this.focusByCell(e,t,t),this.setEdit("")}beforeNextFocusCell(e){var t;if(!this.focusedStore)return;const r=this.focusedStore.entity.store.get("lastCell"),i=r&&this.getNextStore(e,this.focusedStore.position,r);null===(t=null==i?void 0:i.store)||void 0===t||t.setNextFocus(Object.assign(Object.assign({},e),i.item))}focusByCell(e,t,r){this.focus(this.stores[e.y][e.x],{focus:t,end:r})}focus(e,{focus:t,end:r}){const i=this.getCurrentStorePointer(e);if(!i)return null;const o=e.store.get("lastCell"),s=o&&this.getNextStore(t,i,o);if(null==s?void 0:s.store){const e=Object.assign(Object.assign({},t),s.item);return this.focus(s.store,{focus:e,end:e}),null}return o&&(t=I(t,o),r=I(r,o)),e.setFocus(t,r),t}getCurrentStorePointer(e){let t;for(let r in this.stores)for(let i in this.stores[r]){const o=this.stores[r][i];o!==e?o.clearFocus():t={x:parseInt(i,10),y:parseInt(r,10)}}return t}getNextStore(e,t,r){const i=D(e,r);let o;i&&Object.entries(i).forEach((([e,r])=>{let s;switch(e){case"x":s=this.getXStores(t.y);break;case"y":s=this.getYStores(t.x)}if(r>=0)o=s[++t[e]];else{o=s[--t[e]];const n=null==o?void 0:o.store.get("lastCell");n&&(i[e]=n[e]+r)}}));const s=null==o?void 0:o.store.get("lastCell");return(null==s?void 0:s.x)&&(null==s?void 0:s.y)||(o=void 0),{store:o,item:i}}clearAll(){var e;for(let t in this.stores)for(let r in this.stores[t])null===(e=this.stores[t][r])||void 0===e||e.clearFocus()}setEdit(e){this.focusedStore&&this.focusedStore.entity.setEdit(e)}selectAll(){for(let e in this.stores)for(let t in this.stores[e]){const r=this.stores[e][t];if(!r)continue;const i=r.store.get("lastCell");i&&r.setRange({x:0,y:0},{x:i.x-1,y:i.y-1})}}getXStores(e){return this.stores[e]}getYStores(e){const t={};for(let r in this.stores)t[r]=this.stores[r][e];return t}}class or{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:i}){var o;const{top:s}=e.getBoundingClientRect();this.parentY=s,this.text&&(this.text.innerText=r),this.move(t),this.moveTip({x:i.x,y:i.y}),null===(o=this.el)||void 0===o||o.classList.remove("hidden")}end(){var e;null===(e=this.el)||void 0===e||e.classList.add("hidden")}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){this.draggable&&(this.draggable.style.left=e+"px",this.draggable.style.top=t+"px")}moveElement(e){this.rgRow&&(this.rgRow.style.transform=`translateY(${e}px)`)}}const sr=({ref:t})=>{const r=new or;return t(r),e("div",{class:"draggable-wrapper hidden",ref:e=>r.el=e},e("div",{class:"draggable",ref:e=>r.draggable=e},e("span",{class:"revo-alt-icon"}),e("span",{ref:e=>r.text=e})),e("div",{class:"drag-position",ref:e=>r.rgRow=e}))};class nr extends Xe{constructor(e,t){super(e,t),e.setAttribute("role","treegrid"),e.setAttribute("aria-keyshortcuts","Enter"),e.setAttribute("aria-multiselectable","true"),e.setAttribute("tabindex","0"),this.addEventListener("beforecolumnsset",(({detail:t})=>{const r=[...t.columns.colPinStart,...t.columns.rgCol,...t.columns.colPinEnd];e.setAttribute("aria-colcount",""+r.length),r.forEach(((e,t)=>{const{columnProperties:r,cellProperties:i}=e;e.columnProperties=(...e)=>{const i=(null==r?void 0:r(...e))||{};return i.role="columnheader",i["aria-colindex"]=""+t,i},e.cellProperties=(...e)=>{const r={role:"gridcell","aria-colindex":""+t,"aria-rowindex":""+e[0].rowIndex,tabindex:-1},o=(null==i?void 0:i(...e))||{};return Object.assign(Object.assign({},r),o)}}))})),this.addEventListener("beforesourceset",(({detail:t})=>{e.setAttribute("aria-rowcount",""+t.source.length)})),this.addEventListener("beforerowrender",(({detail:e})=>{e.node.i=Object.assign(Object.assign({},e.node.i),{role:"row","aria-rowindex":e.item.itemIndex})})),this.addEventListener("afterfocus",(async e=>{if(e.defaultPrevented)return;const t=this.revogrid.querySelector(`revogr-data[type="${e.detail.rowType}"][col-type="${e.detail.colType}"] [data-rgrow="${e.detail.rowIndex}"][data-rgcol="${e.detail.colIndex}"]`);t instanceof HTMLElement&&t.focus()}))}}class ar{constructor(){this.internalPlugins=[]}get(){return[...this.internalPlugins]}add(e){this.internalPlugins.push(e)}addUserPluginsAndCreate(e,t=[],r,i){i&&(((null==r?void 0:r.filter((e=>!t.some((t=>t===e)))))||[]).forEach((e=>{var t,r;const i=this.internalPlugins.findIndex((t=>t instanceof e));-1!==i&&(null===(r=(t=this.internalPlugins[i]).destroy)||void 0===r||r.call(t),this.internalPlugins.splice(i,1))})),null==t||t.forEach((t=>{this.internalPlugins.find((e=>e instanceof t))||this.add(new t(e,i))})))}getByClass(e){return this.internalPlugins.find((t=>t instanceof e))}remove(e){var t,r;const i=this.internalPlugins.indexOf(e);i>-1&&(null===(r=(t=this.internalPlugins[i]).destroy)||void 0===r||r.call(t),this.internalPlugins.splice(i,1))}destroy(){this.internalPlugins.forEach((e=>{var t;return null===(t=e.destroy)||void 0===t?void 0:t.call(e)})),this.internalPlugins=[]}}class lr extends Xe{constructor(e,t){super(e,t),this.isRTLEnabled=!1,this.init()}init(){this.addEventListener("beforecolumnsset",(e=>{this.handleBeforeColumnsSet(e)})),this.addEventListener("aftergridinit",(()=>{this.updateRTLState()})),this.watch("rtl",(e=>{this.isRTLEnabled=e,this.emit("rtlstatechanged",{rtl:this.isRTLEnabled})}),{immediate:!0})}handleBeforeColumnsSet(e){if(!this.isRTLEnabled)return;const t=this.applyRTLTransformationToCollection(e.detail);e.detail.columns=t.columns,e.detail.columnByProp=t.columnByProp,e.detail.columnGrouping=t.columnGrouping}applyRTLTransformationToCollection(e){const t={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:Object.assign({},e.columnByProp),columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:e.maxLevel,sort:Object.assign({},e.sort)};return Object.keys(e.columns).forEach((r=>{const i=r,o=e.columns[i],s=[...o].reverse();t.columns[i]=s,t.columnGrouping[i]=this.applyRTLTransformationToGroups(e.columnGrouping[i],o.length)})),t}applyRTLTransformationToGroups(e,t){return e.map((e=>{const r=e.indexes.map((e=>t-1-e)).reverse();return Object.assign(Object.assign({},e),{indexes:r})})).reverse()}updateRTLState(){const e=this.revogrid;e&&"boolean"==typeof e.rtl&&(this.isRTLEnabled=e.rtl)}getRTLState(){return this.isRTLEnabled}destroy(){super.destroy()}}const dr=t(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.contentsizechanged=i(this,"contentsizechanged",7),this.beforeedit=i(this,"beforeedit",7),this.beforerangeedit=i(this,"beforerangeedit",7),this.afteredit=i(this,"afteredit",7),this.beforeautofill=i(this,"beforeautofill",7),this.beforerange=i(this,"beforerange",7),this.afterfocus=i(this,"afterfocus",7),this.roworderchanged=i(this,"roworderchanged",7),this.beforesorting=i(this,"beforesorting",7),this.beforesourcesortingapply=i(this,"beforesourcesortingapply",7),this.beforesortingapply=i(this,"beforesortingapply",7),this.rowdragstart=i(this,"rowdragstart",7),this.headerclick=i(this,"headerclick",7),this.beforecellfocus=i(this,"beforecellfocus",7),this.beforefocuslost=i(this,"beforefocuslost",7),this.beforesourceset=i(this,"beforesourceset",7),this.beforeanysource=i(this,"beforeanysource",7),this.aftersourceset=i(this,"aftersourceset",7),this.afteranysource=i(this,"afteranysource",7),this.beforecolumnsgather=i(this,"beforecolumnsgather",7),this.beforecolumnsset=i(this,"beforecolumnsset",7),this.beforecolumnapplied=i(this,"beforecolumnapplied",7),this.aftercolumnsset=i(this,"aftercolumnsset",7),this.beforefilterapply=i(this,"beforefilterapply",7),this.beforefiltertrimmed=i(this,"beforefiltertrimmed",7),this.beforetrimmed=i(this,"beforetrimmed",7),this.aftertrimmed=i(this,"aftertrimmed",7),this.viewportscroll=i(this,"viewportscroll",7),this.beforeexport=i(this,"beforeexport",7),this.beforeeditstart=i(this,"beforeeditstart",7),this.aftercolumnresize=i(this,"aftercolumnresize",7),this.beforerowdefinition=i(this,"beforerowdefinition",7),this.filterconfigchanged=i(this,"filterconfigchanged",7),this.sortingconfigchanged=i(this,"sortingconfigchanged",7),this.rowheaderschanged=i(this,"rowheaderschanged",7),this.beforegridrender=i(this,"beforegridrender",7),this.aftergridrender=i(this,"aftergridrender",7),this.aftergridinit=i(this,"aftergridinit",7),this.additionaldatachanged=i(this,"additionaldatachanged",7),this.afterthemechanged=i(this,"afterthemechanged",7),this.created=i(this,"created",7),this.frameSize=1,this.rowSize=0,this.colSize=100,this.range=!1,this.readonly=!1,this.resize=!1,this.noHorizontalScrollTransfer=!1,this.canFocus=!0,this.useClipboard=!0,this.columns=[],this.source=[],this.pinnedTopSource=[],this.pinnedBottomSource=[],this.rowDefinitions=[],this.editors={},this.applyOnClose=!1,this.plugins=[],this.columnTypes={},this.theme="default",this.rowClass="",this.autoSizeColumn=!1,this.filter=!1,this.canMoveColumns=!1,this.trimmedRows={},this.exporting=!1,this.stretch=!1,this.additionalData={},this.disableVirtualX=!1,this.disableVirtualY=!1,this.hideAttribution=!1,this.jobsBeforeRender=[],this.registerVNode=[],this.accessible=!0,this.rtl=!1,this.canDrag=!0,this.extraElements=[],this.pluginService=new ar,this.viewport=null,this.isInited=!1}async refresh(e="all"){if(!this.dataProvider)throw Error("Not connected");this.dataProvider.refresh(e)}async setDataAt({row:e,col:t,colType:r="rgCol",rowType:i="rgRow",val:o,skipDataUpdate:s=!1}){var n;if(this.dataProvider&&this.columnProvider&&!s){const s=null===(n=this.columnProvider.getColumn(t,r))||void 0===n?void 0:n.prop;void 0!==s&&this.dataProvider.setCellData({type:i,rowIndex:e,prop:s,val:o},!1)}const a=this.element.querySelector(`revogr-data[type="${i}"][col-type="${r}"]`);return null==a?void 0:a.updateCell({row:e,col:t})}async scrollToRow(e=0){if(!this.dimensionProvider)throw Error("Not connected");const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){if(!this.dimensionProvider)throw Error("Not connected");const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){if(!this.dimensionProvider||!this.columnProvider)throw Error("Not connected");const r=this.columnProvider.getColumnIndexByProp(e,t);if(r<0)return;const i=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:t});await this.scrollToCoordinate({x:i})}async updateColumns(e){var t;null===(t=this.columnProvider)||void 0===t||t.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){if(!this.dataProvider)throw Error("Not connected");const i=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});return i.defaultPrevented||(this.dataProvider.setTrimmed({[t]:i.detail.trimmed},r),this.aftertrimmed.emit()),i}async scrollToCoordinate(e){var t;null===(t=this.viewport)||void 0===t||t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var i;const o=m(this.columns,t);if(!o)return;await de();const s=o.pin||"rgCol";if(!this.columnProvider)throw Error("Not connected");null===(i=this.viewport)||void 0===i||i.setEdit(e,this.columnProvider.getColumnIndexByProp(t,s),s,r)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},r="rgCol",i="rgRow"){var o;null===(o=this.viewport)||void 0===o||o.setFocus(r,i,e,t)}async getSource(e="rgRow"){if(!this.dataProvider)throw Error("Not connected");return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){if(!this.dataProvider)throw Error("Not connected");return _(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){if(!this.dataProvider)throw Error("Not connected");return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){if(!this.columnProvider)throw Error("Not connected");return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r){this.sortingconfigchanged.emit({columns:[{prop:e.prop,order:t,cellCompare:e.cellCompare}],additive:r})}async clearSorting(){this.sortingconfigchanged.emit({columns:[]})}async getColumns(){if(!this.columnProvider)throw Error("Not connected");return this.columnProvider.getColumns()}async clearFocus(){var e,t;const r=null===(e=this.viewport)||void 0===e?void 0:e.getFocused();this.beforefocuslost.emit(r).defaultPrevented||null===(t=this.selectionStoreConnector)||void 0===t||t.clearAll()}async getPlugins(){return this.pluginService.get()}async getFocused(){var e,t;return null!==(t=null===(e=this.viewport)||void 0===e?void 0:e.getFocused())&&void 0!==t?t:null}async getContentSize(){var e;if(!this.dimensionProvider)throw Error("Not connected");return null===(e=this.dimensionProvider)||void 0===e?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return null!==(t=null===(e=this.viewport)||void 0===e?void 0:e.getSelectedRange())&&void 0!==t?t:null}async refreshExtraElements(){var e;null===(e=this.extraService)||void 0===e||e.refresh()}async getProviders(){return this.getPluginData()}mousedownHandle(e){const t=Se(e,"screenX"),r=Se(e,"screenY");null!==t&&null!==r&&(this.clickTrackForFocusClear=t+r)}async mouseupHandle(e){var t;const r=Se(e,"screenX"),i=Se(e,"screenY");if(null===r||null===i)return;if(e.defaultPrevented)return;if(Math.abs((null!==(t=this.clickTrackForFocusClear)&&void 0!==t?t:0)-(r+i))>10)return;const o=e.composedPath();o.includes(this.element)||this.element.shadowRoot&&o.includes(this.element.shadowRoot)||await this.clearFocus()}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);r.defaultPrevented?e.preventDefault():null===(t=this.orderService)||void 0===t||t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;null===(e=this.orderService)||void 0===e||e.end()}onRowOrderChange(e){var t;null===(t=this.dataProvider)||void 0===t||t.changeOrder(e.detail)}onRowDrag({detail:e}){var t;null===(t=this.orderService)||void 0===t||t.move(e)}onRowMouseMove(e){var t;null===(t=this.orderService)||void 0===t||t.moveTip(e.detail)}async onCellEdit(e){var t;const{defaultPrevented:r,detail:i}=this.beforeedit.emit(e.detail);await de(),r||(null===(t=this.dataProvider)||void 0===t||t.setCellData(i),this.afteredit.emit(i))}onRangeEdit(e){if(!this.dataProvider)throw Error("Not connected");const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);t?e.preventDefault():(this.dataProvider.setRangeData(r.data,r.type),this.afteredit.emit(r))}onRangeChanged(e){const t=this.beforerange.emit(e.detail);t.defaultPrevented&&e.preventDefault(),this.beforeautofill.emit(t.detail).defaultPrevented&&e.preventDefault()}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);t&&e.preventDefault()}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));t&&e.preventDefault()}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);this.canFocus&&!t||e.preventDefault()}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[],t,r="columns",i=!1){if(!this.dimensionProvider||!this.columnProvider)return;const o=this.beforecolumnsgather.emit({columns:[...e]});if(o.defaultPrevented)return;const s=N(o.detail.columns,0,this.columnTypes),n=this.beforecolumnsset.emit(s);if(n.defaultPrevented)return;this.dimensionProvider.applyNewColumns(n.detail.columns,this.disableVirtualX,i);const a=this.beforecolumnapplied.emit(s);if(a.defaultPrevented)return;const l=this.columnProvider.setColumns(a.detail);this.aftercolumnsset.emit({columns:l,order:Object.entries(a.detail.sort).reduce(((e,[t,r])=>(e[t]=r.order,e)),{})})}disableVirtualXChanged(e=!1,t=!1){e!==t&&this.columnChanged(this.columns)}rowSizeChanged(e){this.dimensionProvider&&(this.dimensionProvider.setSettings({originItemSize:e},"rgRow"),this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",!0))}themeChanged(e,t,r="theme",i=!1){this.dimensionProvider&&(this.themeService.register(e),this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow"),this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol"),i||(this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow"),this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",!0)),this.afterthemechanged.emit(e))}dataSourceChanged(e=[],t,r){if(!this.dataProvider)return;let i="rgRow";switch(r){case"pinnedBottomSource":i="rowPinEnd";break;case"pinnedTopSource":i="rowPinStart";break;case"source":i="rgRow",e=this.beforesourceset.emit({type:i,source:e}).detail.source}const o=[...this.beforeanysource.emit({type:i,source:e}).detail.source];this.dataProvider.setData(o,i,this.disableVirtualY),"source"===r&&this.aftersourceset.emit({type:i,source:e}),this.afteranysource.emit({type:i,source:e})}disableVirtualYChanged(e=!1,t=!1){e!==t&&this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,i=!0){if(!this.dimensionProvider||!this.dataProvider)return;const{detail:{vals:o,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t}),n=((e=[])=>{const t={};for(const r of e){let e=t[r.type];e||(e=t[r.type]={}),"number"==typeof r.size&&(e.sizes||(e.sizes={}),e.sizes[r.index]=r.size)}return t})(o);if(s){const e=((e=[])=>{const t={};for(const r of e){let e=t[r.type];e||(e=t[r.type]=[]),"number"==typeof r.size&&e.push(r.index)}return t})(s);for(const t in e)if(e.hasOwnProperty(t)){const e=t,r=this.dataProvider.stores[e].store.get("source").length;this.dimensionProvider.clearSize(e,r)}}v.forEach((e=>{var t;const r=n[e];(r||i)&&(null===(t=this.dimensionProvider)||void 0===t||t.setCustomSizes(e,(null==r?void 0:r.sizes)||{}))}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){var t;null===(t=this.pluginService.getByClass(Xt))||void 0===t||t.setGrouping(e||{})}applyStretch(e){if(!(this.dimensionProvider&&this.dataProvider&&this.columnProvider&&this.viewportProvider))return;"false"===e&&(e=!1);const t=this.getPluginData();if(!t)return;const r=this.pluginService.getByClass(Ke);"boolean"==typeof e&&e||"true"===e?r?Ze(r)&&r.applyStretch(this.columnProvider.getRawColumns()):this.pluginService.add(new Ke(this.element,t)):r&&this.pluginService.remove(r)}applyFilter(e){this.filterconfigchanged.emit(e)}applySorting(e){this.sortingconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=e}additionalDataChanged(e){this.additionaldatachanged.emit(e)}rtlChanged(){this.columnChanged(this.columns)}pluginsChanged(e=[],t){this.pluginService.addUserPluginsAndCreate(this.element,e,t,this.getPluginData())}setPlugins(){this.removePlugins();const e=this.getPluginData();e&&(this.setCorePlugins(e),this.pluginsChanged(this.plugins))}setCorePlugins(e){this.accessible&&this.pluginService.add(new nr(this.element,e)),this.pluginService.add(new lr(this.element,e)),this.autoSizeColumn&&this.pluginService.add(new Je(this.element,e,"object"==typeof this.autoSizeColumn?this.autoSizeColumn:void 0)),this.filter&&this.pluginService.add(new wt(this.element,e,"object"==typeof this.filter?this.filter:void 0)),this.exporting&&this.pluginService.add(new rt(this.element,e)),this.pluginService.add(new At(this.element,e)),this.pluginService.add(new Xt(this.element,e)),this.canMoveColumns&&this.pluginService.add(new Jt(this.element,e))}getPluginData(){if(this.dimensionProvider&&this.dataProvider&&this.columnProvider&&this.viewportProvider&&this.selectionStoreConnector)return{data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector,plugins:this.pluginService}}removePlugins(){this.pluginService.destroy()}connectedCallback(){this.isInited&&this.setPlugins(),this.created.emit()}componentWillLoad(){var e;this.viewportProvider=new er,this.themeService=new Ve({rowSize:this.rowSize}),this.dimensionProvider=new Qt(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)}),this.columnProvider=new Zt,this.selectionStoreConnector=new ir,this.dataProvider=new _t(this.dimensionProvider),this.registerOutsideVNodes(this.registerVNode),this.setPlugins(),this.applyStretch(this.stretch),this.themeChanged(this.theme,void 0,void 0,!0),this.columnChanged(this.columns,void 0,void 0,!0),this.dataSourceChanged(this.source,void 0,"source"),this.dataSourceChanged(this.pinnedTopSource,void 0,"pinnedTopSource"),this.dataSourceChanged(this.pinnedBottomSource,void 0,"pinnedBottomSource"),Object.keys(null!==(e=this.trimmedRows)&&void 0!==e?e:{}).length>0&&this.trimmedRowsChanged(this.trimmedRows),this.rowDefChanged(this.rowDefinitions),this.grouping&&Object.keys(this.grouping).length>0&&this.groupingChanged(this.grouping),this.scrollingService=new rr((e=>{var t;null===(t=this.dimensionProvider)||void 0===t||t.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension}),this.viewportscroll.emit(e)})),this.aftergridinit.emit(),this.isInited=!0}componentWillRender(){return!this.beforegridrender.emit().defaultPrevented&&Promise.all(this.jobsBeforeRender)}componentDidRender(){this.aftergridrender.emit()}render(){if(!(this.dimensionProvider&&this.dataProvider&&this.columnProvider&&this.viewportProvider&&this.selectionStoreConnector))return;const t=this.dimensionProvider.stores.rgRow.store.get("realSize");this.viewport=new tr({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,noHorizontalScrollTransfer:this.noHorizontalScrollTransfer,disableVirtualX:this.disableVirtualX,disableVirtualY:this.disableVirtualY,resize:e=>this.aftercolumnresize.emit(e)},t);const r=[];if(this.rowHeaders&&this.viewport.columns.length){const i=this.viewport.columns[0];r.push(e("revogr-row-headers",{additionalData:this.additionalData,height:t,rowClass:this.rowClass,resize:this.resize,dataPorts:i.dataPorts,headerProp:i.headerProp,jobsBeforeRender:this.jobsBeforeRender,rowHeaderColumn:"object"==typeof this.rowHeaders?this.rowHeaders:void 0,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,"headerRow"),onRef:({detail:e})=>this.scrollingService.registerElement(e,"headerRow")}))}const i=/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0,s=[];for(let t of this.viewport.columns){const r=Object.assign(Object.assign({},t.headerProp),{type:t.type,additionalData:this.additionalData,viewportCol:t.viewportCol,selectionStore:t.columnSelectionStore,canResize:this.resize,readonly:this.readonly,columnFilter:!!this.filter}),o=[e("revogr-header",Object.assign({},r,{slot:me}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`,n=e("revogr-overlay-selection",Object.assign({},r,{canDrag:this.canDrag&&r.canDrag,isMobileDevice:i,onSelectall:()=>{var e;return null===(e=this.selectionStoreConnector)||void 0===e?void 0:e.selectAll()},editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>{var t;return null===(t=this.selectionStoreConnector)||void 0===t?void 0:t.beforeNextFocusCell(e.detail)},onCanceledit:()=>{var e;return null===(e=this.selectionStoreConnector)||void 0===e?void 0:e.setEdit(!1)},onSetedit:({detail:e})=>{var t;this.beforeeditstart.emit(e).defaultPrevented||null===(t=this.selectionStoreConnector)||void 0===t||t.setEdit(e.val)}}),e("revogr-data",Object.assign({},r,{colType:t.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:be}),e("slot",{name:`data-${t.type}-${r.type}`})),e("revogr-temp-range",{selectionStore:r.selectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol}),e("revogr-focus",{colData:r.colData,dataStore:r.dataStore,focusTemplate:this.focusTemplate,rowType:r.type,colType:t.type,selectionStore:r.selectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol},e("slot",{name:`focus-${t.type}-${r.type}`})));o.push(n)})),s.push(e("revogr-viewport-scroll",Object.assign({},t.prop,{ref:e=>this.scrollingService.registerElement(e,""+t.prop.key),onScrollviewport:e=>{this.scrollingService.proxyScroll(e.detail,""+t.prop.key,this.noHorizontalScrollTransfer&&"rgCol"===e.detail.dimension)},onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,""+t.prop.key)}),o))}r.push(s);const n="rgRow",a="rgCol",l=this.viewportProvider.stores,d=this.dimensionProvider.stores,h=e("revogr-scroll-virtual",{class:"vertical",dimension:n,clientSize:l[n].store.get("clientSize"),virtualSize:l[n].store.get("virtualSize"),realSize:d[n].store.get("realSize"),ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),c=e("revogr-scroll-virtual",{class:"horizontal",dimension:a,clientSize:l[a].store.get("clientSize"),virtualSize:l[a].store.get("virtualSize"),realSize:d[a].store.get("realSize"),ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)});return e(o,{dir:this.rtl?"rtl":"ltr"},this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("slot",{name:"header"}),e("div",{class:"main-viewport",onClick:e=>{var t;e.currentTarget===e.target&&(null===(t=this.viewport)||void 0===t||t.clearEdit())}},e("div",{class:"viewports"},e("slot",{name:"viewport"}),r,h,e(sr,{ref:e=>this.orderService=e}))),c,e("revogr-extra",{ref:e=>this.extraService=e,nodes:this.extraElements}),e("slot",{name:"footer"}))}disconnectedCallback(){this.removePlugins()}get element(){return this}static get watchers(){return{columnTypes:[{columnTypesChanged:0}],columns:[{columnChanged:0}],disableVirtualX:[{disableVirtualXChanged:0}],rowSize:[{rowSizeChanged:0}],theme:[{themeChanged:0}],source:[{dataSourceChanged:0}],pinnedBottomSource:[{dataSourceChanged:0}],pinnedTopSource:[{dataSourceChanged:0}],disableVirtualY:[{disableVirtualYChanged:0}],rowDefinitions:[{rowDefChanged:0}],trimmedRows:[{trimmedRowsChanged:0}],grouping:[{groupingChanged:0}],stretch:[{applyStretch:0}],filter:[{applyFilter:0}],sorting:[{applySorting:0}],rowHeaders:[{rowHeadersChange:0}],registerVNode:[{registerOutsideVNodes:0}],additionalData:[{additionalDataChanged:0}],rtl:[{rtlChanged:0}],plugins:[{pluginsChanged:0}]}}static get style(){return'revo-grid[theme=default],revo-grid:not([theme]){border:1px solid var(--revo-grid-header-border);font-size:12px}revo-grid[theme=default] .rowHeaders revogr-header,revo-grid:not([theme]) .rowHeaders revogr-header{box-shadow:-1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:var(--revo-grid-header-bg)}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .group-rgRow .rgHeaderCell,revo-grid:not([theme]) revogr-header .group-rgRow .rgHeaderCell{box-shadow:-1px 0 0 0 var(--revo-grid-header-border), -1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:var(--revo-grid-header-color)}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:var(--revo-grid-header-bg)}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:var(--revo-grid-header-color)}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid var(--revo-grid-header-border)}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 var(--revo-grid-header-border) inset, -1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) inset, 0 -1px 0 0 var(--revo-grid-cell-border) inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid[dir=rtl] .viewports{flex-direction:row-reverse}revo-grid[dir=rtl] revogr-header .rgHeaderCell{text-align:right}revo-grid[dir=rtl] revogr-data .rgCell{text-align:right}revo-grid[dir=rtl] .rowHeaders revogr-data .rgCell{text-align:right}revo-grid[dir=rtl] revogr-filter-panel{direction:rtl}revo-grid[dir=rtl] revo-dropdown .rv-dr-root{text-align:right}revo-grid[dir=rtl] .drag-position{right:0;left:auto}revo-grid[dir=rtl] .drag-auto-scroll-y{right:0;left:auto}revo-grid[dir=rtl] .clipboard{right:0;left:auto}revo-grid[dir=rtl] .draggable{margin-left:-20px;margin-right:0;padding-right:20px;padding-left:5px}revo-grid[dir=rtl] .draggable .revo-alt-icon{right:5px;left:auto}revo-grid[dir=rtl] .focused-cell{border-right:2px solid var(--revo-grid-primary);border-left:none}revo-grid[dir=rtl] .selection-range{border-right:2px solid var(--revo-grid-primary);border-left:none}revo-grid[dir=rtl] .resize-handle{right:0;left:auto}revo-grid[dir=rtl] .sort-indicator{margin-left:0;margin-right:5px}revo-grid[dir=rtl] .filter-button{margin-left:0;margin-right:5px}revo-grid[dir=rtl] .group-expand{margin-right:0;margin-left:2px;padding-right:5px;padding-left:0}revo-grid[dir=rtl] .rgCell,revo-grid[dir=rtl] .rgHeaderCell{padding-left:5px;padding-right:5px}revo-grid[dir=rtl] revogr-edit{direction:rtl}revo-grid[dir=rtl] .rgHeaderCell{direction:rtl}revo-grid[dir=rtl][theme=material] revogr-header,revo-grid[dir=rtl][theme=darkMaterial] revogr-header{text-align:right}revo-grid[dir=rtl][theme=material] revogr-data,revo-grid[dir=rtl][theme=darkMaterial] revogr-data{text-align:right}revo-grid[dir=rtl][theme=default] .rowHeaders,revo-grid[dir=rtl]:not([theme]) .rowHeaders{background-color:var(--revo-grid-header-bg)}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell{color:var(--revo-grid-header-color)}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-left:1px solid var(--revo-grid-header-border);border-right:none}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data revogr-header,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] revogr-header,revo-grid[dir=rtl]:not([theme]) revogr-header{text-align:right}revo-grid[dir=rtl][theme=default] revogr-data,revo-grid[dir=rtl]:not([theme]) revogr-data{text-align:right}revo-grid[dir=rtl][theme=compact] revogr-header,revo-grid[dir=rtl][theme=darkCompact] revogr-header{text-align:right}revo-grid[dir=rtl][theme=compact] revogr-data,revo-grid[dir=rtl][theme=darkCompact] revogr-data{text-align:right}.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::";display:inline-block}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}revo-grid{--revo-grid-primary:#266ae8;--revo-grid-primary-transparent:rgba(38, 106, 232, 0.9);--revo-grid-background:#fff;--revo-grid-foreground:black;--revo-grid-divider:gray;--revo-grid-shadow:rgba(0, 0, 0, 0.15);--revo-grid-text:black;--revo-grid-border:rgba(0, 0, 0, 0.2);--revo-grid-filter-panel-bg:#fff;--revo-grid-filter-panel-border:#d9d9d9;--revo-grid-filter-panel-shadow:rgba(0, 0, 0, 0.15);--revo-grid-filter-panel-input-bg:#eaeaeb;--revo-grid-filter-panel-divider:#d9d9d9;--revo-grid-filter-panel-select-border:transparent;--revo-grid-filter-panel-select-border-hover:transparent;--revo-grid-header-bg:#f8f9fa;--revo-grid-header-color:#000;--revo-grid-header-border:#cecece;--revo-grid-cell-border:#e2e3e3;--revo-grid-focused-bg:rgba(233, 234, 237, 0.5);--revo-grid-row-hover:#f1f1f1;--revo-grid-row-headers-bg:#f7faff;--revo-grid-row-headers-color:#757a82;--revo-grid-cell-disabled-bg:rgba(0, 0, 0, 0.07);direction:ltr !important;display:flex !important;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;color:var(--revo-grid-text);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid[theme*=dark]{--revo-grid-background:#212529;--revo-grid-foreground:#fff;--revo-grid-text:rgba(255, 255, 255, 0.9);--revo-grid-divider:#505050;--revo-grid-border:rgba(255, 255, 255, 0.2);--revo-grid-filter-panel-bg:#212529;--revo-grid-filter-panel-border:#505050;--revo-grid-filter-panel-input-bg:#343a40;--revo-grid-filter-panel-divider:#505050;--revo-grid-header-bg:#343a40;--revo-grid-header-color:#fff;--revo-grid-header-border:#505050;--revo-grid-cell-border:#424242;--revo-grid-focused-bg:rgba(52, 58, 64, 0.5);--revo-grid-row-hover:rgba(80, 80, 80, 0.5);--revo-grid-row-headers-bg:rgba(52, 58, 64, 0.8);--revo-grid-row-headers-color:rgba(255, 255, 255, 0.8);--revo-grid-cell-disabled-bg:rgba(255, 255, 255, 0.07)}revo-grid revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid revogr-header .rgHeaderCell.sortable:hover{background-color:var(--revo-grid-row-hover)}revo-grid revogr-header .rgHeaderCell.focused-cell{background:var(--revo-grid-focused-bg)}revo-grid .footer-wrapper revogr-data{box-shadow:0 -1px 0 var(--revo-grid-cell-border)}revo-grid revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 var(--revo-grid-cell-border) inset}revo-grid revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 var(--revo-grid-cell-border)}revo-grid revogr-data .rgRow{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset}revo-grid revogr-data .rgRow.focused-rgRow{background-color:var(--revo-grid-focused-bg)}revo-grid revogr-data .rgCell{color:var(--revo-grid-text)}revo-grid revogr-data .rgCell.disabled{background-color:var(--revo-grid-cell-disabled-bg)}revo-grid .attribution{position:absolute;bottom:0;left:0;right:0;z-index:1000;width:0;height:0;border-left:4px solid var(--revo-grid-primary-transparent);border-bottom:4px solid var(--revo-grid-primary-transparent);border-top:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;bottom:0;left:0;background-color:var(--revo-grid-background);padding:4px;border-radius:4px;box-shadow:0 1px 10px var(--revo-grid-border);white-space:nowrap;text-decoration:none;color:var(--revo-grid-text);letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:var(--revo-grid-background);border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 var(--revo-grid-shadow);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:var(--revo-grid-foreground);position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:var(--revo-grid-divider);pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:var(--revo-grid-divider);pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}'}},[260,"revo-grid",{rowHeaders:[4,"row-headers"],frameSize:[2,"frame-size"],rowSize:[2,"row-size"],colSize:[2,"col-size"],range:[4],readonly:[4],resize:[4],noHorizontalScrollTransfer:[4,"no-horizontal-scroll-transfer"],canFocus:[4,"can-focus"],useClipboard:[4,"use-clipboard"],columns:[16],source:[16],pinnedTopSource:[16],pinnedBottomSource:[16],rowDefinitions:[16],editors:[16],applyOnClose:[4,"apply-on-close"],plugins:[16],columnTypes:[16],theme:[1537],rowClass:[513,"row-class"],autoSizeColumn:[4,"auto-size-column"],filter:[4],sorting:[16],focusTemplate:[16],canMoveColumns:[4,"can-move-columns"],trimmedRows:[16],exporting:[4],grouping:[16],stretch:[8],additionalData:[16],disableVirtualX:[4,"disable-virtual-x"],disableVirtualY:[4,"disable-virtual-y"],hideAttribution:[4,"hide-attribution"],jobsBeforeRender:[16],registerVNode:[16],accessible:[4],rtl:[4],canDrag:[4,"can-drag"],refresh:[64],setDataAt:[64],scrollToRow:[64],scrollToColumnIndex:[64],scrollToColumnProp:[64],updateColumns:[64],addTrimmed:[64],scrollToCoordinate:[64],setCellEdit:[64],setCellsFocus:[64],getSource:[64],getVisibleSource:[64],getSourceStore:[64],getColumnStore:[64],updateColumnSorting:[64],clearSorting:[64],getColumns:[64],clearFocus:[64],getPlugins:[64],getFocused:[64],getContentSize:[64],getSelectedRange:[64],refreshExtraElements:[64],getProviders:[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{columnTypes:[{columnTypesChanged:0}],columns:[{columnChanged:0}],disableVirtualX:[{disableVirtualXChanged:0}],rowSize:[{rowSizeChanged:0}],theme:[{themeChanged:0}],source:[{dataSourceChanged:0}],pinnedBottomSource:[{dataSourceChanged:0}],pinnedTopSource:[{dataSourceChanged:0}],disableVirtualY:[{disableVirtualYChanged:0}],rowDefinitions:[{rowDefChanged:0}],trimmedRows:[{trimmedRowsChanged:0}],grouping:[{groupingChanged:0}],stretch:[{applyStretch:0}],filter:[{applyFilter:0}],sorting:[{applySorting:0}],rowHeaders:[{rowHeadersChange:0}],registerVNode:[{registerOutsideVNodes:0}],additionalData:[{additionalDataChanged:0}],rtl:[{rtlChanged:0}],plugins:[{pluginsChanged:0}]}]),hr=dr,cr=function(){"undefined"!=typeof customElements&&["revo-grid","revogr-attribution","revogr-clipboard","revogr-data","revogr-edit","revogr-extra","revogr-focus","revogr-header","revogr-order-editor","revogr-overlay-selection","revogr-row-headers","revogr-scroll-virtual","revogr-temp-range","revogr-viewport-scroll","vnode-html"].forEach((e=>{switch(e){case"revo-grid":customElements.get(s(e))||customElements.define(s(e),dr);break;case"revogr-attribution":customElements.get(s(e))||je();break;case"revogr-clipboard":customElements.get(s(e))||Re();break;case"revogr-data":customElements.get(s(e))||Oe();break;case"revogr-edit":customElements.get(s(e))||Ee();break;case"revogr-extra":customElements.get(s(e))||ke();break;case"revogr-focus":customElements.get(s(e))||ze();break;case"revogr-header":customElements.get(s(e))||ye();break;case"revogr-order-editor":customElements.get(s(e))||Le();break;case"revogr-overlay-selection":customElements.get(s(e))||He();break;case"revogr-row-headers":customElements.get(s(e))||ae();break;case"revogr-scroll-virtual":customElements.get(s(e))||Te();break;case"revogr-temp-range":customElements.get(s(e))||Pe();break;case"revogr-viewport-scroll":customElements.get(s(e))||we();break;case"vnode-html":customElements.get(s(e))||Ie()}}))};export{Je as A,Xe as B,We as C,Ue as D,rt as E,ft as F,Xt as G,hr as RevoGrid,qe as S,Ke as a,et as b,mt as c,bt as d,cr as defineCustomElement,wt as e,ut as f,Ae as g,vt as h,Ze as i,pt as j,$t as k,Ut as l,Jt as m,Kt as n,At as o,Ft as p,Mt as q,Bt as r,Nt as s,Vt as t}