@revolist/revogrid 4.22.0 → 4.22.1

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 (66) hide show
  1. package/dist/cjs/{cell-renderer-uZmDBXz7.js → cell-renderer-BQdEGQXP.js} +2 -2
  2. package/dist/cjs/{column.drag.plugin-CM_5mKV3.js → column.drag.plugin-RDjQhKCH.js} +22 -15
  3. package/dist/cjs/{column.service-DvQDqxxx.js → column.service-DXYMehqK.js} +1 -1
  4. package/dist/cjs/{dimension.helpers-CaIsYC99.js → dimension.helpers-CiiNnlLa.js} +0 -1
  5. package/dist/cjs/{edit.utils-CwMzSIVF.js → edit.utils-CecCfA4E.js} +22 -1
  6. package/dist/cjs/{header-cell-renderer-B1dJwgTO.js → header-cell-renderer-DGyBrK8I.js} +1 -1
  7. package/dist/cjs/index.cjs.js +17 -8
  8. package/dist/cjs/revo-grid.cjs.entry.js +5 -5
  9. package/dist/cjs/revogr-attribution_7.cjs.entry.js +6 -6
  10. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +4 -4
  11. package/dist/cjs/revogr-data_4.cjs.entry.js +111 -166
  12. package/dist/cjs/{text-editor-BTnGaIl3.js → text-editor-DnLZW1a-.js} +2 -2
  13. package/dist/cjs/{throttle-CI4MsAqs.js → throttle-CfgQFkfR.js} +1 -1
  14. package/dist/cjs/{viewport.store-Dcjud-a-.js → viewport.store-q6YdR9mg.js} +1 -1
  15. package/dist/collection/components/clipboard/revogr-clipboard.js +1 -1
  16. package/dist/collection/components/header/header-group-renderer.js +1 -0
  17. package/dist/collection/components/header/header-renderer.js +5 -4
  18. package/dist/collection/components/header/revogr-header.js +100 -40
  19. package/dist/collection/components/overlay/keyboard.service.js +2 -2
  20. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +14 -11
  21. package/dist/collection/types/events.js +4 -0
  22. package/dist/collection/utils/key.utils.js +20 -0
  23. package/dist/{revo-grid/cell-renderer-K_BKH7Kx.js → esm/cell-renderer-CALsEsnh.js} +2 -2
  24. package/dist/esm/{column.drag.plugin-DEqZ2qXJ.js → column.drag.plugin-Dy5ztusn.js} +19 -16
  25. package/dist/esm/{column.service-Cdz3dYqZ.js → column.service-CCvAi5l4.js} +1 -1
  26. package/dist/{revo-grid/dimension.helpers-DzxqJQqN.js → esm/dimension.helpers-DmIvjIa7.js} +1 -1
  27. package/dist/esm/{edit.utils-CzfeG98N.js → edit.utils-DYN6XZh8.js} +22 -2
  28. package/dist/{revo-grid/header-cell-renderer-DXhxZMly.js → esm/header-cell-renderer-DU8wKAbg.js} +1 -1
  29. package/dist/esm/index.js +13 -9
  30. package/dist/esm/revo-grid.entry.js +5 -5
  31. package/dist/esm/revogr-attribution_7.entry.js +6 -6
  32. package/dist/esm/revogr-clipboard_3.entry.js +4 -4
  33. package/dist/esm/revogr-data_4.entry.js +111 -166
  34. package/dist/{revo-grid/text-editor-C1ks5eQ4.js → esm/text-editor-DpCnd6Fq.js} +2 -2
  35. package/dist/esm/{throttle-BEjFQa2l.js → throttle-ERvyruXb.js} +1 -1
  36. package/dist/{revo-grid/viewport.store-saAZJHRo.js → esm/viewport.store-CFjDW-3l.js} +1 -1
  37. package/dist/{esm/cell-renderer-K_BKH7Kx.js → revo-grid/cell-renderer-CALsEsnh.js} +2 -2
  38. package/dist/revo-grid/{column.drag.plugin-DEqZ2qXJ.js → column.drag.plugin-Dy5ztusn.js} +19 -16
  39. package/dist/revo-grid/{column.service-Cdz3dYqZ.js → column.service-CCvAi5l4.js} +1 -1
  40. package/dist/{esm/dimension.helpers-DzxqJQqN.js → revo-grid/dimension.helpers-DmIvjIa7.js} +1 -1
  41. package/dist/revo-grid/{edit.utils-CzfeG98N.js → edit.utils-DYN6XZh8.js} +22 -2
  42. package/dist/{esm/header-cell-renderer-DXhxZMly.js → revo-grid/header-cell-renderer-DU8wKAbg.js} +1 -1
  43. package/dist/revo-grid/index.esm.js +13 -9
  44. package/dist/revo-grid/revo-grid.entry.js +5 -5
  45. package/dist/revo-grid/revogr-attribution_7.entry.js +6 -6
  46. package/dist/revo-grid/revogr-clipboard_3.entry.js +4 -4
  47. package/dist/revo-grid/revogr-data_4.entry.js +111 -166
  48. package/dist/{esm/text-editor-C1ks5eQ4.js → revo-grid/text-editor-DpCnd6Fq.js} +2 -2
  49. package/dist/revo-grid/{throttle-BEjFQa2l.js → throttle-ERvyruXb.js} +1 -1
  50. package/dist/{esm/viewport.store-saAZJHRo.js → revo-grid/viewport.store-CFjDW-3l.js} +1 -1
  51. package/dist/types/components/header/revogr-header.d.ts +6 -0
  52. package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +29 -3
  53. package/dist/types/types/events.d.ts +1 -1
  54. package/dist/types/utils/key.utils.d.ts +8 -0
  55. package/hydrate/index.js +142 -174
  56. package/hydrate/index.mjs +142 -174
  57. package/package.json +1 -1
  58. package/standalone/column.service.js +1 -1
  59. package/standalone/data.store.js +1 -1
  60. package/standalone/index.js +1 -1
  61. package/standalone/revo-grid.js +1 -1
  62. package/standalone/revogr-clipboard2.js +1 -1
  63. package/standalone/revogr-edit.js +1 -1
  64. package/standalone/revogr-edit2.js +1 -1
  65. package/standalone/revogr-header2.js +1 -1
  66. package/standalone/revogr-overlay-selection2.js +1 -1
