@revolist/revogrid 4.9.7 → 4.9.9
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.service-0615a373.js → column.service-bfaba0e0.js} +5 -5
- package/dist/cjs/column.service-bfaba0e0.js.map +1 -0
- package/dist/cjs/{column.utils-694677fa.js → column.utils-4a450d27.js} +2 -2
- package/dist/cjs/{column.utils-694677fa.js.map → column.utils-4a450d27.js.map} +1 -1
- package/dist/cjs/{edit.utils-2e1f4278.js → edit.utils-983f1a82.js} +2 -2
- package/dist/cjs/{edit.utils-2e1f4278.js.map → edit.utils-983f1a82.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-360528aa.js → header-cell-renderer-53e4fd75.js} +2 -2
- package/dist/cjs/{header-cell-renderer-360528aa.js.map → header-cell-renderer-53e4fd75.js.map} +1 -1
- package/dist/cjs/{index-2991afbb.js → index-464d1aaf.js} +3 -2
- package/dist/cjs/index-464d1aaf.js.map +1 -0
- package/dist/cjs/index.cjs.js +5 -5
- package/dist/cjs/{key.utils-b84b0eba.js → key.utils-12715159.js} +2 -2
- package/dist/cjs/{key.utils-b84b0eba.js.map → key.utils-12715159.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +95 -16
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +25 -24
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +3 -3
- package/dist/cjs/revogr-data_4.cjs.entry.js +7 -7
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/{row-header-utils-b5266b12.js → row-header-utils-e71dc7bf.js} +2 -2
- package/dist/cjs/{row-header-utils-b5266b12.js.map → row-header-utils-e71dc7bf.js.map} +1 -1
- package/dist/cjs/{selection.helpers-4374518f.js → selection.helpers-2c90d546.js} +2 -2
- package/dist/cjs/{selection.helpers-4374518f.js.map → selection.helpers-2c90d546.js.map} +1 -1
- package/dist/cjs/{throttle-8885fd65.js → throttle-c893457e.js} +2 -2
- package/dist/cjs/{throttle-8885fd65.js.map → throttle-c893457e.js.map} +1 -1
- package/dist/collection/components/data/column.service.js.map +1 -1
- package/dist/collection/components/data/revogr-data-style.css +1 -0
- package/dist/collection/components/overlay/keyboard.service.js +2 -2
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +2 -2
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/overlay/selection.utils.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +36 -10
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +1 -0
- package/dist/collection/components/selectionFocus/revogr-focus.js +21 -20
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +6 -6
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js +2 -2
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
- package/dist/collection/plugins/wcag/index.js +79 -0
- package/dist/collection/plugins/wcag/index.js.map +1 -0
- package/dist/collection/store/dataSource/data.store.js +2 -1
- package/dist/collection/store/dataSource/data.store.js.map +1 -1
- package/dist/collection/types/interfaces.js +0 -4
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/collection/types/selection.js.map +1 -1
- package/dist/esm/{column.service-af0694c5.js → column.service-6f1faf2d.js} +5 -5
- package/dist/esm/column.service-6f1faf2d.js.map +1 -0
- package/dist/esm/{column.utils-78dd3ef2.js → column.utils-1a402ff9.js} +2 -2
- package/dist/esm/{column.utils-78dd3ef2.js.map → column.utils-1a402ff9.js.map} +1 -1
- package/dist/esm/{edit.utils-ca303802.js → edit.utils-c3f5c9f4.js} +2 -2
- package/dist/esm/{edit.utils-ca303802.js.map → edit.utils-c3f5c9f4.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-261317c3.js → header-cell-renderer-66d01daa.js} +2 -2
- package/dist/esm/{header-cell-renderer-261317c3.js.map → header-cell-renderer-66d01daa.js.map} +1 -1
- package/dist/esm/{index-f65def08.js → index-c428acf6.js} +3 -2
- package/dist/esm/index-c428acf6.js.map +1 -0
- package/dist/esm/index.js +5 -5
- package/dist/esm/{key.utils-4b0093d5.js → key.utils-b1f93f7e.js} +2 -2
- package/dist/esm/{key.utils-4b0093d5.js.map → key.utils-b1f93f7e.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +95 -16
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +25 -24
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +3 -3
- package/dist/esm/revogr-data_4.entry.js +7 -7
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/{row-header-utils-6081260c.js → row-header-utils-3a6f6adc.js} +2 -2
- package/dist/esm/{row-header-utils-6081260c.js.map → row-header-utils-3a6f6adc.js.map} +1 -1
- package/dist/esm/{selection.helpers-d92697e1.js → selection.helpers-ac4368b0.js} +2 -2
- package/dist/esm/{selection.helpers-d92697e1.js.map → selection.helpers-ac4368b0.js.map} +1 -1
- package/dist/esm/{throttle-041ded8e.js → throttle-f9cda5b0.js} +2 -2
- package/dist/esm/{throttle-041ded8e.js.map → throttle-f9cda5b0.js.map} +1 -1
- package/dist/revo-grid/column.service-6f1faf2d.js +5 -0
- package/dist/revo-grid/column.service-6f1faf2d.js.map +1 -0
- package/dist/revo-grid/{column.utils-78dd3ef2.js → column.utils-1a402ff9.js} +2 -2
- package/dist/revo-grid/{edit.utils-ca303802.js → edit.utils-c3f5c9f4.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-261317c3.js → header-cell-renderer-66d01daa.js} +2 -2
- package/dist/revo-grid/{index-f65def08.js → index-c428acf6.js} +2 -2
- package/dist/revo-grid/{index-f65def08.js.map → index-c428acf6.js.map} +1 -1
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/key.utils-b1f93f7e.js +5 -0
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revo-grid.esm.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/{row-header-utils-6081260c.js → row-header-utils-3a6f6adc.js} +2 -2
- package/dist/revo-grid/{selection.helpers-d92697e1.js → selection.helpers-ac4368b0.js} +2 -2
- package/dist/revo-grid/{throttle-041ded8e.js → throttle-f9cda5b0.js} +2 -2
- package/dist/types/components/data/column.service.d.ts +1 -1
- package/dist/types/components/overlay/selection.utils.d.ts +1 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +9 -6
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +2 -6
- package/dist/types/components.d.ts +17 -19
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +10 -2
- package/dist/types/plugins/wcag/index.d.ts +26 -0
- package/dist/types/services/data.provider.d.ts +1 -1
- package/dist/types/store/dataSource/data.store.d.ts +2 -2
- package/dist/types/types/interfaces.d.ts +13 -3
- package/dist/types/types/selection.d.ts +1 -3
- package/hydrate/index.js +114 -32
- package/hydrate/index.mjs +114 -32
- package/package.json +1 -1
- package/readme.md +12 -2
- package/standalone/column.service.js +2 -2
- package/standalone/column.service.js.map +1 -1
- package/standalone/data.store.js +2 -1
- package/standalone/data.store.js.map +1 -1
- package/standalone/revo-grid.js +92 -12
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-focus2.js +17 -16
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +2 -2
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js.map +1 -1
- package/dist/cjs/column.service-0615a373.js.map +0 -1
- package/dist/cjs/index-2991afbb.js.map +0 -1
- package/dist/esm/column.service-af0694c5.js.map +0 -1
- package/dist/esm/index-f65def08.js.map +0 -1
- package/dist/revo-grid/column.service-af0694c5.js +0 -5
- package/dist/revo-grid/column.service-af0694c5.js.map +0 -1
- package/dist/revo-grid/key.utils-4b0093d5.js +0 -5
- /package/dist/revo-grid/{column.utils-78dd3ef2.js.map → column.utils-1a402ff9.js.map} +0 -0
- /package/dist/revo-grid/{edit.utils-ca303802.js.map → edit.utils-c3f5c9f4.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-261317c3.js.map → header-cell-renderer-66d01daa.js.map} +0 -0
- /package/dist/revo-grid/{key.utils-4b0093d5.js.map → key.utils-b1f93f7e.js.map} +0 -0
- /package/dist/revo-grid/{row-header-utils-6081260c.js.map → row-header-utils-3a6f6adc.js.map} +0 -0
- /package/dist/revo-grid/{selection.helpers-d92697e1.js.map → selection.helpers-ac4368b0.js.map} +0 -0
- /package/dist/revo-grid/{throttle-041ded8e.js.map → throttle-f9cda5b0.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
export{B as BasePlugin,D as DimensionStore,c as columnTypes,e as gatherGroup,f as getColumnByProp,a as getColumnSizes,g as getColumnType,d as getColumns,b as isColGrouping,i as isRowType,r as rowTypes}from"./column.utils-
|
|
4
|
+
export{B as BasePlugin,D as DimensionStore,c as columnTypes,e as gatherGroup,f as getColumnByProp,a as getColumnSizes,g as getColumnType,d as getColumns,b as isColGrouping,i as isRowType,r as rowTypes}from"./column.utils-1a402ff9.js";export{d as dispatch,a as dispatchByEvent}from"./dispatcher-ea08404f.js";export{C as CELL_CLASS,K as CELL_HANDLER_CLASS,w as DATA_COL,x as DATA_ROW,y as DISABLED_CLASS,G as DRAGGABLE_CLASS,N as DRAGG_TEXT,F as DRAG_ICON_CLASS,D as DataStore,L as EDIT_INPUT_WR,I as FOCUS_CLASS,O as GRID_INTERNALS,E as HEADER_ACTUAL_ROW_CLASS,H as HEADER_CLASS,B as HEADER_ROW_CLASS,A as HEADER_SORTABLE_CLASS,M as MIN_COL_SIZE,J as MOBILE_CLASS,R as RESIZE_INTERVAL,P as ROW_FOCUSED_CLASS,z as ROW_HEADER_TYPE,S as SELECTION_BORDER_CLASS,T as TMP_SELECTION_BG_CLASS,u as applyMixins,h as calculateDimensionData,Q as codesLetter,k as findPositionInArray,f as gatherTrimmedItems,j as getItemByIndex,i as getItemByPosition,g as getPhysical,n as getScrollbarSize,b as getSourceItem,e as getSourceItemVirtualIndexByProp,a as getVisibleSourceItem,U as keyValues,m as mergeSortedArray,p as proxyPlugin,l as pushSorted,r as range,o as scaleValue,d as setItems,c as setSourceByPhysicalIndex,s as setSourceByVirtualIndex,v as setStore,q as timeout,t as trimmedPlugin}from"./index-c428acf6.js";export{h}from"./index-a61f225b.js";export{S as SelectionStore,c as cropCellToMax,g as getRange,i as isHiddenStore,a as isRangeSingleCell,n as nextCell}from"./selection.helpers-ac4368b0.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"./row-header-utils-3a6f6adc.js";export{l as isAll,d as isClear,j as isCopy,b as isCtrlKey,c as isCtrlMetaKey,h as isCut,g as isEnterKeyValue,i as isLetterKey,a as isMetaKey,k as isPaste,e as isTab,f as isTabKeyValue}from"./key.utils-b1f93f7e.js";import"./toNumber-8de324a7.js";
|
|
5
5
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import{Y as n,Z as r,Q as t,U as u}from"./index-c428acf6.js";function e(n){return n===32||n>=48&&n<=57||n>=96&&n<=111||n>=186&&n<=192||n>=219&&n<=222||n>=226||n>=65&&n<=90}function a(n){const t=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT];return t.indexOf(n)!==-1}function s(t,u){if(u.includes(n.mac)){return[r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(t)}return t===r.CONTROL}function c(n){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(n)}function f(n){return t.BACKSPACE===n||t.DELETE===n}function i(n){return t.TAB===n}function o(n){return u.TAB===n}function y(n){return u.ENTER===n}function K(n){return n.ctrlKey&&n.code==="KeyX"||n.metaKey&&n.code==="KeyX"}function d(n){return n.ctrlKey&&n.code==="KeyC"||n.metaKey&&n.code==="KeyC"}function j(n){return n.ctrlKey&&n.code==="KeyV"||n.metaKey&&n.code==="KeyV"}function m(n){return n.ctrlKey&&n.code==="KeyA"||n.metaKey&&n.code==="KeyA"}export{a,s as b,c,f as d,i as e,o as f,y as g,K as h,e as i,d as j,j as k,m as l};
|
|
5
|
+
//# sourceMappingURL=key.utils-b1f93f7e.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as e,r as t,c as r,H as i,a as o}from"./index-a61f225b.js";import{_ as s,$ as n,a0 as a,a1 as h,D as l,b as d,W as c,e as u,s as g,a2 as f,a as v,f as p,j as m,R as w,X as b,a3 as x,a4 as C,a5 as y,a6 as S,v as k,a7 as R,a8 as j,q as O,g as E,d as L,n as P,i as z}from"./index-f65def08.js";import{c as H,g as M,r as I,i as D,D as F,a as T,B as N,f as $,b as B,d as V}from"./column.utils-78dd3ef2.js";import{_ as A,c as U}from"./toNumber-8de324a7.js";import{E as q,b as G}from"./selection.helpers-d92697e1.js";import{d as X}from"./debounce-7781346d.js";import{V as W,f as Y}from"./row-header-utils-6081260c.js";import{F as J,i as _}from"./filter.button-37373672.js";import{i as K,g as Z,G as Q,a as ee,b as te,c as re,P as ie,d as oe,e as se,f as ne,h as ae,j as he,k as le,v as de,H as ce,C as ue,F as ge,D as fe}from"./column.service-af0694c5.js";import{d as ve}from"./dispatcher-ea08404f.js";import{O as pe}from"./header-cell-renderer-261317c3.js";import{g as me}from"./events-cf0893a3.js";class we{constructor(){this.defaultRowSize=32}}class be{constructor(){this.defaultRowSize=27}}class xe{constructor(){this.defaultRowSize=42}}const Ce="default";const ye=[Ce,"material","compact","darkMaterial","darkCompact"];class Se{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){const t=Se.getTheme(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new xe;break;case"compact":case"darkCompact":this.currentTheme=new we;break;default:this.currentTheme=new be;break}}static getTheme(e){if(e&&ye.indexOf(e)>-1){return e}return Ce}}var ke=s,Re=n,je=a;function Oe(e){return function(t,r,i){var o=Object(t);if(!Re(t)){var s=ke(r);t=je(t);r=function(e){return s(o[e],e,o)}}var n=e(t,r,i);return n>-1?o[s?t[n]:n]:undefined}}var Ee=Oe;var Le=Ee,Pe=h;var ze=Le(Pe);var He=ze;class Me{get order(){const e={};const t=this.sorting;if(t){Object.keys(t).forEach((r=>{e[r]=t[r].order}))}return e}get stores(){return this.dataSources}constructor(){this.sorting=null;this.dataSources=H.reduce(((e,t)=>{e[t]=new l(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return d(this.dataSources[t].store,e)}getRawColumns(){return c(this.dataSources,((e,t,r)=>{e[r]=t.store.get("source");return e}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){if(e!=="all"){return this.dataSources[e].store.get("source")}return H.reduce(((e,t)=>{e.push(...this.dataSources[t].store.get("source"));return e}),[])}getColumnIndexByProp(e,t){return u(this.dataSources[t].store,e)}getColumnByProp(e,t){const r=this.dataSources[t].store.get("source");return He(r,{prop:e})}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){H.forEach((t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce(((e,t)=>{if(!e[t.level]){e[t.level]=[]}e[t.level].push(t);return e}),{})})}));this.sorting=e.sort;return e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=M(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};for(const e in t){if(!t.hasOwnProperty(e)){continue}const i=e;const o=t[i];const s=this.dataSources[i].store.get("source");r[i]={};for(let e=0;e<s.length;e++){const t=s[e];const n=o===null||o===void 0?void 0:o[t.prop];if(n){r[i][e]=n}}}for(const e in r){if(!r.hasOwnProperty(e)){continue}const t=e;g(this.dataSources[t].store,r[t]||{})}}updateColumn(e,t){const r=M(e);g(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,i){if(!i){this.clearSorting()}e.order=r;if(!this.sorting){this.sorting={}}this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=c(this.sorting,((e,t)=>{const r=M(t);e[r]=true;return e}),{});f(e,((e,t)=>{const r=this.dataSources[t].store.get("source");f(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}}class Ie{constructor(e){this.dimensionProvider=e;this.stores=c(I,((e,t)=>{e[t]=new l(t);return e}),{})}setData(e,t="rgRow",r=false,i,o=false){this.stores[t].updateData([...e],i,o);const s=t!=="rgRow"||r;this.dimensionProvider.setData(e.length,t,s);return e}getModel(e,t="rgRow"){const r=this.stores[t].store;return d(r,e)}setCellData({type:e,rowIndex:t,prop:r,val:i},o=true){const s=this.getModel(t,e);s[r]=i;g(this.stores[e].store,{[t]:s},o)}setRangeData(e,t){const r={};for(let i in e){const o=r[i]=d(this.stores[t].store,parseInt(i,10));if(!o){continue}for(let t in e[i]){o[t]=e[i][t]}}g(this.stores[t].store,r)}refresh(e="all"){if(D(e)){this.refreshItems(e)}I.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);if(t==="rgRow"){this.dimensionProvider.setData(v(r.store).length,t)}}}class De{constructor(e,t){this.viewports=e;const r=X((e=>t.realSizeChanged(e)),w);this.stores=c([...I,...H],((e,t)=>{e[t]=new F;e[t].store.onChange("realSize",(()=>r(t)));return 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=false){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.updateViewport(e,true)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=p(e);const i=this.stores[t];i.setStore({trimmed:r});this.updateViewport(t,true)}setData(e,t,r=false){this.setItemCount(e,t);if(r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.updateViewport(t)}applyNewColumns(e,t){for(let r of H){this.stores[r].drop();const i=e[r];const o=r!=="rgCol"||t;this.stores[r].setStore({count:i.length});const s=T(i);this.stores[r].setDimensionSize(s);const n={realCount:i.length};if(o){n.virtualSize=this.stores[r].getCurrentState().realSize}this.viewports.stores[r].setViewport(n);this.setViewPortCoordinate({coordinate:this.viewports.stores[r].lastCoordinate,type:r})}}getFullSize(){var e,t;let r=0;let i=0;for(let t of H){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of I){i+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:i,x:r}}updateViewport(e,t=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e,force:t})}setViewPortCoordinate({coordinate:e,type:t,force:r=false}){const i=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,i,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=m(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=H;break;case"rgRow":r=I;break}for(let t of r){this.stores[t].setStore(e)}}}class Fe{constructor(){this.stores=c([...I,...H],((e,t)=>{e[t]=new W(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}const Te=7;var Ne;(function(e){e["headerClickAutosize"]="headerClickAutoSize";e["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";e["autoSizeAll"]="autoSizeAll"})(Ne||(Ne={}));class $e extends N{constructor(e,t,r){super(e,t);this.providers=t;this.config=r;this.autoSizeColumns=null;this.dataResolve=null;this.dataReject=null;this.letterBlockSize=(r===null||r===void 0?void 0:r.letterBlockSize)||Te;if(r===null||r===void 0?void 0:r.preciseSize){this.precsizeCalculationArea=this.initiatePresizeElement();e.appendChild(this.precsizeCalculationArea)}const i=({detail:{source:e}})=>{this.setSource(e)};const o=({detail:e})=>{this.afteredit(e)};const s=({detail:e})=>{this.afterEditAll(e)};const n=({detail:{columns:e}})=>{this.columnSet(e)};const a=({detail:e})=>{const t=M(e.column);const r=this.getColumnSize(e.index,t);if(r){this.providers.dimension.setCustomSizes(t,{[e.index]:r},true)}};this.addEventListener("beforecolumnsset",n);switch(r===null||r===void 0?void 0:r.mode){case Ne.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",o);break;case Ne.autoSizeAll:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",s);break;default:this.addEventListener("headerdblclick",a);break}}async setSource(e){let t=this.autoSizeColumns;if(this.dataReject){this.dataReject();this.clearPromise()}if(!t){const e=new Promise(((e,t)=>{this.dataResolve=e;this.dataReject=t}));try{t=await e}catch(e){return}}f(t,((r,i)=>{const o={};f(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,true)}))}getLength(e){var t;const r=15;if(!e){return 0}try{const i=e.toString();if((t=this.config)===null||t===void 0?void 0:t.preciseSize){this.precsizeCalculationArea.innerText=i;return this.precsizeCalculationArea.scrollWidth+r*2}return i.length*this.letterBlockSize+r*2}catch(e){return 0}}afteredit(e){let t;if(this.isRangeEdit(e)){t=e.data}else{t={0:{[e.prop]:e.val}}}f(this.autoSizeColumns,((e,r)=>{const i={};f(e,(e=>{var r;const o=c(t,((t,r)=>{if(typeof r[e.prop]==="undefined"){return t}return Math.max(t||0,this.getLength(r[e.prop]))}),undefined);if(o&&((r=e.size)!==null&&r!==void 0?r:0)<o){e.size=i[e.index]=o}}));this.providers.dimension.setCustomSizes(r,i,true)}))}afterEditAll(e){const t={};if(this.isRangeEdit(e)){f(e.data,(e=>f(e,((e,r)=>t[r]=true))))}else{t[e.prop]=true}f(this.autoSizeColumns,((e,r)=>{const i={};f(e,(e=>{if(t[e.prop]){const t=this.getColumnSize(e.index,r);if(t){i[e.index]=t}}}));this.providers.dimension.setCustomSizes(r,i,true)}))}getColumnSize(e,t){var r,i;const o=(i=(r=this.autoSizeColumns)===null||r===void 0?void 0:r[t])===null||i===void 0?void 0:i[e];if(!o){return 0}return c(this.providers.data.stores,((e,t)=>{const r=c(t.store.get("items"),((e,r,i)=>{const s=d(t.store,i);return Math.max(e||0,this.getLength(s[o.prop]))}),0);return Math.max(e,r)}),o.size||0)}columnSet(e){var t;for(let r of H){const i=r;const o=e[i];for(let e in o){if(o[e].autoSize||((t=this.config)===null||t===void 0?void 0:t.allColumns)){if(!this.autoSizeColumns){this.autoSizeColumns={}}if(!this.autoSizeColumns[i]){this.autoSizeColumns[i]={}}this.autoSizeColumns[i][e]=Object.assign(Object.assign({},o[e]),{index:parseInt(e,10)})}}}if(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"};const r=document.createElement("div");for(let i in t){r.style[i]=(e=t[i])!==null&&e!==void 0?e:""}r.classList.add("revo-test-container");return r}destroy(){var e;super.destroy();(e=this.precsizeCalculationArea)===null||e===void 0?void 0:e.remove()}}const Be=(e,t)=>{if(typeof e==="undefined"||e===null&&!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}const r=t===null||t===void 0?void 0:t.toString().toLocaleLowerCase();if((r===null||r===void 0?void 0:r.length)===0){return true}return e.toLocaleLowerCase()===r};const Ve=(e,t)=>!Be(e,t);Ve.extra="input";Be.extra="input";const Ae=function(e,t){let r;if(typeof e==="number"&&typeof t!=="undefined"&&t!==null){r=parseFloat(t===null||t===void 0?void 0:t.toString());return e>r}return false};Ae.extra="input";const Ue=function(e,t){return Be(e,t)||Ae(e,t)};Ue.extra="input";const qe=function(e,t){let r;if(typeof e==="number"&&typeof t!=="undefined"&&t!==null){r=parseFloat(t.toString());return e<r}else{return false}};qe.extra="input";const Ge=function(e,t){return Be(e,t)||qe(e,t)};Ge.extra="input";const Xe=e=>!(e===""||e===null||e===void 0);const We=e=>!Xe(e);const Ye=(e,t)=>{if(!e){return false}if(!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}if(typeof t!=="string"){t=JSON.stringify(t)}return e.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())===0};Ye.extra="input";const Je=(e,t)=>{if(!t){return true}if(!e){return false}if(t){if(typeof e!=="string"){e=JSON.stringify(e)}return e.toLocaleLowerCase().indexOf(t.toString().toLowerCase())>-1}return true};const _e=(e,t)=>!Je(e,t);_e.extra="input";Je.extra="input";const Ke={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:"<="};const Ze={none:()=>true,empty:We,notEmpty:Xe,eq:Be,notEq:Ve,begins:Ye,contains:Je,notContains:_e,eqN:Be,neqN:Ve,gt:Ae,gte:Ue,lt:qe,lte:Ge};const Qe={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const et="filter";const tt="filterconfigchanged";class rt extends N{constructor(t,r,i){var o;super(t,r);this.revogrid=t;this.filterCollection={};this.multiFilterItems={};this.possibleFilters=Object.assign({},Qe);this.possibleFilterNames=Object.assign({},Ke);this.possibleFilterEntities=Object.assign({},Ze);this.filterProp=J;if(i){this.initConfig(i)}const s=e=>this.headerclick(e);const n=async()=>{const e=Object.keys(this.filterCollection);if(e.length>0){e.forEach(((e,t)=>{if(!this.multiFilterItems[e]){this.multiFilterItems[e]=[{id:t,type:this.filterCollection[e].type,value:this.filterCollection[e].value,relation:"and"}]}}))}await this.runFiltering()};this.addEventListener("headerclick",s);this.addEventListener(tt,(({detail:e})=>{if(!e){this.clearFiltering();return}if(typeof e==="object"){this.initConfig(e)}n()}));this.addEventListener("aftersourceset",n);this.addEventListener("filter",(({detail:e})=>this.onFilterChange(e)));const a=this.revogrid.registerVNode.filter((e=>e.t!=="revogr-filter-panel"));this.revogrid.registerVNode=[...a,e("revogr-filter-panel",{filterItems:this.multiFilterItems,filterNames:this.possibleFilterNames,filterEntities:this.possibleFilterEntities,filterCaptions:(o=i===null||i===void 0?void 0:i.localization)===null||o===void 0?void 0:o.captions,onFilterChange:e=>this.onFilterChange(e.detail),disableDynamicFiltering:i===null||i===void 0?void 0:i.disableDynamicFiltering,ref:e=>this.pop=e})]}initConfig(e){if(e.multiFilterItems){this.multiFilterItems=Object.assign({},e.multiFilterItems)}if(e.customFilters){for(let t in e.customFilters){const r=e.customFilters[t];if(!this.possibleFilters[r.columnFilterType]){this.possibleFilters[r.columnFilterType]=[]}this.possibleFilters[r.columnFilterType].push(t);this.possibleFilterEntities[t]=r.func;this.possibleFilterNames[t]=r.name}}if(e.filterProp){this.filterProp=e.filterProp}const t=e.include;if(t){const e={};for(let r in this.possibleFilters){const i=this.possibleFilters[r].filter((e=>t.indexOf(e)>-1));if(i.length){e[r]=i}}if(Object.keys(e).length>0){this.possibleFilters=e}}if(e.collection){this.filterCollection=c(e.collection,((e,t,r)=>{if(this.possibleFilterEntities[t.type]){e[r]=t}else{console.warn(`${t.type} type is not found.`)}return e}),{})}if(e.localization){if(e.localization.filterNames){Object.entries(e.localization.filterNames).forEach((([e,t])=>{if(this.possibleFilterNames[e]!=void 0){this.possibleFilterNames[e]=t}}))}}}async headerclick(e){var t,r,i;const o=(t=e.detail.originalEvent)===null||t===void 0?void 0:t.target;if(!_(o)){return}e.preventDefault();const s=await((r=this.pop)===null||r===void 0?void 0:r.getChanges());if(s&&(s===null||s===void 0?void 0:s.prop)===e.detail.prop){(i=this.pop)===null||i===void 0?void 0:i.show();return}if(!this.pop){return}const n=this.revogrid.getBoundingClientRect();const a=o.getBoundingClientRect();const h=e.detail.prop;this.pop.filterTypes=this.getColumnFilter(e.detail.filter);this.pop.show(Object.assign(Object.assign({},this.filterCollection[h]),{x:a.x-n.x,y:a.y-n.y+a.height,autoCorrect:true,prop:h}))}getColumnFilter(e){let t="string";if(!e){return{[t]:this.possibleFilters[t]}}if(this.isValidType(e)){t=e}else if(typeof e==="object"&&e.length){return e.reduce(((e,t)=>{if(this.isValidType(t)){e[t]=this.possibleFilters[t]}return e}),{})}return{[t]:this.possibleFilters[t]}}isValidType(e){return!!(typeof e==="string"&&this.possibleFilters[e])}async onFilterChange(e){this.multiFilterItems=e;this.runFiltering()}async doFiltering(e,t,r,i){const o=[];r.forEach((e=>{const t=Object.assign({},e);const r=i[t.prop];if(t[this.filterProp]&&!r){delete t[this.filterProp];o.push(t)}if(!t[this.filterProp]&&r){o.push(t);t[this.filterProp]=true}}));const s=this.getRowFilter(t,i);const{defaultPrevented:n,detail:a}=this.emit("beforefiltertrimmed",{collection:e,itemsToFilter:s,source:t,filterItems:i});if(n){return}const h=await this.revogrid.addTrimmed(a.itemsToFilter,et);if(h.defaultPrevented){return}await this.revogrid.updateColumns(o);this.emit("afterfilterapply")}async clearFiltering(){this.multiFilterItems={};await this.runFiltering()}async runFiltering(){const e={};const t=Object.keys(this.multiFilterItems);for(const r of t){if(this.multiFilterItems[r].length>0){const t=this.multiFilterItems[r][0];e[r]={filter:Ze[t.type],type:t.type,value:t.value}}}this.filterCollection=e;const{source:r,columns:i}=await this.getData();const{defaultPrevented:o,detail:s}=this.emit("beforefilterapply",{collection:this.filterCollection,source:r,columns:i,filterItems:this.multiFilterItems});if(o){return}this.doFiltering(s.collection,s.source,s.columns,s.filterItems)}async getData(){return{source:await this.revogrid.getSource(),columns:await this.revogrid.getColumns()}}getRowFilter(e,t){const r=Object.keys(t);const i={};let o=0;let s=[];e.forEach(((e,n)=>{for(const a of r){const r=t[a];o=0;s=[];for(const[t,i]of r.entries()){const n=this.possibleFilterEntities[i.type];if(i.relation==="or"){s=[];if(n(e[a],i.value)){continue}o++}else{s.push(!n(e[a],i.value));const h=r[t+1];if(!h||h.relation!=="and"){if(s.indexOf(true)===-1){s=[];continue}o+=s.length;s=[]}}}if(o===r.length)i[n]=true}}));return i}}var it=A,ot=b,st=U;var nt="[object String]";function at(e){return typeof e=="string"||!ot(e)&&st(e)&&it(e)==nt}var ht=at;var lt=x;var dt=lt("length");var ct=dt;var ut="\\ud800-\\udfff",gt="\\u0300-\\u036f",ft="\\ufe20-\\ufe2f",vt="\\u20d0-\\u20ff",pt=gt+ft+vt,mt="\\ufe0e\\ufe0f";var wt="\\u200d";var bt=RegExp("["+wt+ut+pt+mt+"]");function xt(e){return bt.test(e)}var Ct=xt;var yt="\\ud800-\\udfff",St="\\u0300-\\u036f",kt="\\ufe20-\\ufe2f",Rt="\\u20d0-\\u20ff",jt=St+kt+Rt,Ot="\\ufe0e\\ufe0f";var Et="["+yt+"]",Lt="["+jt+"]",Pt="\\ud83c[\\udffb-\\udfff]",zt="(?:"+Lt+"|"+Pt+")",Ht="[^"+yt+"]",Mt="(?:\\ud83c[\\udde6-\\uddff]){2}",It="[\\ud800-\\udbff][\\udc00-\\udfff]",Dt="\\u200d";var Ft=zt+"?",Tt="["+Ot+"]?",Nt="(?:"+Dt+"(?:"+[Ht,Mt,It].join("|")+")"+Tt+Ft+")*",$t=Tt+Ft+Nt,Bt="(?:"+[Ht+Lt+"?",Lt,Mt,It,Et].join("|")+")";var Vt=RegExp(Pt+"(?="+Pt+")|"+Bt+$t,"g");function At(e){var t=Vt.lastIndex=0;while(Vt.test(e)){++t}return t}var Ut=At;var qt=ct,Gt=Ct,Xt=Ut;function Wt(e){return Gt(e)?Xt(e):qt(e)}var Yt=Wt;var Jt=C,_t=y,Kt=n,Zt=ht,Qt=Yt;var er="[object Map]",tr="[object Set]";function rr(e){if(e==null){return 0}if(Kt(e)){return Zt(e)?Qt(e):e.length}var t=_t(e);if(t==er||t==tr){return e.size}return Jt(e).length}var ir=rr;class or extends N{async runSorting(e,t){var r;await this.sort(e,t);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(e,t){super(e,t);this.revogrid=e;this.sortingPromise=null;this.postponeSort=X((async(e,t)=>this.runSorting(e,t)),50);const r=async({detail:{type:e}})=>{if(!!this.sorting&&this.sortingFunc){const t=this.emit("beforesorting",{type:e});if(t.defaultPrevented){return}this.startSorting(this.sorting,this.sortingFunc)}};const i=async({detail:{order:e}})=>{const t=await this.revogrid.getColumns();const r={};for(let i in e){const o=this.getComparer($(t,i),e[i]);r[i]=o}this.runSorting(e,r)};const o=async e=>{var t,r;if(e.defaultPrevented){return}if(!e.detail.column.sortable){return}this.headerclick(e.detail.column,e.detail.index,(r=(t=e.detail)===null||t===void 0?void 0:t.originalEvent)===null||r===void 0?void 0:r.shiftKey)};this.addEventListener("beforeanysource",r);this.addEventListener("aftercolumnsset",i);this.addEventListener("beforeheaderclick",o)}startSorting(e,t){if(!this.sortingPromise){this.revogrid.jobsBeforeRender.push(new Promise((e=>{this.sortingPromise=e})))}this.postponeSort(e,t)}getComparer(e,t){var r;const i=((r=e===null||e===void 0?void 0:e.cellCompare)===null||r===void 0?void 0:r.bind({order:t}))||this.defaultCellCompare;if(t=="asc"){return i}if(t=="desc"){return this.descCellCompare(i)}return undefined}async headerclick(e,t,r){var i,o;let s=this.getNextOrder(e.order);const n=this.emit("beforesorting",{column:e,order:s,additive:r});if(n.defaultPrevented){return}s=n.detail.order;const a=await this.revogrid.updateColumnSorting(n.detail.column,t,s,r);const h=this.emit("beforesortingapply",{column:a,order:s,additive:r});if(h.defaultPrevented){return}s=h.detail.order;const l=this.getComparer(e,s);if(r&&this.sorting){const t={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),t);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(e.prop in t&&ir(t)>1&&s===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=s;r[e.prop]=l}}else{if(s){this.sorting={[e.prop]:s};this.sortingFunc={[e.prop]:l}}else{(i=this.sorting)===null||i===void 0?true:delete i[e.prop];(o=this.sortingFunc)===null||o===void 0?true:delete o[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(e,t,r=["rgRow","rowPinStart","rowPinEnd"]){if(!ir(e)){this.sorting=undefined;this.sortingFunc=undefined;for(let e of r){const t=await this.revogrid.getSourceStore(e);const r=t.get("source");const i=S(0,r.length);k(t,{proxyItems:i,source:[...r]})}}else{this.sorting=e;this.sortingFunc=t;for(let e of r){const r=await this.revogrid.getSourceStore(e);const i=r.get("source");const o=r.get("proxyItems");const s=this.sortIndexByItems([...o],i,t);k(r,{proxyItems:s,source:[...i]})}}this.emit("aftersortingapply")}defaultCellCompare(e,t,r){var i,o;const s=(i=t[e])===null||i===void 0?void 0:i.toString().toLowerCase();const n=(o=r[e])===null||o===void 0?void 0:o.toString().toLowerCase();return s==n?0:s>n?1:-1}descCellCompare(e){return(t,r,i)=>-1*e(t,r,i)}sortIndexByItems(e,t,r={}){if(Object.entries(r).length===0){return[...Array(e.length).keys()]}return e.sort(((e,i)=>{for(const[o,s]of Object.entries(r)){const r=t[e];const n=t[i];const a=s===null||s===void 0?void 0:s(o,r,n);if(a){return a}}return 0}))}getNextOrder(e){switch(e){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}function sr(e,t,r){if(e===e){if(r!==undefined){e=e<=r?e:r}if(t!==undefined){e=e>=t?e:t}}return e}var nr=sr;var ar=nr,hr=R;var lr=4294967295;function dr(e){return e?ar(hr(e),0,lr):0}var cr=dr;var ur=R,gr=cr;function fr(e,t,r,i){var o=e.length;r=ur(r);if(r<0){r=-r>o?0:o+r}i=i===undefined||i>o?o:ur(i);if(i<0){i+=o}i=r>i?0:gr(i);while(r<i){e[r++]=t}return e}var vr=fr;var pr=vr,mr=j;function wr(e,t,r,i){var o=e==null?0:e.length;if(!o){return[]}if(r&&typeof r!="number"&&mr(e,t,r)){r=0;i=o}return pr(e,t,r,i)}var br=wr;const xr={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const Cr=String.fromCharCode(13);const yr=String.fromCharCode(10);const Sr=String.fromCharCode(34);const kr=String.fromCharCode(65279);const Rr=new RegExp('"',"g");class jr{constructor(e={}){this.options=Object.assign(Object.assign({},xr),e)}doExport({data:e,headers:t,props:r}){let i=this.options.bom?kr:"";if((t===null||t===void 0?void 0:t.length)>0){t.forEach((e=>{if(!e.length){return}i+=this.prepareHeader(e,this.options.columnDelimiter);i+=this.options.rowDelimiter}))}e.forEach(((e,t)=>{if(t>0){i+=this.options.rowDelimiter}if(K(e)){i+=this.parseCell(Z(e),this.options.columnDelimiter);return}i+=r.map((t=>this.parseCell(e[t],this.options.columnDelimiter))).join(this.options.columnDelimiter)}));return i}prepareHeader(e,t){let r="";const i=e.map((e=>this.parseCell(e,t,true)));r+=i.join(t);return r}parseCell(e,t,r=false){let i=e;if(typeof e!=="string"){i=JSON.stringify(e)}const o=[Cr,Sr,yr,t];if(typeof i==="undefined"){return""}if(i!==""&&(r||o.some((e=>i.indexOf(e)>=0)))){return`"${i.replace(Rr,'""')}"`}return i}}var Or;(function(e){e["csv"]="csv"})(Or||(Or={}));class Er extends N{async exportString(e={},t=Or.csv){const r=await this.beforeexport();if(!r){return null}return this.formatter(t,e).doExport(r)}async exportBlob(e={},t=Or.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=Or.csv){const r=this.formatter(t,e);const i=window.URL||window.webkitURL;const o=document.createElement("a");const{filename:s,fileKind:n}=r.options;const a=`${s}.${n}`;const h=await this.getBlob(r);const l=h?i.createObjectURL(h):"";o.style.display="none";o.setAttribute("href",l);o.setAttribute("download",a);this.revogrid.appendChild(o);o.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(o);await O(120);i.revokeObjectURL(l)}async getBlob(e){const t=`${e.options.mime};charset=${e.options.encoding}`;if(typeof Blob!=="undefined"){const r=await this.beforeexport();if(!r){return null}return new Blob([e.doExport(r)],{type:t})}return null}async beforeexport(){let e=await this.getData();const t=this.emit("beforeexport",{data:e});if(t.defaultPrevented){return null}return t.detail.data}async getData(){const e=await this.getSource();const t=[];const 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)=>{if(!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);const r=t.get("source");const i=t.get("items");const o=t.get("groupingDepth");const s=t.get("groups");const n=[];const a=[];const h=i.reduce(((e,t,i)=>{const o=r[t].prop;n.push(r[t].name||"");a.push(o);e[o]=i;return e}),{});const l=this.getGroupHeaders(o,s,i,h);l.push(n);return{headers:l,props:a}}getGroupHeaders(e,t,r,i){const o=[];const s=br(new Array(r.length),"");for(let r=0;r<e;r++){const e=[...s];o.push(e);if(!t[r]){continue}const n=t[r];n.forEach((t=>{const r=this.findGroupStartIndex(t.ids,i);if(typeof r==="number"){e[r]=t.name}}))}return o}findGroupStartIndex(e,t){let r;e.forEach((e=>{const i=t[e];if(typeof i==="number"){if(typeof r!=="number"||r>i){r=i}}}));return r}async getSource(){const e=[];const t=[];I.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);return e.reduce(((e,t)=>{e.push(...t);return e}),[])}formatter(e,t={}){switch(e){case Or.csv:return new jr(t);default:throw new Error("Unknown format")}}}function Lr(e,t){const r=t[e];const i=r[ie];const o={};let s=e+1;const n=t.length;while(s<n){const e=t[s];if(K(e)){const t=e[ie];if(!t.length||!t.startsWith(i+",")){break}e[Q]=false}o[s++]=true}r[Q]=false;return{trimmed:o}}function Pr(e,t,r){const i=r[e];const o=t[i];const s=ee(o[oe]);const n={};if(!s){return{trimmed:n}}const a=[];o[Q]=true;let h=i+1;const l=t.length;let d=0;while(h<l){const e=t[h];const r=K(e);if(r){if(!te(s,o,e)){break}else if(!d){d=e[re]}}if(!d||r&&d===e[re]){n[h]=false;a.push(h)}h++}const c={trimmed:n};if(a.length){const t=[...r];t.splice(e+1,0,...a);c.items=t}return c}const zr="grouping";function Hr(e,t,r){const i={};for(let o in e){if(o===zr){continue}const s=e[o];const n={};for(let e in s){let a=t[e];if(r){a=r[a]}if(s[e]){n[a]=true;if(a!==parseInt(e,10)){i[o]=n}}}}return i}class Mr extends N{get hasProps(){var e,t,r;return((e=this.options)===null||e===void 0?void 0:e.props)&&((r=(t=this.options)===null||t===void 0?void 0:t.props)===null||r===void 0?void 0:r.length)}get store(){return this.providers.data.stores[se].store}get rowItems(){return this.store.get("items")}get trimmed(){return this.store.get("trimmed")}constructor(e,t){super(e,t);this.revogrid=e;this.providers=t}onFocus(e){if(K(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[zr];let i=E(this.store,e);const o=t[i];const s=o[Q];if(!s){const{trimmed:i,items:o}=Pr(e,t,this.rowItems);r=Object.assign(Object.assign({},r),i);if(o){L(this.store,o)}}else{const{trimmed:e}=Lr(i,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,zr)}getSource(e=false){const t=this.store.get("source");const r=this.store.get("proxyItems");let i=0;return r.reduce(((r,o)=>{const s=t[o];if(!e){r.source.push(s);return r}if(!K(s)){r.source.push(s);r.oldNewIndexes[o]=i;i++}else{if(s[Q]){r.prevExpanded[s[ie]]=true}}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][ne]=true;return true}return false}setColumns({columns:e}){for(let t of H){if(this.setColumnGrouping(e[t])){break}}}onDrag(e){const{from:t,to:r}=e.detail;const i=r-t>=0;const{source:o}=this.getSource();const s=this.rowItems;let n=i?t:r;const a=i?r:t;for(;n<a;n++){const t=o[s[n]];const r=K(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===et){const t=this.store.get("source");for(let r in e){if(e[r]&&K(t[r])){e[r]=false}}}}subscribe(){this.addEventListener("beforesourceset",(({detail:e})=>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",(()=>this.doSourceUpdate(Object.assign({},this.options))));this.addEventListener("beforecellfocus",(e=>this.onFocus(e)));this.addEventListener("roworderchanged",(e=>this.onDrag(e)));this.addEventListener(ae,(({detail:e})=>this.onExpand(e)))}doSourceUpdate(e){var t;if(!this.hasProps){return}const{source:r,prevExpanded:i,oldNewIndexes:o}=this.getSource(true);const{sourceWithGroups:s,depth:n,trimmed:a,oldNewIndexMap:h,childrenByGroup:l}=he(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:i},e));this.providers.data.setData(s,se,this.revogrid.disableVirtualY,{depth:n,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(a,l,o!==null&&o!==void 0?o:{},h)}onDataSet(e){var t;if(!this.hasProps||!(e===null||e===void 0?void 0:e.source)||!e.source.length){return}const r=e.source.filter((e=>!K(e)));const i=this.revogrid.grouping||{};const{sourceWithGroups:o,depth:s,trimmed:n,oldNewIndexMap:a,childrenByGroup:h}=he(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({},i||{}));e.source=o;this.providers.data.setGrouping({depth:s});this.updateTrimmed(n,h,a)}setGrouping(e){this.clearSubscriptions();this.options=e;if(!e.props||!Object.keys(e.props).length){this.clearGrouping();return}const{source:t}=this.getSource();if(t.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.subscribe()}clearGrouping(){H.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(le(e)){delete e[ne];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,se,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r={},i){const o=Hr(this.trimmed,r,i);for(let e in o){this.revogrid.addTrimmed(o[e],e)}this.revogrid.addTrimmed(Object.assign({},e),zr)}}function Ir(e){const t=e.dimensions[e.colType].store;const r=t.get("realSize");const i={contentWidth:r,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:`${r}px`}:undefined};const o={colData:v(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get("groups"),groupingDepth:e.colStore.get("groupingDepth"),resizeHandler:e.colType==="colPinEnd"?["l"]:undefined,onHeaderresize:e.onHeaderresize};return{prop:i,type:e.colType,position:e.position,headerProp:o,viewportCol:e.viewports[e.colType].store}}class Dr{constructor(e,t){var r,i;this.config=e;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const o=[];let s=0;H.forEach((r=>{const i=e.columnProvider.stores[r].store;if(!i.get("items").length){return}const n={colType:r,position:{x:s,y:1},contentHeight:t,fixWidth:r!=="rgCol",viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,colStore:i,onHeaderresize:e=>this.onColumnResize(r,e,i)};if(r==="rgCol"){n.onResizeviewport=t=>{var r;if(e.disableVirtualY&&t.detail.dimension==="rgRow"){return}else if(e.disableVirtualX&&t.detail.dimension==="rgCol"){return}(r=e.viewportProvider)===null||r===void 0?void 0:r.setViewport(t.detail.dimension,{virtualSize:t.detail.size})}}const a=Ir(n);const h=this.registerCol(a.position.x,r);const l=this.dataViewPort(n).reduce(((t,i)=>{const o=this.registerSegment(i.position);o.setLastCell(i.lastCell);const s=this.registerRow(i.position.y,i.type);const n=Object.assign(Object.assign({colType:r},i),{rowSelectionStore:s,segmentSelectionStore:o.store,ref:t=>e.selectionStoreConnector.registerSection(t),onSetrange:e=>{o.setRangeArea(e.detail)},onSettemprange:e=>o.setTempArea(e.detail),onFocuscell:t=>{o.clearFocus();e.selectionStoreConnector.focus(o,t.detail)}});t.push(n);return t}),[]);o.push(Object.assign(Object.assign({},a),{columnSelectionStore:h,dataPorts:l}));s++}));this.columns=o;(i=this.config.scrollingService)===null||i===void 0?void 0:i.unregister()}onColumnResize(e,{detail:t},r){var i;(i=this.config.dimensionProvider)===null||i===void 0?void 0:i.setCustomSizes(e,t,true);const o=c(t||{},((e,t,i)=>{const o=parseInt(i,10);const s=d(r,o);if(s){e[o]=Object.assign(Object.assign({},s),{size:t})}return e}),{});this.config.resize(o)}registerSegment(e){return this.config.selectionStoreConnector.register(e)}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:ce,rgRow:ue,rowPinEnd:ge};let r=0;return I.reduce(((i,o)=>{const s=e.viewports[o].store.get("realCount")||o==="rgRow";const n=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:s?r:q})});const a=de(n,o,t[o],o!=="rgRow");i.push(a);if(s){r++}return i}),[])}scrollToCell(e){for(let t in e){const r=e[t];if(typeof r==="number"){this.config.scrollingService.proxyScroll({dimension:t==="x"?"rgCol":"rgRow",coordinate:r})}}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e){return null}const t=this.config.selectionStoreConnector.storesXToType[e.position.x];const r=this.config.columnProvider.getColumn(e.cell.x,t);const i=this.config.selectionStoreConnector.storesYToType[e.position.y];const o=this.config.dataProvider.getModel(e.cell.y,i);return{column:r,model:o,cell:e.cell,colType:t,rowType:i}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(typeof r[e]==="undefined"||typeof r[t]==="undefined"){return}return{x:r[e],y:r[t]}}setFocus(e,t,r,i){var o;const s=this.getStoreCoordinateByType(e,t);if(s){(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.focusByCell(s,r,i)}}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,i){var o;const s=this.getStoreCoordinateByType(r,i);if(s){(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.setEditByCell(s,{x:t,y:e})}}}class Fr{constructor(e){this.setViewport=e;this.elements={}}async proxyScroll(e,t){var r;let i;let o=e;for(let o in this.elements){if(e.dimension==="rgCol"&&o==="headerRow"){continue}else if(this.isPinnedColumn(t)&&e.dimension==="rgCol"){if(o===t||!e.delta){continue}for(let t of this.elements[o]){if(t.changeScroll){i=t.changeScroll(e)}}}else{for(let t of this.elements[o]){await((r=t.setScroll)===null||r===void 0?void 0:r.call(t,e))}}}const s=await i;if(s){o=s}this.setViewport(o)}async scrollSilentService(e,t){var r;for(let i in this.elements){if(i===t){continue}if(H.includes(t)&&(i==="headerRow"||H.includes(i))){for(let t of this.elements[i]){await((r=t.changeScroll)===null||r===void 0?void 0:r.call(t,e,true))}continue}}}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){if(!this.elements[t]){this.elements[t]=[]}if(e){this.elements[t].push(e)}else if(this.elements[t]){delete this.elements[t]}}unregister(){this.elements={}}}class Tr{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:i}){var o;const{top:s}=e.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(t);this.moveTip({x:i.x,y:i.y});(o=this.el)===null||o===void 0?void 0:o.classList.remove("hidden")}end(){var e;(e=this.el)===null||e===void 0?void 0:e.classList.add("hidden")}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){if(!this.draggable){return}this.draggable.style.left=`${e}px`;this.draggable.style.top=`${t}px`}moveElement(e){if(!this.rgRow){return}this.rgRow.style.transform=`translateY(${e}px)`}}const Nr=({ref:t})=>{const r=new Tr;t(r);return 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 $r extends N{constructor(e,t){super(e,t);this.providers=t;this.stretchedColumn=null;this.scrollSize=P(document);const r=({detail:{columns:e}})=>this.applyStretch(e);this.addEventListener("beforecolumnapplied",r)}setScroll({type:e,hasScroll:t}){var r;if(e==="rgRow"&&this.stretchedColumn&&((r=this.stretchedColumn)===null||r===void 0?void 0:r.initialSize)===this.stretchedColumn.size){if(t){this.stretchedColumn.size-=this.scrollSize;this.apply();this.dropChanges()}}}activateChanges(){const e=({detail:e})=>this.setScroll(e);this.addEventListener("scrollchange",e)}dropChanges(){this.stretchedColumn=null;this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn){return}const e="rgCol";const 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}),true)}applyStretch(e){this.dropChanges();let t=this.revogrid.clientWidth-1;f(e,((e,r)=>{const i=this.providers.dimension.stores[r].store.get("realSize");t-=i}));if(this.revogrid.rowHeaders){const e=this.providers.data.stores.rgRow.store.get("source").length;const r=this.revogrid.rowHeaders;const i=Y(e,typeof r==="object"?r:undefined);if(i){t-=i}}if(t>0){const r=e.rgCol.length-1;const i=e.rgCol[r];const o=(i===null||i===void 0?void 0:i.size)||this.revogrid.colSize||0;const s=t+o-1;if(i&&!i.autoSize&&o<s){this.stretchedColumn={initialSize:s,index:r,size:s};this.apply();this.activateChanges()}}}}function Br(e){return!!e.applyStretch}const Vr=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]={}}if(r.size){if(!e.sizes){e.sizes={}}e.sizes[r.index]=r.size}}return t};const Ar=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]=[]}if(r.size){e.push(r.index)}}return t};const Ur="column-drag-start";class qr{constructor(){this.offset=0}renderAutoscroll(e,t){if(!t){return}this.autoscrollEl=document.createElement("div");this.autoscrollEl.classList.add("drag-auto-scroll-y");t.appendChild(this.autoscrollEl)}autoscroll(e,t,r="translateX"){if(!this.autoscrollEl){return}const i=10;const o=Math.min(e+i,t-3);this.autoscrollEl.style.transform=`${r}(${o}px)`;this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"})}start(e,{dataEl:t,gridRect:r,scrollEl:i,gridEl:o},s="left"){o.classList.add(Ur);const n=i.getBoundingClientRect();if(n){this.offset=n[s]-r[s]}this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(Ur);if(this.element){this.element.hidden=true}this.offset=0;(t=this.autoscrollEl)===null||t===void 0?void 0:t.remove();this.autoscrollEl=undefined}showHandler(e,t,r="translateX"){if(!this.element){return}if(this.offset){e=Math.max(e,this.offset)}e=Math.min(e,t);this.element.style.transform=`${r}(${e}px)`;this.element.hidden=false}render(){const e=this.element=document.createElement("div");e.classList.add("drag-position-y");e.hidden=true;return e}}const Gr=pe;const Xr="columndragmousemove";const Wr="columndragend";const Yr="beforecolumndragend";const Jr="columndragstart";class _r extends N{constructor(e,t){super(e,t);this.revogrid=e;this.providers=t;this.moveFunc=X((e=>this.doMove(e)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new qr;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(Gr,(({detail:e})=>this.dragStart(e)))}dragStart({event:e,data:t}){if(e.defaultPrevented){return}const{defaultPrevented:r}=ve(this.revogrid,Jr,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");const a=e.target.closest("revogr-viewport-scroll");if(!n||!a){return}if(B(t)||t.providers.type==="rowHeaders"){return}const h=this.getDimension(t.pin||"rgCol");const l=this.revogrid.getBoundingClientRect();const d=n.getBoundingClientRect();const c=z(h,Kr(e.x,l.left,d.left-l.left));this.staticDragData={startPos:e.x,startItem:c,data:t,dataEl:n,scrollEl:a,gridEl:this.revogrid,cols:h};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){return}const r=this.staticDragData.startPos;if(Math.abs(r-e.x)>10){const r=Kr(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const i=z(this.staticDragData.cols,r);this.orderUi.autoscroll(r,t.elRect.width);this.orderUi.showHandler(i.end+t.scrollOffset,t.gridRect.width)}}move(e){ve(this.revogrid,Xr,e);this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){if(this.dragData&&this.staticDragData){let t=Kr(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(t<0){t=0}const r=z(this.staticDragData.cols,t);const i=this.providers.column.stores[this.dragData.type].store;const o=[...i.get("items")];const{defaultPrevented:s}=ve(this.revogrid,Yr,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.splice(this.staticDragData.startItem.itemIndex,1);o.splice(r.itemIndex,0,...e);i.set("items",o)}ve(this.revogrid,Wr,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){f(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,data:r}){const i=e.getBoundingClientRect();const o=t.getBoundingClientRect();const s=o.left-i.left;return{elRect:o,gridRect:i,type:r.pin||"rgCol",scrollOffset:s}}getDimension(e){return this.providers.dimension.stores[e].getCurrentState()}}function Kr(e,t,r){return e-t-r}function Zr(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}const Qr='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.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-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}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 .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:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}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 #cecece 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 #cecece inset, 1px 0 0 0 #cecece 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 #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece 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 #e2e3e3 inset, -1px 0 0 0 #cecece 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 #cecece inset, -1px 0 0 0 #cecece 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 #cecece 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 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 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 .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 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=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}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";color:#d8d8d8}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=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}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";color:#d8d8d8}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=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}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] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-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 .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;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:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;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:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;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}';const ei=Qr;const ti=class{constructor(e){t(this,e);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=true;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[]}async refresh(e="all"){this.dataProvider.refresh(e)}async setDataAt(e){const t=this.element.querySelector(`revogr-data[type="${e.rowType}"][col-type="${e.colType}"]`);return t===null||t===void 0?void 0:t.updateCell({row:e.row,col:e.col})}async scrollToRow(e=0){const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){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){this.columnProvider.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){const i=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});if(i.defaultPrevented){return i}this.dataProvider.setTrimmed({[t]:i.detail.trimmed},r);this.aftertrimmed.emit();return i}async scrollToCoordinate(e){var t;(t=this.viewport)===null||t===void 0?void 0:t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var i;const o=$(this.columns,t);if(!o){return}await O();const s=o.pin||"rgCol";(i=this.viewport)===null||i===void 0?void 0: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;(o=this.viewport)===null||o===void 0?void 0:o.setFocus(r,i,e,t)}async getSource(e="rgRow"){return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){return v(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r,i){return this.columnProvider.updateColumnSorting(e,t,r,i)}async clearSorting(){this.columnProvider.clearSorting()}async getColumns(){return this.columnProvider.getColumns()}async clearFocus(){var e;const t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused();const r=this.beforefocuslost.emit(t);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused())!==null&&t!==void 0?t:null}async getContentSize(){var e;return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange())!==null&&t!==void 0?t:null}mousedownHandle(e){const t=me(e,"screenX");const r=me(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}async mouseupHandle(e){var t;const r=me(e,"screenX");const i=me(e,"screenY");if(r===null||i===null){return}if(e.defaultPrevented){return}const o=r+i;if(Math.abs(((t=this.clickTrackForFocusClear)!==null&&t!==void 0?t:0)-o)>10){return}const s=e.composedPath();if(!s.includes(this.element)&&!(this.element.shadowRoot&&s.includes(this.element.shadowRoot))){await this.clearFocus()}}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);if(r.defaultPrevented){e.preventDefault();return}(t=this.orderService)===null||t===void 0?void 0:t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;(e=this.orderService)===null||e===void 0?void 0:e.end()}onRowDrag({detail:e}){var t;(t=this.orderService)===null||t===void 0?void 0:t.move(e)}onRowMouseMove(e){var t;(t=this.orderService)===null||t===void 0?void 0:t.moveTip(e.detail)}async onCellEdit(e){const{defaultPrevented:t,detail:r}=this.beforeedit.emit(e.detail);await O();if(!t){this.dataProvider.setCellData(r);this.afteredit.emit(r)}}onRangeEdit(e){const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(e){const t=this.beforerange.emit(e.detail);if(t.defaultPrevented){e.preventDefault()}const r=this.beforeautofill.emit(t.detail);if(r.defaultPrevented){e.preventDefault()}}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);if(t){e.preventDefault()}}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));if(t){e.preventDefault()}}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);if(!this.canFocus||t){e.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[]){const t=V(e,0,this.columnTypes);this.beforecolumnsset.emit(t);this.dimensionProvider.applyNewColumns(t.columns,this.disableVirtualX);this.beforecolumnapplied.emit(t);const r=this.columnProvider.setColumns(t);this.aftercolumnsset.emit({columns:r,order:this.columnProvider.order})}disableVirtualXChanged(e=false,t=false){if(e===t){return}this.columnChanged(this.columns)}rowSizeChanged(e){this.dimensionProvider.setSettings({originItemSize:e},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(e,t,r="theme",i=false){this.themeService.register(e);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!i){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(e)}dataSourceChanged(e=[],t,r){let i="rgRow";switch(r){case"pinnedBottomSource":i="rowPinEnd";break;case"pinnedTopSource":i="rowPinStart";break;case"source":i="rgRow";const t=this.beforesourceset.emit({type:i,source:e});e=t.detail.source;break}const o=this.beforeanysource.emit({type:i,source:e});const s=[...o.detail.source];this.dataProvider.setData(s,i,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:i,source:e})}this.afteranysource.emit({type:i,source:e})}disableVirtualYChanged(e=false,t=false){if(e===t){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,i=true){const{detail:{vals:o,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const n=Vr(o);if(s){const e=Ar(s);for(const t in e){if(e.hasOwnProperty(t)){const e=t;const r=this.dataProvider.stores[e];const i=r.store.get("source").length;this.dimensionProvider.clearSize(e,i)}}}if(!o.length){if(i){this.dimensionProvider.setCustomSizes("rgRow",{})}else{return}}Object.entries(n).forEach((([e,t])=>{const r=e;this.dimensionProvider.setCustomSizes(r,t.sizes||{})}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){let t;for(let e of this.internalPlugins){const r=e;if(!!r.setGrouping){t=r;break}}t===null||t===void 0?void 0:t.setGrouping(e||{})}applyStretch(e){if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>Br(e)))[0];if(typeof e==="boolean"&&e||e==="true"){if(!t){const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};this.internalPlugins.push(new $r(this.element,e))}else if(Br(t)){t.applyStretch(this.columnProvider.getRawColumns())}}else if(t){const e=this.internalPlugins.indexOf(t);this.internalPlugins.splice(e,1)}}applyFilter(e){this.filterconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=[...this.extraElements,...e]}additionalDataChanged(e){this.additionaldatachanged.emit(e)}setPlugins(){var e;this.removePlugins();const t={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};if(this.autoSizeColumn){this.internalPlugins.push(new $e(this.element,t,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new rt(this.element,t,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new Er(this.element,t))}this.internalPlugins.push(new or(this.element,t));this.internalPlugins.push(new Mr(this.element,t));if(this.canMoveColumns){this.internalPlugins.push(new _r(this.element,t))}(e=this.plugins)===null||e===void 0?void 0:e.forEach((e=>this.internalPlugins.push(new e(this.element,t))))}removePlugins(){this.internalPlugins.forEach((e=>{var t;return(t=e.destroy)===null||t===void 0?void 0:t.call(e)}));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var e;this.viewportProvider=new Fe;this.themeService=new Se({rowSize:this.rowSize});this.dimensionProvider=new De(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new Me;this.selectionStoreConnector=new G;this.dataProvider=new Ie(this.dimensionProvider);this.registerOutsideVNodes(this.registerVNode);this.setPlugins();this.applyStretch(this.stretch);this.themeChanged(this.theme,undefined,undefined,true);this.columnChanged(this.columns);this.dataSourceChanged(this.source,undefined,"source");this.dataSourceChanged(this.pinnedTopSource,undefined,"pinnedTopSource");this.dataSourceChanged(this.pinnedBottomSource,undefined,"pinnedBottomSource");if(Object.keys((e=this.trimmedRows)!==null&&e!==void 0?e:{}).length>0){this.trimmedRowsChanged(this.trimmedRows)}this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new Fr((e=>{this.dimensionProvider.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}render(){const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new Dr({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,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:typeof this.rowHeaders==="object"?this.rowHeaders:undefined,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,"headerRow"),onRef:({detail:e})=>this.scrollingService.registerElement(e,"headerRow")}))}const o=Zr();const 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});const i=[e("revogr-header",Object.assign({key:"bada77126c317da09a9826312186c16617c7b0af"},r,{slot:ce}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`;const n=e("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:o,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:e})=>{const t=this.beforeeditstart.emit(e);if(!t.defaultPrevented){this.selectionStoreConnector.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:fe}),e("slot",{name:`data-${t.type}-${r.type}`})),e("revogr-temp-range",{selectionStore:r.segmentSelectionStore,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.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol},e("slot",{name:`focus-${t.type}-${r.type}`})));i.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}`),onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,`${t.prop.key}`)}),i))}r.push(s);const n="rgRow";const a="rgCol";const h=this.viewportProvider.stores;const l=this.dimensionProvider.stores;return e(i,{key:"9b95aef4de8af770036a733986e7e0fe2dd3ffda"},this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{key:"68dbc0fca826a0089402157d301c49a0776e9007",class:"main-viewport",onClick:e=>{var t;if(e.currentTarget===e.target){(t=this.viewport)===null||t===void 0?void 0:t.clearEdit()}}},e("div",{key:"6f927e04dd8c7e542a87fdc0a4f6d74248c65ccb",class:"viewports"},e("slot",{key:"b6d421fa412b34ce9821cd1fa30a80ae37282f37",name:"viewport"}),r,e("revogr-scroll-virtual",{key:"4ce3045201685f6c6c617c84fddc5a3d531034bd",class:"vertical",dimension:n,viewportStore:h[n].store,dimensionStore:l[n].store,ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e(Nr,{key:"e5bd92c37bdc31f0601a4d4cf4a62026e0e25406",ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{key:"dbda0fb90cf6a9eb6ac66ca16bcff30cf254b1e1",class:"horizontal",dimension:a,viewportStore:h[a].store,dimensionStore:l[a].store,ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),this.extraElements)}disconnectedCallback(){this.removePlugins()}get element(){return o(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"]}}};ti.style=ei;export{ti as revo_grid};
|
|
4
|
+
import{h as e,r as t,c as r,H as i,a as o}from"./index-a61f225b.js";import{_ as s,$ as n,a0 as a,a1 as l,D as h,b as d,W as c,e as u,s as g,a2 as f,a as v,f as p,j as m,R as w,X as b,a3 as x,a4 as C,a5 as y,a6 as S,v as k,a7 as R,a8 as j,q as O,g as E,d as L,n as P,i as z}from"./index-c428acf6.js";import{c as H,g as M,r as I,i as D,D as F,a as T,B as N,f as $,b as B,d as V}from"./column.utils-1a402ff9.js";import{_ as A,c as U}from"./toNumber-8de324a7.js";import{E as q,b as G}from"./selection.helpers-ac4368b0.js";import{d as X}from"./debounce-7781346d.js";import{V as W,f as Y}from"./row-header-utils-3a6f6adc.js";import{F as J,i as _}from"./filter.button-37373672.js";import{i as K,g as Z,G as Q,a as ee,b as te,c as re,P as ie,d as oe,e as se,f as ne,h as ae,j as le,k as he,v as de,H as ce,C as ue,F as ge,D as fe}from"./column.service-6f1faf2d.js";import{d as ve}from"./dispatcher-ea08404f.js";import{O as pe}from"./header-cell-renderer-66d01daa.js";import{g as me}from"./events-cf0893a3.js";class we{constructor(){this.defaultRowSize=32}}class be{constructor(){this.defaultRowSize=27}}class xe{constructor(){this.defaultRowSize=42}}const Ce="default";const ye=[Ce,"material","compact","darkMaterial","darkCompact"];class Se{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){const t=Se.getTheme(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new xe;break;case"compact":case"darkCompact":this.currentTheme=new we;break;default:this.currentTheme=new be;break}}static getTheme(e){if(e&&ye.indexOf(e)>-1){return e}return Ce}}var ke=s,Re=n,je=a;function Oe(e){return function(t,r,i){var o=Object(t);if(!Re(t)){var s=ke(r);t=je(t);r=function(e){return s(o[e],e,o)}}var n=e(t,r,i);return n>-1?o[s?t[n]:n]:undefined}}var Ee=Oe;var Le=Ee,Pe=l;var ze=Le(Pe);var He=ze;class Me{get order(){const e={};const t=this.sorting;if(t){Object.keys(t).forEach((r=>{e[r]=t[r].order}))}return e}get stores(){return this.dataSources}constructor(){this.sorting=null;this.dataSources=H.reduce(((e,t)=>{e[t]=new h(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return d(this.dataSources[t].store,e)}getRawColumns(){return c(this.dataSources,((e,t,r)=>{e[r]=t.store.get("source");return e}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){if(e!=="all"){return this.dataSources[e].store.get("source")}return H.reduce(((e,t)=>{e.push(...this.dataSources[t].store.get("source"));return e}),[])}getColumnIndexByProp(e,t){return u(this.dataSources[t].store,e)}getColumnByProp(e,t){const r=this.dataSources[t].store.get("source");return He(r,{prop:e})}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){H.forEach((t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce(((e,t)=>{if(!e[t.level]){e[t.level]=[]}e[t.level].push(t);return e}),{})})}));this.sorting=e.sort;return e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=M(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};for(const e in t){if(!t.hasOwnProperty(e)){continue}const i=e;const o=t[i];const s=this.dataSources[i].store.get("source");r[i]={};for(let e=0;e<s.length;e++){const t=s[e];const n=o===null||o===void 0?void 0:o[t.prop];if(n){r[i][e]=n}}}for(const e in r){if(!r.hasOwnProperty(e)){continue}const t=e;g(this.dataSources[t].store,r[t]||{})}}updateColumn(e,t){const r=M(e);g(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,i){if(!i){this.clearSorting()}e.order=r;if(!this.sorting){this.sorting={}}this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=c(this.sorting,((e,t)=>{const r=M(t);e[r]=true;return e}),{});f(e,((e,t)=>{const r=this.dataSources[t].store.get("source");f(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}}class Ie{constructor(e){this.dimensionProvider=e;this.stores=c(I,((e,t)=>{e[t]=new h(t);return e}),{})}setData(e,t="rgRow",r=false,i,o=false){this.stores[t].updateData([...e],i,o);const s=t!=="rgRow"||r;this.dimensionProvider.setData(e.length,t,s);return e}getModel(e,t="rgRow"){const r=this.stores[t].store;return d(r,e)}setCellData({type:e,rowIndex:t,prop:r,val:i},o=true){const s=this.getModel(t,e);s[r]=i;g(this.stores[e].store,{[t]:s},o)}setRangeData(e,t){const r={};for(let i in e){const o=r[i]=d(this.stores[t].store,parseInt(i,10));if(!o){continue}for(let t in e[i]){o[t]=e[i][t]}}g(this.stores[t].store,r)}refresh(e="all"){if(D(e)){this.refreshItems(e)}I.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);if(t==="rgRow"){this.dimensionProvider.setData(v(r.store).length,t)}}}class De{constructor(e,t){this.viewports=e;const r=X((e=>t.realSizeChanged(e)),w);this.stores=c([...I,...H],((e,t)=>{e[t]=new F;e[t].store.onChange("realSize",(()=>r(t)));return 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=false){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.updateViewport(e,true)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=p(e);const i=this.stores[t];i.setStore({trimmed:r});this.updateViewport(t,true)}setData(e,t,r=false){this.setItemCount(e,t);if(r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.updateViewport(t)}applyNewColumns(e,t){for(let r of H){this.stores[r].drop();const i=e[r];const o=r!=="rgCol"||t;this.stores[r].setStore({count:i.length});const s=T(i);this.stores[r].setDimensionSize(s);const n={realCount:i.length};if(o){n.virtualSize=this.stores[r].getCurrentState().realSize}this.viewports.stores[r].setViewport(n);this.setViewPortCoordinate({coordinate:this.viewports.stores[r].lastCoordinate,type:r})}}getFullSize(){var e,t;let r=0;let i=0;for(let t of H){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of I){i+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:i,x:r}}updateViewport(e,t=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e,force:t})}setViewPortCoordinate({coordinate:e,type:t,force:r=false}){const i=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,i,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=m(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=H;break;case"rgRow":r=I;break}for(let t of r){this.stores[t].setStore(e)}}}class Fe{constructor(){this.stores=c([...I,...H],((e,t)=>{e[t]=new W(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}const Te=7;var Ne;(function(e){e["headerClickAutosize"]="headerClickAutoSize";e["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";e["autoSizeAll"]="autoSizeAll"})(Ne||(Ne={}));class $e extends N{constructor(e,t,r){super(e,t);this.providers=t;this.config=r;this.autoSizeColumns=null;this.dataResolve=null;this.dataReject=null;this.letterBlockSize=(r===null||r===void 0?void 0:r.letterBlockSize)||Te;if(r===null||r===void 0?void 0:r.preciseSize){this.precsizeCalculationArea=this.initiatePresizeElement();e.appendChild(this.precsizeCalculationArea)}const i=({detail:{source:e}})=>{this.setSource(e)};const o=({detail:e})=>{this.afteredit(e)};const s=({detail:e})=>{this.afterEditAll(e)};const n=({detail:{columns:e}})=>{this.columnSet(e)};const a=({detail:e})=>{const t=M(e.column);const r=this.getColumnSize(e.index,t);if(r){this.providers.dimension.setCustomSizes(t,{[e.index]:r},true)}};this.addEventListener("beforecolumnsset",n);switch(r===null||r===void 0?void 0:r.mode){case Ne.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",o);break;case Ne.autoSizeAll:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",s);break;default:this.addEventListener("headerdblclick",a);break}}async setSource(e){let t=this.autoSizeColumns;if(this.dataReject){this.dataReject();this.clearPromise()}if(!t){const e=new Promise(((e,t)=>{this.dataResolve=e;this.dataReject=t}));try{t=await e}catch(e){return}}f(t,((r,i)=>{const o={};f(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,true)}))}getLength(e){var t;const r=15;if(!e){return 0}try{const i=e.toString();if((t=this.config)===null||t===void 0?void 0:t.preciseSize){this.precsizeCalculationArea.innerText=i;return this.precsizeCalculationArea.scrollWidth+r*2}return i.length*this.letterBlockSize+r*2}catch(e){return 0}}afteredit(e){let t;if(this.isRangeEdit(e)){t=e.data}else{t={0:{[e.prop]:e.val}}}f(this.autoSizeColumns,((e,r)=>{const i={};f(e,(e=>{var r;const o=c(t,((t,r)=>{if(typeof r[e.prop]==="undefined"){return t}return Math.max(t||0,this.getLength(r[e.prop]))}),undefined);if(o&&((r=e.size)!==null&&r!==void 0?r:0)<o){e.size=i[e.index]=o}}));this.providers.dimension.setCustomSizes(r,i,true)}))}afterEditAll(e){const t={};if(this.isRangeEdit(e)){f(e.data,(e=>f(e,((e,r)=>t[r]=true))))}else{t[e.prop]=true}f(this.autoSizeColumns,((e,r)=>{const i={};f(e,(e=>{if(t[e.prop]){const t=this.getColumnSize(e.index,r);if(t){i[e.index]=t}}}));this.providers.dimension.setCustomSizes(r,i,true)}))}getColumnSize(e,t){var r,i;const o=(i=(r=this.autoSizeColumns)===null||r===void 0?void 0:r[t])===null||i===void 0?void 0:i[e];if(!o){return 0}return c(this.providers.data.stores,((e,t)=>{const r=c(t.store.get("items"),((e,r,i)=>{const s=d(t.store,i);return Math.max(e||0,this.getLength(s===null||s===void 0?void 0:s[o.prop]))}),0);return Math.max(e,r)}),o.size||0)}columnSet(e){var t;for(let r of H){const i=r;const o=e[i];for(let e in o){if(o[e].autoSize||((t=this.config)===null||t===void 0?void 0:t.allColumns)){if(!this.autoSizeColumns){this.autoSizeColumns={}}if(!this.autoSizeColumns[i]){this.autoSizeColumns[i]={}}this.autoSizeColumns[i][e]=Object.assign(Object.assign({},o[e]),{index:parseInt(e,10)})}}}if(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"};const r=document.createElement("div");for(let i in t){r.style[i]=(e=t[i])!==null&&e!==void 0?e:""}r.classList.add("revo-test-container");return r}destroy(){var e;super.destroy();(e=this.precsizeCalculationArea)===null||e===void 0?void 0:e.remove()}}const Be=(e,t)=>{if(typeof e==="undefined"||e===null&&!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}const r=t===null||t===void 0?void 0:t.toString().toLocaleLowerCase();if((r===null||r===void 0?void 0:r.length)===0){return true}return e.toLocaleLowerCase()===r};const Ve=(e,t)=>!Be(e,t);Ve.extra="input";Be.extra="input";const Ae=function(e,t){let r;if(typeof e==="number"&&typeof t!=="undefined"&&t!==null){r=parseFloat(t===null||t===void 0?void 0:t.toString());return e>r}return false};Ae.extra="input";const Ue=function(e,t){return Be(e,t)||Ae(e,t)};Ue.extra="input";const qe=function(e,t){let r;if(typeof e==="number"&&typeof t!=="undefined"&&t!==null){r=parseFloat(t.toString());return e<r}else{return false}};qe.extra="input";const Ge=function(e,t){return Be(e,t)||qe(e,t)};Ge.extra="input";const Xe=e=>!(e===""||e===null||e===void 0);const We=e=>!Xe(e);const Ye=(e,t)=>{if(!e){return false}if(!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}if(typeof t!=="string"){t=JSON.stringify(t)}return e.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())===0};Ye.extra="input";const Je=(e,t)=>{if(!t){return true}if(!e){return false}if(t){if(typeof e!=="string"){e=JSON.stringify(e)}return e.toLocaleLowerCase().indexOf(t.toString().toLowerCase())>-1}return true};const _e=(e,t)=>!Je(e,t);_e.extra="input";Je.extra="input";const Ke={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:"<="};const Ze={none:()=>true,empty:We,notEmpty:Xe,eq:Be,notEq:Ve,begins:Ye,contains:Je,notContains:_e,eqN:Be,neqN:Ve,gt:Ae,gte:Ue,lt:qe,lte:Ge};const Qe={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const et="filter";const tt="filterconfigchanged";class rt extends N{constructor(t,r,i){var o;super(t,r);this.revogrid=t;this.filterCollection={};this.multiFilterItems={};this.possibleFilters=Object.assign({},Qe);this.possibleFilterNames=Object.assign({},Ke);this.possibleFilterEntities=Object.assign({},Ze);this.filterProp=J;if(i){this.initConfig(i)}const s=e=>this.headerclick(e);const n=async()=>{const e=Object.keys(this.filterCollection);if(e.length>0){e.forEach(((e,t)=>{if(!this.multiFilterItems[e]){this.multiFilterItems[e]=[{id:t,type:this.filterCollection[e].type,value:this.filterCollection[e].value,relation:"and"}]}}))}await this.runFiltering()};this.addEventListener("headerclick",s);this.addEventListener(tt,(({detail:e})=>{if(!e){this.clearFiltering();return}if(typeof e==="object"){this.initConfig(e)}n()}));this.addEventListener("aftersourceset",n);this.addEventListener("filter",(({detail:e})=>this.onFilterChange(e)));const a=this.revogrid.registerVNode.filter((e=>e.t!=="revogr-filter-panel"));this.revogrid.registerVNode=[...a,e("revogr-filter-panel",{filterItems:this.multiFilterItems,filterNames:this.possibleFilterNames,filterEntities:this.possibleFilterEntities,filterCaptions:(o=i===null||i===void 0?void 0:i.localization)===null||o===void 0?void 0:o.captions,onFilterChange:e=>this.onFilterChange(e.detail),disableDynamicFiltering:i===null||i===void 0?void 0:i.disableDynamicFiltering,ref:e=>this.pop=e})]}initConfig(e){if(e.multiFilterItems){this.multiFilterItems=Object.assign({},e.multiFilterItems)}if(e.customFilters){for(let t in e.customFilters){const r=e.customFilters[t];if(!this.possibleFilters[r.columnFilterType]){this.possibleFilters[r.columnFilterType]=[]}this.possibleFilters[r.columnFilterType].push(t);this.possibleFilterEntities[t]=r.func;this.possibleFilterNames[t]=r.name}}if(e.filterProp){this.filterProp=e.filterProp}const t=e.include;if(t){const e={};for(let r in this.possibleFilters){const i=this.possibleFilters[r].filter((e=>t.indexOf(e)>-1));if(i.length){e[r]=i}}if(Object.keys(e).length>0){this.possibleFilters=e}}if(e.collection){this.filterCollection=c(e.collection,((e,t,r)=>{if(this.possibleFilterEntities[t.type]){e[r]=t}else{console.warn(`${t.type} type is not found.`)}return e}),{})}if(e.localization){if(e.localization.filterNames){Object.entries(e.localization.filterNames).forEach((([e,t])=>{if(this.possibleFilterNames[e]!=void 0){this.possibleFilterNames[e]=t}}))}}}async headerclick(e){var t,r,i;const o=(t=e.detail.originalEvent)===null||t===void 0?void 0:t.target;if(!_(o)){return}e.preventDefault();const s=await((r=this.pop)===null||r===void 0?void 0:r.getChanges());if(s&&(s===null||s===void 0?void 0:s.prop)===e.detail.prop){(i=this.pop)===null||i===void 0?void 0:i.show();return}if(!this.pop){return}const n=this.revogrid.getBoundingClientRect();const a=o.getBoundingClientRect();const l=e.detail.prop;this.pop.filterTypes=this.getColumnFilter(e.detail.filter);this.pop.show(Object.assign(Object.assign({},this.filterCollection[l]),{x:a.x-n.x,y:a.y-n.y+a.height,autoCorrect:true,prop:l}))}getColumnFilter(e){let t="string";if(!e){return{[t]:this.possibleFilters[t]}}if(this.isValidType(e)){t=e}else if(typeof e==="object"&&e.length){return e.reduce(((e,t)=>{if(this.isValidType(t)){e[t]=this.possibleFilters[t]}return e}),{})}return{[t]:this.possibleFilters[t]}}isValidType(e){return!!(typeof e==="string"&&this.possibleFilters[e])}async onFilterChange(e){this.multiFilterItems=e;this.runFiltering()}async doFiltering(e,t,r,i){const o=[];r.forEach((e=>{const t=Object.assign({},e);const r=i[t.prop];if(t[this.filterProp]&&!r){delete t[this.filterProp];o.push(t)}if(!t[this.filterProp]&&r){o.push(t);t[this.filterProp]=true}}));const s=this.getRowFilter(t,i);const{defaultPrevented:n,detail:a}=this.emit("beforefiltertrimmed",{collection:e,itemsToFilter:s,source:t,filterItems:i});if(n){return}const l=await this.revogrid.addTrimmed(a.itemsToFilter,et);if(l.defaultPrevented){return}await this.revogrid.updateColumns(o);this.emit("afterfilterapply")}async clearFiltering(){this.multiFilterItems={};await this.runFiltering()}async runFiltering(){const e={};const t=Object.keys(this.multiFilterItems);for(const r of t){if(this.multiFilterItems[r].length>0){const t=this.multiFilterItems[r][0];e[r]={filter:Ze[t.type],type:t.type,value:t.value}}}this.filterCollection=e;const{source:r,columns:i}=await this.getData();const{defaultPrevented:o,detail:s}=this.emit("beforefilterapply",{collection:this.filterCollection,source:r,columns:i,filterItems:this.multiFilterItems});if(o){return}this.doFiltering(s.collection,s.source,s.columns,s.filterItems)}async getData(){return{source:await this.revogrid.getSource(),columns:await this.revogrid.getColumns()}}getRowFilter(e,t){const r=Object.keys(t);const i={};let o=0;let s=[];e.forEach(((e,n)=>{for(const a of r){const r=t[a];o=0;s=[];for(const[t,i]of r.entries()){const n=this.possibleFilterEntities[i.type];if(i.relation==="or"){s=[];if(n(e[a],i.value)){continue}o++}else{s.push(!n(e[a],i.value));const l=r[t+1];if(!l||l.relation!=="and"){if(s.indexOf(true)===-1){s=[];continue}o+=s.length;s=[]}}}if(o===r.length)i[n]=true}}));return i}}var it=A,ot=b,st=U;var nt="[object String]";function at(e){return typeof e=="string"||!ot(e)&&st(e)&&it(e)==nt}var lt=at;var ht=x;var dt=ht("length");var ct=dt;var ut="\\ud800-\\udfff",gt="\\u0300-\\u036f",ft="\\ufe20-\\ufe2f",vt="\\u20d0-\\u20ff",pt=gt+ft+vt,mt="\\ufe0e\\ufe0f";var wt="\\u200d";var bt=RegExp("["+wt+ut+pt+mt+"]");function xt(e){return bt.test(e)}var Ct=xt;var yt="\\ud800-\\udfff",St="\\u0300-\\u036f",kt="\\ufe20-\\ufe2f",Rt="\\u20d0-\\u20ff",jt=St+kt+Rt,Ot="\\ufe0e\\ufe0f";var Et="["+yt+"]",Lt="["+jt+"]",Pt="\\ud83c[\\udffb-\\udfff]",zt="(?:"+Lt+"|"+Pt+")",Ht="[^"+yt+"]",Mt="(?:\\ud83c[\\udde6-\\uddff]){2}",It="[\\ud800-\\udbff][\\udc00-\\udfff]",Dt="\\u200d";var Ft=zt+"?",Tt="["+Ot+"]?",Nt="(?:"+Dt+"(?:"+[Ht,Mt,It].join("|")+")"+Tt+Ft+")*",$t=Tt+Ft+Nt,Bt="(?:"+[Ht+Lt+"?",Lt,Mt,It,Et].join("|")+")";var Vt=RegExp(Pt+"(?="+Pt+")|"+Bt+$t,"g");function At(e){var t=Vt.lastIndex=0;while(Vt.test(e)){++t}return t}var Ut=At;var qt=ct,Gt=Ct,Xt=Ut;function Wt(e){return Gt(e)?Xt(e):qt(e)}var Yt=Wt;var Jt=C,_t=y,Kt=n,Zt=lt,Qt=Yt;var er="[object Map]",tr="[object Set]";function rr(e){if(e==null){return 0}if(Kt(e)){return Zt(e)?Qt(e):e.length}var t=_t(e);if(t==er||t==tr){return e.size}return Jt(e).length}var ir=rr;class or extends N{async runSorting(e,t){var r;await this.sort(e,t);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(e,t){super(e,t);this.revogrid=e;this.sortingPromise=null;this.postponeSort=X((async(e,t)=>this.runSorting(e,t)),50);const r=async({detail:{type:e}})=>{if(!!this.sorting&&this.sortingFunc){const t=this.emit("beforesorting",{type:e});if(t.defaultPrevented){return}this.startSorting(this.sorting,this.sortingFunc)}};const i=async({detail:{order:e}})=>{const t=await this.revogrid.getColumns();const r={};for(let i in e){const o=this.getComparer($(t,i),e[i]);r[i]=o}this.runSorting(e,r)};const o=async e=>{var t,r;if(e.defaultPrevented){return}if(!e.detail.column.sortable){return}this.headerclick(e.detail.column,e.detail.index,(r=(t=e.detail)===null||t===void 0?void 0:t.originalEvent)===null||r===void 0?void 0:r.shiftKey)};this.addEventListener("beforeanysource",r);this.addEventListener("aftercolumnsset",i);this.addEventListener("beforeheaderclick",o)}startSorting(e,t){if(!this.sortingPromise){this.revogrid.jobsBeforeRender.push(new Promise((e=>{this.sortingPromise=e})))}this.postponeSort(e,t)}getComparer(e,t){var r;const i=((r=e===null||e===void 0?void 0:e.cellCompare)===null||r===void 0?void 0:r.bind({order:t}))||this.defaultCellCompare;if(t=="asc"){return i}if(t=="desc"){return this.descCellCompare(i)}return undefined}async headerclick(e,t,r){var i,o;let s=this.getNextOrder(e.order);const n=this.emit("beforesorting",{column:e,order:s,additive:r});if(n.defaultPrevented){return}s=n.detail.order;const a=await this.revogrid.updateColumnSorting(n.detail.column,t,s,r);const l=this.emit("beforesortingapply",{column:a,order:s,additive:r});if(l.defaultPrevented){return}s=l.detail.order;const h=this.getComparer(e,s);if(r&&this.sorting){const t={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),t);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(e.prop in t&&ir(t)>1&&s===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=s;r[e.prop]=h}}else{if(s){this.sorting={[e.prop]:s};this.sortingFunc={[e.prop]:h}}else{(i=this.sorting)===null||i===void 0?true:delete i[e.prop];(o=this.sortingFunc)===null||o===void 0?true:delete o[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(e,t,r=["rgRow","rowPinStart","rowPinEnd"]){if(!ir(e)){this.sorting=undefined;this.sortingFunc=undefined;for(let e of r){const t=await this.revogrid.getSourceStore(e);const r=t.get("source");const i=S(0,r.length);k(t,{proxyItems:i,source:[...r]})}}else{this.sorting=e;this.sortingFunc=t;for(let e of r){const r=await this.revogrid.getSourceStore(e);const i=r.get("source");const o=r.get("proxyItems");const s=this.sortIndexByItems([...o],i,t);k(r,{proxyItems:s,source:[...i]})}}this.emit("aftersortingapply")}defaultCellCompare(e,t,r){var i,o;const s=(i=t[e])===null||i===void 0?void 0:i.toString().toLowerCase();const n=(o=r[e])===null||o===void 0?void 0:o.toString().toLowerCase();return s==n?0:s>n?1:-1}descCellCompare(e){return(t,r,i)=>-1*e(t,r,i)}sortIndexByItems(e,t,r={}){if(Object.entries(r).length===0){return[...Array(e.length).keys()]}return e.sort(((e,i)=>{for(const[o,s]of Object.entries(r)){const r=t[e];const n=t[i];const a=s===null||s===void 0?void 0:s(o,r,n);if(a){return a}}return 0}))}getNextOrder(e){switch(e){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}function sr(e,t,r){if(e===e){if(r!==undefined){e=e<=r?e:r}if(t!==undefined){e=e>=t?e:t}}return e}var nr=sr;var ar=nr,lr=R;var hr=4294967295;function dr(e){return e?ar(lr(e),0,hr):0}var cr=dr;var ur=R,gr=cr;function fr(e,t,r,i){var o=e.length;r=ur(r);if(r<0){r=-r>o?0:o+r}i=i===undefined||i>o?o:ur(i);if(i<0){i+=o}i=r>i?0:gr(i);while(r<i){e[r++]=t}return e}var vr=fr;var pr=vr,mr=j;function wr(e,t,r,i){var o=e==null?0:e.length;if(!o){return[]}if(r&&typeof r!="number"&&mr(e,t,r)){r=0;i=o}return pr(e,t,r,i)}var br=wr;const xr={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const Cr=String.fromCharCode(13);const yr=String.fromCharCode(10);const Sr=String.fromCharCode(34);const kr=String.fromCharCode(65279);const Rr=new RegExp('"',"g");class jr{constructor(e={}){this.options=Object.assign(Object.assign({},xr),e)}doExport({data:e,headers:t,props:r}){let i=this.options.bom?kr:"";if((t===null||t===void 0?void 0:t.length)>0){t.forEach((e=>{if(!e.length){return}i+=this.prepareHeader(e,this.options.columnDelimiter);i+=this.options.rowDelimiter}))}e.forEach(((e,t)=>{if(t>0){i+=this.options.rowDelimiter}if(K(e)){i+=this.parseCell(Z(e),this.options.columnDelimiter);return}i+=r.map((t=>this.parseCell(e[t],this.options.columnDelimiter))).join(this.options.columnDelimiter)}));return i}prepareHeader(e,t){let r="";const i=e.map((e=>this.parseCell(e,t,true)));r+=i.join(t);return r}parseCell(e,t,r=false){let i=e;if(typeof e!=="string"){i=JSON.stringify(e)}const o=[Cr,Sr,yr,t];if(typeof i==="undefined"){return""}if(i!==""&&(r||o.some((e=>i.indexOf(e)>=0)))){return`"${i.replace(Rr,'""')}"`}return i}}var Or;(function(e){e["csv"]="csv"})(Or||(Or={}));class Er extends N{async exportString(e={},t=Or.csv){const r=await this.beforeexport();if(!r){return null}return this.formatter(t,e).doExport(r)}async exportBlob(e={},t=Or.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=Or.csv){const r=this.formatter(t,e);const i=window.URL||window.webkitURL;const o=document.createElement("a");const{filename:s,fileKind:n}=r.options;const a=`${s}.${n}`;const l=await this.getBlob(r);const h=l?i.createObjectURL(l):"";o.style.display="none";o.setAttribute("href",h);o.setAttribute("download",a);this.revogrid.appendChild(o);o.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(o);await O(120);i.revokeObjectURL(h)}async getBlob(e){const t=`${e.options.mime};charset=${e.options.encoding}`;if(typeof Blob!=="undefined"){const r=await this.beforeexport();if(!r){return null}return new Blob([e.doExport(r)],{type:t})}return null}async beforeexport(){let e=await this.getData();const t=this.emit("beforeexport",{data:e});if(t.defaultPrevented){return null}return t.detail.data}async getData(){const e=await this.getSource();const t=[];const 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)=>{if(!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);const r=t.get("source");const i=t.get("items");const o=t.get("groupingDepth");const s=t.get("groups");const n=[];const a=[];const l=i.reduce(((e,t,i)=>{const o=r[t].prop;n.push(r[t].name||"");a.push(o);e[o]=i;return e}),{});const h=this.getGroupHeaders(o,s,i,l);h.push(n);return{headers:h,props:a}}getGroupHeaders(e,t,r,i){const o=[];const s=br(new Array(r.length),"");for(let r=0;r<e;r++){const e=[...s];o.push(e);if(!t[r]){continue}const n=t[r];n.forEach((t=>{const r=this.findGroupStartIndex(t.ids,i);if(typeof r==="number"){e[r]=t.name}}))}return o}findGroupStartIndex(e,t){let r;e.forEach((e=>{const i=t[e];if(typeof i==="number"){if(typeof r!=="number"||r>i){r=i}}}));return r}async getSource(){const e=[];const t=[];I.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);return e.reduce(((e,t)=>{e.push(...t);return e}),[])}formatter(e,t={}){switch(e){case Or.csv:return new jr(t);default:throw new Error("Unknown format")}}}function Lr(e,t){const r=t[e];const i=r[ie];const o={};let s=e+1;const n=t.length;while(s<n){const e=t[s];if(K(e)){const t=e[ie];if(!t.length||!t.startsWith(i+",")){break}e[Q]=false}o[s++]=true}r[Q]=false;return{trimmed:o}}function Pr(e,t,r){const i=r[e];const o=t[i];const s=ee(o[oe]);const n={};if(!s){return{trimmed:n}}const a=[];o[Q]=true;let l=i+1;const h=t.length;let d=0;while(l<h){const e=t[l];const r=K(e);if(r){if(!te(s,o,e)){break}else if(!d){d=e[re]}}if(!d||r&&d===e[re]){n[l]=false;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 zr="grouping";function Hr(e,t,r){const i={};for(let o in e){if(o===zr){continue}const s=e[o];const n={};for(let e in s){let a=t[e];if(r){a=r[a]}if(s[e]){n[a]=true;if(a!==parseInt(e,10)){i[o]=n}}}}return i}class Mr extends N{get hasProps(){var e,t,r;return((e=this.options)===null||e===void 0?void 0:e.props)&&((r=(t=this.options)===null||t===void 0?void 0:t.props)===null||r===void 0?void 0:r.length)}get store(){return this.providers.data.stores[se].store}get rowItems(){return this.store.get("items")}get trimmed(){return this.store.get("trimmed")}constructor(e,t){super(e,t);this.revogrid=e;this.providers=t}onFocus(e){if(K(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[zr];let i=E(this.store,e);const o=t[i];const s=o[Q];if(!s){const{trimmed:i,items:o}=Pr(e,t,this.rowItems);r=Object.assign(Object.assign({},r),i);if(o){L(this.store,o)}}else{const{trimmed:e}=Lr(i,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,zr)}getSource(e=false){const t=this.store.get("source");const r=this.store.get("proxyItems");let i=0;return r.reduce(((r,o)=>{const s=t[o];if(!e){r.source.push(s);return r}if(K(s)){if(s[Q]){r.prevExpanded[s[ie]]=true}}else{r.source.push(s);r.oldNewIndexes[o]=i;i++}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][ne]=true;return true}return false}setColumns({columns:e}){for(let t of H){if(this.setColumnGrouping(e[t])){break}}}onDrag(e){const{from:t,to:r}=e.detail;const i=r-t>=0;const{source:o}=this.getSource();const s=this.rowItems;let n=i?t:r;const a=i?r:t;for(;n<a;n++){const t=o[s[n]];const r=K(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===et){const t=this.store.get("source");for(let r in e){if(e[r]&&K(t[r])){e[r]=false}}}}subscribe(){this.addEventListener("beforesourceset",(({detail:e})=>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",(()=>this.doSourceUpdate(Object.assign({},this.options))));this.addEventListener("beforecellfocus",(e=>this.onFocus(e)));this.addEventListener("roworderchanged",(e=>this.onDrag(e)));this.addEventListener(ae,(({detail:e})=>this.onExpand(e)))}doSourceUpdate(e){var t;if(!this.hasProps){return}const{source:r,prevExpanded:i,oldNewIndexes:o}=this.getSource(true);const{sourceWithGroups:s,depth:n,trimmed:a,oldNewIndexMap:l,childrenByGroup:h}=le(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:i},e));this.providers.data.setData(s,se,this.revogrid.disableVirtualY,{depth:n,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(a,h,o!==null&&o!==void 0?o:{},l)}onDataSet(e){var t;if(!this.hasProps||!(e===null||e===void 0?void 0:e.source)||!e.source.length){return}const r=e.source.filter((e=>!K(e)));const i=this.revogrid.grouping||{};const{sourceWithGroups:o,depth:s,trimmed:n,oldNewIndexMap:a,childrenByGroup:l}=le(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({},i||{}));e.source=o;this.providers.data.setGrouping({depth:s});this.updateTrimmed(n,l,a)}setGrouping(e){this.clearSubscriptions();this.options=e;if(!e.props||!Object.keys(e.props).length){this.clearGrouping();return}const{source:t}=this.getSource();if(t.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.subscribe()}clearGrouping(){H.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(he(e)){delete e[ne];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,se,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r={},i){const o=Hr(this.trimmed,r,i);for(let e in o){this.revogrid.addTrimmed(o[e],e)}this.revogrid.addTrimmed(Object.assign({},e),zr)}}function Ir(e){const t=e.dimensions[e.colType].store;const r=t.get("realSize");const i={contentWidth:r,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:`${r}px`}:undefined};const o={colData:v(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get("groups"),groupingDepth:e.colStore.get("groupingDepth"),resizeHandler:e.colType==="colPinEnd"?["l"]:undefined,onHeaderresize:e.onHeaderresize};return{prop:i,type:e.colType,position:e.position,headerProp:o,viewportCol:e.viewports[e.colType].store}}class Dr{constructor(e,t){var r,i;this.config=e;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const o=[];let s=0;H.forEach((r=>{const i=e.columnProvider.stores[r].store;if(!i.get("items").length){return}const n={colType:r,position:{x:s,y:1},contentHeight:t,fixWidth:r!=="rgCol",viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,colStore:i,onHeaderresize:e=>this.onColumnResize(r,e,i)};if(r==="rgCol"){n.onResizeviewport=t=>{var r;if(e.disableVirtualY&&t.detail.dimension==="rgRow"){return}else if(e.disableVirtualX&&t.detail.dimension==="rgCol"){return}(r=e.viewportProvider)===null||r===void 0?void 0:r.setViewport(t.detail.dimension,{virtualSize:t.detail.size})}}const a=Ir(n);const l=this.registerCol(a.position.x,r);const h=this.dataViewPort(n).reduce(((t,i)=>{const o=this.registerSegment(i.position);o.setLastCell(i.lastCell);const s=this.registerRow(i.position.y,i.type);const n=Object.assign(Object.assign({colType:r},i),{rowSelectionStore:s,segmentSelectionStore:o.store,ref:t=>e.selectionStoreConnector.registerSection(t),onSetrange:e=>{o.setRangeArea(e.detail)},onSettemprange:e=>o.setTempArea(e.detail),onFocuscell:t=>{o.clearFocus();e.selectionStoreConnector.focus(o,t.detail)}});t.push(n);return t}),[]);o.push(Object.assign(Object.assign({},a),{columnSelectionStore:l,dataPorts:h}));s++}));this.columns=o;(i=this.config.scrollingService)===null||i===void 0?void 0:i.unregister()}onColumnResize(e,{detail:t},r){var i;(i=this.config.dimensionProvider)===null||i===void 0?void 0:i.setCustomSizes(e,t,true);const o=c(t||{},((e,t,i)=>{const o=parseInt(i,10);const s=d(r,o);if(s){e[o]=Object.assign(Object.assign({},s),{size:t})}return e}),{});this.config.resize(o)}registerSegment(e){return this.config.selectionStoreConnector.register(e)}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:ce,rgRow:ue,rowPinEnd:ge};let r=0;return I.reduce(((i,o)=>{const s=e.viewports[o].store.get("realCount")||o==="rgRow";const n=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:s?r:q})});const a=de(n,o,t[o],o!=="rgRow");i.push(a);if(s){r++}return i}),[])}scrollToCell(e){for(let t in e){const r=e[t];if(typeof r==="number"){this.config.scrollingService.proxyScroll({dimension:t==="x"?"rgCol":"rgRow",coordinate:r})}}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e){return null}const t=this.config.selectionStoreConnector.storesXToType[e.position.x];const r=this.config.columnProvider.getColumn(e.cell.x,t);const i=this.config.selectionStoreConnector.storesYToType[e.position.y];const o=this.config.dataProvider.getModel(e.cell.y,i);return{column:r,model:o,cell:e.cell,colType:t,rowType:i}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(typeof r[e]==="undefined"||typeof r[t]==="undefined"){return}return{x:r[e],y:r[t]}}setFocus(e,t,r,i){var o;const s=this.getStoreCoordinateByType(e,t);if(s){(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.focusByCell(s,r,i)}}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,i){var o;const s=this.getStoreCoordinateByType(r,i);if(s){(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.setEditByCell(s,{x:t,y:e})}}}class Fr{constructor(e){this.setViewport=e;this.elements={}}async proxyScroll(e,t){var r;let i;let o=e;for(let o in this.elements){if(e.dimension==="rgCol"&&o==="headerRow"){continue}else if(this.isPinnedColumn(t)&&e.dimension==="rgCol"){if(o===t||!e.delta){continue}for(let t of this.elements[o]){if(t.changeScroll){i=t.changeScroll(e)}}}else{for(let t of this.elements[o]){await((r=t.setScroll)===null||r===void 0?void 0:r.call(t,e))}}}const s=await i;if(s){o=s}this.setViewport(o)}async scrollSilentService(e,t){var r;for(let i in this.elements){if(i===t){continue}if(H.includes(t)&&(i==="headerRow"||H.includes(i))){for(let t of this.elements[i]){await((r=t.changeScroll)===null||r===void 0?void 0:r.call(t,e,true))}continue}}}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){if(!this.elements[t]){this.elements[t]=[]}if(e){this.elements[t].push(e)}else if(this.elements[t]){delete this.elements[t]}}unregister(){this.elements={}}}class Tr{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:i}){var o;const{top:s}=e.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(t);this.moveTip({x:i.x,y:i.y});(o=this.el)===null||o===void 0?void 0:o.classList.remove("hidden")}end(){var e;(e=this.el)===null||e===void 0?void 0:e.classList.add("hidden")}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){if(!this.draggable){return}this.draggable.style.left=`${e}px`;this.draggable.style.top=`${t}px`}moveElement(e){if(!this.rgRow){return}this.rgRow.style.transform=`translateY(${e}px)`}}const Nr=({ref:t})=>{const r=new Tr;t(r);return 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 $r extends N{constructor(e,t){super(e,t);this.providers=t;this.stretchedColumn=null;this.scrollSize=P(document);const r=({detail:{columns:e}})=>this.applyStretch(e);this.addEventListener("beforecolumnapplied",r)}setScroll({type:e,hasScroll:t}){var r;if(e==="rgRow"&&this.stretchedColumn&&((r=this.stretchedColumn)===null||r===void 0?void 0:r.initialSize)===this.stretchedColumn.size){if(t){this.stretchedColumn.size-=this.scrollSize;this.apply();this.dropChanges()}}}activateChanges(){const e=({detail:e})=>this.setScroll(e);this.addEventListener("scrollchange",e)}dropChanges(){this.stretchedColumn=null;this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn){return}const e="rgCol";const 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}),true)}applyStretch(e){this.dropChanges();let t=this.revogrid.clientWidth-1;f(e,((e,r)=>{const i=this.providers.dimension.stores[r].store.get("realSize");t-=i}));if(this.revogrid.rowHeaders){const e=this.providers.data.stores.rgRow.store.get("source").length;const r=this.revogrid.rowHeaders;const i=Y(e,typeof r==="object"?r:undefined);if(i){t-=i}}if(t>0){const r=e.rgCol.length-1;const i=e.rgCol[r];const o=(i===null||i===void 0?void 0:i.size)||this.revogrid.colSize||0;const s=t+o-1;if(i&&!i.autoSize&&o<s){this.stretchedColumn={initialSize:s,index:r,size:s};this.apply();this.activateChanges()}}}}function Br(e){return!!e.applyStretch}const Vr=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]={}}if(r.size){if(!e.sizes){e.sizes={}}e.sizes[r.index]=r.size}}return t};const Ar=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]=[]}if(r.size){e.push(r.index)}}return t};const Ur="column-drag-start";class qr{constructor(){this.offset=0}renderAutoscroll(e,t){if(!t){return}this.autoscrollEl=document.createElement("div");this.autoscrollEl.classList.add("drag-auto-scroll-y");t.appendChild(this.autoscrollEl)}autoscroll(e,t,r="translateX"){if(!this.autoscrollEl){return}const i=10;const o=Math.min(e+i,t-3);this.autoscrollEl.style.transform=`${r}(${o}px)`;this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"})}start(e,{dataEl:t,gridRect:r,scrollEl:i,gridEl:o},s="left"){o.classList.add(Ur);const n=i.getBoundingClientRect();if(n){this.offset=n[s]-r[s]}this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(Ur);if(this.element){this.element.hidden=true}this.offset=0;(t=this.autoscrollEl)===null||t===void 0?void 0:t.remove();this.autoscrollEl=undefined}showHandler(e,t,r="translateX"){if(!this.element){return}if(this.offset){e=Math.max(e,this.offset)}e=Math.min(e,t);this.element.style.transform=`${r}(${e}px)`;this.element.hidden=false}render(){const e=this.element=document.createElement("div");e.classList.add("drag-position-y");e.hidden=true;return e}}const Gr=pe;const Xr="columndragmousemove";const Wr="columndragend";const Yr="beforecolumndragend";const Jr="columndragstart";class _r extends N{constructor(e,t){super(e,t);this.revogrid=e;this.providers=t;this.moveFunc=X((e=>this.doMove(e)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new qr;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(Gr,(({detail:e})=>this.dragStart(e)))}dragStart({event:e,data:t}){if(e.defaultPrevented){return}const{defaultPrevented:r}=ve(this.revogrid,Jr,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");const a=e.target.closest("revogr-viewport-scroll");if(!n||!a){return}if(B(t)||t.providers.type==="rowHeaders"){return}const l=this.getDimension(t.pin||"rgCol");const h=this.revogrid.getBoundingClientRect();const d=n.getBoundingClientRect();const c=z(l,Kr(e.x,h.left,d.left-h.left));this.staticDragData={startPos:e.x,startItem:c,data:t,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){return}const r=this.staticDragData.startPos;if(Math.abs(r-e.x)>10){const r=Kr(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const i=z(this.staticDragData.cols,r);this.orderUi.autoscroll(r,t.elRect.width);this.orderUi.showHandler(i.end+t.scrollOffset,t.gridRect.width)}}move(e){ve(this.revogrid,Xr,e);this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){if(this.dragData&&this.staticDragData){let t=Kr(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(t<0){t=0}const r=z(this.staticDragData.cols,t);const i=this.providers.column.stores[this.dragData.type].store;const o=[...i.get("items")];const{defaultPrevented:s}=ve(this.revogrid,Yr,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.splice(this.staticDragData.startItem.itemIndex,1);o.splice(r.itemIndex,0,...e);i.set("items",o)}ve(this.revogrid,Wr,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){f(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,data:r}){const i=e.getBoundingClientRect();const o=t.getBoundingClientRect();const s=o.left-i.left;return{elRect:o,gridRect:i,type:r.pin||"rgCol",scrollOffset:s}}getDimension(e){return this.providers.dimension.stores[e].getCurrentState()}}function Kr(e,t,r){return e-t-r}function Zr(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}class Qr extends N{constructor(e,t){super(e,t);e.setAttribute("dir","ltr");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=(r===null||r===void 0?void 0:r(...e))||{};i.role="columnheader";i["aria-colindex"]=t;return i};e.cellProperties=(...e)=>{const r=(i===null||i===void 0?void 0:i(...e))||{};return Object.assign({role:"gridcell",["aria-colindex"]:t,["aria-rowindex"]:e[0].rowIndex,["tabindex"]:-1},r)}}))}));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}"]`);if(t instanceof HTMLElement){t.focus()}}))}}const ei='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.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-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}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 .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:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}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 #cecece 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 #cecece inset, 1px 0 0 0 #cecece 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 #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece 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 #e2e3e3 inset, -1px 0 0 0 #cecece 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 #cecece inset, -1px 0 0 0 #cecece 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 #cecece 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 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 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 .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 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=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}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";color:#d8d8d8}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=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}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";color:#d8d8d8}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=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}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] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-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 .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;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:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;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:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;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}';const ti=ei;const ri=class{constructor(e){t(this,e);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=true;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[];this.accessible=true}async refresh(e="all"){this.dataProvider.refresh(e)}async setDataAt(e){const t=this.element.querySelector(`revogr-data[type="${e.rowType}"][col-type="${e.colType}"]`);return t===null||t===void 0?void 0:t.updateCell({row:e.row,col:e.col})}async scrollToRow(e=0){const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){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){this.columnProvider.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){const i=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});if(i.defaultPrevented){return i}this.dataProvider.setTrimmed({[t]:i.detail.trimmed},r);this.aftertrimmed.emit();return i}async scrollToCoordinate(e){var t;(t=this.viewport)===null||t===void 0?void 0:t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var i;const o=$(this.columns,t);if(!o){return}await O();const s=o.pin||"rgCol";(i=this.viewport)===null||i===void 0?void 0: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;(o=this.viewport)===null||o===void 0?void 0:o.setFocus(r,i,e,t)}async getSource(e="rgRow"){return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){return v(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r,i){return this.columnProvider.updateColumnSorting(e,t,r,i)}async clearSorting(){this.columnProvider.clearSorting()}async getColumns(){return this.columnProvider.getColumns()}async clearFocus(){var e;const t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused();const r=this.beforefocuslost.emit(t);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused())!==null&&t!==void 0?t:null}async getContentSize(){var e;return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange())!==null&&t!==void 0?t:null}mousedownHandle(e){const t=me(e,"screenX");const r=me(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}async mouseupHandle(e){var t;const r=me(e,"screenX");const i=me(e,"screenY");if(r===null||i===null){return}if(e.defaultPrevented){return}const o=r+i;if(Math.abs(((t=this.clickTrackForFocusClear)!==null&&t!==void 0?t:0)-o)>10){return}const s=e.composedPath();if(!s.includes(this.element)&&!(this.element.shadowRoot&&s.includes(this.element.shadowRoot))){await this.clearFocus()}}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);if(r.defaultPrevented){e.preventDefault();return}(t=this.orderService)===null||t===void 0?void 0:t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;(e=this.orderService)===null||e===void 0?void 0:e.end()}onRowDrag({detail:e}){var t;(t=this.orderService)===null||t===void 0?void 0:t.move(e)}onRowMouseMove(e){var t;(t=this.orderService)===null||t===void 0?void 0:t.moveTip(e.detail)}async onCellEdit(e){const{defaultPrevented:t,detail:r}=this.beforeedit.emit(e.detail);await O();if(!t){this.dataProvider.setCellData(r);this.afteredit.emit(r)}}onRangeEdit(e){const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(e){const t=this.beforerange.emit(e.detail);if(t.defaultPrevented){e.preventDefault()}const r=this.beforeautofill.emit(t.detail);if(r.defaultPrevented){e.preventDefault()}}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);if(t){e.preventDefault()}}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));if(t){e.preventDefault()}}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);if(!this.canFocus||t){e.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[]){const t=V(e,0,this.columnTypes);this.beforecolumnsset.emit(t);this.dimensionProvider.applyNewColumns(t.columns,this.disableVirtualX);this.beforecolumnapplied.emit(t);const r=this.columnProvider.setColumns(t);this.aftercolumnsset.emit({columns:r,order:this.columnProvider.order})}disableVirtualXChanged(e=false,t=false){if(e===t){return}this.columnChanged(this.columns)}rowSizeChanged(e){this.dimensionProvider.setSettings({originItemSize:e},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(e,t,r="theme",i=false){this.themeService.register(e);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!i){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(e)}dataSourceChanged(e=[],t,r){let i="rgRow";switch(r){case"pinnedBottomSource":i="rowPinEnd";break;case"pinnedTopSource":i="rowPinStart";break;case"source":i="rgRow";const t=this.beforesourceset.emit({type:i,source:e});e=t.detail.source;break}const o=this.beforeanysource.emit({type:i,source:e});const s=[...o.detail.source];this.dataProvider.setData(s,i,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:i,source:e})}this.afteranysource.emit({type:i,source:e})}disableVirtualYChanged(e=false,t=false){if(e===t){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,i=true){const{detail:{vals:o,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const n=Vr(o);if(s){const e=Ar(s);for(const t in e){if(e.hasOwnProperty(t)){const e=t;const r=this.dataProvider.stores[e];const i=r.store.get("source").length;this.dimensionProvider.clearSize(e,i)}}}if(!o.length){if(i){this.dimensionProvider.setCustomSizes("rgRow",{})}else{return}}Object.entries(n).forEach((([e,t])=>{const r=e;this.dimensionProvider.setCustomSizes(r,t.sizes||{})}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){let t;for(let e of this.internalPlugins){const r=e;if(!!r.setGrouping){t=r;break}}t===null||t===void 0?void 0:t.setGrouping(e||{})}applyStretch(e){if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>Br(e)))[0];if(typeof e==="boolean"&&e||e==="true"){if(!t){const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};this.internalPlugins.push(new $r(this.element,e))}else if(Br(t)){t.applyStretch(this.columnProvider.getRawColumns())}}else if(t){const e=this.internalPlugins.indexOf(t);this.internalPlugins.splice(e,1)}}applyFilter(e){this.filterconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=[...this.extraElements,...e]}additionalDataChanged(e){this.additionaldatachanged.emit(e)}setPlugins(){var e;this.removePlugins();const t={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};if(this.accessible){this.internalPlugins.push(new Qr(this.element,t))}if(this.autoSizeColumn){this.internalPlugins.push(new $e(this.element,t,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new rt(this.element,t,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new Er(this.element,t))}this.internalPlugins.push(new or(this.element,t));this.internalPlugins.push(new Mr(this.element,t));if(this.canMoveColumns){this.internalPlugins.push(new _r(this.element,t))}(e=this.plugins)===null||e===void 0?void 0:e.forEach((e=>this.internalPlugins.push(new e(this.element,t))))}removePlugins(){this.internalPlugins.forEach((e=>{var t;return(t=e.destroy)===null||t===void 0?void 0:t.call(e)}));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var e;this.viewportProvider=new Fe;this.themeService=new Se({rowSize:this.rowSize});this.dimensionProvider=new De(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new Me;this.selectionStoreConnector=new G;this.dataProvider=new Ie(this.dimensionProvider);this.registerOutsideVNodes(this.registerVNode);this.setPlugins();this.applyStretch(this.stretch);this.themeChanged(this.theme,undefined,undefined,true);this.columnChanged(this.columns);this.dataSourceChanged(this.source,undefined,"source");this.dataSourceChanged(this.pinnedTopSource,undefined,"pinnedTopSource");this.dataSourceChanged(this.pinnedBottomSource,undefined,"pinnedBottomSource");if(Object.keys((e=this.trimmedRows)!==null&&e!==void 0?e:{}).length>0){this.trimmedRowsChanged(this.trimmedRows)}this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new Fr((e=>{this.dimensionProvider.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}render(){const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new Dr({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,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:typeof this.rowHeaders==="object"?this.rowHeaders:undefined,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,"headerRow"),onRef:({detail:e})=>this.scrollingService.registerElement(e,"headerRow")}))}const o=Zr();const 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});const i=[e("revogr-header",Object.assign({key:"31f0cebc08d5e9222d058c138079ee1d6c228ed2"},r,{slot:ce}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`;const n=e("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:o,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:e})=>{const t=this.beforeeditstart.emit(e);if(!t.defaultPrevented){this.selectionStoreConnector.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:fe}),e("slot",{name:`data-${t.type}-${r.type}`})),e("revogr-temp-range",{selectionStore:r.segmentSelectionStore,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.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol},e("slot",{name:`focus-${t.type}-${r.type}`})));i.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}`),onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,`${t.prop.key}`)}),i))}r.push(s);const n="rgRow";const a="rgCol";const l=this.viewportProvider.stores;const h=this.dimensionProvider.stores;return e(i,{key:"2563091c11d20bef3e25706e64822040002fe5a4"},this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{key:"58fbfb9a4169e6640ad1c4b0f238c006e23d0059",class:"main-viewport",onClick:e=>{var t;if(e.currentTarget===e.target){(t=this.viewport)===null||t===void 0?void 0:t.clearEdit()}}},e("div",{key:"028984ab42f98828aba4d5b37b831b832978133f",class:"viewports"},e("slot",{key:"521dacf842476ff8ed35ec4c87c6276c331c4316",name:"viewport"}),r,e("revogr-scroll-virtual",{key:"d4e7a0c3cdda8fcc9e64841c0d16f1e557a75144",class:"vertical",dimension:n,viewportStore:l[n].store,dimensionStore:h[n].store,ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e(Nr,{key:"c49e93965594b38d6827f8f8c00e3004c8c392f8",ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{key:"ccccd5bdfbd5ccd1dfb76727b7e903a95d262945",class:"horizontal",dimension:a,viewportStore:l[a].store,dimensionStore:h[a].store,ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),this.extraElements)}disconnectedCallback(){this.removePlugins()}get element(){return o(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"]}}};ri.style=ti;export{ri as revo_grid};
|
|
5
5
|
//# sourceMappingURL=revo-grid.entry.js.map
|