@revolist/revogrid 4.9.5 → 4.9.7

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 (171) hide show
  1. package/dist/cjs/{column.service-08df359f.js → column.service-0615a373.js} +11 -12
  2. package/dist/cjs/column.service-0615a373.js.map +1 -0
  3. package/dist/cjs/{column.utils-0f0f4dc4.js → column.utils-694677fa.js} +13 -13
  4. package/dist/cjs/column.utils-694677fa.js.map +1 -0
  5. package/dist/cjs/edit.utils-2e1f4278.js +20 -0
  6. package/dist/cjs/edit.utils-2e1f4278.js.map +1 -0
  7. package/dist/cjs/{events-b28cc194.js → events-af8f6914.js} +1 -8
  8. package/dist/cjs/events-af8f6914.js.map +1 -0
  9. package/dist/cjs/{header-cell-renderer-fb2f9a2d.js → header-cell-renderer-360528aa.js} +2 -2
  10. package/dist/cjs/{header-cell-renderer-fb2f9a2d.js.map → header-cell-renderer-360528aa.js.map} +1 -1
  11. package/dist/cjs/{dimension.helpers-85294778.js → index-2991afbb.js} +262 -3
  12. package/dist/cjs/index-2991afbb.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +86 -30
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/key.utils-b84b0eba.js +111 -0
  16. package/dist/cjs/key.utils-b84b0eba.js.map +1 -0
  17. package/dist/cjs/revo-grid.cjs.entry.js +72 -73
  18. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  19. package/dist/cjs/revogr-attribution_6.cjs.entry.js +37 -37
  20. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  21. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +8 -8
  22. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/revogr-data_4.cjs.entry.js +19 -19
  24. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  25. package/dist/cjs/{viewport.store-300977e4.js → row-header-utils-b5266b12.js} +13 -6
  26. package/dist/cjs/row-header-utils-b5266b12.js.map +1 -0
  27. package/dist/cjs/{selection.helpers-371a38aa.js → selection.helpers-4374518f.js} +13 -13
  28. package/dist/cjs/selection.helpers-4374518f.js.map +1 -0
  29. package/dist/cjs/{throttle-52be9e67.js → throttle-8885fd65.js} +2 -2
  30. package/dist/cjs/{throttle-52be9e67.js.map → throttle-8885fd65.js.map} +1 -1
  31. package/dist/collection/components/data/revogr-data.js +13 -7
  32. package/dist/collection/components/data/revogr-data.js.map +1 -1
  33. package/dist/collection/components/header/revogr-header.js +1 -1
  34. package/dist/collection/index.js +1 -2
  35. package/dist/collection/index.js.map +1 -1
  36. package/dist/collection/plugins/column.auto-size.plugin.js +1 -1
  37. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
  38. package/dist/collection/utils/index.js +7 -0
  39. package/dist/collection/utils/index.js.map +1 -1
  40. package/dist/esm/{column.service-cfc1149b.js → column.service-af0694c5.js} +3 -4
  41. package/dist/esm/column.service-af0694c5.js.map +1 -0
  42. package/dist/esm/{column.utils-f6300fb5.js → column.utils-78dd3ef2.js} +2 -2
  43. package/dist/esm/{column.utils-f6300fb5.js.map → column.utils-78dd3ef2.js.map} +1 -1
  44. package/dist/esm/edit.utils-ca303802.js +17 -0
  45. package/dist/esm/edit.utils-ca303802.js.map +1 -0
  46. package/dist/esm/{events-77b43b40.js → events-cf0893a3.js} +2 -8
  47. package/dist/esm/events-cf0893a3.js.map +1 -0
  48. package/dist/esm/{header-cell-renderer-6f8eb067.js → header-cell-renderer-261317c3.js} +2 -2
  49. package/dist/esm/{header-cell-renderer-6f8eb067.js.map → header-cell-renderer-261317c3.js.map} +1 -1
  50. package/dist/esm/{dimension.helpers-938ea850.js → index-f65def08.js} +231 -4
  51. package/dist/esm/index-f65def08.js.map +1 -0
  52. package/dist/esm/index.js +5 -4
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/key.utils-4b0093d5.js +98 -0
  55. package/dist/esm/key.utils-4b0093d5.js.map +1 -0
  56. package/dist/esm/revo-grid.entry.js +7 -8
  57. package/dist/esm/revo-grid.entry.js.map +1 -1
  58. package/dist/esm/revogr-attribution_6.entry.js +8 -8
  59. package/dist/esm/revogr-clipboard_3.entry.js +3 -3
  60. package/dist/esm/revogr-data_4.entry.js +11 -11
  61. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  62. package/dist/esm/{viewport.store-a690096b.js → row-header-utils-6081260c.js} +9 -3
  63. package/dist/esm/row-header-utils-6081260c.js.map +1 -0
  64. package/dist/esm/{selection.helpers-a49a3d09.js → selection.helpers-d92697e1.js} +2 -2
  65. package/dist/esm/{selection.helpers-a49a3d09.js.map → selection.helpers-d92697e1.js.map} +1 -1
  66. package/dist/esm/{throttle-7283692c.js → throttle-041ded8e.js} +2 -2
  67. package/dist/esm/{throttle-7283692c.js.map → throttle-041ded8e.js.map} +1 -1
  68. package/dist/revo-grid/column.service-af0694c5.js +5 -0
  69. package/dist/revo-grid/{column.service-cfc1149b.js.map → column.service-af0694c5.js.map} +1 -1
  70. package/dist/revo-grid/column.utils-78dd3ef2.js +5 -0
  71. package/dist/revo-grid/{column.utils-f6300fb5.js.map → column.utils-78dd3ef2.js.map} +1 -1
  72. package/dist/revo-grid/edit.utils-ca303802.js +5 -0
  73. package/dist/revo-grid/edit.utils-ca303802.js.map +1 -0
  74. package/dist/revo-grid/events-cf0893a3.js +5 -0
  75. package/dist/revo-grid/events-cf0893a3.js.map +1 -0
  76. package/dist/revo-grid/{header-cell-renderer-6f8eb067.js → header-cell-renderer-261317c3.js} +2 -2
  77. package/dist/revo-grid/index-f65def08.js +5 -0
  78. package/dist/revo-grid/index-f65def08.js.map +1 -0
  79. package/dist/revo-grid/index.esm.js +1 -1
  80. package/dist/revo-grid/key.utils-4b0093d5.js +5 -0
  81. package/dist/revo-grid/key.utils-4b0093d5.js.map +1 -0
  82. package/dist/revo-grid/revo-grid.entry.js +1 -1
  83. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  84. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  85. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  86. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  87. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  88. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  89. package/dist/revo-grid/row-header-utils-6081260c.js +5 -0
  90. package/dist/revo-grid/row-header-utils-6081260c.js.map +1 -0
  91. package/dist/revo-grid/selection.helpers-d92697e1.js +5 -0
  92. package/dist/revo-grid/{selection.helpers-a49a3d09.js.map → selection.helpers-d92697e1.js.map} +1 -1
  93. package/dist/revo-grid/{throttle-7283692c.js → throttle-041ded8e.js} +2 -2
  94. package/dist/types/components/data/revogr-data.d.ts +2 -2
  95. package/dist/types/components.d.ts +2 -2
  96. package/dist/types/index.d.ts +1 -2
  97. package/dist/types/plugins/column.auto-size.plugin.d.ts +1 -2
  98. package/dist/types/utils/index.d.ts +7 -0
  99. package/hydrate/index.js +153 -154
  100. package/hydrate/index.mjs +153 -154
  101. package/package.json +2 -2
  102. package/standalone/_stringToPath.js +1389 -0
  103. package/standalone/_stringToPath.js.map +1 -0
  104. package/standalone/column.service.js +4 -3
  105. package/standalone/column.service.js.map +1 -1
  106. package/standalone/consts.js +1 -1
  107. package/standalone/data.store.js +31 -1410
  108. package/standalone/data.store.js.map +1 -1
  109. package/standalone/debounce.js +2 -1
  110. package/standalone/debounce.js.map +1 -1
  111. package/standalone/dimension.helpers.js +2 -2
  112. package/standalone/index.js +5 -2
  113. package/standalone/index.js.map +1 -1
  114. package/standalone/index2.js +160 -1
  115. package/standalone/index2.js.map +1 -1
  116. package/standalone/isObjectLike.js +195 -0
  117. package/standalone/isObjectLike.js.map +1 -0
  118. package/standalone/revo-grid.js +4 -3
  119. package/standalone/revo-grid.js.map +1 -1
  120. package/standalone/revogr-data2.js +9 -7
  121. package/standalone/revogr-data2.js.map +1 -1
  122. package/standalone/revogr-edit.js +1 -1
  123. package/standalone/revogr-edit2.js +57 -83
  124. package/standalone/revogr-edit2.js.map +1 -1
  125. package/standalone/revogr-focus2.js +2 -1
  126. package/standalone/revogr-focus2.js.map +1 -1
  127. package/standalone/revogr-header2.js +4 -3
  128. package/standalone/revogr-header2.js.map +1 -1
  129. package/standalone/revogr-order-editor2.js +3 -2
  130. package/standalone/revogr-order-editor2.js.map +1 -1
  131. package/standalone/revogr-overlay-selection2.js +5 -5
  132. package/standalone/revogr-row-headers2.js +3 -2
  133. package/standalone/revogr-row-headers2.js.map +1 -1
  134. package/standalone/selection.utils.js +2 -1
  135. package/standalone/selection.utils.js.map +1 -1
  136. package/standalone/throttle.js +1 -1
  137. package/standalone/toNumber.js +2 -189
  138. package/standalone/toNumber.js.map +1 -1
  139. package/dist/cjs/column.service-08df359f.js.map +0 -1
  140. package/dist/cjs/column.utils-0f0f4dc4.js.map +0 -1
  141. package/dist/cjs/dimension.helpers-85294778.js.map +0 -1
  142. package/dist/cjs/events-b28cc194.js.map +0 -1
  143. package/dist/cjs/index-2410bbd9.js +0 -103
  144. package/dist/cjs/index-2410bbd9.js.map +0 -1
  145. package/dist/cjs/key.utils-1e48ab8f.js +0 -144
  146. package/dist/cjs/key.utils-1e48ab8f.js.map +0 -1
  147. package/dist/cjs/selection.helpers-371a38aa.js.map +0 -1
  148. package/dist/cjs/viewport.store-300977e4.js.map +0 -1
  149. package/dist/esm/column.service-cfc1149b.js.map +0 -1
  150. package/dist/esm/dimension.helpers-938ea850.js.map +0 -1
  151. package/dist/esm/events-77b43b40.js.map +0 -1
  152. package/dist/esm/index-4e881436.js +0 -77
  153. package/dist/esm/index-4e881436.js.map +0 -1
  154. package/dist/esm/key.utils-425c987d.js +0 -133
  155. package/dist/esm/key.utils-425c987d.js.map +0 -1
  156. package/dist/esm/viewport.store-a690096b.js.map +0 -1
  157. package/dist/revo-grid/column.service-cfc1149b.js +0 -5
  158. package/dist/revo-grid/column.utils-f6300fb5.js +0 -5
  159. package/dist/revo-grid/dimension.helpers-938ea850.js +0 -5
  160. package/dist/revo-grid/dimension.helpers-938ea850.js.map +0 -1
  161. package/dist/revo-grid/events-77b43b40.js +0 -5
  162. package/dist/revo-grid/events-77b43b40.js.map +0 -1
  163. package/dist/revo-grid/index-4e881436.js +0 -5
  164. package/dist/revo-grid/index-4e881436.js.map +0 -1
  165. package/dist/revo-grid/key.utils-425c987d.js +0 -5
  166. package/dist/revo-grid/key.utils-425c987d.js.map +0 -1
  167. package/dist/revo-grid/selection.helpers-a49a3d09.js +0 -5
  168. package/dist/revo-grid/viewport.store-a690096b.js +0 -5
  169. package/dist/revo-grid/viewport.store-a690096b.js.map +0 -1
  170. /package/dist/revo-grid/{header-cell-renderer-6f8eb067.js.map → header-cell-renderer-261317c3.js.map} +0 -0
  171. /package/dist/revo-grid/{throttle-7283692c.js.map → throttle-041ded8e.js.map} +0 -0
