@revolist/revogrid 4.0.4 → 4.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/{column.service-2066d651.js → column.service-e83d9809.js} +7 -1
  2. package/dist/cjs/column.service-e83d9809.js.map +1 -0
  3. package/dist/cjs/{header-cell-renderer-3df76829.js → header-cell-renderer-8ba9b56d.js} +2 -2
  4. package/dist/cjs/{header-cell-renderer-3df76829.js.map → header-cell-renderer-8ba9b56d.js.map} +1 -1
  5. package/dist/cjs/revo-grid.cjs.entry.js +3 -3
  6. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  7. package/dist/cjs/revogr-attribution_6.cjs.entry.js +1 -1
  8. package/dist/cjs/revogr-data_4.cjs.entry.js +2 -2
  9. package/dist/collection/components/data/column.service.js +6 -0
  10. package/dist/collection/components/data/column.service.js.map +1 -1
  11. package/dist/collection/components/revoGrid/revo-grid-style.css +4 -12
  12. package/dist/collection/types/interfaces.js.map +1 -1
  13. package/dist/esm/{column.service-21a3af74.js → column.service-f4922a8d.js} +7 -1
  14. package/dist/esm/column.service-f4922a8d.js.map +1 -0
  15. package/dist/esm/{header-cell-renderer-1ca84d5f.js → header-cell-renderer-ac962570.js} +2 -2
  16. package/dist/esm/{header-cell-renderer-1ca84d5f.js.map → header-cell-renderer-ac962570.js.map} +1 -1
  17. package/dist/esm/revo-grid.entry.js +3 -3
  18. package/dist/esm/revo-grid.entry.js.map +1 -1
  19. package/dist/esm/revogr-attribution_6.entry.js +1 -1
  20. package/dist/esm/revogr-data_4.entry.js +2 -2
  21. package/dist/revo-grid/column.service-f4922a8d.js +5 -0
  22. package/dist/revo-grid/column.service-f4922a8d.js.map +1 -0
  23. package/dist/revo-grid/{header-cell-renderer-1ca84d5f.js → header-cell-renderer-ac962570.js} +2 -2
  24. package/dist/revo-grid/revo-grid.entry.js +1 -1
  25. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  26. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  27. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  28. package/dist/types/components/data/column.service.d.ts +4 -0
  29. package/dist/types/types/interfaces.d.ts +1 -0
  30. package/hydrate/index.js +7 -1
  31. package/loader/package.json +11 -0
  32. package/package.json +1 -1
  33. package/standalone/column.service.js +6 -0
  34. package/standalone/column.service.js.map +1 -1
  35. package/standalone/revo-grid.js +1 -1
  36. package/standalone/revo-grid.js.map +1 -1
  37. package/dist/cjs/column.service-2066d651.js.map +0 -1
  38. package/dist/esm/column.service-21a3af74.js.map +0 -1
  39. package/dist/revo-grid/column.service-21a3af74.js +0 -5
  40. package/dist/revo-grid/column.service-21a3af74.js.map +0 -1
  41. /package/dist/revo-grid/{header-cell-renderer-1ca84d5f.js.map → header-cell-renderer-ac962570.js.map} +0 -0
@@ -4,7 +4,7 @@
4
4
  import { r as registerInstance, h, H as Host, c as createEvent, a as getElement } from './index-21436631.js';
