@revolist/revogrid 4.9.4 → 4.9.6

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 (203) hide show
  1. package/dist/cjs/{column.service-01f4a6c7.js → column.service-0615a373.js} +11 -12
  2. package/dist/cjs/column.service-0615a373.js.map +1 -0
  3. package/dist/cjs/{base.plugin-bf5f43a0.js → column.utils-694677fa.js} +136 -11
  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-3bc70679.js → header-cell-renderer-360528aa.js} +2 -2
  10. package/dist/cjs/{header-cell-renderer-3bc70679.js.map → header-cell-renderer-360528aa.js.map} +1 -1
  11. package/dist/cjs/{dimension.helpers-a6788214.js → index-2991afbb.js} +262 -4
  12. package/dist/cjs/index-2991afbb.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +97 -35
  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 +140 -311
  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 +10 -10
  22. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/revogr-data_4.cjs.entry.js +13 -14
  24. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  25. package/dist/cjs/{viewport.store-35a3e7ee.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-1a8c8d49.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/clipboard/revogr-clipboard.js +2 -2
  32. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  33. package/dist/collection/components/editors/revogr-edit.js +1 -1
  34. package/dist/collection/components/header/revogr-header.js +1 -1
  35. package/dist/collection/components/overlay/revogr-overlay-selection.js +1 -1
  36. package/dist/collection/components/revoGrid/revo-grid.js +12 -11
  37. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  38. package/dist/collection/index.js +1 -1
  39. package/dist/collection/index.js.map +1 -1
  40. package/dist/collection/plugins/base.plugin.js.map +1 -1
  41. package/dist/collection/plugins/column.auto-size.plugin.js +2 -2
  42. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
  43. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -1
  44. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
  45. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +1 -1
  46. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
  47. package/dist/collection/plugins/sorting/sorting.plugin.js +2 -2
  48. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  49. package/dist/collection/services/column.data.provider.js +32 -88
  50. package/dist/collection/services/column.data.provider.js.map +1 -1
  51. package/dist/collection/services/dimension.provider.js +2 -2
  52. package/dist/collection/services/dimension.provider.js.map +1 -1
  53. package/dist/collection/types/interfaces.js.map +1 -1
  54. package/dist/collection/utils/column.utils.js +124 -0
  55. package/dist/collection/utils/column.utils.js.map +1 -0
  56. package/dist/collection/utils/index.js +7 -0
  57. package/dist/collection/utils/index.js.map +1 -1
  58. package/dist/esm/{column.service-5d14e7e9.js → column.service-af0694c5.js} +3 -4
  59. package/dist/esm/column.service-af0694c5.js.map +1 -0
  60. package/dist/esm/{base.plugin-5e7a3c51.js → column.utils-78dd3ef2.js} +122 -3
  61. package/dist/esm/column.utils-78dd3ef2.js.map +1 -0
  62. package/dist/esm/edit.utils-ca303802.js +17 -0
  63. package/dist/esm/edit.utils-ca303802.js.map +1 -0
  64. package/dist/esm/{events-77b43b40.js → events-cf0893a3.js} +2 -8
  65. package/dist/esm/events-cf0893a3.js.map +1 -0
  66. package/dist/esm/{header-cell-renderer-fc999784.js → header-cell-renderer-261317c3.js} +2 -2
  67. package/dist/esm/{header-cell-renderer-fc999784.js.map → header-cell-renderer-261317c3.js.map} +1 -1
  68. package/dist/esm/{dimension.helpers-56298828.js → index-f65def08.js} +231 -4
  69. package/dist/esm/index-f65def08.js.map +1 -0
  70. package/dist/esm/index.js +5 -4
  71. package/dist/esm/index.js.map +1 -1
  72. package/dist/esm/key.utils-4b0093d5.js +98 -0
  73. package/dist/esm/key.utils-4b0093d5.js.map +1 -0
  74. package/dist/esm/revo-grid.entry.js +50 -221
  75. package/dist/esm/revo-grid.entry.js.map +1 -1
  76. package/dist/esm/revogr-attribution_6.entry.js +8 -8
  77. package/dist/esm/revogr-clipboard_3.entry.js +5 -5
  78. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  79. package/dist/esm/revogr-data_4.entry.js +5 -6
  80. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  81. package/dist/esm/{viewport.store-d8e03528.js → row-header-utils-6081260c.js} +9 -3
  82. package/dist/esm/row-header-utils-6081260c.js.map +1 -0
  83. package/dist/esm/{selection.helpers-accaad4a.js → selection.helpers-d92697e1.js} +2 -2
  84. package/dist/esm/{selection.helpers-accaad4a.js.map → selection.helpers-d92697e1.js.map} +1 -1
  85. package/dist/esm/{throttle-7283692c.js → throttle-041ded8e.js} +2 -2
  86. package/dist/esm/{throttle-7283692c.js.map → throttle-041ded8e.js.map} +1 -1
  87. package/dist/revo-grid/column.service-af0694c5.js +5 -0
  88. package/dist/revo-grid/{column.service-5d14e7e9.js.map → column.service-af0694c5.js.map} +1 -1
  89. package/dist/revo-grid/column.utils-78dd3ef2.js +5 -0
  90. package/dist/revo-grid/column.utils-78dd3ef2.js.map +1 -0
  91. package/dist/revo-grid/edit.utils-ca303802.js +5 -0
  92. package/dist/revo-grid/edit.utils-ca303802.js.map +1 -0
  93. package/dist/revo-grid/events-cf0893a3.js +5 -0
  94. package/dist/revo-grid/events-cf0893a3.js.map +1 -0
  95. package/dist/revo-grid/{header-cell-renderer-fc999784.js → header-cell-renderer-261317c3.js} +2 -2
  96. package/dist/revo-grid/index-f65def08.js +5 -0
  97. package/dist/revo-grid/index-f65def08.js.map +1 -0
  98. package/dist/revo-grid/index.esm.js +1 -1
  99. package/dist/revo-grid/key.utils-4b0093d5.js +5 -0
  100. package/dist/revo-grid/key.utils-4b0093d5.js.map +1 -0
  101. package/dist/revo-grid/revo-grid.entry.js +1 -1
  102. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  103. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  104. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  105. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  106. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  107. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  108. package/dist/revo-grid/row-header-utils-6081260c.js +5 -0
  109. package/dist/revo-grid/row-header-utils-6081260c.js.map +1 -0
  110. package/dist/revo-grid/selection.helpers-d92697e1.js +5 -0
  111. package/dist/revo-grid/{selection.helpers-accaad4a.js.map → selection.helpers-d92697e1.js.map} +1 -1
  112. package/dist/revo-grid/{throttle-7283692c.js → throttle-041ded8e.js} +2 -2
  113. package/dist/types/components/revoGrid/revo-grid.d.ts +2 -1
  114. package/dist/types/components.d.ts +2 -2
  115. package/dist/types/index.d.ts +1 -1
  116. package/dist/types/plugins/base.plugin.d.ts +1 -1
  117. package/dist/types/plugins/column.auto-size.plugin.d.ts +2 -4
  118. package/dist/types/plugins/column.stretch.plugin.d.ts +2 -4
  119. package/dist/types/services/column.data.provider.d.ts +2 -13
  120. package/dist/types/services/dimension.provider.d.ts +0 -1
  121. package/dist/types/types/interfaces.d.ts +11 -11
  122. package/dist/types/utils/column.utils.d.ts +46 -0
  123. package/dist/types/utils/index.d.ts +7 -0
  124. package/hydrate/index.js +304 -357
  125. package/hydrate/index.mjs +304 -357
  126. package/package.json +2 -2
  127. package/standalone/_stringToPath.js +1389 -0
  128. package/standalone/_stringToPath.js.map +1 -0
  129. package/standalone/column.service.js +4 -3
  130. package/standalone/column.service.js.map +1 -1
  131. package/standalone/consts.js +1 -1
  132. package/standalone/data.store.js +31 -1410
  133. package/standalone/data.store.js.map +1 -1
  134. package/standalone/debounce.js +2 -1
  135. package/standalone/debounce.js.map +1 -1
  136. package/standalone/dimension.helpers.js +2 -2
  137. package/standalone/index.js +6 -3
  138. package/standalone/index.js.map +1 -1
  139. package/standalone/index2.js +160 -1
  140. package/standalone/index2.js.map +1 -1
  141. package/standalone/isObjectLike.js +195 -0
  142. package/standalone/isObjectLike.js.map +1 -0
  143. package/standalone/revo-grid.js +168 -218
  144. package/standalone/revo-grid.js.map +1 -1
  145. package/standalone/revogr-clipboard2.js +2 -2
  146. package/standalone/revogr-clipboard2.js.map +1 -1
  147. package/standalone/revogr-data2.js +3 -2
  148. package/standalone/revogr-data2.js.map +1 -1
  149. package/standalone/revogr-edit.js +1 -1
  150. package/standalone/revogr-edit2.js +57 -83
  151. package/standalone/revogr-edit2.js.map +1 -1
  152. package/standalone/revogr-focus2.js +2 -1
  153. package/standalone/revogr-focus2.js.map +1 -1
  154. package/standalone/revogr-header2.js +4 -3
  155. package/standalone/revogr-header2.js.map +1 -1
  156. package/standalone/revogr-order-editor2.js +3 -2
  157. package/standalone/revogr-order-editor2.js.map +1 -1
  158. package/standalone/revogr-overlay-selection2.js +5 -5
  159. package/standalone/revogr-row-headers2.js +3 -2
  160. package/standalone/revogr-row-headers2.js.map +1 -1
  161. package/standalone/selection.utils.js +2 -1
  162. package/standalone/selection.utils.js.map +1 -1
  163. package/standalone/throttle.js +1 -1
  164. package/standalone/toNumber.js +2 -189
  165. package/standalone/toNumber.js.map +1 -1
  166. package/dist/cjs/base.plugin-bf5f43a0.js.map +0 -1
  167. package/dist/cjs/column.service-01f4a6c7.js.map +0 -1
  168. package/dist/cjs/dimension.helpers-a6788214.js.map +0 -1
  169. package/dist/cjs/events-b28cc194.js.map +0 -1
  170. package/dist/cjs/index-2410bbd9.js +0 -103
  171. package/dist/cjs/index-2410bbd9.js.map +0 -1
  172. package/dist/cjs/key.utils-1e48ab8f.js +0 -144
  173. package/dist/cjs/key.utils-1e48ab8f.js.map +0 -1
  174. package/dist/cjs/selection.helpers-1a8c8d49.js.map +0 -1
  175. package/dist/cjs/viewport.store-35a3e7ee.js.map +0 -1
  176. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +0 -43
  177. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +0 -1
  178. package/dist/esm/base.plugin-5e7a3c51.js.map +0 -1
  179. package/dist/esm/column.service-5d14e7e9.js.map +0 -1
  180. package/dist/esm/dimension.helpers-56298828.js.map +0 -1
  181. package/dist/esm/events-77b43b40.js.map +0 -1
  182. package/dist/esm/index-4e881436.js +0 -77
  183. package/dist/esm/index-4e881436.js.map +0 -1
  184. package/dist/esm/key.utils-425c987d.js +0 -133
  185. package/dist/esm/key.utils-425c987d.js.map +0 -1
  186. package/dist/esm/viewport.store-d8e03528.js.map +0 -1
  187. package/dist/revo-grid/base.plugin-5e7a3c51.js +0 -5
  188. package/dist/revo-grid/base.plugin-5e7a3c51.js.map +0 -1
  189. package/dist/revo-grid/column.service-5d14e7e9.js +0 -5
  190. package/dist/revo-grid/dimension.helpers-56298828.js +0 -5
  191. package/dist/revo-grid/dimension.helpers-56298828.js.map +0 -1
  192. package/dist/revo-grid/events-77b43b40.js +0 -5
  193. package/dist/revo-grid/events-77b43b40.js.map +0 -1
  194. package/dist/revo-grid/index-4e881436.js +0 -5
  195. package/dist/revo-grid/index-4e881436.js.map +0 -1
  196. package/dist/revo-grid/key.utils-425c987d.js +0 -5
  197. package/dist/revo-grid/key.utils-425c987d.js.map +0 -1
  198. package/dist/revo-grid/selection.helpers-accaad4a.js +0 -5
  199. package/dist/revo-grid/viewport.store-d8e03528.js +0 -5
  200. package/dist/revo-grid/viewport.store-d8e03528.js.map +0 -1
  201. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -17
  202. /package/dist/revo-grid/{header-cell-renderer-fc999784.js.map → header-cell-renderer-261317c3.js.map} +0 -0
  203. /package/dist/revo-grid/{throttle-7283692c.js.map → throttle-041ded8e.js.map} +0 -0
@@ -3286,9 +3286,9 @@ var createRange = _createRange;
3286
3286
  * _.range(0);
3287
3287
  * // => []
3288
3288
  */
3289
- var range = createRange();
3289
+ var range$1 = createRange();
3290
3290
 
3291
- var range_1 = range;
3291
+ var range_1 = range$1;
3292
3292
 
3293
3293
  const appendToMap = (map, propName, value) => {
3294
3294
  const items = map.get(propName);
@@ -4187,8 +4187,258 @@ function getItemByIndex(dimension, index) {
4187
4187
  return item;
4188
4188
  }
4189
4189
 
4190
+ const MIN_COL_SIZE = 30;
4191
+ const RESIZE_INTERVAL = 40;
4192
+ const DATA_COL = 'data-rgCol';
4193
+ const DATA_ROW = 'data-rgRow';
4194
+ const DISABLED_CLASS = 'disabled';
4195
+ const CELL_CLASS = 'rgCell';
4196
+ const ROW_HEADER_TYPE = 'rowHeaders';
4197
+ const HEADER_CLASS = 'rgHeaderCell';
4198
+ const HEADER_SORTABLE_CLASS = 'sortable';
4199
+ const HEADER_ROW_CLASS = 'header-rgRow';
4200
+ const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';
4201
+ const DRAG_ICON_CLASS = 'revo-drag-icon';
4202
+ const DRAGGABLE_CLASS = 'revo-draggable';
4203
+ const FOCUS_CLASS = 'focused-cell';
4204
+ const SELECTION_BORDER_CLASS = 'selection-border-range';
4205
+ const MOBILE_CLASS = 'mobile-handler';
4206
+ const TMP_SELECTION_BG_CLASS = 'temp-bg-range';
4207
+ const CELL_HANDLER_CLASS = 'autofill-handle';
4208
+ const EDIT_INPUT_WR = 'edit-input-wrapper';
4209
+ const DRAGG_TEXT = 'Draggable item';
4210
+ const GRID_INTERNALS = '__rvgr';
4211
+ const ROW_FOCUSED_CLASS = 'focused-rgRow';
4212
+
4213
+ var codes;
4214
+ (function (codes) {
4215
+ codes[codes["MOUSE_LEFT"] = 1] = "MOUSE_LEFT";
4216
+ codes[codes["MOUSE_RIGHT"] = 3] = "MOUSE_RIGHT";
4217
+ codes[codes["MOUSE_MIDDLE"] = 2] = "MOUSE_MIDDLE";
4218
+ codes[codes["BACKSPACE"] = 8] = "BACKSPACE";
4219
+ codes[codes["COMMA"] = 188] = "COMMA";
4220
+ codes[codes["INSERT"] = 45] = "INSERT";
4221
+ codes[codes["DELETE"] = 46] = "DELETE";
4222
+ codes[codes["END"] = 35] = "END";
4223
+ codes[codes["ENTER"] = 13] = "ENTER";
4224
+ codes[codes["ESCAPE"] = 27] = "ESCAPE";
4225
+ codes[codes["CONTROL"] = 17] = "CONTROL";
4226
+ codes[codes["COMMAND_LEFT"] = 91] = "COMMAND_LEFT";
4227
+ codes[codes["COMMAND_RIGHT"] = 93] = "COMMAND_RIGHT";
4228
+ codes[codes["COMMAND_FIREFOX"] = 224] = "COMMAND_FIREFOX";
4229
+ codes[codes["ALT"] = 18] = "ALT";
4230
+ codes[codes["HOME"] = 36] = "HOME";
4231
+ codes[codes["PAGE_DOWN"] = 34] = "PAGE_DOWN";
4232
+ codes[codes["PAGE_UP"] = 33] = "PAGE_UP";
4233
+ codes[codes["PERIOD"] = 190] = "PERIOD";
4234
+ codes[codes["SPACE"] = 32] = "SPACE";
4235
+ codes[codes["SHIFT"] = 16] = "SHIFT";
4236
+ codes[codes["CAPS_LOCK"] = 20] = "CAPS_LOCK";
4237
+ codes[codes["TAB"] = 9] = "TAB";
4238
+ codes[codes["ARROW_RIGHT"] = 39] = "ARROW_RIGHT";
4239
+ codes[codes["ARROW_LEFT"] = 37] = "ARROW_LEFT";
4240
+ codes[codes["ARROW_UP"] = 38] = "ARROW_UP";
4241
+ codes[codes["ARROW_DOWN"] = 40] = "ARROW_DOWN";
4242
+ codes[codes["F1"] = 112] = "F1";
4243
+ codes[codes["F2"] = 113] = "F2";
4244
+ codes[codes["F3"] = 114] = "F3";
4245
+ codes[codes["F4"] = 115] = "F4";
4246
+ codes[codes["F5"] = 116] = "F5";
4247
+ codes[codes["F6"] = 117] = "F6";
4248
+ codes[codes["F7"] = 118] = "F7";
4249
+ codes[codes["F8"] = 119] = "F8";
4250
+ codes[codes["F9"] = 120] = "F9";
4251
+ codes[codes["F10"] = 121] = "F10";
4252
+ codes[codes["F11"] = 122] = "F11";
4253
+ codes[codes["F12"] = 123] = "F12";
4254
+ codes[codes["A"] = 65] = "A";
4255
+ codes[codes["C"] = 67] = "C";
4256
+ codes[codes["D"] = 68] = "D";
4257
+ codes[codes["F"] = 70] = "F";
4258
+ codes[codes["L"] = 76] = "L";
4259
+ codes[codes["O"] = 79] = "O";
4260
+ codes[codes["P"] = 80] = "P";
4261
+ codes[codes["S"] = 83] = "S";
4262
+ codes[codes["V"] = 86] = "V";
4263
+ codes[codes["X"] = 88] = "X";
4264
+ })(codes || (codes = {}));
4265
+ exports.codesLetter = void 0;
4266
+ (function (codesLetter) {
4267
+ codesLetter["ENTER"] = "Enter";
4268
+ codesLetter["ENTER_NUM"] = "NumpadEnter";
4269
+ codesLetter["A"] = "KeyA";
4270
+ codesLetter["C"] = "KeyC";
4271
+ codesLetter["X"] = "KeyX";
4272
+ codesLetter["V"] = "KeyV";
4273
+ codesLetter["ESCAPE"] = "Escape";
4274
+ codesLetter["TAB"] = "Tab";
4275
+ codesLetter["BACKSPACE"] = "Backspace";
4276
+ codesLetter["DELETE"] = "Delete";
4277
+ codesLetter["ARROW_RIGHT"] = "ArrowRight";
4278
+ codesLetter["ARROW_LEFT"] = "ArrowLeft";
4279
+ codesLetter["ARROW_UP"] = "ArrowUp";
4280
+ codesLetter["ARROW_DOWN"] = "ArrowDown";
4281
+ codesLetter["SHIFT"] = "Shift";
4282
+ })(exports.codesLetter || (exports.codesLetter = {}));
4283
+ exports.keyValues = void 0;
4284
+ (function (keyValues) {
4285
+ keyValues["ENTER"] = "Enter";
4286
+ keyValues["TAB"] = "Tab";
4287
+ })(exports.keyValues || (exports.keyValues = {}));
4288
+ const KeyCodesEnum = codes;
4289
+
4290
+ var osPlatform;
4291
+ (function (osPlatform) {
4292
+ osPlatform["mac"] = "Mac";
4293
+ })(osPlatform || (osPlatform = {}));
4294
+ const OsPlatform = osPlatform;
4295
+
4296
+ /* Generate range on size
4297
+ */
4298
+ function range(size, startAt = 0) {
4299
+ const res = [];
4300
+ const end = startAt + size;
4301
+ for (let i = startAt; i < end; i++) {
4302
+ res.push(i);
4303
+ }
4304
+ return res;
4305
+ }
4306
+ /* Find index position in array */
4307
+ function findPositionInArray(el, compareFn) {
4308
+ return (function (arr) {
4309
+ let m = 0;
4310
+ let n = arr.length - 1;
4311
+ while (m <= n) {
4312
+ const k = (n + m) >> 1;
4313
+ const cmp = compareFn(el, arr[k]);
4314
+ if (cmp > 0) {
4315
+ m = k + 1;
4316
+ }
4317
+ else if (cmp < 0) {
4318
+ n = k - 1;
4319
+ }
4320
+ else {
4321
+ return k;
4322
+ }
4323
+ }
4324
+ return -m - 1;
4325
+ })(this);
4326
+ }
4327
+ /**
4328
+ * Sorted push
4329
+ */
4330
+ function pushSorted(arr, el, fn) {
4331
+ arr.splice(findPositionInArray.bind(arr)(el, fn), 0, el);
4332
+ return arr;
4333
+ }
4334
+ // (arr1[index1] < arr2[index2])
4335
+ function simpleCompare(el1, el2) {
4336
+ return el1 < el2;
4337
+ }
4338
+ /**
4339
+ * Merge sorted array helper function
4340
+ */
4341
+ function mergeSortedArray(arr1, arr2, compareFn = simpleCompare) {
4342
+ const merged = [];
4343
+ let index1 = 0;
4344
+ let index2 = 0;
4345
+ let current = 0;
4346
+ while (current < arr1.length + arr2.length) {
4347
+ let isArr1Depleted = index1 >= arr1.length;
4348
+ let isArr2Depleted = index2 >= arr2.length;
4349
+ if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {
4350
+ merged[current] = arr1[index1];
4351
+ index1++;
4352
+ }
4353
+ else {
4354
+ merged[current] = arr2[index2];
4355
+ index2++;
4356
+ }
4357
+ current++;
4358
+ }
4359
+ return merged;
4360
+ }
4361
+ /**
4362
+ * Calculate system scrollbar size
4363
+ */
4364
+ function getScrollbarSize(document) {
4365
+ // Create a temporary div container and append it to the body
4366
+ const container = document.createElement('div');
4367
+ // Apply styling to ensure the div is scrollable
4368
+ container.style.overflow = 'scroll';
4369
+ container.style.visibility = 'hidden'; // make sure the container isn't visible
4370
+ container.style.position = 'absolute';
4371
+ container.style.top = '-9999px'; // move it out of the screen
4372
+ container.style.width = '50px'; // arbitrary width
4373
+ container.style.height = '50px'; // arbitrary height
4374
+ // Append the div to the body
4375
+ document.body.appendChild(container);
4376
+ // Calculate the width of the scrollbar
4377
+ const scrollbarWidth = container.offsetWidth - container.clientWidth;
4378
+ // Remove the div from the body after calculation
4379
+ document.body.removeChild(container);
4380
+ // Return the calculated width of the scrollbar
4381
+ return scrollbarWidth;
4382
+ }
4383
+ /* Scale a value between 2 ranges
4384
+ *
4385
+ * Sample:
4386
+ * // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)
4387
+ * const n = scaleValue(55, [0,100], [0,1000]);
4388
+ *
4389
+ * Ranges of two values
4390
+ * @from
4391
+ * @to
4392
+ *
4393
+ * ~~ return value does the equivalent of Math.floor but faster.
4394
+ */
4395
+ function scaleValue(value, from, to) {
4396
+ return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];
4397
+ }
4398
+ /**
4399
+ * Async timeout
4400
+ */
4401
+ async function timeout(delay = 0) {
4402
+ await new Promise((r) => {
4403
+ setTimeout(() => r(), delay);
4404
+ });
4405
+ }
4406
+ /**
4407
+ * Type script mixins
4408
+ */
4409
+ function applyMixins(derivedCtor, constructors) {
4410
+ constructors.forEach(baseCtor => {
4411
+ Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
4412
+ Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || Object.create(null));
4413
+ });
4414
+ });
4415
+ }
4416
+
4417
+ exports.CELL_CLASS = CELL_CLASS;
4418
+ exports.CELL_HANDLER_CLASS = CELL_HANDLER_CLASS;
4419
+ exports.DATA_COL = DATA_COL;
4420
+ exports.DATA_ROW = DATA_ROW;
4421
+ exports.DISABLED_CLASS = DISABLED_CLASS;
4422
+ exports.DRAGGABLE_CLASS = DRAGGABLE_CLASS;
4423
+ exports.DRAGG_TEXT = DRAGG_TEXT;
4424
+ exports.DRAG_ICON_CLASS = DRAG_ICON_CLASS;
4190
4425
  exports.DataStore = DataStore;