package/hydrate/index.mjs CHANGED
@@ -9433,8 +9433,131 @@ function isAll(event) {
9433
9433
  (event.metaKey && event.code === 'KeyA')); // Cmd + A on Mac
9434
9434
  }
9435
9435
 
9436
- /* Generate range on size
9436
+ function getColumnType(rgCol) {
9437
+ if (rgCol.pin) {
9438
+ return rgCol.pin;
9439
+ }
9440
+ return 'rgCol';
9441
+ }
9442
+ function getColumnSizes(cols) {
9443
+ const res = {};
9444
+ for (const [i, c] of cols.entries()) {
9445
+ if (c.size) {
9446
+ res[i] = c.size;
9447
+ }
9448
+ }
9449
+ return res;
9450
+ }
9451
+ /**
9452
+ * Check if column is grouping column
9437
9453
  */
9454
+ function isColGrouping(colData) {
9455
+ return !!colData.children;
9456
+ }
9457
+ /**
9458
+ * This function is used to create a collection of columns.
9459
+ */
9460
+ function getColumns(columns, level = 0, types) {
9461
+ const collection = {
9462
+ // columns as they are in stores per type
9463
+ columns: {
9464
+ rgCol: [],
9465
+ colPinStart: [],
9466
+ colPinEnd: [],
9467
+ },
9468
+ // columns indexed by prop for quick access
9469
+ columnByProp: {},
9470
+ // column grouping
9471
+ columnGrouping: {
9472
+ rgCol: [],
9473
+ colPinStart: [],
9474
+ colPinEnd: [],
9475
+ },
9476
+ // max depth level for column grouping
9477
+ maxLevel: level,
9478
+ // sorting
9479
+ sort: {},
9480
+ };
9481
+ return reduce_1(columns, (res, colData) => {
9482
+ // Grouped column
9483
+ if (isColGrouping(colData)) {
9484
+ return gatherGroup(res, colData, getColumns(colData.children, level + 1, types), level);
9485
+ }
9486
+ // Regular column
9487
+ const regularColumn = Object.assign(Object.assign({}, (colData.columnType && types && types[colData.columnType])), colData);
9488
+ // Regular column, no Pin
9489
+ if (!regularColumn.pin) {
9490
+ res.columns.rgCol.push(regularColumn);
9491
+ // Pin
9492
+ }
9493
+ else {
9494
+ res.columns[regularColumn.pin].push(regularColumn);
9495
+ }
9496
+ if (regularColumn.order) {
9497
+ res.sort[regularColumn.prop] = regularColumn;
9498
+ }
9499
+ // it's possible that some columns have same prop, but better to avoid it
9500
+ if (!res.columnByProp[regularColumn.prop]) {
9501
+ res.columnByProp[regularColumn.prop] = [];
9502
+ }
9503
+ res.columnByProp[regularColumn.prop].push(regularColumn);
9504
+ // trigger setup hook if present
9505
+ regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
9506
+ return res;
9507
+ }, collection);
9508
+ }
9509
+ function gatherGroup(res, colData, collection, level = 0) {
9510
+ // group template
9511
+ const group = Object.assign(Object.assign({}, colData), { level, ids: [] });
9512
+ // check columns for update
9513
+ for (let k in collection.columns) {
9514
+ const key = k;
9515
+ const resultItem = res.columns[key];
9516
+ const collectionItem = collection.columns[key];
9517
+ // if column data
9518
+ if (isArray_1(resultItem) && isArray_1(collectionItem)) {
9519
+ // fill columns
9520
+ resultItem.push(...collectionItem);
9521
+ // fill grouping
9522
+ if (collectionItem.length) {
9523
+ res.columnGrouping[key].push(Object.assign(Object.assign({}, group), { ids: collectionItem.map(item => item.prop) }));
9524
+ }
9525
+ }
9526
+ }
9527
+ // merge column groupings
9528
+ for (let k in collection.columnGrouping) {
9529
+ const key = k;
9530
+ const collectionItem = collection.columnGrouping[key];
9531
+ res.columnGrouping[key].push(...collectionItem);
9532
+ }
9533
+ res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
9534
+ res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
9535
+ return res;
9536
+ }
9537
+ function findColumn(columns, prop) {
9538
+ for (const c of columns) {
9539
+ if (isColGrouping(c)) {
9540
+ const found = findColumn(c.children, prop);
9541
+ if (found) {
9542
+ return found;
9543
+ }
9544
+ }
9545
+ else if (c.prop === prop) {
9546
+ return c;
9547
+ }
9548
+ }
9549
+ return undefined;
9550
+ }
9551
+ function getColumnByProp(columns, prop) {
9552
+ return findColumn(columns, prop);
9553
+ }
9554
+
9555
+ const LETTER_BLOCK_SIZE$1 = 10;
9556
+ const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
9557
+ return ((rowHeaderColumn === null || rowHeaderColumn === void 0 ? void 0 : rowHeaderColumn.size) ||
9558
+ Math.max((itemsLength.toString().length + 1) * LETTER_BLOCK_SIZE$1, minWidth));
9559
+ };
9560
+
9438
9561
  /**
9439
9562
  * Calculate system scrollbar size
9440
9563
  */