5
5
  import { F as FOCUS_CLASS, E as EDIT_INPUT_WR, t as timeout, R as RESIZE_INTERVAL, a as CELL_HANDLER_CLASS, M as MOBILE_CLASS, S as SELECTION_BORDER_CLASS, b as ROW_HEADER_TYPE, g as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './index-98fd0168.js';
6
6
  import { i as getItemByPosition, j as getItemByIndex, b as getSourceItem, D as DataStore } from './dimension.helpers-a3065cb1.js';
7
- import { n as ColumnService, H as HEADER_SLOT } from './column.service-21a3af74.js';
7
+ import { n as ColumnService, H as HEADER_SLOT } from './column.service-f4922a8d.js';
8
8
  import { g as getRange, a as isRangeSingleCell } from './selection.store-2577ddf9.js';
9
9
  import { c as codesLetter, i as isClear, a as isEnterKey, b as isCopy, d as isCut, e as isPaste, f as isAll, g as isLetterKey } from './key.utils-4586a3d6.js';
10
10
  import { d as debounce_1 } from './debounce-7781346d.js';
@@ -2,11 +2,11 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { h, r as registerInstance, c as createEvent, H as Host, a as getElement } from './index-21436631.js';
5
- import { o as GROUP_EXPAND_BTN, h as GROUP_EXPAND_EVENT, p as PSEUDO_GROUP_ITEM, G as GROUP_EXPANDED, c as GROUP_DEPTH, q as isRowDragService, r as getCellData, n as ColumnService, i as isGrouping, H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './column.service-21a3af74.js';
5
+ import { o as GROUP_EXPAND_BTN, h as GROUP_EXPAND_EVENT, p as PSEUDO_GROUP_ITEM, G as GROUP_EXPANDED, c as GROUP_DEPTH, q as isRowDragService, r as getCellData, n as ColumnService, i as isGrouping, H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './column.service-f4922a8d.js';
6
6
  import { d as DATA_ROW, e as ROW_FOCUSED_CLASS, f as DRAG_ICON_CLASS, h as DRAGGABLE_CLASS, i as DATA_COL, F as FOCUS_CLASS, H as HEADER_CLASS, j as HEADER_SORTABLE_CLASS, k as MIN_COL_SIZE, l as HEADER_ROW_CLASS, m as HEADER_ACTUAL_ROW_CLASS } from './index-98fd0168.js';
7
7
  import { b as getSourceItem, E as _getNative, u as _baseEach, _ as _baseIteratee, w as isArray_1, q as findIndex_1, j as getItemByIndex, m as each } from './dimension.helpers-a3065cb1.js';
8
8
  import { a as FilterButton } from './filter.button-46ce4f80.js';
9
- import { H as HeaderCellRenderer } from './header-cell-renderer-1ca84d5f.js';
9
+ import { H as HeaderCellRenderer } from './header-cell-renderer-ac962570.js';
10
10
  import { t as throttle_1, L as LocalScrollTimer, a as LocalScrollService } from './throttle-cfd527d6.js';
11
11
  import './selection.store-2577ddf9.js';
12
12
  import './toNumber-8de324a7.js';
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ import{C as t,B as n,a as e,b as o}from"./dimension.helpers-a3065cb1.js";import{G as s,C as r,D as i}from"./index-98fd0168.js";import{g as c}from"./selection.store-2577ddf9.js";const a=`${s}-depth`;const u=`${s}-name`;const f=`${s}-id`;const l=`${s}-value`;const d=`${s}-column`;const p=`${s}-expanded`;const h=`${s}-original-index`;const y=`group-expand`;const v=`groupexpandclick`;const g="rgRow";function m(t,n){return t[n]||null}function x(t,n,{prevExpanded:e,expandedAll:o,getGroupValue:s=m}){const r=new Map;t.forEach(((t,e)=>{const o=n.map((n=>s(t,n)));const i=o.pop();let c=r;o.forEach((t=>{if(!c.has(t)){c.set(t,new Map)}c=c.get(t)}));if(!c.has(i)){c.set(i,[])}const a=c.get(i);a.push(Object.assign(Object.assign({},t),{[h]:e}))}));let i=-1;const c=n.length;const d={};const y={};const v={};const g=[];function x(t,n,s){const r=n.length;t.forEach(((t,c)=>{const m=[...n,c];const b=m.join(",");const j=s&&(!!o||!!(e===null||e===void 0?void 0:e[b]));g.push({[u]:c,[a]:r,[f]:JSON.stringify(m),[l]:b,[p]:j});i+=1;if(!j&&r){d[i]=true}if(Array.isArray(t)){t.forEach((t=>{i+=1;if(!j){d[i]=true}y[t[h]]=i;const n=m.map(((t,n)=>m.slice(0,n+1).join(",")));n.forEach((t=>{if(!v[t]){v[t]=[]}v[t].push(i)}))}));g.push(...t)}else{x(t,m,j)}}))}x(r,[],true);return{sourceWithGroups:g,depth:c,trimmed:d,oldNewIndexMap:y,childrenByGroup:v}}function b(t){return t&&t[u]}function j(t){return t&&typeof t[u]!=="undefined"}function O(t){return t&&typeof t[d]!=="undefined"}function w(t,n){const e=t.length;let o=0;for(;o<e;o++){if(t[o]!==n[o]){return o}}return o}function I(t){const n=JSON.parse(t);if(!Array.isArray(n)){return null}return n}function C(t,n,e){const o=I(e[f]);if(!o){return false}const s=w(t,o);return n[a]<s}const D="header";const R="footer";const T="content";const $="data";function A(t,n){return{x:t.viewports[t.colType].store.get("realCount"),y:t.viewports[n].store.get("realCount")}}function G(t,n,e){var o=-1,s=t.length;if(n<0){n=-n>s?0:s+n}e=e>s?s:e;if(e<0){e+=s}s=n>e?0:e-n>>>0;n>>>=0;var r=Array(s);while(++o<s){r[o]=t[o+n]}return r}var M=G;var P=M,S=t,k=n;function N(t,n,e){var o=t==null?0:t.length;if(!o){return[]}if(e&&typeof e!="number"&&S(t,n,e)){n=0;e=o}else{n=n==null?0:k(n);e=e===undefined?o:k(e)}return P(t,n,e)}var B=N;class E{get columns(){return e(this.source)}constructor(t,n){this.dataStore=t;this.source=n;this.unsubscribe=[];this.hasGrouping=false;this.unsubscribe.push(n.onChange("source",(t=>this.checkGrouping(t))));this.checkGrouping(n.get("source"));this.type=n.get("type")}checkGrouping(t){for(let n of t){if(O(n)){this.hasGrouping=true;return}this.hasGrouping=false}}isReadOnly(t,n){var e;const o=(e=this.columns[n])===null||e===void 0?void 0:e.readonly;if(typeof o==="function"){const e=this.rowDataModel(t,n);return o(e)}return o}mergeProperties(t,n,e,o,s){const c={[r]:true,[i]:this.isReadOnly(t,n)};let a=Object.assign(Object.assign({},e),{class:c});const u=s===null||s===void 0?void 0:s(o);if(!u){return a}return F(a,u)}getRowClass(t,n){const e=o(this.dataStore,t)||{};return e[n]||""}getCellData(t,n){const e=this.rowDataModel(t,n);return J(e.model[e.prop])}getSaveData(t,n,e){if(typeof e==="undefined"){e=this.getCellData(t,n)}const o=this.rowDataModel(t,n);return{prop:o.prop,rowIndex:t,colIndex:n,val:e,model:o.model,colType:this.type,type:this.dataStore.get("type")}}getCellEditor(t,n,e){var o;const s=(o=this.columns[n])===null||o===void 0?void 0:o.editor;if(!s){return undefined}if(typeof s==="string"){return e[s]}return s}rowDataModel(t,n){const e=this.columns[n];const s=e===null||e===void 0?void 0:e.prop;const r=o(this.dataStore,t)||{};const i=r[s];const c=this.dataStore.get("type");return{prop:s,model:r,data:this.dataStore.get("source"),column:e,rowIndex:t,colIndex:n,colType:this.type,type:c,value:i}}getRangeData(t,n){var e;const s={};const r=t.oldRange.x1-t.oldRange.x+1;const i=t.oldRange.y1-t.oldRange.y+1;const c={};for(let a=t.newRange.y,u=0;a<t.newRange.y1+1;a++,u++){const f=t.oldRange.y+u%i;const l=o(this.dataStore,f)||{};for(let o=t.newRange.x,i=0;o<t.newRange.x1+1;o++,i++){if(a>=t.oldRange.y&&a<=t.oldRange.y1&&o>=t.oldRange.x&&o<=t.oldRange.x1){continue}if(!this.columns[o]){continue}const u=(e=this.columns[o])===null||e===void 0?void 0:e.prop;const d=t.oldRange.x+i%r;const p=n[d].prop;if(!this.isReadOnly(a,o)){if(!s[a]){s[a]={}}s[a][u]=l[p];if(!c[a]){c[a]={}}c[a][u]={colIndex:d,colProp:p,rowIndex:f}}}}return{changed:s,mapping:c}}getTransformedDataToApply(t,n){const e={};const o=n.length;const s=this.columns.length;const r=this.dataStore.get("items").length;let i=t.y;let a=0;for(let c=0;i<r&&c<o;i++,c++){const r=n[c%o];const u=(r===null||r===void 0?void 0:r.length)||0;let f=t.x;for(let t=0;f<s&&t<u;f++,t++){const n=this.columns[f].prop;const o=t%s;if(!this.isReadOnly(i,f)){if(!e[i]){e[i]={}}e[i][n]=r[o]}}a=Math.max(a,f-1)}const u=c(t,{y:i-1,x:a});return{changed:e,range:u}}getRangeStaticData(t,n){const e={};for(let o=t.y,s=0;o<t.y1+1;o++,s++){for(let s=t.x,r=0;s<t.x1+1;s++,r++){if(!this.columns[s]){continue}const t=this.columns[s].prop;if(!this.isReadOnly(o,s)){if(!e[o]){e[o]={}}e[o][t]=n}}}return e}getRangeTransformedToProps(t,n){var e;const s=[];const r=this.dataStore.get("type");for(let i=t.y,c=0;i<t.y1+1;i++,c++){for(let c=t.x,a=0;c<t.x1+1;c++,a++){const t=(e=this.columns[c])===null||e===void 0?void 0:e.prop;s.push({prop:t,rowIndex:i,colIndex:c,model:o(n,i),type:r,colType:this.type})}}return s}copyRangeArray(t,n){const e=[...this.columns];const s=B(e,t.x,t.x1+1).map((t=>t.prop));const r=[];const i={};for(let e=t.y;e<=t.y1;e++){const t=[];i[e]={};for(let r of s){const s=o(n,e);if(!s){continue}const c=s[r];t.push(c);i[e][r]=c}r.push(t)}return{data:r,mapping:i}}destroy(){this.unsubscribe.forEach((t=>t()))}}function J(t){if(typeof t==="undefined"||t===null){return""}return t}function q(t,n){if(typeof t==="function"){return t(n)}return!!t}function F(t,n){let e=Object.assign(Object.assign({},n),t);if(n.class){if(typeof n.class==="object"&&typeof e.class==="object"){e.class=Object.assign(Object.assign({},n.class),e.class)}else if(typeof n.class==="string"&&typeof e.class==="object"){e.class[n.class]=true}else if(typeof e.class==="string"){e.class+=" "+n.class}}if(n.style){e.style=Object.assign(Object.assign({},n.style),e.style)}return e}export{T as C,$ as D,R as F,p as G,D as H,l as P,I as a,C as b,a as c,f as d,g as e,d as f,b as g,v as h,j as i,x as j,O as k,A as l,F as m,E as n,y as o,u as p,q,J as r};
5
+ //# sourceMappingURL=column.service-f4922a8d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GROUP_DEPTH","GRID_INTERNALS","PSEUDO_GROUP_ITEM","PSEUDO_GROUP_ITEM_ID","PSEUDO_GROUP_ITEM_VALUE","PSEUDO_GROUP_COLUMN","GROUP_EXPANDED","GROUP_ORIGINAL_INDEX","GROUP_EXPAND_BTN","GROUP_EXPAND_EVENT","GROUPING_ROW_TYPE","getGroupValueDefault","item","prop","gatherGrouping","array","groupIds","prevExpanded","expandedAll","getGroupValue","groupedItems","Map","forEach","originalIndex","groupLevelValues","map","groupId","lastLevelValue","pop","currentGroupLevel","value","has","set","get","lastLevelItems","push","Object","assign","itemIndex","groupingDepth","length","trimmed","oldNewIndexMap","pseudoGroupTest","sourceWithGroups","flattenGroupMaps","groupedValues","parentIds","isExpanded","depth","innerGroupedValues","levelIds","mergedIds","join","isGroupExpanded","JSON","stringify","Array","isArray","pseudoGroupTestIds","_value","index","slice","pseudoGroupTestId","childrenByGroup","getGroupingName","rgRow","isGrouping","isGroupingColumn","column","measureEqualDepth","groupA","groupB","ln","i","getParsedGroup","id","parseGroup","parse","isSameGroup","currentGroup","currentModel","nextModel","nextGroup","HEADER_SLOT","FOOTER_SLOT","CONTENT_SLOT","DATA_SLOT","getLastCell","data","rowType","x","viewports","colType","store","y","baseSlice","start","end","result","_baseSlice","require$$0","isIterateeCall","require$$1","toInteger","require$$2","undefined","slice_1","ColumnService","columns","getVisibleSourceItem","this","source","constructor","dataStore","unsubscribe","hasGrouping","onChange","s","checkGrouping","type","cols","rgCol","isReadOnly","r","c","readOnly","_a","readonly","rowDataModel","mergeProperties","defaultProps","model","extraPropsFunc","cellClass","CELL_CLASS","DISABLED_CLASS","props","class","extra","doPropMerge","getRowClass","getSourceItem","getCellData","getSaveData","rowIndex","colIndex","val","getCellEditor","_r","editors","editor","getRangeData","d","changed","copyColLength","oldRange","x1","copyRowLength","y1","mapping","newRange","oldRowIndex","copyRow","j","copyColIndex","copyColumnProp","colProp","getTransformedDataToApply","colLength","rowLength","maxCol","p","currentCol","Math","max","range","getRange","getRangeStaticData","getRangeTransformedToProps","area","copyRangeArray","v","toCopy","destroy","f","isRowDragService","rowDrag","existing","style"],"sources":["src/plugins/groupingRow/grouping.const.ts","src/plugins/groupingRow/grouping.service.ts","src/components/revoGrid/viewport.helpers.ts","node_modules/lodash/_baseSlice.js","node_modules/lodash/slice.js","src/components/data/column.service.ts"],"sourcesContent":["import { GRID_INTERNALS } from '../../utils/consts';\n\nexport const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;\nexport const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;\nexport const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;\nexport const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;\nexport const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;\nexport const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;\nexport const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;\nexport const GROUP_EXPAND_BTN = `group-expand`;\nexport const GROUP_EXPAND_EVENT = `groupexpandclick`;\nexport const GROUPING_ROW_TYPE = 'rgRow';\n","import { DataType, ColumnProp, ColumnRegular } from '../..';\nimport {\n GROUP_DEPTH,\n GROUP_EXPANDED,\n PSEUDO_GROUP_COLUMN,\n PSEUDO_GROUP_ITEM,\n PSEUDO_GROUP_ITEM_ID,\n PSEUDO_GROUP_ITEM_VALUE,\n GROUP_ORIGINAL_INDEX,\n} from './grouping.const';\nimport { GroupLabelTemplateFunc } from './grouping.row.types';\n\nexport type ExpandedOptions = {\n prevExpanded?: Record<string, boolean>;\n expandedAll?: boolean; // skip trim\n\n getGroupValue?(item: DataType, prop: string | number): any;\n groupLabelTemplate?: GroupLabelTemplateFunc;\n};\n\ntype GroupedData = Map<string, GroupedData | DataType[]>;\n\nfunction getGroupValueDefault(item: DataType, prop: string | number) {\n return item[prop] || null;\n}\n\n\n/**\n * Gather data for grouping\n * @param array - flat data array\n * @param groupIds - ids of groups\n * @param expanded - potentially expanded items if present\n */\nexport function gatherGrouping(\n array: DataType[],\n groupIds: ColumnProp[],\n { prevExpanded, expandedAll, getGroupValue = getGroupValueDefault }: ExpandedOptions,\n) {\n const groupedItems: GroupedData = new Map();\n array.forEach((item, originalIndex) => {\n const groupLevelValues = groupIds.map(groupId => getGroupValue(item, groupId));\n const lastLevelValue = groupLevelValues.pop();\n let currentGroupLevel = groupedItems;\n groupLevelValues.forEach(value => {\n if (!currentGroupLevel.has(value)) {\n currentGroupLevel.set(value, new Map());\n }\n currentGroupLevel = currentGroupLevel.get(value) as GroupedData;\n });\n if (!currentGroupLevel.has(lastLevelValue)) {\n currentGroupLevel.set(lastLevelValue, []);\n }\n const lastLevelItems = currentGroupLevel.get(\n lastLevelValue,\n ) as DataType[];\n lastLevelItems.push({\n ...item,\n [GROUP_ORIGINAL_INDEX]: originalIndex,\n });\n });\n\n let itemIndex = -1;\n const groupingDepth = groupIds.length;\n // collapse all groups in the beginning\n const trimmed: Record<number, boolean> = {};\n // index mapping\n const oldNewIndexMap: Record<number, number> = {};\n // check if group header exists\n const pseudoGroupTest: Record<string, number[]> = {};\n const sourceWithGroups: DataType[] = [];\n function flattenGroupMaps(\n groupedValues: GroupedData,\n parentIds: string[],\n isExpanded: boolean,\n ) {\n const depth = parentIds.length;\n groupedValues.forEach((innerGroupedValues, groupId) => {\n const levelIds = [...parentIds, groupId];\n const mergedIds = levelIds.join(',');\n const isGroupExpanded =\n isExpanded && (!!expandedAll || !!prevExpanded?.[mergedIds]);\n sourceWithGroups.push({\n [PSEUDO_GROUP_ITEM]: groupId,\n [GROUP_DEPTH]: depth,\n [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),\n [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,\n [GROUP_EXPANDED]: isGroupExpanded,\n });\n itemIndex += 1;\n if (!isGroupExpanded && depth) {\n trimmed[itemIndex] = true;\n }\n if (Array.isArray(innerGroupedValues)) {\n innerGroupedValues.forEach(value => {\n itemIndex += 1;\n if (!isGroupExpanded) {\n trimmed[itemIndex] = true;\n }\n oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex;\n const pseudoGroupTestIds = levelIds.map((_value, index) =>\n levelIds.slice(0, index + 1).join(','),\n );\n pseudoGroupTestIds.forEach(pseudoGroupTestId => {\n if (!pseudoGroupTest[pseudoGroupTestId]) {\n pseudoGroupTest[pseudoGroupTestId] = [];\n }\n pseudoGroupTest[pseudoGroupTestId].push(itemIndex);\n });\n });\n sourceWithGroups.push(...innerGroupedValues);\n } else {\n flattenGroupMaps(innerGroupedValues, levelIds, isGroupExpanded);\n }\n });\n }\n flattenGroupMaps(groupedItems, [], true);\n\n return {\n sourceWithGroups, // updates source mirror\n depth: groupingDepth, // largest depth for grouping\n trimmed, // used for expand/collapse grouping values\n oldNewIndexMap, // used for mapping old values to new\n childrenByGroup: pseudoGroupTest, // used to get child items in group\n };\n}\n\nexport function getGroupingName(rgRow?: DataType) {\n return rgRow && rgRow[PSEUDO_GROUP_ITEM];\n}\n\nexport function isGrouping(rgRow?: DataType) {\n return rgRow && typeof rgRow[PSEUDO_GROUP_ITEM] !== 'undefined';\n}\n\nexport function isGroupingColumn(column?: ColumnRegular) {\n return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';\n}\n\nexport function measureEqualDepth<T>(groupA: T[], groupB: T[]) {\n const ln = groupA.length;\n let i = 0;\n for (; i < ln; i++) {\n if (groupA[i] !== groupB[i]) {\n return i;\n }\n }\n return i;\n}\n\nexport function getParsedGroup(id: string): any[] {\n const parseGroup = JSON.parse(id);\n // extra precaution and type safe guard\n if (!Array.isArray(parseGroup)) {\n return null;\n }\n return parseGroup;\n}\n\n// check if items is child of current clicked group\nexport function isSameGroup(\n currentGroup: any[],\n currentModel: DataType,\n nextModel: DataType,\n) {\n const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);\n if (!nextGroup) {\n return false;\n }\n\n const depth = measureEqualDepth(currentGroup, nextGroup);\n return currentModel[GROUP_DEPTH] < depth;\n}\n","/** Collect data for pinned columns in required @ViewportProps format */\n\nimport { MultiDimensionType } from '../..';\nimport { Cell } from '../..';\nimport { ViewportColumn } from '../../types/viewport.interfaces';\n\nexport const HEADER_SLOT = 'header';\nexport const FOOTER_SLOT = 'footer';\nexport const CONTENT_SLOT = 'content';\nexport const DATA_SLOT = 'data';\n\n/** Receive last visible in viewport by required type */\nexport function getLastCell(\n data: ViewportColumn,\n rowType: MultiDimensionType,\n): Cell {\n return {\n x: data.viewports[data.colType].store.get('realCount'),\n y: data.viewports[rowType].store.get('realCount'),\n };\n}\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseSlice = require('./_baseSlice'),\n isIterateeCall = require('./_isIterateeCall'),\n toInteger = require('./toInteger');\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nmodule.exports = slice;\n","import {\n DSourceState,\n getSourceItem,\n getVisibleSourceItem,\n} from '../../store/dataSource/data.store';\nimport { CELL_CLASS, DISABLED_CLASS } from '../../utils/consts';\nimport { getRange } from '../../store/selection/selection.helpers';\n\nimport { isGroupingColumn } from '../../plugins/groupingRow/grouping.service';\nimport slice from 'lodash/slice';\nimport { DimensionCols, DimensionRows, RowDrag } from '../..';\nimport {\n ColumnRegular,\n Observable,\n DataType,\n ReadOnlyFormat,\n CellProps,\n ColumnDataSchemaModel,\n ColumnProp,\n DataLookup,\n DataFormat,\n DataSource,\n} from '../..';\nimport {\n ChangedRange,\n OldNewRangeMapping,\n Cell,\n RangeArea,\n BeforeSaveDataDetails,\n EditorCtr,\n Editors,\n} from '../..';\n\nexport type ColumnStores = {\n [T in DimensionCols]: Observable<DSourceState<ColumnRegular, DimensionCols>>;\n};\nexport type RowStores = {\n [T in DimensionRows]: Observable<DSourceState<DataType, DimensionRows>>;\n};\n\nexport default class ColumnService {\n private unsubscribe: { (): void }[] = [];\n get columns(): ColumnRegular[] {\n return getVisibleSourceItem(this.source);\n }\n\n hasGrouping = false;\n type: DimensionCols;\n\n constructor(\n private dataStore: Observable<DSourceState<DataType, DimensionRows>>,\n private source: Observable<DSourceState<ColumnRegular, DimensionCols>>,\n ) {\n this.unsubscribe.push(\n source.onChange('source', s => this.checkGrouping(s)),\n );\n this.checkGrouping(source.get('source'));\n this.type = source.get('type');\n }\n\n private checkGrouping(cols: ColumnRegular[]) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n\n isReadOnly(r: number, c: number): boolean {\n const readOnly: ReadOnlyFormat = this.columns[c]?.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return readOnly;\n }\n\n mergeProperties(\n r: number,\n c: number,\n defaultProps: CellProps,\n model: ColumnDataSchemaModel,\n extraPropsFunc: ColumnRegular['cellProperties'],\n ): CellProps {\n const cellClass: { [key: string]: boolean } = {\n [CELL_CLASS]: true,\n [DISABLED_CLASS]: this.isReadOnly(r, c),\n };\n let props: CellProps = {\n ...defaultProps,\n class: cellClass,\n };\n const extra = extraPropsFunc?.(model);\n if (!extra) {\n return props;\n }\n return doPropMerge(props, extra);\n }\n\n getRowClass(r: number, prop: string): string {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n\n getCellData(r: number, c: number): string {\n const data = this.rowDataModel(r, c);\n return getCellData(data.model[data.prop as number]);\n }\n\n getSaveData(\n rowIndex: number,\n colIndex: number,\n val?: string,\n ): BeforeSaveDataDetails {\n if (typeof val === 'undefined') {\n val = this.getCellData(rowIndex, colIndex);\n }\n const data = this.rowDataModel(rowIndex, colIndex);\n return {\n prop: data.prop,\n rowIndex,\n colIndex,\n val,\n model: data.model,\n colType: this.type,\n type: this.dataStore.get('type'),\n };\n }\n\n getCellEditor(\n _r: number,\n c: number,\n editors: Editors,\n ): EditorCtr | undefined {\n const editor = this.columns[c]?.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n }\n\n /**\n * Get cell data model for given rowIndex and colIndex\n * Used to pass data to editor/renderer\n */\n rowDataModel(rowIndex: number, colIndex: number): ColumnDataSchemaModel {\n const column = this.columns[colIndex];\n const prop: ColumnProp | undefined = column?.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n const value = model[prop];\n const type = this.dataStore.get('type');\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n colIndex,\n colType: this.type,\n type,\n value,\n };\n }\n\n getRangeData(\n d: ChangedRange,\n columns: ColumnRegular[],\n ): {\n changed: DataLookup;\n mapping: OldNewRangeMapping;\n } {\n const changed: DataLookup = {};\n\n // get original length sizes\n const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;\n const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;\n const mapping: OldNewRangeMapping = {};\n\n // rows\n for (\n let rowIndex = d.newRange.y, i = 0;\n rowIndex < d.newRange.y1 + 1;\n rowIndex++, i++\n ) {\n // copy original data link\n const oldRowIndex = d.oldRange.y + (i % copyRowLength);\n const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};\n\n // columns\n for (\n let colIndex = d.newRange.x, j = 0;\n colIndex < d.newRange.x1 + 1;\n colIndex++, j++\n ) {\n // check if old range area\n if (\n rowIndex >= d.oldRange.y &&\n rowIndex <= d.oldRange.y1 &&\n colIndex >= d.oldRange.x &&\n colIndex <= d.oldRange.x1\n ) {\n continue;\n }\n\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = this.columns[colIndex]?.prop;\n const copyColIndex = d.oldRange.x + (j % copyColLength);\n const copyColumnProp = columns[copyColIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][prop] = copyRow[copyColumnProp];\n /** Generate mapping object */\n if (!mapping[rowIndex]) {\n mapping[rowIndex] = {};\n }\n mapping[rowIndex][prop] = {\n colIndex: copyColIndex,\n colProp: copyColumnProp,\n rowIndex: oldRowIndex,\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n\n getTransformedDataToApply(\n start: Cell,\n data: DataFormat[][],\n ): {\n changed: DataLookup;\n range: RangeArea;\n } {\n const changed: DataLookup = {};\n const copyRowLength = data.length;\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n // rows\n let rowIndex = start.y;\n let maxCol = 0;\n for (\n let i = 0;\n rowIndex < rowLength && i < copyRowLength;\n rowIndex++, i++\n ) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = copyRow?.length || 0;\n // columns\n let colIndex = start.x;\n for (\n let j = 0;\n colIndex < colLength && j < copyColLength;\n colIndex++, j++\n ) {\n const p = this.columns[colIndex].prop;\n const currentCol = j % colLength;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = copyRow[currentCol];\n }\n }\n maxCol = Math.max(maxCol, colIndex - 1);\n }\n const range = getRange(start, {\n y: rowIndex - 1,\n x: maxCol,\n });\n return {\n changed,\n range,\n };\n }\n\n getRangeStaticData(d: RangeArea, value: DataFormat): DataLookup {\n const changed: DataLookup = {};\n\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const p = this.columns[colIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = value;\n }\n }\n }\n return changed;\n }\n\n getRangeTransformedToProps(\n d: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const area: {\n prop: ColumnProp;\n rowIndex: number;\n colIndex: number;\n model: DataSource;\n colType: DimensionCols;\n type: DimensionRows;\n }[] = [];\n\n const type = this.dataStore.get('type');\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n const prop = this.columns[colIndex]?.prop;\n area.push({\n prop,\n rowIndex,\n colIndex,\n model: getSourceItem(store, rowIndex),\n type,\n colType: this.type,\n });\n }\n }\n return area;\n }\n\n copyRangeArray(\n range: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy: DataFormat[][] = [];\n const mapping: { [rowIndex: number]: { [colProp: ColumnProp]: any } } = {};\n\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow: DataFormat[] = [];\n mapping[i] = {};\n\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n\n // if no item - skip\n if (!item) {\n continue;\n }\n const val = item[prop];\n rgRow.push(val);\n mapping[i][prop] = val;\n }\n\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping,\n };\n }\n\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n\nexport function getCellData(val?: any) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n}\n\n/**\n * Checks if the given rowDrag is a service for dragging rows.\n */\nexport function isRowDragService(\n rowDrag: RowDrag,\n model: ColumnDataSchemaModel,\n): boolean {\n if (typeof rowDrag === 'function') {\n return rowDrag(model);\n }\n return !!rowDrag;\n}\nexport function doPropMerge(existing: CellProps, extra: CellProps) {\n let props: CellProps = { ...extra, ...existing };\n // extend existing props\n if (extra.class) {\n if (typeof extra.class === 'object' && typeof props.class === 'object') {\n props.class = { ...extra.class, ...props.class };\n } else if (\n typeof extra.class === 'string' &&\n typeof props.class === 'object'\n ) {\n props.class[extra.class] = true;\n } else if (typeof props.class === 'string') {\n props.class += ' ' + extra.class;\n }\n }\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n}\n"],"mappings":";;;uLAEaA,EAAc,GAAGC,U,MACjBC,EAAoB,GAAGD,S,MACvBE,EAAuB,GAAGF,O,MAC1BG,EAA0B,GAAGH,U,MAC7BI,EAAsB,GAAGJ,W,MACzBK,EAAiB,GAAGL,aAC1B,MAAMM,EAAuB,GAAGN,mB,MAC1BO,EAAmB,e,MACnBC,EAAqB,mB,MACrBC,EAAoB,QCWjC,SAASC,EAAqBC,EAAgBC,GAC5C,OAAOD,EAAKC,IAAS,IACvB,C,SASgBC,EACdC,EACAC,GACAC,aAAEA,EAAYC,YAAEA,EAAWC,cAAEA,EAAgBR,IAE7C,MAAMS,EAA4B,IAAIC,IACtCN,EAAMO,SAAQ,CAACV,EAAMW,KACnB,MAAMC,EAAmBR,EAASS,KAAIC,GAAWP,EAAcP,EAAMc,KACrE,MAAMC,EAAiBH,EAAiBI,MACxC,IAAIC,EAAoBT,EACxBI,EAAiBF,SAAQQ,IACvB,IAAKD,EAAkBE,IAAID,GAAQ,CACjCD,EAAkBG,IAAIF,EAAO,IAAIT,I,CAEnCQ,EAAoBA,EAAkBI,IAAIH,EAAqB,IAEjE,IAAKD,EAAkBE,IAAIJ,GAAiB,CAC1CE,EAAkBG,IAAIL,EAAgB,G,CAExC,MAAMO,EAAiBL,EAAkBI,IACvCN,GAEFO,EAAeC,KAAIC,OAAAC,OAAAD,OAAAC,OAAA,GACdzB,GAAI,CACPL,CAACA,GAAuBgB,IACxB,IAGJ,IAAIe,GAAa,EACjB,MAAMC,EAAgBvB,EAASwB,OAE/B,MAAMC,EAAmC,GAEzC,MAAMC,EAAyC,GAE/C,MAAMC,EAA4C,GAClD,MAAMC,EAA+B,GACrC,SAASC,EACPC,EACAC,EACAC,GAEA,MAAMC,EAAQF,EAAUP,OACxBM,EAAcxB,SAAQ,CAAC4B,EAAoBxB,KACzC,MAAMyB,EAAW,IAAIJ,EAAWrB,GAChC,MAAM0B,EAAYD,EAASE,KAAK,KAChC,MAAMC,EACJN,MAAiB9B,MAAiBD,IAAY,MAAZA,SAAY,SAAZA,EAAemC,KACnDR,EAAiBT,KAAK,CACpBjC,CAACA,GAAoBwB,EACrB1B,CAACA,GAAciD,EACf9C,CAACA,GAAuBoD,KAAKC,UAAUL,GACvC/C,CAACA,GAA0BgD,EAC3B9C,CAACA,GAAiBgD,IAEpBhB,GAAa,EACb,IAAKgB,GAAmBL,EAAO,CAC7BR,EAAQH,GAAa,I,CAEvB,GAAImB,MAAMC,QAAQR,GAAqB,CACrCA,EAAmB5B,SAAQQ,IACzBQ,GAAa,EACb,IAAKgB,EAAiB,CACpBb,EAAQH,GAAa,I,CAEvBI,EAAeZ,EAAMvB,IAAyB+B,EAC9C,MAAMqB,EAAqBR,EAAS1B,KAAI,CAACmC,EAAQC,IAC/CV,EAASW,MAAM,EAAGD,EAAQ,GAAGR,KAAK,OAEpCM,EAAmBrC,SAAQyC,IACzB,IAAKpB,EAAgBoB,GAAoB,CACvCpB,EAAgBoB,GAAqB,E,CAEvCpB,EAAgBoB,GAAmB5B,KAAKG,EAAU,GAClD,IAEJM,EAAiBT,QAAQe,E,KACpB,CACLL,EAAiBK,EAAoBC,EAAUG,E,KAIrDT,EAAiBzB,EAAc,GAAI,MAEnC,MAAO,CACLwB,mBACAK,MAAOV,EACPE,UACAC,iBACAsB,gBAAiBrB,EAErB,C,SAEgBsB,EAAgBC,GAC9B,OAAOA,GAASA,EAAMhE,EACxB,C,SAEgBiE,EAAWD,GACzB,OAAOA,UAAgBA,EAAMhE,KAAuB,WACtD,C,SAEgBkE,EAAiBC,GAC/B,OAAOA,UAAiBA,EAAOhE,KAAyB,WAC1D,C,SAEgBiE,EAAqBC,EAAaC,GAChD,MAAMC,EAAKF,EAAO/B,OAClB,IAAIkC,EAAI,EACR,KAAOA,EAAID,EAAIC,IAAK,CAClB,GAAIH,EAAOG,KAAOF,EAAOE,GAAI,CAC3B,OAAOA,C,EAGX,OAAOA,CACT,C,SAEgBC,EAAeC,GAC7B,MAAMC,EAAatB,KAAKuB,MAAMF,GAE9B,IAAKnB,MAAMC,QAAQmB,GAAa,CAC9B,OAAO,I,CAET,OAAOA,CACT,C,SAGgBE,EACdC,EACAC,EACAC,GAEA,MAAMC,EAAYR,EAAeO,EAAU/E,IAC3C,IAAKgF,EAAW,CACd,OAAO,K,CAGT,MAAMlC,EAAQqB,EAAkBU,EAAcG,GAC9C,OAAOF,EAAajF,GAAeiD,CACrC,C,MCrKamC,EAAc,S,MACdC,EAAc,S,MACdC,EAAe,U,MACfC,EAAY,O,SAGTC,EACdC,EACAC,GAEA,MAAO,CACLC,EAAGF,EAAKG,UAAUH,EAAKI,SAASC,MAAM7D,IAAI,aAC1C8D,EAAGN,EAAKG,UAAUF,GAASI,MAAM7D,IAAI,aAEzC,CCXA,SAAS+D,EAAUjF,EAAOkF,EAAOC,GAC/B,IAAIrC,GAAS,EACTrB,EAASzB,EAAMyB,OAEnB,GAAIyD,EAAQ,EAAG,CACbA,GAASA,EAAQzD,EAAS,EAAKA,EAASyD,CAC5C,CACEC,EAAMA,EAAM1D,EAASA,EAAS0D,EAC9B,GAAIA,EAAM,EAAG,CACXA,GAAO1D,CACX,CACEA,EAASyD,EAAQC,EAAM,EAAMA,EAAMD,IAAW,EAC9CA,KAAW,EAEX,IAAIE,EAAS1C,MAAMjB,GACnB,QAASqB,EAAQrB,EAAQ,CACvB2D,EAAOtC,GAAS9C,EAAM8C,EAAQoC,EAClC,CACE,OAAOE,CACT,C,IAEAC,EAAiBJ,EC9BjB,IAAIA,EAAYK,EACZC,EAAiBC,EACjBC,EAAYC,EAkBhB,SAAS3C,EAAM/C,EAAOkF,EAAOC,GAC3B,IAAI1D,EAASzB,GAAS,KAAO,EAAIA,EAAMyB,OACvC,IAAKA,EAAQ,CACX,MAAO,EACX,CACE,GAAI0D,UAAcA,GAAO,UAAYI,EAAevF,EAAOkF,EAAOC,GAAM,CACtED,EAAQ,EACRC,EAAM1D,CACV,KACO,CACHyD,EAAQA,GAAS,KAAO,EAAIO,EAAUP,GACtCC,EAAMA,IAAQQ,UAAYlE,EAASgE,EAAUN,EACjD,CACE,OAAOF,EAAUjF,EAAOkF,EAAOC,EACjC,C,IAEAS,EAAiB7C,E,MCII8C,EAEnB,WAAIC,GACF,OAAOC,EAAqBC,KAAKC,O,CAMnC,WAAAC,CACUC,EACAF,GADAD,KAAAG,YACAH,KAAAC,SAVFD,KAAAI,YAA8B,GAKtCJ,KAAAK,YAAc,MAOZL,KAAKI,YAAYhF,KACf6E,EAAOK,SAAS,UAAUC,GAAKP,KAAKQ,cAAcD,MAEpDP,KAAKQ,cAAcP,EAAO/E,IAAI,WAC9B8E,KAAKS,KAAOR,EAAO/E,IAAI,O,CAGjB,aAAAsF,CAAcE,GACpB,IAAK,IAAIC,KAASD,EAAM,CACtB,GAAIrD,EAAiBsD,GAAQ,CAC3BX,KAAKK,YAAc,KACnB,M,CAEFL,KAAKK,YAAc,K,EAIvB,UAAAO,CAAWC,EAAWC,G,MACpB,MAAMC,GAA2BC,EAAAhB,KAAKF,QAAQgB,MAAE,MAAAE,SAAA,SAAAA,EAAEC,SAClD,UAAWF,IAAa,WAAY,CAClC,MAAMrC,EAAOsB,KAAKkB,aAAaL,EAAGC,GAClC,OAAOC,EAASrC,E,CAElB,OAAOqC,C,CAGT,eAAAI,CACEN,EACAC,EACAM,EACAC,EACAC,GAEA,MAAMC,EAAwC,CAC5CC,CAACA,GAAa,KACdC,CAACA,GAAiBzB,KAAKY,WAAWC,EAAGC,IAEvC,IAAIY,EAAKrG,OAAAC,OAAAD,OAAAC,OAAA,GACJ8F,GAAY,CACfO,MAAOJ,IAET,MAAMK,EAAQN,IAAc,MAAdA,SAAc,SAAdA,EAAiBD,GAC/B,IAAKO,EAAO,CACV,OAAOF,C,CAET,OAAOG,EAAYH,EAAOE,E,CAG5B,WAAAE,CAAYjB,EAAW/G,GACrB,MAAMuH,EAAQU,EAAc/B,KAAKG,UAAWU,IAAM,GAClD,OAAOQ,EAAMvH,IAAS,E,CAGxB,WAAAkI,CAAYnB,EAAWC,GACrB,MAAMpC,EAAOsB,KAAKkB,aAAaL,EAAGC,GAClC,OAAOkB,EAAYtD,EAAK2C,MAAM3C,EAAK5E,M,CAGrC,WAAAmI,CACEC,EACAC,EACAC,GAEA,UAAWA,IAAQ,YAAa,CAC9BA,EAAMpC,KAAKgC,YAAYE,EAAUC,E,CAEnC,MAAMzD,EAAOsB,KAAKkB,aAAagB,EAAUC,GACzC,MAAO,CACLrI,KAAM4E,EAAK5E,KACXoI,WACAC,WACAC,MACAf,MAAO3C,EAAK2C,MACZvC,QAASkB,KAAKS,KACdA,KAAMT,KAAKG,UAAUjF,IAAI,Q,CAI7B,aAAAmH,CACEC,EACAxB,EACAyB,G,MAEA,MAAMC,GAASxB,EAAAhB,KAAKF,QAAQgB,MAAE,MAAAE,SAAA,SAAAA,EAAEwB,OAChC,IAAKA,EAAQ,CACX,OAAO7C,S,CAGT,UAAW6C,IAAW,SAAU,CAC9B,OAAOD,EAAQC,E,CAEjB,OAAOA,C,CAOT,YAAAtB,CAAagB,EAAkBC,GAC7B,MAAM7E,EAAS0C,KAAKF,QAAQqC,GAC5B,MAAMrI,EAA+BwD,IAAM,MAANA,SAAM,SAANA,EAAQxD,KAC7C,MAAMuH,EAAQU,EAAc/B,KAAKG,UAAW+B,IAAa,GACzD,MAAMnH,EAAQsG,EAAMvH,GACpB,MAAM2G,EAAOT,KAAKG,UAAUjF,IAAI,QAChC,MAAO,CACLpB,OACAuH,QACA3C,KAAMsB,KAAKG,UAAUjF,IAAI,UACzBoC,SACA4E,WACAC,WACArD,QAASkB,KAAKS,KACdA,OACA1F,Q,CAIJ,YAAA0H,CACEC,EACA5C,G,MAKA,MAAM6C,EAAsB,GAG5B,MAAMC,EAAgBF,EAAEG,SAASC,GAAKJ,EAAEG,SAASjE,EAAI,EACrD,MAAMmE,EAAgBL,EAAEG,SAASG,GAAKN,EAAEG,SAAS7D,EAAI,EACrD,MAAMiE,EAA8B,GAGpC,IACE,IAAIf,EAAWQ,EAAEQ,SAASlE,EAAGrB,EAAI,EACjCuE,EAAWQ,EAAEQ,SAASF,GAAK,EAC3Bd,IAAYvE,IACZ,CAEA,MAAMwF,EAAcT,EAAEG,SAAS7D,EAAKrB,EAAIoF,EACxC,MAAMK,EAAUrB,EAAc/B,KAAKG,UAAWgD,IAAgB,GAG9D,IACE,IAAIhB,EAAWO,EAAEQ,SAAStE,EAAGyE,EAAI,EACjClB,EAAWO,EAAEQ,SAASJ,GAAK,EAC3BX,IAAYkB,IACZ,CAEA,GACEnB,GAAYQ,EAAEG,SAAS7D,GACvBkD,GAAYQ,EAAEG,SAASG,IACvBb,GAAYO,EAAEG,SAASjE,GACvBuD,GAAYO,EAAEG,SAASC,GACvB,CACA,Q,CAIF,IAAK9C,KAAKF,QAAQqC,GAAW,CAC3B,Q,CAEF,MAAMrI,GAAOkH,EAAAhB,KAAKF,QAAQqC,MAAS,MAAAnB,SAAA,SAAAA,EAAElH,KACrC,MAAMwJ,EAAeZ,EAAEG,SAASjE,EAAKyE,EAAIT,EACzC,MAAMW,EAAiBzD,EAAQwD,GAAcxJ,KAG7C,IAAKkG,KAAKY,WAAWsB,EAAUC,GAAW,CAExC,IAAKQ,EAAQT,GAAW,CACtBS,EAAQT,GAAY,E,CAEtBS,EAAQT,GAAUpI,GAAQsJ,EAAQG,GAElC,IAAKN,EAAQf,GAAW,CACtBe,EAAQf,GAAY,E,CAEtBe,EAAQf,GAAUpI,GAAQ,CACxBqI,SAAUmB,EACVE,QAASD,EACTrB,SAAUiB,E,GAKlB,MAAO,CACLR,UACAM,U,CAIJ,yBAAAQ,CACEvE,EACAR,GAKA,MAAMiE,EAAsB,GAC5B,MAAMI,EAAgBrE,EAAKjD,OAC3B,MAAMiI,EAAY1D,KAAKF,QAAQrE,OAC/B,MAAMkI,EAAY3D,KAAKG,UAAUjF,IAAI,SAASO,OAE9C,IAAIyG,EAAWhD,EAAMF,EACrB,IAAI4E,EAAS,EACb,IACE,IAAIjG,EAAI,EACRuE,EAAWyB,GAAahG,EAAIoF,EAC5Bb,IAAYvE,IACZ,CAEA,MAAMyF,EAAU1E,EAAKf,EAAIoF,GACzB,MAAMH,GAAgBQ,IAAO,MAAPA,SAAO,SAAPA,EAAS3H,SAAU,EAEzC,IAAI0G,EAAWjD,EAAMN,EACrB,IACE,IAAIyE,EAAI,EACRlB,EAAWuB,GAAaL,EAAIT,EAC5BT,IAAYkB,IACZ,CACA,MAAMQ,EAAI7D,KAAKF,QAAQqC,GAAUrI,KACjC,MAAMgK,EAAaT,EAAIK,EAGvB,IAAK1D,KAAKY,WAAWsB,EAAUC,GAAW,CAExC,IAAKQ,EAAQT,GAAW,CACtBS,EAAQT,GAAY,E,CAEtBS,EAAQT,GAAU2B,GAAKT,EAAQU,E,EAGnCF,EAASG,KAAKC,IAAIJ,EAAQzB,EAAW,E,CAEvC,MAAM8B,EAAQC,EAAShF,EAAO,CAC5BF,EAAGkD,EAAW,EACdtD,EAAGgF,IAEL,MAAO,CACLjB,UACAsB,Q,CAIJ,kBAAAE,CAAmBzB,EAAc3H,GAC/B,MAAM4H,EAAsB,GAG5B,IAAK,IAAIT,EAAWQ,EAAE1D,EAAGrB,EAAI,EAAGuE,EAAWQ,EAAEM,GAAK,EAAGd,IAAYvE,IAAK,CAEpE,IAAK,IAAIwE,EAAWO,EAAE9D,EAAGyE,EAAI,EAAGlB,EAAWO,EAAEI,GAAK,EAAGX,IAAYkB,IAAK,CAEpE,IAAKrD,KAAKF,QAAQqC,GAAW,CAC3B,Q,CAEF,MAAM0B,EAAI7D,KAAKF,QAAQqC,GAAUrI,KAGjC,IAAKkG,KAAKY,WAAWsB,EAAUC,GAAW,CAExC,IAAKQ,EAAQT,GAAW,CACtBS,EAAQT,GAAY,E,CAEtBS,EAAQT,GAAU2B,GAAK9I,C,GAI7B,OAAO4H,C,CAGT,0BAAAyB,CACE1B,EACA3D,G,MAEA,MAAMsF,EAOA,GAEN,MAAM5D,EAAOT,KAAKG,UAAUjF,IAAI,QAEhC,IAAK,IAAIgH,EAAWQ,EAAE1D,EAAGrB,EAAI,EAAGuE,EAAWQ,EAAEM,GAAK,EAAGd,IAAYvE,IAAK,CAEpE,IAAK,IAAIwE,EAAWO,EAAE9D,EAAGyE,EAAI,EAAGlB,EAAWO,EAAEI,GAAK,EAAGX,IAAYkB,IAAK,CACpE,MAAMvJ,GAAOkH,EAAAhB,KAAKF,QAAQqC,MAAS,MAAAnB,SAAA,SAAAA,EAAElH,KACrCuK,EAAKjJ,KAAK,CACRtB,OACAoI,WACAC,WACAd,MAAOU,EAAchD,EAAOmD,GAC5BzB,OACA3B,QAASkB,KAAKS,M,EAIpB,OAAO4D,C,CAGT,cAAAC,CACEL,EACAlF,GAEA,MAAM2B,EAAO,IAAIV,KAAKF,SACtB,MAAM4B,EAAQ3E,EAAM2D,EAAMuD,EAAMrF,EAAGqF,EAAMnB,GAAK,GAAGpI,KAAI6J,GAAKA,EAAEzK,OAC5D,MAAM0K,EAAyB,GAC/B,MAAMvB,EAAkE,GAGxE,IAAK,IAAItF,EAAIsG,EAAMjF,EAAGrB,GAAKsG,EAAMjB,GAAIrF,IAAK,CACxC,MAAMR,EAAsB,GAC5B8F,EAAQtF,GAAK,GAGb,IAAK,IAAI7D,KAAQ4H,EAAO,CACtB,MAAM7H,EAAOkI,EAAchD,EAAOpB,GAGlC,IAAK9D,EAAM,CACT,Q,CAEF,MAAMuI,EAAMvI,EAAKC,GACjBqD,EAAM/B,KAAKgH,GACXa,EAAQtF,GAAG7D,GAAQsI,C,CAGrBoC,EAAOpJ,KAAK+B,E,CAEd,MAAO,CACLuB,KAAM8F,EACNvB,U,CAIJ,OAAAwB,GACEzE,KAAKI,YAAY7F,SAAQmK,GAAKA,K,WAIlB1C,EAAYI,GAC1B,UAAWA,IAAQ,aAAeA,IAAQ,KAAM,CAC9C,MAAO,E,CAET,OAAOA,CACT,C,SAKgBuC,EACdC,EACAvD,GAEA,UAAWuD,IAAY,WAAY,CACjC,OAAOA,EAAQvD,E,CAEjB,QAASuD,CACX,C,SACgB/C,EAAYgD,EAAqBjD,GAC/C,IAAIF,EAAKrG,OAAAC,OAAAD,OAAAC,OAAA,GAAmBsG,GAAUiD,GAEtC,GAAIjD,EAAMD,MAAO,CACf,UAAWC,EAAMD,QAAU,iBAAmBD,EAAMC,QAAU,SAAU,CACtED,EAAMC,MAAKtG,OAAAC,OAAAD,OAAAC,OAAA,GAAQsG,EAAMD,OAAUD,EAAMC,M,MACpC,UACEC,EAAMD,QAAU,iBAChBD,EAAMC,QAAU,SACvB,CACAD,EAAMC,MAAMC,EAAMD,OAAS,I,MACtB,UAAWD,EAAMC,QAAU,SAAU,CAC1CD,EAAMC,OAAS,IAAMC,EAAMD,K,EAG/B,GAAIC,EAAMkD,MAAO,CACfpD,EAAMoD,MAAKzJ,OAAAC,OAAAD,OAAAC,OAAA,GAAQsG,EAAMkD,OAAUpD,EAAMoD,M,CAE3C,OAAOpD,CACT,Q","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import{h as t}from"./index-21436631.js";import{d as i}from"./dispatcher-8ea9187d.js";import{m as s}from"./column.service-21a3af74.js";var e;(function(t){t["start"]="resize:start";t["move"]="resize:move";t["end"]="resize:end"})(e||(e={}));const h={"resizable-r":{bit:1,cursor:"ew-resize"},"resizable-rb":{bit:3,cursor:"se-resize"},"resizable-b":{bit:2,cursor:"s-resize"},"resizable-lb":{bit:6,cursor:"sw-resize"},"resizable-l":{bit:4,cursor:"w-resize"},"resizable-lt":{bit:12,cursor:"nw-resize"},"resizable-t":{bit:8,cursor:"n-resize"},"resizable-rt":{bit:9,cursor:"ne-resize"}};const o={l:1,t:2,w:4,h:8};const n=t=>Object.assign(Object.assign({},t),{fitParent:t.fitParent||false,active:t.active||[],disableAttributes:t.disableAttributes||[],minWidth:t.minWidth||0,minHeight:t.minHeight||0});class r{constructor(t,i){this.initialProps=t;this.$event=i;this.mouseX=0;this.mouseY=0;this.width=0;this.height=0;this.changeX=0;this.changeY=0;this.disableCalcMap=15;this.props=n(t);this.mouseMoveFunc=this.handleMove.bind(this);this.mouseUpFunc=this.handleUp.bind(this);this.minW=this.props.minWidth;this.minH=this.props.minHeight;this.maxW=this.props.maxWidth;this.maxH=this.props.maxHeight;this.parent={width:0,height:0};this.resizeState=0}set(t){this.$el=t;this.props.disableAttributes.forEach((t=>{switch(t){case"l":this.disableCalcMap&=~o.l;break;case"t":this.disableCalcMap&=~o.t;break;case"w":this.disableCalcMap&=~o.w;break;case"h":this.disableCalcMap&=~o.h}}))}emitEvent(t,i){var s;if(!this.$event){return}const e=(s=this.activeResizer)===null||s===void 0?void 0:s.classList.contains("resizable-l");this.$event(Object.assign({eventName:t,width:this.width+this.changeX*(e?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},i))}static isTouchEvent(t){var i;const s=t;return((i=s.touches)===null||i===void 0?void 0:i.length)>=0}handleMove(t){var i;if(!this.resizeState){return}let s,n;if(r.isTouchEvent(t)){s=t.touches[0].clientY;n=t.touches[0].clientX}else{s=t.clientY;n=t.clientX}let l=this.resizeState&h["resizable-r"].bit||this.resizeState&h["resizable-l"].bit;let c=this.resizeState&h["resizable-t"].bit||this.resizeState&h["resizable-b"].bit;if(c&&this.disableCalcMap&o.h){let t=s-this.mouseY;let i=this.changeY+t;const e=this.height+i;if(e<this.minH){i=-(this.height-this.minH)}if(this.maxH&&e>this.maxH){i=this.maxH-this.height}this.changeY=i;this.mouseY=s;if(this.activeResizer){this.activeResizer.style.bottom=`${-this.changeY}px`}}if(l&&this.disableCalcMap&o.w){const t=(i=this.activeResizer)===null||i===void 0?void 0:i.classList.contains("resizable-l");let s=n-this.mouseX;let e=this.changeX+s;const h=this.width+e*(t?-1:1);if(h<this.minW){e=-(this.width-this.minW)}if(this.maxW&&h>this.maxW){e=this.maxW-this.width}this.changeX=e;this.mouseX=n;if(this.activeResizer){if(!t){this.activeResizer.style.right=`${-this.changeX}px`}else{this.activeResizer.style.left=`${this.changeX}px`}}}this.emitEvent(e.move)}handleDown(t){if(t.defaultPrevented){return}t.preventDefault();this.dropInitial();for(let i in h){const s=t.target;if(this.$el.contains(s)&&(s===null||s===void 0?void 0:s.classList.contains(i))){document.body.style.cursor=h[i].cursor;if(r.isTouchEvent(t)){this.setInitials(t.touches[0],s)}else{t.preventDefault&&t.preventDefault();this.setInitials(t,s)}this.resizeState=h[i].bit;const o=e.start;this.emitEvent(o);break}}this.bindMove()}handleUp(t){t.preventDefault();if(this.resizeState!==0){this.resizeState=0;document.body.style.cursor="";const t=e.end;this.emitEvent(t)}this.dropInitial();this.unbindMove()}setInitials({clientX:t,clientY:i},s){const e=getComputedStyle(this.$el);this.$el.classList.add("active");this.activeResizer=s;if(this.disableCalcMap&o.w){this.mouseX=t;this.width=this.$el.clientWidth;this.parent.width=this.$el.parentElement.clientWidth;const i=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);this.minW=Math.max(i,this.initialProps.minWidth||0);if(this.initialProps.maxWidth){this.maxW=Math.max(this.width,this.initialProps.maxWidth)}}if(this.disableCalcMap&o.h){this.mouseY=i;this.height=this.$el.clientHeight;this.parent.height=this.$el.parentElement.clientHeight;const t=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom);this.minH=Math.max(t,this.initialProps.minHeight||0);if(this.initialProps.maxHeight){this.maxH=Math.max(this.height,this.initialProps.maxHeight)}}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH;this.width=this.height=0;if(this.activeResizer){this.activeResizer.removeAttribute("style")}this.$el.classList.remove("active");this.activeResizer=null}bindMove(){document.documentElement.addEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.addEventListener("touchend",this.mouseUpFunc,true);document.documentElement.addEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.addEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.addEventListener("mouseleave",this.mouseUpFunc)}unbindMove(){document.documentElement.removeEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.removeEventListener("touchend",this.mouseUpFunc,true);document.documentElement.removeEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("mouseleave",this.mouseUpFunc)}}const l=(i,s)=>{const h=[];const o=i.canResize&&new r(i,(t=>{if(t.eventName===e.end){i.onResize&&i.onResize(t)}}))||null;if(i.canResize){if(i.active){for(let s in i.active){h.push(t("div",{onClick:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDoubleClick)===null||s===void 0?void 0:s.call(i,t)},onMouseDown:t=>o===null||o===void 0?void 0:o.handleDown(t),onTouchStart:t=>o===null||o===void 0?void 0:o.handleDown(t),class:`resizable resizable-${i.active[s]}`}))}}}else{if(i.active){for(let s in i.active){h.push(t("div",{onClick:t=>t.preventDefault(),onTouchStart:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDoubleClick)===null||s===void 0?void 0:s.call(i,t)},class:`no-resize resizable resizable-${i.active[s]}`}))}}}return t("div",Object.assign({},i,{ref:t=>o===null||o===void 0?void 0:o.set(t)}),s,h)};const c="columnclick";const a=({data:e,props:h,additionalData:o},n)=>{let r=(e===null||e===void 0?void 0:e.name)||"";let a=h;if(e===null||e===void 0?void 0:e.columnTemplate){r=e.columnTemplate(t,e,o)}if(e===null||e===void 0?void 0:e.columnProperties){const t=e.columnProperties(e);if(t&&typeof t==="object"){a=s(h,t)}}return t(l,Object.assign({},a,{onMouseDown:t=>{i(t.currentTarget,c,{data:e,event:t})}}),t("div",{class:"header-content"},r),n)};export{a as H,c as O};
5
- //# sourceMappingURL=header-cell-renderer-1ca84d5f.js.map
4
+ import{h as t}from"./index-21436631.js";import{d as i}from"./dispatcher-8ea9187d.js";import{m as s}from"./column.service-f4922a8d.js";var e;(function(t){t["start"]="resize:start";t["move"]="resize:move";t["end"]="resize:end"})(e||(e={}));const h={"resizable-r":{bit:1,cursor:"ew-resize"},"resizable-rb":{bit:3,cursor:"se-resize"},"resizable-b":{bit:2,cursor:"s-resize"},"resizable-lb":{bit:6,cursor:"sw-resize"},"resizable-l":{bit:4,cursor:"w-resize"},"resizable-lt":{bit:12,cursor:"nw-resize"},"resizable-t":{bit:8,cursor:"n-resize"},"resizable-rt":{bit:9,cursor:"ne-resize"}};const o={l:1,t:2,w:4,h:8};const n=t=>Object.assign(Object.assign({},t),{fitParent:t.fitParent||false,active:t.active||[],disableAttributes:t.disableAttributes||[],minWidth:t.minWidth||0,minHeight:t.minHeight||0});class r{constructor(t,i){this.initialProps=t;this.$event=i;this.mouseX=0;this.mouseY=0;this.width=0;this.height=0;this.changeX=0;this.changeY=0;this.disableCalcMap=15;this.props=n(t);this.mouseMoveFunc=this.handleMove.bind(this);this.mouseUpFunc=this.handleUp.bind(this);this.minW=this.props.minWidth;this.minH=this.props.minHeight;this.maxW=this.props.maxWidth;this.maxH=this.props.maxHeight;this.parent={width:0,height:0};this.resizeState=0}set(t){this.$el=t;this.props.disableAttributes.forEach((t=>{switch(t){case"l":this.disableCalcMap&=~o.l;break;case"t":this.disableCalcMap&=~o.t;break;case"w":this.disableCalcMap&=~o.w;break;case"h":this.disableCalcMap&=~o.h}}))}emitEvent(t,i){var s;if(!this.$event){return}const e=(s=this.activeResizer)===null||s===void 0?void 0:s.classList.contains("resizable-l");this.$event(Object.assign({eventName:t,width:this.width+this.changeX*(e?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},i))}static isTouchEvent(t){var i;const s=t;return((i=s.touches)===null||i===void 0?void 0:i.length)>=0}handleMove(t){var i;if(!this.resizeState){return}let s,n;if(r.isTouchEvent(t)){s=t.touches[0].clientY;n=t.touches[0].clientX}else{s=t.clientY;n=t.clientX}let l=this.resizeState&h["resizable-r"].bit||this.resizeState&h["resizable-l"].bit;let c=this.resizeState&h["resizable-t"].bit||this.resizeState&h["resizable-b"].bit;if(c&&this.disableCalcMap&o.h){let t=s-this.mouseY;let i=this.changeY+t;const e=this.height+i;if(e<this.minH){i=-(this.height-this.minH)}if(this.maxH&&e>this.maxH){i=this.maxH-this.height}this.changeY=i;this.mouseY=s;if(this.activeResizer){this.activeResizer.style.bottom=`${-this.changeY}px`}}if(l&&this.disableCalcMap&o.w){const t=(i=this.activeResizer)===null||i===void 0?void 0:i.classList.contains("resizable-l");let s=n-this.mouseX;let e=this.changeX+s;const h=this.width+e*(t?-1:1);if(h<this.minW){e=-(this.width-this.minW)}if(this.maxW&&h>this.maxW){e=this.maxW-this.width}this.changeX=e;this.mouseX=n;if(this.activeResizer){if(!t){this.activeResizer.style.right=`${-this.changeX}px`}else{this.activeResizer.style.left=`${this.changeX}px`}}}this.emitEvent(e.move)}handleDown(t){if(t.defaultPrevented){return}t.preventDefault();this.dropInitial();for(let i in h){const s=t.target;if(this.$el.contains(s)&&(s===null||s===void 0?void 0:s.classList.contains(i))){document.body.style.cursor=h[i].cursor;if(r.isTouchEvent(t)){this.setInitials(t.touches[0],s)}else{t.preventDefault&&t.preventDefault();this.setInitials(t,s)}this.resizeState=h[i].bit;const o=e.start;this.emitEvent(o);break}}this.bindMove()}handleUp(t){t.preventDefault();if(this.resizeState!==0){this.resizeState=0;document.body.style.cursor="";const t=e.end;this.emitEvent(t)}this.dropInitial();this.unbindMove()}setInitials({clientX:t,clientY:i},s){const e=getComputedStyle(this.$el);this.$el.classList.add("active");this.activeResizer=s;if(this.disableCalcMap&o.w){this.mouseX=t;this.width=this.$el.clientWidth;this.parent.width=this.$el.parentElement.clientWidth;const i=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);this.minW=Math.max(i,this.initialProps.minWidth||0);if(this.initialProps.maxWidth){this.maxW=Math.max(this.width,this.initialProps.maxWidth)}}if(this.disableCalcMap&o.h){this.mouseY=i;this.height=this.$el.clientHeight;this.parent.height=this.$el.parentElement.clientHeight;const t=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom);this.minH=Math.max(t,this.initialProps.minHeight||0);if(this.initialProps.maxHeight){this.maxH=Math.max(this.height,this.initialProps.maxHeight)}}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH;this.width=this.height=0;if(this.activeResizer){this.activeResizer.removeAttribute("style")}this.$el.classList.remove("active");this.activeResizer=null}bindMove(){document.documentElement.addEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.addEventListener("touchend",this.mouseUpFunc,true);document.documentElement.addEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.addEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.addEventListener("mouseleave",this.mouseUpFunc)}unbindMove(){document.documentElement.removeEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.removeEventListener("touchend",this.mouseUpFunc,true);document.documentElement.removeEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("mouseleave",this.mouseUpFunc)}}const l=(i,s)=>{const h=[];const o=i.canResize&&new r(i,(t=>{if(t.eventName===e.end){i.onResize&&i.onResize(t)}}))||null;if(i.canResize){if(i.active){for(let s in i.active){h.push(t("div",{onClick:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDoubleClick)===null||s===void 0?void 0:s.call(i,t)},onMouseDown:t=>o===null||o===void 0?void 0:o.handleDown(t),onTouchStart:t=>o===null||o===void 0?void 0:o.handleDown(t),class:`resizable resizable-${i.active[s]}`}))}}}else{if(i.active){for(let s in i.active){h.push(t("div",{onClick:t=>t.preventDefault(),onTouchStart:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDoubleClick)===null||s===void 0?void 0:s.call(i,t)},class:`no-resize resizable resizable-${i.active[s]}`}))}}}return t("div",Object.assign({},i,{ref:t=>o===null||o===void 0?void 0:o.set(t)}),s,h)};const c="columnclick";const a=({data:e,props:h,additionalData:o},n)=>{let r=(e===null||e===void 0?void 0:e.name)||"";let a=h;if(e===null||e===void 0?void 0:e.columnTemplate){r=e.columnTemplate(t,e,o)}if(e===null||e===void 0?void 0:e.columnProperties){const t=e.columnProperties(e);if(t&&typeof t==="object"){a=s(h,t)}}return t(l,Object.assign({},a,{onMouseDown:t=>{i(t.currentTarget,c,{data:e,event:t})}}),t("div",{class:"header-content"},r),n)};export{a as H,c as O};
5
+ //# sourceMappingURL=header-cell-renderer-ac962570.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-21436631.js";import{k as s,r as n,l as a,h,m as l,_ as d,n as c,o as g,q as u,u as f,v,w as p,b as m,e as w,s as b,D as x,a as C,f as y,j as S,x as k,y as R,z as j,A as O,B as E,C as z,g as L,d as P,i as H}from"./dimension.helpers-a3065cb1.js";import{B as I,c as M,r as D,i as T}from"./storeTypes-f2647985.js";import{d as F}from"./debounce-7781346d.js";import{R as N,t as $,g as B,U as A}from"./index-98fd0168.js";import{V,c as U,g as q}from"./events-3dd8ee7c.js";import{F as G,i as X}from"./filter.button-46ce4f80.js";import{_ as Y,c as W}from"./toNumber-8de324a7.js";import{i as J,g as _,G as K,a as Z,b as Q,c as ee,P as te,d as re,e as ie,f as oe,h as se,j as ne,k as ae,l as he,H as le,C as de,F as ce,D as ge}from"./column.service-21a3af74.js";import{E as ue,b as fe}from"./selection.store-2577ddf9.js";import{d as ve}from"./dispatcher-8ea9187d.js";import{O as pe}from"./header-cell-renderer-1ca84d5f.js";import"./viewport.helpers-6591d423.js";class me{constructor(){this.defaultRowSize=32}}class we{constructor(){this.defaultRowSize=27}}class be{constructor(){this.defaultRowSize=42}}const xe="default";const Ce=[xe,"material","compact","darkMaterial","darkCompact"];class ye{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=ye.getTheme(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new be;break;case"compact":case"darkCompact":this.currentTheme=new me;break;default:this.currentTheme=new we;break}}static getTheme(e){if(Ce.indexOf(e)>-1){return e}return xe}}const Se=e=>{let t={};const r=(r,i)=>{const o=Object.assign({},r);t={};l(i,((e,r)=>{if(e&&o[r]){t[r]=o[r];delete o[r]}}));e.setDimensionSize(o)};return{set(i,o){switch(i){case"trimmed":const i=o;const s=e.store.get("sizes");r(Object.assign(Object.assign({},s),t),i);break}}}};const ke=e=>({set(t){switch(t){case"count":case"sizes":case"originItemSize":let t=0;const r=e.store.get("count");for(let i=0;i<r;i++){t+=e.store.get("sizes")[i]||e.store.get("originItemSize")}e.setStore({realSize:t})}}});function Re(){return{indexes:[],count:0,trimmed:{},sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}}function je(){return Object.assign(Object.assign({},Re()),{realSize:0,originItemSize:0})}class Oe{constructor(){this.store=s(je());this.store.use(Se(this));this.store.use(ke(this))}getCurrentState(){const e=je();const t=Object.keys(e);return n(t,((e,t)=>{const r=this.store.get(t);e[t]=r;return e}),e)}dispose(){a(this.store,je())}setStore(e){a(this.store,e)}drop(){a(this.store,Re())}setDimensionSize(e){const t=h(this.store.get("originItemSize"),e);a(this.store,t);return t}}var Ee=d,ze=c,Le=g;function Pe(e){return function(t,r,i){var o=Object(t);if(!ze(t)){var s=Ee(r);t=Le(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 He=Pe;var Ie=He,Me=u;var De=Ie(Me);var Te=De;var Fe=f,Ne=c;function $e(e,t){var r=-1,i=Ne(e)?Array(e.length):[];Fe(e,(function(e,o,s){i[++r]=t(e,o,s)}));return i}var Be=$e;var Ae=v,Ve=d,Ue=Be,qe=p;function Ge(e,t){var r=qe(e)?Ae:Ue;return r(e,Ve(t))}var Xe=Ge;class Ye extends I{static gatherGroup(e,t,r,i=0){const o=Object.assign(Object.assign({},t),{level:i,ids:[]});for(let t in r.columns){const i=t;const s=e.columns[i];const n=r.columns[i];if(p(s)&&p(n)){s.push(...n);if(n.length){e.columnGrouping[i].push(Object.assign(Object.assign({},o),{ids:Xe(n,"prop")}))}}}for(let t in r.columnGrouping){const i=t;const o=r.columnGrouping[i];e.columnGrouping[i].push(...o)}e.maxLevel=Math.max(e.maxLevel,r.maxLevel);e.sort=Object.assign(Object.assign({},e.sort),r.sort);return e}}function We(e){return!!e.children}class Je{get order(){return n(this.sorting,((e,t,r)=>{e[r]=t.order;return e}),{})}get stores(){return this.dataSources}constructor(){this.sorting=null;this.dataSources=n(M,((e,t)=>{e[t]=new x(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return m(this.dataSources[t].store,e)}getRawColumns(){return n(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 M.reduce(((e,t)=>{e.push(...this.dataSources[t].store.get("source"));return e}),[])}getColumnIndexByProp(e,t){return w(this.dataSources[t].store,e)}getColumnByProp(e,t){const r=this.dataSources[t].store.get("source");return Te(r,{prop:e})}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){M.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=Je.getColumnType(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};l(t,((e,t)=>{const i=this.dataSources[t].store.get("source");r[t]=i.reduce(((t,r,i)=>{const o=e[r.prop];if(o){t[i]=o}return t}),{})}));l(r,((e,t)=>b(this.dataSources[t].store,e)))}updateColumn(e,t){const r=Je.getColumnType(e);b(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,i){if(!i){this.clearSorting()}e.order=r;this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=n(this.sorting,((e,t)=>{const r=Je.getColumnType(t);e[r]=true;return e}),{});l(e,((e,t)=>{const r=this.dataSources[t].store.get("source");l(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}static getSizes(e){return n(e,((e,t,r)=>{if(t.size){e[r]=t.size}return e}),{})}static getColumnByProp(e,t){return Te(e,(e=>{if(We(e)){return Je.getColumnByProp(e.children,t)}return e.prop===t}))}static getColumns(e,t=0,r){const i={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:{},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:t,sort:{}};return n(e,((e,i)=>{if(We(i)){return Ye.gatherGroup(e,i,Je.getColumns(i.children,t+1,r),t)}const o=Object.assign(Object.assign({},i.columnType&&r&&r[i.columnType]),i);if(!o.pin){e.columns.rgCol.push(o)}else{e.columns[o.pin].push(o)}if(o.order){e.sort[o.prop]=o}if(!e.columnByProp[o.prop]){e.columnByProp[o.prop]=[]}e.columnByProp[o.prop].push(o);o.beforeSetup&&o.beforeSetup(o);return e}),i)}static getColumnType(e){if(e.pin){return e.pin}return"rgCol"}}class _e{constructor(e){this.dimensionProvider=e;this.stores=n(D,((e,t)=>{e[t]=new x(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 m(r,e)}setCellData({type:e,rowIndex:t,prop:r,val:i},o=true){const s=this.getModel(t,e);s[r]=i;b(this.stores[e].store,{[t]:s},o)}setRangeData(e,t){const r={};for(let i in e){const o=r[i]=m(this.stores[t].store,parseInt(i,10));if(!o){continue}for(let t in e[i]){o[t]=e[i][t]}}b(this.stores[t].store,r)}refresh(e="all"){if(T(e)){this.refreshItems(e)}D.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(C(r.store).length,t)}}}class Ke{constructor(e,t){this.viewports=e;const r=F((e=>t.realSizeChanged(e)),N);this.stores=n([...D,...M],((e,t)=>{e[t]=new Oe;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.viewports.stores[e].setViewPortDimensionSizes(i,!r?this.stores[e].store.get("originItemSize"):undefined)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=y(e);const i=this.stores[t];i.setStore({trimmed:r});this.viewports.stores[t].setViewPortDimensionSizes(i.store.get("sizes"))}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 M){this.stores[r].drop();const i=e[r];const o=r!=="rgCol"||t;this.stores[r].setStore({count:i.length});const s=Je.getSizes(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 M){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of D){i+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:i,x:r}}updateViewport(e){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e})}setViewPortCoordinate({coordinate:e,type:t}){const r=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=S(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=M;break;case"rgRow":r=D;break}for(let t of r){this.stores[t].setStore(e)}}}class Ze{constructor(){this.stores=n([...D,...M],((e,t)=>{e[t]=new V(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}const Qe=7;var et;(function(e){e["headerClickAutosize"]="headerClickAutoSize";e["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";e["autoSizeAll"]="autoSizeAll"})(et||(et={}));class tt extends I{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)||Qe;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=Je.getColumnType(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 et.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",o);break;case et.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}}l(t,((r,i)=>{const o={};l(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}}}l(this.autoSizeColumns,((e,r)=>{const i={};l(e,(e=>{const r=n(t,((t,r)=>{if(typeof r[e.prop]==="undefined"){return t}return Math.max(t||0,this.getLength(r[e.prop]))}),undefined);if(r&&e.size<r){e.size=i[e.index]=r}}));this.providers.dimension.setCustomSizes(r,i,true)}))}afterEditAll(e){const t={};if(this.isRangeEdit(e)){l(e.data,(e=>l(e,((e,r)=>t[r]=true))))}else{t[e.prop]=true}l(this.autoSizeColumns,((e,r)=>{const i={};l(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){const r=this.autoSizeColumns[t][e];if(!r){return 0}return n(this.providers.data.stores,((e,t)=>{const i=n(t.store.get("items"),((e,i,o)=>{const s=m(t.store,o);return Math.max(e||0,this.getLength(s[r.prop]))}),0);return Math.max(e,i)}),r.size||0)}columnSet(e){var t;for(let r of M){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(){const e={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll"};const t=document.createElement("div");for(let r in e){t.style[r]=e[r]}t.classList.add("revo-test-container");return t}destroy(){var e;super.destroy();(e=this.precsizeCalculationArea)===null||e===void 0?void 0:e.remove()}}const rt=(e,t)=>{if(typeof e==="undefined"||e===null&&!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}const r=t.toString().toLocaleLowerCase();if(r.length===0){return true}return e.toLocaleLowerCase()===r};const it=(e,t)=>!rt(e,t);it.extra="input";rt.extra="input";const ot=function(e,t){let r;if(typeof e==="number"){r=parseFloat(t===null||t===void 0?void 0:t.toString());return e>r}return false};ot.extra="input";const st=function(e,t){return rt(e,t)||ot(e,t)};st.extra="input";const nt=function(e,t){let r;if(typeof e==="number"){r=parseFloat(t===null||t===void 0?void 0:t.toString());return e<r}else{return false}};nt.extra="input";const at=function(e,t){return rt(e,t)||nt(e,t)};at.extra="input";const ht=e=>!(e===""||e===null||e===void 0);const lt=e=>!ht(e);const dt=(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};dt.extra="input";const ct=(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 gt=(e,t)=>!ct(e,t);gt.extra="input";ct.extra="input";const ut={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 ft={none:()=>true,empty:lt,notEmpty:ht,eq:rt,notEq:it,begins:dt,contains:ct,notContains:gt,eqN:rt,neqN:it,gt:ot,gte:st,lt:nt,lte:at};const vt={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const pt="filter";const mt="filterconfigchanged";class wt extends I{constructor(t,r,i,o){var s;super(t,r);this.revogrid=t;this.filterCollection={};this.multiFilterItems={};this.possibleFilters=Object.assign({},vt);this.possibleFilterNames=Object.assign({},ut);this.possibleFilterEntities=Object.assign({},ft);this.filterProp=G;if(o){this.initConfig(o)}const n=e=>this.headerclick(e);const a=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",n);this.addEventListener(mt,(({detail:e})=>{if(!e){this.clearFiltering();return}if(typeof e==="object"){this.initConfig(e)}a()}));this.addEventListener("aftersourceset",a);this.addEventListener("filter",(({detail:e})=>this.onFilterChange(e)));const h=this.revogrid.registerVNode.filter((e=>e.t!=="revogr-filter-panel"));this.revogrid.registerVNode=[...h,e("revogr-filter-panel",{uuid:`filter-${i}`,filterItems:this.multiFilterItems,filterNames:this.possibleFilterNames,filterEntities:this.possibleFilterEntities,filterCaptions:(s=o===null||o===void 0?void 0:o.localization)===null||s===void 0?void 0:s.captions,onFilterChange:e=>this.onFilterChange(e.detail),disableDynamicFiltering:o===null||o===void 0?void 0:o.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}if(e.include){const t={};for(let r in this.possibleFilters){const i=this.possibleFilters[r].filter((t=>e.include.indexOf(t)>-1));if(i.length){t[r]=i}}if(Object.keys(t).length>0){this.possibleFilters=t}}if(e.collection){this.filterCollection=n(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;const r=(t=e.detail.originalEvent)===null||t===void 0?void 0:t.target;if(!X(r)){return}e.preventDefault();const i=await this.pop.getChanges();if(i&&(i===null||i===void 0?void 0:i.prop)===e.detail.prop){this.pop.show();return}const o=this.revogrid.getBoundingClientRect();const s=r.getBoundingClientRect();const n=e.detail.prop;this.pop.filterTypes=this.getColumnFilter(e.detail.filter);this.pop.show(Object.assign(Object.assign({},this.filterCollection[n]),{x:s.x-o.x,y:s.y-o.y+s.height,prop:n}))}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,pt);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:ft[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 bt=Y,xt=p,Ct=W;var yt="[object String]";function St(e){return typeof e=="string"||!xt(e)&&Ct(e)&&bt(e)==yt}var kt=St;var Rt=k;var jt=Rt("length");var Ot=jt;var Et="\\ud800-\\udfff",zt="\\u0300-\\u036f",Lt="\\ufe20-\\ufe2f",Pt="\\u20d0-\\u20ff",Ht=zt+Lt+Pt,It="\\ufe0e\\ufe0f";var Mt="\\u200d";var Dt=RegExp("["+Mt+Et+Ht+It+"]");function Tt(e){return Dt.test(e)}var Ft=Tt;var Nt="\\ud800-\\udfff",$t="\\u0300-\\u036f",Bt="\\ufe20-\\ufe2f",At="\\u20d0-\\u20ff",Vt=$t+Bt+At,Ut="\\ufe0e\\ufe0f";var qt="["+Nt+"]",Gt="["+Vt+"]",Xt="\\ud83c[\\udffb-\\udfff]",Yt="(?:"+Gt+"|"+Xt+")",Wt="[^"+Nt+"]",Jt="(?:\\ud83c[\\udde6-\\uddff]){2}",_t="[\\ud800-\\udbff][\\udc00-\\udfff]",Kt="\\u200d";var Zt=Yt+"?",Qt="["+Ut+"]?",er="(?:"+Kt+"(?:"+[Wt,Jt,_t].join("|")+")"+Qt+Zt+")*",tr=Qt+Zt+er,rr="(?:"+[Wt+Gt+"?",Gt,Jt,_t,qt].join("|")+")";var ir=RegExp(Xt+"(?="+Xt+")|"+rr+tr,"g");function or(e){var t=ir.lastIndex=0;while(ir.test(e)){++t}return t}var sr=or;var nr=Ot,ar=Ft,hr=sr;function lr(e){return ar(e)?hr(e):nr(e)}var dr=lr;var cr=R,gr=j,ur=c,fr=kt,vr=dr;var pr="[object Map]",mr="[object Set]";function wr(e){if(e==null){return 0}if(ur(e)){return fr(e)?vr(e):e.length}var t=gr(e);if(t==pr||t==mr){return e.size}return cr(e).length}var br=wr;class xr extends I{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.sorting=null;this.sortingFunc=null;this.sortingPromise=null;this.postponeSort=F((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(Je.getColumnByProp(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){let i=this.getNextOrder(e.order);const o=this.emit("beforesorting",{column:e,order:i,additive:r});if(o.defaultPrevented){return}i=o.detail.order;const s=await this.revogrid.updateColumnSorting(o.detail.column,t,i,r);const n=this.emit("beforesortingapply",{column:s,order:i,additive:r});if(n.defaultPrevented){return}i=n.detail.order;const a=this.getComparer(e,i);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&&br(t)>1&&i===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=i;r[e.prop]=a}}else{if(i){this.sorting={[e.prop]:i};this.sortingFunc={[e.prop]:a}}else{delete this.sorting[e.prop];delete this.sortingFunc[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(e,t,r=["rgRow","rowPinStart","rowPinEnd"]){if(!br(e)){this.sorting=null;this.sortingFunc=null;for(let e of r){const t=await this.revogrid.getSourceStore(e);const r=t.get("source");const i=O(0,r.length);a(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);a(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(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 Cr(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 yr=Cr;var Sr=yr,kr=E;var Rr=4294967295;function jr(e){return e?Sr(kr(e),0,Rr):0}var Or=jr;var Er=E,zr=Or;function Lr(e,t,r,i){var o=e.length;r=Er(r);if(r<0){r=-r>o?0:o+r}i=i===undefined||i>o?o:Er(i);if(i<0){i+=o}i=r>i?0:zr(i);while(r<i){e[r++]=t}return e}var Pr=Lr;var Hr=Pr,Ir=z;function Mr(e,t,r,i){var o=e==null?0:e.length;if(!o){return[]}if(r&&typeof r!="number"&&Ir(e,t,r)){r=0;i=o}return Hr(e,t,r,i)}var Dr=Mr;const Tr={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const Fr=String.fromCharCode(13);const Nr=String.fromCharCode(10);const $r=String.fromCharCode(34);const Br=String.fromCharCode(65279);const Ar=new RegExp('"',"g");class Vr{constructor(e={}){this.options=Object.assign(Object.assign({},Tr),e)}doExport({data:e,headers:t,props:r}){let i=this.options.bom?Br:"";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(J(e)){i+=this.parseCell(_(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=[Fr,$r,Nr,t];if(typeof i==="undefined"){return""}if(i!==""&&(r||o.some((e=>i.indexOf(e)>=0)))){return`"${i.replace(Ar,'""')}"`}return i}}var Ur;(function(e){e["csv"]="csv"})(Ur||(Ur={}));class qr extends I{async exportString(e={},t=Ur.csv){const r=await this.beforeexport();if(!r){return null}return this.formatter(t,e).doExport(r)}async exportBlob(e={},t=Ur.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=Ur.csv){const r=this.formatter(t,e);const i=await this.getBlob(r);const o=window.URL||window.webkitURL;const s=document.createElement("a");const{filename:n,fileKind:a}=r.options;const h=`${n}.${a}`;const l=o.createObjectURL(i);s.style.display="none";s.setAttribute("href",l);s.setAttribute("download",h);this.revogrid.appendChild(s);s.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(s);await $(120);o.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=[];M.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=Dr(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=[];D.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 Ur.csv:return new Vr(t);default:throw new Error("Unknown format")}}}function Gr(e,t){const r=t[e];const i=r[te];const o={};let s=e+1;const n=t.length;while(s<n){const e=t[s];if(J(e)){const t=e[te];if(!t.length||!t.startsWith(i+",")){break}e[K]=false}o[s++]=true}r[K]=false;return{trimmed:o}}function Xr(e,t,r){const i=r[e];const o=t[i];const s=Z(o[re]);const n={};if(!s){return{trimmed:n}}const a=[];o[K]=true;let h=i+1;const l=t.length;let d=0;while(h<l){const e=t[h];const r=J(e);if(r){if(!Q(s,o,e)){break}else if(!d){d=e[ee]}}if(!d||r&&d===e[ee]){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 Yr="grouping";function Wr(e,t,r){const i={};for(let o in e){if(o===Yr){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 Jr extends I{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[ie].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(J(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[Yr];let i=L(this.store,e);const o=t[i];const s=o[K];if(!s){const{trimmed:i,items:o}=Xr(e,t,this.rowItems);r=Object.assign(Object.assign({},r),i);if(o){P(this.store,o)}}else{const{trimmed:e}=Gr(i,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,Yr)}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(!J(s)){r.source.push(s);r.oldNewIndexes[o]=i;i++}else{if(s[K]){r.prevExpanded[s[te]]=true}}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][oe]=true;return true}return false}setColumns({columns:e}){for(let t of M){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=J(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===pt){const t=this.store.get("source");for(let r in e){if(e[r]&&J(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(se,(({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}=ne(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:i},e));this.providers.data.setData(s,ie,this.revogrid.disableVirtualY,{depth:n,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(a,l,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=>!J(e)));const i=this.revogrid.grouping||{};const{sourceWithGroups:o,depth:s,trimmed:n,oldNewIndexMap:a,childrenByGroup:h}=ne(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 M){if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}}this.subscribe()}clearGrouping(){M.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(ae(e)){delete e[oe];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,ie,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r,i){const o=Wr(this.trimmed,r,i);for(let e in o){this.revogrid.addTrimmed(o[e],e)}this.revogrid.addTrimmed(Object.assign({},e),Yr)}}function _r(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:C(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 Kr{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;M.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=_r(n);const h=this.registerCol(a.position.x,r);const l=this.dataViewPort(n).reduce(((t,r)=>{const i=this.registerSegment(r.position);i.setLastCell(r.lastCell);const o=this.registerRow(r.position.y,r.type);const s=Object.assign(Object.assign({},r),{rowSelectionStore:o,segmentSelectionStore:i.store,ref:t=>e.selectionStoreConnector.registerSection(t),onSetrange:e=>{i.setRangeArea(e.detail)},onSettemprange:e=>{i.setTempArea(e.detail)},onFocuscell:t=>{i.clearFocus();e.selectionStoreConnector.focus(i,t.detail)}});t.push(s);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=n(t||{},((e,t,i)=>{const o=parseInt(i,10);const s=m(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:le,rgRow:de,rowPinEnd:ce};let r=0;return D.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:ue})});i.push(this.dataPartition(n,o,t[o],o!=="rgRow"));if(s){r++}return i}),[])}dataPartition(e,t,r,i){return{colData:e.colStore,viewportCol:e.viewports[e.colType].store,viewportRow:e.viewports[t].store,lastCell:he(e,t),slot:r,type:t,canDrag:!i,position:e.position,dataStore:e.rowStores[t].store,dimensionCol:e.dimensions[e.colType].store,dimensionRow:e.dimensions[t].store,style:i?{height:`${e.dimensions[t].store.get("realSize")}px`}:undefined}}scrollToCell(e){for(let t in e){const r=e[t];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;const i={x:r[e],y:r[t]};return i}setFocus(e,t,r,i){var o;(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.focusByCell(this.getStoreCoordinateByType(e,t),r,i)}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,i){var o;(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.setEditByCell(this.getStoreCoordinateByType(r,i),{x:t,y:e})}}class Zr{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))}}}if(i){o=await i}this.setViewport(o)}async scrollSilentService(e,t){var r;for(let i in this.elements){if(i===t){continue}if(M.includes(t)&&(i==="headerRow"||M.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["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(){delete this.elements;this.elements={}}}class Qr{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 ei=({ref:t})=>{const r=new Qr;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 ti extends I{constructor(e,t){super(e,t);this.providers=t;this.stretchedColumn=null;this.scrollSize=B(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;l(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=U(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 ri(e){return!!e.applyStretch}const ii=(e=[])=>n(e,((e,t)=>{if(!e[t.type]){e[t.type]={}}if(t.size){if(!e[t.type].sizes){e[t.type].sizes={}}e[t.type].sizes[t.index]=t.size}return e}),{});const oi=(e=[])=>n(e,((e,t)=>{if(!e[t.type]){e[t.type]=[]}if(t.size){e[t.type].push(t.index)}return e}),{});const si="column-drag-start";class ni{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(si);const n=i.getBoundingClientRect();if(n){this.offset=n[s]-r[s]}this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(si);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 ai=pe;const hi="columndragmousemove";const li="columndragend";const di="beforecolumndragend";const ci="columndragstart";class gi extends I{constructor(e,t){super(e,t);this.revogrid=e;this.providers=t;this.moveFunc=F((e=>this.doMove(e)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new ni;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(ai,(({detail:e})=>this.dragStart(e)))}dragStart({event:e,data:t}){if(e.defaultPrevented){return}const{defaultPrevented:r}=ve(this.revogrid,ci,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(We(t)||t.providers.type==="rowHeaders"){return}const h=this.getDimension(t.pin||"rgCol");const l=this.revogrid.getBoundingClientRect();const d=n.getBoundingClientRect();const c=H(h,ui(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=ui(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const i=H(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,hi,e);this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){if(this.dragData){let t=ui(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(t<0){t=0}const r=H(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,di,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,li,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){l(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 ui(e,t,r){return e-t-r}function fi(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}const vi='.revo-drag-icon{width:11px}.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-header,revo-grid:not([theme]) .rowHeaders 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;box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}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] .viewports{width:100%}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=material] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=material] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}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] .viewports{width:100%}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-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}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] .viewports{width:100%}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-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkCompact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}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] .viewports{width:100%}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] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=compact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}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:6px solid #0049cf;border-top:6px solid #0049cf;border-bottom:6px solid transparent;border-right:6px 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:6px;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-height:100%;display:flex;flex-direction:row;align-items:flex-start;max-width:100%}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;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 pi=vi;const mi=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.beforeange=r(this,"beforeange",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.clickTrackForFocusClear=null;this.extraElements=[];this.uuid=null;this.viewport=null;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=undefined;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=Je.getColumnByProp(this.columns,t);if(!o){return}await $();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 C(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;return(e=this.viewport)===null||e===void 0?void 0:e.getFocused()}async getContentSize(){var e;return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e;return(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange()}mousedownHandle(e){const t=q(e,"screenX");const r=q(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}mouseupHandle(e){const t=q(e,"screenX");const r=q(e,"screenY");if(t===null||r===null){return}if(e.defaultPrevented){return}const i=e.target;const o=t+r;if(Math.abs(this.clickTrackForFocusClear-o)>10){return}if(i===null||i===void 0?void 0:i.closest(`[${A}="${this.uuid}"]`)){return}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 $();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.beforeange.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=Je.getColumns(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)}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.rowSizeChanged(this.themeService.rowSize)}}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){const{detail:{vals:r,oldVals:i}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const o=ii(r);if(i){const e=oi(i);l(e,((e,t)=>{this.dimensionProvider.clearSize(t,this.dataProvider.stores[t].store.get("source").length)}))}if(!r.length){return}l(o,((e,t)=>this.dimensionProvider.setCustomSizes(t,e.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}}if(!t){return}t.setGrouping(e||{})}applyStretch(e){if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>ri(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 ti(this.element,e))}else if(ri(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]}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}connectedCallback(){this.viewportProvider=new Ze;this.themeService=new ye({rowSize:this.rowSize});this.dimensionProvider=new Ke(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new Je;this.selectionStoreConnector=new fe;this.dataProvider=new _e(this.dimensionProvider);this.uuid=`${(new Date).getTime()}-rvgrid`;this.registerOutsideVNodes(this.registerVNode);const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};if(this.autoSizeColumn){this.internalPlugins.push(new tt(this.element,e,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new wt(this.element,e,this.uuid,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new qr(this.element,e))}this.internalPlugins.push(new xr(this.element,e));this.internalPlugins.push(new Jr(this.element,e));if(this.canMoveColumns){this.internalPlugins.push(new gi(this.element,e))}if(this.plugins){this.plugins.forEach((t=>{this.internalPlugins.push(new t(this.element,e))}))}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");this.trimmedRowsChanged(this.trimmedRows);this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new Zr((e=>{this.dimensionProvider.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit()}disconnectedCallback(){this.internalPlugins.forEach((e=>e.destroy()));this.internalPlugins=[]}render(){const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new Kr({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=fi();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:"419c5eb752e8d8b9f84ad39db7192bf452ec26fd"},r,{slot:le}))];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,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:ge}),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:"71caea92f25bd3afdf30783c0bfc469a4a20beda",[`${A}`]:this.uuid},this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{key:"6ea98110dd76dfcadfac32705b84706b0b2b81b8",class:"main-viewport",onClick:e=>{if(e.currentTarget===e.target){this.viewport.clearEdit()}}},e("div",{key:"4c633ee30609833648c6e2362bae615e854b93ff",class:"viewports"},e("slot",{key:"93000f290acfa202d8074b5794a5a6d4e040d624",name:"viewport"}),r,e("revogr-scroll-virtual",{key:"554d3026c130dedf73778e4e21cb861befd4b981",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(ei,{key:"79e6383066cc86910f783b03f7f97ec69ad736b7",ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{key:"906847181f0b5d2a9466be95104911ad08be185f",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)}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"]}}};mi.style=pi;export{mi as revo_grid};
4
+ import{h as e,r as t,c as r,H as i,a as o}from"./index-21436631.js";import{k as s,r as n,l as a,h,m as l,_ as d,n as c,o as u,q as g,u as f,v,w as p,b as m,e as w,s as b,D as x,a as C,f as y,j as S,x as k,y as R,z as j,A as O,B as E,C as z,g as L,d as P,i as H}from"./dimension.helpers-a3065cb1.js";import{B as I,c as M,r as D,i as T}from"./storeTypes-f2647985.js";import{d as F}from"./debounce-7781346d.js";import{R as N,t as $,g as B,U as A}from"./index-98fd0168.js";import{V,c as U,g as q}from"./events-3dd8ee7c.js";import{F as G,i as X}from"./filter.button-46ce4f80.js";import{_ as Y,c as W}from"./toNumber-8de324a7.js";import{i as J,g as _,G as K,a as Z,b as Q,c as ee,P as te,d as re,e as ie,f as oe,h as se,j as ne,k as ae,l as he,H as le,C as de,F as ce,D as ue}from"./column.service-f4922a8d.js";import{E as ge,b as fe}from"./selection.store-2577ddf9.js";import{d as ve}from"./dispatcher-8ea9187d.js";import{O as pe}from"./header-cell-renderer-ac962570.js";import"./viewport.helpers-6591d423.js";class me{constructor(){this.defaultRowSize=32}}class we{constructor(){this.defaultRowSize=27}}class be{constructor(){this.defaultRowSize=42}}const xe="default";const Ce=[xe,"material","compact","darkMaterial","darkCompact"];class ye{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=ye.getTheme(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new be;break;case"compact":case"darkCompact":this.currentTheme=new me;break;default:this.currentTheme=new we;break}}static getTheme(e){if(Ce.indexOf(e)>-1){return e}return xe}}const Se=e=>{let t={};const r=(r,i)=>{const o=Object.assign({},r);t={};l(i,((e,r)=>{if(e&&o[r]){t[r]=o[r];delete o[r]}}));e.setDimensionSize(o)};return{set(i,o){switch(i){case"trimmed":const i=o;const s=e.store.get("sizes");r(Object.assign(Object.assign({},s),t),i);break}}}};const ke=e=>({set(t){switch(t){case"count":case"sizes":case"originItemSize":let t=0;const r=e.store.get("count");for(let i=0;i<r;i++){t+=e.store.get("sizes")[i]||e.store.get("originItemSize")}e.setStore({realSize:t})}}});function Re(){return{indexes:[],count:0,trimmed:{},sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}}function je(){return Object.assign(Object.assign({},Re()),{realSize:0,originItemSize:0})}class Oe{constructor(){this.store=s(je());this.store.use(Se(this));this.store.use(ke(this))}getCurrentState(){const e=je();const t=Object.keys(e);return n(t,((e,t)=>{const r=this.store.get(t);e[t]=r;return e}),e)}dispose(){a(this.store,je())}setStore(e){a(this.store,e)}drop(){a(this.store,Re())}setDimensionSize(e){const t=h(this.store.get("originItemSize"),e);a(this.store,t);return t}}var Ee=d,ze=c,Le=u;function Pe(e){return function(t,r,i){var o=Object(t);if(!ze(t)){var s=Ee(r);t=Le(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 He=Pe;var Ie=He,Me=g;var De=Ie(Me);var Te=De;var Fe=f,Ne=c;function $e(e,t){var r=-1,i=Ne(e)?Array(e.length):[];Fe(e,(function(e,o,s){i[++r]=t(e,o,s)}));return i}var Be=$e;var Ae=v,Ve=d,Ue=Be,qe=p;function Ge(e,t){var r=qe(e)?Ae:Ue;return r(e,Ve(t))}var Xe=Ge;class Ye extends I{static gatherGroup(e,t,r,i=0){const o=Object.assign(Object.assign({},t),{level:i,ids:[]});for(let t in r.columns){const i=t;const s=e.columns[i];const n=r.columns[i];if(p(s)&&p(n)){s.push(...n);if(n.length){e.columnGrouping[i].push(Object.assign(Object.assign({},o),{ids:Xe(n,"prop")}))}}}for(let t in r.columnGrouping){const i=t;const o=r.columnGrouping[i];e.columnGrouping[i].push(...o)}e.maxLevel=Math.max(e.maxLevel,r.maxLevel);e.sort=Object.assign(Object.assign({},e.sort),r.sort);return e}}function We(e){return!!e.children}class Je{get order(){return n(this.sorting,((e,t,r)=>{e[r]=t.order;return e}),{})}get stores(){return this.dataSources}constructor(){this.sorting=null;this.dataSources=n(M,((e,t)=>{e[t]=new x(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return m(this.dataSources[t].store,e)}getRawColumns(){return n(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 M.reduce(((e,t)=>{e.push(...this.dataSources[t].store.get("source"));return e}),[])}getColumnIndexByProp(e,t){return w(this.dataSources[t].store,e)}getColumnByProp(e,t){const r=this.dataSources[t].store.get("source");return Te(r,{prop:e})}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){M.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=Je.getColumnType(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};l(t,((e,t)=>{const i=this.dataSources[t].store.get("source");r[t]=i.reduce(((t,r,i)=>{const o=e[r.prop];if(o){t[i]=o}return t}),{})}));l(r,((e,t)=>b(this.dataSources[t].store,e)))}updateColumn(e,t){const r=Je.getColumnType(e);b(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,i){if(!i){this.clearSorting()}e.order=r;this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=n(this.sorting,((e,t)=>{const r=Je.getColumnType(t);e[r]=true;return e}),{});l(e,((e,t)=>{const r=this.dataSources[t].store.get("source");l(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}static getSizes(e){return n(e,((e,t,r)=>{if(t.size){e[r]=t.size}return e}),{})}static getColumnByProp(e,t){return Te(e,(e=>{if(We(e)){return Je.getColumnByProp(e.children,t)}return e.prop===t}))}static getColumns(e,t=0,r){const i={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:{},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:t,sort:{}};return n(e,((e,i)=>{if(We(i)){return Ye.gatherGroup(e,i,Je.getColumns(i.children,t+1,r),t)}const o=Object.assign(Object.assign({},i.columnType&&r&&r[i.columnType]),i);if(!o.pin){e.columns.rgCol.push(o)}else{e.columns[o.pin].push(o)}if(o.order){e.sort[o.prop]=o}if(!e.columnByProp[o.prop]){e.columnByProp[o.prop]=[]}e.columnByProp[o.prop].push(o);o.beforeSetup&&o.beforeSetup(o);return e}),i)}static getColumnType(e){if(e.pin){return e.pin}return"rgCol"}}class _e{constructor(e){this.dimensionProvider=e;this.stores=n(D,((e,t)=>{e[t]=new x(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 m(r,e)}setCellData({type:e,rowIndex:t,prop:r,val:i},o=true){const s=this.getModel(t,e);s[r]=i;b(this.stores[e].store,{[t]:s},o)}setRangeData(e,t){const r={};for(let i in e){const o=r[i]=m(this.stores[t].store,parseInt(i,10));if(!o){continue}for(let t in e[i]){o[t]=e[i][t]}}b(this.stores[t].store,r)}refresh(e="all"){if(T(e)){this.refreshItems(e)}D.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(C(r.store).length,t)}}}class Ke{constructor(e,t){this.viewports=e;const r=F((e=>t.realSizeChanged(e)),N);this.stores=n([...D,...M],((e,t)=>{e[t]=new Oe;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.viewports.stores[e].setViewPortDimensionSizes(i,!r?this.stores[e].store.get("originItemSize"):undefined)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=y(e);const i=this.stores[t];i.setStore({trimmed:r});this.viewports.stores[t].setViewPortDimensionSizes(i.store.get("sizes"))}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 M){this.stores[r].drop();const i=e[r];const o=r!=="rgCol"||t;this.stores[r].setStore({count:i.length});const s=Je.getSizes(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 M){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of D){i+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:i,x:r}}updateViewport(e){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e})}setViewPortCoordinate({coordinate:e,type:t}){const r=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=S(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=M;break;case"rgRow":r=D;break}for(let t of r){this.stores[t].setStore(e)}}}class Ze{constructor(){this.stores=n([...D,...M],((e,t)=>{e[t]=new V(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}const Qe=7;var et;(function(e){e["headerClickAutosize"]="headerClickAutoSize";e["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";e["autoSizeAll"]="autoSizeAll"})(et||(et={}));class tt extends I{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)||Qe;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=Je.getColumnType(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 et.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",o);break;case et.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}}l(t,((r,i)=>{const o={};l(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}}}l(this.autoSizeColumns,((e,r)=>{const i={};l(e,(e=>{const r=n(t,((t,r)=>{if(typeof r[e.prop]==="undefined"){return t}return Math.max(t||0,this.getLength(r[e.prop]))}),undefined);if(r&&e.size<r){e.size=i[e.index]=r}}));this.providers.dimension.setCustomSizes(r,i,true)}))}afterEditAll(e){const t={};if(this.isRangeEdit(e)){l(e.data,(e=>l(e,((e,r)=>t[r]=true))))}else{t[e.prop]=true}l(this.autoSizeColumns,((e,r)=>{const i={};l(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){const r=this.autoSizeColumns[t][e];if(!r){return 0}return n(this.providers.data.stores,((e,t)=>{const i=n(t.store.get("items"),((e,i,o)=>{const s=m(t.store,o);return Math.max(e||0,this.getLength(s[r.prop]))}),0);return Math.max(e,i)}),r.size||0)}columnSet(e){var t;for(let r of M){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(){const e={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll"};const t=document.createElement("div");for(let r in e){t.style[r]=e[r]}t.classList.add("revo-test-container");return t}destroy(){var e;super.destroy();(e=this.precsizeCalculationArea)===null||e===void 0?void 0:e.remove()}}const rt=(e,t)=>{if(typeof e==="undefined"||e===null&&!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}const r=t.toString().toLocaleLowerCase();if(r.length===0){return true}return e.toLocaleLowerCase()===r};const it=(e,t)=>!rt(e,t);it.extra="input";rt.extra="input";const ot=function(e,t){let r;if(typeof e==="number"){r=parseFloat(t===null||t===void 0?void 0:t.toString());return e>r}return false};ot.extra="input";const st=function(e,t){return rt(e,t)||ot(e,t)};st.extra="input";const nt=function(e,t){let r;if(typeof e==="number"){r=parseFloat(t===null||t===void 0?void 0:t.toString());return e<r}else{return false}};nt.extra="input";const at=function(e,t){return rt(e,t)||nt(e,t)};at.extra="input";const ht=e=>!(e===""||e===null||e===void 0);const lt=e=>!ht(e);const dt=(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};dt.extra="input";const ct=(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 ut=(e,t)=>!ct(e,t);ut.extra="input";ct.extra="input";const gt={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 ft={none:()=>true,empty:lt,notEmpty:ht,eq:rt,notEq:it,begins:dt,contains:ct,notContains:ut,eqN:rt,neqN:it,gt:ot,gte:st,lt:nt,lte:at};const vt={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const pt="filter";const mt="filterconfigchanged";class wt extends I{constructor(t,r,i,o){var s;super(t,r);this.revogrid=t;this.filterCollection={};this.multiFilterItems={};this.possibleFilters=Object.assign({},vt);this.possibleFilterNames=Object.assign({},gt);this.possibleFilterEntities=Object.assign({},ft);this.filterProp=G;if(o){this.initConfig(o)}const n=e=>this.headerclick(e);const a=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",n);this.addEventListener(mt,(({detail:e})=>{if(!e){this.clearFiltering();return}if(typeof e==="object"){this.initConfig(e)}a()}));this.addEventListener("aftersourceset",a);this.addEventListener("filter",(({detail:e})=>this.onFilterChange(e)));const h=this.revogrid.registerVNode.filter((e=>e.t!=="revogr-filter-panel"));this.revogrid.registerVNode=[...h,e("revogr-filter-panel",{uuid:`filter-${i}`,filterItems:this.multiFilterItems,filterNames:this.possibleFilterNames,filterEntities:this.possibleFilterEntities,filterCaptions:(s=o===null||o===void 0?void 0:o.localization)===null||s===void 0?void 0:s.captions,onFilterChange:e=>this.onFilterChange(e.detail),disableDynamicFiltering:o===null||o===void 0?void 0:o.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}if(e.include){const t={};for(let r in this.possibleFilters){const i=this.possibleFilters[r].filter((t=>e.include.indexOf(t)>-1));if(i.length){t[r]=i}}if(Object.keys(t).length>0){this.possibleFilters=t}}if(e.collection){this.filterCollection=n(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;const r=(t=e.detail.originalEvent)===null||t===void 0?void 0:t.target;if(!X(r)){return}e.preventDefault();const i=await this.pop.getChanges();if(i&&(i===null||i===void 0?void 0:i.prop)===e.detail.prop){this.pop.show();return}const o=this.revogrid.getBoundingClientRect();const s=r.getBoundingClientRect();const n=e.detail.prop;this.pop.filterTypes=this.getColumnFilter(e.detail.filter);this.pop.show(Object.assign(Object.assign({},this.filterCollection[n]),{x:s.x-o.x,y:s.y-o.y+s.height,prop:n}))}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,pt);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:ft[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 bt=Y,xt=p,Ct=W;var yt="[object String]";function St(e){return typeof e=="string"||!xt(e)&&Ct(e)&&bt(e)==yt}var kt=St;var Rt=k;var jt=Rt("length");var Ot=jt;var Et="\\ud800-\\udfff",zt="\\u0300-\\u036f",Lt="\\ufe20-\\ufe2f",Pt="\\u20d0-\\u20ff",Ht=zt+Lt+Pt,It="\\ufe0e\\ufe0f";var Mt="\\u200d";var Dt=RegExp("["+Mt+Et+Ht+It+"]");function Tt(e){return Dt.test(e)}var Ft=Tt;var Nt="\\ud800-\\udfff",$t="\\u0300-\\u036f",Bt="\\ufe20-\\ufe2f",At="\\u20d0-\\u20ff",Vt=$t+Bt+At,Ut="\\ufe0e\\ufe0f";var qt="["+Nt+"]",Gt="["+Vt+"]",Xt="\\ud83c[\\udffb-\\udfff]",Yt="(?:"+Gt+"|"+Xt+")",Wt="[^"+Nt+"]",Jt="(?:\\ud83c[\\udde6-\\uddff]){2}",_t="[\\ud800-\\udbff][\\udc00-\\udfff]",Kt="\\u200d";var Zt=Yt+"?",Qt="["+Ut+"]?",er="(?:"+Kt+"(?:"+[Wt,Jt,_t].join("|")+")"+Qt+Zt+")*",tr=Qt+Zt+er,rr="(?:"+[Wt+Gt+"?",Gt,Jt,_t,qt].join("|")+")";var ir=RegExp(Xt+"(?="+Xt+")|"+rr+tr,"g");function or(e){var t=ir.lastIndex=0;while(ir.test(e)){++t}return t}var sr=or;var nr=Ot,ar=Ft,hr=sr;function lr(e){return ar(e)?hr(e):nr(e)}var dr=lr;var cr=R,ur=j,gr=c,fr=kt,vr=dr;var pr="[object Map]",mr="[object Set]";function wr(e){if(e==null){return 0}if(gr(e)){return fr(e)?vr(e):e.length}var t=ur(e);if(t==pr||t==mr){return e.size}return cr(e).length}var br=wr;class xr extends I{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.sorting=null;this.sortingFunc=null;this.sortingPromise=null;this.postponeSort=F((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(Je.getColumnByProp(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){let i=this.getNextOrder(e.order);const o=this.emit("beforesorting",{column:e,order:i,additive:r});if(o.defaultPrevented){return}i=o.detail.order;const s=await this.revogrid.updateColumnSorting(o.detail.column,t,i,r);const n=this.emit("beforesortingapply",{column:s,order:i,additive:r});if(n.defaultPrevented){return}i=n.detail.order;const a=this.getComparer(e,i);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&&br(t)>1&&i===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=i;r[e.prop]=a}}else{if(i){this.sorting={[e.prop]:i};this.sortingFunc={[e.prop]:a}}else{delete this.sorting[e.prop];delete this.sortingFunc[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(e,t,r=["rgRow","rowPinStart","rowPinEnd"]){if(!br(e)){this.sorting=null;this.sortingFunc=null;for(let e of r){const t=await this.revogrid.getSourceStore(e);const r=t.get("source");const i=O(0,r.length);a(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);a(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(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 Cr(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 yr=Cr;var Sr=yr,kr=E;var Rr=4294967295;function jr(e){return e?Sr(kr(e),0,Rr):0}var Or=jr;var Er=E,zr=Or;function Lr(e,t,r,i){var o=e.length;r=Er(r);if(r<0){r=-r>o?0:o+r}i=i===undefined||i>o?o:Er(i);if(i<0){i+=o}i=r>i?0:zr(i);while(r<i){e[r++]=t}return e}var Pr=Lr;var Hr=Pr,Ir=z;function Mr(e,t,r,i){var o=e==null?0:e.length;if(!o){return[]}if(r&&typeof r!="number"&&Ir(e,t,r)){r=0;i=o}return Hr(e,t,r,i)}var Dr=Mr;const Tr={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const Fr=String.fromCharCode(13);const Nr=String.fromCharCode(10);const $r=String.fromCharCode(34);const Br=String.fromCharCode(65279);const Ar=new RegExp('"',"g");class Vr{constructor(e={}){this.options=Object.assign(Object.assign({},Tr),e)}doExport({data:e,headers:t,props:r}){let i=this.options.bom?Br:"";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(J(e)){i+=this.parseCell(_(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=[Fr,$r,Nr,t];if(typeof i==="undefined"){return""}if(i!==""&&(r||o.some((e=>i.indexOf(e)>=0)))){return`"${i.replace(Ar,'""')}"`}return i}}var Ur;(function(e){e["csv"]="csv"})(Ur||(Ur={}));class qr extends I{async exportString(e={},t=Ur.csv){const r=await this.beforeexport();if(!r){return null}return this.formatter(t,e).doExport(r)}async exportBlob(e={},t=Ur.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=Ur.csv){const r=this.formatter(t,e);const i=await this.getBlob(r);const o=window.URL||window.webkitURL;const s=document.createElement("a");const{filename:n,fileKind:a}=r.options;const h=`${n}.${a}`;const l=o.createObjectURL(i);s.style.display="none";s.setAttribute("href",l);s.setAttribute("download",h);this.revogrid.appendChild(s);s.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(s);await $(120);o.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=[];M.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=Dr(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=[];D.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 Ur.csv:return new Vr(t);default:throw new Error("Unknown format")}}}function Gr(e,t){const r=t[e];const i=r[te];const o={};let s=e+1;const n=t.length;while(s<n){const e=t[s];if(J(e)){const t=e[te];if(!t.length||!t.startsWith(i+",")){break}e[K]=false}o[s++]=true}r[K]=false;return{trimmed:o}}function Xr(e,t,r){const i=r[e];const o=t[i];const s=Z(o[re]);const n={};if(!s){return{trimmed:n}}const a=[];o[K]=true;let h=i+1;const l=t.length;let d=0;while(h<l){const e=t[h];const r=J(e);if(r){if(!Q(s,o,e)){break}else if(!d){d=e[ee]}}if(!d||r&&d===e[ee]){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 Yr="grouping";function Wr(e,t,r){const i={};for(let o in e){if(o===Yr){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 Jr extends I{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[ie].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(J(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[Yr];let i=L(this.store,e);const o=t[i];const s=o[K];if(!s){const{trimmed:i,items:o}=Xr(e,t,this.rowItems);r=Object.assign(Object.assign({},r),i);if(o){P(this.store,o)}}else{const{trimmed:e}=Gr(i,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,Yr)}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(!J(s)){r.source.push(s);r.oldNewIndexes[o]=i;i++}else{if(s[K]){r.prevExpanded[s[te]]=true}}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][oe]=true;return true}return false}setColumns({columns:e}){for(let t of M){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=J(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===pt){const t=this.store.get("source");for(let r in e){if(e[r]&&J(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(se,(({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}=ne(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:i},e));this.providers.data.setData(s,ie,this.revogrid.disableVirtualY,{depth:n,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(a,l,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=>!J(e)));const i=this.revogrid.grouping||{};const{sourceWithGroups:o,depth:s,trimmed:n,oldNewIndexMap:a,childrenByGroup:h}=ne(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 M){if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}}this.subscribe()}clearGrouping(){M.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(ae(e)){delete e[oe];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,ie,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r,i){const o=Wr(this.trimmed,r,i);for(let e in o){this.revogrid.addTrimmed(o[e],e)}this.revogrid.addTrimmed(Object.assign({},e),Yr)}}function _r(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:C(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 Kr{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;M.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=_r(n);const h=this.registerCol(a.position.x,r);const l=this.dataViewPort(n).reduce(((t,r)=>{const i=this.registerSegment(r.position);i.setLastCell(r.lastCell);const o=this.registerRow(r.position.y,r.type);const s=Object.assign(Object.assign({},r),{rowSelectionStore:o,segmentSelectionStore:i.store,ref:t=>e.selectionStoreConnector.registerSection(t),onSetrange:e=>{i.setRangeArea(e.detail)},onSettemprange:e=>{i.setTempArea(e.detail)},onFocuscell:t=>{i.clearFocus();e.selectionStoreConnector.focus(i,t.detail)}});t.push(s);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=n(t||{},((e,t,i)=>{const o=parseInt(i,10);const s=m(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:le,rgRow:de,rowPinEnd:ce};let r=0;return D.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:ge})});i.push(this.dataPartition(n,o,t[o],o!=="rgRow"));if(s){r++}return i}),[])}dataPartition(e,t,r,i){return{colData:e.colStore,viewportCol:e.viewports[e.colType].store,viewportRow:e.viewports[t].store,lastCell:he(e,t),slot:r,type:t,canDrag:!i,position:e.position,dataStore:e.rowStores[t].store,dimensionCol:e.dimensions[e.colType].store,dimensionRow:e.dimensions[t].store,style:i?{height:`${e.dimensions[t].store.get("realSize")}px`}:undefined}}scrollToCell(e){for(let t in e){const r=e[t];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;const i={x:r[e],y:r[t]};return i}setFocus(e,t,r,i){var o;(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.focusByCell(this.getStoreCoordinateByType(e,t),r,i)}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,i){var o;(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.setEditByCell(this.getStoreCoordinateByType(r,i),{x:t,y:e})}}class Zr{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))}}}if(i){o=await i}this.setViewport(o)}async scrollSilentService(e,t){var r;for(let i in this.elements){if(i===t){continue}if(M.includes(t)&&(i==="headerRow"||M.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["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(){delete this.elements;this.elements={}}}class Qr{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 ei=({ref:t})=>{const r=new Qr;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 ti extends I{constructor(e,t){super(e,t);this.providers=t;this.stretchedColumn=null;this.scrollSize=B(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;l(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=U(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 ri(e){return!!e.applyStretch}const ii=(e=[])=>n(e,((e,t)=>{if(!e[t.type]){e[t.type]={}}if(t.size){if(!e[t.type].sizes){e[t.type].sizes={}}e[t.type].sizes[t.index]=t.size}return e}),{});const oi=(e=[])=>n(e,((e,t)=>{if(!e[t.type]){e[t.type]=[]}if(t.size){e[t.type].push(t.index)}return e}),{});const si="column-drag-start";class ni{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(si);const n=i.getBoundingClientRect();if(n){this.offset=n[s]-r[s]}this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(si);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 ai=pe;const hi="columndragmousemove";const li="columndragend";const di="beforecolumndragend";const ci="columndragstart";class ui extends I{constructor(e,t){super(e,t);this.revogrid=e;this.providers=t;this.moveFunc=F((e=>this.doMove(e)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new ni;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(ai,(({detail:e})=>this.dragStart(e)))}dragStart({event:e,data:t}){if(e.defaultPrevented){return}const{defaultPrevented:r}=ve(this.revogrid,ci,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(We(t)||t.providers.type==="rowHeaders"){return}const h=this.getDimension(t.pin||"rgCol");const l=this.revogrid.getBoundingClientRect();const d=n.getBoundingClientRect();const c=H(h,gi(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=gi(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const i=H(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,hi,e);this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){if(this.dragData){let t=gi(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(t<0){t=0}const r=H(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,di,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,li,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){l(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 gi(e,t,r){return e-t-r}function fi(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}const vi='.revo-drag-icon{width:11px}.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-header,revo-grid:not([theme]) .rowHeaders 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;box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}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=material] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=material] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}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-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}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-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkCompact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}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] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=compact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}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:6px solid #0049cf;border-top:6px solid #0049cf;border-bottom:6px solid transparent;border-right:6px 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:6px;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-height:100%;display:flex;flex-direction:row;align-items:flex-start;max-width:100%}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;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 pi=vi;const mi=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.beforeange=r(this,"beforeange",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.clickTrackForFocusClear=null;this.extraElements=[];this.uuid=null;this.viewport=null;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=undefined;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=Je.getColumnByProp(this.columns,t);if(!o){return}await $();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 C(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;return(e=this.viewport)===null||e===void 0?void 0:e.getFocused()}async getContentSize(){var e;return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e;return(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange()}mousedownHandle(e){const t=q(e,"screenX");const r=q(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}mouseupHandle(e){const t=q(e,"screenX");const r=q(e,"screenY");if(t===null||r===null){return}if(e.defaultPrevented){return}const i=e.target;const o=t+r;if(Math.abs(this.clickTrackForFocusClear-o)>10){return}if(i===null||i===void 0?void 0:i.closest(`[${A}="${this.uuid}"]`)){return}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 $();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.beforeange.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=Je.getColumns(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)}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.rowSizeChanged(this.themeService.rowSize)}}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){const{detail:{vals:r,oldVals:i}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const o=ii(r);if(i){const e=oi(i);l(e,((e,t)=>{this.dimensionProvider.clearSize(t,this.dataProvider.stores[t].store.get("source").length)}))}if(!r.length){return}l(o,((e,t)=>this.dimensionProvider.setCustomSizes(t,e.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}}if(!t){return}t.setGrouping(e||{})}applyStretch(e){if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>ri(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 ti(this.element,e))}else if(ri(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]}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}connectedCallback(){this.viewportProvider=new Ze;this.themeService=new ye({rowSize:this.rowSize});this.dimensionProvider=new Ke(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new Je;this.selectionStoreConnector=new fe;this.dataProvider=new _e(this.dimensionProvider);this.uuid=`${(new Date).getTime()}-rvgrid`;this.registerOutsideVNodes(this.registerVNode);const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};if(this.autoSizeColumn){this.internalPlugins.push(new tt(this.element,e,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new wt(this.element,e,this.uuid,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new qr(this.element,e))}this.internalPlugins.push(new xr(this.element,e));this.internalPlugins.push(new Jr(this.element,e));if(this.canMoveColumns){this.internalPlugins.push(new ui(this.element,e))}if(this.plugins){this.plugins.forEach((t=>{this.internalPlugins.push(new t(this.element,e))}))}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");this.trimmedRowsChanged(this.trimmedRows);this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new Zr((e=>{this.dimensionProvider.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit()}disconnectedCallback(){this.internalPlugins.forEach((e=>e.destroy()));this.internalPlugins=[]}render(){const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new Kr({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=fi();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:"419c5eb752e8d8b9f84ad39db7192bf452ec26fd"},r,{slot:le}))];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,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:ue}),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:"71caea92f25bd3afdf30783c0bfc469a4a20beda",[`${A}`]:this.uuid},this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{key:"6ea98110dd76dfcadfac32705b84706b0b2b81b8",class:"main-viewport",onClick:e=>{if(e.currentTarget===e.target){this.viewport.clearEdit()}}},e("div",{key:"4c633ee30609833648c6e2362bae615e854b93ff",class:"viewports"},e("slot",{key:"93000f290acfa202d8074b5794a5a6d4e040d624",name:"viewport"}),r,e("revogr-scroll-virtual",{key:"554d3026c130dedf73778e4e21cb861befd4b981",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(ei,{key:"79e6383066cc86910f783b03f7f97ec69ad736b7",ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{key:"906847181f0b5d2a9466be95104911ad08be185f",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)}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"]}}};mi.style=pi;export{mi as revo_grid};
5
5
  //# sourceMappingURL=revo-grid.entry.js.map