4191
- exports._arrayMap = _arrayMap;
4426
+ exports.EDIT_INPUT_WR = EDIT_INPUT_WR;
4427
+ exports.FOCUS_CLASS = FOCUS_CLASS;
4428
+ exports.GRID_INTERNALS = GRID_INTERNALS;
4429
+ exports.HEADER_ACTUAL_ROW_CLASS = HEADER_ACTUAL_ROW_CLASS;
4430
+ exports.HEADER_CLASS = HEADER_CLASS;
4431
+ exports.HEADER_ROW_CLASS = HEADER_ROW_CLASS;
4432
+ exports.HEADER_SORTABLE_CLASS = HEADER_SORTABLE_CLASS;
4433
+ exports.KeyCodesEnum = KeyCodesEnum;
4434
+ exports.MIN_COL_SIZE = MIN_COL_SIZE;
4435
+ exports.MOBILE_CLASS = MOBILE_CLASS;
4436
+ exports.OsPlatform = OsPlatform;
4437
+ exports.RESIZE_INTERVAL = RESIZE_INTERVAL;
4438
+ exports.ROW_FOCUSED_CLASS = ROW_FOCUSED_CLASS;
4439
+ exports.ROW_HEADER_TYPE = ROW_HEADER_TYPE;
4440
+ exports.SELECTION_BORDER_CLASS = SELECTION_BORDER_CLASS;
4441
+ exports.TMP_SELECTION_BG_CLASS = TMP_SELECTION_BG_CLASS;
4192
4442
  exports._baseEach = _baseEach;
