@revolist/revogrid 4.9.1 → 4.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{base.plugin-d48d867d.js → base.plugin-bf5f43a0.js} +2 -2
- package/dist/cjs/{base.plugin-d48d867d.js.map → base.plugin-bf5f43a0.js.map} +1 -1
- package/dist/cjs/{column.service-6f691f50.js → column.service-01f4a6c7.js} +25 -6
- package/dist/cjs/column.service-01f4a6c7.js.map +1 -0
- package/dist/cjs/{dimension.helpers-e9d22516.js → dimension.helpers-a6788214.js} +10 -5
- package/dist/cjs/dimension.helpers-a6788214.js.map +1 -0
- package/dist/cjs/{header-cell-renderer-81a22b00.js → header-cell-renderer-3bc70679.js} +10 -8
- package/dist/cjs/header-cell-renderer-3bc70679.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/revo-grid.cjs.entry.js +81 -93
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +71 -46
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +12 -7
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +45 -36
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{selection.helpers-8fa19c04.js → selection.helpers-1a8c8d49.js} +32 -31
- package/dist/cjs/selection.helpers-1a8c8d49.js.map +1 -0
- package/dist/cjs/{throttle-bcc4740d.js → throttle-52be9e67.js} +4 -3
- package/dist/cjs/throttle-52be9e67.js.map +1 -0
- package/dist/cjs/{viewport.store-9cf01c71.js → viewport.store-35a3e7ee.js} +13 -9
- package/dist/cjs/viewport.store-35a3e7ee.js.map +1 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js +68 -89
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
- package/dist/collection/components/data/cell-renderer.js +7 -4
- package/dist/collection/components/data/cell-renderer.js.map +1 -1
- package/dist/collection/components/data/column.service.js +1 -1
- package/dist/collection/components/data/column.service.js.map +1 -1
- package/dist/collection/components/data/revogr-data.js +1 -1
- package/dist/collection/components/data/revogr-data.js.map +1 -1
- package/dist/collection/components/editors/revogr-edit.js +6 -6
- package/dist/collection/components/editors/revogr-edit.js.map +1 -1
- package/dist/collection/components/editors/text-editor.js +3 -1
- package/dist/collection/components/editors/text-editor.js.map +1 -1
- package/dist/collection/components/header/header-renderer.js +2 -1
- package/dist/collection/components/header/header-renderer.js.map +1 -1
- package/dist/collection/components/header/resizable.directive.js +7 -5
- package/dist/collection/components/header/resizable.directive.js.map +1 -1
- package/dist/collection/components/header/resizable.element.js +1 -1
- package/dist/collection/components/header/resizable.element.js.map +1 -1
- package/dist/collection/components/overlay/autofill.service.js +11 -12
- package/dist/collection/components/overlay/autofill.service.js.map +1 -1
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +74 -39
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/overlay/selection.utils.js +13 -5
- package/dist/collection/components/overlay/selection.utils.js.map +1 -1
- package/dist/collection/components/revoGrid/grid.helpers.js +10 -8
- package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +42 -42
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.helpers.js +19 -0
- package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +4 -3
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.service.js +27 -37
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +2 -2
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +34 -29
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
- package/dist/collection/components/scrollable/autohide-scroll.plugin.js +1 -1
- package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -1
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +3 -3
- package/dist/collection/components/selectionFocus/revogr-focus.js +1 -1
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
- package/dist/collection/components/vnode/vnode-converter.js +6 -6
- package/dist/collection/components/vnode/vnode-converter.js.map +1 -1
- package/dist/collection/components/vnode/vnode.utils.js.map +1 -1
- package/dist/collection/global/global.js.map +1 -1
- package/dist/collection/plugins/export/export.plugin.js +2 -2
- package/dist/collection/plugins/export/export.plugin.js.map +1 -1
- package/dist/collection/plugins/filter/filter.panel.js +4 -4
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +1 -1
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +2 -2
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js +1 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +9 -12
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/services/cell.helpers.js +3 -2
- package/dist/collection/services/cell.helpers.js.map +1 -1
- package/dist/collection/services/column.data.provider.js.map +1 -1
- package/dist/collection/services/data.provider.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +2 -1
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/services/local.scroll.service.js +3 -2
- package/dist/collection/services/local.scroll.service.js.map +1 -1
- package/dist/collection/services/selection.store.connector.js +20 -16
- package/dist/collection/services/selection.store.connector.js.map +1 -1
- package/dist/collection/store/selection/selection.helpers.js +8 -12
- package/dist/collection/store/selection/selection.helpers.js.map +1 -1
- package/dist/collection/store/selection/selection.store.js +2 -1
- package/dist/collection/store/selection/selection.store.js.map +1 -1
- package/dist/collection/store/vp/viewport.helpers.js +10 -6
- package/dist/collection/store/vp/viewport.helpers.js.map +1 -1
- package/dist/collection/store/vp/viewport.store.js +1 -1
- package/dist/collection/store/vp/viewport.store.js.map +1 -1
- package/dist/collection/themeManager/theme.service.js +1 -1
- package/dist/collection/themeManager/theme.service.js.map +1 -1
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/collection/types/selection.js.map +1 -1
- package/dist/collection/types/viewport.interfaces.js.map +1 -1
- package/dist/collection/utils/closest.polifill.js.map +1 -1
- package/dist/collection/utils/store.utils.js +9 -4
- package/dist/collection/utils/store.utils.js.map +1 -1
- package/dist/esm/{base.plugin-78393655.js → base.plugin-5e7a3c51.js} +2 -2
- package/dist/esm/{base.plugin-78393655.js.map → base.plugin-5e7a3c51.js.map} +1 -1
- package/dist/esm/{column.service-0e41057a.js → column.service-5d14e7e9.js} +25 -6
- package/dist/esm/column.service-5d14e7e9.js.map +1 -0
- package/dist/esm/{dimension.helpers-91398565.js → dimension.helpers-56298828.js} +10 -5
- package/dist/esm/dimension.helpers-56298828.js.map +1 -0
- package/dist/esm/{header-cell-renderer-6d8ac25d.js → header-cell-renderer-fc999784.js} +10 -8
- package/dist/esm/header-cell-renderer-fc999784.js.map +1 -0
- package/dist/esm/index.js +4 -4
- package/dist/esm/revo-grid.entry.js +81 -93
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +71 -46
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +12 -7
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +45 -36
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{selection.helpers-50e9f09d.js → selection.helpers-accaad4a.js} +32 -31
- package/dist/esm/selection.helpers-accaad4a.js.map +1 -0
- package/dist/esm/{throttle-1b1dd9d2.js → throttle-7283692c.js} +4 -3
- package/dist/esm/throttle-7283692c.js.map +1 -0
- package/dist/esm/{viewport.store-bfd0b036.js → viewport.store-d8e03528.js} +13 -9
- package/dist/esm/viewport.store-d8e03528.js.map +1 -0
- package/dist/revo-grid/{base.plugin-78393655.js → base.plugin-5e7a3c51.js} +2 -2
- package/dist/revo-grid/column.service-5d14e7e9.js +5 -0
- package/dist/revo-grid/column.service-5d14e7e9.js.map +1 -0
- package/dist/revo-grid/{dimension.helpers-91398565.js → dimension.helpers-56298828.js} +2 -2
- package/dist/revo-grid/{dimension.helpers-91398565.js.map → dimension.helpers-56298828.js.map} +1 -1
- package/dist/revo-grid/header-cell-renderer-fc999784.js +5 -0
- package/dist/revo-grid/header-cell-renderer-fc999784.js.map +1 -0
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
- package/dist/revo-grid/selection.helpers-accaad4a.js +5 -0
- package/dist/revo-grid/selection.helpers-accaad4a.js.map +1 -0
- package/dist/revo-grid/{throttle-1b1dd9d2.js → throttle-7283692c.js} +2 -2
- package/dist/revo-grid/throttle-7283692c.js.map +1 -0
- package/dist/revo-grid/viewport.store-d8e03528.js +5 -0
- package/dist/revo-grid/viewport.store-d8e03528.js.map +1 -0
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +32 -24
- package/dist/types/components/data/column.service.d.ts +1 -1
- package/dist/types/components/data/row-highlight.plugin.d.ts +1 -1
- package/dist/types/components/editors/revogr-edit.d.ts +1 -1
- package/dist/types/components/editors/text-editor.d.ts +3 -3
- package/dist/types/components/header/header-renderer.d.ts +2 -2
- package/dist/types/components/header/resizable.directive.d.ts +2 -2
- package/dist/types/components/overlay/autofill.service.d.ts +9 -7
- package/dist/types/components/overlay/keyboard.service.d.ts +4 -4
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +20 -11
- package/dist/types/components/overlay/selection.utils.d.ts +7 -4
- package/dist/types/components/revoGrid/revo-grid.d.ts +7 -6
- package/dist/types/components/revoGrid/viewport.helpers.d.ts +18 -3
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +1 -1
- package/dist/types/components/revoGrid/viewport.service.d.ts +2 -6
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +6 -6
- package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +1 -1
- package/dist/types/components/vnode/vnode-converter.d.ts +1 -1
- package/dist/types/components/vnode/vnode.utils.d.ts +1 -1
- package/dist/types/components.d.ts +80 -54
- package/dist/types/plugins/column.auto-size.plugin.d.ts +2 -2
- package/dist/types/plugins/export/export.plugin.d.ts +3 -3
- package/dist/types/plugins/filter/filter.button.d.ts +1 -1
- package/dist/types/plugins/filter/filter.panel.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +3 -3
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +8 -8
- package/dist/types/services/column.data.provider.d.ts +1 -1
- package/dist/types/services/data.provider.d.ts +1 -1
- package/dist/types/services/dimension.provider.d.ts +3 -2
- package/dist/types/services/selection.store.connector.d.ts +9 -9
- package/dist/types/store/selection/selection.helpers.d.ts +1 -1
- package/dist/types/store/selection/selection.store.d.ts +4 -4
- package/dist/types/store/vp/viewport.helpers.d.ts +2 -2
- package/dist/types/themeManager/theme.service.d.ts +1 -1
- package/dist/types/types/interfaces.d.ts +18 -1
- package/dist/types/types/viewport.interfaces.d.ts +2 -2
- package/dist/types/utils/store.utils.d.ts +7 -4
- package/hydrate/index.js +274 -215
- package/hydrate/index.mjs +274 -215
- package/package.json +1 -1
- package/standalone/column.service.js +33 -33
- package/standalone/column.service.js.map +1 -1
- package/standalone/data.store.js +2959 -7
- package/standalone/data.store.js.map +1 -1
- package/standalone/debounce.js +1 -1
- package/standalone/dimension.helpers.js +2 -2
- package/standalone/index.js.map +1 -1
- package/standalone/local.scroll.timer.js +3 -2
- package/standalone/local.scroll.timer.js.map +1 -1
- package/standalone/revo-grid.js +77 -90
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-clipboard2.js +6 -3
- package/standalone/revogr-clipboard2.js.map +1 -1
- package/standalone/revogr-data2.js +7 -5
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-edit2.js +5 -3
- package/standalone/revogr-edit2.js.map +1 -1
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus2.js +0 -1
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +12 -10
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +0 -1
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +54 -38
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +12 -9
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-scroll-virtual2.js +1 -1
- package/standalone/revogr-scroll-virtual2.js.map +1 -1
- package/standalone/revogr-temp-range2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +47 -23
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +14 -6
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/toNumber.js +1 -1
- package/standalone/vnode-converter.js +3 -3
- package/standalone/vnode-converter.js.map +1 -1
- package/dist/cjs/column.service-6f691f50.js.map +0 -1
- package/dist/cjs/dimension.helpers-e9d22516.js.map +0 -1
- package/dist/cjs/header-cell-renderer-81a22b00.js.map +0 -1
- package/dist/cjs/selection.helpers-8fa19c04.js.map +0 -1
- package/dist/cjs/throttle-bcc4740d.js.map +0 -1
- package/dist/cjs/viewport.store-9cf01c71.js.map +0 -1
- package/dist/esm/column.service-0e41057a.js.map +0 -1
- package/dist/esm/dimension.helpers-91398565.js.map +0 -1
- package/dist/esm/header-cell-renderer-6d8ac25d.js.map +0 -1
- package/dist/esm/selection.helpers-50e9f09d.js.map +0 -1
- package/dist/esm/throttle-1b1dd9d2.js.map +0 -1
- package/dist/esm/viewport.store-bfd0b036.js.map +0 -1
- package/dist/revo-grid/column.service-0e41057a.js +0 -5
- package/dist/revo-grid/column.service-0e41057a.js.map +0 -1
- package/dist/revo-grid/header-cell-renderer-6d8ac25d.js +0 -5
- package/dist/revo-grid/header-cell-renderer-6d8ac25d.js.map +0 -1
- package/dist/revo-grid/selection.helpers-50e9f09d.js +0 -5
- package/dist/revo-grid/selection.helpers-50e9f09d.js.map +0 -1
- package/dist/revo-grid/throttle-1b1dd9d2.js.map +0 -1
- package/dist/revo-grid/viewport.store-bfd0b036.js +0 -5
- package/dist/revo-grid/viewport.store-bfd0b036.js.map +0 -1
- package/standalone/_baseIteratee.js +0 -2956
- package/standalone/_baseIteratee.js.map +0 -1
- /package/dist/revo-grid/{base.plugin-78393655.js.map → base.plugin-5e7a3c51.js.map} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import{h as i}from"./index-a61f225b.js";import{d as t}from"./dispatcher-ea08404f.js";import{l as s}from"./column.service-5d14e7e9.js";var e;(function(i){i["start"]="resize:start";i["move"]="resize:move";i["end"]="resize:end"})(e||(e={}));const h={"resizable-r":{bit:1,cursor:"ew-resize"},"resizable-rb":{bit:3,cursor:"se-resize"},"resizable-b":{bit:2,cursor:"s-resize"},"resizable-lb":{bit:6,cursor:"sw-resize"},"resizable-l":{bit:4,cursor:"w-resize"},"resizable-lt":{bit:12,cursor:"nw-resize"},"resizable-t":{bit:8,cursor:"n-resize"},"resizable-rt":{bit:9,cursor:"ne-resize"}};const o={l:1,t:2,w:4,h:8};const n=i=>Object.assign(Object.assign({},i),{fitParent:i.fitParent||false,active:i.active||[],disableAttributes:i.disableAttributes||[],minWidth:i.minWidth||0,minHeight:i.minHeight||0});class l{constructor(i,t){var s,e;this.initialProps=i;this.$event=t;this.mouseX=0;this.mouseY=0;this.width=0;this.height=0;this.changeX=0;this.changeY=0;this.disableCalcMap=15;this.props=n(i);this.mouseMoveFunc=this.handleMove.bind(this);this.mouseUpFunc=this.handleUp.bind(this);this.minW=this.props.minWidth;this.minH=this.props.minHeight;this.maxW=(s=this.props.maxWidth)!==null&&s!==void 0?s:0;this.maxH=(e=this.props.maxHeight)!==null&&e!==void 0?e:0;this.parent={width:0,height:0};this.resizeState=0}set(i){this.$el=i;this.props.disableAttributes.forEach((i=>{switch(i){case"l":this.disableCalcMap&=~o.l;break;case"t":this.disableCalcMap&=~o.t;break;case"w":this.disableCalcMap&=~o.w;break;case"h":this.disableCalcMap&=~o.h}}))}emitEvent(i,t){var s;if(!this.$event){return}const e=(s=this.activeResizer)===null||s===void 0?void 0:s.classList.contains("resizable-l");this.$event(Object.assign({eventName:i,width:this.width+this.changeX*(e?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},t))}static isTouchEvent(i){var t;const s=i;return((t=s.touches)===null||t===void 0?void 0:t.length)>=0}handleMove(i){var t;if(!this.resizeState){return}let s,n;if(l.isTouchEvent(i)){s=i.touches[0].clientY;n=i.touches[0].clientX}else{s=i.clientY;n=i.clientX}let r=this.resizeState&h["resizable-r"].bit||this.resizeState&h["resizable-l"].bit;let c=this.resizeState&h["resizable-t"].bit||this.resizeState&h["resizable-b"].bit;if(c&&this.disableCalcMap&o.h){let i=s-this.mouseY;let t=this.changeY+i;const e=this.height+t;if(e<this.minH){t=-(this.height-this.minH)}if(this.maxH&&e>this.maxH){t=this.maxH-this.height}this.changeY=t;this.mouseY=s;if(this.activeResizer){this.activeResizer.style.bottom=`${-this.changeY}px`}}if(r&&this.disableCalcMap&o.w){const i=(t=this.activeResizer)===null||t===void 0?void 0:t.classList.contains("resizable-l");let s=n-this.mouseX;let e=this.changeX+s;const h=this.width+e*(i?-1:1);if(h<this.minW){e=-(this.width-this.minW)}if(this.maxW&&h>this.maxW){e=this.maxW-this.width}this.changeX=e;this.mouseX=n;if(this.activeResizer){if(!i){this.activeResizer.style.right=`${-this.changeX}px`}else{this.activeResizer.style.left=`${this.changeX}px`}}}this.emitEvent(e.move)}handleDown(i){if(i.defaultPrevented){return}i.preventDefault();this.dropInitial();for(let t in h){const s=i.target;if(this.$el.contains(s)&&(s===null||s===void 0?void 0:s.classList.contains(t))){document.body.style.cursor=h[t].cursor;if(l.isTouchEvent(i)){this.setInitials(i.touches[0],s)}else{i.preventDefault&&i.preventDefault();this.setInitials(i,s)}this.resizeState=h[t].bit;const o=e.start;this.emitEvent(o);break}}this.bindMove()}handleUp(i){i.preventDefault();if(this.resizeState!==0){this.resizeState=0;document.body.style.cursor="";const i=e.end;this.emitEvent(i)}this.dropInitial();this.unbindMove()}setInitials({clientX:i,clientY:t},s){var e,h,n,l;const r=getComputedStyle(this.$el);this.$el.classList.add("active");this.activeResizer=s;if(this.disableCalcMap&o.w){this.mouseX=i;this.width=this.$el.clientWidth;this.parent.width=(h=(e=this.$el.parentElement)===null||e===void 0?void 0:e.clientWidth)!==null&&h!==void 0?h:0;const t=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight);this.minW=Math.max(t,this.initialProps.minWidth||0);if(this.initialProps.maxWidth){this.maxW=Math.max(this.width,this.initialProps.maxWidth)}}if(this.disableCalcMap&o.h){this.mouseY=t;this.height=this.$el.clientHeight;this.parent.height=(l=(n=this.$el.parentElement)===null||n===void 0?void 0:n.clientHeight)!==null&&l!==void 0?l:0;const i=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom);this.minH=Math.max(i,this.initialProps.minHeight||0);if(this.initialProps.maxHeight){this.maxH=Math.max(this.height,this.initialProps.maxHeight)}}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH;this.width=this.height=0;if(this.activeResizer){this.activeResizer.removeAttribute("style")}this.$el.classList.remove("active");this.activeResizer=undefined}bindMove(){document.documentElement.addEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.addEventListener("touchend",this.mouseUpFunc,true);document.documentElement.addEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.addEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.addEventListener("mouseleave",this.mouseUpFunc)}unbindMove(){document.documentElement.removeEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.removeEventListener("touchend",this.mouseUpFunc,true);document.documentElement.removeEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("mouseleave",this.mouseUpFunc)}}const r=(t,s)=>{const h=[];const o=t.canResize&&new l(t,(i=>{if(i.eventName===e.end){t.onResize&&t.onResize(i)}}))||null;if(t.canResize){if(t.active){for(let s in t.active){h.push(i("div",{onClick:i=>i.preventDefault(),onDblClick:i=>{var s;i.preventDefault();(s=t.onDoubleClick)===null||s===void 0?void 0:s.call(t,i)},onMouseDown:i=>o===null||o===void 0?void 0:o.handleDown(i),onTouchStart:i=>o===null||o===void 0?void 0:o.handleDown(i),class:`resizable resizable-${t.active[s]}`}))}}}else{if(t.active){for(let s in t.active){h.push(i("div",{onClick:i=>i.preventDefault(),onTouchStart:i=>i.preventDefault(),onDblClick:i=>{var s;i.preventDefault();(s=t.onDoubleClick)===null||s===void 0?void 0:s.call(t,i)},class:`no-resize resizable resizable-${t.active[s]}`}))}}}return i("div",Object.assign({},t,{ref:i=>i&&(o===null||o===void 0?void 0:o.set(i))}),s,h)};const c="columnclick";const a=({data:e,props:h,additionalData:o},n)=>{let l=(e===null||e===void 0?void 0:e.name)||"";let a=h;if(e===null||e===void 0?void 0:e.columnTemplate){l=e.columnTemplate(i,e,o)}if(e===null||e===void 0?void 0:e.columnProperties){const i=e.columnProperties(e);if(i&&typeof i==="object"){a=s(h,i)}}return i(r,Object.assign({},a,{onMouseDown:i=>{t(i.currentTarget,c,{data:e,event:i})}}),i("div",{class:"header-content"},l),n)};export{a as H,c as O};
|
|
5
|
+
//# sourceMappingURL=header-cell-renderer-fc999784.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ResizeEvents","RESIZE_MASK","bit","cursor","DISABLE_MASK","l","t","w","h","defaultProps","props","Object","assign","fitParent","active","disableAttributes","minWidth","minHeight","ResizeDirective","constructor","initialProps","$event","this","mouseX","mouseY","width","height","changeX","changeY","disableCalcMap","mouseMoveFunc","handleMove","bind","mouseUpFunc","handleUp","minW","minH","maxW","_a","maxWidth","maxH","_b","maxHeight","parent","resizeState","set","$el","forEach","attr","emitEvent","eventName","additionalOptions","isLeft","activeResizer","classList","contains","changedX","changedY","isTouchEvent","e","event","touches","length","eventY","eventX","clientY","clientX","isX","isY","diffY","newHeight","style","bottom","diffX","newWidth","right","left","move","handleDown","defaultPrevented","preventDefault","dropInitial","elClass","target","document","body","setInitials","start","bindMove","end","unbindMove","computedStyle","getComputedStyle","add","clientWidth","parentElement","minPaddingX","parseFloat","paddingLeft","paddingRight","Math","max","clientHeight","_d","_c","minPaddingY","paddingTop","paddingBottom","removeAttribute","remove","undefined","documentElement","addEventListener","removeEventListener","ResizableElement","children","resizeEls","directive","canResize","onResize","p","push","onClick","onDblClick","onDoubleClick","call","onMouseDown","onTouchStart","class","ref","ON_COLUMN_CLICK","HeaderCellRenderer","data","additionalData","colTemplate","name","cellProps","columnTemplate","columnProperties","extra","doPropMerge","dispatch","currentTarget"],"sources":["src/components/header/resizable.directive.tsx","src/components/header/resizable.element.tsx","src/components/header/header-cell-renderer.tsx"],"sourcesContent":["export type ResizeProps = {\n active: ('r' | 'rb' | 'b' | 'lb' | 'l' | 'lt' | 't' | 'rt')[]; // all\n fitParent: boolean; // false\n minWidth: number; // 0\n minHeight: number; // 0\n\n disableAttributes: ('l' | 't' | 'w' | 'h')[]; // []\n maxWidth?: number;\n maxHeight?: number;\n\n onResize?(e: ResizeEvent): void;\n onDoubleClick?(originalEvent: MouseEvent): void;\n};\n\nexport type ResizeEvent = {\n eventName: string;\n changedX?: number;\n changedY?: number;\n width?: number;\n height?: number;\n};\n\nexport enum ResizeEvents {\n start = 'resize:start',\n move = 'resize:move',\n end = 'resize:end',\n}\n\nconst RESIZE_MASK: { [key: string]: any } = {\n 'resizable-r': { bit: 0b0001, cursor: 'ew-resize' },\n 'resizable-rb': { bit: 0b0011, cursor: 'se-resize' },\n 'resizable-b': { bit: 0b0010, cursor: 's-resize' },\n 'resizable-lb': { bit: 0b0110, cursor: 'sw-resize' },\n 'resizable-l': { bit: 0b0100, cursor: 'w-resize' },\n 'resizable-lt': { bit: 0b1100, cursor: 'nw-resize' },\n 'resizable-t': { bit: 0b1000, cursor: 'n-resize' },\n 'resizable-rt': { bit: 0b1001, cursor: 'ne-resize' },\n};\n\nconst DISABLE_MASK = {\n l: 0b0001,\n t: 0b0010,\n w: 0b0100,\n h: 0b1000,\n};\n\nconst defaultProps = (props: Partial<ResizeProps>): ResizeProps => {\n return {\n ...props,\n fitParent: props.fitParent || false,\n active: props.active || [],\n disableAttributes: props.disableAttributes || [],\n minWidth: props.minWidth || 0,\n minHeight: props.minHeight || 0,\n };\n};\n\nexport class ResizeDirective {\n private $el: HTMLElement;\n private props: ResizeProps;\n private minW: number;\n private minH: number;\n private maxW: number;\n private maxH: number;\n\n private mouseX = 0;\n private mouseY = 0;\n\n private width = 0;\n private height = 0;\n\n private changeX = 0;\n private changeY = 0;\n\n private parent: { width: number; height: number };\n private resizeState: number;\n private activeResizer?: HTMLElement;\n private disableCalcMap = 0b1111;\n\n private mouseMoveFunc: () => void;\n private mouseUpFunc: () => void;\n\n constructor(\n private initialProps: Partial<ResizeProps>,\n private $event?: (e: ResizeEvent) => void,\n ) {\n this.props = defaultProps(initialProps);\n this.mouseMoveFunc = this.handleMove.bind(this);\n this.mouseUpFunc = this.handleUp.bind(this);\n\n this.minW = this.props.minWidth;\n this.minH = this.props.minHeight;\n this.maxW = this.props.maxWidth ?? 0;\n this.maxH = this.props.maxHeight ?? 0;\n this.parent = { width: 0, height: 0 };\n this.resizeState = 0;\n }\n\n set($el: HTMLElement) {\n this.$el = $el;\n this.props.disableAttributes.forEach(attr => {\n switch (attr) {\n case 'l':\n this.disableCalcMap &= ~DISABLE_MASK.l;\n break;\n case 't':\n this.disableCalcMap &= ~DISABLE_MASK.t;\n break;\n case 'w':\n this.disableCalcMap &= ~DISABLE_MASK.w;\n break;\n case 'h':\n this.disableCalcMap &= ~DISABLE_MASK.h;\n }\n });\n }\n emitEvent(eventName: string, additionalOptions?: any) {\n if (!this.$event) {\n return;\n }\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n this.$event({\n eventName,\n width: this.width + this.changeX * (isLeft ? -1 : 1),\n height: this.height + this.changeY,\n changedX: this.changeX,\n changedY: this.changeY,\n ...additionalOptions,\n });\n }\n\n private static isTouchEvent(e: MouseEvent | TouchEvent): e is TouchEvent {\n const event = e as TouchEvent;\n return event.touches?.length >= 0;\n }\n\n handleMove(event: MouseEvent | TouchEvent) {\n if (!this.resizeState) {\n return;\n }\n let eventY, eventX;\n if (ResizeDirective.isTouchEvent(event)) {\n eventY = event.touches[0].clientY;\n eventX = event.touches[0].clientX;\n } else {\n eventY = event.clientY;\n eventX = event.clientX;\n }\n let isX =\n this.resizeState & RESIZE_MASK['resizable-r'].bit ||\n this.resizeState & RESIZE_MASK['resizable-l'].bit;\n\n let isY =\n this.resizeState & RESIZE_MASK['resizable-t'].bit ||\n this.resizeState & RESIZE_MASK['resizable-b'].bit;\n\n if (isY && this.disableCalcMap & DISABLE_MASK.h) {\n let diffY = eventY - this.mouseY;\n let changedY = this.changeY + diffY;\n const newHeight = this.height + changedY;\n // if overcrossed min height\n if (newHeight < this.minH) {\n changedY = -(this.height - this.minH);\n }\n // if overcrossed max heiht\n if (this.maxH && newHeight > this.maxH) {\n changedY = this.maxH - this.height;\n }\n\n this.changeY = changedY;\n this.mouseY = eventY;\n\n if (this.activeResizer) {\n this.activeResizer.style.bottom = `${-this.changeY}px`;\n }\n }\n if (isX && this.disableCalcMap & DISABLE_MASK.w) {\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n let diffX = eventX - this.mouseX;\n let changedX = this.changeX + diffX;\n const newWidth = this.width + changedX * (isLeft ? -1 : 1);\n\n // if overcrossed min width\n if (newWidth < this.minW) {\n changedX = -(this.width - this.minW);\n }\n // if overcrossed max width\n if (this.maxW && newWidth > this.maxW) {\n changedX = this.maxW - this.width;\n }\n\n this.changeX = changedX;\n this.mouseX = eventX;\n\n if (this.activeResizer) {\n if (!isLeft) {\n this.activeResizer.style.right = `${-this.changeX}px`;\n } else {\n this.activeResizer.style.left = `${this.changeX}px`;\n }\n }\n }\n this.emitEvent(ResizeEvents.move);\n }\n\n handleDown(event: MouseEvent | TouchEvent) {\n if (event.defaultPrevented) {\n return;\n }\n // stop other events if resize in progress\n event.preventDefault();\n\n this.dropInitial();\n for (let elClass in RESIZE_MASK) {\n const target = event.target as HTMLElement | null;\n if (this.$el.contains(target) && target?.classList.contains(elClass)) {\n document.body.style.cursor = RESIZE_MASK[elClass].cursor;\n if (ResizeDirective.isTouchEvent(event)) {\n this.setInitials(event.touches[0], target);\n } else {\n event.preventDefault && event.preventDefault();\n this.setInitials(event, target);\n }\n this.resizeState = RESIZE_MASK[elClass].bit;\n const eventName = ResizeEvents.start;\n this.emitEvent(eventName);\n break;\n }\n }\n this.bindMove();\n }\n\n handleUp(e: MouseEvent) {\n e.preventDefault();\n if (this.resizeState !== 0) {\n this.resizeState = 0;\n document.body.style.cursor = '';\n const eventName = ResizeEvents.end;\n this.emitEvent(eventName);\n }\n this.dropInitial();\n this.unbindMove();\n }\n\n private setInitials(\n { clientX, clientY }: { clientX: number; clientY: number },\n target?: HTMLElement,\n ) {\n const computedStyle = getComputedStyle(this.$el);\n this.$el.classList.add('active');\n this.activeResizer = target;\n\n if (this.disableCalcMap & DISABLE_MASK.w) {\n this.mouseX = clientX;\n this.width = this.$el.clientWidth;\n this.parent.width = this.$el.parentElement?.clientWidth ?? 0;\n\n // min width\n const minPaddingX =\n parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight);\n this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);\n\n // max width\n if (this.initialProps.maxWidth) {\n this.maxW = Math.max(this.width, this.initialProps.maxWidth);\n }\n }\n\n if (this.disableCalcMap & DISABLE_MASK.h) {\n this.mouseY = clientY;\n this.height = this.$el.clientHeight;\n this.parent.height = this.$el.parentElement?.clientHeight ?? 0;\n\n // min height\n const minPaddingY =\n parseFloat(computedStyle.paddingTop) +\n parseFloat(computedStyle.paddingBottom);\n this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);\n // max height\n if (this.initialProps.maxHeight) {\n this.maxH = Math.max(this.height, this.initialProps.maxHeight);\n }\n }\n }\n\n private dropInitial() {\n this.changeX = this.changeY = this.minW = this.minH;\n this.width = this.height = 0;\n if (this.activeResizer) {\n this.activeResizer.removeAttribute('style');\n }\n this.$el.classList.remove('active');\n this.activeResizer = undefined;\n }\n\n private bindMove() {\n document.documentElement.addEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener('mouseleave', this.mouseUpFunc);\n }\n\n private unbindMove() {\n document.documentElement.removeEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mouseleave',\n this.mouseUpFunc,\n );\n }\n}\n","import { h, VNode } from '@stencil/core';\nimport { ResizeProps, ResizeDirective, ResizeEvents } from './resizable.directive';\nimport type { CellProps } from '@type';\n\nexport const ResizableElement = (props: Partial<ResizeProps> & CellProps, children: VNode[]) => {\n const resizeEls: VNode[] = [];\n const directive =\n (props.canResize &&\n new ResizeDirective(props, e => {\n if (e.eventName === ResizeEvents.end) {\n props.onResize && props.onResize(e);\n }\n })) ||\n null;\n if (props.canResize) {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n onMouseDown={(e: MouseEvent) => directive?.handleDown(e)}\n onTouchStart={(e: TouchEvent) => directive?.handleDown(e)}\n class={`resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n } else {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onTouchStart={(e: TouchEvent) => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n class={`no-resize resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n }\n return (\n <div {...props} ref={(e) => e && directive?.set(e)}>\n {children}\n {resizeEls}\n </div>\n );\n};\n","import { h, VNode } from '@stencil/core';\nimport { dispatch } from '../../plugins/dispatcher';\nimport { doPropMerge } from '../data/column.service';\nimport { ResizableElement } from './resizable.element';\nimport { ResizeProps } from './resizable.directive';\nimport { CellProps, ColumnTemplateProp } from '@type';\n\ntype Props = {\n props: CellProps & Partial<ResizeProps>;\n additionalData: any;\n data?: ColumnTemplateProp;\n};\n\nexport const ON_COLUMN_CLICK = 'columnclick';\n\nexport const HeaderCellRenderer = ({ data, props, additionalData }: Props, children: VNode[]): VNode => {\n let colTemplate: VNode | VNode[] | string = data?.name || '';\n let cellProps = props;\n if (data?.columnTemplate) {\n colTemplate = data.columnTemplate(h, data, additionalData);\n }\n if (data?.columnProperties) {\n const extra = data.columnProperties(data);\n if (extra && typeof extra === 'object') {\n cellProps = doPropMerge(props, extra);\n }\n }\n return (\n <ResizableElement {...cellProps} onMouseDown={(e: MouseEvent) => {\n dispatch(e.currentTarget as HTMLElement, ON_COLUMN_CLICK, {\n data,\n event: e,\n });\n }}>\n <div class=\"header-content\">{colTemplate}</div>\n {children}\n </ResizableElement>\n );\n};\n"],"mappings":";;;sIAsBA,IAAYA,GAAZ,SAAYA,GACVA,EAAA,wBACAA,EAAA,sBACAA,EAAA,mBACD,EAJD,CAAYA,MAAY,KAMxB,MAAMC,EAAsC,CAC1C,cAAe,CAAEC,IAAK,EAAQC,OAAQ,aACtC,eAAgB,CAAED,IAAK,EAAQC,OAAQ,aACvC,cAAe,CAAED,IAAK,EAAQC,OAAQ,YACtC,eAAgB,CAAED,IAAK,EAAQC,OAAQ,aACvC,cAAe,CAAED,IAAK,EAAQC,OAAQ,YACtC,eAAgB,CAAED,IAAK,GAAQC,OAAQ,aACvC,cAAe,CAAED,IAAK,EAAQC,OAAQ,YACtC,eAAgB,CAAED,IAAK,EAAQC,OAAQ,cAGzC,MAAMC,EAAe,CACnBC,EAAG,EACHC,EAAG,EACHC,EAAG,EACHC,EAAG,GAGL,MAAMC,EAAgBC,GACpBC,OAAAC,OAAAD,OAAAC,OAAA,GACKF,GAAK,CACRG,UAAWH,EAAMG,WAAa,MAC9BC,OAAQJ,EAAMI,QAAU,GACxBC,kBAAmBL,EAAMK,mBAAqB,GAC9CC,SAAUN,EAAMM,UAAY,EAC5BC,UAAWP,EAAMO,WAAa,I,MAIrBC,EAyBX,WAAAC,CACUC,EACAC,G,QADAC,KAAAF,eACAE,KAAAD,SAnBFC,KAAAC,OAAS,EACTD,KAAAE,OAAS,EAETF,KAAAG,MAAQ,EACRH,KAAAI,OAAS,EAETJ,KAAAK,QAAU,EACVL,KAAAM,QAAU,EAKVN,KAAAO,eAAiB,GASvBP,KAAKZ,MAAQD,EAAaW,GAC1BE,KAAKQ,cAAgBR,KAAKS,WAAWC,KAAKV,MAC1CA,KAAKW,YAAcX,KAAKY,SAASF,KAAKV,MAEtCA,KAAKa,KAAOb,KAAKZ,MAAMM,SACvBM,KAAKc,KAAOd,KAAKZ,MAAMO,UACvBK,KAAKe,MAAOC,EAAAhB,KAAKZ,MAAM6B,YAAQ,MAAAD,SAAA,EAAAA,EAAI,EACnChB,KAAKkB,MAAOC,EAAAnB,KAAKZ,MAAMgC,aAAS,MAAAD,SAAA,EAAAA,EAAI,EACpCnB,KAAKqB,OAAS,CAAElB,MAAO,EAAGC,OAAQ,GAClCJ,KAAKsB,YAAc,C,CAGrB,GAAAC,CAAIC,GACFxB,KAAKwB,IAAMA,EACXxB,KAAKZ,MAAMK,kBAAkBgC,SAAQC,IACnC,OAAQA,GACN,IAAK,IACH1B,KAAKO,iBAAmBzB,EAAaC,EACrC,MACF,IAAK,IACHiB,KAAKO,iBAAmBzB,EAAaE,EACrC,MACF,IAAK,IACHgB,KAAKO,iBAAmBzB,EAAaG,EACrC,MACF,IAAK,IACHe,KAAKO,iBAAmBzB,EAAaI,E,IAI7C,SAAAyC,CAAUC,EAAmBC,G,MAC3B,IAAK7B,KAAKD,OAAQ,CAChB,M,CAEF,MAAM+B,GAASd,EAAAhB,KAAK+B,iBAAa,MAAAf,SAAA,SAAAA,EAAEgB,UAAUC,SAAS,eACtDjC,KAAKD,OAAMV,OAAAC,OAAA,CACTsC,YACAzB,MAAOH,KAAKG,MAAQH,KAAKK,SAAWyB,GAAU,EAAI,GAClD1B,OAAQJ,KAAKI,OAASJ,KAAKM,QAC3B4B,SAAUlC,KAAKK,QACf8B,SAAUnC,KAAKM,SACZuB,G,CAIC,mBAAOO,CAAaC,G,MAC1B,MAAMC,EAAQD,EACd,QAAOrB,EAAAsB,EAAMC,WAAO,MAAAvB,SAAA,SAAAA,EAAEwB,SAAU,C,CAGlC,UAAA/B,CAAW6B,G,MACT,IAAKtC,KAAKsB,YAAa,CACrB,M,CAEF,IAAImB,EAAQC,EACZ,GAAI9C,EAAgBwC,aAAaE,GAAQ,CACvCG,EAASH,EAAMC,QAAQ,GAAGI,QAC1BD,EAASJ,EAAMC,QAAQ,GAAGK,O,KACrB,CACLH,EAASH,EAAMK,QACfD,EAASJ,EAAMM,O,CAEjB,IAAIC,EACF7C,KAAKsB,YAAc3C,EAAY,eAAeC,KAC9CoB,KAAKsB,YAAc3C,EAAY,eAAeC,IAEhD,IAAIkE,EACF9C,KAAKsB,YAAc3C,EAAY,eAAeC,KAC9CoB,KAAKsB,YAAc3C,EAAY,eAAeC,IAEhD,GAAIkE,GAAO9C,KAAKO,eAAiBzB,EAAaI,EAAG,CAC/C,IAAI6D,EAAQN,EAASzC,KAAKE,OAC1B,IAAIiC,EAAWnC,KAAKM,QAAUyC,EAC9B,MAAMC,EAAYhD,KAAKI,OAAS+B,EAEhC,GAAIa,EAAYhD,KAAKc,KAAM,CACzBqB,IAAanC,KAAKI,OAASJ,KAAKc,K,CAGlC,GAAId,KAAKkB,MAAQ8B,EAAYhD,KAAKkB,KAAM,CACtCiB,EAAWnC,KAAKkB,KAAOlB,KAAKI,M,CAG9BJ,KAAKM,QAAU6B,EACfnC,KAAKE,OAASuC,EAEd,GAAIzC,KAAK+B,cAAe,CACtB/B,KAAK+B,cAAckB,MAAMC,OAAS,IAAIlD,KAAKM,W,EAG/C,GAAIuC,GAAO7C,KAAKO,eAAiBzB,EAAaG,EAAG,CAC/C,MAAM6C,GAASd,EAAAhB,KAAK+B,iBAAa,MAAAf,SAAA,SAAAA,EAAEgB,UAAUC,SAAS,eACtD,IAAIkB,EAAQT,EAAS1C,KAAKC,OAC1B,IAAIiC,EAAWlC,KAAKK,QAAU8C,EAC9B,MAAMC,EAAWpD,KAAKG,MAAQ+B,GAAYJ,GAAU,EAAI,GAGxD,GAAIsB,EAAWpD,KAAKa,KAAM,CACxBqB,IAAalC,KAAKG,MAAQH,KAAKa,K,CAGjC,GAAIb,KAAKe,MAAQqC,EAAWpD,KAAKe,KAAM,CACrCmB,EAAWlC,KAAKe,KAAOf,KAAKG,K,CAG9BH,KAAKK,QAAU6B,EACflC,KAAKC,OAASyC,EAEd,GAAI1C,KAAK+B,cAAe,CACtB,IAAKD,EAAQ,CACX9B,KAAK+B,cAAckB,MAAMI,MAAQ,IAAIrD,KAAKK,W,KACrC,CACLL,KAAK+B,cAAckB,MAAMK,KAAO,GAAGtD,KAAKK,W,GAI9CL,KAAK2B,UAAUjD,EAAa6E,K,CAG9B,UAAAC,CAAWlB,GACT,GAAIA,EAAMmB,iBAAkB,CAC1B,M,CAGFnB,EAAMoB,iBAEN1D,KAAK2D,cACL,IAAK,IAAIC,KAAWjF,EAAa,CAC/B,MAAMkF,EAASvB,EAAMuB,OACrB,GAAI7D,KAAKwB,IAAIS,SAAS4B,KAAWA,IAAM,MAANA,SAAM,SAANA,EAAQ7B,UAAUC,SAAS2B,IAAU,CACpEE,SAASC,KAAKd,MAAMpE,OAASF,EAAYiF,GAAS/E,OAClD,GAAIe,EAAgBwC,aAAaE,GAAQ,CACvCtC,KAAKgE,YAAY1B,EAAMC,QAAQ,GAAIsB,E,KAC9B,CACLvB,EAAMoB,gBAAkBpB,EAAMoB,iBAC9B1D,KAAKgE,YAAY1B,EAAOuB,E,CAE1B7D,KAAKsB,YAAc3C,EAAYiF,GAAShF,IACxC,MAAMgD,EAAYlD,EAAauF,MAC/BjE,KAAK2B,UAAUC,GACf,K,EAGJ5B,KAAKkE,U,CAGP,QAAAtD,CAASyB,GACPA,EAAEqB,iBACF,GAAI1D,KAAKsB,cAAgB,EAAG,CAC1BtB,KAAKsB,YAAc,EACnBwC,SAASC,KAAKd,MAAMpE,OAAS,GAC7B,MAAM+C,EAAYlD,EAAayF,IAC/BnE,KAAK2B,UAAUC,E,CAEjB5B,KAAK2D,cACL3D,KAAKoE,Y,CAGC,WAAAJ,EACNpB,QAAEA,EAAOD,QAAEA,GACXkB,G,YAEA,MAAMQ,EAAgBC,iBAAiBtE,KAAKwB,KAC5CxB,KAAKwB,IAAIQ,UAAUuC,IAAI,UACvBvE,KAAK+B,cAAgB8B,EAErB,GAAI7D,KAAKO,eAAiBzB,EAAaG,EAAG,CACxCe,KAAKC,OAAS2C,EACd5C,KAAKG,MAAQH,KAAKwB,IAAIgD,YACtBxE,KAAKqB,OAAOlB,OAAQgB,GAAAH,EAAAhB,KAAKwB,IAAIiD,iBAAa,MAAAzD,SAAA,SAAAA,EAAEwD,eAAW,MAAArD,SAAA,EAAAA,EAAI,EAG3D,MAAMuD,EACJC,WAAWN,EAAcO,aACzBD,WAAWN,EAAcQ,cAC3B7E,KAAKa,KAAOiE,KAAKC,IAAIL,EAAa1E,KAAKF,aAAaJ,UAAY,GAGhE,GAAIM,KAAKF,aAAamB,SAAU,CAC9BjB,KAAKe,KAAO+D,KAAKC,IAAI/E,KAAKG,MAAOH,KAAKF,aAAamB,S,EAIvD,GAAIjB,KAAKO,eAAiBzB,EAAaI,EAAG,CACxCc,KAAKE,OAASyC,EACd3C,KAAKI,OAASJ,KAAKwB,IAAIwD,aACvBhF,KAAKqB,OAAOjB,QAAS6E,GAAAC,EAAAlF,KAAKwB,IAAIiD,iBAAa,MAAAS,SAAA,SAAAA,EAAEF,gBAAY,MAAAC,SAAA,EAAAA,EAAI,EAG7D,MAAME,EACJR,WAAWN,EAAce,YACzBT,WAAWN,EAAcgB,eAC3BrF,KAAKc,KAAOgE,KAAKC,IAAII,EAAanF,KAAKF,aAAaH,WAAa,GAEjE,GAAIK,KAAKF,aAAasB,UAAW,CAC/BpB,KAAKkB,KAAO4D,KAAKC,IAAI/E,KAAKI,OAAQJ,KAAKF,aAAasB,U,GAKlD,WAAAuC,GACN3D,KAAKK,QAAUL,KAAKM,QAAUN,KAAKa,KAAOb,KAAKc,KAC/Cd,KAAKG,MAAQH,KAAKI,OAAS,EAC3B,GAAIJ,KAAK+B,cAAe,CACtB/B,KAAK+B,cAAcuD,gBAAgB,Q,CAErCtF,KAAKwB,IAAIQ,UAAUuD,OAAO,UAC1BvF,KAAK+B,cAAgByD,S,CAGf,QAAAtB,GACNJ,SAAS2B,gBAAgBC,iBACvB,UACA1F,KAAKW,YACL,MAEFmD,SAAS2B,gBAAgBC,iBACvB,WACA1F,KAAKW,YACL,MAEFmD,SAAS2B,gBAAgBC,iBACvB,YACA1F,KAAKQ,cACL,MAEFsD,SAAS2B,gBAAgBC,iBACvB,YACA1F,KAAKQ,cACL,MAEFsD,SAAS2B,gBAAgBC,iBAAiB,aAAc1F,KAAKW,Y,CAGvD,UAAAyD,GACNN,SAAS2B,gBAAgBE,oBACvB,UACA3F,KAAKW,YACL,MAEFmD,SAAS2B,gBAAgBE,oBACvB,WACA3F,KAAKW,YACL,MAEFmD,SAAS2B,gBAAgBE,oBACvB,YACA3F,KAAKQ,cACL,MAEFsD,SAAS2B,gBAAgBE,oBACvB,YACA3F,KAAKQ,cACL,MAEFsD,SAAS2B,gBAAgBE,oBACvB,aACA3F,KAAKW,Y,ECnVJ,MAAMiF,EAAmB,CAACxG,EAAyCyG,KACxE,MAAMC,EAAqB,GAC3B,MAAMC,EACH3G,EAAM4G,WACL,IAAIpG,EAAgBR,GAAOiD,IACzB,GAAIA,EAAET,YAAclD,EAAayF,IAAK,CACpC/E,EAAM6G,UAAY7G,EAAM6G,SAAS5D,E,MAGvC,KACF,GAAIjD,EAAM4G,UAAW,CACnB,GAAI5G,EAAMI,OAAQ,CAChB,IAAK,IAAI0G,KAAK9G,EAAMI,OAAQ,CAC1BsG,EAAUK,KACRjH,EAAA,OACEkH,QAAS/D,GAAKA,EAAEqB,iBAChB2C,WAAYhE,I,MACVA,EAAEqB,kBACF1C,EAAA5B,EAAMkH,iBAAa,MAAAtF,SAAA,SAAAA,EAAAuF,KAAAnH,EAAGiD,EAAE,EAE1BmE,YAAcnE,GAAkB0D,IAAS,MAATA,SAAS,SAATA,EAAWvC,WAAWnB,GACtDoE,aAAepE,GAAkB0D,IAAS,MAATA,SAAS,SAATA,EAAWvC,WAAWnB,GACvDqE,MAAO,uBAAuBtH,EAAMI,OAAO0G,O,OAK9C,CACL,GAAI9G,EAAMI,OAAQ,CAChB,IAAK,IAAI0G,KAAK9G,EAAMI,OAAQ,CAC1BsG,EAAUK,KACRjH,EAAA,OACEkH,QAAS/D,GAAKA,EAAEqB,iBAChB+C,aAAepE,GAAkBA,EAAEqB,iBACnC2C,WAAYhE,I,MACVA,EAAEqB,kBACF1C,EAAA5B,EAAMkH,iBAAa,MAAAtF,SAAA,SAAAA,EAAAuF,KAAAnH,EAAGiD,EAAE,EAE1BqE,MAAO,iCAAiCtH,EAAMI,OAAO0G,O,GAM/D,OACEhH,EAAA,MAAAG,OAAAC,OAAA,GAASF,EAAK,CAAEuH,IAAMtE,GAAMA,IAAK0D,IAAS,MAATA,SAAS,SAATA,EAAWxE,IAAIc,MAC7CwD,EACAC,EACG,E,MCvCGc,EAAkB,c,MAElBC,EAAqB,EAAGC,OAAM1H,QAAO2H,kBAAyBlB,KACzE,IAAImB,GAAwCF,IAAI,MAAJA,SAAI,SAAJA,EAAMG,OAAQ,GAC1D,IAAIC,EAAY9H,EAChB,GAAI0H,IAAI,MAAJA,SAAI,SAAJA,EAAMK,eAAgB,CACxBH,EAAcF,EAAKK,eAAejI,EAAG4H,EAAMC,E,CAE7C,GAAID,IAAI,MAAJA,SAAI,SAAJA,EAAMM,iBAAkB,CAC1B,MAAMC,EAAQP,EAAKM,iBAAiBN,GACpC,GAAIO,UAAgBA,IAAU,SAAU,CACtCH,EAAYI,EAAYlI,EAAOiI,E,EAGnC,OACEnI,EAAC0G,EAAgBvG,OAAAC,OAAA,GAAK4H,EAAS,CAAEV,YAAcnE,IAC7CkF,EAASlF,EAAEmF,cAA8BZ,EAAiB,CACxDE,OACAxE,MAAOD,GACP,IAEFnD,EAAA,OAAKwH,MAAM,kBAAkBM,GAC5BnB,EACgB,S","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
export{B as BasePlugin,D as DimensionStore,c as columnTypes,i as isRowType,r as rowTypes}from"./base.plugin-
|
|
4
|
+
export{B as BasePlugin,D as DimensionStore,c as columnTypes,i as isRowType,r as rowTypes}from"./base.plugin-5e7a3c51.js";export{d as dispatch,a as dispatchByEvent}from"./dispatcher-ea08404f.js";export{D as DataStore,h as calculateDimensionData,f as gatherTrimmedItems,j as getItemByIndex,i as getItemByPosition,g as getPhysical,b as getSourceItem,e as getSourceItemVirtualIndexByProp,a as getVisibleSourceItem,p as proxyPlugin,d as setItems,c as setSourceByPhysicalIndex,s as setSourceByVirtualIndex,k as setStore,t as trimmedPlugin}from"./dimension.helpers-56298828.js";export{h}from"./index-a61f225b.js";export{S as SelectionStore,c as cropCellToMax,g as getRange,i as isHiddenStore,a as isRangeSingleCell,n as nextCell}from"./selection.helpers-accaad4a.js";export{V as ViewportStore,a as addMissingItems,d as getFirstItem,b as getItems,e as getLastItem,g as getUpdatedItemsByPosition,i as isActiveRange,c as isActiveRangeOutsideLastItem,r as recombineByOffset,s as setItemSizes,u as updateMissingAndRange}from"./viewport.store-d8e03528.js";import"./toNumber-8de324a7.js";
|
|
5
5
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as t,r as e,c as r,H as i,a as o}from"./index-a61f225b.js";import{_ as s,m as n,n as a,o as h,q as l,u as d,v as c,r as u,D as g,b as f,e as v,w as p,s as m,a as w,f as b,j as x,x as C,y,z as S,A as k,k as R,B as j,C as O,g as E,d as L,i as P}from"./dimension.helpers-91398565.js";import{B as z,c as H,r as M,i as I,D}from"./base.plugin-78393655.js";import{_ as F,c as T}from"./toNumber-8de324a7.js";import{E as N,b as B}from"./selection.helpers-50e9f09d.js";import{d as $}from"./debounce-7781346d.js";import{R as V,t as A,g as U}from"./index-4e881436.js";import{V as q}from"./viewport.store-bfd0b036.js";import{F as G,i as X}from"./filter.button-37373672.js";import{i as W,g as Y,G as J,a as _,b as K,c as Z,P as Q,d as tt,e as et,f as rt,h as it,j as ot,k as st,l as nt,H as at,C as ht,F as lt,D as dt}from"./column.service-0e41057a.js";import{c as ct,g as ut}from"./events-77b43b40.js";import{d as gt}from"./dispatcher-ea08404f.js";import{O as ft}from"./header-cell-renderer-6d8ac25d.js";class vt{constructor(){this.defaultRowSize=32}}class pt{constructor(){this.defaultRowSize=27}}class mt{constructor(){this.defaultRowSize=42}}const wt="default";const bt=[wt,"material","compact","darkMaterial","darkCompact"];class xt{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(t){this.customRowSize=t}constructor(t){this.customRowSize=0;this.customRowSize=t.rowSize;this.register("default")}register(t){const e=xt.getTheme(t);switch(e){case"material":case"darkMaterial":this.currentTheme=new mt;break;case"compact":case"darkCompact":this.currentTheme=new vt;break;default:this.currentTheme=new pt;break}}static getTheme(t){if(bt.indexOf(t)>-1){return t}return wt}}var Ct=s,yt=n,St=a;function kt(t){return function(e,r,i){var o=Object(e);if(!yt(e)){var s=Ct(r);e=St(e);r=function(t){return s(o[t],t,o)}}var n=t(e,r,i);return n>-1?o[s?e[n]:n]:undefined}}var Rt=kt;var jt=Rt,Ot=h;var Et=jt(Ot);var Lt=Et;var Pt=l,zt=n;function Ht(t,e){var r=-1,i=zt(t)?Array(t.length):[];Pt(t,(function(t,o,s){i[++r]=e(t,o,s)}));return i}var Mt=Ht;var It=d,Dt=s,Ft=Mt,Tt=c;function Nt(t,e){var r=Tt(t)?It:Ft;return r(t,Dt(e))}var Bt=Nt;class $t extends z{static gatherGroup(t,e,r,i=0){const o=Object.assign(Object.assign({},e),{level:i,ids:[]});for(let e in r.columns){const i=e;const s=t.columns[i];const n=r.columns[i];if(c(s)&&c(n)){s.push(...n);if(n.length){t.columnGrouping[i].push(Object.assign(Object.assign({},o),{ids:Bt(n,"prop")}))}}}for(let e in r.columnGrouping){const i=e;const o=r.columnGrouping[i];t.columnGrouping[i].push(...o)}t.maxLevel=Math.max(t.maxLevel,r.maxLevel);t.sort=Object.assign(Object.assign({},t.sort),r.sort);return t}}function Vt(t){return!!t.children}class At{get order(){return u(this.sorting,((t,e,r)=>{t[r]=e.order;return t}),{})}get stores(){return this.dataSources}constructor(){this.sorting=null;this.dataSources=u(H,((t,e)=>{t[e]=new g(e);return t}),{})}column(t,e){return this.getColumn(t,e||"rgCol")}getColumn(t,e){return f(this.dataSources[e].store,t)}getRawColumns(){return u(this.dataSources,((t,e,r)=>{t[r]=e.store.get("source");return t}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(t="all"){if(t!=="all"){return this.dataSources[t].store.get("source")}return H.reduce(((t,e)=>{t.push(...this.dataSources[e].store.get("source"));return t}),[])}getColumnIndexByProp(t,e){return v(this.dataSources[e].store,t)}getColumnByProp(t,e){const r=this.dataSources[e].store.get("source");return Lt(r,{prop:t})}refreshByType(t){this.dataSources[t].refresh()}setColumns(t){H.forEach((e=>{this.dataSources[e].updateData(t.columns[e],{depth:t.maxLevel,groups:t.columnGrouping[e].reduce(((t,e)=>{if(!t[e.level]){t[e.level]=[]}t[e.level].push(e);return t}),{})})}));this.sorting=t.sort;return t}updateColumns(t){const e=t.reduce(((t,e)=>{const r=At.getColumnType(e);if(!t[r]){t[r]={}}t[r][e.prop]=e;return t}),{});const r={};p(e,((t,e)=>{const i=this.dataSources[e].store.get("source");r[e]=i.reduce(((e,r,i)=>{const o=t===null||t===void 0?void 0:t[r.prop];if(o){e[i]=o}return e}),{})}));p(r,((t,e)=>m(this.dataSources[e].store,t||{})))}updateColumn(t,e){const r=At.getColumnType(t);m(this.dataSources[r].store,{[e]:t})}updateColumnSorting(t,e,r,i){if(!i){this.clearSorting()}t.order=r;if(!this.sorting){this.sorting={}}this.sorting[t.prop]=t;this.updateColumn(t,e);return t}clearSorting(){const t=u(this.sorting,((t,e)=>{const r=At.getColumnType(e);t[r]=true;return t}),{});p(t,((t,e)=>{const r=this.dataSources[e].store.get("source");p(r,(t=>t.order=undefined));this.dataSources[e].setData({source:[...r]})}));this.sorting={}}static getSizes(t){return u(t,((t,e,r)=>{if(e.size){t[r]=e.size}return t}),{})}static getColumnByProp(t,e){return Lt(t,(t=>{if(Vt(t)){return At.getColumnByProp(t.children,e)}return t.prop===e}))}static getColumns(t,e=0,r){const i={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:{},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:e,sort:{}};return u(t,((t,i)=>{if(Vt(i)){return $t.gatherGroup(t,i,At.getColumns(i.children,e+1,r),e)}const o=Object.assign(Object.assign({},i.columnType&&r&&r[i.columnType]),i);if(!o.pin){t.columns.rgCol.push(o)}else{t.columns[o.pin].push(o)}if(o.order){t.sort[o.prop]=o}if(!t.columnByProp[o.prop]){t.columnByProp[o.prop]=[]}t.columnByProp[o.prop].push(o);o.beforeSetup&&o.beforeSetup(o);return t}),i)}static getColumnType(t){if(t.pin){return t.pin}return"rgCol"}}class Ut{constructor(t){this.dimensionProvider=t;this.stores=u(M,((t,e)=>{t[e]=new g(e);return t}),{})}setData(t,e="rgRow",r=false,i,o=false){this.stores[e].updateData([...t],i,o);const s=e!=="rgRow"||r;this.dimensionProvider.setData(t.length,e,s);return t}getModel(t,e="rgRow"){const r=this.stores[e].store;return f(r,t)}setCellData({type:t,rowIndex:e,prop:r,val:i},o=true){const s=this.getModel(e,t);s[r]=i;m(this.stores[t].store,{[e]:s},o)}setRangeData(t,e){const r={};for(let i in t){const o=r[i]=f(this.stores[e].store,parseInt(i,10));if(!o){continue}for(let e in t[i]){o[e]=t[i][e]}}m(this.stores[e].store,r)}refresh(t="all"){if(I(t)){this.refreshItems(t)}M.forEach((t=>this.refreshItems(t)))}refreshItems(t="rgRow"){const e=this.stores[t].store.get("items");this.stores[t].setData({items:[...e]})}setGrouping({depth:t},e="rgRow"){this.stores[e].setData({groupingDepth:t})}setTrimmed(t,e="rgRow"){const r=this.stores[e];r.addTrimmed(t);this.dimensionProvider.setTrimmed(t,e);if(e==="rgRow"){this.dimensionProvider.setData(w(r.store).length,e)}}}class qt{constructor(t,e){this.viewports=t;const r=$((t=>e.realSizeChanged(t)),V);this.stores=u([...M,...H],((t,e)=>{t[e]=new D;t[e].store.onChange("realSize",(()=>r(e)));return t}),{})}clearSize(t,e){this.stores[t].drop();this.viewports.stores[t].setOriginalSizes(this.stores[t].store.get("originItemSize"));this.setItemCount(e,t)}setCustomSizes(t,e,r=false){let i=e;if(r){const r=this.stores[t].store.get("sizes");i=Object.assign(Object.assign({},r),e)}this.stores[t].setDimensionSize(i);this.updateViewport(t,true)}setItemCount(t,e){this.viewports.stores[e].setViewport({realCount:t});this.stores[e].setStore({count:t})}setTrimmed(t,e){const r=b(t);const i=this.stores[e];i.setStore({trimmed:r});this.updateViewport(e,true)}setData(t,e,r=false){this.setItemCount(t,e);if(r){const t=this.stores[e].getCurrentState();this.viewports.stores[e].setViewport({virtualSize:t.realSize})}this.updateViewport(e)}applyNewColumns(t,e){for(let r of H){this.stores[r].drop();const i=t[r];const o=r!=="rgCol"||e;this.stores[r].setStore({count:i.length});const s=At.getSizes(i);this.stores[r].setDimensionSize(s);const n={realCount:i.length};if(o){n.virtualSize=this.stores[r].getCurrentState().realSize}this.viewports.stores[r].setViewport(n);this.setViewPortCoordinate({coordinate:this.viewports.stores[r].lastCoordinate,type:r})}}getFullSize(){var t,e;let r=0;let i=0;for(let e of H){r+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}for(let t of M){i+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}return{y:i,x:r}}updateViewport(t,e=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[t].lastCoordinate,type:t,force:e})}setViewPortCoordinate({coordinate:t,type:e,force:r=false}){const i=this.stores[e].getCurrentState();this.viewports.stores[e].setViewPortCoordinate(t,i,r)}getViewPortPos(t){const e=this.stores[t.dimension].getCurrentState();const r=x(e,t.coordinate);return r.start}setSettings(t,e){let r=[];switch(e){case"rgCol":r=H;break;case"rgRow":r=M;break}for(let e of r){this.stores[e].setStore(t)}}}class Gt{constructor(){this.stores=u([...M,...H],((t,e)=>{t[e]=new q(e);return t}),{})}setViewport(t,e){this.stores[t].setViewport(e)}}const Xt=7;var Wt;(function(t){t["headerClickAutosize"]="headerClickAutoSize";t["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";t["autoSizeAll"]="autoSizeAll"})(Wt||(Wt={}));class Yt extends z{constructor(t,e,r){super(t,e);this.providers=e;this.config=r;this.autoSizeColumns=null;this.dataResolve=null;this.dataReject=null;this.letterBlockSize=(r===null||r===void 0?void 0:r.letterBlockSize)||Xt;if(r===null||r===void 0?void 0:r.preciseSize){this.precsizeCalculationArea=this.initiatePresizeElement();t.appendChild(this.precsizeCalculationArea)}const i=({detail:{source:t}})=>{this.setSource(t)};const o=({detail:t})=>{this.afteredit(t)};const s=({detail:t})=>{this.afterEditAll(t)};const n=({detail:{columns:t}})=>{this.columnSet(t)};const a=({detail:t})=>{const e=At.getColumnType(t.column);const r=this.getColumnSize(t.index,e);if(r){this.providers.dimension.setCustomSizes(e,{[t.index]:r},true)}};this.addEventListener("beforecolumnsset",n);switch(r===null||r===void 0?void 0:r.mode){case Wt.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",o);break;case Wt.autoSizeAll:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",s);break;default:this.addEventListener("headerdblclick",a);break}}async setSource(t){let e=this.autoSizeColumns;if(this.dataReject){this.dataReject();this.clearPromise()}if(!e){const t=new Promise(((t,e)=>{this.dataResolve=t;this.dataReject=e}));try{e=await t}catch(t){return}}p(e,((r,i)=>{const o={};p(e[i],(e=>{e.size=o[e.index]=t.reduce(((t,r)=>Math.max(t,this.getLength(r[e.prop]))),this.getLength(e.name||""))}));this.providers.dimension.setCustomSizes(i,o,true)}))}getLength(t){var e;const r=15;if(!t){return 0}try{const i=t.toString();if((e=this.config)===null||e===void 0?void 0:e.preciseSize){this.precsizeCalculationArea.innerText=i;return this.precsizeCalculationArea.scrollWidth+r*2}return i.length*this.letterBlockSize+r*2}catch(t){return 0}}afteredit(t){let e;if(this.isRangeEdit(t)){e=t.data}else{e={0:{[t.prop]:t.val}}}p(this.autoSizeColumns,((t,r)=>{const i={};p(t,(t=>{var r;const o=u(e,((e,r)=>{if(typeof r[t.prop]==="undefined"){return e}return Math.max(e||0,this.getLength(r[t.prop]))}),undefined);if(o&&((r=t.size)!==null&&r!==void 0?r:0)<o){t.size=i[t.index]=o}}));this.providers.dimension.setCustomSizes(r,i,true)}))}afterEditAll(t){const e={};if(this.isRangeEdit(t)){p(t.data,(t=>p(t,((t,r)=>e[r]=true))))}else{e[t.prop]=true}p(this.autoSizeColumns,((t,r)=>{const i={};p(t,(t=>{if(e[t.prop]){const e=this.getColumnSize(t.index,r);if(e){i[t.index]=e}}}));this.providers.dimension.setCustomSizes(r,i,true)}))}getColumnSize(t,e){var r,i;const o=(i=(r=this.autoSizeColumns)===null||r===void 0?void 0:r[e])===null||i===void 0?void 0:i[t];if(!o){return 0}return u(this.providers.data.stores,((t,e)=>{const r=u(e.store.get("items"),((t,r,i)=>{const s=f(e.store,i);return Math.max(t||0,this.getLength(s[o.prop]))}),0);return Math.max(t,r)}),o.size||0)}columnSet(t){var e;for(let r of H){const i=r;const o=t[i];for(let t in o){if(o[t].autoSize||((e=this.config)===null||e===void 0?void 0:e.allColumns)){if(!this.autoSizeColumns){this.autoSizeColumns={}}if(!this.autoSizeColumns[i]){this.autoSizeColumns[i]={}}this.autoSizeColumns[i][t]=Object.assign(Object.assign({},o[t]),{index:parseInt(t,10)})}}}if(this.dataResolve){this.dataResolve(this.autoSizeColumns||{});this.clearPromise()}}clearPromise(){this.dataResolve=null;this.dataReject=null}isRangeEdit(t){return!!t.data}initiatePresizeElement(){var t;const e={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll"};const r=document.createElement("div");for(let i in e){r.style[i]=(t=e[i])!==null&&t!==void 0?t:""}r.classList.add("revo-test-container");return r}destroy(){var t;super.destroy();(t=this.precsizeCalculationArea)===null||t===void 0?void 0:t.remove()}}const Jt=(t,e)=>{if(typeof t==="undefined"||t===null&&!e){return true}if(typeof t!=="string"){t=JSON.stringify(t)}const r=e===null||e===void 0?void 0:e.toString().toLocaleLowerCase();if((r===null||r===void 0?void 0:r.length)===0){return true}return t.toLocaleLowerCase()===r};const _t=(t,e)=>!Jt(t,e);_t.extra="input";Jt.extra="input";const Kt=function(t,e){let r;if(typeof t==="number"&&typeof e!=="undefined"&&e!==null){r=parseFloat(e===null||e===void 0?void 0:e.toString());return t>r}return false};Kt.extra="input";const Zt=function(t,e){return Jt(t,e)||Kt(t,e)};Zt.extra="input";const Qt=function(t,e){let r;if(typeof t==="number"&&typeof e!=="undefined"&&e!==null){r=parseFloat(e.toString());return t<r}else{return false}};Qt.extra="input";const te=function(t,e){return Jt(t,e)||Qt(t,e)};te.extra="input";const ee=t=>!(t===""||t===null||t===void 0);const re=t=>!ee(t);const ie=(t,e)=>{if(!t){return false}if(!e){return true}if(typeof t!=="string"){t=JSON.stringify(t)}if(typeof e!=="string"){e=JSON.stringify(e)}return t.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())===0};ie.extra="input";const oe=(t,e)=>{if(!e){return true}if(!t){return false}if(e){if(typeof t!=="string"){t=JSON.stringify(t)}return t.toLocaleLowerCase().indexOf(e.toString().toLowerCase())>-1}return true};const se=(t,e)=>!oe(t,e);se.extra="input";oe.extra="input";const ne={none:"None",empty:"Not set",notEmpty:"Set",eq:"Equal",notEq:"Not equal",begins:"Begins with",contains:"Contains",notContains:"Does not contain",eqN:"=",neqN:"!=",gt:">",gte:">=",lt:"<",lte:"<="};const ae={none:()=>true,empty:re,notEmpty:ee,eq:Jt,notEq:_t,begins:ie,contains:oe,notContains:se,eqN:Jt,neqN:_t,gt:Kt,gte:Zt,lt:Qt,lte:te};const he={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const le="filter";const de="filterconfigchanged";class ce extends z{constructor(e,r,i){var o;super(e,r);this.revogrid=e;this.filterCollection={};this.multiFilterItems={};this.possibleFilters=Object.assign({},he);this.possibleFilterNames=Object.assign({},ne);this.possibleFilterEntities=Object.assign({},ae);this.filterProp=G;if(i){this.initConfig(i)}const s=t=>this.headerclick(t);const n=async()=>{const t=Object.keys(this.filterCollection);if(t.length>0){t.forEach(((t,e)=>{if(!this.multiFilterItems[t]){this.multiFilterItems[t]=[{id:e,type:this.filterCollection[t].type,value:this.filterCollection[t].value,relation:"and"}]}}))}await this.runFiltering()};this.addEventListener("headerclick",s);this.addEventListener(de,(({detail:t})=>{if(!t){this.clearFiltering();return}if(typeof t==="object"){this.initConfig(t)}n()}));this.addEventListener("aftersourceset",n);this.addEventListener("filter",(({detail:t})=>this.onFilterChange(t)));const a=this.revogrid.registerVNode.filter((t=>t.t!=="revogr-filter-panel"));this.revogrid.registerVNode=[...a,t("revogr-filter-panel",{filterItems:this.multiFilterItems,filterNames:this.possibleFilterNames,filterEntities:this.possibleFilterEntities,filterCaptions:(o=i===null||i===void 0?void 0:i.localization)===null||o===void 0?void 0:o.captions,onFilterChange:t=>this.onFilterChange(t.detail),disableDynamicFiltering:i===null||i===void 0?void 0:i.disableDynamicFiltering,ref:t=>this.pop=t})]}initConfig(t){if(t.multiFilterItems){this.multiFilterItems=Object.assign({},t.multiFilterItems)}if(t.customFilters){for(let e in t.customFilters){const r=t.customFilters[e];if(!this.possibleFilters[r.columnFilterType]){this.possibleFilters[r.columnFilterType]=[]}this.possibleFilters[r.columnFilterType].push(e);this.possibleFilterEntities[e]=r.func;this.possibleFilterNames[e]=r.name}}if(t.filterProp){this.filterProp=t.filterProp}const e=t.include;if(e){const t={};for(let r in this.possibleFilters){const i=this.possibleFilters[r].filter((t=>e.indexOf(t)>-1));if(i.length){t[r]=i}}if(Object.keys(t).length>0){this.possibleFilters=t}}if(t.collection){this.filterCollection=u(t.collection,((t,e,r)=>{if(this.possibleFilterEntities[e.type]){t[r]=e}else{console.warn(`${e.type} type is not found.`)}return t}),{})}if(t.localization){if(t.localization.filterNames){Object.entries(t.localization.filterNames).forEach((([t,e])=>{if(this.possibleFilterNames[t]!=void 0){this.possibleFilterNames[t]=e}}))}}}async headerclick(t){var e,r,i;const o=(e=t.detail.originalEvent)===null||e===void 0?void 0:e.target;if(!X(o)){return}t.preventDefault();const s=await((r=this.pop)===null||r===void 0?void 0:r.getChanges());if(s&&(s===null||s===void 0?void 0:s.prop)===t.detail.prop){(i=this.pop)===null||i===void 0?void 0:i.show();return}if(!this.pop){return}const n=this.revogrid.getBoundingClientRect();const a=o.getBoundingClientRect();const h=t.detail.prop;this.pop.filterTypes=this.getColumnFilter(t.detail.filter);this.pop.show(Object.assign(Object.assign({},this.filterCollection[h]),{x:a.x-n.x,y:a.y-n.y+a.height,autoCorrect:true,prop:h}))}getColumnFilter(t){let e="string";if(!t){return{[e]:this.possibleFilters[e]}}if(this.isValidType(t)){e=t}else if(typeof t==="object"&&t.length){return t.reduce(((t,e)=>{if(this.isValidType(e)){t[e]=this.possibleFilters[e]}return t}),{})}return{[e]:this.possibleFilters[e]}}isValidType(t){return!!(typeof t==="string"&&this.possibleFilters[t])}async onFilterChange(t){this.multiFilterItems=t;this.runFiltering()}async doFiltering(t,e,r,i){const o=[];r.forEach((t=>{const e=Object.assign({},t);const r=i[e.prop];if(e[this.filterProp]&&!r){delete e[this.filterProp];o.push(e)}if(!e[this.filterProp]&&r){o.push(e);e[this.filterProp]=true}}));const s=this.getRowFilter(e,i);const{defaultPrevented:n,detail:a}=this.emit("beforefiltertrimmed",{collection:t,itemsToFilter:s,source:e,filterItems:i});if(n){return}const h=await this.revogrid.addTrimmed(a.itemsToFilter,le);if(h.defaultPrevented){return}await this.revogrid.updateColumns(o);this.emit("afterfilterapply")}async clearFiltering(){this.multiFilterItems={};await this.runFiltering()}async runFiltering(){const t={};const e=Object.keys(this.multiFilterItems);for(const r of e){if(this.multiFilterItems[r].length>0){const e=this.multiFilterItems[r][0];t[r]={filter:ae[e.type],type:e.type,value:e.value}}}this.filterCollection=t;const{source:r,columns:i}=await this.getData();const{defaultPrevented:o,detail:s}=this.emit("beforefilterapply",{collection:this.filterCollection,source:r,columns:i,filterItems:this.multiFilterItems});if(o){return}this.doFiltering(s.collection,s.source,s.columns,s.filterItems)}async getData(){return{source:await this.revogrid.getSource(),columns:await this.revogrid.getColumns()}}getRowFilter(t,e){const r=Object.keys(e);const i={};let o=0;let s=[];t.forEach(((t,n)=>{for(const a of r){const r=e[a];o=0;s=[];for(const[e,i]of r.entries()){const n=this.possibleFilterEntities[i.type];if(i.relation==="or"){s=[];if(n(t[a],i.value)){continue}o++}else{s.push(!n(t[a],i.value));const h=r[e+1];if(!h||h.relation!=="and"){if(s.indexOf(true)===-1){s=[];continue}o+=s.length;s=[]}}}if(o===r.length)i[n]=true}}));return i}}var ue=F,ge=c,fe=T;var ve="[object String]";function pe(t){return typeof t=="string"||!ge(t)&&fe(t)&&ue(t)==ve}var me=pe;var we=C;var be=we("length");var xe=be;var Ce="\\ud800-\\udfff",ye="\\u0300-\\u036f",Se="\\ufe20-\\ufe2f",ke="\\u20d0-\\u20ff",Re=ye+Se+ke,je="\\ufe0e\\ufe0f";var Oe="\\u200d";var Ee=RegExp("["+Oe+Ce+Re+je+"]");function Le(t){return Ee.test(t)}var Pe=Le;var ze="\\ud800-\\udfff",He="\\u0300-\\u036f",Me="\\ufe20-\\ufe2f",Ie="\\u20d0-\\u20ff",De=He+Me+Ie,Fe="\\ufe0e\\ufe0f";var Te="["+ze+"]",Ne="["+De+"]",Be="\\ud83c[\\udffb-\\udfff]",$e="(?:"+Ne+"|"+Be+")",Ve="[^"+ze+"]",Ae="(?:\\ud83c[\\udde6-\\uddff]){2}",Ue="[\\ud800-\\udbff][\\udc00-\\udfff]",qe="\\u200d";var Ge=$e+"?",Xe="["+Fe+"]?",We="(?:"+qe+"(?:"+[Ve,Ae,Ue].join("|")+")"+Xe+Ge+")*",Ye=Xe+Ge+We,Je="(?:"+[Ve+Ne+"?",Ne,Ae,Ue,Te].join("|")+")";var _e=RegExp(Be+"(?="+Be+")|"+Je+Ye,"g");function Ke(t){var e=_e.lastIndex=0;while(_e.test(t)){++e}return e}var Ze=Ke;var Qe=xe,tr=Pe,er=Ze;function rr(t){return tr(t)?er(t):Qe(t)}var ir=rr;var or=y,sr=S,nr=n,ar=me,hr=ir;var lr="[object Map]",dr="[object Set]";function cr(t){if(t==null){return 0}if(nr(t)){return ar(t)?hr(t):t.length}var e=sr(t);if(e==lr||e==dr){return t.size}return or(t).length}var ur=cr;class gr extends z{async runSorting(t,e){var r;await this.sort(t,e);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(t,e){super(t,e);this.revogrid=t;this.sorting=null;this.sortingFunc=null;this.sortingPromise=null;this.postponeSort=$((async(t,e)=>this.runSorting(t,e)),50);const r=async({detail:{type:t}})=>{if(!!this.sorting&&this.sortingFunc){const e=this.emit("beforesorting",{type:t});if(e.defaultPrevented){return}this.startSorting(this.sorting,this.sortingFunc)}};const i=async({detail:{order:t}})=>{const e=await this.revogrid.getColumns();const r={};for(let i in t){const o=this.getComparer(At.getColumnByProp(e,i),t[i]);r[i]=o}this.runSorting(t,r)};const o=async t=>{var e,r;if(t.defaultPrevented){return}if(!t.detail.column.sortable){return}this.headerclick(t.detail.column,t.detail.index,(r=(e=t.detail)===null||e===void 0?void 0:e.originalEvent)===null||r===void 0?void 0:r.shiftKey)};this.addEventListener("beforeanysource",r);this.addEventListener("aftercolumnsset",i);this.addEventListener("beforeheaderclick",o)}startSorting(t,e){if(!this.sortingPromise){this.revogrid.jobsBeforeRender.push(new Promise((t=>{this.sortingPromise=t})))}this.postponeSort(t,e)}getComparer(t,e){var r;const i=((r=t===null||t===void 0?void 0:t.cellCompare)===null||r===void 0?void 0:r.bind({order:e}))||this.defaultCellCompare;if(e=="asc"){return i}if(e=="desc"){return this.descCellCompare(i)}return undefined}async headerclick(t,e,r){let i=this.getNextOrder(t.order);const o=this.emit("beforesorting",{column:t,order:i,additive:r});if(o.defaultPrevented){return}i=o.detail.order;const s=await this.revogrid.updateColumnSorting(o.detail.column,e,i,r);const n=this.emit("beforesortingapply",{column:s,order:i,additive:r});if(n.defaultPrevented){return}i=n.detail.order;const a=this.getComparer(t,i);if(r&&this.sorting){const e={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),e);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(t.prop in e&&ur(e)>1&&i===undefined){delete e[t.prop];delete r[t.prop]}else{e[t.prop]=i;r[t.prop]=a}}else{if(i){this.sorting={[t.prop]:i};this.sortingFunc={[t.prop]:a}}else{delete this.sorting[t.prop];delete this.sortingFunc[t.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(t,e,r=["rgRow","rowPinStart","rowPinEnd"]){if(!ur(t)){this.sorting=null;this.sortingFunc=null;for(let t of r){const e=await this.revogrid.getSourceStore(t);const r=e.get("source");const i=k(0,r.length);R(e,{proxyItems:i,source:[...r]})}}else{this.sorting=t;this.sortingFunc=e;for(let t of r){const r=await this.revogrid.getSourceStore(t);const i=r.get("source");const o=r.get("proxyItems");const s=this.sortIndexByItems([...o],i,e);R(r,{proxyItems:s,source:[...i]})}}this.emit("aftersortingapply")}defaultCellCompare(t,e,r){var i,o;const s=(i=e[t])===null||i===void 0?void 0:i.toString().toLowerCase();const n=(o=r[t])===null||o===void 0?void 0:o.toString().toLowerCase();return s==n?0:s>n?1:-1}descCellCompare(t){return(e,r,i)=>-1*t(e,r,i)}sortIndexByItems(t,e,r){if(Object.entries(r).length===0){return[...Array(t.length).keys()]}return t.sort(((t,i)=>{for(const[o,s]of Object.entries(r)){const r=e[t];const n=e[i];const a=s(o,r,n);if(a){return a}}return 0}))}getNextOrder(t){switch(t){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}function fr(t,e,r){if(t===t){if(r!==undefined){t=t<=r?t:r}if(e!==undefined){t=t>=e?t:e}}return t}var vr=fr;var pr=vr,mr=j;var wr=4294967295;function br(t){return t?pr(mr(t),0,wr):0}var xr=br;var Cr=j,yr=xr;function Sr(t,e,r,i){var o=t.length;r=Cr(r);if(r<0){r=-r>o?0:o+r}i=i===undefined||i>o?o:Cr(i);if(i<0){i+=o}i=r>i?0:yr(i);while(r<i){t[r++]=e}return t}var kr=Sr;var Rr=kr,jr=O;function Or(t,e,r,i){var o=t==null?0:t.length;if(!o){return[]}if(r&&typeof r!="number"&&jr(t,e,r)){r=0;i=o}return Rr(t,e,r,i)}var Er=Or;const Lr={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const Pr=String.fromCharCode(13);const zr=String.fromCharCode(10);const Hr=String.fromCharCode(34);const Mr=String.fromCharCode(65279);const Ir=new RegExp('"',"g");class Dr{constructor(t={}){this.options=Object.assign(Object.assign({},Lr),t)}doExport({data:t,headers:e,props:r}){let i=this.options.bom?Mr:"";if((e===null||e===void 0?void 0:e.length)>0){e.forEach((t=>{if(!t.length){return}i+=this.prepareHeader(t,this.options.columnDelimiter);i+=this.options.rowDelimiter}))}t.forEach(((t,e)=>{if(e>0){i+=this.options.rowDelimiter}if(W(t)){i+=this.parseCell(Y(t),this.options.columnDelimiter);return}i+=r.map((e=>this.parseCell(t[e],this.options.columnDelimiter))).join(this.options.columnDelimiter)}));return i}prepareHeader(t,e){let r="";const i=t.map((t=>this.parseCell(t,e,true)));r+=i.join(e);return r}parseCell(t,e,r=false){let i=t;if(typeof t!=="string"){i=JSON.stringify(t)}const o=[Pr,Hr,zr,e];if(typeof i==="undefined"){return""}if(i!==""&&(r||o.some((t=>i.indexOf(t)>=0)))){return`"${i.replace(Ir,'""')}"`}return i}}var Fr;(function(t){t["csv"]="csv"})(Fr||(Fr={}));class Tr extends z{async exportString(t={},e=Fr.csv){const r=await this.beforeexport();if(!r){return null}return this.formatter(e,t).doExport(r)}async exportBlob(t={},e=Fr.csv){return await this.getBlob(this.formatter(e,t))}async exportFile(t={},e=Fr.csv){const r=this.formatter(e,t);const i=await this.getBlob(r);const o=window.URL||window.webkitURL;const s=document.createElement("a");const{filename:n,fileKind:a}=r.options;const h=`${n}.${a}`;const l=o.createObjectURL(i);s.style.display="none";s.setAttribute("href",l);s.setAttribute("download",h);this.revogrid.appendChild(s);s.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(s);await A(120);o.revokeObjectURL(l)}async getBlob(t){const e=`${t.options.mime};charset=${t.options.encoding}`;if(typeof Blob!=="undefined"){const r=await this.beforeexport();if(!r){return null}return new Blob([t.doExport(r)],{type:e})}return null}async beforeexport(){let t=await this.getData();const e=this.emit("beforeexport",{data:t});if(e.defaultPrevented){return null}return e.detail.data}async getData(){const t=await this.getSource();const e=[];const r=[];H.forEach(((t,i)=>{r.push(this.getColPerSource(t).then((t=>e[i]=t)))}));await Promise.all(r);const i={headers:[],props:[]};for(let t of e){t.headers.forEach(((t,e)=>{if(!i.headers[e]){i.headers[e]=[]}i.headers[e].push(...t)}));i.props.push(...t.props)}return Object.assign({data:t},i)}async getColPerSource(t){const e=await this.revogrid.getColumnStore(t);const r=e.get("source");const i=e.get("items");const o=e.get("groupingDepth");const s=e.get("groups");const n=[];const a=[];const h=i.reduce(((t,e,i)=>{const o=r[e].prop;n.push(r[e].name||"");a.push(o);t[o]=i;return t}),{});const l=this.getGroupHeaders(o,s,i,h);l.push(n);return{headers:l,props:a}}getGroupHeaders(t,e,r,i){const o=[];const s=Er(new Array(r.length),"");for(let r=0;r<t;r++){const t=[...s];o.push(t);if(!e[r]){continue}const n=e[r];n.forEach((e=>{const r=this.findGroupStartIndex(e.ids,i);if(typeof r==="number"){t[r]=e.name}}))}return o}findGroupStartIndex(t,e){let r;t.forEach((t=>{const i=e[t];if(typeof i==="number"){if(typeof r!=="number"||r>i){r=i}}}));return r}async getSource(){const t=[];const e=[];M.forEach((r=>{const i=[];t.push(i);const o=this.revogrid.getVisibleSource(r).then((t=>i.push(...t)));e.push(o)}));await Promise.all(e);return t.reduce(((t,e)=>{t.push(...e);return t}),[])}formatter(t,e={}){switch(t){case Fr.csv:return new Dr(e);default:throw new Error("Unknown format")}}}function Nr(t,e){const r=e[t];const i=r[Q];const o={};let s=t+1;const n=e.length;while(s<n){const t=e[s];if(W(t)){const e=t[Q];if(!e.length||!e.startsWith(i+",")){break}t[J]=false}o[s++]=true}r[J]=false;return{trimmed:o}}function Br(t,e,r){const i=r[t];const o=e[i];const s=_(o[tt]);const n={};if(!s){return{trimmed:n}}const a=[];o[J]=true;let h=i+1;const l=e.length;let d=0;while(h<l){const t=e[h];const r=W(t);if(r){if(!K(s,o,t)){break}else if(!d){d=t[Z]}}if(!d||r&&d===t[Z]){n[h]=false;a.push(h)}h++}const c={trimmed:n};if(a.length){const e=[...r];e.splice(t+1,0,...a);c.items=e}return c}const $r="grouping";function Vr(t,e,r){const i={};for(let o in t){if(o===$r){continue}const s=t[o];const n={};for(let t in s){let a=e[t];if(r){a=r[a]}if(s[t]){n[a]=true;if(a!==parseInt(t,10)){i[o]=n}}}}return i}class Ar extends z{get hasProps(){var t,e,r;return((t=this.options)===null||t===void 0?void 0:t.props)&&((r=(e=this.options)===null||e===void 0?void 0:e.props)===null||r===void 0?void 0:r.length)}get store(){return this.providers.data.stores[et].store}get rowItems(){return this.store.get("items")}get trimmed(){return this.store.get("trimmed")}constructor(t,e){super(t,e);this.revogrid=t;this.providers=e}onFocus(t){if(W(t.detail.model)){t.preventDefault()}}onExpand({virtualIndex:t}){const{source:e}=this.getSource();let r=this.trimmed[$r];let i=E(this.store,t);const o=e[i];const s=o[J];if(!s){const{trimmed:i,items:o}=Br(t,e,this.rowItems);r=Object.assign(Object.assign({},r),i);if(o){L(this.store,o)}}else{const{trimmed:t}=Nr(i,e);r=Object.assign(Object.assign({},r),t);this.revogrid.clearFocus()}this.store.set("source",e);this.revogrid.addTrimmed(r,$r)}getSource(t=false){const e=this.store.get("source");const r=this.store.get("proxyItems");let i=0;return r.reduce(((r,o)=>{const s=e[o];if(!t){r.source.push(s);return r}if(!W(s)){r.source.push(s);r.oldNewIndexes[o]=i;i++}else{if(s[J]){r.prevExpanded[s[Q]]=true}}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(t){if(t===null||t===void 0?void 0:t.length){t[0][rt]=true;return true}return false}setColumns({columns:t}){for(let e of H){if(this.setColumnGrouping(t[e])){break}}}onDrag(t){const{from:e,to:r}=t.detail;const i=r-e>=0;const{source:o}=this.getSource();const s=this.rowItems;let n=i?e:r;const a=i?r:e;for(;n<a;n++){const e=o[s[n]];const r=W(e);if(r){t.preventDefault();return}}}beforeTrimmedApply(t,e){if(e===le){const e=this.store.get("source");for(let r in t){if(t[r]&&W(e[r])){t[r]=false}}}}subscribe(){this.addEventListener("beforesourceset",(({detail:t})=>this.onDataSet(t)));this.addEventListener("beforecolumnsset",(({detail:t})=>this.setColumns(t)));this.addEventListener("beforetrimmed",(({detail:{trimmed:t,trimmedType:e}})=>this.beforeTrimmedApply(t,e)));this.addEventListener("aftersortingapply",(()=>this.doSourceUpdate(Object.assign({},this.options))));this.addEventListener("beforecellfocus",(t=>this.onFocus(t)));this.addEventListener("roworderchanged",(t=>this.onDrag(t)));this.addEventListener(it,(({detail:t})=>this.onExpand(t)))}doSourceUpdate(t){var e;if(!this.hasProps){return}const{source:r,prevExpanded:i,oldNewIndexes:o}=this.getSource(true);const{sourceWithGroups:s,depth:n,trimmed:a,oldNewIndexMap:h,childrenByGroup:l}=ot(r,((e=this.options)===null||e===void 0?void 0:e.props)||[],Object.assign({prevExpanded:i},t));this.providers.data.setData(s,et,this.revogrid.disableVirtualY,{depth:n,customRenderer:t===null||t===void 0?void 0:t.groupLabelTemplate},true);this.updateTrimmed(a,l,o,h)}onDataSet(t){var e;if(!this.hasProps||!(t===null||t===void 0?void 0:t.source)||!t.source.length){return}const r=t.source.filter((t=>!W(t)));const i=this.revogrid.grouping||{};const{sourceWithGroups:o,depth:s,trimmed:n,oldNewIndexMap:a,childrenByGroup:h}=ot(r,((e=this.options)===null||e===void 0?void 0:e.props)||[],Object.assign({},i||{}));t.source=o;this.providers.data.setGrouping({depth:s});this.updateTrimmed(n,h,a)}setGrouping(t){this.clearSubscriptions();this.options=t;if(!t.props||!Object.keys(t.props).length){this.clearGrouping();return}const{source:e}=this.getSource();if(e.length){this.doSourceUpdate(Object.assign({},t))}for(let t of H){if(this.setColumnGrouping(this.providers.column.getColumns(t))){this.providers.column.refreshByType(t);break}}this.subscribe()}clearGrouping(){H.forEach((t=>{const e=this.providers.column.getColumns(t);let r=false;e.forEach((t=>{if(st(t)){delete t[rt];r=true}}));if(r){this.providers.column.refreshByType(t)}}));const{source:t,oldNewIndexes:e}=this.getSource(true);this.providers.data.setData(t,et,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,e)}updateTrimmed(t={},e={},r,i){const o=Vr(this.trimmed,r,i);for(let t in o){this.revogrid.addTrimmed(o[t],t)}this.revogrid.addTrimmed(Object.assign({},t),$r)}}function Ur(t){const e=t.dimensions[t.colType].store;const r=e.get("realSize");const i={contentWidth:r,class:t.colType,contentHeight:t.contentHeight,key:t.colType,colType:t.colType,onResizeviewport:t.onResizeviewport,style:t.fixWidth?{minWidth:`${r}px`}:undefined};const o={colData:w(t.colStore),dimensionCol:e,type:t.colType,groups:t.colStore.get("groups"),groupingDepth:t.colStore.get("groupingDepth"),resizeHandler:t.colType==="colPinEnd"?["l"]:undefined,onHeaderresize:t.onHeaderresize};return{prop:i,type:t.colType,position:t.position,headerProp:o,viewportCol:t.viewports[t.colType].store}}class qr{constructor(t,e){var r,i;this.config=t;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const o=[];let s=0;H.forEach((r=>{const i=t.columnProvider.stores[r].store;if(!i.get("items").length){return}const n={colType:r,position:{x:s,y:1},contentHeight:e,fixWidth:r!=="rgCol",viewports:t.viewportProvider.stores,dimensions:t.dimensionProvider.stores,rowStores:t.dataProvider.stores,colStore:i,onHeaderresize:t=>this.onColumnResize(r,t,i)};if(r==="rgCol"){n.onResizeviewport=e=>{var r;if(t.disableVirtualY&&e.detail.dimension==="rgRow"){return}else if(t.disableVirtualX&&e.detail.dimension==="rgCol"){return}(r=t.viewportProvider)===null||r===void 0?void 0:r.setViewport(e.detail.dimension,{virtualSize:e.detail.size})}}const a=Ur(n);const h=this.registerCol(a.position.x,r);const l=this.dataViewPort(n).reduce(((e,r)=>{const i=this.registerSegment(r.position);i.setLastCell(r.lastCell);const o=this.registerRow(r.position.y,r.type);const s=Object.assign(Object.assign({},r),{rowSelectionStore:o,segmentSelectionStore:i.store,ref:e=>t.selectionStoreConnector.registerSection(e),onSetrange:t=>{i.setRangeArea(t.detail)},onSettemprange:t=>{i.setTempArea(t.detail)},onFocuscell:e=>{i.clearFocus();t.selectionStoreConnector.focus(i,e.detail)}});e.push(s);return e}),[]);o.push(Object.assign(Object.assign({},a),{columnSelectionStore:h,dataPorts:l}));s++}));this.columns=o;(i=this.config.scrollingService)===null||i===void 0?void 0:i.unregister()}onColumnResize(t,{detail:e},r){var i;(i=this.config.dimensionProvider)===null||i===void 0?void 0:i.setCustomSizes(t,e,true);const o=u(e||{},((t,e,i)=>{const o=parseInt(i,10);const s=f(r,o);if(s){t[o]=Object.assign(Object.assign({},s),{size:e})}return t}),{});this.config.resize(o)}registerSegment(t){return this.config.selectionStoreConnector.register(t)}registerRow(t,e){return this.config.selectionStoreConnector.registerRow(t,e).store}registerCol(t,e){return this.config.selectionStoreConnector.registerColumn(t,e).store}dataViewPort(t){const e={rowPinStart:at,rgRow:ht,rowPinEnd:lt};let r=0;return M.reduce(((i,o)=>{const s=t.viewports[o].store.get("realCount")||o==="rgRow";const n=Object.assign(Object.assign({},t),{position:Object.assign(Object.assign({},t.position),{y:s?r:N})});i.push(this.dataPartition(n,o,e[o],o!=="rgRow"));if(s){r++}return i}),[])}dataPartition(t,e,r,i){return{colData:t.colStore,viewportCol:t.viewports[t.colType].store,viewportRow:t.viewports[e].store,lastCell:nt(t,e),slot:r,type:e,canDrag:!i,position:t.position,dataStore:t.rowStores[e].store,dimensionCol:t.dimensions[t.colType].store,dimensionRow:t.dimensions[e].store,style:i?{height:`${t.dimensions[e].store.get("realSize")}px`}:undefined}}scrollToCell(t){for(let e in t){const r=t[e];this.config.scrollingService.proxyScroll({dimension:e==="x"?"rgCol":"rgRow",coordinate:r})}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const t=this.config.selectionStoreConnector.focusedStore;if(!t){return null}const e=this.config.selectionStoreConnector.storesXToType[t.position.x];const r=this.config.columnProvider.getColumn(t.cell.x,e);const i=this.config.selectionStoreConnector.storesYToType[t.position.y];const o=this.config.dataProvider.getModel(t.cell.y,i);return{column:r,model:o,cell:t.cell,colType:e,rowType:i}}getStoreCoordinateByType(t,e){const r=this.config.selectionStoreConnector.storesByType;const i={x:r[t],y:r[e]};return i}setFocus(t,e,r,i){var o;(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.focusByCell(this.getStoreCoordinateByType(t,e),r,i)}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(t,e,r,i){var o;(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.setEditByCell(this.getStoreCoordinateByType(r,i),{x:e,y:t})}}class Gr{constructor(t){this.setViewport=t;this.elements={}}async proxyScroll(t,e){var r;let i;let o=t;for(let o in this.elements){if(t.dimension==="rgCol"&&o==="headerRow"){continue}else if(this.isPinnedColumn(e)&&t.dimension==="rgCol"){if(o===e||!t.delta){continue}for(let e of this.elements[o]){if(e.changeScroll){i=e.changeScroll(t)}}}else{for(let e of this.elements[o]){await((r=e.setScroll)===null||r===void 0?void 0:r.call(e,t))}}}if(i){o=await i}this.setViewport(o)}async scrollSilentService(t,e){var r;for(let i in this.elements){if(i===e){continue}if(H.includes(e)&&(i==="headerRow"||H.includes(i))){for(let e of this.elements[i]){await((r=e.changeScroll)===null||r===void 0?void 0:r.call(e,t,true))}continue}}}isPinnedColumn(t){return!!t&&["colPinStart","colPinEnd"].indexOf(t)>-1}registerElements(t){this.elements=t}registerElement(t,e){if(!this.elements[e]){this.elements[e]=[]}if(t){this.elements[e].push(t)}else if(this.elements[e]){delete this.elements[e]}}unregister(){this.elements={}}}class Xr{constructor(){this.parentY=0}start(t,{pos:e,text:r,event:i}){var o;const{top:s}=t.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(e);this.moveTip({x:i.x,y:i.y});(o=this.el)===null||o===void 0?void 0:o.classList.remove("hidden")}end(){var t;(t=this.el)===null||t===void 0?void 0:t.classList.add("hidden")}move(t){this.moveElement(t.end-this.parentY)}moveTip({x:t,y:e}){if(!this.draggable){return}this.draggable.style.left=`${t}px`;this.draggable.style.top=`${e}px`}moveElement(t){if(!this.rgRow){return}this.rgRow.style.transform=`translateY(${t}px)`}}const Wr=({ref:e})=>{const r=new Xr;e(r);return t("div",{class:"draggable-wrapper hidden",ref:t=>r.el=t},t("div",{class:"draggable",ref:t=>r.draggable=t},t("span",{class:"revo-alt-icon"}),t("span",{ref:t=>r.text=t})),t("div",{class:"drag-position",ref:t=>r.rgRow=t}))};class Yr extends z{constructor(t,e){super(t,e);this.providers=e;this.stretchedColumn=null;this.scrollSize=U(document);const r=({detail:{columns:t}})=>this.applyStretch(t);this.addEventListener("beforecolumnapplied",r)}setScroll({type:t,hasScroll:e}){var r;if(t==="rgRow"&&this.stretchedColumn&&((r=this.stretchedColumn)===null||r===void 0?void 0:r.initialSize)===this.stretchedColumn.size){if(e){this.stretchedColumn.size-=this.scrollSize;this.apply();this.dropChanges()}}}activateChanges(){const t=({detail:t})=>this.setScroll(t);this.addEventListener("scrollchange",t)}dropChanges(){this.stretchedColumn=null;this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn){return}const t="rgCol";const e=this.providers.dimension.stores[t].store.get("sizes");this.providers.dimension.setCustomSizes(t,Object.assign(Object.assign({},e),{[this.stretchedColumn.index]:this.stretchedColumn.size}),true)}applyStretch(t){this.dropChanges();let e=this.revogrid.clientWidth-1;p(t,((t,r)=>{const i=this.providers.dimension.stores[r].store.get("realSize");e-=i}));if(this.revogrid.rowHeaders){const t=this.providers.data.stores.rgRow.store.get("source").length;const r=this.revogrid.rowHeaders;const i=ct(t,typeof r==="object"?r:undefined);if(i){e-=i}}if(e>0){const r=t.rgCol.length-1;const i=t.rgCol[r];const o=(i===null||i===void 0?void 0:i.size)||this.revogrid.colSize||0;const s=e+o-1;if(i&&!i.autoSize&&o<s){this.stretchedColumn={initialSize:s,index:r,size:s};this.apply();this.activateChanges()}}}}function Jr(t){return!!t.applyStretch}const _r=(t=[])=>{const e={};for(const r of t){if(!e[r.type]){e[r.type]={}}if(r.size){if(!e[r.type].sizes){e[r.type].sizes={}}e[r.type].sizes[r.index]=r.size}}return e};const Kr=(t=[])=>{const e={};for(const r of t){if(!e[r.type]){e[r.type]=[]}if(r.size){e[r.type].push(r.index)}}return e};const Zr="column-drag-start";class Qr{constructor(){this.offset=0}renderAutoscroll(t,e){if(!e){return}this.autoscrollEl=document.createElement("div");this.autoscrollEl.classList.add("drag-auto-scroll-y");e.appendChild(this.autoscrollEl)}autoscroll(t,e,r="translateX"){if(!this.autoscrollEl){return}const i=10;const o=Math.min(t+i,e-3);this.autoscrollEl.style.transform=`${r}(${o}px)`;this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"})}start(t,{dataEl:e,gridRect:r,scrollEl:i,gridEl:o},s="left"){o.classList.add(Zr);const n=i.getBoundingClientRect();if(n){this.offset=n[s]-r[s]}this.renderAutoscroll(t,e)}stop(t){var e;t.classList.remove(Zr);if(this.element){this.element.hidden=true}this.offset=0;(e=this.autoscrollEl)===null||e===void 0?void 0:e.remove();this.autoscrollEl=undefined}showHandler(t,e,r="translateX"){if(!this.element){return}if(this.offset){t=Math.max(t,this.offset)}t=Math.min(t,e);this.element.style.transform=`${r}(${t}px)`;this.element.hidden=false}render(){const t=this.element=document.createElement("div");t.classList.add("drag-position-y");t.hidden=true;return t}}const ti=ft;const ei="columndragmousemove";const ri="columndragend";const ii="beforecolumndragend";const oi="columndragstart";class si extends z{constructor(t,e){super(t,e);this.revogrid=t;this.providers=e;this.moveFunc=$((t=>this.doMove(t)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new Qr;t.appendChild(this.orderUi.render());t.classList.add("column-draggable");this.localSubscriptions["mouseleave"]={target:document,callback:t=>this.onMouseOut(t)};this.localSubscriptions["mouseup"]={target:document,callback:t=>this.onMouseUp(t)};this.localSubscriptions["mousemove"]={target:document,callback:t=>this.move(t)};this.addEventListener(ti,(({detail:t})=>this.dragStart(t)))}dragStart({event:t,data:e}){if(t.defaultPrevented){return}const{defaultPrevented:r}=gt(this.revogrid,oi,e);if(r){return}this.clearOrder();const{mouseleave:i,mouseup:o,mousemove:s}=this.localSubscriptions;i.target.addEventListener("mouseleave",i.callback);o.target.addEventListener("mouseup",o.callback);const n=t.target.closest("revogr-header");const a=t.target.closest("revogr-viewport-scroll");if(!n||!a){return}if(Vt(e)||e.providers.type==="rowHeaders"){return}const h=this.getDimension(e.pin||"rgCol");const l=this.revogrid.getBoundingClientRect();const d=n.getBoundingClientRect();const c=P(h,ni(t.x,l.left,d.left-l.left));this.staticDragData={startPos:t.x,startItem:c,data:e,dataEl:n,scrollEl:a,gridEl:this.revogrid,cols:h};this.dragData=this.getData(this.staticDragData);s.target.addEventListener("mousemove",s.callback);this.orderUi.start(t,Object.assign(Object.assign({},this.dragData),this.staticDragData))}doMove(t){if(!this.staticDragData){return}const e=this.dragData=this.getData(this.staticDragData);if(!e){return}const r=this.staticDragData.startPos;if(Math.abs(r-t.x)>10){const r=ni(t.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const i=P(this.staticDragData.cols,r);this.orderUi.autoscroll(r,e.elRect.width);this.orderUi.showHandler(i.end+e.scrollOffset,e.gridRect.width)}}move(t){gt(this.revogrid,ei,t);this.moveFunc(t)}onMouseOut(t){this.clearOrder()}onMouseUp(t){if(this.dragData){let e=ni(t.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(e<0){e=0}const r=P(this.staticDragData.cols,e);const i=this.providers.column.stores[this.dragData.type].store;const o=[...i.get("items")];const{defaultPrevented:s}=gt(this.revogrid,ii,Object.assign(Object.assign({},this.staticDragData),{startPosition:this.staticDragData.startItem,newPosition:r,newItem:i.get("source")[o[this.staticDragData.startItem.itemIndex]]}));if(!s){const t=o.splice(this.staticDragData.startItem.itemIndex,1);o.splice(r.itemIndex,0,...t);i.set("items",o)}gt(this.revogrid,ri,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){p(this.localSubscriptions,(({target:t,callback:e},r)=>t.removeEventListener(r,e)))}clearOrder(){this.staticDragData=null;this.dragData=null;this.clearLocalSubscriptions();this.orderUi.stop(this.revogrid)}clearSubscriptions(){super.clearSubscriptions();this.clearLocalSubscriptions()}getData({gridEl:t,dataEl:e,data:r}){const i=t.getBoundingClientRect();const o=e.getBoundingClientRect();const s=o.left-i.left;return{elRect:o,gridRect:i,type:r.pin||"rgCol",scrollOffset:s}}getDimension(t){return this.providers.dimension.stores[t].getCurrentState()}}function ni(t,e,r){return t-e-r}function ai(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}const hi='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 #cecece inset, 1px 0 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #cecece inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #cecece inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}';const li=hi;const di=class{constructor(t){e(this,t);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.clickTrackForFocusClear=null;this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=true;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[]}async refresh(t="all"){this.dataProvider.refresh(t)}async setDataAt(t){const e=this.element.querySelector(`revogr-data[type="${t.rowType}"][col-type="${t.colType}"]`);return e===null||e===void 0?void 0:e.updateCell({row:t.row,col:t.col})}async scrollToRow(t=0){const e=this.dimensionProvider.getViewPortPos({coordinate:t,dimension:"rgRow"});await this.scrollToCoordinate({y:e})}async scrollToColumnIndex(t=0){const e=this.dimensionProvider.getViewPortPos({coordinate:t,dimension:"rgCol"});await this.scrollToCoordinate({x:e})}async scrollToColumnProp(t,e="rgCol"){const r=this.columnProvider.getColumnIndexByProp(t,e);if(r<0){return}const i=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:e});await this.scrollToCoordinate({x:i})}async updateColumns(t){this.columnProvider.updateColumns(t)}async addTrimmed(t,e="external",r="rgRow"){const i=this.beforetrimmed.emit({trimmed:t,trimmedType:e,type:r});if(i.defaultPrevented){return i}this.dataProvider.setTrimmed({[e]:i.detail.trimmed},r);this.aftertrimmed.emit();return i}async scrollToCoordinate(t){var e;(e=this.viewport)===null||e===void 0?void 0:e.scrollToCell(t)}async setCellEdit(t,e,r="rgRow"){var i;const o=At.getColumnByProp(this.columns,e);if(!o){return}await A();const s=o.pin||"rgCol";(i=this.viewport)===null||i===void 0?void 0:i.setEdit(t,this.columnProvider.getColumnIndexByProp(e,s),s,r)}async setCellsFocus(t={x:0,y:0},e={x:0,y:0},r="rgCol",i="rgRow"){var o;(o=this.viewport)===null||o===void 0?void 0:o.setFocus(r,i,t,e)}async getSource(t="rgRow"){return this.dataProvider.stores[t].store.get("source")}async getVisibleSource(t="rgRow"){return w(this.dataProvider.stores[t].store)}async getSourceStore(t="rgRow"){return this.dataProvider.stores[t].store}async getColumnStore(t="rgCol"){return this.columnProvider.stores[t].store}async updateColumnSorting(t,e,r,i){return this.columnProvider.updateColumnSorting(t,e,r,i)}async clearSorting(){this.columnProvider.clearSorting()}async getColumns(){return this.columnProvider.getColumns()}async clearFocus(){var t;const e=(t=this.viewport)===null||t===void 0?void 0:t.getFocused();const r=this.beforefocuslost.emit(e);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var t;return(t=this.viewport)===null||t===void 0?void 0:t.getFocused()}async getContentSize(){var t;return(t=this.dimensionProvider)===null||t===void 0?void 0:t.getFullSize()}async getSelectedRange(){var t;return(t=this.viewport)===null||t===void 0?void 0:t.getSelectedRange()}mousedownHandle(t){const e=ut(t,"screenX");const r=ut(t,"screenY");if(e===null||r===null){return}this.clickTrackForFocusClear=e+r}mouseupHandle(t){const e=ut(t,"screenX");const r=ut(t,"screenY");if(e===null||r===null){return}if(t.defaultPrevented){return}const i=e+r;if(Math.abs(this.clickTrackForFocusClear-i)>10){return}const o=t.composedPath();if(!o.includes(this.element)&&!o.includes(this.element.shadowRoot)){this.clearFocus()}}onRowDragStarted(t){var e;const r=this.rowdragstart.emit(t.detail);if(r.defaultPrevented){t.preventDefault();return}(e=this.orderService)===null||e===void 0?void 0:e.start(this.element,Object.assign(Object.assign({},t.detail),r.detail))}onRowDragEnd(){var t;(t=this.orderService)===null||t===void 0?void 0:t.end()}onRowDrag({detail:t}){var e;(e=this.orderService)===null||e===void 0?void 0:e.move(t)}onRowMouseMove(t){var e;(e=this.orderService)===null||e===void 0?void 0:e.moveTip(t.detail)}async onCellEdit(t){const{defaultPrevented:e,detail:r}=this.beforeedit.emit(t.detail);await A();if(!e){this.dataProvider.setCellData(r);this.afteredit.emit(r)}}onRangeEdit(t){const{defaultPrevented:e,detail:r}=this.beforerangeedit.emit(t.detail);if(e){t.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(t){const e=this.beforerange.emit(t.detail);if(e.defaultPrevented){t.preventDefault()}const r=this.beforeautofill.emit(e.detail);if(r.defaultPrevented){t.preventDefault()}}onRowDropped(t){const{defaultPrevented:e}=this.roworderchanged.emit(t.detail);if(e){t.preventDefault()}}onHeaderClick(t){const{defaultPrevented:e}=this.headerclick.emit(Object.assign(Object.assign({},t.detail.column),{originalEvent:t.detail.originalEvent}));if(e){t.preventDefault()}}onCellFocus(t){const{defaultPrevented:e}=this.beforecellfocus.emit(t.detail);if(!this.canFocus||e){t.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(t=[]){const e=At.getColumns(t,0,this.columnTypes);this.beforecolumnsset.emit(e);this.dimensionProvider.applyNewColumns(e.columns,this.disableVirtualX);this.beforecolumnapplied.emit(e);const r=this.columnProvider.setColumns(e);this.aftercolumnsset.emit({columns:r,order:this.columnProvider.order})}disableVirtualXChanged(t=false,e=false){if(t===e){return}this.columnChanged(this.columns)}rowSizeChanged(t){this.dimensionProvider.setSettings({originItemSize:t},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(t,e,r="theme",i=false){this.themeService.register(t);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!i){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(t)}dataSourceChanged(t=[],e,r){let i="rgRow";switch(r){case"pinnedBottomSource":i="rowPinEnd";break;case"pinnedTopSource":i="rowPinStart";break;case"source":i="rgRow";const e=this.beforesourceset.emit({type:i,source:t});t=e.detail.source;break}const o=this.beforeanysource.emit({type:i,source:t});const s=[...o.detail.source];this.dataProvider.setData(s,i,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:i,source:t})}this.afteranysource.emit({type:i,source:t})}disableVirtualYChanged(t=false,e=false){if(t===e){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(t,e,r,i=true){const{detail:{vals:o,oldVals:s}}=this.beforerowdefinition.emit({vals:t,oldVals:e});const n=_r(o);if(s){const t=Kr(s);for(const e in t){if(t.hasOwnProperty(e)){const t=e;const r=this.dataProvider.stores[t];const i=r.store.get("source").length;this.dimensionProvider.clearSize(t,i)}}}if(!o.length){if(i){this.dimensionProvider.setCustomSizes("rgRow",{})}else{return}}Object.entries(n).forEach((([t,e])=>{const r=t;this.dimensionProvider.setCustomSizes(r,e.sizes||{})}))}trimmedRowsChanged(t={}){this.addTrimmed(t)}groupingChanged(t={}){let e;for(let t of this.internalPlugins){const r=t;if(r.setGrouping){e=r;break}}if(!e){return}e.setGrouping(t||{})}applyStretch(t){if(t==="false"){t=false}let e=this.internalPlugins.filter((t=>Jr(t)))[0];if(typeof t==="boolean"&&t||t==="true"){if(!e){const t={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};this.internalPlugins.push(new Yr(this.element,t))}else if(Jr(e)){e.applyStretch(this.columnProvider.getRawColumns())}}else if(e){const t=this.internalPlugins.indexOf(e);this.internalPlugins.splice(t,1)}}applyFilter(t){this.filterconfigchanged.emit(t)}rowHeadersChange(t){this.rowheaderschanged.emit(t)}registerOutsideVNodes(t=[]){this.extraElements=[...this.extraElements,...t]}additionalDataChanged(t){this.additionaldatachanged.emit(t)}setPlugins(){var t;this.removePlugins();const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};if(this.autoSizeColumn){this.internalPlugins.push(new Yt(this.element,e,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new ce(this.element,e,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new Tr(this.element,e))}this.internalPlugins.push(new gr(this.element,e));this.internalPlugins.push(new Ar(this.element,e));if(this.canMoveColumns){this.internalPlugins.push(new si(this.element,e))}(t=this.plugins)===null||t===void 0?void 0:t.forEach((t=>this.internalPlugins.push(new t(this.element,e))))}removePlugins(){this.internalPlugins.forEach((t=>t.destroy()));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var t;this.viewportProvider=new Gt;this.themeService=new xt({rowSize:this.rowSize});this.dimensionProvider=new qt(this.viewportProvider,{realSizeChanged:t=>this.contentsizechanged.emit(t)});this.columnProvider=new At;this.selectionStoreConnector=new B;this.dataProvider=new Ut(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((t=this.trimmedRows)!==null&&t!==void 0?t:{}).length>0){this.trimmedRowsChanged(this.trimmedRows)}this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new Gr((t=>{this.dimensionProvider.setViewPortCoordinate({coordinate:t.coordinate,type:t.dimension});this.viewportscroll.emit(t)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const t=this.beforegridrender.emit();if(t.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}render(){const e=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new qr({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:t=>this.aftercolumnresize.emit(t)},e);const r=[];if(this.rowHeaders&&this.viewport.columns.length){const i=this.viewport.columns[0];r.push(t("revogr-row-headers",{additionalData:this.additionalData,height:e,rowClass:this.rowClass,resize:this.resize,dataPorts:i.dataPorts,headerProp:i.headerProp,jobsBeforeRender:this.jobsBeforeRender,rowHeaderColumn:typeof this.rowHeaders==="object"?this.rowHeaders:undefined,onScrollview:({detail:t})=>this.scrollingService.proxyScroll(t,"headerRow"),onRef:({detail:t})=>this.scrollingService.registerElement(t,"headerRow")}))}const o=ai();const s=[];for(let e of this.viewport.columns){const r=Object.assign(Object.assign({},e.headerProp),{type:e.type,additionalData:this.additionalData,viewportCol:e.viewportCol,selectionStore:e.columnSelectionStore,canResize:this.resize,readonly:this.readonly,columnFilter:!!this.filter});const i=[t("revogr-header",Object.assign({key:"ff8eefd6db3baf494c015a2ea573160d27739aa9"},r,{slot:at}))];e.dataPorts.forEach((r=>{const s=`${r.type}_${e.type}`;const n=t("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:o,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:t=>this.selectionStoreConnector.beforeNextFocusCell(t.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:t})=>{const e=this.beforeeditstart.emit(t);if(!e.defaultPrevented){this.selectionStoreConnector.setEdit(t.val)}}}),t("revogr-data",Object.assign({},r,{colType:e.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:dt}),t("slot",{name:`data-${e.type}-${r.type}`})),t("revogr-temp-range",{selectionStore:r.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol}),t("revogr-focus",{colData:r.colData,dataStore:r.dataStore,focusTemplate:this.focusTemplate,rowType:r.type,colType:e.type,selectionStore:r.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol},t("slot",{name:`focus-${e.type}-${r.type}`})));i.push(n)}));s.push(t("revogr-viewport-scroll",Object.assign({},e.prop,{ref:t=>this.scrollingService.registerElement(t,`${e.prop.key}`),onScrollviewport:t=>this.scrollingService.proxyScroll(t.detail,`${e.prop.key}`),onScrollviewportsilent:t=>this.scrollingService.scrollSilentService(t.detail,`${e.prop.key}`)}),i))}r.push(s);const n="rgRow";const a="rgCol";const h=this.viewportProvider.stores;const l=this.dimensionProvider.stores;return t(i,{key:"21bbe81595f20f7bcb271f28c9c86feef472efec"},this.hideAttribution?null:t("revogr-attribution",{class:"attribution"}),t("div",{key:"7a3092cd02305a0dfaa3b3d3160164001f0ed08b",class:"main-viewport",onClick:t=>{if(t.currentTarget===t.target){this.viewport.clearEdit()}}},t("div",{key:"ae1dfccbb72cc2a9f7fa370889746c702d106045",class:"viewports"},t("slot",{key:"0725b46d877fbb63fb513845cc1c7b86d0f856b8",name:"viewport"}),r,t("revogr-scroll-virtual",{key:"d41771f6ff459f1f6747ce496c8165b1dab44963",class:"vertical",dimension:n,viewportStore:h[n].store,dimensionStore:l[n].store,ref:t=>this.scrollingService.registerElement(t,"rowScroll"),onScrollvirtual:t=>this.scrollingService.proxyScroll(t.detail)}),t(Wr,{key:"2914421478450c9b198e0aade898ed342e4d7f6a",ref:t=>this.orderService=t}))),t("revogr-scroll-virtual",{key:"bc1812c5ce54cda01e81cc06e28c69dc8e36fdf3",class:"horizontal",dimension:a,viewportStore:h[a].store,dimensionStore:l[a].store,ref:t=>this.scrollingService.registerElement(t,"colScroll"),onScrollvirtual:t=>this.scrollingService.proxyScroll(t.detail)}),this.extraElements)}disconnectedCallback(){this.removePlugins()}get element(){return o(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"]}}};di.style=li;export{di as revo_grid};
|
|
4
|
+
import{h as e,r as t,c as r,H as i,a as o}from"./index-a61f225b.js";import{_ as s,m as n,n as a,o as l,q as h,u as d,v as c,r as u,D as g,b as f,e as v,w as p,s as m,a as w,f as b,j as x,x as C,y,z as S,A as k,k as R,B as j,C as O,g as E,d as L,i as P}from"./dimension.helpers-56298828.js";import{B as z,c as H,r as M,i as I,D}from"./base.plugin-5e7a3c51.js";import{_ as F,c as T}from"./toNumber-8de324a7.js";import{E as N,b as B}from"./selection.helpers-accaad4a.js";import{d as $}from"./debounce-7781346d.js";import{R as V,t as A,g as U}from"./index-4e881436.js";import{V as q}from"./viewport.store-d8e03528.js";import{F as G,i as X}from"./filter.button-37373672.js";import{i as W,g as Y,G as J,a as _,b as K,c as Z,P as Q,d as ee,e as te,f as re,h as ie,j as oe,k as se,v as ne,H as ae,C as le,F as he,D as de}from"./column.service-5d14e7e9.js";import{c as ce,g as ue}from"./events-77b43b40.js";import{d as ge}from"./dispatcher-ea08404f.js";import{O as fe}from"./header-cell-renderer-fc999784.js";class ve{constructor(){this.defaultRowSize=32}}class pe{constructor(){this.defaultRowSize=27}}class me{constructor(){this.defaultRowSize=42}}const we="default";const be=[we,"material","compact","darkMaterial","darkCompact"];class xe{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=xe.getTheme(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new me;break;case"compact":case"darkCompact":this.currentTheme=new ve;break;default:this.currentTheme=new pe;break}}static getTheme(e){if(e&&be.indexOf(e)>-1){return e}return we}}var Ce=s,ye=n,Se=a;function ke(e){return function(t,r,i){var o=Object(t);if(!ye(t)){var s=Ce(r);t=Se(t);r=function(e){return s(o[e],e,o)}}var n=e(t,r,i);return n>-1?o[s?t[n]:n]:undefined}}var Re=ke;var je=Re,Oe=l;var Ee=je(Oe);var Le=Ee;var Pe=h,ze=n;function He(e,t){var r=-1,i=ze(e)?Array(e.length):[];Pe(e,(function(e,o,s){i[++r]=t(e,o,s)}));return i}var Me=He;var Ie=d,De=s,Fe=Me,Te=c;function Ne(e,t){var r=Te(e)?Ie:Fe;return r(e,De(t))}var Be=Ne;class $e extends z{static gatherGroup(e,t,r,i=0){const o=Object.assign(Object.assign({},t),{level:i,ids:[]});for(let t in r.columns){const i=t;const s=e.columns[i];const n=r.columns[i];if(c(s)&&c(n)){s.push(...n);if(n.length){e.columnGrouping[i].push(Object.assign(Object.assign({},o),{ids:Be(n,"prop")}))}}}for(let t in r.columnGrouping){const i=t;const o=r.columnGrouping[i];e.columnGrouping[i].push(...o)}e.maxLevel=Math.max(e.maxLevel,r.maxLevel);e.sort=Object.assign(Object.assign({},e.sort),r.sort);return e}}function Ve(e){return!!e.children}class Ae{get order(){return u(this.sorting,((e,t,r)=>{e[r]=t.order;return e}),{})}get stores(){return this.dataSources}constructor(){this.sorting=null;this.dataSources=u(H,((e,t)=>{e[t]=new g(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return f(this.dataSources[t].store,e)}getRawColumns(){return u(this.dataSources,((e,t,r)=>{e[r]=t.store.get("source");return e}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){if(e!=="all"){return this.dataSources[e].store.get("source")}return H.reduce(((e,t)=>{e.push(...this.dataSources[t].store.get("source"));return e}),[])}getColumnIndexByProp(e,t){return v(this.dataSources[t].store,e)}getColumnByProp(e,t){const r=this.dataSources[t].store.get("source");return Le(r,{prop:e})}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){H.forEach((t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce(((e,t)=>{if(!e[t.level]){e[t.level]=[]}e[t.level].push(t);return e}),{})})}));this.sorting=e.sort;return e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=Ae.getColumnType(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};p(t,((e,t)=>{const i=this.dataSources[t].store.get("source");r[t]=i.reduce(((t,r,i)=>{const o=e===null||e===void 0?void 0:e[r.prop];if(o){t[i]=o}return t}),{})}));p(r,((e,t)=>m(this.dataSources[t].store,e||{})))}updateColumn(e,t){const r=Ae.getColumnType(e);m(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,i){if(!i){this.clearSorting()}e.order=r;if(!this.sorting){this.sorting={}}this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=u(this.sorting,((e,t)=>{const r=Ae.getColumnType(t);e[r]=true;return e}),{});p(e,((e,t)=>{const r=this.dataSources[t].store.get("source");p(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}static getSizes(e){return u(e,((e,t,r)=>{if(t.size){e[r]=t.size}return e}),{})}static getColumnByProp(e,t){return Le(e,(e=>{if(Ve(e)){return Ae.getColumnByProp(e.children,t)}return e.prop===t}))}static getColumns(e,t=0,r){const i={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:{},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:t,sort:{}};return u(e,((e,i)=>{if(Ve(i)){return $e.gatherGroup(e,i,Ae.getColumns(i.children,t+1,r),t)}const o=Object.assign(Object.assign({},i.columnType&&r&&r[i.columnType]),i);if(!o.pin){e.columns.rgCol.push(o)}else{e.columns[o.pin].push(o)}if(o.order){e.sort[o.prop]=o}if(!e.columnByProp[o.prop]){e.columnByProp[o.prop]=[]}e.columnByProp[o.prop].push(o);o.beforeSetup&&o.beforeSetup(o);return e}),i)}static getColumnType(e){if(e.pin){return e.pin}return"rgCol"}}class Ue{constructor(e){this.dimensionProvider=e;this.stores=u(M,((e,t)=>{e[t]=new g(t);return e}),{})}setData(e,t="rgRow",r=false,i,o=false){this.stores[t].updateData([...e],i,o);const s=t!=="rgRow"||r;this.dimensionProvider.setData(e.length,t,s);return e}getModel(e,t="rgRow"){const r=this.stores[t].store;return f(r,e)}setCellData({type:e,rowIndex:t,prop:r,val:i},o=true){const s=this.getModel(t,e);s[r]=i;m(this.stores[e].store,{[t]:s},o)}setRangeData(e,t){const r={};for(let i in e){const o=r[i]=f(this.stores[t].store,parseInt(i,10));if(!o){continue}for(let t in e[i]){o[t]=e[i][t]}}m(this.stores[t].store,r)}refresh(e="all"){if(I(e)){this.refreshItems(e)}M.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(w(r.store).length,t)}}}class qe{constructor(e,t){this.viewports=e;const r=$((e=>t.realSizeChanged(e)),V);this.stores=u([...M,...H],((e,t)=>{e[t]=new D;e[t].store.onChange("realSize",(()=>r(t)));return e}),{})}clearSize(e,t){this.stores[e].drop();this.viewports.stores[e].setOriginalSizes(this.stores[e].store.get("originItemSize"));this.setItemCount(t,e)}setCustomSizes(e,t,r=false){let i=t;if(r){const r=this.stores[e].store.get("sizes");i=Object.assign(Object.assign({},r),t)}this.stores[e].setDimensionSize(i);this.updateViewport(e,true)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=b(e);const i=this.stores[t];i.setStore({trimmed:r});this.updateViewport(t,true)}setData(e,t,r=false){this.setItemCount(e,t);if(r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.updateViewport(t)}applyNewColumns(e,t){for(let r of H){this.stores[r].drop();const i=e[r];const o=r!=="rgCol"||t;this.stores[r].setStore({count:i.length});const s=Ae.getSizes(i);this.stores[r].setDimensionSize(s);const n={realCount:i.length};if(o){n.virtualSize=this.stores[r].getCurrentState().realSize}this.viewports.stores[r].setViewport(n);this.setViewPortCoordinate({coordinate:this.viewports.stores[r].lastCoordinate,type:r})}}getFullSize(){var e,t;let r=0;let i=0;for(let t of H){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of M){i+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:i,x:r}}updateViewport(e,t=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e,force:t})}setViewPortCoordinate({coordinate:e,type:t,force:r=false}){const i=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,i,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=x(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=H;break;case"rgRow":r=M;break}for(let t of r){this.stores[t].setStore(e)}}}class Ge{constructor(){this.stores=u([...M,...H],((e,t)=>{e[t]=new q(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}const Xe=7;var We;(function(e){e["headerClickAutosize"]="headerClickAutoSize";e["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";e["autoSizeAll"]="autoSizeAll"})(We||(We={}));class Ye extends z{constructor(e,t,r){super(e,t);this.providers=t;this.config=r;this.autoSizeColumns=null;this.dataResolve=null;this.dataReject=null;this.letterBlockSize=(r===null||r===void 0?void 0:r.letterBlockSize)||Xe;if(r===null||r===void 0?void 0:r.preciseSize){this.precsizeCalculationArea=this.initiatePresizeElement();e.appendChild(this.precsizeCalculationArea)}const i=({detail:{source:e}})=>{this.setSource(e)};const o=({detail:e})=>{this.afteredit(e)};const s=({detail:e})=>{this.afterEditAll(e)};const n=({detail:{columns:e}})=>{this.columnSet(e)};const a=({detail:e})=>{const t=Ae.getColumnType(e.column);const r=this.getColumnSize(e.index,t);if(r){this.providers.dimension.setCustomSizes(t,{[e.index]:r},true)}};this.addEventListener("beforecolumnsset",n);switch(r===null||r===void 0?void 0:r.mode){case We.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",o);break;case We.autoSizeAll:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",s);break;default:this.addEventListener("headerdblclick",a);break}}async setSource(e){let t=this.autoSizeColumns;if(this.dataReject){this.dataReject();this.clearPromise()}if(!t){const e=new Promise(((e,t)=>{this.dataResolve=e;this.dataReject=t}));try{t=await e}catch(e){return}}p(t,((r,i)=>{const o={};p(t[i],(t=>{t.size=o[t.index]=e.reduce(((e,r)=>Math.max(e,this.getLength(r[t.prop]))),this.getLength(t.name||""))}));this.providers.dimension.setCustomSizes(i,o,true)}))}getLength(e){var t;const r=15;if(!e){return 0}try{const i=e.toString();if((t=this.config)===null||t===void 0?void 0:t.preciseSize){this.precsizeCalculationArea.innerText=i;return this.precsizeCalculationArea.scrollWidth+r*2}return i.length*this.letterBlockSize+r*2}catch(e){return 0}}afteredit(e){let t;if(this.isRangeEdit(e)){t=e.data}else{t={0:{[e.prop]:e.val}}}p(this.autoSizeColumns,((e,r)=>{const i={};p(e,(e=>{var r;const o=u(t,((t,r)=>{if(typeof r[e.prop]==="undefined"){return t}return Math.max(t||0,this.getLength(r[e.prop]))}),undefined);if(o&&((r=e.size)!==null&&r!==void 0?r:0)<o){e.size=i[e.index]=o}}));this.providers.dimension.setCustomSizes(r,i,true)}))}afterEditAll(e){const t={};if(this.isRangeEdit(e)){p(e.data,(e=>p(e,((e,r)=>t[r]=true))))}else{t[e.prop]=true}p(this.autoSizeColumns,((e,r)=>{const i={};p(e,(e=>{if(t[e.prop]){const t=this.getColumnSize(e.index,r);if(t){i[e.index]=t}}}));this.providers.dimension.setCustomSizes(r,i,true)}))}getColumnSize(e,t){var r,i;const o=(i=(r=this.autoSizeColumns)===null||r===void 0?void 0:r[t])===null||i===void 0?void 0:i[e];if(!o){return 0}return u(this.providers.data.stores,((e,t)=>{const r=u(t.store.get("items"),((e,r,i)=>{const s=f(t.store,i);return Math.max(e||0,this.getLength(s[o.prop]))}),0);return Math.max(e,r)}),o.size||0)}columnSet(e){var t;for(let r of H){const i=r;const o=e[i];for(let e in o){if(o[e].autoSize||((t=this.config)===null||t===void 0?void 0:t.allColumns)){if(!this.autoSizeColumns){this.autoSizeColumns={}}if(!this.autoSizeColumns[i]){this.autoSizeColumns[i]={}}this.autoSizeColumns[i][e]=Object.assign(Object.assign({},o[e]),{index:parseInt(e,10)})}}}if(this.dataResolve){this.dataResolve(this.autoSizeColumns||{});this.clearPromise()}}clearPromise(){this.dataResolve=null;this.dataReject=null}isRangeEdit(e){return!!e.data}initiatePresizeElement(){var e;const t={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll"};const r=document.createElement("div");for(let i in t){r.style[i]=(e=t[i])!==null&&e!==void 0?e:""}r.classList.add("revo-test-container");return r}destroy(){var e;super.destroy();(e=this.precsizeCalculationArea)===null||e===void 0?void 0:e.remove()}}const Je=(e,t)=>{if(typeof e==="undefined"||e===null&&!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}const r=t===null||t===void 0?void 0:t.toString().toLocaleLowerCase();if((r===null||r===void 0?void 0:r.length)===0){return true}return e.toLocaleLowerCase()===r};const _e=(e,t)=>!Je(e,t);_e.extra="input";Je.extra="input";const Ke=function(e,t){let r;if(typeof e==="number"&&typeof t!=="undefined"&&t!==null){r=parseFloat(t===null||t===void 0?void 0:t.toString());return e>r}return false};Ke.extra="input";const Ze=function(e,t){return Je(e,t)||Ke(e,t)};Ze.extra="input";const Qe=function(e,t){let r;if(typeof e==="number"&&typeof t!=="undefined"&&t!==null){r=parseFloat(t.toString());return e<r}else{return false}};Qe.extra="input";const et=function(e,t){return Je(e,t)||Qe(e,t)};et.extra="input";const tt=e=>!(e===""||e===null||e===void 0);const rt=e=>!tt(e);const it=(e,t)=>{if(!e){return false}if(!t){return true}if(typeof e!=="string"){e=JSON.stringify(e)}if(typeof t!=="string"){t=JSON.stringify(t)}return e.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())===0};it.extra="input";const ot=(e,t)=>{if(!t){return true}if(!e){return false}if(t){if(typeof e!=="string"){e=JSON.stringify(e)}return e.toLocaleLowerCase().indexOf(t.toString().toLowerCase())>-1}return true};const st=(e,t)=>!ot(e,t);st.extra="input";ot.extra="input";const nt={none:"None",empty:"Not set",notEmpty:"Set",eq:"Equal",notEq:"Not equal",begins:"Begins with",contains:"Contains",notContains:"Does not contain",eqN:"=",neqN:"!=",gt:">",gte:">=",lt:"<",lte:"<="};const at={none:()=>true,empty:rt,notEmpty:tt,eq:Je,notEq:_e,begins:it,contains:ot,notContains:st,eqN:Je,neqN:_e,gt:Ke,gte:Ze,lt:Qe,lte:et};const lt={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const ht="filter";const dt="filterconfigchanged";class ct extends z{constructor(t,r,i){var o;super(t,r);this.revogrid=t;this.filterCollection={};this.multiFilterItems={};this.possibleFilters=Object.assign({},lt);this.possibleFilterNames=Object.assign({},nt);this.possibleFilterEntities=Object.assign({},at);this.filterProp=G;if(i){this.initConfig(i)}const s=e=>this.headerclick(e);const n=async()=>{const e=Object.keys(this.filterCollection);if(e.length>0){e.forEach(((e,t)=>{if(!this.multiFilterItems[e]){this.multiFilterItems[e]=[{id:t,type:this.filterCollection[e].type,value:this.filterCollection[e].value,relation:"and"}]}}))}await this.runFiltering()};this.addEventListener("headerclick",s);this.addEventListener(dt,(({detail:e})=>{if(!e){this.clearFiltering();return}if(typeof e==="object"){this.initConfig(e)}n()}));this.addEventListener("aftersourceset",n);this.addEventListener("filter",(({detail:e})=>this.onFilterChange(e)));const a=this.revogrid.registerVNode.filter((e=>e.t!=="revogr-filter-panel"));this.revogrid.registerVNode=[...a,e("revogr-filter-panel",{filterItems:this.multiFilterItems,filterNames:this.possibleFilterNames,filterEntities:this.possibleFilterEntities,filterCaptions:(o=i===null||i===void 0?void 0:i.localization)===null||o===void 0?void 0:o.captions,onFilterChange:e=>this.onFilterChange(e.detail),disableDynamicFiltering:i===null||i===void 0?void 0:i.disableDynamicFiltering,ref:e=>this.pop=e})]}initConfig(e){if(e.multiFilterItems){this.multiFilterItems=Object.assign({},e.multiFilterItems)}if(e.customFilters){for(let t in e.customFilters){const r=e.customFilters[t];if(!this.possibleFilters[r.columnFilterType]){this.possibleFilters[r.columnFilterType]=[]}this.possibleFilters[r.columnFilterType].push(t);this.possibleFilterEntities[t]=r.func;this.possibleFilterNames[t]=r.name}}if(e.filterProp){this.filterProp=e.filterProp}const t=e.include;if(t){const e={};for(let r in this.possibleFilters){const i=this.possibleFilters[r].filter((e=>t.indexOf(e)>-1));if(i.length){e[r]=i}}if(Object.keys(e).length>0){this.possibleFilters=e}}if(e.collection){this.filterCollection=u(e.collection,((e,t,r)=>{if(this.possibleFilterEntities[t.type]){e[r]=t}else{console.warn(`${t.type} type is not found.`)}return e}),{})}if(e.localization){if(e.localization.filterNames){Object.entries(e.localization.filterNames).forEach((([e,t])=>{if(this.possibleFilterNames[e]!=void 0){this.possibleFilterNames[e]=t}}))}}}async headerclick(e){var t,r,i;const o=(t=e.detail.originalEvent)===null||t===void 0?void 0:t.target;if(!X(o)){return}e.preventDefault();const s=await((r=this.pop)===null||r===void 0?void 0:r.getChanges());if(s&&(s===null||s===void 0?void 0:s.prop)===e.detail.prop){(i=this.pop)===null||i===void 0?void 0:i.show();return}if(!this.pop){return}const n=this.revogrid.getBoundingClientRect();const a=o.getBoundingClientRect();const l=e.detail.prop;this.pop.filterTypes=this.getColumnFilter(e.detail.filter);this.pop.show(Object.assign(Object.assign({},this.filterCollection[l]),{x:a.x-n.x,y:a.y-n.y+a.height,autoCorrect:true,prop:l}))}getColumnFilter(e){let t="string";if(!e){return{[t]:this.possibleFilters[t]}}if(this.isValidType(e)){t=e}else if(typeof e==="object"&&e.length){return e.reduce(((e,t)=>{if(this.isValidType(t)){e[t]=this.possibleFilters[t]}return e}),{})}return{[t]:this.possibleFilters[t]}}isValidType(e){return!!(typeof e==="string"&&this.possibleFilters[e])}async onFilterChange(e){this.multiFilterItems=e;this.runFiltering()}async doFiltering(e,t,r,i){const o=[];r.forEach((e=>{const t=Object.assign({},e);const r=i[t.prop];if(t[this.filterProp]&&!r){delete t[this.filterProp];o.push(t)}if(!t[this.filterProp]&&r){o.push(t);t[this.filterProp]=true}}));const s=this.getRowFilter(t,i);const{defaultPrevented:n,detail:a}=this.emit("beforefiltertrimmed",{collection:e,itemsToFilter:s,source:t,filterItems:i});if(n){return}const l=await this.revogrid.addTrimmed(a.itemsToFilter,ht);if(l.defaultPrevented){return}await this.revogrid.updateColumns(o);this.emit("afterfilterapply")}async clearFiltering(){this.multiFilterItems={};await this.runFiltering()}async runFiltering(){const e={};const t=Object.keys(this.multiFilterItems);for(const r of t){if(this.multiFilterItems[r].length>0){const t=this.multiFilterItems[r][0];e[r]={filter:at[t.type],type:t.type,value:t.value}}}this.filterCollection=e;const{source:r,columns:i}=await this.getData();const{defaultPrevented:o,detail:s}=this.emit("beforefilterapply",{collection:this.filterCollection,source:r,columns:i,filterItems:this.multiFilterItems});if(o){return}this.doFiltering(s.collection,s.source,s.columns,s.filterItems)}async getData(){return{source:await this.revogrid.getSource(),columns:await this.revogrid.getColumns()}}getRowFilter(e,t){const r=Object.keys(t);const i={};let o=0;let s=[];e.forEach(((e,n)=>{for(const a of r){const r=t[a];o=0;s=[];for(const[t,i]of r.entries()){const n=this.possibleFilterEntities[i.type];if(i.relation==="or"){s=[];if(n(e[a],i.value)){continue}o++}else{s.push(!n(e[a],i.value));const l=r[t+1];if(!l||l.relation!=="and"){if(s.indexOf(true)===-1){s=[];continue}o+=s.length;s=[]}}}if(o===r.length)i[n]=true}}));return i}}var ut=F,gt=c,ft=T;var vt="[object String]";function pt(e){return typeof e=="string"||!gt(e)&&ft(e)&&ut(e)==vt}var mt=pt;var wt=C;var bt=wt("length");var xt=bt;var Ct="\\ud800-\\udfff",yt="\\u0300-\\u036f",St="\\ufe20-\\ufe2f",kt="\\u20d0-\\u20ff",Rt=yt+St+kt,jt="\\ufe0e\\ufe0f";var Ot="\\u200d";var Et=RegExp("["+Ot+Ct+Rt+jt+"]");function Lt(e){return Et.test(e)}var Pt=Lt;var zt="\\ud800-\\udfff",Ht="\\u0300-\\u036f",Mt="\\ufe20-\\ufe2f",It="\\u20d0-\\u20ff",Dt=Ht+Mt+It,Ft="\\ufe0e\\ufe0f";var Tt="["+zt+"]",Nt="["+Dt+"]",Bt="\\ud83c[\\udffb-\\udfff]",$t="(?:"+Nt+"|"+Bt+")",Vt="[^"+zt+"]",At="(?:\\ud83c[\\udde6-\\uddff]){2}",Ut="[\\ud800-\\udbff][\\udc00-\\udfff]",qt="\\u200d";var Gt=$t+"?",Xt="["+Ft+"]?",Wt="(?:"+qt+"(?:"+[Vt,At,Ut].join("|")+")"+Xt+Gt+")*",Yt=Xt+Gt+Wt,Jt="(?:"+[Vt+Nt+"?",Nt,At,Ut,Tt].join("|")+")";var _t=RegExp(Bt+"(?="+Bt+")|"+Jt+Yt,"g");function Kt(e){var t=_t.lastIndex=0;while(_t.test(e)){++t}return t}var Zt=Kt;var Qt=xt,er=Pt,tr=Zt;function rr(e){return er(e)?tr(e):Qt(e)}var ir=rr;var or=y,sr=S,nr=n,ar=mt,lr=ir;var hr="[object Map]",dr="[object Set]";function cr(e){if(e==null){return 0}if(nr(e)){return ar(e)?lr(e):e.length}var t=sr(e);if(t==hr||t==dr){return e.size}return or(e).length}var ur=cr;class gr extends z{async runSorting(e,t){var r;await this.sort(e,t);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(e,t){super(e,t);this.revogrid=e;this.sortingPromise=null;this.postponeSort=$((async(e,t)=>this.runSorting(e,t)),50);const r=async({detail:{type:e}})=>{if(!!this.sorting&&this.sortingFunc){const t=this.emit("beforesorting",{type:e});if(t.defaultPrevented){return}this.startSorting(this.sorting,this.sortingFunc)}};const i=async({detail:{order:e}})=>{const t=await this.revogrid.getColumns();const r={};for(let i in e){const o=this.getComparer(Ae.getColumnByProp(t,i),e[i]);r[i]=o}this.runSorting(e,r)};const o=async e=>{var t,r;if(e.defaultPrevented){return}if(!e.detail.column.sortable){return}this.headerclick(e.detail.column,e.detail.index,(r=(t=e.detail)===null||t===void 0?void 0:t.originalEvent)===null||r===void 0?void 0:r.shiftKey)};this.addEventListener("beforeanysource",r);this.addEventListener("aftercolumnsset",i);this.addEventListener("beforeheaderclick",o)}startSorting(e,t){if(!this.sortingPromise){this.revogrid.jobsBeforeRender.push(new Promise((e=>{this.sortingPromise=e})))}this.postponeSort(e,t)}getComparer(e,t){var r;const i=((r=e===null||e===void 0?void 0:e.cellCompare)===null||r===void 0?void 0:r.bind({order:t}))||this.defaultCellCompare;if(t=="asc"){return i}if(t=="desc"){return this.descCellCompare(i)}return undefined}async headerclick(e,t,r){var i,o;let s=this.getNextOrder(e.order);const n=this.emit("beforesorting",{column:e,order:s,additive:r});if(n.defaultPrevented){return}s=n.detail.order;const a=await this.revogrid.updateColumnSorting(n.detail.column,t,s,r);const l=this.emit("beforesortingapply",{column:a,order:s,additive:r});if(l.defaultPrevented){return}s=l.detail.order;const h=this.getComparer(e,s);if(r&&this.sorting){const t={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),t);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(e.prop in t&&ur(t)>1&&s===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=s;r[e.prop]=h}}else{if(s){this.sorting={[e.prop]:s};this.sortingFunc={[e.prop]:h}}else{(i=this.sorting)===null||i===void 0?true:delete i[e.prop];(o=this.sortingFunc)===null||o===void 0?true:delete o[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(e,t,r=["rgRow","rowPinStart","rowPinEnd"]){if(!ur(e)){this.sorting=undefined;this.sortingFunc=undefined;for(let e of r){const t=await this.revogrid.getSourceStore(e);const r=t.get("source");const i=k(0,r.length);R(t,{proxyItems:i,source:[...r]})}}else{this.sorting=e;this.sortingFunc=t;for(let e of r){const r=await this.revogrid.getSourceStore(e);const i=r.get("source");const o=r.get("proxyItems");const s=this.sortIndexByItems([...o],i,t);R(r,{proxyItems:s,source:[...i]})}}this.emit("aftersortingapply")}defaultCellCompare(e,t,r){var i,o;const s=(i=t[e])===null||i===void 0?void 0:i.toString().toLowerCase();const n=(o=r[e])===null||o===void 0?void 0:o.toString().toLowerCase();return s==n?0:s>n?1:-1}descCellCompare(e){return(t,r,i)=>-1*e(t,r,i)}sortIndexByItems(e,t,r={}){if(Object.entries(r).length===0){return[...Array(e.length).keys()]}return e.sort(((e,i)=>{for(const[o,s]of Object.entries(r)){const r=t[e];const n=t[i];const a=s===null||s===void 0?void 0:s(o,r,n);if(a){return a}}return 0}))}getNextOrder(e){switch(e){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}function fr(e,t,r){if(e===e){if(r!==undefined){e=e<=r?e:r}if(t!==undefined){e=e>=t?e:t}}return e}var vr=fr;var pr=vr,mr=j;var wr=4294967295;function br(e){return e?pr(mr(e),0,wr):0}var xr=br;var Cr=j,yr=xr;function Sr(e,t,r,i){var o=e.length;r=Cr(r);if(r<0){r=-r>o?0:o+r}i=i===undefined||i>o?o:Cr(i);if(i<0){i+=o}i=r>i?0:yr(i);while(r<i){e[r++]=t}return e}var kr=Sr;var Rr=kr,jr=O;function Or(e,t,r,i){var o=e==null?0:e.length;if(!o){return[]}if(r&&typeof r!="number"&&jr(e,t,r)){r=0;i=o}return Rr(e,t,r,i)}var Er=Or;const Lr={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const Pr=String.fromCharCode(13);const zr=String.fromCharCode(10);const Hr=String.fromCharCode(34);const Mr=String.fromCharCode(65279);const Ir=new RegExp('"',"g");class Dr{constructor(e={}){this.options=Object.assign(Object.assign({},Lr),e)}doExport({data:e,headers:t,props:r}){let i=this.options.bom?Mr:"";if((t===null||t===void 0?void 0:t.length)>0){t.forEach((e=>{if(!e.length){return}i+=this.prepareHeader(e,this.options.columnDelimiter);i+=this.options.rowDelimiter}))}e.forEach(((e,t)=>{if(t>0){i+=this.options.rowDelimiter}if(W(e)){i+=this.parseCell(Y(e),this.options.columnDelimiter);return}i+=r.map((t=>this.parseCell(e[t],this.options.columnDelimiter))).join(this.options.columnDelimiter)}));return i}prepareHeader(e,t){let r="";const i=e.map((e=>this.parseCell(e,t,true)));r+=i.join(t);return r}parseCell(e,t,r=false){let i=e;if(typeof e!=="string"){i=JSON.stringify(e)}const o=[Pr,Hr,zr,t];if(typeof i==="undefined"){return""}if(i!==""&&(r||o.some((e=>i.indexOf(e)>=0)))){return`"${i.replace(Ir,'""')}"`}return i}}var Fr;(function(e){e["csv"]="csv"})(Fr||(Fr={}));class Tr extends z{async exportString(e={},t=Fr.csv){const r=await this.beforeexport();if(!r){return null}return this.formatter(t,e).doExport(r)}async exportBlob(e={},t=Fr.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=Fr.csv){const r=this.formatter(t,e);const i=window.URL||window.webkitURL;const o=document.createElement("a");const{filename:s,fileKind:n}=r.options;const a=`${s}.${n}`;const l=await this.getBlob(r);const h=l?i.createObjectURL(l):"";o.style.display="none";o.setAttribute("href",h);o.setAttribute("download",a);this.revogrid.appendChild(o);o.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(o);await A(120);i.revokeObjectURL(h)}async getBlob(e){const t=`${e.options.mime};charset=${e.options.encoding}`;if(typeof Blob!=="undefined"){const r=await this.beforeexport();if(!r){return null}return new Blob([e.doExport(r)],{type:t})}return null}async beforeexport(){let e=await this.getData();const t=this.emit("beforeexport",{data:e});if(t.defaultPrevented){return null}return t.detail.data}async getData(){const e=await this.getSource();const t=[];const r=[];H.forEach(((e,i)=>{r.push(this.getColPerSource(e).then((e=>t[i]=e)))}));await Promise.all(r);const i={headers:[],props:[]};for(let e of t){e.headers.forEach(((e,t)=>{if(!i.headers[t]){i.headers[t]=[]}i.headers[t].push(...e)}));i.props.push(...e.props)}return Object.assign({data:e},i)}async getColPerSource(e){const t=await this.revogrid.getColumnStore(e);const r=t.get("source");const i=t.get("items");const o=t.get("groupingDepth");const s=t.get("groups");const n=[];const a=[];const l=i.reduce(((e,t,i)=>{const o=r[t].prop;n.push(r[t].name||"");a.push(o);e[o]=i;return e}),{});const h=this.getGroupHeaders(o,s,i,l);h.push(n);return{headers:h,props:a}}getGroupHeaders(e,t,r,i){const o=[];const s=Er(new Array(r.length),"");for(let r=0;r<e;r++){const e=[...s];o.push(e);if(!t[r]){continue}const n=t[r];n.forEach((t=>{const r=this.findGroupStartIndex(t.ids,i);if(typeof r==="number"){e[r]=t.name}}))}return o}findGroupStartIndex(e,t){let r;e.forEach((e=>{const i=t[e];if(typeof i==="number"){if(typeof r!=="number"||r>i){r=i}}}));return r}async getSource(){const e=[];const t=[];M.forEach((r=>{const i=[];e.push(i);const o=this.revogrid.getVisibleSource(r).then((e=>i.push(...e)));t.push(o)}));await Promise.all(t);return e.reduce(((e,t)=>{e.push(...t);return e}),[])}formatter(e,t={}){switch(e){case Fr.csv:return new Dr(t);default:throw new Error("Unknown format")}}}function Nr(e,t){const r=t[e];const i=r[Q];const o={};let s=e+1;const n=t.length;while(s<n){const e=t[s];if(W(e)){const t=e[Q];if(!t.length||!t.startsWith(i+",")){break}e[J]=false}o[s++]=true}r[J]=false;return{trimmed:o}}function Br(e,t,r){const i=r[e];const o=t[i];const s=_(o[ee]);const n={};if(!s){return{trimmed:n}}const a=[];o[J]=true;let l=i+1;const h=t.length;let d=0;while(l<h){const e=t[l];const r=W(e);if(r){if(!K(s,o,e)){break}else if(!d){d=e[Z]}}if(!d||r&&d===e[Z]){n[l]=false;a.push(l)}l++}const c={trimmed:n};if(a.length){const t=[...r];t.splice(e+1,0,...a);c.items=t}return c}const $r="grouping";function Vr(e,t,r){const i={};for(let o in e){if(o===$r){continue}const s=e[o];const n={};for(let e in s){let a=t[e];if(r){a=r[a]}if(s[e]){n[a]=true;if(a!==parseInt(e,10)){i[o]=n}}}}return i}class Ar extends z{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[te].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(W(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[$r];let i=E(this.store,e);const o=t[i];const s=o[J];if(!s){const{trimmed:i,items:o}=Br(e,t,this.rowItems);r=Object.assign(Object.assign({},r),i);if(o){L(this.store,o)}}else{const{trimmed:e}=Nr(i,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,$r)}getSource(e=false){const t=this.store.get("source");const r=this.store.get("proxyItems");let i=0;return r.reduce(((r,o)=>{const s=t[o];if(!e){r.source.push(s);return r}if(!W(s)){r.source.push(s);r.oldNewIndexes[o]=i;i++}else{if(s[J]){r.prevExpanded[s[Q]]=true}}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][re]=true;return true}return false}setColumns({columns:e}){for(let t of H){if(this.setColumnGrouping(e[t])){break}}}onDrag(e){const{from:t,to:r}=e.detail;const i=r-t>=0;const{source:o}=this.getSource();const s=this.rowItems;let n=i?t:r;const a=i?r:t;for(;n<a;n++){const t=o[s[n]];const r=W(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===ht){const t=this.store.get("source");for(let r in e){if(e[r]&&W(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(ie,(({detail:e})=>this.onExpand(e)))}doSourceUpdate(e){var t;if(!this.hasProps){return}const{source:r,prevExpanded:i,oldNewIndexes:o}=this.getSource(true);const{sourceWithGroups:s,depth:n,trimmed:a,oldNewIndexMap:l,childrenByGroup:h}=oe(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:i},e));this.providers.data.setData(s,te,this.revogrid.disableVirtualY,{depth:n,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(a,h,o!==null&&o!==void 0?o:{},l)}onDataSet(e){var t;if(!this.hasProps||!(e===null||e===void 0?void 0:e.source)||!e.source.length){return}const r=e.source.filter((e=>!W(e)));const i=this.revogrid.grouping||{};const{sourceWithGroups:o,depth:s,trimmed:n,oldNewIndexMap:a,childrenByGroup:l}=oe(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({},i||{}));e.source=o;this.providers.data.setGrouping({depth:s});this.updateTrimmed(n,l,a)}setGrouping(e){this.clearSubscriptions();this.options=e;if(!e.props||!Object.keys(e.props).length){this.clearGrouping();return}const{source:t}=this.getSource();if(t.length){this.doSourceUpdate(Object.assign({},e))}for(let e of H){if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}}this.subscribe()}clearGrouping(){H.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(se(e)){delete e[re];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,te,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r={},i){const o=Vr(this.trimmed,r,i);for(let e in o){this.revogrid.addTrimmed(o[e],e)}this.revogrid.addTrimmed(Object.assign({},e),$r)}}function Ur(e){const t=e.dimensions[e.colType].store;const r=t.get("realSize");const i={contentWidth:r,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:`${r}px`}:undefined};const o={colData:w(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get("groups"),groupingDepth:e.colStore.get("groupingDepth"),resizeHandler:e.colType==="colPinEnd"?["l"]:undefined,onHeaderresize:e.onHeaderresize};return{prop:i,type:e.colType,position:e.position,headerProp:o,viewportCol:e.viewports[e.colType].store}}class qr{constructor(e,t){var r,i;this.config=e;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const o=[];let s=0;H.forEach((r=>{const i=e.columnProvider.stores[r].store;if(!i.get("items").length){return}const n={colType:r,position:{x:s,y:1},contentHeight:t,fixWidth:r!=="rgCol",viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,colStore:i,onHeaderresize:e=>this.onColumnResize(r,e,i)};if(r==="rgCol"){n.onResizeviewport=t=>{var r;if(e.disableVirtualY&&t.detail.dimension==="rgRow"){return}else if(e.disableVirtualX&&t.detail.dimension==="rgCol"){return}(r=e.viewportProvider)===null||r===void 0?void 0:r.setViewport(t.detail.dimension,{virtualSize:t.detail.size})}}const a=Ur(n);const l=this.registerCol(a.position.x,r);const h=this.dataViewPort(n).reduce(((t,i)=>{const o=this.registerSegment(i.position);o.setLastCell(i.lastCell);const s=this.registerRow(i.position.y,i.type);const n=Object.assign(Object.assign({colType:r},i),{rowSelectionStore:s,segmentSelectionStore:o.store,ref:t=>e.selectionStoreConnector.registerSection(t),onSetrange:e=>{o.setRangeArea(e.detail)},onSettemprange:e=>o.setTempArea(e.detail),onFocuscell:t=>{o.clearFocus();e.selectionStoreConnector.focus(o,t.detail)}});t.push(n);return t}),[]);o.push(Object.assign(Object.assign({},a),{columnSelectionStore:l,dataPorts:h}));s++}));this.columns=o;(i=this.config.scrollingService)===null||i===void 0?void 0:i.unregister()}onColumnResize(e,{detail:t},r){var i;(i=this.config.dimensionProvider)===null||i===void 0?void 0:i.setCustomSizes(e,t,true);const o=u(t||{},((e,t,i)=>{const o=parseInt(i,10);const s=f(r,o);if(s){e[o]=Object.assign(Object.assign({},s),{size:t})}return e}),{});this.config.resize(o)}registerSegment(e){return this.config.selectionStoreConnector.register(e)}registerRow(e,t){return this.config.selectionStoreConnector.registerRow(e,t).store}registerCol(e,t){return this.config.selectionStoreConnector.registerColumn(e,t).store}dataViewPort(e){const t={rowPinStart:ae,rgRow:le,rowPinEnd:he};let r=0;return M.reduce(((i,o)=>{const s=e.viewports[o].store.get("realCount")||o==="rgRow";const n=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:s?r:N})});const a=ne(n,o,t[o],o!=="rgRow");i.push(a);if(s){r++}return i}),[])}scrollToCell(e){for(let t in e){const r=e[t];if(typeof r==="number"){this.config.scrollingService.proxyScroll({dimension:t==="x"?"rgCol":"rgRow",coordinate:r})}}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e){return null}const t=this.config.selectionStoreConnector.storesXToType[e.position.x];const r=this.config.columnProvider.getColumn(e.cell.x,t);const i=this.config.selectionStoreConnector.storesYToType[e.position.y];const o=this.config.dataProvider.getModel(e.cell.y,i);return{column:r,model:o,cell:e.cell,colType:t,rowType:i}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(typeof r[e]==="undefined"||typeof r[t]==="undefined"){return}return{x:r[e],y:r[t]}}setFocus(e,t,r,i){var o;const s=this.getStoreCoordinateByType(e,t);if(s){(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.focusByCell(s,r,i)}}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,i){var o;const s=this.getStoreCoordinateByType(r,i);if(s){(o=this.config.selectionStoreConnector)===null||o===void 0?void 0:o.setEditByCell(s,{x:t,y:e})}}}class Gr{constructor(e){this.setViewport=e;this.elements={}}async proxyScroll(e,t){var r;let i;let o=e;for(let o in this.elements){if(e.dimension==="rgCol"&&o==="headerRow"){continue}else if(this.isPinnedColumn(t)&&e.dimension==="rgCol"){if(o===t||!e.delta){continue}for(let t of this.elements[o]){if(t.changeScroll){i=t.changeScroll(e)}}}else{for(let t of this.elements[o]){await((r=t.setScroll)===null||r===void 0?void 0:r.call(t,e))}}}const s=await i;if(s){o=s}this.setViewport(o)}async scrollSilentService(e,t){var r;for(let i in this.elements){if(i===t){continue}if(H.includes(t)&&(i==="headerRow"||H.includes(i))){for(let t of this.elements[i]){await((r=t.changeScroll)===null||r===void 0?void 0:r.call(t,e,true))}continue}}}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){if(!this.elements[t]){this.elements[t]=[]}if(e){this.elements[t].push(e)}else if(this.elements[t]){delete this.elements[t]}}unregister(){this.elements={}}}class Xr{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:i}){var o;const{top:s}=e.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(t);this.moveTip({x:i.x,y:i.y});(o=this.el)===null||o===void 0?void 0:o.classList.remove("hidden")}end(){var e;(e=this.el)===null||e===void 0?void 0:e.classList.add("hidden")}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){if(!this.draggable){return}this.draggable.style.left=`${e}px`;this.draggable.style.top=`${t}px`}moveElement(e){if(!this.rgRow){return}this.rgRow.style.transform=`translateY(${e}px)`}}const Wr=({ref:t})=>{const r=new Xr;t(r);return e("div",{class:"draggable-wrapper hidden",ref:e=>r.el=e},e("div",{class:"draggable",ref:e=>r.draggable=e},e("span",{class:"revo-alt-icon"}),e("span",{ref:e=>r.text=e})),e("div",{class:"drag-position",ref:e=>r.rgRow=e}))};class Yr extends z{constructor(e,t){super(e,t);this.providers=t;this.stretchedColumn=null;this.scrollSize=U(document);const r=({detail:{columns:e}})=>this.applyStretch(e);this.addEventListener("beforecolumnapplied",r)}setScroll({type:e,hasScroll:t}){var r;if(e==="rgRow"&&this.stretchedColumn&&((r=this.stretchedColumn)===null||r===void 0?void 0:r.initialSize)===this.stretchedColumn.size){if(t){this.stretchedColumn.size-=this.scrollSize;this.apply();this.dropChanges()}}}activateChanges(){const e=({detail:e})=>this.setScroll(e);this.addEventListener("scrollchange",e)}dropChanges(){this.stretchedColumn=null;this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn){return}const e="rgCol";const t=this.providers.dimension.stores[e].store.get("sizes");this.providers.dimension.setCustomSizes(e,Object.assign(Object.assign({},t),{[this.stretchedColumn.index]:this.stretchedColumn.size}),true)}applyStretch(e){this.dropChanges();let t=this.revogrid.clientWidth-1;p(e,((e,r)=>{const i=this.providers.dimension.stores[r].store.get("realSize");t-=i}));if(this.revogrid.rowHeaders){const e=this.providers.data.stores.rgRow.store.get("source").length;const r=this.revogrid.rowHeaders;const i=ce(e,typeof r==="object"?r:undefined);if(i){t-=i}}if(t>0){const r=e.rgCol.length-1;const i=e.rgCol[r];const o=(i===null||i===void 0?void 0:i.size)||this.revogrid.colSize||0;const s=t+o-1;if(i&&!i.autoSize&&o<s){this.stretchedColumn={initialSize:s,index:r,size:s};this.apply();this.activateChanges()}}}}function Jr(e){return!!e.applyStretch}const _r=(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 Kr=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]=[]}if(r.size){e.push(r.index)}}return t};const Zr="column-drag-start";class Qr{constructor(){this.offset=0}renderAutoscroll(e,t){if(!t){return}this.autoscrollEl=document.createElement("div");this.autoscrollEl.classList.add("drag-auto-scroll-y");t.appendChild(this.autoscrollEl)}autoscroll(e,t,r="translateX"){if(!this.autoscrollEl){return}const i=10;const o=Math.min(e+i,t-3);this.autoscrollEl.style.transform=`${r}(${o}px)`;this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"})}start(e,{dataEl:t,gridRect:r,scrollEl:i,gridEl:o},s="left"){o.classList.add(Zr);const n=i.getBoundingClientRect();if(n){this.offset=n[s]-r[s]}this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(Zr);if(this.element){this.element.hidden=true}this.offset=0;(t=this.autoscrollEl)===null||t===void 0?void 0:t.remove();this.autoscrollEl=undefined}showHandler(e,t,r="translateX"){if(!this.element){return}if(this.offset){e=Math.max(e,this.offset)}e=Math.min(e,t);this.element.style.transform=`${r}(${e}px)`;this.element.hidden=false}render(){const e=this.element=document.createElement("div");e.classList.add("drag-position-y");e.hidden=true;return e}}const ei=fe;const ti="columndragmousemove";const ri="columndragend";const ii="beforecolumndragend";const oi="columndragstart";class si extends z{constructor(e,t){super(e,t);this.revogrid=e;this.providers=t;this.moveFunc=$((e=>this.doMove(e)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new Qr;e.appendChild(this.orderUi.render());e.classList.add("column-draggable");this.localSubscriptions["mouseleave"]={target:document,callback:e=>this.onMouseOut(e)};this.localSubscriptions["mouseup"]={target:document,callback:e=>this.onMouseUp(e)};this.localSubscriptions["mousemove"]={target:document,callback:e=>this.move(e)};this.addEventListener(ei,(({detail:e})=>this.dragStart(e)))}dragStart({event:e,data:t}){if(e.defaultPrevented){return}const{defaultPrevented:r}=ge(this.revogrid,oi,t);if(r){return}this.clearOrder();const{mouseleave:i,mouseup:o,mousemove:s}=this.localSubscriptions;i.target.addEventListener("mouseleave",i.callback);o.target.addEventListener("mouseup",o.callback);const n=e.target.closest("revogr-header");const a=e.target.closest("revogr-viewport-scroll");if(!n||!a){return}if(Ve(t)||t.providers.type==="rowHeaders"){return}const l=this.getDimension(t.pin||"rgCol");const h=this.revogrid.getBoundingClientRect();const d=n.getBoundingClientRect();const c=P(l,ni(e.x,h.left,d.left-h.left));this.staticDragData={startPos:e.x,startItem:c,data:t,dataEl:n,scrollEl:a,gridEl:this.revogrid,cols:l};this.dragData=this.getData(this.staticDragData);s.target.addEventListener("mousemove",s.callback);this.orderUi.start(e,Object.assign(Object.assign({},this.dragData),this.staticDragData))}doMove(e){if(!this.staticDragData){return}const t=this.dragData=this.getData(this.staticDragData);if(!t){return}const r=this.staticDragData.startPos;if(Math.abs(r-e.x)>10){const r=ni(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const i=P(this.staticDragData.cols,r);this.orderUi.autoscroll(r,t.elRect.width);this.orderUi.showHandler(i.end+t.scrollOffset,t.gridRect.width)}}move(e){ge(this.revogrid,ti,e);this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){if(this.dragData&&this.staticDragData){let t=ni(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(t<0){t=0}const r=P(this.staticDragData.cols,t);const i=this.providers.column.stores[this.dragData.type].store;const o=[...i.get("items")];const{defaultPrevented:s}=ge(this.revogrid,ii,Object.assign(Object.assign({},this.staticDragData),{startPosition:this.staticDragData.startItem,newPosition:r,newItem:i.get("source")[o[this.staticDragData.startItem.itemIndex]]}));if(!s){const e=o.splice(this.staticDragData.startItem.itemIndex,1);o.splice(r.itemIndex,0,...e);i.set("items",o)}ge(this.revogrid,ri,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){p(this.localSubscriptions,(({target:e,callback:t},r)=>e.removeEventListener(r,t)))}clearOrder(){this.staticDragData=null;this.dragData=null;this.clearLocalSubscriptions();this.orderUi.stop(this.revogrid)}clearSubscriptions(){super.clearSubscriptions();this.clearLocalSubscriptions()}getData({gridEl:e,dataEl:t,data:r}){const i=e.getBoundingClientRect();const o=t.getBoundingClientRect();const s=o.left-i.left;return{elRect:o,gridRect:i,type:r.pin||"rgCol",scrollOffset:s}}getDimension(e){return this.providers.dimension.stores[e].getCurrentState()}}function ni(e,t,r){return e-t-r}function ai(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}const li='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 #cecece inset, 1px 0 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #cecece inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #cecece inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}';const hi=li;const di=class{constructor(e){t(this,e);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=true;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[]}async refresh(e="all"){this.dataProvider.refresh(e)}async setDataAt(e){const t=this.element.querySelector(`revogr-data[type="${e.rowType}"][col-type="${e.colType}"]`);return t===null||t===void 0?void 0:t.updateCell({row:e.row,col:e.col})}async scrollToRow(e=0){const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){const r=this.columnProvider.getColumnIndexByProp(e,t);if(r<0){return}const i=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:t});await this.scrollToCoordinate({x:i})}async updateColumns(e){this.columnProvider.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){const i=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});if(i.defaultPrevented){return i}this.dataProvider.setTrimmed({[t]:i.detail.trimmed},r);this.aftertrimmed.emit();return i}async scrollToCoordinate(e){var t;(t=this.viewport)===null||t===void 0?void 0:t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var i;const o=Ae.getColumnByProp(this.columns,t);if(!o){return}await A();const s=o.pin||"rgCol";(i=this.viewport)===null||i===void 0?void 0:i.setEdit(e,this.columnProvider.getColumnIndexByProp(t,s),s,r)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},r="rgCol",i="rgRow"){var o;(o=this.viewport)===null||o===void 0?void 0:o.setFocus(r,i,e,t)}async getSource(e="rgRow"){return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){return w(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r,i){return this.columnProvider.updateColumnSorting(e,t,r,i)}async clearSorting(){this.columnProvider.clearSorting()}async getColumns(){return this.columnProvider.getColumns()}async clearFocus(){var e;const t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused();const r=this.beforefocuslost.emit(t);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused())!==null&&t!==void 0?t:null}async getContentSize(){var e;return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange())!==null&&t!==void 0?t:null}mousedownHandle(e){const t=ue(e,"screenX");const r=ue(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}async mouseupHandle(e){var t;const r=ue(e,"screenX");const i=ue(e,"screenY");if(r===null||i===null){return}if(e.defaultPrevented){return}const o=r+i;if(Math.abs(((t=this.clickTrackForFocusClear)!==null&&t!==void 0?t:0)-o)>10){return}const s=e.composedPath();if(!s.includes(this.element)&&!(this.element.shadowRoot&&s.includes(this.element.shadowRoot))){await this.clearFocus()}}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);if(r.defaultPrevented){e.preventDefault();return}(t=this.orderService)===null||t===void 0?void 0:t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;(e=this.orderService)===null||e===void 0?void 0:e.end()}onRowDrag({detail:e}){var t;(t=this.orderService)===null||t===void 0?void 0:t.move(e)}onRowMouseMove(e){var t;(t=this.orderService)===null||t===void 0?void 0:t.moveTip(e.detail)}async onCellEdit(e){const{defaultPrevented:t,detail:r}=this.beforeedit.emit(e.detail);await A();if(!t){this.dataProvider.setCellData(r);this.afteredit.emit(r)}}onRangeEdit(e){const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(e){const t=this.beforerange.emit(e.detail);if(t.defaultPrevented){e.preventDefault()}const r=this.beforeautofill.emit(t.detail);if(r.defaultPrevented){e.preventDefault()}}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);if(t){e.preventDefault()}}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));if(t){e.preventDefault()}}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);if(!this.canFocus||t){e.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[]){const t=Ae.getColumns(e,0,this.columnTypes);this.beforecolumnsset.emit(t);this.dimensionProvider.applyNewColumns(t.columns,this.disableVirtualX);this.beforecolumnapplied.emit(t);const r=this.columnProvider.setColumns(t);this.aftercolumnsset.emit({columns:r,order:this.columnProvider.order})}disableVirtualXChanged(e=false,t=false){if(e===t){return}this.columnChanged(this.columns)}rowSizeChanged(e){this.dimensionProvider.setSettings({originItemSize:e},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(e,t,r="theme",i=false){this.themeService.register(e);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!i){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(e)}dataSourceChanged(e=[],t,r){let i="rgRow";switch(r){case"pinnedBottomSource":i="rowPinEnd";break;case"pinnedTopSource":i="rowPinStart";break;case"source":i="rgRow";const t=this.beforesourceset.emit({type:i,source:e});e=t.detail.source;break}const o=this.beforeanysource.emit({type:i,source:e});const s=[...o.detail.source];this.dataProvider.setData(s,i,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:i,source:e})}this.afteranysource.emit({type:i,source:e})}disableVirtualYChanged(e=false,t=false){if(e===t){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,i=true){const{detail:{vals:o,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const n=_r(o);if(s){const e=Kr(s);for(const t in e){if(e.hasOwnProperty(t)){const e=t;const r=this.dataProvider.stores[e];const i=r.store.get("source").length;this.dimensionProvider.clearSize(e,i)}}}if(!o.length){if(i){this.dimensionProvider.setCustomSizes("rgRow",{})}else{return}}Object.entries(n).forEach((([e,t])=>{const r=e;this.dimensionProvider.setCustomSizes(r,t.sizes||{})}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){let t;for(let e of this.internalPlugins){const r=e;if(!!r.setGrouping){t=r;break}}t===null||t===void 0?void 0:t.setGrouping(e||{})}applyStretch(e){if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>Jr(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 Yr(this.element,e))}else if(Jr(t)){t.applyStretch(this.columnProvider.getRawColumns())}}else if(t){const e=this.internalPlugins.indexOf(t);this.internalPlugins.splice(e,1)}}applyFilter(e){this.filterconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=[...this.extraElements,...e]}additionalDataChanged(e){this.additionaldatachanged.emit(e)}setPlugins(){var e;this.removePlugins();const t={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};if(this.autoSizeColumn){this.internalPlugins.push(new Ye(this.element,t,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new ct(this.element,t,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new Tr(this.element,t))}this.internalPlugins.push(new gr(this.element,t));this.internalPlugins.push(new Ar(this.element,t));if(this.canMoveColumns){this.internalPlugins.push(new si(this.element,t))}(e=this.plugins)===null||e===void 0?void 0:e.forEach((e=>this.internalPlugins.push(new e(this.element,t))))}removePlugins(){this.internalPlugins.forEach((e=>{var t;return(t=e.destroy)===null||t===void 0?void 0:t.call(e)}));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var e;this.viewportProvider=new Ge;this.themeService=new xe({rowSize:this.rowSize});this.dimensionProvider=new qe(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new Ae;this.selectionStoreConnector=new B;this.dataProvider=new Ue(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 Gr((e=>{this.dimensionProvider.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}render(){const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new qr({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,disableVirtualX:this.disableVirtualX,disableVirtualY:this.disableVirtualY,resize:e=>this.aftercolumnresize.emit(e)},t);const r=[];if(this.rowHeaders&&this.viewport.columns.length){const i=this.viewport.columns[0];r.push(e("revogr-row-headers",{additionalData:this.additionalData,height:t,rowClass:this.rowClass,resize:this.resize,dataPorts:i.dataPorts,headerProp:i.headerProp,jobsBeforeRender:this.jobsBeforeRender,rowHeaderColumn:typeof this.rowHeaders==="object"?this.rowHeaders:undefined,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,"headerRow"),onRef:({detail:e})=>this.scrollingService.registerElement(e,"headerRow")}))}const o=ai();const s=[];for(let t of this.viewport.columns){const r=Object.assign(Object.assign({},t.headerProp),{type:t.type,additionalData:this.additionalData,viewportCol:t.viewportCol,selectionStore:t.columnSelectionStore,canResize:this.resize,readonly:this.readonly,columnFilter:!!this.filter});const i=[e("revogr-header",Object.assign({key:"b08c837765cf20c88cb5b253a876f0f442c31628"},r,{slot:ae}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`;const n=e("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:o,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:e})=>{const t=this.beforeeditstart.emit(e);if(!t.defaultPrevented){this.selectionStoreConnector.setEdit(e.val)}}}),e("revogr-data",Object.assign({},r,{colType:t.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot: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}`})));i.push(n)}));s.push(e("revogr-viewport-scroll",Object.assign({},t.prop,{ref:e=>this.scrollingService.registerElement(e,`${t.prop.key}`),onScrollviewport:e=>this.scrollingService.proxyScroll(e.detail,`${t.prop.key}`),onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,`${t.prop.key}`)}),i))}r.push(s);const n="rgRow";const a="rgCol";const l=this.viewportProvider.stores;const h=this.dimensionProvider.stores;return e(i,{key:"057a2cf1a64aaeec12d2aca17b09316fb3cbfde6"},this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{key:"e89e3d136d756f80421f42f47e09583985edb1bc",class:"main-viewport",onClick:e=>{var t;if(e.currentTarget===e.target){(t=this.viewport)===null||t===void 0?void 0:t.clearEdit()}}},e("div",{key:"177db78970907d36b8d56549386a18a683573944",class:"viewports"},e("slot",{key:"481d830a232b1969fcaa2519a5306fafaff58fb4",name:"viewport"}),r,e("revogr-scroll-virtual",{key:"6a123b2e84bec95d7a63a73322fe167248e8415e",class:"vertical",dimension:n,viewportStore:l[n].store,dimensionStore:h[n].store,ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e(Wr,{key:"fea1be24668f2039746fff93d0ab5e76d932a166",ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{key:"74c6e05c81b2782320755c910b098edf8858d6db",class:"horizontal",dimension:a,viewportStore:l[a].store,dimensionStore:h[a].store,ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),this.extraElements)}disconnectedCallback(){this.removePlugins()}get element(){return o(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"]}}};di.style=hi;export{di as revo_grid};
|
|
5
5
|
//# sourceMappingURL=revo-grid.entry.js.map
|