@revolist/revogrid 4.9.21 → 4.9.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{column.drag.plugin-9841e68f.js → column.drag.plugin-eb1db875.js} +48 -53
- package/dist/cjs/column.drag.plugin-eb1db875.js.map +1 -0
- package/dist/cjs/{column.service-2471e4f3.js → column.service-6089b047.js} +9 -19
- package/dist/cjs/column.service-6089b047.js.map +1 -0
- package/dist/{esm/debounce-e8e9464a.js → cjs/debounce-ec7a04b4.js} +36 -78
- package/dist/cjs/debounce-ec7a04b4.js.map +1 -0
- package/dist/cjs/{edit.utils-eef92df0.js → edit.utils-093fe9cd.js} +2 -2
- package/dist/cjs/{edit.utils-eef92df0.js.map → edit.utils-093fe9cd.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-751067c0.js → header-cell-renderer-2d56e8f5.js} +2 -2
- package/dist/cjs/{header-cell-renderer-751067c0.js.map → header-cell-renderer-2d56e8f5.js.map} +1 -1
- package/dist/cjs/{index-8bceed03.js → index-a9ee8eef.js} +289 -853
- package/dist/cjs/index-a9ee8eef.js.map +1 -0
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/{key.utils-f548f37c.js → key.utils-1438f2ac.js} +2 -2
- package/dist/cjs/{key.utils-f548f37c.js.map → key.utils-1438f2ac.js.map} +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +41 -72
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +9 -9
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +6 -6
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +21 -44
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +2 -2
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{row-header-utils-5d0d3fab.js → row-header-utils-eb5949b3.js} +7 -9
- package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
- package/dist/cjs/{text-editor-f066d388.js → text-editor-ea3badef.js} +3 -3
- package/dist/cjs/{text-editor-f066d388.js.map → text-editor-ea3badef.js.map} +1 -1
- package/dist/cjs/{throttle-216690f1.js → throttle-6fecba1e.js} +6 -11
- package/dist/cjs/throttle-6fecba1e.js.map +1 -0
- package/dist/collection/components/revoGrid/revo-grid.js +9 -13
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +4 -3
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/store/dimension/dimension.store.js +19 -6
- package/dist/collection/store/dimension/dimension.store.js.map +1 -1
- package/dist/collection/store/vp/viewport.store.js +5 -7
- package/dist/collection/store/vp/viewport.store.js.map +1 -1
- package/dist/esm/{column.drag.plugin-c9787a50.js → column.drag.plugin-cb25a5e1.js} +45 -50
- package/dist/esm/column.drag.plugin-cb25a5e1.js.map +1 -0
- package/dist/esm/{column.service-a6682d9d.js → column.service-407956dd.js} +6 -16
- package/dist/esm/column.service-407956dd.js.map +1 -0
- package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
- package/dist/esm/debounce-7b511afc.js.map +1 -0
- package/dist/esm/{edit.utils-c358c970.js → edit.utils-1eeabeab.js} +2 -2
- package/dist/esm/{edit.utils-c358c970.js.map → edit.utils-1eeabeab.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-52d9d6ba.js → header-cell-renderer-da468bd2.js} +2 -2
- package/dist/esm/{header-cell-renderer-52d9d6ba.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
- package/dist/esm/{index-6c437a0d.js → index-b6586f9b.js} +269 -833
- package/dist/esm/index-b6586f9b.js.map +1 -0
- package/dist/esm/index.js +8 -8
- package/dist/esm/{key.utils-5a827d12.js → key.utils-562c749e.js} +2 -2
- package/dist/esm/{key.utils-5a827d12.js.map → key.utils-562c749e.js.map} +1 -1
- package/dist/esm/revo-grid.entry.js +37 -68
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +9 -9
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +6 -6
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +17 -40
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +2 -2
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{row-header-utils-f5b04d1a.js → row-header-utils-e043f744.js} +7 -9
- package/dist/esm/row-header-utils-e043f744.js.map +1 -0
- package/dist/esm/{text-editor-79a617b5.js → text-editor-654f5d53.js} +3 -3
- package/dist/esm/{text-editor-79a617b5.js.map → text-editor-654f5d53.js.map} +1 -1
- package/dist/esm/{throttle-b94844de.js → throttle-bb3169c7.js} +4 -9
- package/dist/esm/throttle-bb3169c7.js.map +1 -0
- package/dist/revo-grid/column.drag.plugin-cb25a5e1.js +5 -0
- package/dist/revo-grid/column.drag.plugin-cb25a5e1.js.map +1 -0
- package/dist/revo-grid/column.service-407956dd.js +5 -0
- package/dist/revo-grid/column.service-407956dd.js.map +1 -0
- package/dist/revo-grid/debounce-7b511afc.js +5 -0
- package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
- package/dist/revo-grid/{edit.utils-c358c970.js → edit.utils-1eeabeab.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-52d9d6ba.js → header-cell-renderer-da468bd2.js} +2 -2
- package/dist/revo-grid/index-b6586f9b.js +5 -0
- package/dist/revo-grid/index-b6586f9b.js.map +1 -0
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/{key.utils-5a827d12.js → key.utils-562c749e.js} +2 -2
- 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-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
- package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
- package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
- package/dist/revo-grid/{text-editor-79a617b5.js → text-editor-654f5d53.js} +2 -2
- package/dist/revo-grid/throttle-bb3169c7.js +5 -0
- package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
- package/dist/types/store/dimension/dimension.store.d.ts +2 -1
- package/dist/types/store/vp/viewport.store.d.ts +0 -1
- package/hydrate/index.js +412 -1103
- package/hydrate/index.mjs +412 -1103
- package/package.json +3 -3
- package/standalone/column.service.js +5 -16
- package/standalone/column.service.js.map +1 -1
- package/standalone/debounce.js +7 -16
- package/standalone/debounce.js.map +1 -1
- package/standalone/dimension.helpers.js +15 -45
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/index.js +0 -2
- package/standalone/index.js.map +1 -1
- package/standalone/index2.js +0 -2
- package/standalone/index2.js.map +1 -1
- package/standalone/reduce.js +1319 -474
- package/standalone/reduce.js.map +1 -1
- package/standalone/revo-grid.js +74 -111
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-data2.js +0 -2
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-filter-panel.js +2 -2
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus2.js +0 -2
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +12 -37
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +2 -4
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +2 -4
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +5 -9
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-temp-range2.js +2 -2
- package/standalone/revogr-temp-range2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +2 -2
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +0 -2
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/throttle.js +3 -8
- package/standalone/throttle.js.map +1 -1
- package/standalone/toNumber.js +165 -22
- package/standalone/toNumber.js.map +1 -1
- package/dist/cjs/column.drag.plugin-9841e68f.js.map +0 -1
- package/dist/cjs/column.service-2471e4f3.js.map +0 -1
- package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
- package/dist/cjs/index-8bceed03.js.map +0 -1
- package/dist/cjs/row-header-utils-5d0d3fab.js.map +0 -1
- package/dist/cjs/throttle-216690f1.js.map +0 -1
- package/dist/esm/column.drag.plugin-c9787a50.js.map +0 -1
- package/dist/esm/column.service-a6682d9d.js.map +0 -1
- package/dist/esm/debounce-e8e9464a.js.map +0 -1
- package/dist/esm/index-6c437a0d.js.map +0 -1
- package/dist/esm/row-header-utils-f5b04d1a.js.map +0 -1
- package/dist/esm/throttle-b94844de.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-c9787a50.js +0 -5
- package/dist/revo-grid/column.drag.plugin-c9787a50.js.map +0 -1
- package/dist/revo-grid/column.service-a6682d9d.js +0 -5
- package/dist/revo-grid/column.service-a6682d9d.js.map +0 -1
- package/dist/revo-grid/debounce-e8e9464a.js +0 -5
- package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
- package/dist/revo-grid/index-6c437a0d.js +0 -5
- package/dist/revo-grid/index-6c437a0d.js.map +0 -1
- package/dist/revo-grid/row-header-utils-f5b04d1a.js +0 -5
- package/dist/revo-grid/row-header-utils-f5b04d1a.js.map +0 -1
- package/dist/revo-grid/throttle-b94844de.js +0 -5
- package/dist/revo-grid/throttle-b94844de.js.map +0 -1
- package/standalone/_stringToPath.js +0 -1389
- package/standalone/_stringToPath.js.map +0 -1
- package/standalone/isObjectLike.js +0 -195
- package/standalone/isObjectLike.js.map +0 -1
- /package/dist/revo-grid/{edit.utils-c358c970.js.map → edit.utils-1eeabeab.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-52d9d6ba.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
- /package/dist/revo-grid/{key.utils-5a827d12.js.map → key.utils-562c749e.js.map} +0 -0
- /package/dist/revo-grid/{text-editor-79a617b5.js.map → text-editor-654f5d53.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["defaultState","range","tempRange","tempRangeType","focus","edit","lastCell","nextFocus","SelectionStore","constructor","this","unsubscribe","store","createStore","on","key","newVal","set","onChange","propName","cb","push","clearFocus","setStore","setFocus","end","getRange","setNextFocus","setTempArea","area","type","clearTemp","setRangeArea","setRange","start","setLastCell","setEdit","val","get","x","y","dispose","forEach","f","EMPTY_INDEX","SelectionStoreConnector","dirty","stores","columnStores","rowStores","storesByType","storesXToType","storesYToType","sections","focusedStore","focused","_a","entity","cell","position","parseInt","selectedRange","registerSection","e","length","indexOf","beforeUpdate","registerColumn","isHiddenStore","registerRow","register","c","_b","destroy","Object","keys","setEditByCell","storePos","editCell","focusByCell","beforeNextFocusCell","next","getNextStore","assign","item","currentStorePointer","getCurrentStorePointer","cropCellToMax","s","nextItem","nextCell","nextStore","entries","nextItemCoord","getXStores","getYStores","nextLastCell","clearAll","selectAll","i","pos","types","t","croppedCell","cellCoordinates","coordinate","Math","min","x1","max","y1","isRangeSingleCell","a","getCellData","getCellDataParsed","model","column","cellParser","prop","getColumnType","rgCol","pin","getColumnSizes","cols","res","size","isColGrouping","colData","children","getColumns","columns","level","collection","colPinStart","colPinEnd","columnByProp","columnGrouping","maxLevel","sort","reduce","gatherGroup","regularColumn","columnType","order","beforeSetup","group","ids","k","resultItem","collectionItem","isArray","map","findColumn","found","undefined","getColumnByProp","GROUP_DEPTH","GRID_INTERNALS","PSEUDO_GROUP_ITEM","PSEUDO_GROUP_ITEM_ID","PSEUDO_GROUP_ITEM_VALUE","PSEUDO_GROUP_COLUMN","GROUP_EXPANDED","GROUP_ORIGINAL_INDEX","GROUP_EXPAND_BTN","GROUP_EXPAND_EVENT","GROUPING_ROW_TYPE","getGroupValueDefault","gatherGrouping","array","groupIds","prevExpanded","expandedAll","getGroupValue","groupedItems","Map","originalIndex","groupLevelValues","groupId","lastLevelValue","pop","currentGroupLevel","value","has","lastLevelItems","itemIndex","groupingDepth","trimmed","oldNewIndexMap","pseudoGroupTest","sourceWithGroups","flattenGroupMaps","groupedValues","parentIds","isExpanded","depth","innerGroupedValues","levelIds","mergedIds","join","isGroupExpanded","JSON","stringify","Array","pseudoGroupTestIds","_value","index","slice","pseudoGroupTestId","childrenByGroup","getGroupingName","rgRow","isGrouping","isGroupingColumn","measureEqualDepth","groupA","groupB","ln","getParsedGroup","id","parseGroup","parse","isSameGroup","currentGroup","currentModel","nextModel","nextGroup","baseSlice","result","isIterateeCall","toInteger","ColumnService","getVisibleSourceItem","source","dataStore","hasGrouping","checkGrouping","isReadOnly","r","readOnly","readonly","data","rowDataModel","mergeProperties","defaultProps","extraPropsFunc","props","class","CELL_CLASS","DISABLED_CLASS","extra","doPropMerge","getRowClass","getSourceItem","getSaveData","rowIndex","colIndex","colType","getCellEditor","_r","editors","editor","getRangeData","d","changed","copyColLength","oldRange","copyRowLength","mapping","newRange","oldRowIndex","copyRow","j","copyColIndex","copyColumnProp","colProp","getTransformedDataToApply","colLength","rowLength","maxCol","p","currentCol","getRangeStaticData","getRangeTransformedToProps","copyRangeArray","v","toCopy","isRowDragService","rowDrag","mergeClasses","class1","class2","existing","className","style"],"sources":["src/store/selection/selection.store.ts","src/services/selection.store.connector.ts","src/store/selection/selection.helpers.ts","src/utils/column.utils.ts","src/plugins/groupingRow/grouping.const.ts","src/plugins/groupingRow/grouping.service.ts","node_modules/lodash/_baseSlice.js","node_modules/lodash/slice.js","src/components/data/column.service.ts"],"sourcesContent":["/**\n * Selection store\n */\n\nimport { setStore, Observable } from '../../utils/store.utils';\nimport { getRange } from '@store';\nimport { SelectionStoreState, Cell, TempRange, RangeArea, Nullable } from '@type';\nimport { createStore } from '@stencil/store';\n\nfunction defaultState(): SelectionStoreState {\n return {\n range: null,\n tempRange: null,\n tempRangeType: null,\n focus: null,\n edit: null,\n lastCell: null,\n nextFocus: null,\n };\n}\n\nexport class SelectionStore {\n readonly store: Observable<SelectionStoreState>;\n private unsubscribe: { (): void }[] = [];\n constructor() {\n this.store = createStore(defaultState());\n this.store.on('set', (key, newVal) => {\n if (key === 'tempRange' && !newVal) {\n this.store.set('tempRangeType', null);\n }\n });\n }\n\n onChange<Key extends keyof SelectionStoreState>(propName: Key, cb: (newValue: SelectionStoreState[Key]) => void) {\n this.unsubscribe.push(this.store.onChange(propName, cb));\n }\n\n clearFocus() {\n setStore(this.store, { focus: null, range: null, edit: null, tempRange: null });\n }\n\n setFocus(focus: Cell, end?: Cell) {\n if (!end) {\n setStore(this.store, { focus });\n } else {\n setStore(this.store, {\n focus,\n range: getRange(focus, end),\n edit: null,\n tempRange: null,\n });\n }\n }\n\n setNextFocus(focus: Cell) {\n setStore(this.store, { nextFocus: focus });\n }\n\n setTempArea(range: Nullable<TempRange> | null) {\n setStore(this.store, { tempRange: range?.area, tempRangeType: range?.type, edit: null });\n }\n\n clearTemp() {\n setStore(this.store, { tempRange: null });\n }\n\n /** Can be applied from selection change or from simple keyboard change clicks */\n setRangeArea(range: RangeArea | null) {\n setStore(this.store, { range, edit: null, tempRange: null });\n }\n setRange(start: Cell, end: Cell) {\n const range = getRange(start, end);\n this.setRangeArea(range);\n }\n\n setLastCell(lastCell: Cell) {\n setStore(this.store, { lastCell });\n }\n\n setEdit(val?: string | boolean) {\n const focus = this.store.get('focus');\n if (focus && typeof val === 'string') {\n setStore(this.store, {\n edit: { x: focus.x, y: focus.y, val },\n });\n return;\n }\n setStore(this.store, { edit: null });\n }\n\n dispose() {\n this.unsubscribe.forEach(f => f());\n this.store.dispose();\n }\n}\n","import { cropCellToMax, isHiddenStore, nextCell, SelectionStore } from '@store';\nimport type {\n MultiDimensionType,\n DimensionCols,\n DimensionRows,\n Cell,\n} from '@type';\n\ntype StoreByDimension = Record<number, SelectionStore>;\ntype FocusedStore = {\n entity: SelectionStore;\n cell: Cell;\n position: Cell;\n};\n\ntype StoresMapping<T> = { [xOrY: number]: Partial<T> };\n\nexport const EMPTY_INDEX = -1;\n\nexport default class SelectionStoreConnector {\n // dirty flag required to cleanup whole store in case visibility of panels changed\n private dirty = false;\n readonly stores: { [y: number]: { [x: number]: SelectionStore } } = {};\n\n readonly columnStores: StoreByDimension = {};\n readonly rowStores: { [y: number]: SelectionStore } = {};\n\n /**\n * Helpers for data conversion\n */\n readonly storesByType: Partial<Record<MultiDimensionType, number>> = {};\n readonly storesXToType: StoresMapping<DimensionCols> = {};\n readonly storesYToType: StoresMapping<DimensionRows> = {};\n\n get focusedStore(): FocusedStore | null {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const focused = this.stores[y][x]?.store.get('focus');\n if (focused) {\n return {\n entity: this.stores[y][x],\n cell: focused,\n position: {\n x: parseInt(x, 10),\n y: parseInt(y, 10),\n },\n };\n }\n }\n }\n return null;\n }\n\n get edit() {\n return this.focusedStore?.entity.store.get('edit');\n }\n\n get focused() {\n return this.focusedStore?.entity.store.get('focus');\n }\n\n get selectedRange() {\n return this.focusedStore?.entity.store.get('range');\n }\n\n private readonly sections: Element[] = [];\n\n registerSection(e?: Element) {\n if (!e) {\n this.sections.length = 0;\n // some elements removed, rebuild stores\n this.dirty = true;\n return;\n }\n if (this.sections.indexOf(e) === -1) {\n this.sections.push(e);\n }\n }\n\n // check if require to cleanup all stores\n beforeUpdate() {\n if (this.dirty) {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x].dispose();\n }\n }\n this.dirty = false;\n }\n }\n\n registerColumn(x: number, type: DimensionCols): SelectionStore {\n // if hidden just create store but no operations needed\n if (isHiddenStore(x)) {\n return new SelectionStore();\n }\n if (this.columnStores[x]) {\n return this.columnStores[x];\n }\n this.columnStores[x] = new SelectionStore();\n // build cross-linking type to position\n this.storesByType[type] = x;\n this.storesXToType[x] = type;\n return this.columnStores[x];\n }\n\n registerRow(y: number, type: DimensionRows): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (this.rowStores[y]) {\n return this.rowStores[y];\n }\n this.rowStores[y] = new SelectionStore();\n // build cross linking type to position\n this.storesByType[type] = y;\n this.storesYToType[y] = type;\n return this.rowStores[y];\n }\n\n /**\n * Cross store proxy, based on multiple dimensions\n */\n register({ x, y }: Cell): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(x) || isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (!this.stores[y]) {\n this.stores[y] = {};\n }\n if (this.stores[y][x]) {\n // Store already registered. Do not register twice\n return this.stores[y][x];\n }\n this.stores[y][x] = new SelectionStore();\n // proxy update, column store trigger only range area\n this.stores[y][x]?.onChange('range', c => {\n this.columnStores[x].setRangeArea(c);\n this.rowStores[y].setRangeArea(c);\n });\n // clean up on remove\n this.stores[y][x]?.store.on('dispose', () => this.destroy(x, y));\n return this.stores[y][x];\n }\n\n private destroy(x: number, y: number) {\n this.columnStores[x]?.dispose();\n this.rowStores[y]?.dispose();\n\n delete this.rowStores[y];\n delete this.columnStores[x];\n // clear x cross-link\n if (this.storesXToType[x]) {\n const type = this.storesXToType[x];\n delete this.storesXToType[x];\n delete this.storesByType[type];\n }\n // clear y cross-link\n if (this.storesYToType[y]) {\n const type = this.storesYToType[y];\n delete this.storesYToType[y];\n delete this.storesByType[type];\n }\n if (this.stores[y]) {\n delete this.stores[y][x];\n }\n // clear empty rows\n if (!Object.keys(this.stores[y] || {}).length) {\n delete this.stores[y];\n }\n }\n\n setEditByCell<T extends Cell>(storePos: T, editCell: T) {\n this.focusByCell(storePos, editCell, editCell);\n this.setEdit('');\n }\n\n /**\n * Sets the next focus cell before the current one.\n * \n * @param focus - The cell to set as the next focus.\n */\n beforeNextFocusCell(focus: Cell) {\n // If there is no focused store, return early.\n if (!this.focusedStore) {\n return;\n }\n\n // Get the next store based on the current focus and the last cell.\n const lastCell = this.focusedStore.entity.store.get('lastCell');\n const next = lastCell && this.getNextStore(focus, this.focusedStore.position, lastCell);\n\n // Set the next focus cell in the store.\n next?.store?.setNextFocus({ ...focus, ...next.item });\n }\n\n focusByCell<T extends Cell>(storePos: T, start: T, end: T) {\n const store = this.stores[storePos.y][storePos.x];\n this.focus(store, { focus: start, end });\n }\n\n focus(store: SelectionStore, { focus, end }: { focus: Cell; end: Cell }) {\n const currentStorePointer = this.getCurrentStorePointer(store);\n if (!currentStorePointer) {\n return null;\n }\n\n // check for the focus in nearby store/viewport\n const lastCell = store.store.get('lastCell');\n const next = lastCell && this.getNextStore(focus, currentStorePointer, lastCell);\n\n // if next store present - update\n if (next?.store) {\n const item = { ...focus, ...next.item };\n this.focus(next.store, { focus: item, end: item });\n return null;\n }\n\n if (lastCell) {\n focus = cropCellToMax(focus, lastCell);\n end = cropCellToMax(end, lastCell); \n }\n store.setFocus(focus, end);\n return focus;\n }\n\n /**\n * Retrieves the current store pointer based on the active store.\n * Clears focus from all stores except the active one.\n */\n getCurrentStorePointer(store: SelectionStore) {\n let currentStorePointer: Cell | undefined;\n\n // Iterate through all stores\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const s = this.stores[y][x];\n\n // Clear focus from stores other than the active one\n if (s !== store) {\n s.clearFocus();\n } else {\n // Update the current store pointer with the active store coordinates\n currentStorePointer = { \n x: parseInt(x, 10), \n y: parseInt(y, 10) \n };\n }\n }\n }\n\n return currentStorePointer;\n }\n\n /**\n * Retrieves the next store based on the focus cell and current store pointer.\n * If the next store exists, returns an object with the next store and the item in the new store.\n * If the next store does not exist, returns null.\n */\n getNextStore(\n focus: Cell,\n currentStorePointer: Cell,\n lastCell: Cell,\n ) {\n // item in new store\n const nextItem: Partial<Cell> | null = nextCell(focus, lastCell);\n\n let nextStore: SelectionStore | undefined;\n if (nextItem) {\n Object.entries(nextItem).forEach(([type, nextItemCoord]: [keyof Cell, number]) => {\n let stores;\n switch (type) {\n case 'x':\n // Get the X stores for the current Y coordinate of the current store pointer\n stores = this.getXStores(currentStorePointer.y);\n break;\n case 'y':\n // Get the Y stores for the current X coordinate of the current store pointer\n stores = this.getYStores(currentStorePointer.x);\n break;\n }\n\n // Get the next store based on the item in the new store\n if (nextItemCoord >= 0) {\n nextStore = stores[++currentStorePointer[type]];\n } else {\n nextStore = stores[--currentStorePointer[type]];\n const nextLastCell = nextStore?.store.get('lastCell');\n if (nextLastCell) {\n nextItem[type] = nextLastCell[type] + nextItemCoord;\n }\n }\n });\n }\n return {\n store: nextStore,\n item: nextItem,\n };\n }\n\n clearAll() {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x]?.clearFocus();\n }\n }\n }\n\n setEdit(val?: string | boolean) {\n if (!this.focusedStore) {\n return;\n }\n this.focusedStore.entity.setEdit(val);\n }\n\n /**\n * Select all cells across all stores\n */\n selectAll() {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const store = this.stores[y][x];\n if (!store) {\n continue;\n }\n const lastCell = store.store.get('lastCell');\n if (lastCell) {\n store.setRange(\n { x: 0, y: 0 },\n { x: lastCell.x - 1, y: lastCell.y - 1 },\n );\n }\n }\n }\n }\n\n private getXStores(y: number) {\n return this.stores[y];\n }\n\n private getYStores(x: number) {\n const stores: { [p: number]: SelectionStore } = {};\n for (let i in this.stores) {\n stores[i] = this.stores[i][x];\n }\n return stores;\n }\n}\n","import { EMPTY_INDEX } from '../../services/selection.store.connector';\nimport { Cell, RangeArea } from '@type';\n\nexport function isHiddenStore(pos: number) {\n return pos === EMPTY_INDEX;\n}\n\nexport function nextCell(cell: Cell, lastCell: Cell): Partial<Cell> | null {\n const nextItem: Partial<Cell> = {};\n let types: (keyof Cell)[] = ['x', 'y'];\n\n // previous item check\n for (let t of types) {\n if (cell[t] < 0) {\n nextItem[t] = cell[t];\n return nextItem;\n }\n }\n // next item check\n for (let t of types) {\n if (cell[t] >= lastCell[t]) {\n nextItem[t] = cell[t] - lastCell[t];\n return nextItem;\n }\n }\n return null;\n}\n\nexport function cropCellToMax(cell: Cell, lastCell: Cell): Cell {\n const croppedCell: Cell = { ...cell };\n const cellCoordinates: (keyof Cell)[] = ['x', 'y'];\n\n for (const coordinate of cellCoordinates) {\n if (cell[coordinate] < 0) {\n croppedCell[coordinate] = 0;\n } else if (cell[coordinate] >= lastCell[coordinate]) {\n croppedCell[coordinate] = lastCell[coordinate] - 1;\n }\n }\n\n return croppedCell;\n}\n\nexport function getRange(start?: Cell | null, end?: Cell | null): RangeArea | null {\n return start && end\n ? {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n x1: Math.max(start.x, end.x),\n y1: Math.max(start.y, end.y),\n }\n : null;\n}\n\nexport function isRangeSingleCell(a: RangeArea): boolean {\n return a.x === a.x1 && a.y === a.y1;\n}\n","import isArray from 'lodash/isArray';\nimport reduce from 'lodash/reduce';\n\nimport {\n ColumnData,\n ColumnGrouping,\n ColumnProp,\n ColumnRegular,\n ColumnTypes,\n DataType,\n DimensionCols,\n ViewSettingSizeProp,\n} from '@type';\nimport { Group as StoreGroup } from '@store';\n\nexport type ColumnItems = Record<DimensionCols, ColumnRegular[]>;\nexport interface ColumnGroup extends StoreGroup {\n level: number;\n}\nexport type ColumnGroupingCollection = Record<DimensionCols, ColumnGroup[]>;\n\nexport function getCellData(val?: any) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n}\n\nexport function getCellDataParsed(model: DataType, column: ColumnRegular) {\n const val = column.cellParser ? column.cellParser(model, column) : model[column.prop];\n return getCellData(val);\n}\n\n/**\n * Column collection definition.\n * Used to access indexed data for columns.\n * Can be accessed via different events.\n */\nexport type ColumnCollection = {\n /**\n * Columns as they are in stores\n */\n columns: Record<DimensionCols, ColumnRegular[]>;\n /**\n * Columns indexed by prop for quick access, it's possible to have multiple columns with same prop but not recommended\n */\n columnByProp: Record<ColumnProp, ColumnRegular[]>;\n /**\n * Grouped columns\n */\n columnGrouping: ColumnGroupingCollection;\n /**\n * Max level of grouping\n */\n maxLevel: number;\n /**\n * Sorting\n */\n sort: Record<ColumnProp, ColumnRegular>;\n};\n\nexport function getColumnType(rgCol: ColumnRegular): DimensionCols {\n if (rgCol.pin) {\n return rgCol.pin;\n }\n return 'rgCol';\n}\n\nexport function getColumnSizes(cols: ColumnRegular[]): ViewSettingSizeProp {\n const res: ViewSettingSizeProp = {};\n for (const [i, c] of cols.entries()) {\n if (c.size) {\n res[i] = c.size;\n }\n }\n return res;\n}\n\n\n/**\n * Check if column is grouping column\n */\nexport function isColGrouping(\n colData: ColumnGrouping | ColumnRegular,\n): colData is ColumnGrouping {\n return !!(colData as ColumnGrouping).children;\n}\n\n/**\n * This function is used to create a collection of columns.\n */\nexport function getColumns(\n columns: ColumnData,\n level = 0,\n types?: ColumnTypes,\n): ColumnCollection {\n const collection: ColumnCollection = {\n // columns as they are in stores per type\n columns: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // columns indexed by prop for quick access\n columnByProp: {},\n // column grouping\n columnGrouping: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // max depth level for column grouping\n maxLevel: level,\n // sorting\n sort: {},\n };\n\n return reduce(\n columns,\n (res: ColumnCollection, colData: ColumnGrouping | ColumnRegular) => {\n // Grouped column\n if (isColGrouping(colData)) {\n return gatherGroup(\n res,\n colData,\n getColumns(colData.children, level + 1, types),\n level,\n );\n }\n // Regular column\n const regularColumn = {\n ...(colData.columnType && types && types[colData.columnType]),\n ...colData,\n };\n // Regular column, no Pin\n if (!regularColumn.pin) {\n res.columns.rgCol.push(regularColumn);\n // Pin\n } else {\n res.columns[regularColumn.pin].push(regularColumn);\n }\n if (regularColumn.order) {\n res.sort[regularColumn.prop] = regularColumn;\n }\n // it's possible that some columns have same prop, but better to avoid it\n if (!res.columnByProp[regularColumn.prop]) {\n res.columnByProp[regularColumn.prop] = [];\n }\n res.columnByProp[regularColumn.prop].push(regularColumn);\n\n // trigger setup hook if present\n regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);\n return res;\n },\n collection,\n );\n}\n\nexport function gatherGroup<T extends ColumnCollection>(\n res: T,\n colData: ColumnGrouping,\n collection: T,\n level = 0,\n): T {\n // group template\n const group: ColumnGroup = {\n ...colData,\n level,\n ids: [],\n };\n\n // check columns for update\n for (let k in collection.columns) {\n const key = k as keyof ColumnCollection['columns'];\n const resultItem = res.columns[key];\n const collectionItem = collection.columns[key];\n\n // if column data\n if (isArray(resultItem) && isArray(collectionItem)) {\n // fill columns\n resultItem.push(...collectionItem);\n\n // fill grouping\n if (collectionItem.length) {\n res.columnGrouping[key].push({\n ...group,\n ids: collectionItem.map(item => item.prop),\n });\n }\n }\n }\n // merge column groupings\n for (let k in collection.columnGrouping) {\n const key = k as DimensionCols;\n const collectionItem = collection.columnGrouping[key];\n res.columnGrouping[key].push(...collectionItem);\n }\n res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);\n res.sort = { ...res.sort, ...collection.sort };\n return res;\n}\n\nfunction findColumn(\n columns: ColumnData,\n prop: ColumnProp,\n): ColumnRegular | undefined {\n for (const c of columns) {\n if (isColGrouping(c)) {\n const found = findColumn(c.children, prop);\n if (found) {\n return found;\n }\n } else if (c.prop === prop) {\n return c;\n }\n }\n return undefined;\n}\n\nexport function getColumnByProp(\n columns: ColumnData,\n prop: ColumnProp,\n): ColumnRegular | undefined {\n return findColumn(columns, prop);\n}\n","import { GRID_INTERNALS } from '../../utils/consts';\n\nexport const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;\nexport const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;\nexport const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;\nexport const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;\nexport const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;\nexport const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;\nexport const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;\nexport const GROUP_EXPAND_BTN = `group-expand`;\nexport const GROUP_EXPAND_EVENT = `groupexpandclick`;\nexport const GROUPING_ROW_TYPE = 'rgRow';\n","import { DataType, ColumnProp, ColumnRegular } from '@type';\nimport {\n GROUP_DEPTH,\n GROUP_EXPANDED,\n PSEUDO_GROUP_COLUMN,\n PSEUDO_GROUP_ITEM,\n PSEUDO_GROUP_ITEM_ID,\n PSEUDO_GROUP_ITEM_VALUE,\n GROUP_ORIGINAL_INDEX,\n} from './grouping.const';\nimport { GroupLabelTemplateFunc } from './grouping.row.types';\n\nexport type ExpandedOptions = {\n prevExpanded?: Record<string, boolean>;\n expandedAll?: boolean; // skip trim\n\n getGroupValue?(item: DataType, prop: string | number): any;\n groupLabelTemplate?: GroupLabelTemplateFunc;\n};\n\ntype GroupedData = Map<string, GroupedData | DataType[]>;\n\nfunction getGroupValueDefault(item: DataType, prop: string | number) {\n return item[prop] || null;\n}\n\n/**\n * Gather data for grouping\n * @param array - flat data array\n * @param groupIds - ids of groups\n * @param expanded - potentially expanded items if present\n */\nexport function gatherGrouping(\n array: DataType[],\n groupIds: ColumnProp[],\n {\n prevExpanded,\n expandedAll,\n getGroupValue = getGroupValueDefault,\n }: ExpandedOptions,\n) {\n const groupedItems: GroupedData = new Map();\n array.forEach((item, originalIndex) => {\n const groupLevelValues = groupIds.map(groupId =>\n getGroupValue(item, groupId),\n );\n const lastLevelValue = groupLevelValues.pop();\n let currentGroupLevel = groupedItems;\n groupLevelValues.forEach(value => {\n if (!currentGroupLevel.has(value)) {\n currentGroupLevel.set(value, new Map());\n }\n currentGroupLevel = currentGroupLevel.get(value) as GroupedData;\n });\n if (!currentGroupLevel.has(lastLevelValue)) {\n currentGroupLevel.set(lastLevelValue, []);\n }\n const lastLevelItems = currentGroupLevel.get(lastLevelValue) as DataType[];\n lastLevelItems.push({\n ...item,\n [GROUP_ORIGINAL_INDEX]: originalIndex,\n });\n });\n\n let itemIndex = -1;\n const groupingDepth = groupIds.length;\n // collapse all groups in the beginning\n const trimmed: Record<number, boolean> = {};\n // index mapping\n const oldNewIndexMap: Record<number, number> = {};\n // check if group header exists\n const pseudoGroupTest: Record<string, number[]> = {};\n const sourceWithGroups: DataType[] = [];\n function flattenGroupMaps(\n groupedValues: GroupedData,\n parentIds: string[],\n isExpanded: boolean,\n ) {\n const depth = parentIds.length;\n groupedValues.forEach((innerGroupedValues, groupId) => {\n const levelIds = [...parentIds, groupId];\n const mergedIds = levelIds.join(',');\n const isGroupExpanded =\n isExpanded && (!!expandedAll || !!prevExpanded?.[mergedIds]);\n sourceWithGroups.push({\n [PSEUDO_GROUP_ITEM]: groupId,\n [GROUP_DEPTH]: depth,\n [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),\n [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,\n [GROUP_EXPANDED]: isGroupExpanded,\n });\n itemIndex += 1;\n if (!isGroupExpanded && depth) {\n trimmed[itemIndex] = true;\n }\n if (Array.isArray(innerGroupedValues)) {\n innerGroupedValues.forEach(value => {\n itemIndex += 1;\n if (!isGroupExpanded) {\n trimmed[itemIndex] = true;\n }\n oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex;\n const pseudoGroupTestIds = levelIds.map((_value, index) =>\n levelIds.slice(0, index + 1).join(','),\n );\n pseudoGroupTestIds.forEach(pseudoGroupTestId => {\n if (!pseudoGroupTest[pseudoGroupTestId]) {\n pseudoGroupTest[pseudoGroupTestId] = [];\n }\n pseudoGroupTest[pseudoGroupTestId].push(itemIndex);\n });\n });\n sourceWithGroups.push(...innerGroupedValues);\n } else {\n flattenGroupMaps(innerGroupedValues, levelIds, isGroupExpanded);\n }\n });\n }\n flattenGroupMaps(groupedItems, [], true);\n\n return {\n sourceWithGroups, // updates source mirror\n depth: groupingDepth, // largest depth for grouping\n trimmed, // used for expand/collapse grouping values\n oldNewIndexMap, // used for mapping old values to new\n childrenByGroup: pseudoGroupTest, // used to get child items in group\n };\n}\n\nexport function getGroupingName(rgRow?: DataType) {\n return rgRow && rgRow[PSEUDO_GROUP_ITEM];\n}\n\ntype GroupingItem = {\n [PSEUDO_GROUP_ITEM]: string;\n [GROUP_EXPANDED]: boolean;\n [PSEUDO_GROUP_ITEM_VALUE]: string;\n [GROUP_DEPTH]: number;\n};\n\nexport function isGrouping(rgRow?: DataType): rgRow is GroupingItem {\n return typeof rgRow?.[PSEUDO_GROUP_ITEM] !== 'undefined';\n}\n\nexport function isGroupingColumn(column?: ColumnRegular) {\n return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';\n}\n\nexport function measureEqualDepth<T>(groupA: T[], groupB: T[]) {\n const ln = groupA.length;\n let i = 0;\n for (; i < ln; i++) {\n if (groupA[i] !== groupB[i]) {\n return i;\n }\n }\n return i;\n}\n\nexport function getParsedGroup(id: string) {\n const parseGroup = JSON.parse(id);\n // extra precaution and type safeguard\n if (!Array.isArray(parseGroup)) {\n return null;\n }\n return parseGroup;\n}\n\n// check if items is child of current clicked group\nexport function isSameGroup(\n currentGroup: any[],\n currentModel: DataType,\n nextModel: DataType,\n) {\n const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);\n if (!nextGroup) {\n return false;\n }\n\n const depth = measureEqualDepth(currentGroup, nextGroup);\n return currentModel[GROUP_DEPTH] < depth;\n}\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","import baseSlice from './_baseSlice.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nexport default slice;\n","import { DSourceState, getSourceItem, getVisibleSourceItem } from '@store';\nimport {\n getCellData,\n Observable,\n CELL_CLASS,\n DISABLED_CLASS,\n} from '../../utils';\nimport { getRange } from '@store';\n\nimport { isGroupingColumn } from '../../plugins/groupingRow/grouping.service';\nimport slice from 'lodash/slice';\nimport {\n DimensionCols,\n DimensionRows,\n RowDrag,\n ColumnRegular,\n DataType,\n CellProps,\n ColumnDataSchemaModel,\n ColumnProp,\n DataLookup,\n DataFormat,\n ChangedRange,\n OldNewRangeMapping,\n Cell,\n RangeArea,\n BeforeSaveDataDetails,\n EditorCtr,\n Editors,\n} from '@type';\nimport { JSXBase } from '@stencil/core/internal';\n\nexport type ColumnStores = {\n [T in DimensionCols]: Observable<DSourceState<ColumnRegular, DimensionCols>>;\n};\nexport type RowStores = {\n [T in DimensionRows]: Observable<DSourceState<DataType, DimensionRows>>;\n};\n\nexport default class ColumnService {\n private unsubscribe: { (): void }[] = [];\n get columns(): ColumnRegular[] {\n return getVisibleSourceItem(this.source);\n }\n\n hasGrouping = false;\n type: DimensionCols;\n\n constructor(\n private dataStore: Observable<DSourceState<DataType, DimensionRows>>,\n private source: Observable<DSourceState<ColumnRegular, DimensionCols>>,\n ) {\n this.unsubscribe.push(\n source.onChange('source', s => this.checkGrouping(s)),\n );\n this.checkGrouping(source.get('source'));\n this.type = source.get('type');\n }\n\n private checkGrouping(cols: ColumnRegular[]) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n\n isReadOnly(r: number, c: number) {\n const readOnly = this.columns[c]?.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return !!readOnly;\n }\n\n mergeProperties(\n r: number,\n c: number,\n defaultProps: CellProps,\n model: ColumnDataSchemaModel,\n extraPropsFunc: ColumnRegular['cellProperties'],\n ): CellProps {\n const props: CellProps = {\n ...defaultProps,\n };\n props.class = {\n ...(typeof props.class === 'string'\n ? { [props.class]: true }\n : props.class),\n [CELL_CLASS]: true,\n [DISABLED_CLASS]: this.isReadOnly(r, c),\n };\n\n const extra = extraPropsFunc?.(model);\n if (!extra) {\n return props;\n }\n return doPropMerge(props, extra);\n }\n\n getRowClass(r: number, prop: string): string {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n\n getCellData(r: number, c: number): string {\n const data = this.rowDataModel(r, c);\n return getCellData(data.model[data.prop as number]);\n }\n\n getSaveData(\n rowIndex: number,\n colIndex: number,\n val?: string,\n ): BeforeSaveDataDetails {\n const data = this.rowDataModel(rowIndex, colIndex);\n if (typeof val === 'undefined') {\n val = getCellData(data.model[data.prop as number]);\n }\n return {\n prop: data.prop,\n rowIndex,\n colIndex,\n val,\n model: data.model,\n colType: this.type,\n type: this.dataStore.get('type'),\n };\n }\n\n getCellEditor(\n _r: number,\n c: number,\n editors: Editors,\n ): EditorCtr | undefined {\n const editor = this.columns[c]?.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n }\n\n /**\n * Get cell data model for given rowIndex and colIndex\n * Used to pass data to editor/renderer\n */\n rowDataModel(rowIndex: number, colIndex: number): ColumnDataSchemaModel {\n const column = this.columns[colIndex];\n const prop: ColumnProp | undefined = column?.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n const value = model[prop];\n const type = this.dataStore.get('type');\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n colIndex,\n colType: this.type,\n type,\n value,\n };\n }\n\n getRangeData(\n d: ChangedRange,\n columns: ColumnRegular[],\n ): {\n changed: DataLookup;\n mapping: OldNewRangeMapping;\n } {\n const changed: DataLookup = {};\n\n // get original length sizes\n const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;\n const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;\n const mapping: OldNewRangeMapping = {};\n\n // rows\n for (\n let rowIndex = d.newRange.y, i = 0;\n rowIndex < d.newRange.y1 + 1;\n rowIndex++, i++\n ) {\n // copy original data link\n const oldRowIndex = d.oldRange.y + (i % copyRowLength);\n const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};\n\n // columns\n for (\n let colIndex = d.newRange.x, j = 0;\n colIndex < d.newRange.x1 + 1;\n colIndex++, j++\n ) {\n // check if old range area\n if (\n rowIndex >= d.oldRange.y &&\n rowIndex <= d.oldRange.y1 &&\n colIndex >= d.oldRange.x &&\n colIndex <= d.oldRange.x1\n ) {\n continue;\n }\n\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = this.columns[colIndex]?.prop;\n const copyColIndex = d.oldRange.x + (j % copyColLength);\n const copyColumnProp = columns[copyColIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][prop] = copyRow[copyColumnProp];\n /** Generate mapping object */\n if (!mapping[rowIndex]) {\n mapping[rowIndex] = {};\n }\n mapping[rowIndex][prop] = {\n colIndex: copyColIndex,\n colProp: copyColumnProp,\n rowIndex: oldRowIndex,\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n\n getTransformedDataToApply(\n start: Cell,\n data: DataFormat[][],\n ): {\n changed: DataLookup;\n range: RangeArea | null;\n } {\n const changed: DataLookup = {};\n const copyRowLength = data.length;\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n // rows\n let rowIndex = start.y;\n let maxCol = 0;\n for (\n let i = 0;\n rowIndex < rowLength && i < copyRowLength;\n rowIndex++, i++\n ) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = copyRow?.length || 0;\n // columns\n let colIndex = start.x;\n for (\n let j = 0;\n colIndex < colLength && j < copyColLength;\n colIndex++, j++\n ) {\n const p = this.columns[colIndex].prop;\n const currentCol = j % colLength;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = copyRow[currentCol];\n }\n }\n maxCol = Math.max(maxCol, colIndex - 1);\n }\n const range = getRange(start, {\n y: rowIndex - 1,\n x: maxCol,\n });\n return {\n changed,\n range,\n };\n }\n\n getRangeStaticData(d: RangeArea, value: DataFormat): DataLookup {\n const changed: DataLookup = {};\n\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const p = this.columns[colIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = value;\n }\n }\n }\n return changed;\n }\n\n getRangeTransformedToProps(\n d: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const area: {\n prop: ColumnProp;\n rowIndex: number;\n colIndex: number;\n model?: DataType;\n colType: DimensionCols;\n type: DimensionRows;\n }[] = [];\n\n const type = this.dataStore.get('type');\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n const prop = this.columns[colIndex]?.prop;\n area.push({\n prop,\n rowIndex,\n colIndex,\n model: getSourceItem(store, rowIndex),\n type,\n colType: this.type,\n });\n }\n }\n return area;\n }\n\n copyRangeArray(\n range: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy: DataFormat[][] = [];\n const mapping: { [rowIndex: number]: { [colProp: ColumnProp]: any } } = {};\n\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow: DataFormat[] = [];\n mapping[i] = {};\n\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n\n // if no item - skip\n if (!item) {\n continue;\n }\n const val = item[prop];\n rgRow.push(val);\n mapping[i][prop] = val;\n }\n\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping,\n };\n }\n\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n\n/**\n * Checks if the given rowDrag is a service for dragging rows.\n */\nexport function isRowDragService(\n rowDrag: RowDrag,\n model: ColumnDataSchemaModel,\n): boolean {\n if (typeof rowDrag === 'function') {\n return rowDrag(model);\n }\n return !!rowDrag;\n}\n\nfunction mergeClasses(\n class1: JSXBase.HTMLAttributes<HTMLElement>['class'] = {},\n class2: JSXBase.HTMLAttributes<HTMLElement>['class'] = {},\n) {\n if (typeof class1 === 'string') {\n class1 = { [class1]: true };\n }\n if (typeof class2 === 'string') {\n class2 = { [class2]: true };\n }\n return { ...class1, ...class2 };\n}\n\nexport function doPropMerge(existing: CellProps, extra: CellProps) {\n // if className is provided - remove it from props it messing with stencil\n if (extra.className) {\n extra.class = mergeClasses(extra.class, extra.className);\n delete extra.className;\n }\n let props: CellProps = { ...extra, ...existing };\n // extend existing props\n if (extra.class) {\n props.class = mergeClasses(props.class, extra.class);\n }\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
var n=typeof global=="object"&&global&&global.Object===Object&&global;const e=n;var r=typeof self=="object"&&self&&self.Object===Object&&self;var t=e||r||Function("return this")();const u=t;var i=u.Symbol;const f=i;var a=Object.prototype;var o=a.hasOwnProperty;var c=a.toString;var v=f?f.toStringTag:undefined;function d(n){var e=o.call(n,v),r=n[v];try{n[v]=undefined;var t=true}catch(n){}var u=c.call(n);if(t){if(e){n[v]=r}else{delete n[v]}}return u}var s=Object.prototype;var l=s.toString;function b(n){return l.call(n)}var p="[object Null]",y="[object Undefined]";var j=f?f.toStringTag:undefined;function m(n){if(n==null){return n===undefined?y:p}return j&&j in Object(n)?d(n):b(n)}function h(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function T(n){return n!=null&&typeof n=="object"}var g="[object Symbol]";function O(n){return typeof n=="symbol"||T(n)&&m(n)==g}var x=/\s/;function w(n){var e=n.length;while(e--&&x.test(n.charAt(e))){}return e}var $=/^\s+/;function E(n){return n?n.slice(0,w(n)+1).replace($,""):n}var M=0/0;var S=/^[-+]0x[0-9a-f]+$/i;var F=/^0b[01]+$/i;var I=/^0o[0-7]+$/i;var N=parseInt;function U(n){if(typeof n=="number"){return n}if(O(n)){return M}if(h(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=h(e)?e+"":e}if(typeof n!="string"){return n===0?n:+n}n=E(n);var r=F.test(n);return r||I.test(n)?N(n.slice(2),r?2:8):S.test(n)?M:+n}var W=function(){return u.Date.now()};const k=W;var q="Expected a function";var z=Math.max,A=Math.min;function B(n,e,r){var t,u,i,f,a,o,c=0,v=false,d=false,s=true;if(typeof n!="function"){throw new TypeError(q)}e=U(e)||0;if(h(r)){v=!!r.leading;d="maxWait"in r;i=d?z(U(r.maxWait)||0,e):i;s="trailing"in r?!!r.trailing:s}function l(e){var r=t,i=u;t=u=undefined;c=e;f=n.apply(i,r);return f}function b(n){c=n;a=setTimeout(j,e);return v?l(n):f}function p(n){var r=n-o,t=n-c,u=e-r;return d?A(u,i-t):u}function y(n){var r=n-o,t=n-c;return o===undefined||r>=e||r<0||d&&t>=i}function j(){var n=k();if(y(n)){return m(n)}a=setTimeout(j,p(n))}function m(n){a=undefined;if(s&&t){return l(n)}t=u=undefined;return f}function T(){if(a!==undefined){clearTimeout(a)}c=0;t=o=u=a=undefined}function g(){return a===undefined?f:m(k())}function O(){var n=k(),r=y(n);t=arguments;u=this;o=n;if(r){if(a===undefined){return b(o)}if(d){clearTimeout(a);a=setTimeout(j,e);return l(o)}}if(a===undefined){a=setTimeout(j,e)}return f}O.cancel=T;O.flush=g;return O}export{f as S,T as a,m as b,O as c,B as d,e as f,h as i,u as r,U as t};
|
|
5
|
+
//# sourceMappingURL=debounce-7b511afc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["freeGlobal","global","Object","freeGlobal$1","freeSelf","self","root","Function","root$1","Symbol","Symbol$1","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","objectToString","nullTag","undefinedTag","baseGetTag","isObject","type","isObjectLike","symbolTag","isSymbol","reWhitespace","trimmedEndIndex","string","index","length","test","charAt","reTrimStart","baseTrim","slice","replace","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","toNumber","other","valueOf","isBinary","now","Date","now$1","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","arguments","this"],"sources":["node_modules/lodash/_freeGlobal.js","node_modules/lodash/_root.js","node_modules/lodash/_Symbol.js","node_modules/lodash/_getRawTag.js","node_modules/lodash/_objectToString.js","node_modules/lodash/_baseGetTag.js","node_modules/lodash/isObject.js","node_modules/lodash/isObjectLike.js","node_modules/lodash/isSymbol.js","node_modules/lodash/_trimmedEndIndex.js","node_modules/lodash/_baseTrim.js","node_modules/lodash/toNumber.js","node_modules/lodash/now.js","node_modules/lodash/debounce.js"],"sourcesContent":["/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n"],"mappings":";;;AACA,IAAIA,SAAoBC,QAAU,UAAYA,QAAUA,OAAOC,SAAWA,QAAUD,OAEpF,MAAAE,EAAeH,ECAf,IAAII,SAAkBC,MAAQ,UAAYA,MAAQA,KAAKH,SAAWA,QAAUG,KAG5E,IAAIC,EAAON,GAAcI,GAAYG,SAAS,cAATA,GAErC,MAAAC,EAAeF,ECLf,IAAIG,EAASH,EAAKG,OAElB,MAAAC,EAAeD,ECFf,IAAIE,EAAcT,OAAOU,UAGzB,IAAIC,EAAiBF,EAAYE,eAOjC,IAAIC,EAAuBH,EAAYI,SAGvC,IAAIC,EAAiBP,EAASA,EAAOQ,YAAcC,UASnD,SAASC,EAAUC,GACjB,IAAIC,EAAQR,EAAeS,KAAKF,EAAOJ,GACnCO,EAAMH,EAAMJ,GAEhB,IACEI,EAAMJ,GAAkBE,UACxB,IAAIM,EAAW,IACnB,CAAI,MAAOC,GAAG,CAEZ,IAAIC,EAASZ,EAAqBQ,KAAKF,GACvC,GAAII,EAAU,CACZ,GAAIH,EAAO,CACTD,EAAMJ,GAAkBO,CAC9B,KAAW,QACEH,EAAMJ,EACnB,CACA,CACE,OAAOU,CACT,CC1CA,IAAIf,EAAcT,OAAOU,UAOzB,IAAIE,EAAuBH,EAAYI,SASvC,SAASY,EAAeP,GACtB,OAAON,EAAqBQ,KAAKF,EACnC,CCdA,IAAIQ,EAAU,gBACVC,EAAe,qBAGnB,IAAIb,EAAiBP,EAASA,EAAOQ,YAAcC,UASnD,SAASY,EAAWV,GAClB,GAAIA,GAAS,KAAM,CACjB,OAAOA,IAAUF,UAAYW,EAAeD,CAChD,CACE,OAAQZ,GAAkBA,KAAkBd,OAAOkB,GAC/CD,EAAUC,GACVO,EAAeP,EACrB,CCAA,SAASW,EAASX,GAChB,IAAIY,SAAcZ,EAClB,OAAOA,GAAS,OAASY,GAAQ,UAAYA,GAAQ,WACvD,CCJA,SAASC,EAAab,GACpB,OAAOA,GAAS,aAAeA,GAAS,QAC1C,CCtBA,IAAIc,EAAY,kBAmBhB,SAASC,EAASf,GAChB,cAAcA,GAAS,UACpBa,EAAab,IAAUU,EAAWV,IAAUc,CACjD,CCzBA,IAAIE,EAAe,KAUnB,SAASC,EAAgBC,GACvB,IAAIC,EAAQD,EAAOE,OAEnB,MAAOD,KAAWH,EAAaK,KAAKH,EAAOI,OAAOH,IAAS,EAC3D,OAAOA,CACT,CCbA,IAAII,EAAc,OASlB,SAASC,EAASN,GAChB,OAAOA,EACHA,EAAOO,MAAM,EAAGR,EAAgBC,GAAU,GAAGQ,QAAQH,EAAa,IAClEL,CACN,CCXA,IAAIS,EAAM,EAAI,EAGd,IAAIC,EAAa,qBAGjB,IAAIC,EAAa,aAGjB,IAAIC,EAAY,cAGhB,IAAIC,EAAeC,SAyBnB,SAASC,EAASjC,GAChB,UAAWA,GAAS,SAAU,CAC5B,OAAOA,CACX,CACE,GAAIe,EAASf,GAAQ,CACnB,OAAO2B,CACX,CACE,GAAIhB,EAASX,GAAQ,CACnB,IAAIkC,SAAelC,EAAMmC,SAAW,WAAanC,EAAMmC,UAAYnC,EACnEA,EAAQW,EAASuB,GAAUA,EAAQ,GAAMA,CAC7C,CACE,UAAWlC,GAAS,SAAU,CAC5B,OAAOA,IAAU,EAAIA,GAASA,CAClC,CACEA,EAAQwB,EAASxB,GACjB,IAAIoC,EAAWP,EAAWR,KAAKrB,GAC/B,OAAQoC,GAAYN,EAAUT,KAAKrB,GAC/B+B,EAAa/B,EAAMyB,MAAM,GAAIW,EAAW,EAAI,GAC3CR,EAAWP,KAAKrB,GAAS2B,GAAO3B,CACvC,CC3CA,IAAIqC,EAAM,WACR,OAAOnD,EAAKoD,KAAKD,KACnB,EAEA,MAAAE,EAAeF,ECjBf,IAAIG,EAAkB,sBAGtB,IAAIC,EAAYC,KAAKC,IACjBC,EAAYF,KAAKG,IAwDrB,SAASC,EAASC,EAAMC,EAAMC,GAC5B,IAAIC,EACAC,EACAC,EACA9C,EACA+C,EACAC,EACAC,EAAiB,EACjBC,EAAU,MACVC,EAAS,MACTC,EAAW,KAEf,UAAWX,GAAQ,WAAY,CAC7B,MAAM,IAAIY,UAAUnB,EACxB,CACEQ,EAAOf,EAASe,IAAS,EACzB,GAAIrC,EAASsC,GAAU,CACrBO,IAAYP,EAAQO,QACpBC,EAAS,YAAaR,EACtBG,EAAUK,EAAShB,EAAUR,EAASgB,EAAQG,UAAY,EAAGJ,GAAQI,EACrEM,EAAW,aAAcT,IAAYA,EAAQS,SAAWA,CAC5D,CAEE,SAASE,EAAWC,GAClB,IAAIC,EAAOZ,EACPa,EAAUZ,EAEdD,EAAWC,EAAWrD,UACtByD,EAAiBM,EACjBvD,EAASyC,EAAKiB,MAAMD,EAASD,GAC7B,OAAOxD,CACX,CAEE,SAAS2D,EAAYJ,GAEnBN,EAAiBM,EAEjBR,EAAUa,WAAWC,EAAcnB,GAEnC,OAAOQ,EAAUI,EAAWC,GAAQvD,CACxC,CAEE,SAAS8D,EAAcP,GACrB,IAAIQ,EAAoBR,EAAOP,EAC3BgB,EAAsBT,EAAON,EAC7BgB,EAAcvB,EAAOqB,EAEzB,OAAOZ,EACHb,EAAU2B,EAAanB,EAAUkB,GACjCC,CACR,CAEE,SAASC,EAAaX,GACpB,IAAIQ,EAAoBR,EAAOP,EAC3BgB,EAAsBT,EAAON,EAKjC,OAAQD,IAAiBxD,WAAcuE,GAAqBrB,GACzDqB,EAAoB,GAAOZ,GAAUa,GAAuBlB,CACnE,CAEE,SAASe,IACP,IAAIN,EAAOxB,IACX,GAAImC,EAAaX,GAAO,CACtB,OAAOY,EAAaZ,EAC1B,CAEIR,EAAUa,WAAWC,EAAcC,EAAcP,GACrD,CAEE,SAASY,EAAaZ,GACpBR,EAAUvD,UAIV,GAAI4D,GAAYR,EAAU,CACxB,OAAOU,EAAWC,EACxB,CACIX,EAAWC,EAAWrD,UACtB,OAAOQ,CACX,CAEE,SAASoE,IACP,GAAIrB,IAAYvD,UAAW,CACzB6E,aAAatB,EACnB,CACIE,EAAiB,EACjBL,EAAWI,EAAeH,EAAWE,EAAUvD,SACnD,CAEE,SAAS8E,IACP,OAAOvB,IAAYvD,UAAYQ,EAASmE,EAAapC,IACzD,CAEE,SAASwC,IACP,IAAIhB,EAAOxB,IACPyC,EAAaN,EAAaX,GAE9BX,EAAW6B,UACX5B,EAAW6B,KACX1B,EAAeO,EAEf,GAAIiB,EAAY,CACd,GAAIzB,IAAYvD,UAAW,CACzB,OAAOmE,EAAYX,EAC3B,CACM,GAAIG,EAAQ,CAEVkB,aAAatB,GACbA,EAAUa,WAAWC,EAAcnB,GACnC,OAAOY,EAAWN,EAC1B,CACA,CACI,GAAID,IAAYvD,UAAW,CACzBuD,EAAUa,WAAWC,EAAcnB,EACzC,CACI,OAAO1C,CACX,CACEuE,EAAUH,OAASA,EACnBG,EAAUD,MAAQA,EAClB,OAAOC,CACT,Q","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{L as o}from"./index-
|
|
5
|
-
//# sourceMappingURL=edit.utils-
|
|
4
|
+
import{L as o}from"./index-b6586f9b.js";function n(n){return!!(n===null||n===void 0?void 0:n.closest(`.${o}`))}function t(o){return typeof o==="function"&&typeof o.prototype==="object"}export{t as a,n as i};
|
|
5
|
+
//# sourceMappingURL=edit.utils-1eeabeab.js.map
|
package/dist/revo-grid/{header-cell-renderer-52d9d6ba.js → header-cell-renderer-da468bd2.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as t}from"./index-a61f225b.js";import{p as i}from"./column.service-
|
|
5
|
-
//# sourceMappingURL=header-cell-renderer-
|
|
4
|
+
import{h as t}from"./index-a61f225b.js";import{p as i}from"./column.service-407956dd.js";function s(t,i,s){const e=new CustomEvent(i,{detail:s,cancelable:true,bubbles:true});t===null||t===void 0?void 0:t.dispatchEvent(e);return e}function e(t,i,e){t.preventDefault();return s(t.target,i,e)}var h;(function(t){t["start"]="resize:start";t["move"]="resize:move";t["end"]="resize:end"})(h||(h={}));const o={"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 n={l:1,t:2,w:4,h:8};const l=t=>Object.assign(Object.assign({},t),{fitParent:t.fitParent||false,active:t.active||[],disableAttributes:t.disableAttributes||[],minWidth:t.minWidth||0,minHeight:t.minHeight||0});class r{constructor(t,i){var s,e;this.initialProps=t;this.$event=i;this.mouseX=0;this.mouseY=0;this.width=0;this.height=0;this.changeX=0;this.changeY=0;this.disableCalcMap=15;this.props=l(t);this.mouseMoveFunc=this.handleMove.bind(this);this.mouseUpFunc=this.handleUp.bind(this);this.minW=this.props.minWidth;this.minH=this.props.minHeight;this.maxW=(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(t){this.$el=t;this.props.disableAttributes.forEach((t=>{switch(t){case"l":this.disableCalcMap&=~n.l;break;case"t":this.disableCalcMap&=~n.t;break;case"w":this.disableCalcMap&=~n.w;break;case"h":this.disableCalcMap&=~n.h}}))}emitEvent(t,i){var s;if(!this.$event){return}const e=(s=this.activeResizer)===null||s===void 0?void 0:s.classList.contains("resizable-l");this.$event(Object.assign({eventName:t,width:this.width+this.changeX*(e?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},i))}static isTouchEvent(t){var i;const s=t;return((i=s.touches)===null||i===void 0?void 0:i.length)>=0}handleMove(t){var i;if(!this.resizeState){return}let s,e;if(r.isTouchEvent(t)){s=t.touches[0].clientY;e=t.touches[0].clientX}else{s=t.clientY;e=t.clientX}let l=this.resizeState&o["resizable-r"].bit||this.resizeState&o["resizable-l"].bit;let c=this.resizeState&o["resizable-t"].bit||this.resizeState&o["resizable-b"].bit;if(c&&this.disableCalcMap&n.h){let t=s-this.mouseY;let i=this.changeY+t;const e=this.height+i;if(e<this.minH){i=-(this.height-this.minH)}if(this.maxH&&e>this.maxH){i=this.maxH-this.height}this.changeY=i;this.mouseY=s;if(this.activeResizer){this.activeResizer.style.bottom=`${-this.changeY}px`}}if(l&&this.disableCalcMap&n.w){const t=(i=this.activeResizer)===null||i===void 0?void 0:i.classList.contains("resizable-l");let s=e-this.mouseX;let h=this.changeX+s;const o=this.width+h*(t?-1:1);if(o<this.minW){h=-(this.width-this.minW)}if(this.maxW&&o>this.maxW){h=this.maxW-this.width}this.changeX=h;this.mouseX=e;if(this.activeResizer){if(!t){this.activeResizer.style.right=`${-this.changeX}px`}else{this.activeResizer.style.left=`${this.changeX}px`}}}this.emitEvent(h.move)}handleDown(t){if(t.defaultPrevented){return}t.preventDefault();this.dropInitial();for(let i in o){const s=t.target;if(this.$el.contains(s)&&(s===null||s===void 0?void 0:s.classList.contains(i))){document.body.style.cursor=o[i].cursor;if(r.isTouchEvent(t)){this.setInitials(t.touches[0],s)}else{t.preventDefault&&t.preventDefault();this.setInitials(t,s)}this.resizeState=o[i].bit;const e=h.start;this.emitEvent(e);break}}this.bindMove()}handleUp(t){t.preventDefault();if(this.resizeState!==0){this.resizeState=0;document.body.style.cursor="";const t=h.end;this.emitEvent(t)}this.dropInitial();this.unbindMove()}setInitials({clientX:t,clientY:i},s){var e,h,o,l;const r=getComputedStyle(this.$el);this.$el.classList.add("active");this.activeResizer=s;if(this.disableCalcMap&n.w){this.mouseX=t;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 i=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight);this.minW=Math.max(i,this.initialProps.minWidth||0);if(this.initialProps.maxWidth){this.maxW=Math.max(this.width,this.initialProps.maxWidth)}}if(this.disableCalcMap&n.h){this.mouseY=i;this.height=this.$el.clientHeight;this.parent.height=(l=(o=this.$el.parentElement)===null||o===void 0?void 0:o.clientHeight)!==null&&l!==void 0?l:0;const t=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom);this.minH=Math.max(t,this.initialProps.minHeight||0);if(this.initialProps.maxHeight){this.maxH=Math.max(this.height,this.initialProps.maxHeight)}}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH;this.width=this.height=0;if(this.activeResizer){this.activeResizer.removeAttribute("style")}this.$el.classList.remove("active");this.activeResizer=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 c=(i,s)=>{const e=[];const o=i.canResize&&new r(i,(t=>{var s;if(t.eventName===h.end){(s=i.onResize)===null||s===void 0?void 0:s.call(i,t)}}))||null;if(i.active){if(i.canResize){for(let s in i.active){e.push(t("div",{onClick:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDblClick)===null||s===void 0?void 0:s.call(i,t)},onMouseDown:t=>o===null||o===void 0?void 0:o.handleDown(t),onTouchStart:t=>o===null||o===void 0?void 0:o.handleDown(t),class:`resizable resizable-${i.active[s]}`}))}}else{for(let s in i.active){e.push(t("div",{onClick:t=>t.preventDefault(),onTouchStart:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDblClick)===null||s===void 0?void 0:s.call(i,t)},class:`no-resize resizable resizable-${i.active[s]}`}))}}}return t("div",Object.assign({},i,{ref:t=>t&&(o===null||o===void 0?void 0:o.set(t))}),s,e)};const u="columnclick";const a=({data:e,props:h,additionalData:o},n)=>{let l=(e===null||e===void 0?void 0:e.name)||"";let r=h;if(e===null||e===void 0?void 0:e.columnTemplate){l=e.columnTemplate(t,e,o)}if(e===null||e===void 0?void 0:e.columnProperties){const t=e.columnProperties(e);if(t){r=i(h,t)}}const a=Object.assign(Object.assign({},r),{onMouseDown(t){s(t.currentTarget,u,{data:e,event:t})}});return t(c,Object.assign({},a),t("div",{class:"header-content"},l),n)};export{a as H,u as O,e as a,s as d};
|
|
5
|
+
//# sourceMappingURL=header-cell-renderer-da468bd2.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import{i as n,b as t,r,S as e,a as u,f as i,c as o,t as a}from"./debounce-7b511afc.js";import{g as s,f as c}from"./index-a61f225b.js";const f=n=>({set(t,r){if(!l(t)){return}const e=n.get("items").reduce(((n,t)=>{n[t]=true;return n}),{});const u=r.reduce(((n,t)=>{if(e[t]){n.push(t)}return n}),[]);n.set("items",u)}});function l(n){return n==="proxyItems"}function v(n,t,r,e){var u=n.length,i=r+(e?1:-1);while(e?i--:++i<u){if(t(n[i],i,n)){return i}}return-1}function d(){this.__data__=[];this.size=0}function b(n,t){return n===t||n!==n&&t!==t}function h(n,t){var r=n.length;while(r--){if(b(n[r][0],t)){return r}}return-1}var p=Array.prototype;var j=p.splice;function w(n){var t=this.__data__,r=h(t,n);if(r<0){return false}var e=t.length-1;if(r==e){t.pop()}else{j.call(t,r,1)}--this.size;return true}function m(n){var t=this.__data__,r=h(t,n);return r<0?undefined:t[r][1]}function y(n){return h(this.__data__,n)>-1}function O(n,t){var r=this.__data__,e=h(r,n);if(e<0){++this.size;r.push([n,t])}else{r[e][1]=t}return this}function g(n){var t=-1,r=n==null?0:n.length;this.clear();while(++t<r){var e=n[t];this.set(e[0],e[1])}}g.prototype.clear=d;g.prototype["delete"]=w;g.prototype.get=m;g.prototype.has=y;g.prototype.set=O;function A(){this.__data__=new g;this.size=0}function _(n){var t=this.__data__,r=t["delete"](n);this.size=t.size;return r}function x(n){return this.__data__.get(n)}function E(n){return this.__data__.has(n)}var M="[object AsyncFunction]",F="[object Function]",I="[object GeneratorFunction]",R="[object Proxy]";function D(r){if(!n(r)){return false}var e=t(r);return e==F||e==I||e==M||e==R}var T=r["__core-js_shared__"];const C=T;var S=function(){var n=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function P(n){return!!S&&S in n}var k=Function.prototype;var N=k.toString;function L(n){if(n!=null){try{return N.call(n)}catch(n){}try{return n+""}catch(n){}}return""}var U=/[\\^$.*+?()[\]{}|]/g;var $=/^\[object .+?Constructor\]$/;var W=Function.prototype,B=Object.prototype;var H=W.toString;var K=B.hasOwnProperty;var G=RegExp("^"+H.call(K).replace(U,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function V(t){if(!n(t)||P(t)){return false}var r=D(t)?G:$;return r.test(L(t))}function X(n,t){return n==null?undefined:n[t]}function z(n,t){var r=X(n,t);return V(r)?r:undefined}var q=z(r,"Map");const J=q;var Q=z(Object,"create");const Y=Q;function Z(){this.__data__=Y?Y(null):{};this.size=0}function nn(n){var t=this.has(n)&&delete this.__data__[n];this.size-=t?1:0;return t}var tn="__lodash_hash_undefined__";var rn=Object.prototype;var en=rn.hasOwnProperty;function un(n){var t=this.__data__;if(Y){var r=t[n];return r===tn?undefined:r}return en.call(t,n)?t[n]:undefined}var on=Object.prototype;var an=on.hasOwnProperty;function sn(n){var t=this.__data__;return Y?t[n]!==undefined:an.call(t,n)}var cn="__lodash_hash_undefined__";function fn(n,t){var r=this.__data__;this.size+=this.has(n)?0:1;r[n]=Y&&t===undefined?cn:t;return this}function ln(n){var t=-1,r=n==null?0:n.length;this.clear();while(++t<r){var e=n[t];this.set(e[0],e[1])}}ln.prototype.clear=Z;ln.prototype["delete"]=nn;ln.prototype.get=un;ln.prototype.has=sn;ln.prototype.set=fn;function vn(){this.size=0;this.__data__={hash:new ln,map:new(J||g),string:new ln}}function dn(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}function bn(n,t){var r=n.__data__;return dn(t)?r[typeof t=="string"?"string":"hash"]:r.map}function hn(n){var t=bn(this,n)["delete"](n);this.size-=t?1:0;return t}function pn(n){return bn(this,n).get(n)}function jn(n){return bn(this,n).has(n)}function wn(n,t){var r=bn(this,n),e=r.size;r.set(n,t);this.size+=r.size==e?0:1;return this}function mn(n){var t=-1,r=n==null?0:n.length;this.clear();while(++t<r){var e=n[t];this.set(e[0],e[1])}}mn.prototype.clear=vn;mn.prototype["delete"]=hn;mn.prototype.get=pn;mn.prototype.has=jn;mn.prototype.set=wn;var yn=200;function On(n,t){var r=this.__data__;if(r instanceof g){var e=r.__data__;if(!J||e.length<yn-1){e.push([n,t]);this.size=++r.size;return this}r=this.__data__=new mn(e)}r.set(n,t);this.size=r.size;return this}function gn(n){var t=this.__data__=new g(n);this.size=t.size}gn.prototype.clear=A;gn.prototype["delete"]=_;gn.prototype.get=x;gn.prototype.has=E;gn.prototype.set=On;var An="__lodash_hash_undefined__";function _n(n){this.__data__.set(n,An);return this}function xn(n){return this.__data__.has(n)}function En(n){var t=-1,r=n==null?0:n.length;this.__data__=new mn;while(++t<r){this.add(n[t])}}En.prototype.add=En.prototype.push=_n;En.prototype.has=xn;function Mn(n,t){var r=-1,e=n==null?0:n.length;while(++r<e){if(t(n[r],r,n)){return true}}return false}function Fn(n,t){return n.has(t)}var In=1,Rn=2;function Dn(n,t,r,e,u,i){var o=r&In,a=n.length,s=t.length;if(a!=s&&!(o&&s>a)){return false}var c=i.get(n);var f=i.get(t);if(c&&f){return c==t&&f==n}var l=-1,v=true,d=r&Rn?new En:undefined;i.set(n,t);i.set(t,n);while(++l<a){var b=n[l],h=t[l];if(e){var p=o?e(h,b,l,t,n,i):e(b,h,l,n,t,i)}if(p!==undefined){if(p){continue}v=false;break}if(d){if(!Mn(t,(function(n,t){if(!Fn(d,t)&&(b===n||u(b,n,r,e,i))){return d.push(t)}}))){v=false;break}}else if(!(b===h||u(b,h,r,e,i))){v=false;break}}i["delete"](n);i["delete"](t);return v}var Tn=r.Uint8Array;const Cn=Tn;function Sn(n){var t=-1,r=Array(n.size);n.forEach((function(n,e){r[++t]=[e,n]}));return r}function Pn(n){var t=-1,r=Array(n.size);n.forEach((function(n){r[++t]=n}));return r}var kn=1,Nn=2;var Ln="[object Boolean]",Un="[object Date]",$n="[object Error]",Wn="[object Map]",Bn="[object Number]",Hn="[object RegExp]",Kn="[object Set]",Gn="[object String]",Vn="[object Symbol]";var Xn="[object ArrayBuffer]",zn="[object DataView]";var qn=e?e.prototype:undefined,Jn=qn?qn.valueOf:undefined;function Qn(n,t,r,e,u,i,o){switch(r){case zn:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset){return false}n=n.buffer;t=t.buffer;case Xn:if(n.byteLength!=t.byteLength||!i(new Cn(n),new Cn(t))){return false}return true;case Ln:case Un:case Bn:return b(+n,+t);case $n:return n.name==t.name&&n.message==t.message;case Hn:case Gn:return n==t+"";case Wn:var a=Sn;case Kn:var s=e&kn;a||(a=Pn);if(n.size!=t.size&&!s){return false}var c=o.get(n);if(c){return c==t}e|=Nn;o.set(n,t);var f=Dn(a(n),a(t),e,u,i,o);o["delete"](n);return f;case Vn:if(Jn){return Jn.call(n)==Jn.call(t)}}return false}function Yn(n,t){var r=-1,e=t.length,u=n.length;while(++r<e){n[u+r]=t[r]}return n}var Zn=Array.isArray;const nt=Zn;function tt(n,t,r){var e=t(n);return nt(n)?e:Yn(e,r(n))}function rt(n,t){var r=-1,e=n==null?0:n.length,u=0,i=[];while(++r<e){var o=n[r];if(t(o,r,n)){i[u++]=o}}return i}function et(){return[]}var ut=Object.prototype;var it=ut.propertyIsEnumerable;var ot=Object.getOwnPropertySymbols;var at=!ot?et:function(n){if(n==null){return[]}n=Object(n);return rt(ot(n),(function(t){return it.call(n,t)}))};const st=at;function ct(n,t){var r=-1,e=Array(n);while(++r<n){e[r]=t(r)}return e}var ft="[object Arguments]";function lt(n){return u(n)&&t(n)==ft}var vt=Object.prototype;var dt=vt.hasOwnProperty;var bt=vt.propertyIsEnumerable;var ht=lt(function(){return arguments}())?lt:function(n){return u(n)&&dt.call(n,"callee")&&!bt.call(n,"callee")};const pt=ht;function jt(){return false}var wt=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var mt=wt&&typeof module=="object"&&module&&!module.nodeType&&module;var yt=mt&&mt.exports===wt;var Ot=yt?r.Buffer:undefined;var gt=Ot?Ot.isBuffer:undefined;var At=gt||jt;const _t=At;var xt=9007199254740991;var Et=/^(?:0|[1-9]\d*)$/;function Mt(n,t){var r=typeof n;t=t==null?xt:t;return!!t&&(r=="number"||r!="symbol"&&Et.test(n))&&(n>-1&&n%1==0&&n<t)}var Ft=9007199254740991;function It(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=Ft}var Rt="[object Arguments]",Dt="[object Array]",Tt="[object Boolean]",Ct="[object Date]",St="[object Error]",Pt="[object Function]",kt="[object Map]",Nt="[object Number]",Lt="[object Object]",Ut="[object RegExp]",$t="[object Set]",Wt="[object String]",Bt="[object WeakMap]";var Ht="[object ArrayBuffer]",Kt="[object DataView]",Gt="[object Float32Array]",Vt="[object Float64Array]",Xt="[object Int8Array]",zt="[object Int16Array]",qt="[object Int32Array]",Jt="[object Uint8Array]",Qt="[object Uint8ClampedArray]",Yt="[object Uint16Array]",Zt="[object Uint32Array]";var nr={};nr[Gt]=nr[Vt]=nr[Xt]=nr[zt]=nr[qt]=nr[Jt]=nr[Qt]=nr[Yt]=nr[Zt]=true;nr[Rt]=nr[Dt]=nr[Ht]=nr[Tt]=nr[Kt]=nr[Ct]=nr[St]=nr[Pt]=nr[kt]=nr[Nt]=nr[Lt]=nr[Ut]=nr[$t]=nr[Wt]=nr[Bt]=false;function tr(n){return u(n)&&It(n.length)&&!!nr[t(n)]}function rr(n){return function(t){return n(t)}}var er=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var ur=er&&typeof module=="object"&&module&&!module.nodeType&&module;var ir=ur&&ur.exports===er;var or=ir&&i.process;var ar=function(){try{var n=ur&&ur.require&&ur.require("util").types;if(n){return n}return or&&or.binding&&or.binding("util")}catch(n){}}();const sr=ar;var cr=sr&&sr.isTypedArray;var fr=cr?rr(cr):tr;const lr=fr;var vr=Object.prototype;var dr=vr.hasOwnProperty;function br(n,t){var r=nt(n),e=!r&&pt(n),u=!r&&!e&&_t(n),i=!r&&!e&&!u&&lr(n),o=r||e||u||i,a=o?ct(n.length,String):[],s=a.length;for(var c in n){if((t||dr.call(n,c))&&!(o&&(c=="length"||u&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Mt(c,s)))){a.push(c)}}return a}var hr=Object.prototype;function pr(n){var t=n&&n.constructor,r=typeof t=="function"&&t.prototype||hr;return n===r}function jr(n,t){return function(r){return n(t(r))}}var wr=jr(Object.keys,Object);const mr=wr;var yr=Object.prototype;var Or=yr.hasOwnProperty;function gr(n){if(!pr(n)){return mr(n)}var t=[];for(var r in Object(n)){if(Or.call(n,r)&&r!="constructor"){t.push(r)}}return t}function Ar(n){return n!=null&&It(n.length)&&!D(n)}function _r(n){return Ar(n)?br(n):gr(n)}function xr(n){return tt(n,_r,st)}var Er=1;var Mr=Object.prototype;var Fr=Mr.hasOwnProperty;function Ir(n,t,r,e,u,i){var o=r&Er,a=xr(n),s=a.length,c=xr(t),f=c.length;if(s!=f&&!o){return false}var l=s;while(l--){var v=a[l];if(!(o?v in t:Fr.call(t,v))){return false}}var d=i.get(n);var b=i.get(t);if(d&&b){return d==t&&b==n}var h=true;i.set(n,t);i.set(t,n);var p=o;while(++l<s){v=a[l];var j=n[v],w=t[v];if(e){var m=o?e(w,j,v,t,n,i):e(j,w,v,n,t,i)}if(!(m===undefined?j===w||u(j,w,r,e,i):m)){h=false;break}p||(p=v=="constructor")}if(h&&!p){var y=n.constructor,O=t.constructor;if(y!=O&&("constructor"in n&&"constructor"in t)&&!(typeof y=="function"&&y instanceof y&&typeof O=="function"&&O instanceof O)){h=false}}i["delete"](n);i["delete"](t);return h}var Rr=z(r,"DataView");const Dr=Rr;var Tr=z(r,"Promise");const Cr=Tr;var Sr=z(r,"Set");const Pr=Sr;var kr=z(r,"WeakMap");const Nr=kr;var Lr="[object Map]",Ur="[object Object]",$r="[object Promise]",Wr="[object Set]",Br="[object WeakMap]";var Hr="[object DataView]";var Kr=L(Dr),Gr=L(J),Vr=L(Cr),Xr=L(Pr),zr=L(Nr);var qr=t;if(Dr&&qr(new Dr(new ArrayBuffer(1)))!=Hr||J&&qr(new J)!=Lr||Cr&&qr(Cr.resolve())!=$r||Pr&&qr(new Pr)!=Wr||Nr&&qr(new Nr)!=Br){qr=function(n){var r=t(n),e=r==Ur?n.constructor:undefined,u=e?L(e):"";if(u){switch(u){case Kr:return Hr;case Gr:return Lr;case Vr:return $r;case Xr:return Wr;case zr:return Br}}return r}}const Jr=qr;var Qr=1;var Yr="[object Arguments]",Zr="[object Array]",ne="[object Object]";var te=Object.prototype;var re=te.hasOwnProperty;function ee(n,t,r,e,u,i){var o=nt(n),a=nt(t),s=o?Zr:Jr(n),c=a?Zr:Jr(t);s=s==Yr?ne:s;c=c==Yr?ne:c;var f=s==ne,l=c==ne,v=s==c;if(v&&_t(n)){if(!_t(t)){return false}o=true;f=false}if(v&&!f){i||(i=new gn);return o||lr(n)?Dn(n,t,r,e,u,i):Qn(n,t,s,r,e,u,i)}if(!(r&Qr)){var d=f&&re.call(n,"__wrapped__"),b=l&&re.call(t,"__wrapped__");if(d||b){var h=d?n.value():n,p=b?t.value():t;i||(i=new gn);return u(h,p,r,e,i)}}if(!v){return false}i||(i=new gn);return Ir(n,t,r,e,u,i)}function ue(n,t,r,e,i){if(n===t){return true}if(n==null||t==null||!u(n)&&!u(t)){return n!==n&&t!==t}return ee(n,t,r,e,ue,i)}var ie=1,oe=2;function ae(n,t,r,e){var u=r.length,i=u,o=!e;if(n==null){return!i}n=Object(n);while(u--){var a=r[u];if(o&&a[2]?a[1]!==n[a[0]]:!(a[0]in n)){return false}}while(++u<i){a=r[u];var s=a[0],c=n[s],f=a[1];if(o&&a[2]){if(c===undefined&&!(s in n)){return false}}else{var l=new gn;if(e){var v=e(c,f,s,n,t,l)}if(!(v===undefined?ue(f,c,ie|oe,e,l):v)){return false}}}return true}function se(t){return t===t&&!n(t)}function ce(n){var t=_r(n),r=t.length;while(r--){var e=t[r],u=n[e];t[r]=[e,u,se(u)]}return t}function fe(n,t){return function(r){if(r==null){return false}return r[n]===t&&(t!==undefined||n in Object(r))}}function le(n){var t=ce(n);if(t.length==1&&t[0][2]){return fe(t[0][0],t[0][1])}return function(r){return r===n||ae(r,n,t)}}var ve=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,de=/^\w*$/;function be(n,t){if(nt(n)){return false}var r=typeof n;if(r=="number"||r=="symbol"||r=="boolean"||n==null||o(n)){return true}return de.test(n)||!ve.test(n)||t!=null&&n in Object(t)}var he="Expected a function";function pe(n,t){if(typeof n!="function"||t!=null&&typeof t!="function"){throw new TypeError(he)}var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u)){return i.get(u)}var o=n.apply(this,e);r.cache=i.set(u,o)||i;return o};r.cache=new(pe.Cache||mn);return r}pe.Cache=mn;var je=500;function we(n){var t=pe(n,(function(n){if(r.size===je){r.clear()}return n}));var r=t.cache;return t}var me=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var ye=/\\(\\)?/g;var Oe=we((function(n){var t=[];if(n.charCodeAt(0)===46){t.push("")}n.replace(me,(function(n,r,e,u){t.push(e?u.replace(ye,"$1"):r||n)}));return t}));const ge=Oe;function Ae(n,t){var r=-1,e=n==null?0:n.length,u=Array(e);while(++r<e){u[r]=t(n[r],r,n)}return u}var _e=1/0;var xe=e?e.prototype:undefined,Ee=xe?xe.toString:undefined;function Me(n){if(typeof n=="string"){return n}if(nt(n)){return Ae(n,Me)+""}if(o(n)){return Ee?Ee.call(n):""}var t=n+"";return t=="0"&&1/n==-_e?"-0":t}function Fe(n){return n==null?"":Me(n)}function Ie(n,t){if(nt(n)){return n}return be(n,t)?[n]:ge(Fe(n))}var Re=1/0;function De(n){if(typeof n=="string"||o(n)){return n}var t=n+"";return t=="0"&&1/n==-Re?"-0":t}function Te(n,t){t=Ie(t,n);var r=0,e=t.length;while(n!=null&&r<e){n=n[De(t[r++])]}return r&&r==e?n:undefined}function Ce(n,t,r){var e=n==null?undefined:Te(n,t);return e===undefined?r:e}function Se(n,t){return n!=null&&t in Object(n)}function Pe(n,t,r){t=Ie(t,n);var e=-1,u=t.length,i=false;while(++e<u){var o=De(t[e]);if(!(i=n!=null&&r(n,o))){break}n=n[o]}if(i||++e!=u){return i}u=n==null?0:n.length;return!!u&&It(u)&&Mt(o,u)&&(nt(n)||pt(n))}function ke(n,t){return n!=null&&Pe(n,t,Se)}var Ne=1,Le=2;function Ue(n,t){if(be(n)&&se(t)){return fe(De(n),t)}return function(r){var e=Ce(r,n);return e===undefined&&e===t?ke(r,n):ue(t,e,Ne|Le)}}function $e(n){return n}function We(n){return function(t){return t==null?undefined:t[n]}}function Be(n){return function(t){return Te(t,n)}}function He(n){return be(n)?We(De(n)):Be(n)}function Ke(n){if(typeof n=="function"){return n}if(n==null){return $e}if(typeof n=="object"){return nt(n)?Ue(n[0],n[1]):le(n)}return He(n)}var Ge=1/0,Ve=17976931348623157e292;function Xe(n){if(!n){return n===0?n:0}n=a(n);if(n===Ge||n===-Ge){var t=n<0?-1:1;return t*Ve}return n===n?n:0}function ze(n){var t=Xe(n),r=t%1;return t===t?r?t-r:t:0}var qe=Math.max;function Je(n,t,r){var e=n==null?0:n.length;if(!e){return-1}var u=r==null?0:ze(r);if(u<0){u=qe(e+u,0)}return v(n,Ke(t),u)}var Qe=Math.ceil,Ye=Math.max;function Ze(n,t,r,e){var u=-1,i=Ye(Qe((t-n)/(r||1)),0),o=Array(i);while(i--){o[e?i:++u]=n;n+=r}return o}function nu(t,r,e){if(!n(e)){return false}var u=typeof r;if(u=="number"?Ar(e)&&Mt(r,e.length):u=="string"&&r in e){return b(e[r],t)}return false}function tu(n){return function(t,r,e){if(e&&typeof e!="number"&&nu(t,r,e)){r=e=undefined}t=Xe(t);if(r===undefined){r=t;t=0}else{r=Xe(r)}e=e===undefined?t<r?1:-1:Xe(e);return Ze(t,r,e,n)}}var ru=tu();const eu=ru;const uu=(n,t,r)=>{const e=n.get(t);if(!e){n.set(t,[r])}else if(!e.includes(r)){e.push(r)}};const iu=(n,t)=>{let r;return(...e)=>{if(r){clearTimeout(r)}r=setTimeout((()=>{r=0;n(...e)}),t)}};const ou=n=>!("isConnected"in n)||n.isConnected;const au=iu((n=>{for(let t of n.keys()){n.set(t,n.get(t).filter(ou))}}),2e3);const su=()=>{if(typeof s!=="function"){return{}}const n=new Map;return{dispose:()=>n.clear(),get:t=>{const r=s();if(r){uu(n,t,r)}},set:t=>{const r=n.get(t);if(r){n.set(t,r.filter(c))}au(n)},reset:()=>{n.forEach((n=>n.forEach(c)));au(n)}}};const cu=n=>typeof n==="function"?n():n;const fu=(n,t=((n,t)=>n!==t))=>{const r=cu(n);let e=new Map(Object.entries(r!==null&&r!==void 0?r:{}));const u={dispose:[],get:[],set:[],reset:[]};const i=()=>{var t;e=new Map(Object.entries((t=cu(n))!==null&&t!==void 0?t:{}));u.reset.forEach((n=>n()))};const o=()=>{u.dispose.forEach((n=>n()));i()};const a=n=>{u.get.forEach((t=>t(n)));return e.get(n)};const s=(n,r)=>{const i=e.get(n);if(t(r,i,n)){e.set(n,r);u.set.forEach((t=>t(n,r,i)))}};const c=typeof Proxy==="undefined"?{}:new Proxy(r,{get(n,t){return a(t)},ownKeys(n){return Array.from(e.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(n,t){return e.has(t)},set(n,t,r){s(t,r);return true}});const f=(n,t)=>{u[n].push(t);return()=>{lu(u[n],t)}};const l=(t,r)=>{const e=f("set",((n,e)=>{if(n===t){r(e)}}));const u=f("reset",(()=>r(cu(n)[t])));return()=>{e();u()}};const v=(...n)=>{const t=n.reduce(((n,t)=>{if(t.set){n.push(f("set",t.set))}if(t.get){n.push(f("get",t.get))}if(t.reset){n.push(f("reset",t.reset))}if(t.dispose){n.push(f("dispose",t.dispose))}return n}),[]);return()=>t.forEach((n=>n()))};const d=n=>{const t=e.get(n);u.set.forEach((r=>r(n,t,t)))};return{state:c,get:a,set:s,on:f,onChange:l,use:v,dispose:o,reset:i,forceUpdate:d}};const lu=(n,t)=>{const r=n.indexOf(t);if(r>=0){n[r]=n[n.length-1];n.length--}};const vu=(n,t)=>{const r=fu(n,t);r.use(su());return r};const du=n=>({set(t,r){switch(t){case"trimmed":const t=n.get("proxyItems");const e=bu(r);const u=t.reduce(((n,t)=>{if(!e[t]){n.push(t)}return n}),[]);n.set("items",u);break}}});function bu(n){const t={};for(let r in n){for(let e in n[r]){t[e]=t[e]||n[r][e]}}return t}function hu(n,t){Object.entries(t).forEach((([t,r])=>{n.set(t,r)}))}class pu{get store(){return this.dataStore}constructor(n,t){const r=this.dataStore=vu(Object.assign({items:[],proxyItems:[],source:[],groupingDepth:0,groups:{},type:n,trimmed:{},groupingCustomRenderer:undefined},t));r.use(f(r));r.use(du(r))}updateData(n,t,r=false){if(!r){this.store.set("trimmed",{})}this.store.set("items",[]);const e=eu(0,(n===null||n===void 0?void 0:n.length)||0);hu(this.store,{source:n,proxyItems:[...e]});this.store.set("items",e);if(t){hu(this.store,{groupingDepth:t.depth,groups:t.groups,groupingCustomRenderer:t.customRenderer})}}addTrimmed(n){let t=this.store.get("trimmed");t=Object.assign(Object.assign({},t),n);hu(this.store,{trimmed:t})}setData(n){const t=Object.assign({},n);hu(this.store,t)}refresh(){const n=this.store.get("source");this.store.set("source",[...n])}}function ju(n,t){const r=n.get("items");return r[t]}function wu(n){const t=n.get("source");return n.get("items").map((n=>t[n]))}const mu=(n,t)=>{const r=n.get("items");const e=n.get("source");return e[r[t]]};function yu(n,t,r=true){const e=n.get("items");const u=n.get("source");for(let n in t){const r=e[n];const i=t[n];u[r]=i}if(r){n.set("source",[...u])}}function Ou(n,t,r=true){const e=n.get("source");for(let n in t){e[n]=t[n]}if(r){n.set("source",[...e])}}function gu(n,t){n.set("items",t)}function Au(n,t){const r=n.get("items");const e=n.get("source");const u=Je(e,{prop:t});return r.indexOf(u)}function _u(n,t,r,e){var u=-1,i=n==null?0:n.length;if(e&&i){r=n[++u]}while(++u<i){r=t(r,n[u],u,n)}return r}function xu(n){return function(t,r,e){var u=-1,i=Object(t),o=e(t),a=o.length;while(a--){var s=o[n?a:++u];if(r(i[s],s,i)===false){break}}return t}}var Eu=xu();const Mu=Eu;function Fu(n,t){return n&&Mu(n,t,_r)}function Iu(n,t){return function(r,e){if(r==null){return r}if(!Ar(r)){return n(r,e)}var u=r.length,i=t?u:-1,o=Object(r);while(t?i--:++i<u){if(e(o[i],i,o)===false){break}}return r}}var Ru=Iu(Fu);const Du=Ru;function Tu(n,t,r,e,u){u(n,(function(n,u,i){r=e?(e=false,n):t(r,n,u,i)}));return r}function Cu(n,t,r){var e=nt(n)?_u:Tu,u=arguments.length<3;return e(n,Ke(t),r,u,Du)}function Su(n,t){var r=-1,e=n==null?0:n.length;while(++r<e){if(t(n[r],r,n)===false){break}}return n}function Pu(n){return typeof n=="function"?n:$e}function ku(n,t){var r=nt(n)?Su:Du;return r(n,Pu(t))}var Nu=4294967295,Lu=Nu-1;var Uu=Math.floor,$u=Math.min;function Wu(n,t,r,e){var u=0,i=n==null?0:n.length;if(i===0){return 0}t=r(t);var a=t!==t,s=t===null,c=o(t),f=t===undefined;while(u<i){var l=Uu((u+i)/2),v=r(n[l]),d=v!==undefined,b=v===null,h=v===v,p=o(v);if(a){var j=e||h}else if(f){j=h&&(e||d)}else if(s){j=h&&d&&(e||!b)}else if(c){j=h&&d&&!b&&(e||!p)}else if(b||p){j=false}else{j=e?v<=t:v<t}if(j){u=l+1}else{i=l}}return $u(i,Lu)}var Bu=4294967295,Hu=Bu>>>1;function Ku(n,t,r){var e=0,u=n==null?e:n.length;if(typeof t=="number"&&t===t&&u<=Hu){while(e<u){var i=e+u>>>1,a=n[i];if(a!==null&&!o(a)&&(r?a<=t:a<t)){e=i+1}else{u=i}}return u}return Wu(n,t,$e,r)}function Gu(n,t){return Ku(n,t)}function Vu(n,t={}){const r=[];const e={};const u={};const i=Object.assign({},t);let o=[];ku(t,((n,t)=>{const r=parseInt(t,10);o[Gu(o,r)]=r}));Cu(o,((t,o,a)=>{const s={itemIndex:o,start:0,end:0};if(t){const r=(o-t.itemIndex-1)*n;s.start=r+t.end}else{s.start=o*n}s.end=s.start+i[o];r.push(s.start);u[o]=e[a]=s;return s}),undefined);return{indexes:o,positionIndexes:[...r],positionIndexToItem:Object.assign({},e),indexToItem:u,sizes:i}}const Xu=({indexes:n,positionIndexes:t,originItemSize:r,positionIndexToItem:e},u)=>{const i={itemIndex:0,start:0,end:0};const o=n.length?Gu(t,u):0;if(!o){i.itemIndex=Math.floor(u/r);i.start=i.itemIndex*r;i.end=i.start+r;return i}const a=e[o-1];if(a.end>u){return a}const s=u-a.end;const c=Math.floor(s/r);i.itemIndex=a.itemIndex+1+c;i.start=a.end+c*r;i.end=i.start+r;return i};function zu(n,t){let r={itemIndex:t,start:0,end:0};if(n.indexToItem[t]){return n.indexToItem[t]}const e=n.indexes.length?Gu(n.indexes,t):0;if(!e){r.start=r.itemIndex*n.originItemSize;r.end=r.start+n.originItemSize;return r}const u=n.indexToItem[n.indexes[e-1]];r.start=u.end+(t-u.itemIndex-1)*n.originItemSize;r.end=r.start+n.originItemSize;return r}const qu=30;const Ju=40;const Qu="data-rgCol";const Yu="data-rgRow";const Zu="disabled";const ni="rgCell";const ti="rowHeaders";const ri="rgHeaderCell";const ei="sortable";const ui="header-rgRow";const ii="actual-rgRow";const oi="revo-drag-icon";const ai="revo-draggable";const si="focused-cell";const ci="selection-border-range";const fi="mobile-handler";const li="temp-bg-range";const vi="autofill-handle";const di="edit-input-wrapper";const bi="Draggable item";const hi="__rvgr";const pi="focused-rgRow";var ji;(function(n){n[n["MOUSE_LEFT"]=1]="MOUSE_LEFT";n[n["MOUSE_RIGHT"]=3]="MOUSE_RIGHT";n[n["MOUSE_MIDDLE"]=2]="MOUSE_MIDDLE";n[n["BACKSPACE"]=8]="BACKSPACE";n[n["COMMA"]=188]="COMMA";n[n["INSERT"]=45]="INSERT";n[n["DELETE"]=46]="DELETE";n[n["END"]=35]="END";n[n["ENTER"]=13]="ENTER";n[n["ESCAPE"]=27]="ESCAPE";n[n["CONTROL"]=17]="CONTROL";n[n["COMMAND_LEFT"]=91]="COMMAND_LEFT";n[n["COMMAND_RIGHT"]=93]="COMMAND_RIGHT";n[n["COMMAND_FIREFOX"]=224]="COMMAND_FIREFOX";n[n["ALT"]=18]="ALT";n[n["HOME"]=36]="HOME";n[n["PAGE_DOWN"]=34]="PAGE_DOWN";n[n["PAGE_UP"]=33]="PAGE_UP";n[n["PERIOD"]=190]="PERIOD";n[n["SPACE"]=32]="SPACE";n[n["SHIFT"]=16]="SHIFT";n[n["CAPS_LOCK"]=20]="CAPS_LOCK";n[n["TAB"]=9]="TAB";n[n["ARROW_RIGHT"]=39]="ARROW_RIGHT";n[n["ARROW_LEFT"]=37]="ARROW_LEFT";n[n["ARROW_UP"]=38]="ARROW_UP";n[n["ARROW_DOWN"]=40]="ARROW_DOWN";n[n["F1"]=112]="F1";n[n["F2"]=113]="F2";n[n["F3"]=114]="F3";n[n["F4"]=115]="F4";n[n["F5"]=116]="F5";n[n["F6"]=117]="F6";n[n["F7"]=118]="F7";n[n["F8"]=119]="F8";n[n["F9"]=120]="F9";n[n["F10"]=121]="F10";n[n["F11"]=122]="F11";n[n["F12"]=123]="F12";n[n["A"]=65]="A";n[n["C"]=67]="C";n[n["D"]=68]="D";n[n["F"]=70]="F";n[n["L"]=76]="L";n[n["O"]=79]="O";n[n["P"]=80]="P";n[n["S"]=83]="S";n[n["V"]=86]="V";n[n["X"]=88]="X"})(ji||(ji={}));var wi;(function(n){n["ENTER"]="Enter";n["ENTER_NUM"]="NumpadEnter";n["A"]="KeyA";n["C"]="KeyC";n["X"]="KeyX";n["V"]="KeyV";n["ESCAPE"]="Escape";n["TAB"]="Tab";n["BACKSPACE"]="Backspace";n["DELETE"]="Delete";n["ARROW_RIGHT"]="ArrowRight";n["ARROW_LEFT"]="ArrowLeft";n["ARROW_UP"]="ArrowUp";n["ARROW_DOWN"]="ArrowDown";n["SHIFT"]="Shift"})(wi||(wi={}));var mi;(function(n){n["ENTER"]="Enter";n["TAB"]="Tab"})(mi||(mi={}));const yi=ji;var Oi;(function(n){n["mac"]="Mac"})(Oi||(Oi={}));const gi=Oi;function Ai(n,t=0){const r=[];const e=t+n;for(let n=t;n<e;n++){r.push(n)}return r}function _i(n,t){return function(r){let e=0;let u=r.length-1;while(e<=u){const i=u+e>>1;const o=t(n,r[i]);if(o>0){e=i+1}else if(o<0){u=i-1}else{return i}}return-e-1}(this)}function xi(n,t,r){n.splice(_i.bind(n)(t,r),0,t);return n}function Ei(n,t){return n<t}function Mi(n,t,r=Ei){const e=[];let u=0;let i=0;let o=0;while(o<n.length+t.length){let a=u>=n.length;let s=i>=t.length;if(!a&&(s||r(n[u],t[i]))){e[o]=n[u];u++}else{e[o]=t[i];i++}o++}return e}function Fi(n){const t=n.createElement("div");t.style.overflow="scroll";t.style.visibility="hidden";t.style.position="absolute";t.style.top="-9999px";t.style.width="50px";t.style.height="50px";n.body.appendChild(t);const r=t.offsetWidth-t.clientWidth;n.body.removeChild(t);return r}function Ii(n,t,r){return(r[1]-r[0])*(n-t[0])/(t[1]-t[0])+r[0]}async function Ri(n=0){await new Promise((t=>{setTimeout((()=>t()),n)}))}function Di(n,t){t.forEach((t=>{Object.getOwnPropertyNames(t.prototype).forEach((r=>{Object.defineProperty(n.prototype,r,Object.getOwnPropertyDescriptor(t.prototype,r)||Object.create(null))}))}))}export{gi as $,ei as A,ui as B,ni as C,pu as D,ii as E,oi as F,ai as G,ri as H,si as I,fi as J,vi as K,di as L,qu as M,bi as N,hi as O,pi as P,wi as Q,Ju as R,ci as S,li as T,mi as U,vu as V,Cu as W,ku as X,ze as Y,nu as Z,nt as _,wu as a,yi as a0,We as a1,Ar as a2,Jr as a3,gr as a4,eu as a5,Je as a6,z as a7,Du as a8,Ke as a9,mu as b,Ou as c,gu as d,Au as e,bu as f,ju as g,Vu as h,Xu as i,zu as j,_i as k,xi as l,Mi as m,Fi as n,Ii as o,f as p,Ri as q,Ai as r,yu as s,du as t,Di as u,hu as v,Qu as w,Yu as x,Zu as y,ti as z};
|
|
5
|
+
//# sourceMappingURL=index-b6586f9b.js.map
|