@@ -10658,125 +10781,6 @@ var find = createFind(findIndex);
10658
10781
 
10659
10782
  var find_1 = find;
10660
10783
 
10661
- function getColumnType(rgCol) {
10662
- if (rgCol.pin) {
10663
- return rgCol.pin;
10664
- }
10665
- return 'rgCol';
10666
- }
10667
- function getColumnSizes(cols) {
10668
- const res = {};
10669
- for (const [i, c] of cols.entries()) {
10670
- if (c.size) {
10671
- res[i] = c.size;
10672
- }
10673
- }
10674
- return res;
10675
- }
10676
- /**
10677
- * Check if column is grouping column
10678
- */
10679
- function isColGrouping(colData) {
10680
- return !!colData.children;
10681
- }
10682
- /**
10683
- * This function is used to create a collection of columns.
10684
- */
10685
- function getColumns(columns, level = 0, types) {
10686
- const collection = {
10687
- // columns as they are in stores per type
10688
- columns: {
10689
- rgCol: [],
10690
- colPinStart: [],
10691
- colPinEnd: [],
10692
- },
10693
- // columns indexed by prop for quick access
10694
- columnByProp: {},
10695
- // column grouping
10696
- columnGrouping: {
10697
- rgCol: [],
10698
- colPinStart: [],
10699
- colPinEnd: [],
10700
- },
10701
- // max depth level for column grouping
10702
- maxLevel: level,
10703
- // sorting
10704
- sort: {},
10705
- };
10706
- return reduce_1(columns, (res, colData) => {
10707
- // Grouped column
10708
- if (isColGrouping(colData)) {
10709
- return gatherGroup(res, colData, getColumns(colData.children, level + 1, types), level);
10710
- }
10711
- // Regular column
10712
- const regularColumn = Object.assign(Object.assign({}, (colData.columnType && types && types[colData.columnType])), colData);
10713
- // Regular column, no Pin
10714
- if (!regularColumn.pin) {
10715
- res.columns.rgCol.push(regularColumn);
10716
- // Pin
10717
- }
10718
- else {
10719
- res.columns[regularColumn.pin].push(regularColumn);
10720
- }
10721
- if (regularColumn.order) {
10722
- res.sort[regularColumn.prop] = regularColumn;
10723
- }
10724
- // it's possible that some columns have same prop, but better to avoid it
10725
- if (!res.columnByProp[regularColumn.prop]) {
10726
- res.columnByProp[regularColumn.prop] = [];
10727
- }
10728
- res.columnByProp[regularColumn.prop].push(regularColumn);
10729
- // trigger setup hook if present
10730
- regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
10731
- return res;
10732
- }, collection);
10733
- }
10734
- function gatherGroup(res, colData, collection, level = 0) {
10735
- // group template
10736
- const group = Object.assign(Object.assign({}, colData), { level, ids: [] });
10737
- // check columns for update
10738
- for (let k in collection.columns) {
10739
- const key = k;
10740
- const resultItem = res.columns[key];
10741
- const collectionItem = collection.columns[key];
10742
- // if column data
10743
- if (isArray_1(resultItem) && isArray_1(collectionItem)) {
10744
- // fill columns
10745
- resultItem.push(...collectionItem);
10746
- // fill grouping
10747
- if (collectionItem.length) {
10748
- res.columnGrouping[key].push(Object.assign(Object.assign({}, group), { ids: collectionItem.map(item => item.prop) }));
10749
- }
10750
- }
10751
- }
10752
- // merge column groupings
10753
- for (let k in collection.columnGrouping) {
10754
- const key = k;
10755
- const collectionItem = collection.columnGrouping[key];
10756
- res.columnGrouping[key].push(...collectionItem);
10757
- }
10758
- res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
10759
- res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
10760
- return res;
10761
- }
10762
- function findColumn(columns, prop) {
10763
- for (const c of columns) {
10764
- if (isColGrouping(c)) {
10765
- const found = findColumn(c.children, prop);
10766
- if (found) {
10767
- return found;
10768
- }
10769
- }
10770
- else if (c.prop === prop) {
10771
- return c;
10772
- }
10773
- }
10774
- return undefined;
10775
- }
10776
- function getColumnByProp(columns, prop) {
10777
- return findColumn(columns, prop);
10778
- }
10779
-
10780
10784
  class ColumnDataProvider {
10781
10785
  get order() {
10782
10786
  const order = {};
@@ -11291,32 +11295,11 @@ class BasePlugin {
11291
11295
  }
11292
11296
  }
11293
11297
 
11294
- /**
11295
- * Dispatches a custom event to a specified target element.
11296
- *
11297
- * @param target - The target element to dispatch the event to.
11298
- * @param eventName - The name of the custom event.
11299
- * @param detail - Optional. The detail of the custom event.
11300
- * @returns The custom event that was dispatched.
11301
- */
11302
- function dispatch(target, eventName, detail) {
11303
- // Create a new CustomEvent with the specified event name and detail.
11304
- const event = new CustomEvent(eventName, {
11305
- detail,
11306
- cancelable: true, // Indicates whether the event can be canceled.
11307
- bubbles: true, // Indicates whether the event bubbles up through the DOM.
11308
- });
11309
- // Dispatch the event on the target element.
11310
- target === null || target === void 0 ? void 0 : target.dispatchEvent(event);
11311
- // Return the custom event that was dispatched.
11312
- return event;
11313
- }
11314
-
11315
11298
  /**
11316
11299
  * Plugin module for revo-grid grid system
11317
11300
  * Add support for automatic column resize
11318
11301
  */
11319
- const LETTER_BLOCK_SIZE$1 = 7;
11302
+ const LETTER_BLOCK_SIZE = 7;
11320
11303
  var ColumnAutoSizeMode;
11321
11304
  (function (ColumnAutoSizeMode) {
11322
11305
  // increases column width on header click according the largest text value
@@ -11335,7 +11318,7 @@ class AutoSizeColumnPlugin extends BasePlugin {
11335
11318
  /** for edge case when no columns defined before data */
11336
11319
  this.dataResolve = null;
11337
11320
  this.dataReject = null;
11338
- this.letterBlockSize = (config === null || config === void 0 ? void 0 : config.letterBlockSize) || LETTER_BLOCK_SIZE$1;
11321
+ this.letterBlockSize = (config === null || config === void 0 ? void 0 : config.letterBlockSize) || LETTER_BLOCK_SIZE;
11339
11322
  // create test container to check text width
11340
11323
  if (config === null || config === void 0 ? void 0 : config.preciseSize) {
11341
11324
  this.precsizeCalculationArea = this.initiatePresizeElement();
@@ -13499,12 +13482,6 @@ const OrderRenderer = ({ ref }) => {
13499
13482
  hAsync("div", { class: "drag-position", ref: e => (service.rgRow = e) })));
13500
13483
  };
13501
13484
 
13502
- const LETTER_BLOCK_SIZE = 10;
13503
- const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
13504
- return ((rowHeaderColumn === null || rowHeaderColumn === void 0 ? void 0 : rowHeaderColumn.size) ||
13505
- Math.max((itemsLength.toString().length + 1) * LETTER_BLOCK_SIZE, minWidth));
13506
- };
13507
-
13508
13485
  class StretchColumn extends BasePlugin {
13509
13486
  constructor(revogrid, providers) {
13510
13487
  super(revogrid, providers);
@@ -13690,6 +13667,27 @@ class ColumnOrderHandler {
13690
13667
  }
13691
13668
  }
13692
13669
 
13670
+ /**
13671
+ * Dispatches a custom event to a specified target element.
13672
+ *
13673
+ * @param target - The target element to dispatch the event to.
13674
+ * @param eventName - The name of the custom event.
13675
+ * @param detail - Optional. The detail of the custom event.
13676
+ * @returns The custom event that was dispatched.
13677
+ */
13678
+ function dispatch(target, eventName, detail) {
13679
+ // Create a new CustomEvent with the specified event name and detail.
13680
+ const event = new CustomEvent(eventName, {
13681
+ detail,
13682
+ cancelable: true, // Indicates whether the event can be canceled.
13683
+ bubbles: true, // Indicates whether the event bubbles up through the DOM.
13684
+ });
13685
+ // Dispatch the event on the target element.
13686
+ target === null || target === void 0 ? void 0 : target.dispatchEvent(event);
13687
+ // Return the custom event that was dispatched.
13688
+ return event;
13689
+ }
13690
+
13693
13691
  var ResizeEvents;
13694
13692
  (function (ResizeEvents) {
13695
13693
  ResizeEvents["start"] = "resize:start";
@@ -15237,7 +15235,7 @@ class RevogrData {
15237
15235
  if (cellEvent.defaultPrevented) {
15238
15236
  continue;
15239
15237
  }
15240
- const { detail: { column: columnProps, row: rowProps }, } = cellEvent;
15238
+ const { detail: { column: columnProps, row: rowProps, model: newModel }, } = cellEvent;
15241
15239
  const defaultProps = {
15242
15240
  [DATA_COL]: columnProps.itemIndex,
15243
15241
  [DATA_ROW]: rowProps.itemIndex,
@@ -15253,11 +15251,11 @@ class RevogrData {
15253
15251
  if (groupDepth && !columnProps.itemIndex && defaultProps.style) {
15254
15252
  defaultProps.style.paddingLeft = `${PADDING_DEPTH * groupDepth}px`;
15255
15253
  }
15256
- const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, model, (_a = columnsData[columnProps.itemIndex]) === null || _a === void 0 ? void 0 : _a.cellProperties);
15254
+ const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, newModel, (_a = columnsData[columnProps.itemIndex]) === null || _a === void 0 ? void 0 : _a.cellProperties);
15257
15255
  // Never use webcomponent for cell render
15258
15256
  // It's very slow because of webcomponent initialization takes time
15259
15257
  cells.push(hAsync(CellRenderer, { renderProps: {
15260
- model,
15258
+ model: newModel,
15261
15259
  providers: this.providers,
15262
15260
  template: (_b = columnsData[columnProps.itemIndex]) === null || _b === void 0 ? void 0 : _b.cellTemplate,
15263
15261
  additionalData: this.additionalData,
@@ -15287,13 +15285,14 @@ class RevogrData {
15287
15285
  return (hAsync(Host, null, hAsync("slot", null), rowsEls));
15288
15286
  }
15289
15287
  triggerBeforeCellRender(model, row, column) {
15290
- return this.beforeCellRender.emit({
15288
+ const detail = {
15291
15289
  column: Object.assign({}, column),
15292
15290
  row: Object.assign({}, row),
15293
15291
  model,
15294
15292
  rowType: model.type,
15295
15293
  colType: model.colType,
15296
- });
15294
+ };
15295
+ return this.beforeCellRender.emit(detail);
15297
15296
  }
15298
15297
  get element() { return getElement(this); }
15299
15298
  static get watchers() { return {
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@revolist/revogrid",
3
- "version": "4.9.5",
3
+ "version": "4.9.7",
4
4
  "type": "module",
5
5
  "description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
6
6
  "license": "MIT",
7
7
  "author": "revolist",
8
- "homepage": "https://github.com/revolist/revogrid#readme",
8
+ "homepage": "https://rv-grid.com",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "git+https://github.com/revolist/revogrid.git"