@revolist/revogrid 4.10.0 → 4.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/cjs/{column.drag.plugin-7098477f.js → column.drag.plugin-08ca04f4.js} +18 -18
  2. package/dist/cjs/column.drag.plugin-08ca04f4.js.map +1 -0
  3. package/dist/cjs/column.service-2670e6e7.js +1286 -0
  4. package/dist/cjs/column.service-2670e6e7.js.map +1 -0
  5. package/dist/cjs/{edit.utils-75fa1cab.js → edit.utils-4a790cf8.js} +2 -2
  6. package/dist/cjs/{edit.utils-75fa1cab.js.map → edit.utils-4a790cf8.js.map} +1 -1
  7. package/dist/cjs/{header-cell-renderer-aaaad4c8.js → header-cell-renderer-db089f54.js} +2 -2
  8. package/dist/cjs/{header-cell-renderer-aaaad4c8.js.map → header-cell-renderer-db089f54.js.map} +1 -1
  9. package/dist/cjs/{column.service-f1d5d924.js → index-91e92bea.js} +452 -1227
  10. package/dist/cjs/index-91e92bea.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +20 -20
  12. package/dist/cjs/{key.utils-8f1105f3.js → key.utils-e65c24e6.js} +2 -2
  13. package/dist/cjs/{key.utils-8f1105f3.js.map → key.utils-e65c24e6.js.map} +1 -1
  14. package/dist/cjs/revo-grid.cjs.entry.js +26 -26
  15. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  16. package/dist/cjs/revogr-attribution_7.cjs.entry.js +11 -11
  17. package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
  18. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +5 -4
  19. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/revogr-data_4.cjs.entry.js +9 -9
  21. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  22. package/dist/cjs/{row-header-utils-208e4026.js → row-header-utils-dc3d3185.js} +5 -6
  23. package/dist/cjs/row-header-utils-dc3d3185.js.map +1 -0
  24. package/dist/cjs/{text-editor-b64a080e.js → text-editor-a32a3993.js} +3 -3
  25. package/dist/cjs/{text-editor-b64a080e.js.map → text-editor-a32a3993.js.map} +1 -1
  26. package/dist/cjs/{throttle-3b362440.js → throttle-da92b75d.js} +2 -2
  27. package/dist/cjs/{throttle-3b362440.js.map → throttle-da92b75d.js.map} +1 -1
  28. package/dist/collection/components/order/revogr-order-editor.js +4 -2
  29. package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
  30. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  31. package/dist/esm/{column.drag.plugin-813698d2.js → column.drag.plugin-b7bba0da.js} +6 -6
  32. package/dist/esm/{column.drag.plugin-813698d2.js.map → column.drag.plugin-b7bba0da.js.map} +1 -1
  33. package/dist/esm/column.service-9b0603f4.js +1249 -0
  34. package/dist/esm/column.service-9b0603f4.js.map +1 -0
  35. package/dist/esm/{debounce-72878ced.js → debounce-7b511afc.js} +2 -2
  36. package/dist/esm/{debounce-72878ced.js.map → debounce-7b511afc.js.map} +1 -1
  37. package/dist/esm/{edit.utils-cd6a3224.js → edit.utils-abcd0152.js} +2 -2
  38. package/dist/esm/{edit.utils-cd6a3224.js.map → edit.utils-abcd0152.js.map} +1 -1
  39. package/dist/esm/{header-cell-renderer-5939221a.js → header-cell-renderer-fce020c3.js} +2 -2
  40. package/dist/esm/{header-cell-renderer-5939221a.js.map → header-cell-renderer-fce020c3.js.map} +1 -1
  41. package/dist/esm/{column.service-aa142672.js → index-b1e05212.js} +411 -1187
  42. package/dist/esm/index-b1e05212.js.map +1 -0
  43. package/dist/esm/index.js +8 -8
  44. package/dist/esm/{key.utils-5ff2ec82.js → key.utils-ea9aec31.js} +2 -2
  45. package/dist/esm/{key.utils-5ff2ec82.js.map → key.utils-ea9aec31.js.map} +1 -1
  46. package/dist/esm/revo-grid.entry.js +6 -6
  47. package/dist/esm/revo-grid.entry.js.map +1 -1
  48. package/dist/esm/revogr-attribution_7.entry.js +7 -7
  49. package/dist/esm/revogr-clipboard_3.entry.js +6 -5
  50. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  51. package/dist/esm/revogr-data_4.entry.js +5 -5
  52. package/dist/esm/revogr-filter-panel.entry.js +1 -1
  53. package/dist/esm/{row-header-utils-5511678e.js → row-header-utils-7af8fcbf.js} +2 -3
  54. package/dist/esm/row-header-utils-7af8fcbf.js.map +1 -0
  55. package/dist/esm/{text-editor-81767dcb.js → text-editor-fb3f24fe.js} +3 -3
  56. package/dist/esm/{text-editor-81767dcb.js.map → text-editor-fb3f24fe.js.map} +1 -1
  57. package/dist/esm/{throttle-4eff5b3c.js → throttle-1f5772ef.js} +3 -3
  58. package/dist/esm/{throttle-4eff5b3c.js.map → throttle-1f5772ef.js.map} +1 -1
  59. package/dist/revo-grid/column.drag.plugin-b7bba0da.js +5 -0
  60. package/dist/revo-grid/{column.drag.plugin-813698d2.js.map → column.drag.plugin-b7bba0da.js.map} +1 -1
  61. package/dist/revo-grid/column.service-9b0603f4.js +5 -0
  62. package/dist/revo-grid/column.service-9b0603f4.js.map +1 -0
  63. package/dist/revo-grid/{debounce-72878ced.js → debounce-7b511afc.js} +2 -2
  64. package/dist/revo-grid/{edit.utils-cd6a3224.js → edit.utils-abcd0152.js} +2 -2
  65. package/dist/revo-grid/{header-cell-renderer-5939221a.js → header-cell-renderer-fce020c3.js} +2 -2
  66. package/dist/revo-grid/index-b1e05212.js +5 -0
  67. package/dist/revo-grid/index-b1e05212.js.map +1 -0
  68. package/dist/revo-grid/index.esm.js +1 -1
  69. package/dist/revo-grid/key.utils-ea9aec31.js +5 -0
  70. package/dist/revo-grid/{key.utils-5ff2ec82.js.map → key.utils-ea9aec31.js.map} +1 -1
  71. package/dist/revo-grid/revo-grid.entry.js +1 -1
  72. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  73. package/dist/revo-grid/revogr-attribution_7.entry.js +1 -1
  74. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  75. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  76. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  77. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  78. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  79. package/dist/revo-grid/row-header-utils-7af8fcbf.js +5 -0
  80. package/dist/revo-grid/{row-header-utils-5511678e.js.map → row-header-utils-7af8fcbf.js.map} +1 -1
  81. package/dist/revo-grid/text-editor-fb3f24fe.js +5 -0
  82. package/dist/revo-grid/{throttle-4eff5b3c.js → throttle-1f5772ef.js} +2 -2
  83. package/dist/types/components/order/revogr-order-editor.d.ts +1 -0
  84. package/dist/types/components/revoGrid/revo-grid.d.ts +1 -5
  85. package/dist/types/components.d.ts +2 -0
  86. package/hydrate/index.js +24 -23
  87. package/hydrate/index.mjs +24 -23
  88. package/package.json +1 -1
  89. package/readme.md +10 -12
  90. package/standalone/column.service.js +1 -1
  91. package/standalone/data.store.js +21 -2
  92. package/standalone/data.store.js.map +1 -1
  93. package/standalone/dimension.helpers.js +1 -1
  94. package/standalone/revo-grid.js +1 -2
  95. package/standalone/revo-grid.js.map +1 -1
  96. package/standalone/revogr-header2.js +1 -1
  97. package/standalone/revogr-order-editor2.js +2 -0
  98. package/standalone/revogr-order-editor2.js.map +1 -1
  99. package/dist/cjs/column.drag.plugin-7098477f.js.map +0 -1
  100. package/dist/cjs/column.service-f1d5d924.js.map +0 -1
  101. package/dist/cjs/index-aecb871a.js +0 -510
  102. package/dist/cjs/index-aecb871a.js.map +0 -1
  103. package/dist/cjs/row-header-utils-208e4026.js.map +0 -1
  104. package/dist/esm/column.service-aa142672.js.map +0 -1
  105. package/dist/esm/index-dbd1c020.js +0 -473
  106. package/dist/esm/index-dbd1c020.js.map +0 -1
  107. package/dist/esm/row-header-utils-5511678e.js.map +0 -1
  108. package/dist/revo-grid/column.drag.plugin-813698d2.js +0 -5
  109. package/dist/revo-grid/column.service-aa142672.js +0 -5
  110. package/dist/revo-grid/column.service-aa142672.js.map +0 -1
  111. package/dist/revo-grid/index-dbd1c020.js +0 -5
  112. package/dist/revo-grid/index-dbd1c020.js.map +0 -1
  113. package/dist/revo-grid/key.utils-5ff2ec82.js +0 -5
  114. package/dist/revo-grid/row-header-utils-5511678e.js +0 -5
  115. package/dist/revo-grid/text-editor-81767dcb.js +0 -5
  116. package/standalone/identity.js +0 -26
  117. package/standalone/identity.js.map +0 -1
  118. /package/dist/revo-grid/{debounce-72878ced.js.map → debounce-7b511afc.js.map} +0 -0
  119. /package/dist/revo-grid/{edit.utils-cd6a3224.js.map → edit.utils-abcd0152.js.map} +0 -0
  120. /package/dist/revo-grid/{header-cell-renderer-5939221a.js.map → header-cell-renderer-fce020c3.js.map} +0 -0
  121. /package/dist/revo-grid/{text-editor-81767dcb.js.map → text-editor-fb3f24fe.js.map} +0 -0
  122. /package/dist/revo-grid/{throttle-4eff5b3c.js.map → throttle-1f5772ef.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["arrayReduce","array","iteratee","accumulator","initAccum","index","length","createBaseFor","fromRight","object","keysFunc","iterable","Object","props","key","baseFor","baseFor$1","baseForOwn","keys","createBaseEach","eachFunc","collection","isArrayLike","baseEach","baseEach$1","baseReduce","value","reduce","func","isArray","arguments","baseIteratee","defaultState","range","tempRange","tempRangeType","focus","edit","lastCell","nextFocus","SelectionStore","constructor","this","unsubscribe","store","createStore","on","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","indexOf","beforeUpdate","registerColumn","isHiddenStore","registerRow","register","c","_b","destroy","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","colPinStart","colPinEnd","columnByProp","columnGrouping","maxLevel","sort","gatherGroup","columnDefinitionFromType","columnType","regularColumn","order","beforeSetup","group","ids","k","resultItem","collectionItem","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","groupIds","prevExpanded","expandedAll","getGroupValue","groupedItems","Map","originalIndex","groupLevelValues","groupId","lastLevelValue","pop","currentGroupLevel","has","lastLevelItems","itemIndex","groupingDepth","trimmed","oldNewIndexMap","pseudoGroupTest","sourceWithGroups","flattenGroupMaps","groupedValues","parentIds","isExpanded","depth","innerGroupedValues","levelIds","mergedIds","join","isGroupExpanded","JSON","stringify","Array","pseudoGroupTestIds","_value","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","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":["node_modules/lodash/_arrayReduce.js","node_modules/lodash/_createBaseFor.js","node_modules/lodash/_baseFor.js","node_modules/lodash/_baseForOwn.js","node_modules/lodash/_createBaseEach.js","node_modules/lodash/_baseEach.js","node_modules/lodash/_baseReduce.js","node_modules/lodash/reduce.js","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 * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n","/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\nexport default baseReduce;\n","import arrayReduce from './_arrayReduce.js';\nimport baseEach from './_baseEach.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseReduce from './_baseReduce.js';\nimport isArray from './isArray.js';\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n}\n\nexport default reduce;\n","/**\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\n/**\n * Get column type from column data\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 // Column type\n const columnDefinitionFromType = colData.columnType && types?.[colData.columnType];\n // Regular column\n const regularColumn = {\n ...columnDefinitionFromType,\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":[]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
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,h as a,m as b,T as c,B as d,e as f,O as i,u as r,U as t};
5
- //# sourceMappingURL=debounce-72878ced.js.map
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
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import{E as o}from"./index-dbd1c020.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-cd6a3224.js.map
4
+ import{N as o}from"./index-b1e05212.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-abcd0152.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import{h as t}from"./index-a61f225b.js";import{I as i}from"./column.service-aa142672.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 a="columnclick";const u=({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 u=Object.assign(Object.assign({},r),{onMouseDown(t){s(t.currentTarget,a,{data:e,event:t})}});return t(c,Object.assign({},u),t("div",{class:"header-content"},l),n)};export{u as H,a as O,e as a,s as d};
5
- //# sourceMappingURL=header-cell-renderer-5939221a.js.map
4
+ import{h as t}from"./index-a61f225b.js";import{q as i}from"./column.service-9b0603f4.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-fce020c3.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.add(t);return n}),new Set);const u=r.reduce(((n,t)=>{if(e.has(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 m(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 w(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 g(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 O(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])}}O.prototype.clear=d;O.prototype["delete"]=m;O.prototype.get=w;O.prototype.has=y;O.prototype.set=g;function A(){this.__data__=new O;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]",D="[object GeneratorFunction]",I="[object Proxy]";function R(r){if(!n(r)){return false}var e=t(r);return e==F||e==D||e==M||e==I}var S=r["__core-js_shared__"];const T=S;var C=function(){var n=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function P(n){return!!C&&C in n}var N=Function.prototype;var L=N.toString;function U(n){if(n!=null){try{return L.call(n)}catch(n){}try{return n+""}catch(n){}}return""}var k=/[\\^$.*+?()[\]{}|]/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(k,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function V(t){if(!n(t)||P(t)){return false}var r=R(t)?G:$;return r.test(U(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||O),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 mn(n,t){var r=bn(this,n),e=r.size;r.set(n,t);this.size+=r.size==e?0:1;return this}function wn(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])}}wn.prototype.clear=vn;wn.prototype["delete"]=hn;wn.prototype.get=pn;wn.prototype.has=jn;wn.prototype.set=mn;var yn=200;function gn(n,t){var r=this.__data__;if(r instanceof O){var e=r.__data__;if(!J||e.length<yn-1){e.push([n,t]);this.size=++r.size;return this}r=this.__data__=new wn(e)}r.set(n,t);this.size=r.size;return this}function On(n){var t=this.__data__=new O(n);this.size=t.size}On.prototype.clear=A;On.prototype["delete"]=_;On.prototype.get=x;On.prototype.has=E;On.prototype.set=gn;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 wn;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 Dn=1,In=2;function Rn(n,t,r,e,u,i){var o=r&Dn,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&In?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 Sn=r.Uint8Array;const Tn=Sn;function Cn(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 Nn=1,Ln=2;var Un="[object Boolean]",kn="[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 Tn(n),new Tn(t))){return false}return true;case Un:case kn: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=Cn;case Kn:var s=e&Nn;a||(a=Pn);if(n.size!=t.size&&!s){return false}var c=o.get(n);if(c){return c==t}e|=Ln;o.set(n,t);var f=Rn(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 mt=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var wt=mt&&typeof module=="object"&&module&&!module.nodeType&&module;var yt=wt&&wt.exports===mt;var gt=yt?r.Buffer:undefined;var Ot=gt?gt.isBuffer:undefined;var At=Ot||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 Dt(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=Ft}var It="[object Arguments]",Rt="[object Array]",St="[object Boolean]",Tt="[object Date]",Ct="[object Error]",Pt="[object Function]",Nt="[object Map]",Lt="[object Number]",Ut="[object Object]",kt="[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[It]=nr[Rt]=nr[Ht]=nr[St]=nr[Kt]=nr[Tt]=nr[Ct]=nr[Pt]=nr[Nt]=nr[Lt]=nr[Ut]=nr[kt]=nr[$t]=nr[Wt]=nr[Bt]=false;function tr(n){return u(n)&&Dt(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 mr=jr(Object.keys,Object);const wr=mr;var yr=Object.prototype;var gr=yr.hasOwnProperty;function Or(n){if(!pr(n)){return wr(n)}var t=[];for(var r in Object(n)){if(gr.call(n,r)&&r!="constructor"){t.push(r)}}return t}function Ar(n){return n!=null&&Dt(n.length)&&!R(n)}function _r(n){return Ar(n)?br(n):Or(n)}function xr(n){return tt(n,_r,st)}var Er=1;var Mr=Object.prototype;var Fr=Mr.hasOwnProperty;function Dr(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],m=t[v];if(e){var w=o?e(m,j,v,t,n,i):e(j,m,v,n,t,i)}if(!(w===undefined?j===m||u(j,m,r,e,i):w)){h=false;break}p||(p=v=="constructor")}if(h&&!p){var y=n.constructor,g=t.constructor;if(y!=g&&("constructor"in n&&"constructor"in t)&&!(typeof y=="function"&&y instanceof y&&typeof g=="function"&&g instanceof g)){h=false}}i["delete"](n);i["delete"](t);return h}var Ir=z(r,"DataView");const Rr=Ir;var Sr=z(r,"Promise");const Tr=Sr;var Cr=z(r,"Set");const Pr=Cr;var Nr=z(r,"WeakMap");const Lr=Nr;var Ur="[object Map]",kr="[object Object]",$r="[object Promise]",Wr="[object Set]",Br="[object WeakMap]";var Hr="[object DataView]";var Kr=U(Rr),Gr=U(J),Vr=U(Tr),Xr=U(Pr),zr=U(Lr);var qr=t;if(Rr&&qr(new Rr(new ArrayBuffer(1)))!=Hr||J&&qr(new J)!=Ur||Tr&&qr(Tr.resolve())!=$r||Pr&&qr(new Pr)!=Wr||Lr&&qr(new Lr)!=Br){qr=function(n){var r=t(n),e=r==kr?n.constructor:undefined,u=e?U(e):"";if(u){switch(u){case Kr:return Hr;case Gr:return Ur;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 On);return o||lr(n)?Rn(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 On);return u(h,p,r,e,i)}}if(!v){return false}i||(i=new On);return Dr(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 On;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||wn);return r}pe.Cache=wn;var je=500;function me(n){var t=pe(n,(function(n){if(r.size===je){r.clear()}return n}));var r=t.cache;return t}var we=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var ye=/\\(\\)?/g;var ge=me((function(n){var t=[];if(n.charCodeAt(0)===46){t.push("")}n.replace(we,(function(n,r,e,u){t.push(e?u.replace(ye,"$1"):r||n)}));return t}));const Oe=ge;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 De(n,t){if(nt(n)){return n}return be(n,t)?[n]:Oe(Fe(n))}var Ie=1/0;function Re(n){if(typeof n=="string"||o(n)){return n}var t=n+"";return t=="0"&&1/n==-Ie?"-0":t}function Se(n,t){t=De(t,n);var r=0,e=t.length;while(n!=null&&r<e){n=n[Re(t[r++])]}return r&&r==e?n:undefined}function Te(n,t,r){var e=n==null?undefined:Se(n,t);return e===undefined?r:e}function Ce(n,t){return n!=null&&t in Object(n)}function Pe(n,t,r){t=De(t,n);var e=-1,u=t.length,i=false;while(++e<u){var o=Re(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&&Dt(u)&&Mt(o,u)&&(nt(n)||pt(n))}function Ne(n,t){return n!=null&&Pe(n,t,Ce)}var Le=1,Ue=2;function ke(n,t){if(be(n)&&se(t)){return fe(Re(n),t)}return function(r){var e=Te(r,n);return e===undefined&&e===t?Ne(r,n):ue(t,e,Le|Ue)}}function $e(n){return n}function We(n){return function(t){return t==null?undefined:t[n]}}function Be(n){return function(t){return Se(t,n)}}function He(n){return be(n)?We(Re(n)):Be(n)}function Ke(n){if(typeof n=="function"){return n}if(n==null){return $e}if(typeof n=="object"){return nt(n)?ke(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.filter((n=>!e[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})}setSourceData(n,t=true){gu(this.store,n,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 mu(n){const t=n.get("source");return n.get("items").map((n=>t[n]))}const wu=(n,t)=>{const r=n.get("source");return r[yu(n,t)]};const yu=(n,t)=>{const r=n.get("items");return r[t]};function gu(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 Au(n,t){n.set("items",t)}function _u(n,t){const r=n.get("items");const e=n.get("source");const u=Je(e,{prop:t});return r.indexOf(u)}var xu=4294967295,Eu=xu-1;var Mu=Math.floor,Fu=Math.min;function Du(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=Mu((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 Fu(i,Eu)}var Iu=4294967295,Ru=Iu>>>1;function Su(n,t,r){var e=0,u=n==null?e:n.length;if(typeof t=="number"&&t===t&&u<=Ru){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 Du(n,t,$e,r)}function Tu(n,t){return Su(n,t)}function Cu(n,t={}){const r=[];const e={};const u={};const i=Object.keys(t).map(Number).sort(((n,t)=>n-t));i.reduce(((i,o,a)=>{const s={itemIndex:o,start:0,end:0};if(i){const t=(o-i.itemIndex-1)*n;s.start=t+i.end}else{s.start=o*n}s.end=s.start+t[o];r.push(s.start);u[o]=e[a]=s;return s}),undefined);return{indexes:i,positionIndexes:[...r],positionIndexToItem:Object.assign({},e),indexToItem:u}}const Pu=({indexes:n,positionIndexes:t,originItemSize:r,positionIndexToItem:e},u)=>{const i={itemIndex:0,start:0,end:0};const o=n.length?Tu(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 Nu(n,t){let r={itemIndex:t,start:0,end:0};if(n.indexToItem[t]){return n.indexToItem[t]}const e=n.indexes.length?Tu(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 Lu=30;const Uu=40;const ku="data-rgCol";const $u="data-rgRow";const Wu="disabled";const Bu="rgCell";const Hu="rowHeaders";const Ku="rgHeaderCell";const Gu="sortable";const Vu="header-rgRow";const Xu="actual-rgRow";const zu="revo-drag-icon";const qu="revo-draggable";const Ju="focused-cell";const Qu="selection-border-range";const Yu="mobile-handler";const Zu="temp-bg-range";const ni="autofill-handle";const ti="edit-input-wrapper";const ri="Draggable item";const ei="__rvgr";const ui="focused-rgRow";var ii;(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"})(ii||(ii={}));var oi;(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"})(oi||(oi={}));var ai;(function(n){n["ENTER"]="Enter";n["TAB"]="Tab"})(ai||(ai={}));const si=ii;var ci;(function(n){n["mac"]="Mac"})(ci||(ci={}));const fi=ci;function li(n,t=0){const r=[];const e=t+n;for(let n=t;n<e;n++){r.push(n)}return r}function vi(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 di(n,t,r){n.splice(vi.bind(n)(t,r),0,t);return n}function bi(n,t){return n<t}function hi(n,t,r=bi){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 pi(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 ji(n,t,r){return(r[1]-r[0])*(n-t[0])/(t[1]-t[0])+r[0]}async function mi(n=0){await new Promise((t=>{setTimeout((()=>t()),n)}))}function wi(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{_r as $,Hu as A,Gu as B,Bu as C,pu as D,Vu as E,Xu as F,zu as G,Ku as H,qu as I,Ju as J,Yu as K,ni as L,Lu as M,ti as N,ri as O,ei as P,ui as Q,Uu as R,Qu as S,Zu as T,oi as U,ai as V,vu as W,$e as X,nt as Y,ze as Z,nu as _,mu as a,Ar as a0,Ke as a1,fi as a2,si as a3,We as a4,Jr as a5,Or as a6,Je as a7,z as a8,wu as b,yu as c,Ou as d,Au as e,_u as f,ju as g,bu as h,Cu as i,Pu as j,Nu as k,vi as l,di as m,hi as n,pi as o,f as p,ji as q,li as r,gu as s,du as t,mi as u,wi as v,hu as w,ku as x,$u as y,Wu as z};
5
+ //# sourceMappingURL=index-b1e05212.js.map