4193
4443
  exports._baseIteratee = _baseIteratee;
4194
4444
  exports._baseKeys = _baseKeys;
@@ -4196,28 +4446,36 @@ exports._baseProperty = _baseProperty;
4196
4446
  exports._getNative = _getNative;
4197
4447
  exports._getTag = _getTag;
4198
4448
  exports._isIterateeCall = _isIterateeCall;
4449
+ exports.applyMixins = applyMixins;
4199
4450
  exports.calculateDimensionData = calculateDimensionData;
4200
4451
  exports.createStore = createStore;
4201
4452
  exports.each = each;
4202
4453
  exports.findIndex_1 = findIndex_1;
4454
+ exports.findPositionInArray = findPositionInArray;
4203
4455
  exports.gatherTrimmedItems = gatherTrimmedItems;
4204
4456
  exports.getItemByIndex = getItemByIndex;
4205
4457
  exports.getItemByPosition = getItemByPosition;
4206
4458
  exports.getPhysical = getPhysical;
4459
+ exports.getScrollbarSize = getScrollbarSize;
4207
4460
  exports.getSourceItem = getSourceItem;
4208
4461
  exports.getSourceItemVirtualIndexByProp = getSourceItemVirtualIndexByProp;
4209
4462
  exports.getVisibleSourceItem = getVisibleSourceItem;
4210
4463
  exports.isArrayLike_1 = isArrayLike_1;
4211
4464
  exports.isArray_1 = isArray_1;
4212
4465
  exports.keys_1 = keys_1;
4466
+ exports.mergeSortedArray = mergeSortedArray;
4213
4467
  exports.proxyPlugin = proxyPlugin;
4468
+ exports.pushSorted = pushSorted;
4469
+ exports.range = range;
4214
4470
  exports.range_1 = range_1;
4215
4471
  exports.reduce_1 = reduce_1;
4472
+ exports.scaleValue = scaleValue;
4216
4473
  exports.setItems = setItems;
4217
4474
  exports.setSourceByPhysicalIndex = setSourceByPhysicalIndex;
4218
4475
  exports.setSourceByVirtualIndex = setSourceByVirtualIndex;
4219
4476
  exports.setStore = setStore;
4477
+ exports.timeout = timeout;
4220
4478
  exports.toInteger_1 = toInteger_1;
4221
4479
  exports.trimmedPlugin = trimmedPlugin;
4222
4480
 
4223
- //# sourceMappingURL=dimension.helpers-a6788214.js.map
4481
+ //# sourceMappingURL=index-2991afbb.js.map