@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.
- package/dist/cjs/{column.drag.plugin-DfTAC5Qc.js → column.drag.plugin-BunAX4dQ.js} +11 -2
- package/dist/cjs/index.cjs.js +5 -1
- package/dist/cjs/revo-grid.cjs.entry.js +3 -2
- package/dist/collection/components/revoGrid/revo-grid.js +1 -1
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +2 -1
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +2 -2
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js +11 -2
- package/dist/esm/{column.drag.plugin-C9lvlTfl.js → column.drag.plugin-991PW1Yy.js} +12 -3
- package/dist/esm/index.js +2 -2
- package/dist/esm/revo-grid.entry.js +3 -2
- package/dist/revo-grid/{column.drag.plugin-C9lvlTfl.js → column.drag.plugin-991PW1Yy.js} +12 -3
- package/dist/revo-grid/index.esm.js +2 -2
- package/dist/revo-grid/revo-grid.entry.js +3 -2
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +2 -2
- package/dist/types/plugins/column.auto-size.plugin.d.ts +1 -1
- package/dist/types/types/interfaces.d.ts +2 -2
- package/hydrate/index.js +13 -3
- package/hydrate/index.mjs +13 -3
- package/package.json +1 -1
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +1 -1
|
@@ -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
|
|
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
|
|
485
|
+
case exports.ColumnAutoSizeMode.autoSizeAll:
|
|
477
486
|
this.addEventListener('aftersourceset', aftersourceset);
|
|
478
487
|
this.addEventListener('afteredit', ({ detail }) => {
|
|
479
488
|
this.afterEditAll(detail);
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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(
|
|
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": "
|
|
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(
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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-
|
|
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,
|
|
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,
|
|
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(
|
|
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
|
|
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
|
|
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,
|
|
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-
|
|
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,
|
|
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,
|
|
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(
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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(
|
|
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
package/standalone/index.js
CHANGED
|
@@ -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}
|
package/standalone/revo-grid.js
CHANGED
|
@@ -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}
|