@@ -2,12 +2,12 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, e as Host, g as getElement } from './index-Chp_81rd.js';
5
- import { M as ColumnService, u as isGrouping, K as baseEach } from './column.service-Cdz3dYqZ.js';
6
- import { Q as ROW_FOCUSED_CLASS, b as getSourceItem, y as DATA_ROW, x as DATA_COL, a3 as getNative, a4 as baseIteratee, Y as isArray, M as MIN_COL_SIZE, B as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, J as FOCUS_CLASS, E as HEADER_ROW_CLASS, F as HEADER_ACTUAL_ROW_CLASS, k as getItemByIndex } from './dimension.helpers-DzxqJQqN.js';
7
- import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-K_BKH7Kx.js';
5
+ import { M as ColumnService, u as isGrouping } from './column.service-CCvAi5l4.js';
6
+ import { Q as ROW_FOCUSED_CLASS, b as getSourceItem, y as DATA_ROW, x as DATA_COL, M as MIN_COL_SIZE, B as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, J as FOCUS_CLASS, k as getItemByIndex, E as HEADER_ROW_CLASS, F as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-DmIvjIa7.js';
7
+ import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-CALsEsnh.js';
8
8
  import { c as FilterButton } from './filter.button-C8XTWPU2.js';
9
- import { H as HeaderCellRenderer } from './header-cell-renderer-DXhxZMly.js';
10
- import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-BEjFQa2l.js';
9
+ import { H as HeaderCellRenderer } from './header-cell-renderer-DU8wKAbg.js';
10
+ import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-ERvyruXb.js';
11
11
  import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-VXhsJZtn.js';
12
12
  import './debounce-BfO9dz9v.js';
13
13
 
@@ -259,126 +259,8 @@ const RevogrData = class {
259
259
  };
260
260
  RevogrData.style = revogrDataStyleCss();
261
261
 
262
- var defineProperty = (function() {
263
- try {
264
- var func = getNative(Object, 'defineProperty');
265
- func({}, '', {});
266
- return func;
267
- } catch (e) {}
268
- }());
269
-
270
- /**
271
- * The base implementation of `assignValue` and `assignMergeValue` without
272
- * value checks.
273
- *
274
- * @private
275
- * @param {Object} object The object to modify.
276
- * @param {string} key The key of the property to assign.
277
- * @param {*} value The value to assign.
278
- */
279
- function baseAssignValue(object, key, value) {
280
- if (key == '__proto__' && defineProperty) {
281
- defineProperty(object, key, {
282
- 'configurable': true,
283
- 'enumerable': true,
284
- 'value': value,
285
- 'writable': true
286
- });
287
- } else {
288
- object[key] = value;
289
- }
290
- }
291
-
292
- /**
293
- * A specialized version of `baseAggregator` for arrays.
294
- *
295
- * @private
296
- * @param {Array} [array] The array to iterate over.
297
- * @param {Function} setter The function to set `accumulator` values.
298
- * @param {Function} iteratee The iteratee to transform keys.
299
- * @param {Object} accumulator The initial aggregated object.
300
- * @returns {Function} Returns `accumulator`.
301
- */
302
- function arrayAggregator(array, setter, iteratee, accumulator) {
303
- var index = -1,
304
- length = array == null ? 0 : array.length;
305
-
306
- while (++index < length) {
307
- var value = array[index];
308
- setter(accumulator, value, iteratee(value), array);
309
- }
310
- return accumulator;
311
- }
312
-
313
- /**
314
- * Aggregates elements of `collection` on `accumulator` with keys transformed
315
- * by `iteratee` and values set by `setter`.
316
- *
317
- * @private
318
- * @param {Array|Object} collection The collection to iterate over.
319
- * @param {Function} setter The function to set `accumulator` values.
320
- * @param {Function} iteratee The iteratee to transform keys.
321
- * @param {Object} accumulator The initial aggregated object.
322
- * @returns {Function} Returns `accumulator`.
323
- */
324
- function baseAggregator(collection, setter, iteratee, accumulator) {
325
- baseEach(collection, function(value, key, collection) {
326
- setter(accumulator, value, iteratee(value), collection);
327
- });
328
- return accumulator;
329
- }
330
-
331
- /**
332
- * Creates a function like `_.groupBy`.
333
- *
334
- * @private
335
- * @param {Function} setter The function to set accumulator values.
336
- * @param {Function} [initializer] The accumulator object initializer.
337
- * @returns {Function} Returns the new aggregator function.
338
- */
339
- function createAggregator(setter, initializer) {
340
- return function(collection, iteratee) {
341
- var func = isArray(collection) ? arrayAggregator : baseAggregator,
342
- accumulator = {};
343
-
344
- return func(collection, setter, baseIteratee(iteratee), accumulator);
345
- };
346
- }
347
-
348
- /**
349
- * Creates an object composed of keys generated from the results of running
350
- * each element of `collection` thru `iteratee`. The corresponding value of
351
- * each key is the last element responsible for generating the key. The
352
- * iteratee is invoked with one argument: (value).
353
- *
354
- * @static
355
- * @memberOf _
356
- * @since 4.0.0
357
- * @category Collection
358
- * @param {Array|Object} collection The collection to iterate over.
359
- * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
360
- * @returns {Object} Returns the composed aggregate object.
361
- * @example
362
- *
363
- * var array = [
364
- * { 'dir': 'left', 'code': 97 },
365
- * { 'dir': 'right', 'code': 100 }
366
- * ];
367
- *
368
- * _.keyBy(array, function(o) {
369
- * return String.fromCharCode(o.code);
370
- * });
371
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
372
- *
373
- * _.keyBy(array, 'dir');
374
- * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
375
- */
376
- var keyBy = createAggregator(function(result, value, key) {
377
- baseAssignValue(result, key, value);
378
- });
379
-
380
262
  const HeaderRenderer = (p) => {
381
- var _a, _b, _c, _d, _e;
263
+ var _a, _b, _c, _d, _e, _f, _g;
382
264
  const cellClass = {
383
265
  [HEADER_CLASS]: true,
384
266
  [HEADER_SORTABLE_CLASS]: !!((_a = p.data) === null || _a === void 0 ? void 0 : _a.sortable),
@@ -387,10 +269,11 @@ const HeaderRenderer = (p) => {
387
269
  cellClass[p.data.order] = true;
388
270
  }
389
271
  const dataProps = {
272
+ key: String((_d = (_c = p.data) === null || _c === void 0 ? void 0 : _c.prop) !== null && _d !== void 0 ? _d : p.column.itemIndex),
390
273
  [DATA_COL]: p.column.itemIndex,
391
274
  canResize: p.canResize,
392
- minWidth: ((_c = p.data) === null || _c === void 0 ? void 0 : _c.minSize) || MIN_COL_SIZE,
393
- maxWidth: (_d = p.data) === null || _d === void 0 ? void 0 : _d.maxSize,
275
+ minWidth: ((_e = p.data) === null || _e === void 0 ? void 0 : _e.minSize) || MIN_COL_SIZE,
276
+ maxWidth: (_f = p.data) === null || _f === void 0 ? void 0 : _f.maxSize,
394
277
  active: p.active || ['r'],
395
278
  class: cellClass,
396
279
  style: {
@@ -426,11 +309,12 @@ const HeaderRenderer = (p) => {
426
309
  }
427
310
  }
428
311
  }
429
- return (h(HeaderCellRenderer, { data: p.data, props: dataProps, additionalData: p.additionalData }, h(SortingSign, { column: p.data }), p.canFilter && ((_e = p.data) === null || _e === void 0 ? void 0 : _e.filter) !== false ? (h(FilterButton, { column: p.data })) : ('')));
312
+ return (h(HeaderCellRenderer, { data: p.data, props: dataProps, additionalData: p.additionalData }, h(SortingSign, { column: p.data }), p.canFilter && ((_g = p.data) === null || _g === void 0 ? void 0 : _g.filter) !== false ? (h(FilterButton, { column: p.data })) : ('')));
430
313
  };
431
314
 
432
315
  const HeaderGroupRenderer = (p) => {
433
316
  const groupProps = {
317
+ key: `${p.group.name}-${p.group.indexes.join('-')}`,
434
318
  canResize: p.canResize,
435
319
  minWidth: p.group.indexes.length * MIN_COL_SIZE,
436
320
  maxWidth: 0,
@@ -480,13 +364,10 @@ const RevogrHeaderComponent = class {
480
364
  }
481
365
  onResizeGroup(changedX, startIndex, endIndex) {
482
366
  const sizes = {};
483
- const cols = keyBy(this.viewportCol.get('items'), 'itemIndex');
484
367
  const change = changedX / (endIndex - startIndex + 1);
485
368
  for (let i = startIndex; i <= endIndex; i++) {
486
- const item = cols[i];
487
- if (item) {
488
- sizes[i] = item.size + change;
489
- }
369
+ const item = getItemByIndex(this.dimensionCol.state, i);
370
+ sizes[i] = item.end - item.start + change;
490
371
  }
491
372
  this.headerresize.emit(sizes);
492
373
  }
@@ -500,12 +381,12 @@ const RevogrHeaderComponent = class {
500
381
  const { cells } = this.renderHeaderColumns(cols, range);
501
382
  const groupRow = this.renderGroupingColumns();
502
383
  return [
503
- h("div", { key: 'a8d57270f4758b454fb4900808453e0c4663c91c', class: "group-rgRow" }, groupRow),
504
- h("div", { key: '41a270ff6bde9943a81d9c46482f2a40312afb50', class: `${HEADER_ROW_CLASS} ${HEADER_ACTUAL_ROW_CLASS}` }, cells),
384
+ h("div", { key: '3cc466db6bc4df0cd61c47a22c3a0473318e5dd8', class: "group-rgRow" }, groupRow),
385
+ h("div", { key: '9742a3fa4d4b75073aef5544806f42386ebffdea', class: `${HEADER_ROW_CLASS} ${HEADER_ACTUAL_ROW_CLASS}` }, cells),
505
386
  ];
506
387
  }
507
388
  renderHeaderColumns(cols, range) {
508
- const cells = [];
389
+ const columnsToRender = [];
509
390
  for (let rgCol of cols) {
510
391
  const colData = this.colData[rgCol.itemIndex];
511
392
  const props = {
@@ -522,45 +403,105 @@ const RevogrHeaderComponent = class {
522
403
  };
523
404
  const event = this.beforeHeaderRender.emit(props);
524
405
  if (!event.defaultPrevented) {
525
- cells.push(h(HeaderRenderer, Object.assign({}, event.detail)));
406
+ columnsToRender.push(event.detail);
526
407
  }
527
408
  }
409
+ const duplicateProps = this.getDuplicateHeaderProps(columnsToRender);
410
+ const cells = columnsToRender.map(detail => h(HeaderRenderer, Object.assign({ key: this.getHeaderCellKey(detail.data, this.type, duplicateProps) }, detail)));
528
411
  return { cells };
529
412
  }
530
413
  renderGroupingColumns() {
414
+ const visibleGroupRange = this.getVisibleGroupRange();
415
+ return Array.from({ length: this.groupingDepth }, (_, level) => this.renderGroupRow(level, visibleGroupRange)).flat();
416
+ }
417
+ renderGroupRow(level, visibleGroupRange) {
418
+ const groupCells = (this.groups[level] || [])
419
+ .map(group => this.renderGroupColumn(group, level, visibleGroupRange))
420
+ .filter((cell) => !!cell);
421
+ return [
422
+ ...groupCells,
423
+ h('div', {
424
+ key: `group-row-${level}`,
425
+ class: {
426
+ [HEADER_ROW_CLASS]: true,
427
+ group: true,
428
+ },
429
+ }),
430
+ ];
431
+ }
432
+ renderGroupColumn(group, level, visibleGroupRange) {
531
433
  var _a;
532
- const groupRow = [];
533
- for (let i = 0; i < this.groupingDepth; i++) {
534
- if (this.groups[i]) {
535
- for (let group of this.groups[i]) {
536
- const groupStartIndex = (_a = group.indexes[0]) !== null && _a !== void 0 ? _a : -1;
537
- if (groupStartIndex > -1) {
538
- const groupEndIndex = groupStartIndex + group.indexes.length - 1;
539
- const groupStart = getItemByIndex(this.dimensionCol.state, groupStartIndex).start;
540
- const groupEnd = getItemByIndex(this.dimensionCol.state, groupEndIndex).end;
541
- const props = {
542
- providers: this.providers,
543
- start: groupStart,
544
- end: groupEnd,
545
- group,
546
- active: this.resizeHandler,
547
- canResize: this.canResize,
548
- additionalData: this.additionalData,
549
- onResize: e => {
550
- var _a;
551
- return this.onResizeGroup((_a = e.changedX) !== null && _a !== void 0 ? _a : 0, groupStartIndex, groupEndIndex);
552
- },
553
- };
554
- const event = this.beforeGroupHeaderRender.emit(props);
555
- if (!event.defaultPrevented) {
556
- groupRow.push(h(HeaderGroupRenderer, Object.assign({}, event.detail)));
557
- }
558
- }
434
+ const groupStartIndex = (_a = group.indexes[0]) !== null && _a !== void 0 ? _a : -1;
435
+ if (groupStartIndex < 0) {
436
+ return;
437
+ }
438
+ const groupEndIndex = groupStartIndex + group.indexes.length - 1;
439
+ if (!visibleGroupRange ||
440
+ !isGroupInVisibleRange(groupStartIndex, groupEndIndex, visibleGroupRange)) {
441
+ return;
442
+ }
443
+ const groupStart = getItemByIndex(this.dimensionCol.state, groupStartIndex).start;
444
+ const groupEnd = getItemByIndex(this.dimensionCol.state, groupEndIndex).end;
445
+ const props = {
446
+ providers: this.providers,
447
+ start: groupStart,
448
+ end: groupEnd,
449
+ group,
450
+ active: this.resizeHandler,
451
+ canResize: this.canResize,
452
+ additionalData: this.additionalData,
453
+ onResize: e => {
454
+ var _a;
455
+ return this.onResizeGroup((_a = e.changedX) !== null && _a !== void 0 ? _a : 0, groupStartIndex, groupEndIndex);
456
+ },
457
+ };
458
+ const event = this.beforeGroupHeaderRender.emit(props);
459
+ if (event.defaultPrevented) {
460
+ return;
461
+ }
462
+ return h(HeaderGroupRenderer, Object.assign({ key: this.getGroupHeaderCellKey(event.detail.group, level) }, event.detail));
463
+ }
464
+ getVisibleGroupRange() {
465
+ const visibleColumns = this.viewportCol.get('items');
466
+ if (!visibleColumns.length) {
467
+ return;
468
+ }
469
+ return visibleColumns.reduce((range, column) => ({
470
+ start: Math.min(range.start, column.itemIndex),
471
+ end: Math.max(range.end, column.itemIndex),
472
+ }), {
473
+ start: visibleColumns[0].itemIndex,
474
+ end: visibleColumns[0].itemIndex,
475
+ });
476
+ }
477
+ getHeaderCellKey(column, type, duplicateProps) {
478
+ if ((column === null || column === void 0 ? void 0 : column.prop) === undefined) {
479
+ return `${type}-${String(column === null || column === void 0 ? void 0 : column.index)}`;
480
+ }
481
+ const propKey = String(column.prop);
482
+ if (duplicateProps.has(propKey)) {
483
+ return `${type}-${propKey}-${String(column.index)}`;
484
+ }
485
+ return `${type}-${propKey}`;
486
+ }
487
+ getDuplicateHeaderProps(columns) {
488
+ const seenProps = new Set();
489
+ const duplicateProps = new Set();
490
+ columns.forEach(({ data }) => {
491
+ if ((data === null || data === void 0 ? void 0 : data.prop) !== undefined) {
492
+ const propKey = String(data.prop);
493
+ if (seenProps.has(propKey)) {
494
+ duplicateProps.add(propKey);
495
+ }
496
+ else {
497
+ seenProps.add(propKey);
559
498
  }
560
499
  }
561
- groupRow.push(h("div", { class: `${HEADER_ROW_CLASS} group` }));
562
- }
563
- return groupRow;
500
+ });
501
+ return duplicateProps;
502
+ }
503
+ getGroupHeaderCellKey(group, level) {
504
+ return `group-${level}-${group.name}-${group.indexes.join('-')}`;
564
505
  }
565
506
  get providers() {
566
507
  return {
@@ -574,6 +515,10 @@ const RevogrHeaderComponent = class {
574
515
  }
575
516
  get element() { return getElement(this); }
576
517
  };
518
+ function isGroupInVisibleRange(groupStartIndex, groupEndIndex, visibleRange) {
519
+ return (groupStartIndex <= visibleRange.end &&
520
+ groupEndIndex >= visibleRange.start);
521
+ }
577
522
  RevogrHeaderComponent.style = revogrHeaderStyleCss();
578
523
 
579
524
  class GridResizeService {
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { d as isTab, f as isEnterKeyValue } from './edit.utils-CzfeG98N.js';
5
- import { u as timeout } from './dimension.helpers-DzxqJQqN.js';
4
+ import { d as isTab, f as isEnterKeyValue } from './edit.utils-DYN6XZh8.js';
5
+ import { u as timeout } from './dimension.helpers-DmIvjIa7.js';
6
6
 
7
7
  class TextEditor {
8
8
  constructor(data, saveCallback) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { q as scaleValue } from './dimension.helpers-DzxqJQqN.js';
4
+ import { q as scaleValue } from './dimension.helpers-DmIvjIa7.js';
5
5
  import { d as debounce, a as isObject } from './debounce-BfO9dz9v.js';
6
6
 
7
7
  const initialParams = {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { j as getItemByPosition, W as createStore, w as setStore } from './dimension.helpers-DzxqJQqN.js';
4
+ import { j as getItemByPosition, W as createStore, w as setStore } from './dimension.helpers-DmIvjIa7.js';
5
5
 
6
6
  const LETTER_BLOCK_SIZE = 10;
7
7
  const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
@@ -2,8 +2,8 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { h, f as Build } from './index-Chp_81rd.js';
5
- import { y as DATA_ROW, G as DRAG_ICON_CLASS, I as DRAGGABLE_CLASS } from './dimension.helpers-DzxqJQqN.js';
6
- import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-Cdz3dYqZ.js';
5
+ import { y as DATA_ROW, G as DRAG_ICON_CLASS, I as DRAGGABLE_CLASS } from './dimension.helpers-DmIvjIa7.js';
6
+ import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-CCvAi5l4.js';
7
7
 
8
8
  const SortingSign = ({ column }) => {
9
9
  var _a;
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-Cdz3dYqZ.js';
5
- import { W as createStore, w as setStore, i as calculateDimensionData, X as identity, Y as isArray, b as getSourceItem, o as getScrollbarSize, u as timeout, Z as baseProperty, _ as isArrayLike, $ as getTag, a0 as baseKeys, g as getPhysical, e as setItems, j as getItemByPosition } from './dimension.helpers-DzxqJQqN.js';
6
- import { f as calculateRowHeaderSize } from './viewport.store-saAZJHRo.js';
4
+ import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-CCvAi5l4.js';
5
+ import { W as createStore, w as setStore, i as calculateDimensionData, X as identity, Y as isArray, b as getSourceItem, o as getScrollbarSize, u as timeout, Z as baseProperty, _ as isArrayLike, $ as getTag, a0 as baseKeys, g as getPhysical, e as setItems, j as getItemByPosition } from './dimension.helpers-DmIvjIa7.js';
6
+ import { f as calculateRowHeaderSize } from './viewport.store-CFjDW-3l.js';
7
7
  import { h } from './index-Chp_81rd.js';
8
8
  import { b as FILTER_PROP, i as isFilterBtn } from './filter.button-C8XTWPU2.js';
9
9
  import { i as isObjectLike, b as baseGetTag, d as debounce } from './debounce-BfO9dz9v.js';
10
- import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-DXhxZMly.js';
10
+ import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-DU8wKAbg.js';
11
11
 
12
12
  /**
13
13
  * Plugin which recalculates realSize on changes of sizes, originItemSize and count
@@ -2528,11 +2528,11 @@ class ColumnOrderHandler {
2528
2528
  * Plugin for column manual move
2529
2529
  */
2530
2530
  const COLUMN_CLICK = ON_COLUMN_CLICK;
2531
- const MOVE = 'columndragmousemove';
2532
- const DRAG_END = 'columndragend';
2533
- const BEFORE_DRAG_END = 'beforecolumndragend';
2531
+ const COLUMN_DRAG_MOVE_EVENT = 'columndragmousemove';
2532
+ const COLUMN_DRAG_END_EVENT = 'columndragend';
2533
+ const BEFORE_COLUMN_DRAG_END_EVENT = 'beforecolumndragend';
2534
2534
  // use this event subscription to drop D&D for particular columns
2535
- const DRAG_START = 'columndragstart';
2535
+ const COLUMN_DRAG_START_EVENT = 'columndragstart';
2536
2536
  class ColumnMovePlugin extends BasePlugin {
2537
2537
  constructor(revogrid, providers) {
2538
2538
  super(revogrid, providers);
@@ -2562,7 +2562,7 @@ class ColumnMovePlugin extends BasePlugin {
2562
2562
  if (event.defaultPrevented) {
2563
2563
  return;
2564
2564
  }
2565
- const { defaultPrevented } = dispatch(this.revogrid, DRAG_START, data);
2565
+ const { defaultPrevented } = dispatch(this.revogrid, COLUMN_DRAG_START_EVENT, data);
2566
2566
  // check if allowed to drag particulat column
2567
2567
  if (defaultPrevented) {
2568
2568
  return;
@@ -2593,7 +2593,7 @@ class ColumnMovePlugin extends BasePlugin {
2593
2593
  gridEl: this.revogrid,
2594
2594
  cols,
2595
2595
  };
2596
- this.dragData = this.getData(this.staticDragData);
2596
+ this.dragData = this.getData(this.staticDragData, []);
2597
2597
  mousemove.target.addEventListener('mousemove', mousemove.callback);
2598
2598
  this.orderUi.start(event, Object.assign(Object.assign({}, this.dragData), this.staticDragData));
2599
2599
  }
@@ -2601,7 +2601,7 @@ class ColumnMovePlugin extends BasePlugin {
2601
2601
  if (!this.staticDragData) {
2602
2602
  return;
2603
2603
  }
2604
- const dragData = (this.dragData = this.getData(this.staticDragData));
2604
+ const dragData = (this.dragData = this.getData(this.staticDragData, []));
2605
2605
  if (!dragData) {
2606
2606
  return;
2607
2607
  }
@@ -2618,7 +2618,7 @@ class ColumnMovePlugin extends BasePlugin {
2618
2618
  }
2619
2619
  }
2620
2620
  move(e) {
2621
- dispatch(this.revogrid, MOVE, e);
2621
+ dispatch(this.revogrid, COLUMN_DRAG_MOVE_EVENT, e);
2622
2622
  // then do move
2623
2623
  this.moveFunc(e);
2624
2624
  }
@@ -2634,9 +2634,10 @@ class ColumnMovePlugin extends BasePlugin {
2634
2634
  }
2635
2635
  const newPosition = getItemByPosition(this.staticDragData.cols, relativePos);
2636
2636
  const store = this.providers.column.stores[this.dragData.type].store;
2637
+ const source = store.get('source');
2637
2638
  const newItems = [...store.get('items')];
2638
2639
  // prevent position change if needed
2639
- const { defaultPrevented: stopDrag } = dispatch(this.revogrid, BEFORE_DRAG_END, Object.assign(Object.assign({}, this.staticDragData), { startPosition: this.staticDragData.startItem, newPosition, newItem: store.get('source')[newItems[this.staticDragData.startItem.itemIndex]] }));
2640
+ const { defaultPrevented: stopDrag } = dispatch(this.revogrid, BEFORE_COLUMN_DRAG_END_EVENT, Object.assign(Object.assign({}, this.staticDragData), { startPosition: this.staticDragData.startItem, newPosition, newItem: source[newItems[this.staticDragData.startItem.itemIndex]] }));
2640
2641
  if (!stopDrag) {
2641
2642
  const prevItems = [...newItems];
2642
2643
  // todo: if move item out of group remove item from group
@@ -2645,7 +2646,7 @@ class ColumnMovePlugin extends BasePlugin {
2645
2646
  store.set('items', newItems);
2646
2647
  this.providers.dimension.updateSizesPositionByNewDataIndexes(this.dragData.type, newItems, prevItems);
2647
2648
  }
2648
- dispatch(this.revogrid, DRAG_END, this.dragData);
2649
+ dispatch(this.revogrid, COLUMN_DRAG_END_EVENT, this.getData(this.staticDragData, newItems, source));
2649
2650
  }
2650
2651
  this.clearOrder();
2651
2652
  }
@@ -2665,13 +2666,15 @@ class ColumnMovePlugin extends BasePlugin {
2665
2666
  super.clearSubscriptions();
2666
2667
  this.clearLocalSubscriptions();
2667
2668
  }
2668
- getData({ gridEl, dataEl, pin, }) {
2669
+ getData({ gridEl, dataEl, pin }, order, source = []) {
2669
2670
  const gridRect = gridEl.getBoundingClientRect();
2670
2671
  const elRect = dataEl.getBoundingClientRect();
2671
2672
  const scrollOffset = elRect.left - gridRect.left;
2672
2673
  return {
2674
+ columns: order.map(index => source[index]).filter(Boolean),
2673
2675
  elRect,
2674
2676
  gridRect,
2677
+ order,
2675
2678
  type: pin || 'rgCol',
2676
2679
  scrollOffset,
2677
2680
  };
@@ -2684,4 +2687,4 @@ function getLeftRelative(absoluteX, gridPos, offset) {
2684
2687
  return absoluteX - gridPos - offset;
2685
2688
  }
2686
2689
 
2687
- export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnAutoSizeMode as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, SelectionStore as S, StretchColumn as a, ExportCsv as b, FILTER_CONFIG_CHANGED_EVENT as c, FILTE_PANEL as d, FilterPlugin as e, filterCoreFunctionsIndexedByType as f, filterTypes as g, filterNames as h, isStretchPlugin as i, doCollapse as j, doExpand as k, ColumnMovePlugin as l, getLeftRelative as m, SortingPlugin as n, defaultCellCompare as o, descCellCompare as p, getNextOrder as q, getComparer as r, sortIndexByItems as s };
2690
+ export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnAutoSizeMode as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, SelectionStore as S, StretchColumn as a, ExportCsv as b, FILTER_CONFIG_CHANGED_EVENT as c, FILTE_PANEL as d, FilterPlugin as e, filterCoreFunctionsIndexedByType as f, filterTypes as g, filterNames as h, isStretchPlugin as i, doCollapse as j, doExpand as k, COLUMN_DRAG_MOVE_EVENT as l, COLUMN_DRAG_END_EVENT as m, BEFORE_COLUMN_DRAG_END_EVENT as n, COLUMN_DRAG_START_EVENT as o, ColumnMovePlugin as p, getLeftRelative as q, SortingPlugin as r, sortIndexByItems as s, defaultCellCompare as t, descCellCompare as u, getNextOrder as v, getComparer as w };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { a5 as toFinite, a6 as keys, _ as isArrayLike, a4 as baseIteratee, Y as isArray, P as GRID_INTERNALS, a7 as isIterateeCall, a as getVisibleSourceItem, z as DISABLED_CLASS, C as CELL_CLASS, b as getSourceItem } from './dimension.helpers-DzxqJQqN.js';
4
+ import { a3 as toFinite, a4 as keys, _ as isArrayLike, a5 as baseIteratee, Y as isArray, P as GRID_INTERNALS, a6 as isIterateeCall, a as getVisibleSourceItem, z as DISABLED_CLASS, C as CELL_CLASS, b as getSourceItem } from './dimension.helpers-DmIvjIa7.js';
5
5
 
6
6
  /**
7
7
  * Converts `value` to an integer.
@@ -3617,4 +3617,4 @@ function getItemByIndex(dimension, index) {
3617
3617
  return item;
3618
3618
  }
3619
3619
 
3620
- export { getTag as $, ROW_HEADER_TYPE as A, HEADER_SORTABLE_CLASS as B, CELL_CLASS as C, DataStore as D, HEADER_ROW_CLASS as E, HEADER_ACTUAL_ROW_CLASS as F, DRAG_ICON_CLASS as G, HEADER_CLASS as H, DRAGGABLE_CLASS as I, FOCUS_CLASS as J, MOBILE_CLASS as K, CELL_HANDLER_CLASS as L, MIN_COL_SIZE as M, EDIT_INPUT_WR as N, DRAGG_TEXT as O, GRID_INTERNALS as P, ROW_FOCUSED_CLASS as Q, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, codesLetter as U, keyValues as V, createStore as W, identity as X, isArray as Y, baseProperty as Z, isArrayLike as _, getVisibleSourceItem as a, baseKeys as a0, KeyCodesEnum as a1, OsPlatform as a2, getNative as a3, baseIteratee as a4, toFinite as a5, keys as a6, isIterateeCall as a7, getSourceItem as b, getSourcePhysicalIndex as c, setSourceByPhysicalIndex as d, setItems as e, getSourceItemVirtualIndexByProp as f, getPhysical as g, gatherTrimmedItems as h, calculateDimensionData as i, getItemByPosition as j, getItemByIndex as k, findPositionInArray as l, pushSorted as m, mergeSortedArray as n, getScrollbarSize as o, proxyPlugin as p, scaleValue as q, range as r, setSourceByVirtualIndex as s, trimmedPlugin as t, timeout as u, applyMixins as v, setStore as w, DATA_COL as x, DATA_ROW as y, DISABLED_CLASS as z };
3620
+ export { getTag as $, ROW_HEADER_TYPE as A, HEADER_SORTABLE_CLASS as B, CELL_CLASS as C, DataStore as D, HEADER_ROW_CLASS as E, HEADER_ACTUAL_ROW_CLASS as F, DRAG_ICON_CLASS as G, HEADER_CLASS as H, DRAGGABLE_CLASS as I, FOCUS_CLASS as J, MOBILE_CLASS as K, CELL_HANDLER_CLASS as L, MIN_COL_SIZE as M, EDIT_INPUT_WR as N, DRAGG_TEXT as O, GRID_INTERNALS as P, ROW_FOCUSED_CLASS as Q, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, codesLetter as U, keyValues as V, createStore as W, identity as X, isArray as Y, baseProperty as Z, isArrayLike as _, getVisibleSourceItem as a, baseKeys as a0, KeyCodesEnum as a1, OsPlatform as a2, toFinite as a3, keys as a4, baseIteratee as a5, isIterateeCall as a6, getSourceItem as b, getSourcePhysicalIndex as c, setSourceByPhysicalIndex as d, setItems as e, getSourceItemVirtualIndexByProp as f, getPhysical as g, gatherTrimmedItems as h, calculateDimensionData as i, getItemByPosition as j, getItemByIndex as k, findPositionInArray as l, pushSorted as m, mergeSortedArray as n, getScrollbarSize as o, proxyPlugin as p, scaleValue as q, range as r, setSourceByVirtualIndex as s, trimmedPlugin as t, timeout as u, applyMixins as v, setStore as w, DATA_COL as x, DATA_ROW as y, DISABLED_CLASS as z };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { a1 as KeyCodesEnum, a2 as OsPlatform, U as codesLetter, V as keyValues, N as EDIT_INPUT_WR } from './dimension.helpers-DzxqJQqN.js';
4
+ import { a1 as KeyCodesEnum, a2 as OsPlatform, U as codesLetter, V as keyValues, N as EDIT_INPUT_WR } from './dimension.helpers-DmIvjIa7.js';
5
5
 
6
6
  function isMetaKey(code) {
7
7
  const keys = [
@@ -83,6 +83,26 @@ function isAll(event) {
83
83
  return ((event.ctrlKey && event.code === 'KeyA') || // Ctrl + A on Windows
84
84
  (event.metaKey && event.code === 'KeyA')); // Cmd + A on Mac
85
85
  }
86
+ /**
87
+ * Returns true when a keyboard event represents a shortcut modifier that
88
+ * should not start cell editing from printable `event.key` input.
89
+ *
90
+ * AltGr is intentionally excluded because many Windows/Linux layouts expose
91
+ * printable AltGr characters as Ctrl+Alt key events.
92
+ */
93
+ function isShortcutModifier(event) {
94
+ var _a;
95
+ if ((_a = event.getModifierState) === null || _a === void 0 ? void 0 : _a.call(event, 'AltGraph')) {
96
+ return false;
97
+ }
98
+ if (event.ctrlKey &&
99
+ event.altKey &&
100
+ !event.metaKey &&
101
+ event.key.length === 1) {
102
+ return false;
103
+ }
104
+ return event.ctrlKey || event.metaKey;
105
+ }
86
106
 
87
107
  // is edit input
88
108
  function isEditInput(el) {
@@ -93,4 +113,4 @@ function isEditorCtrConstructible(editor) {
93
113
  return typeof editor === 'function' && typeof editor.prototype === 'object';
94
114
  }
95
115
 
96
- export { isCtrlKey as a, isCtrlMetaKey as b, isClear as c, isTab as d, isTabKeyValue as e, isEnterKeyValue as f, isCut as g, isCopy as h, isMetaKey as i, isPaste as j, isAll as k, isEditInput as l, isEditorCtrConstructible as m };
116
+ export { isCtrlKey as a, isCtrlMetaKey as b, isClear as c, isTab as d, isTabKeyValue as e, isEnterKeyValue as f, isCut as g, isCopy as h, isMetaKey as i, isPaste as j, isAll as k, isShortcutModifier as l, isEditInput as m, isEditorCtrConstructible as n };
@@ -2,7 +2,7 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { h } from './index-Chp_81rd.js';
5
- import { Q as doPropMerge } from './column.service-Cdz3dYqZ.js';
5
+ import { Q as doPropMerge } from './column.service-CCvAi5l4.js';
6
6
 
7
7
  /**
8
8
  * Dispatches a custom event to a specified target element.
@@ -1,16 +1,16 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- export { o as GROUPING_ROW_TYPE, j as GROUP_COLUMN_PROP, G as GROUP_DEPTH, h as GROUP_EXPANDED, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, k as GROUP_ORIGINAL_INDEX, f as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, d as PSEUDO_GROUP_ITEM_ID, e as PSEUDO_GROUP_ITEM_VALUE, c as columnTypes, a as cropCellToMax, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E as isColGrouping, u as isGrouping, v as isGroupingColumn, b as isRangeSingleCell, i as isRowType, y as isSameGroup, w as measureEqualDepth, n as nextCell, r as rowTypes } from './column.service-Cdz3dYqZ.js';
5
- import { B as BasePlugin } from './column.drag.plugin-DEqZ2qXJ.js';
6
- export { A as AutoSizeColumnPlugin, C as ColumnAutoSizeMode, l as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, n as SortingPlugin, a as StretchColumn, o as defaultCellCompare, p as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, r as getComparer, m as getLeftRelative, q as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-DEqZ2qXJ.js';
7
- export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-DXhxZMly.js';
8
- export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-K_BKH7Kx.js';
9
- export { C as CELL_CLASS, L as CELL_HANDLER_CLASS, x as DATA_COL, y as DATA_ROW, z as DISABLED_CLASS, I as DRAGGABLE_CLASS, O as DRAGG_TEXT, G as DRAG_ICON_CLASS, D as DataStore, N as EDIT_INPUT_WR, J as FOCUS_CLASS, P as GRID_INTERNALS, F as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, E as HEADER_ROW_CLASS, B as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, K as MOBILE_CLASS, R as RESIZE_INTERVAL, Q as ROW_FOCUSED_CLASS, A as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, v as applyMixins, i as calculateDimensionData, U as codesLetter, l as findPositionInArray, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, o as getScrollbarSize, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, V as keyValues, n as mergeSortedArray, p as proxyPlugin, m as pushSorted, r as range, q as scaleValue, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, w as setStore, u as timeout, t as trimmedPlugin } from './dimension.helpers-DzxqJQqN.js';
10
- export { T as TextEditor } from './text-editor-C1ks5eQ4.js';
11
- export { k as isAll, c as isClear, h as isCopy, a as isCtrlKey, b as isCtrlMetaKey, g as isCut, l as isEditInput, m as isEditorCtrConstructible, f as isEnterKeyValue, i as isMetaKey, j as isPaste, d as isTab, e as isTabKeyValue } from './edit.utils-CzfeG98N.js';
4
+ export { o as GROUPING_ROW_TYPE, j as GROUP_COLUMN_PROP, G as GROUP_DEPTH, h as GROUP_EXPANDED, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, k as GROUP_ORIGINAL_INDEX, f as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, d as PSEUDO_GROUP_ITEM_ID, e as PSEUDO_GROUP_ITEM_VALUE, c as columnTypes, a as cropCellToMax, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E as isColGrouping, u as isGrouping, v as isGroupingColumn, b as isRangeSingleCell, i as isRowType, y as isSameGroup, w as measureEqualDepth, n as nextCell, r as rowTypes } from './column.service-CCvAi5l4.js';
5
+ import { B as BasePlugin } from './column.drag.plugin-Dy5ztusn.js';
6
+ export { A as AutoSizeColumnPlugin, n as BEFORE_COLUMN_DRAG_END_EVENT, m as COLUMN_DRAG_END_EVENT, l as COLUMN_DRAG_MOVE_EVENT, o as COLUMN_DRAG_START_EVENT, C as ColumnAutoSizeMode, p as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, r as SortingPlugin, a as StretchColumn, t as defaultCellCompare, u as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, w as getComparer, q as getLeftRelative, v as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-Dy5ztusn.js';
7
+ export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-DU8wKAbg.js';
8
+ export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-CALsEsnh.js';
9
+ export { C as CELL_CLASS, L as CELL_HANDLER_CLASS, x as DATA_COL, y as DATA_ROW, z as DISABLED_CLASS, I as DRAGGABLE_CLASS, O as DRAGG_TEXT, G as DRAG_ICON_CLASS, D as DataStore, N as EDIT_INPUT_WR, J as FOCUS_CLASS, P as GRID_INTERNALS, F as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, E as HEADER_ROW_CLASS, B as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, K as MOBILE_CLASS, R as RESIZE_INTERVAL, Q as ROW_FOCUSED_CLASS, A as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, v as applyMixins, i as calculateDimensionData, U as codesLetter, l as findPositionInArray, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, o as getScrollbarSize, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, V as keyValues, n as mergeSortedArray, p as proxyPlugin, m as pushSorted, r as range, q as scaleValue, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, w as setStore, u as timeout, t as trimmedPlugin } from './dimension.helpers-DmIvjIa7.js';
10
+ export { T as TextEditor } from './text-editor-DpCnd6Fq.js';
11
+ export { k as isAll, c as isClear, h as isCopy, a as isCtrlKey, b as isCtrlMetaKey, g as isCut, m as isEditInput, n as isEditorCtrConstructible, f as isEnterKeyValue, i as isMetaKey, j as isPaste, l as isShortcutModifier, d as isTab, e as isTabKeyValue } from './edit.utils-DYN6XZh8.js';
12
12
  export { h } from './index-Chp_81rd.js';
13
- export { V as ViewportStore, a as addMissingItems, f as calculateRowHeaderSize, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-saAZJHRo.js';
13
+ export { V as ViewportStore, a as addMissingItems, f as calculateRowHeaderSize, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-CFjDW-3l.js';
14
14
  export { A as AND_OR_BUTTON, e as AndOrButton, a as FILTER_BUTTON_ACTIVE, F as FILTER_BUTTON_CLASS, b as FILTER_PROP, c as FilterButton, T as TRASH_BUTTON, d as TrashButton, i as isFilterBtn } from './filter.button-C8XTWPU2.js';
15
15
  import './debounce-BfO9dz9v.js';
16
16
 
@@ -84,6 +84,10 @@ const REVOGRID_EVENTS = new Map([
84
84
  ['beforeheaderrender', 'beforeheaderrender'],
85
85
  ['beforegroupheaderrender', 'beforegroupheaderrender'],
86
86
  ['afterheaderrender', 'afterheaderrender'],
87
+ ['columndragstart', 'columndragstart'],
88
+ ['columndragmousemove', 'columndragmousemove'],
89
+ ['beforecolumndragend', 'beforecolumndragend'],
90
+ ['columndragend', 'columndragend'],
87
91
  ['rowdragstartinit', 'rowdragstartinit'],
88
92
  ['rowdragendinit', 'rowdragendinit'],
89
93
  ['rowdragmoveinit', 'rowdragmoveinit'],