@revolist/revogrid 4.9.40 → 4.9.41

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.
@@ -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 o,a as i}from"./index-a61f225b.js";import{G as s,J as n,K as a,L as d,M as h,P as l,N as c,O as g,g as u,e as f,Q as v,R as p,T as m,U as w,B as b,V as x,W as C,X as y,Y as S,y as k,D as R,b as j,A as L,f as E,d as O,s as P,r as H,a as z,h as I,u as M,Z as N,w as T,_ as D}from"./column.service-751345b2.js";import{B as F,c as B,F as V,r as $,k as U,i as A,D as G,a as W,S as Y,A as X,e as Z,E as _,C as J}from"./column.drag.plugin-3cc77986.js";import{c as K,b as Q,d as q}from"./debounce-72878ced.js";import{a as ee,R as te,t as re}from"./index-1dcad6ef.js";import{V as oe}from"./row-header-utils-3dfbb81f.js";import{v as ie,H as se,C as ne,F as ae,D as de}from"./viewport.helpers-7e7f9dad.js";import{g as he}from"./events-cf0893a3.js";import"./filter.button-d40ab17b.js";import"./header-cell-renderer-32d2ed96.js";class le{constructor(){this.defaultRowSize=32}}class ce{constructor(){this.defaultRowSize=27}}class ge{constructor(){this.defaultRowSize=42}}const ue="default";const fe=[ue,"material","compact","darkMaterial","darkCompact"];class ve{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(e){this.customRowSize=e}constructor(e){this.customRowSize=0;this.customRowSize=e.rowSize;this.register("default")}register(e){const t=pe(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new ge;break;case"compact":case"darkCompact":this.currentTheme=new le;break;default:this.currentTheme=new ce;break}}}function pe(e){if(e&&fe.indexOf(e)>-1){return e}return ue}function me(e,t){const r=t[e];const o=r[l];const i={};let a=e+1;const d=t.length;while(a<d){const e=t[a];if(s(e)){const t=e[l];if(!t.length||!t.startsWith(o+",")){break}e[n]=false}i[a++]=true}r[n]=false;return{trimmed:i}}function we(e,t,r){const o=r[e];const i=t[o];const l=a(i[c]);const g={};if(!l){return{trimmed:g}}const u=[];i[n]=true;let f=o+1;const v=t.length;let p=0;while(f<v){const e=t[f];const r=s(e);if(r){if(!d(l,i,e)){break}else if(!p){p=e[h]}}if(!p||r&&p===e[h]){g[f]=false;u.push(f)}f++}const m={trimmed:g};if(u.length){const t=[...r];t.splice(e+1,0,...u);m.items=t}return m}const be="grouping";function xe(e,t,r){const o={};for(let i in e){if(i===be){continue}const s=e[i];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)){o[i]=n}}}}return o}class Ce extends F{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[g].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(s(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[be];let o=u(this.store,e);const i=t[o];const s=i[n];if(!s){const{trimmed:o,items:i}=we(e,t,this.rowItems);r=Object.assign(Object.assign({},r),o);if(i){f(this.store,i)}}else{const{trimmed:e}=me(o,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,be)}getSource(e=false){const t=this.store.get("source");const r=this.store.get("proxyItems");let o=0;return r.reduce(((r,i)=>{const a=t[i];if(!e){r.source.push(a);return r}if(s(a)){if(a[n]){r.prevExpanded[a[l]]=true}}else{r.source.push(a);r.oldNewIndexes[i]=o;o++}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][v]=true;return true}return false}setColumns({columns:e}){for(let t of B){if(this.setColumnGrouping(e[t])){break}}}onDrag(e){const{from:t,to:r}=e.detail;const o=r-t>=0;const{source:i}=this.getSource();const n=this.rowItems;let a=o?t:r;const d=o?r:t;for(;a<d;a++){const t=i[n[a]];const r=s(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===V){const t=this.store.get("source");for(let r in e){if(e[r]&&s(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(p,(({detail:e})=>this.onExpand(e)))}doSourceUpdate(e){var t;if(!this.hasProps){return}const{source:r,prevExpanded:o,oldNewIndexes:i}=this.getSource(true);const{sourceWithGroups:s,depth:n,trimmed:a,oldNewIndexMap:d,childrenByGroup:h}=m(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:o},e));this.providers.data.setData(s,g,this.revogrid.disableVirtualY,{depth:n,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(a,h,i!==null&&i!==void 0?i:{},d)}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=>!s(e)));const o=this.revogrid.grouping||{};const{sourceWithGroups:i,depth:n,trimmed:a,oldNewIndexMap:d,childrenByGroup:h}=m(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({},o||{}));e.source=i;this.providers.data.setGrouping({depth:n});this.updateTrimmed(a,h,d)}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 B){if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}}this.subscribe()}clearGrouping(){B.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(w(e)){delete e[v];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,g,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r={},o){const i=xe(this.trimmed,r,o);for(let e in i){this.revogrid.addTrimmed(i[e],e)}this.revogrid.addTrimmed(Object.assign({},e),be)}}var ye="[object String]";function Se(e){return typeof e=="string"||!b(e)&&K(e)&&Q(e)==ye}var ke=x("length");const Re=ke;var je="\\ud800-\\udfff",Le="\\u0300-\\u036f",Ee="\\ufe20-\\ufe2f",Oe="\\u20d0-\\u20ff",Pe=Le+Ee+Oe,He="\\ufe0e\\ufe0f";var ze="\\u200d";var Ie=RegExp("["+ze+je+Pe+He+"]");function Me(e){return Ie.test(e)}var Ne="\\ud800-\\udfff",Te="\\u0300-\\u036f",De="\\ufe20-\\ufe2f",Fe="\\u20d0-\\u20ff",Be=Te+De+Fe,Ve="\\ufe0e\\ufe0f";var $e="["+Ne+"]",Ue="["+Be+"]",Ae="\\ud83c[\\udffb-\\udfff]",Ge="(?:"+Ue+"|"+Ae+")",We="[^"+Ne+"]",Ye="(?:\\ud83c[\\udde6-\\uddff]){2}",Xe="[\\ud800-\\udbff][\\udc00-\\udfff]",Ze="\\u200d";var _e=Ge+"?",Je="["+Ve+"]?",Ke="(?:"+Ze+"(?:"+[We,Ye,Xe].join("|")+")"+Je+_e+")*",Qe=Je+_e+Ke,qe="(?:"+[We+Ue+"?",Ue,Ye,Xe,$e].join("|")+")";var et=RegExp(Ae+"(?="+Ae+")|"+qe+Qe,"g");function tt(e){var t=et.lastIndex=0;while(et.test(e)){++t}return t}function rt(e){return Me(e)?tt(e):Re(e)}var ot="[object Map]",it="[object Set]";function st(e){if(e==null){return 0}if(C(e)){return Se(e)?rt(e):e.length}var t=y(e);if(t==ot||t==it){return e.size}return S(e).length}class nt extends F{runSorting(e,t){var r;this.sort(e,t);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(e,t){super(e,t);this.revogrid=e;this.sortingPromise=null;this.postponeSort=q(((e,t)=>this.runSorting(e,t)),50);const r=({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 o=({detail:{order:e}})=>{const t=this.providers.column.getColumns();const r={};for(let o in e){const i=this.getComparer(k(t,o),e[o]);r[o]=i}this.runSorting(e,r)};const i=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",o);this.addEventListener("beforeheaderclick",i)}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 o=((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 o}if(t=="desc"){return this.descCellCompare(o)}return undefined}headerclick(e,t,r){var o,i;let s=this.getNextOrder(e.order);const n=this.emit("beforesorting",{column:e,order:s,additive:r});if(n.defaultPrevented){return}s=n.detail.order;const a=this.providers.column.updateColumnSorting(n.detail.column,t,s,r);const d=this.emit("beforesortingapply",{column:a,order:s,additive:r});if(d.defaultPrevented){return}s=d.detail.order;const h=this.getComparer(e,s);if(r&&this.sorting){const t={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),t);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(e.prop in t&&st(t)>1&&s===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=s;r[e.prop]=h}}else{if(s){this.sorting={[e.prop]:s};this.sortingFunc={[e.prop]:h}}else{(o=this.sorting)===null||o===void 0?true:delete o[e.prop];(i=this.sortingFunc)===null||i===void 0?true:delete i[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}sort(e,t,r=$){if(!st(e)){this.sorting=undefined;this.sortingFunc=undefined;for(let e of r){const t=this.providers.data.stores[e];const r=t.store.get("source");const o=t.store.get("proxyItems");const i=t.store.get("items");this.providers.dimension.updateSizesPositionByNewDataIndexes(e,i,o);t.setData({proxyItems:i,source:[...r]})}}else{this.sorting=e;this.sortingFunc=t;for(let e of r){const r=this.providers.data.stores[e];const o=r.store.get("source");const i=r.store.get("proxyItems");const s=this.sortIndexByItems([...i],o,t);this.providers.dimension.updateSizesPositionByNewDataIndexes(e,s,i);r.setData({proxyItems:s,source:[...o]})}}this.emit("aftersortingapply")}defaultCellCompare(e,t,r){var o,i;const s=(o=t[e])===null||o===void 0?void 0:o.toString().toLowerCase();const n=(i=r[e])===null||i===void 0?void 0:i.toString().toLowerCase();return s==n?0:s>n?1:-1}descCellCompare(e){return(t,r,o)=>-1*e(t,r,o)}sortIndexByItems(e,t,r={}){if(Object.entries(r).length===0){return[...Array(e.length).keys()]}return e.sort(((e,o)=>{for(const[i,s]of Object.entries(r)){const r=t[e];const n=t[o];const a=s===null||s===void 0?void 0:s(i,r,n);if(a){return a}}return 0}))}getNextOrder(e){switch(e){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}class at{get order(){const e={};const t=this.sorting;if(t){Object.keys(t).forEach((r=>{e[r]=t[r].order}))}return e}get stores(){return this.dataSources}constructor(){this.sorting=null;this.collection=null;this.dataSources=B.reduce(((e,t)=>{e[t]=new R(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return j(this.dataSources[t].store,e)}getRawColumns(){return L(this.dataSources,((e,t,r)=>{e[r]=t.store.get("source");return e}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){const t=this.getRawColumns();if(e!=="all"){return t[e]}return B.reduce(((e,r)=>[...e,...t[r]]),[])}getColumnIndexByProp(e,t){return E(this.dataSources[t].store,e)}getColumnByProp(e){var t;return(t=this.collection)===null||t===void 0?void 0:t.columnByProp[e]}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){B.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;this.collection=e;return e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=H(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};for(const e in t){if(!t.hasOwnProperty(e)){continue}const o=e;const i=t[o];const s=this.dataSources[o].store.get("source");r[o]={};for(let e=0;e<s.length;e++){const t=s[e];const n=i===null||i===void 0?void 0:i[t.prop];if(n){r[o][e]=n}}}for(const e in r){if(!r.hasOwnProperty(e)){continue}const t=e;O(this.dataSources[t].store,r[t]||{})}}updateColumn(e,t){const r=H(e);P(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,o){if(!o){this.clearSorting()}e.order=r;if(!this.sorting){this.sorting={}}this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=L(this.sorting,((e,t)=>{const r=H(t);e[r]=true;return e}),{});U(e,((e,t)=>{const r=this.dataSources[t].store.get("source");U(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}}class dt{constructor(e){this.dimensionProvider=e;this.stores=L($,((e,t)=>{e[t]=new R(t);return e}),{})}setData(e,t="rgRow",r=false,o,i=false){this.stores[t].updateData([...e],o,i);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 j(r,e)}changeOrder({rowType:e="rgRow",from:t,to:r}){const o=this.stores[e];const i=[...o.store.get("items")];const s=[...i];const n=i.splice(t,1);i.splice(r,0,...n);this.dimensionProvider.updateSizesPositionByNewDataIndexes(e,i,s);o.setData({items:i})}setCellData({type:e,rowIndex:t,prop:r,val:o},i=true){const s=this.getModel(t,e);s[r]=o;this.stores[e].setSourceData({[t]:s},i)}setRangeData(e,t){const r={};for(let o in e){const i=r[o]=j(this.stores[t].store,parseInt(o,10));if(!i){continue}for(let t in e[o]){i[t]=e[o][t]}}this.stores[t].setSourceData(r)}refresh(e="all"){if(A(e)){this.refreshItems(e)}$.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(z(r.store).length,t)}}}class ht{constructor(e,t){this.viewports=e;const r=q((e=>t.realSizeChanged(e)),te);this.stores=L([...$,...B],((e,t)=>{e[t]=new G(t);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 o=t;if(r){const r=this.stores[e].store.get("sizes");o=Object.assign(Object.assign({},r),t)}this.stores[e].setDimensionSize(o);this.updateViewport(e,true)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=I(e);const o=this.stores[t];o.setStore({trimmed:r});this.updateViewport(t,true)}setData(e,t,r=false){this.setItemCount(e,t);if(r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.updateViewport(t)}applyNewColumns(e,t){for(let r of B){this.stores[r].drop();const o=e[r];const i=r!=="rgCol"||t;this.stores[r].setStore({count:o.length});const s=M(o);this.stores[r].setDimensionSize(s);const n={realCount:o.length};if(i){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 o=0;for(let t of B){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of $){o+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:o,x:r}}updateViewport(e,t=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e,force:t})}setViewPortCoordinate({coordinate:e,type:t,force:r=false}){const o=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,o,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=ee(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=B;break;case"rgRow":r=$;break}for(let t of r){this.stores[t].setStore(e)}}updateSizesPositionByNewDataIndexes(e,t,r=[]){const o=this.stores[e];const i=Object.assign({},o.store.get("sizes"));if(Object.keys(i).length){const o=new Map;r.forEach(((e,t)=>{o.set(e,t)}));const s={};t.forEach(((e,t)=>{const r=o.get(e);if(r!==t&&i[r]){s[t]=i[r];delete i[r]}}));if(Object.keys(s).length){this.setCustomSizes(e,Object.assign(Object.assign({},i),s))}}}}class lt{constructor(){this.stores=L([...$,...B],((e,t)=>{e[t]=new oe(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}function ct(e){const t=e.dimensions[e.colType].store;const r=t.get("realSize");const o={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 i={colData:z(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:o,type:e.colType,position:e.position,headerProp:i,viewportCol:e.viewports[e.colType].store}}class gt{constructor(e,t){var r,o;this.config=e;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const i=[];let s=0;B.forEach((r=>{const o=e.columnProvider.stores[r].store;if(!o.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:o,onHeaderresize:e=>this.onColumnResize(r,e,o)};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=ct(n);const d=this.registerCol(a.position.x,r);const h=this.dataViewPort(n).reduce(((t,o)=>{const i=this.registerSegment(o.position);i.setLastCell(o.lastCell);const s=this.registerRow(o.position.y,o.type);const n=Object.assign(Object.assign({colType:r},o),{rowSelectionStore:s,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(n);return t}),[]);i.push(Object.assign(Object.assign({},a),{columnSelectionStore:d,dataPorts:h}));s++}));this.columns=i;(o=this.config.scrollingService)===null||o===void 0?void 0:o.unregister()}onColumnResize(e,{detail:t},r){var o;(o=this.config.dimensionProvider)===null||o===void 0?void 0:o.setCustomSizes(e,t,true);const i={};for(const[e,o]of Object.entries(t||{})){const t=parseInt(e,10);const s=j(r,t);if(s){i[t]=Object.assign(Object.assign({},s),{size:o})}}this.config.resize(i)}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:se,rgRow:ne,rowPinEnd:ae};let r=0;return $.reduce(((o,i)=>{const s=e.viewports[i].store.get("realCount")||i==="rgRow";const n=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:s?r:N})});const a=ie(n,i,t[i],i!=="rgRow");o.push(a);if(s){r++}return o}),[])}scrollToCell(e){for(let t in e){const r=e[t];if(typeof r==="number"){this.config.scrollingService.proxyScroll({dimension:t==="x"?"rgCol":"rgRow",coordinate:r})}}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e){return null}const t=this.config.selectionStoreConnector.storesXToType[e.position.x];const r=this.config.columnProvider.getColumn(e.cell.x,t);const o=this.config.selectionStoreConnector.storesYToType[e.position.y];const i=this.config.dataProvider.getModel(e.cell.y,o);return{column:r,model:i,cell:e.cell,colType:t,rowType:o}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(typeof r[e]==="undefined"||typeof r[t]==="undefined"){return}return{x:r[e],y:r[t]}}setFocus(e,t,r,o){var i;const s=this.getStoreCoordinateByType(e,t);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.focusByCell(s,r,o)}}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,o){var i;const s=this.getStoreCoordinateByType(r,o);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.setEditByCell(s,{x:t,y:e})}}}class ut{constructor(e){this.setViewport=e;this.elements={}}async proxyScroll(e,t){var r;let o;let i=e;for(let i in this.elements){if(e.dimension==="rgCol"&&i==="headerRow"){continue}else if(this.isPinnedColumn(t)&&e.dimension==="rgCol"){if(i===t||!e.delta){continue}for(let t of this.elements[i]){if(t.changeScroll){o=t.changeScroll(e)}}}else{for(let t of this.elements[i]){await((r=t.setScroll)===null||r===void 0?void 0:r.call(t,e))}}}const s=await o;if(s){i=s}this.setViewport(i)}async scrollSilentService(e,t){var r;for(let o in this.elements){if(o===t){continue}if(B.includes(t)&&(o==="headerRow"||B.includes(o))){for(let t of this.elements[o]){await((r=t.changeScroll)===null||r===void 0?void 0:r.call(t,e,true))}continue}}}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){if(!this.elements[t]){this.elements[t]=[]}if(e){this.elements[t].push(e)}else if(this.elements[t]){delete this.elements[t]}}unregister(){this.elements={}}}class ft{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:o}){var i;const{top:s}=e.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(t);this.moveTip({x:o.x,y:o.y});(i=this.el)===null||i===void 0?void 0:i.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 vt=({ref:t})=>{const r=new ft;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}))};const pt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]={}}if(r.size){if(!e.sizes){e.sizes={}}e.sizes[r.index]=r.size}}return t};const mt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]=[]}if(r.size){e.push(r.index)}}return t};function wt(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}class bt extends F{constructor(e,t){super(e,t);e.setAttribute("dir","ltr");e.setAttribute("role","treegrid");e.setAttribute("aria-keyshortcuts","Enter");e.setAttribute("aria-multiselectable","true");e.setAttribute("tabindex","0");this.addEventListener("beforecolumnsset",(({detail:t})=>{const r=[...t.columns.colPinStart,...t.columns.rgCol,...t.columns.colPinEnd];e.setAttribute("aria-colcount",`${r.length}`);r.forEach(((e,t)=>{const{columnProperties:r,cellProperties:o}=e;e.columnProperties=(...e)=>{const o=(r===null||r===void 0?void 0:r(...e))||{};o.role="columnheader";o["aria-colindex"]=t;return o};e.cellProperties=(...e)=>{const r={["role"]:"gridcell",["aria-colindex"]:t,["aria-rowindex"]:e[0].rowIndex,["tabindex"]:-1};const i=(o===null||o===void 0?void 0:o(...e))||{};return Object.assign(Object.assign({},r),i)}}))}));this.addEventListener("beforesourceset",(({detail:t})=>{e.setAttribute("aria-rowcount",`${t.source.length}`)}));this.addEventListener("beforerowrender",(({detail:e})=>{e.node.t=Object.assign(Object.assign({},e.node.t),{role:"row",["aria-rowindex"]:e.item.itemIndex})}));this.addEventListener("afterfocus",(async e=>{if(e.defaultPrevented){return}const t=this.revogrid.querySelector(`revogr-data[type="${e.detail.rowType}"][col-type="${e.detail.colType}"] [data-rgrow="${e.detail.rowIndex}"][data-rgcol="${e.detail.colIndex}"]`);if(t instanceof HTMLElement){t.focus()}}))}}const xt='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:32px;line-height:32px;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:30px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 #cecece inset, 1px 0 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #cecece inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #cecece inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-edit{background-color:#28272b}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-edit{background-color:#28272b}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}';const Ct=xt;const yt=class{constructor(e){t(this,e);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridrender=r(this,"aftergridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=false;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[];this.accessible=true}async refresh(e="all"){if(!this.dataProvider){throw new Error("Not connected")}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){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){if(!this.dimensionProvider||!this.columnProvider){throw new Error("Not connected")}const r=this.columnProvider.getColumnIndexByProp(e,t);if(r<0){return}const o=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:t});await this.scrollToCoordinate({x:o})}async updateColumns(e){var t;(t=this.columnProvider)===null||t===void 0?void 0:t.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}const o=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});if(o.defaultPrevented){return o}this.dataProvider.setTrimmed({[t]:o.detail.trimmed},r);this.aftertrimmed.emit();return o}async scrollToCoordinate(e){var t;(t=this.viewport)===null||t===void 0?void 0:t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var o;const i=k(this.columns,t);if(!i){return}await re();const s=i.pin||"rgCol";if(!this.columnProvider){throw new Error("Not connected")}(o=this.viewport)===null||o===void 0?void 0:o.setEdit(e,this.columnProvider.getColumnIndexByProp(t,s),s,r)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},r="rgCol",o="rgRow"){var i;(i=this.viewport)===null||i===void 0?void 0:i.setFocus(r,o,e,t)}async getSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return z(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){if(!this.columnProvider){throw new Error("Not connected")}return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r,o){if(!this.columnProvider){throw new Error("Not connected")}return this.columnProvider.updateColumnSorting(e,t,r,o)}async clearSorting(){if(!this.columnProvider){throw new Error("Not connected")}this.columnProvider.clearSorting()}async getColumns(){if(!this.columnProvider){throw new Error("Not connected")}return this.columnProvider.getColumns()}async clearFocus(){var e;const t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused();const r=this.beforefocuslost.emit(t);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused())!==null&&t!==void 0?t:null}async getContentSize(){var e;if(!this.dimensionProvider){throw new Error("Not connected")}return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange())!==null&&t!==void 0?t:null}mousedownHandle(e){const t=he(e,"screenX");const r=he(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}async mouseupHandle(e){var t;const r=he(e,"screenX");const o=he(e,"screenY");if(r===null||o===null){return}if(e.defaultPrevented){return}const i=r+o;if(Math.abs(((t=this.clickTrackForFocusClear)!==null&&t!==void 0?t:0)-i)>10){return}const s=e.composedPath();if(!s.includes(this.element)&&!(this.element.shadowRoot&&s.includes(this.element.shadowRoot))){await this.clearFocus()}}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);if(r.defaultPrevented){e.preventDefault();return}(t=this.orderService)===null||t===void 0?void 0:t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;(e=this.orderService)===null||e===void 0?void 0:e.end()}onRowOrderChange(e){var t;(t=this.dataProvider)===null||t===void 0?void 0:t.changeOrder(e.detail)}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){var t;const{defaultPrevented:r,detail:o}=this.beforeedit.emit(e.detail);await re();if(!r){(t=this.dataProvider)===null||t===void 0?void 0:t.setCellData(o);this.afteredit.emit(o)}}onRangeEdit(e){if(!this.dataProvider){throw new Error("Not connected")}const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(e){const t=this.beforerange.emit(e.detail);if(t.defaultPrevented){e.preventDefault()}const r=this.beforeautofill.emit(t.detail);if(r.defaultPrevented){e.preventDefault()}}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);if(t){e.preventDefault()}}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));if(t){e.preventDefault()}}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);if(!this.canFocus||t){e.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[]){if(!this.dimensionProvider||!this.columnProvider){return}const t=T(e,0,this.columnTypes);const r=this.beforecolumnsset.emit(t);if(r.defaultPrevented){return}this.dimensionProvider.applyNewColumns(r.detail.columns,this.disableVirtualX);const o=this.beforecolumnapplied.emit(t);if(o.defaultPrevented){return}const i=this.columnProvider.setColumns(o.detail);this.aftercolumnsset.emit({columns:i,order:this.columnProvider.order})}disableVirtualXChanged(e=false,t=false){if(e===t){return}this.columnChanged(this.columns)}rowSizeChanged(e){if(!this.dimensionProvider){return}this.dimensionProvider.setSettings({originItemSize:e},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(e,t,r="theme",o=false){if(!this.dimensionProvider){return}this.themeService.register(e);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!o){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(e)}dataSourceChanged(e=[],t,r){if(!this.dataProvider){return}let o="rgRow";switch(r){case"pinnedBottomSource":o="rowPinEnd";break;case"pinnedTopSource":o="rowPinStart";break;case"source":o="rgRow";const t=this.beforesourceset.emit({type:o,source:e});e=t.detail.source;break}const i=this.beforeanysource.emit({type:o,source:e});const s=[...i.detail.source];this.dataProvider.setData(s,o,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:o,source:e})}this.afteranysource.emit({type:o,source:e})}disableVirtualYChanged(e=false,t=false){if(e===t){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,o=true){if(!this.dimensionProvider||!this.dataProvider){return}const{detail:{vals:i,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const n=pt(i);if(s){const e=mt(s);for(const t in e){if(e.hasOwnProperty(t)){const e=t;const r=this.dataProvider.stores[e];const o=r.store.get("source").length;this.dimensionProvider.clearSize(e,o)}}}$.forEach((e=>{var t;const r=n[e];if(r||o){(t=this.dimensionProvider)===null||t===void 0?void 0:t.setCustomSizes(e,(r===null||r===void 0?void 0:r.sizes)||{})}}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){let t;for(let e of this.internalPlugins){const r=e;if(!!r.setGrouping){t=r;break}}t===null||t===void 0?void 0:t.setGrouping(e||{})}applyStretch(e){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider){return}if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>W(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 Y(this.element,e))}else if(W(t)){t.applyStretch(this.columnProvider.getRawColumns())}}else if(t){const e=this.internalPlugins.indexOf(t);this.internalPlugins.splice(e,1)}}applyFilter(e){this.filterconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=[...this.extraElements,...e]}additionalDataChanged(e){this.additionaldatachanged.emit(e)}pluginsChanged(e=[],t){const r=this.getPluginData();if(!r){return}e===null||e===void 0?void 0:e.forEach((e=>{const t=this.internalPlugins.find((t=>t instanceof e));if(t){return}this.internalPlugins.push(new e(this.element,r))}))}setPlugins(){this.removePlugins();const e=this.getPluginData();if(!e){return}if(this.accessible){this.internalPlugins.push(new bt(this.element,e))}if(this.autoSizeColumn){this.internalPlugins.push(new X(this.element,e,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new Z(this.element,e,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new _(this.element,e))}this.internalPlugins.push(new nt(this.element,e));this.internalPlugins.push(new Ce(this.element,e));if(this.canMoveColumns){this.internalPlugins.push(new J(this.element,e))}this.pluginsChanged(this.plugins)}getPluginData(){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider){return}const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};return e}removePlugins(){this.internalPlugins.forEach((e=>{var t;return(t=e.destroy)===null||t===void 0?void 0:t.call(e)}));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var e;this.viewportProvider=new lt;this.themeService=new ve({rowSize:this.rowSize});this.dimensionProvider=new ht(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new at;this.selectionStoreConnector=new D;this.dataProvider=new dt(this.dimensionProvider);this.registerOutsideVNodes(this.registerVNode);this.setPlugins();this.applyStretch(this.stretch);this.themeChanged(this.theme,undefined,undefined,true);this.columnChanged(this.columns);this.dataSourceChanged(this.source,undefined,"source");this.dataSourceChanged(this.pinnedTopSource,undefined,"pinnedTopSource");this.dataSourceChanged(this.pinnedBottomSource,undefined,"pinnedBottomSource");if(Object.keys((e=this.trimmedRows)!==null&&e!==void 0?e:{}).length>0){this.trimmedRowsChanged(this.trimmedRows)}this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new ut((e=>{var t;(t=this.dimensionProvider)===null||t===void 0?void 0:t.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}componentDidRender(){this.aftergridrender.emit()}render(){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider){return}const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new gt({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 o=this.viewport.columns[0];r.push(e("revogr-row-headers",{additionalData:this.additionalData,height:t,rowClass:this.rowClass,resize:this.resize,dataPorts:o.dataPorts,headerProp:o.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 i=wt();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 o=[e("revogr-header",Object.assign({},r,{slot:se}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`;const n=e("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:i,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:e})=>{const t=this.beforeeditstart.emit(e);if(!t.defaultPrevented){this.selectionStoreConnector.setEdit(e.val)}}}),e("revogr-data",Object.assign({},r,{colType:t.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:de}),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}`})));o.push(n)}));s.push(e("revogr-viewport-scroll",Object.assign({},t.prop,{ref:e=>this.scrollingService.registerElement(e,`${t.prop.key}`),onScrollviewport:e=>this.scrollingService.proxyScroll(e.detail,`${t.prop.key}`),onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,`${t.prop.key}`)}),o))}r.push(s);const n="rgRow";const a="rgCol";const d=this.viewportProvider.stores;const h=this.dimensionProvider.stores;return e(o,null,this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{class:"main-viewport",onClick:e=>{var t;if(e.currentTarget===e.target){(t=this.viewport)===null||t===void 0?void 0:t.clearEdit()}}},e("div",{class:"viewports"},e("slot",{name:"viewport"}),r,e("revogr-scroll-virtual",{class:"vertical",dimension:n,viewportStore:d[n].store,dimensionStore:h[n].store,ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e(vt,{ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{class:"horizontal",dimension:a,viewportStore:d[a].store,dimensionStore:h[a].store,ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e("revogr-extra",{nodes:this.extraElements}))}disconnectedCallback(){this.removePlugins()}get element(){return i(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"],plugins:["pluginsChanged"]}}};yt.style=Ct;export{yt as revo_grid};
4
+ import{h as e,r as t,c as r,H as o,a as i}from"./index-a61f225b.js";import{G as s,J as n,K as a,L as d,M as h,P as l,N as c,O as g,g as u,e as f,Q as v,R as p,T as m,U as w,B as b,V as x,W as C,X as y,Y as S,y as k,D as R,b as j,A as L,f as E,d as O,s as P,r as H,a as z,h as I,u as M,Z as N,w as T,_ as D}from"./column.service-751345b2.js";import{B as F,c as B,F as V,r as $,k as U,i as A,D as G,a as W,S as Y,A as X,e as Z,E as _,C as J}from"./column.drag.plugin-3cc77986.js";import{c as K,b as Q,d as q}from"./debounce-72878ced.js";import{a as ee,R as te,t as re}from"./index-1dcad6ef.js";import{V as oe}from"./row-header-utils-3dfbb81f.js";import{v as ie,H as se,C as ne,F as ae,D as de}from"./viewport.helpers-7e7f9dad.js";import{g as he}from"./events-cf0893a3.js";import"./filter.button-d40ab17b.js";import"./header-cell-renderer-32d2ed96.js";class le{constructor(){this.defaultRowSize=32}}class ce{constructor(){this.defaultRowSize=27}}class ge{constructor(){this.defaultRowSize=42}}const ue="default";const fe=[ue,"material","compact","darkMaterial","darkCompact"];class ve{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(e){this.customRowSize=e}constructor(e){this.customRowSize=0;this.customRowSize=e.rowSize;this.register("default")}register(e){const t=pe(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new ge;break;case"compact":case"darkCompact":this.currentTheme=new le;break;default:this.currentTheme=new ce;break}}}function pe(e){if(e&&fe.indexOf(e)>-1){return e}return ue}function me(e,t){const r=t[e];const o=r[l];const i={};let a=e+1;const d=t.length;while(a<d){const e=t[a];if(s(e)){const t=e[l];if(!t.length||!t.startsWith(o+",")){break}e[n]=false}i[a++]=true}r[n]=false;return{trimmed:i}}function we(e,t,r){const o=r[e];const i=t[o];const l=a(i[c]);const g={};if(!l){return{trimmed:g}}const u=[];i[n]=true;let f=o+1;const v=t.length;let p=0;while(f<v){const e=t[f];const r=s(e);if(r){if(!d(l,i,e)){break}else if(!p){p=e[h]}}if(!p||r&&p===e[h]){g[f]=false;u.push(f)}f++}const m={trimmed:g};if(u.length){const t=[...r];t.splice(e+1,0,...u);m.items=t}return m}const be="grouping";function xe(e,t,r){const o={};for(let i in e){if(i===be){continue}const s=e[i];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)){o[i]=n}}}}return o}class Ce extends F{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[g].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(s(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[be];let o=u(this.store,e);const i=t[o];const s=i[n];if(!s){const{trimmed:o,items:i}=we(e,t,this.rowItems);r=Object.assign(Object.assign({},r),o);if(i){f(this.store,i)}}else{const{trimmed:e}=me(o,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,be)}getSource(e=false){const t=this.store.get("source");const r=this.store.get("proxyItems");let o=0;return r.reduce(((r,i)=>{const a=t[i];if(!e){r.source.push(a);return r}if(s(a)){if(a[n]){r.prevExpanded[a[l]]=true}}else{r.source.push(a);r.oldNewIndexes[i]=o;o++}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][v]=true;return true}return false}setColumns({columns:e}){for(let t of B){if(this.setColumnGrouping(e[t])){break}}}onDrag(e){const{from:t,to:r}=e.detail;const o=r-t>=0;const{source:i}=this.getSource();const n=this.rowItems;let a=o?t:r;const d=o?r:t;for(;a<d;a++){const t=i[n[a]];const r=s(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===V){const t=this.store.get("source");for(let r in e){if(e[r]&&s(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(p,(({detail:e})=>this.onExpand(e)))}doSourceUpdate(e){var t;if(!this.hasProps){return}const{source:r,prevExpanded:o,oldNewIndexes:i}=this.getSource(true);const{sourceWithGroups:s,depth:n,trimmed:a,oldNewIndexMap:d,childrenByGroup:h}=m(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:o},e));this.providers.data.setData(s,g,this.revogrid.disableVirtualY,{depth:n,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(a,h,i!==null&&i!==void 0?i:{},d)}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=>!s(e)));const o=this.revogrid.grouping||{};const{sourceWithGroups:i,depth:n,trimmed:a,oldNewIndexMap:d,childrenByGroup:h}=m(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({},o||{}));e.source=i;this.providers.data.setGrouping({depth:n});this.updateTrimmed(a,h,d)}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 B){if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}}this.subscribe()}clearGrouping(){B.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(w(e)){delete e[v];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,g,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r={},o){const i=xe(this.trimmed,r,o);for(let e in i){this.revogrid.addTrimmed(i[e],e)}this.revogrid.addTrimmed(Object.assign({},e),be)}}var ye="[object String]";function Se(e){return typeof e=="string"||!b(e)&&K(e)&&Q(e)==ye}var ke=x("length");const Re=ke;var je="\\ud800-\\udfff",Le="\\u0300-\\u036f",Ee="\\ufe20-\\ufe2f",Oe="\\u20d0-\\u20ff",Pe=Le+Ee+Oe,He="\\ufe0e\\ufe0f";var ze="\\u200d";var Ie=RegExp("["+ze+je+Pe+He+"]");function Me(e){return Ie.test(e)}var Ne="\\ud800-\\udfff",Te="\\u0300-\\u036f",De="\\ufe20-\\ufe2f",Fe="\\u20d0-\\u20ff",Be=Te+De+Fe,Ve="\\ufe0e\\ufe0f";var $e="["+Ne+"]",Ue="["+Be+"]",Ae="\\ud83c[\\udffb-\\udfff]",Ge="(?:"+Ue+"|"+Ae+")",We="[^"+Ne+"]",Ye="(?:\\ud83c[\\udde6-\\uddff]){2}",Xe="[\\ud800-\\udbff][\\udc00-\\udfff]",Ze="\\u200d";var _e=Ge+"?",Je="["+Ve+"]?",Ke="(?:"+Ze+"(?:"+[We,Ye,Xe].join("|")+")"+Je+_e+")*",Qe=Je+_e+Ke,qe="(?:"+[We+Ue+"?",Ue,Ye,Xe,$e].join("|")+")";var et=RegExp(Ae+"(?="+Ae+")|"+qe+Qe,"g");function tt(e){var t=et.lastIndex=0;while(et.test(e)){++t}return t}function rt(e){return Me(e)?tt(e):Re(e)}var ot="[object Map]",it="[object Set]";function st(e){if(e==null){return 0}if(C(e)){return Se(e)?rt(e):e.length}var t=y(e);if(t==ot||t==it){return e.size}return S(e).length}class nt extends F{runSorting(e,t){var r;this.sort(e,t);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(e,t){super(e,t);this.revogrid=e;this.sortingPromise=null;this.postponeSort=q(((e,t)=>this.runSorting(e,t)),50);const r=({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 o=({detail:{order:e}})=>{const t=this.providers.column.getColumns();const r={};for(let o in e){const i=this.getComparer(k(t,o),e[o]);r[o]=i}this.runSorting(e,r)};const i=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",o);this.addEventListener("beforeheaderclick",i)}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 o=((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 o}if(t=="desc"){return this.descCellCompare(o)}return undefined}headerclick(e,t,r){var o,i;let s=this.getNextOrder(e.order);const n=this.emit("beforesorting",{column:e,order:s,additive:r});if(n.defaultPrevented){return}s=n.detail.order;const a=this.providers.column.updateColumnSorting(n.detail.column,t,s,r);const d=this.emit("beforesortingapply",{column:a,order:s,additive:r});if(d.defaultPrevented){return}s=d.detail.order;const h=this.getComparer(e,s);if(r&&this.sorting){const t={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),t);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(e.prop in t&&st(t)>1&&s===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=s;r[e.prop]=h}}else{if(s){this.sorting={[e.prop]:s};this.sortingFunc={[e.prop]:h}}else{(o=this.sorting)===null||o===void 0?true:delete o[e.prop];(i=this.sortingFunc)===null||i===void 0?true:delete i[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}sort(e,t,r=$){if(!st(e)){this.sorting=undefined;this.sortingFunc=undefined;for(let e of r){const t=this.providers.data.stores[e];const r=t.store.get("source");const o=t.store.get("proxyItems");const i=t.store.get("items");this.providers.dimension.updateSizesPositionByNewDataIndexes(e,i,o);t.setData({proxyItems:i,source:[...r]})}}else{this.sorting=e;this.sortingFunc=t;for(let e of r){const r=this.providers.data.stores[e];const o=r.store.get("source");const i=r.store.get("proxyItems");const s=this.sortIndexByItems([...i],o,t);this.providers.dimension.updateSizesPositionByNewDataIndexes(e,s,i);r.setData({proxyItems:s,source:[...o]})}}this.emit("aftersortingapply")}defaultCellCompare(e,t,r){var o,i;const s=(o=t===null||t===void 0?void 0:t[e])===null||o===void 0?void 0:o.toString().toLowerCase();const n=(i=r===null||r===void 0?void 0:r[e])===null||i===void 0?void 0:i.toString().toLowerCase();return s==n?0:s>n?1:-1}descCellCompare(e){return(t,r,o)=>-1*e(t,r,o)}sortIndexByItems(e,t,r={}){if(Object.entries(r).length===0){return[...Array(e.length).keys()]}return e.sort(((e,o)=>{for(const[i,s]of Object.entries(r)){const r=t[e];const n=t[o];const a=s===null||s===void 0?void 0:s(i,r,n);if(a){return a}}return 0}))}getNextOrder(e){switch(e){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}class at{get order(){const e={};const t=this.sorting;if(t){Object.keys(t).forEach((r=>{e[r]=t[r].order}))}return e}get stores(){return this.dataSources}constructor(){this.sorting=null;this.collection=null;this.dataSources=B.reduce(((e,t)=>{e[t]=new R(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return j(this.dataSources[t].store,e)}getRawColumns(){return L(this.dataSources,((e,t,r)=>{e[r]=t.store.get("source");return e}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){const t=this.getRawColumns();if(e!=="all"){return t[e]}return B.reduce(((e,r)=>[...e,...t[r]]),[])}getColumnIndexByProp(e,t){return E(this.dataSources[t].store,e)}getColumnByProp(e){var t;return(t=this.collection)===null||t===void 0?void 0:t.columnByProp[e]}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){B.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;this.collection=e;return e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=H(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};for(const e in t){if(!t.hasOwnProperty(e)){continue}const o=e;const i=t[o];const s=this.dataSources[o].store.get("source");r[o]={};for(let e=0;e<s.length;e++){const t=s[e];const n=i===null||i===void 0?void 0:i[t.prop];if(n){r[o][e]=n}}}for(const e in r){if(!r.hasOwnProperty(e)){continue}const t=e;O(this.dataSources[t].store,r[t]||{})}}updateColumn(e,t){const r=H(e);P(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,o){if(!o){this.clearSorting()}e.order=r;if(!this.sorting){this.sorting={}}this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=L(this.sorting,((e,t)=>{const r=H(t);e[r]=true;return e}),{});U(e,((e,t)=>{const r=this.dataSources[t].store.get("source");U(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}}class dt{constructor(e){this.dimensionProvider=e;this.stores=L($,((e,t)=>{e[t]=new R(t);return e}),{})}setData(e,t="rgRow",r=false,o,i=false){this.stores[t].updateData([...e],o,i);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 j(r,e)}changeOrder({rowType:e="rgRow",from:t,to:r}){const o=this.stores[e];const i=[...o.store.get("items")];const s=[...i];const n=i.splice(t,1);i.splice(r,0,...n);this.dimensionProvider.updateSizesPositionByNewDataIndexes(e,i,s);o.setData({items:i})}setCellData({type:e,rowIndex:t,prop:r,val:o},i=true){const s=this.getModel(t,e);s[r]=o;this.stores[e].setSourceData({[t]:s},i)}setRangeData(e,t){const r={};for(let o in e){const i=r[o]=j(this.stores[t].store,parseInt(o,10));if(!i){continue}for(let t in e[o]){i[t]=e[o][t]}}this.stores[t].setSourceData(r)}refresh(e="all"){if(A(e)){this.refreshItems(e)}$.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(z(r.store).length,t)}}}class ht{constructor(e,t){this.viewports=e;const r=q((e=>t.realSizeChanged(e)),te);this.stores=L([...$,...B],((e,t)=>{e[t]=new G(t);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 o=t;if(r){const r=this.stores[e].store.get("sizes");o=Object.assign(Object.assign({},r),t)}this.stores[e].setDimensionSize(o);this.updateViewport(e,true)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=I(e);const o=this.stores[t];o.setStore({trimmed:r});this.updateViewport(t,true)}setData(e,t,r=false){this.setItemCount(e,t);if(r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.updateViewport(t)}applyNewColumns(e,t){for(let r of B){this.stores[r].drop();const o=e[r];const i=r!=="rgCol"||t;this.stores[r].setStore({count:o.length});const s=M(o);this.stores[r].setDimensionSize(s);const n={realCount:o.length};if(i){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 o=0;for(let t of B){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of $){o+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:o,x:r}}updateViewport(e,t=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e,force:t})}setViewPortCoordinate({coordinate:e,type:t,force:r=false}){const o=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,o,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=ee(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=B;break;case"rgRow":r=$;break}for(let t of r){this.stores[t].setStore(e)}}updateSizesPositionByNewDataIndexes(e,t,r=[]){const o=this.stores[e];const i=Object.assign({},o.store.get("sizes"));if(Object.keys(i).length){const o=new Map;r.forEach(((e,t)=>{o.set(e,t)}));const s={};t.forEach(((e,t)=>{const r=o.get(e);if(r!==t&&i[r]){s[t]=i[r];delete i[r]}}));if(Object.keys(s).length){this.setCustomSizes(e,Object.assign(Object.assign({},i),s))}}}}class lt{constructor(){this.stores=L([...$,...B],((e,t)=>{e[t]=new oe(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}function ct(e){const t=e.dimensions[e.colType].store;const r=t.get("realSize");const o={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 i={colData:z(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:o,type:e.colType,position:e.position,headerProp:i,viewportCol:e.viewports[e.colType].store}}class gt{constructor(e,t){var r,o;this.config=e;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const i=[];let s=0;B.forEach((r=>{const o=e.columnProvider.stores[r].store;if(!o.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:o,onHeaderresize:e=>this.onColumnResize(r,e,o)};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=ct(n);const d=this.registerCol(a.position.x,r);const h=this.dataViewPort(n).reduce(((t,o)=>{const i=this.registerSegment(o.position);i.setLastCell(o.lastCell);const s=this.registerRow(o.position.y,o.type);const n=Object.assign(Object.assign({colType:r},o),{rowSelectionStore:s,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(n);return t}),[]);i.push(Object.assign(Object.assign({},a),{columnSelectionStore:d,dataPorts:h}));s++}));this.columns=i;(o=this.config.scrollingService)===null||o===void 0?void 0:o.unregister()}onColumnResize(e,{detail:t},r){var o;(o=this.config.dimensionProvider)===null||o===void 0?void 0:o.setCustomSizes(e,t,true);const i={};for(const[e,o]of Object.entries(t||{})){const t=parseInt(e,10);const s=j(r,t);if(s){i[t]=Object.assign(Object.assign({},s),{size:o})}}this.config.resize(i)}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:se,rgRow:ne,rowPinEnd:ae};let r=0;return $.reduce(((o,i)=>{const s=e.viewports[i].store.get("realCount")||i==="rgRow";const n=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:s?r:N})});const a=ie(n,i,t[i],i!=="rgRow");o.push(a);if(s){r++}return o}),[])}scrollToCell(e){for(let t in e){const r=e[t];if(typeof r==="number"){this.config.scrollingService.proxyScroll({dimension:t==="x"?"rgCol":"rgRow",coordinate:r})}}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e){return null}const t=this.config.selectionStoreConnector.storesXToType[e.position.x];const r=this.config.columnProvider.getColumn(e.cell.x,t);const o=this.config.selectionStoreConnector.storesYToType[e.position.y];const i=this.config.dataProvider.getModel(e.cell.y,o);return{column:r,model:i,cell:e.cell,colType:t,rowType:o}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(typeof r[e]==="undefined"||typeof r[t]==="undefined"){return}return{x:r[e],y:r[t]}}setFocus(e,t,r,o){var i;const s=this.getStoreCoordinateByType(e,t);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.focusByCell(s,r,o)}}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,o){var i;const s=this.getStoreCoordinateByType(r,o);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.setEditByCell(s,{x:t,y:e})}}}class ut{constructor(e){this.setViewport=e;this.elements={}}async proxyScroll(e,t){var r;let o;let i=e;for(let i in this.elements){if(e.dimension==="rgCol"&&i==="headerRow"){continue}else if(this.isPinnedColumn(t)&&e.dimension==="rgCol"){if(i===t||!e.delta){continue}for(let t of this.elements[i]){if(t.changeScroll){o=t.changeScroll(e)}}}else{for(let t of this.elements[i]){await((r=t.setScroll)===null||r===void 0?void 0:r.call(t,e))}}}const s=await o;if(s){i=s}this.setViewport(i)}async scrollSilentService(e,t){var r;for(let o in this.elements){if(o===t){continue}if(B.includes(t)&&(o==="headerRow"||B.includes(o))){for(let t of this.elements[o]){await((r=t.changeScroll)===null||r===void 0?void 0:r.call(t,e,true))}continue}}}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){if(!this.elements[t]){this.elements[t]=[]}if(e){this.elements[t].push(e)}else if(this.elements[t]){delete this.elements[t]}}unregister(){this.elements={}}}class ft{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:o}){var i;const{top:s}=e.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(t);this.moveTip({x:o.x,y:o.y});(i=this.el)===null||i===void 0?void 0:i.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 vt=({ref:t})=>{const r=new ft;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}))};const pt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]={}}if(r.size){if(!e.sizes){e.sizes={}}e.sizes[r.index]=r.size}}return t};const mt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]=[]}if(r.size){e.push(r.index)}}return t};function wt(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}class bt extends F{constructor(e,t){super(e,t);e.setAttribute("dir","ltr");e.setAttribute("role","treegrid");e.setAttribute("aria-keyshortcuts","Enter");e.setAttribute("aria-multiselectable","true");e.setAttribute("tabindex","0");this.addEventListener("beforecolumnsset",(({detail:t})=>{const r=[...t.columns.colPinStart,...t.columns.rgCol,...t.columns.colPinEnd];e.setAttribute("aria-colcount",`${r.length}`);r.forEach(((e,t)=>{const{columnProperties:r,cellProperties:o}=e;e.columnProperties=(...e)=>{const o=(r===null||r===void 0?void 0:r(...e))||{};o.role="columnheader";o["aria-colindex"]=t;return o};e.cellProperties=(...e)=>{const r={["role"]:"gridcell",["aria-colindex"]:t,["aria-rowindex"]:e[0].rowIndex,["tabindex"]:-1};const i=(o===null||o===void 0?void 0:o(...e))||{};return Object.assign(Object.assign({},r),i)}}))}));this.addEventListener("beforesourceset",(({detail:t})=>{e.setAttribute("aria-rowcount",`${t.source.length}`)}));this.addEventListener("beforerowrender",(({detail:e})=>{e.node.t=Object.assign(Object.assign({},e.node.t),{role:"row",["aria-rowindex"]:e.item.itemIndex})}));this.addEventListener("afterfocus",(async e=>{if(e.defaultPrevented){return}const t=this.revogrid.querySelector(`revogr-data[type="${e.detail.rowType}"][col-type="${e.detail.colType}"] [data-rgrow="${e.detail.rowIndex}"][data-rgcol="${e.detail.colIndex}"]`);if(t instanceof HTMLElement){t.focus()}}))}}const xt='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:32px;line-height:32px;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:30px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 #cecece inset, 1px 0 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #cecece inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #cecece inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-edit{background-color:#28272b}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-edit{background-color:#28272b}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}';const Ct=xt;const yt=class{constructor(e){t(this,e);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridrender=r(this,"aftergridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=false;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[];this.accessible=true}async refresh(e="all"){if(!this.dataProvider){throw new Error("Not connected")}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){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){if(!this.dimensionProvider||!this.columnProvider){throw new Error("Not connected")}const r=this.columnProvider.getColumnIndexByProp(e,t);if(r<0){return}const o=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:t});await this.scrollToCoordinate({x:o})}async updateColumns(e){var t;(t=this.columnProvider)===null||t===void 0?void 0:t.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}const o=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});if(o.defaultPrevented){return o}this.dataProvider.setTrimmed({[t]:o.detail.trimmed},r);this.aftertrimmed.emit();return o}async scrollToCoordinate(e){var t;(t=this.viewport)===null||t===void 0?void 0:t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var o;const i=k(this.columns,t);if(!i){return}await re();const s=i.pin||"rgCol";if(!this.columnProvider){throw new Error("Not connected")}(o=this.viewport)===null||o===void 0?void 0:o.setEdit(e,this.columnProvider.getColumnIndexByProp(t,s),s,r)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},r="rgCol",o="rgRow"){var i;(i=this.viewport)===null||i===void 0?void 0:i.setFocus(r,o,e,t)}async getSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return z(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){if(!this.columnProvider){throw new Error("Not connected")}return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r,o){if(!this.columnProvider){throw new Error("Not connected")}return this.columnProvider.updateColumnSorting(e,t,r,o)}async clearSorting(){if(!this.columnProvider){throw new Error("Not connected")}this.columnProvider.clearSorting()}async getColumns(){if(!this.columnProvider){throw new Error("Not connected")}return this.columnProvider.getColumns()}async clearFocus(){var e;const t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused();const r=this.beforefocuslost.emit(t);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused())!==null&&t!==void 0?t:null}async getContentSize(){var e;if(!this.dimensionProvider){throw new Error("Not connected")}return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange())!==null&&t!==void 0?t:null}mousedownHandle(e){const t=he(e,"screenX");const r=he(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}async mouseupHandle(e){var t;const r=he(e,"screenX");const o=he(e,"screenY");if(r===null||o===null){return}if(e.defaultPrevented){return}const i=r+o;if(Math.abs(((t=this.clickTrackForFocusClear)!==null&&t!==void 0?t:0)-i)>10){return}const s=e.composedPath();if(!s.includes(this.element)&&!(this.element.shadowRoot&&s.includes(this.element.shadowRoot))){await this.clearFocus()}}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);if(r.defaultPrevented){e.preventDefault();return}(t=this.orderService)===null||t===void 0?void 0:t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;(e=this.orderService)===null||e===void 0?void 0:e.end()}onRowOrderChange(e){var t;(t=this.dataProvider)===null||t===void 0?void 0:t.changeOrder(e.detail)}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){var t;const{defaultPrevented:r,detail:o}=this.beforeedit.emit(e.detail);await re();if(!r){(t=this.dataProvider)===null||t===void 0?void 0:t.setCellData(o);this.afteredit.emit(o)}}onRangeEdit(e){if(!this.dataProvider){throw new Error("Not connected")}const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(e){const t=this.beforerange.emit(e.detail);if(t.defaultPrevented){e.preventDefault()}const r=this.beforeautofill.emit(t.detail);if(r.defaultPrevented){e.preventDefault()}}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);if(t){e.preventDefault()}}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));if(t){e.preventDefault()}}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);if(!this.canFocus||t){e.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[]){if(!this.dimensionProvider||!this.columnProvider){return}const t=T(e,0,this.columnTypes);const r=this.beforecolumnsset.emit(t);if(r.defaultPrevented){return}this.dimensionProvider.applyNewColumns(r.detail.columns,this.disableVirtualX);const o=this.beforecolumnapplied.emit(t);if(o.defaultPrevented){return}const i=this.columnProvider.setColumns(o.detail);this.aftercolumnsset.emit({columns:i,order:this.columnProvider.order})}disableVirtualXChanged(e=false,t=false){if(e===t){return}this.columnChanged(this.columns)}rowSizeChanged(e){if(!this.dimensionProvider){return}this.dimensionProvider.setSettings({originItemSize:e},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(e,t,r="theme",o=false){if(!this.dimensionProvider){return}this.themeService.register(e);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!o){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(e)}dataSourceChanged(e=[],t,r){if(!this.dataProvider){return}let o="rgRow";switch(r){case"pinnedBottomSource":o="rowPinEnd";break;case"pinnedTopSource":o="rowPinStart";break;case"source":o="rgRow";const t=this.beforesourceset.emit({type:o,source:e});e=t.detail.source;break}const i=this.beforeanysource.emit({type:o,source:e});const s=[...i.detail.source];this.dataProvider.setData(s,o,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:o,source:e})}this.afteranysource.emit({type:o,source:e})}disableVirtualYChanged(e=false,t=false){if(e===t){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,o=true){if(!this.dimensionProvider||!this.dataProvider){return}const{detail:{vals:i,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const n=pt(i);if(s){const e=mt(s);for(const t in e){if(e.hasOwnProperty(t)){const e=t;const r=this.dataProvider.stores[e];const o=r.store.get("source").length;this.dimensionProvider.clearSize(e,o)}}}$.forEach((e=>{var t;const r=n[e];if(r||o){(t=this.dimensionProvider)===null||t===void 0?void 0:t.setCustomSizes(e,(r===null||r===void 0?void 0:r.sizes)||{})}}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){let t;for(let e of this.internalPlugins){const r=e;if(!!r.setGrouping){t=r;break}}t===null||t===void 0?void 0:t.setGrouping(e||{})}applyStretch(e){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider){return}if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>W(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 Y(this.element,e))}else if(W(t)){t.applyStretch(this.columnProvider.getRawColumns())}}else if(t){const e=this.internalPlugins.indexOf(t);this.internalPlugins.splice(e,1)}}applyFilter(e){this.filterconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=[...this.extraElements,...e]}additionalDataChanged(e){this.additionaldatachanged.emit(e)}pluginsChanged(e=[],t){const r=this.getPluginData();if(!r){return}e===null||e===void 0?void 0:e.forEach((e=>{const t=this.internalPlugins.find((t=>t instanceof e));if(t){return}this.internalPlugins.push(new e(this.element,r))}))}setPlugins(){this.removePlugins();const e=this.getPluginData();if(!e){return}if(this.accessible){this.internalPlugins.push(new bt(this.element,e))}if(this.autoSizeColumn){this.internalPlugins.push(new X(this.element,e,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new Z(this.element,e,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new _(this.element,e))}this.internalPlugins.push(new nt(this.element,e));this.internalPlugins.push(new Ce(this.element,e));if(this.canMoveColumns){this.internalPlugins.push(new J(this.element,e))}this.pluginsChanged(this.plugins)}getPluginData(){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider){return}const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};return e}removePlugins(){this.internalPlugins.forEach((e=>{var t;return(t=e.destroy)===null||t===void 0?void 0:t.call(e)}));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var e;this.viewportProvider=new lt;this.themeService=new ve({rowSize:this.rowSize});this.dimensionProvider=new ht(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new at;this.selectionStoreConnector=new D;this.dataProvider=new dt(this.dimensionProvider);this.registerOutsideVNodes(this.registerVNode);this.setPlugins();this.applyStretch(this.stretch);this.themeChanged(this.theme,undefined,undefined,true);this.columnChanged(this.columns);this.dataSourceChanged(this.source,undefined,"source");this.dataSourceChanged(this.pinnedTopSource,undefined,"pinnedTopSource");this.dataSourceChanged(this.pinnedBottomSource,undefined,"pinnedBottomSource");if(Object.keys((e=this.trimmedRows)!==null&&e!==void 0?e:{}).length>0){this.trimmedRowsChanged(this.trimmedRows)}this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new ut((e=>{var t;(t=this.dimensionProvider)===null||t===void 0?void 0:t.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}componentDidRender(){this.aftergridrender.emit()}render(){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider){return}const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new gt({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 o=this.viewport.columns[0];r.push(e("revogr-row-headers",{additionalData:this.additionalData,height:t,rowClass:this.rowClass,resize:this.resize,dataPorts:o.dataPorts,headerProp:o.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 i=wt();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 o=[e("revogr-header",Object.assign({},r,{slot:se}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`;const n=e("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:i,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:e})=>{const t=this.beforeeditstart.emit(e);if(!t.defaultPrevented){this.selectionStoreConnector.setEdit(e.val)}}}),e("revogr-data",Object.assign({},r,{colType:t.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:de}),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}`})));o.push(n)}));s.push(e("revogr-viewport-scroll",Object.assign({},t.prop,{ref:e=>this.scrollingService.registerElement(e,`${t.prop.key}`),onScrollviewport:e=>this.scrollingService.proxyScroll(e.detail,`${t.prop.key}`),onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,`${t.prop.key}`)}),o))}r.push(s);const n="rgRow";const a="rgCol";const d=this.viewportProvider.stores;const h=this.dimensionProvider.stores;return e(o,null,this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{class:"main-viewport",onClick:e=>{var t;if(e.currentTarget===e.target){(t=this.viewport)===null||t===void 0?void 0:t.clearEdit()}}},e("div",{class:"viewports"},e("slot",{name:"viewport"}),r,e("revogr-scroll-virtual",{class:"vertical",dimension:n,viewportStore:d[n].store,dimensionStore:h[n].store,ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e(vt,{ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{class:"horizontal",dimension:a,viewportStore:d[a].store,dimensionStore:h[a].store,ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e("revogr-extra",{nodes:this.extraElements}))}disconnectedCallback(){this.removePlugins()}get element(){return i(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"],plugins:["pluginsChanged"]}}};yt.style=Ct;export{yt as revo_grid};
5
5
  //# sourceMappingURL=revo-grid.entry.js.map