@revolist/revogrid 4.4.0-next.4 → 4.4.0-next.40

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 (280) hide show
  1. package/custom-element/_arrayMap.js +28 -0
  2. package/custom-element/_arrayMap.js.map +1 -0
  3. package/custom-element/_baseIteratee.js +1 -1
  4. package/custom-element/columnService.js +1 -1
  5. package/custom-element/consts.js +2 -23
  6. package/custom-element/consts.js.map +1 -1
  7. package/custom-element/index.js +2 -0
  8. package/custom-element/index.js.map +1 -1
  9. package/custom-element/localScrollService.js +5 -1
  10. package/custom-element/localScrollService.js.map +1 -1
  11. package/custom-element/revo-grid.js +182 -111
  12. package/custom-element/revo-grid.js.map +1 -1
  13. package/custom-element/revogr-clipboard.js +24 -5
  14. package/custom-element/revogr-clipboard.js.map +1 -1
  15. package/custom-element/revogr-data2.js +17 -13
  16. package/custom-element/revogr-data2.js.map +1 -1
  17. package/custom-element/revogr-edit2.js +7 -2
  18. package/custom-element/revogr-edit2.js.map +1 -1
  19. package/custom-element/revogr-focus-row.d.ts +11 -0
  20. package/custom-element/revogr-focus-row.js +11 -0
  21. package/custom-element/revogr-focus-row.js.map +1 -0
  22. package/custom-element/revogr-focus-row2.js +50 -0
  23. package/custom-element/revogr-focus-row2.js.map +1 -0
  24. package/custom-element/revogr-focus2.js +18 -8
  25. package/custom-element/revogr-focus2.js.map +1 -1
  26. package/custom-element/revogr-header2.js +26 -12
  27. package/custom-element/revogr-header2.js.map +1 -1
  28. package/custom-element/revogr-overlay-selection2.js +85 -30
  29. package/custom-element/revogr-overlay-selection2.js.map +1 -1
  30. package/custom-element/revogr-row-headers2.js +21 -13
  31. package/custom-element/revogr-row-headers2.js.map +1 -1
  32. package/custom-element/revogr-viewport-scroll2.js +59 -14
  33. package/custom-element/revogr-viewport-scroll2.js.map +1 -1
  34. package/dist/cjs/{debounce-525dd66c.js → debounce-f50730b6.js} +1 -38
  35. package/dist/cjs/debounce-f50730b6.js.map +1 -0
  36. package/dist/cjs/dispatcher-20520c70.js +21 -0
  37. package/dist/cjs/dispatcher-20520c70.js.map +1 -0
  38. package/dist/cjs/events-c0f32271.js +461 -0
  39. package/dist/cjs/events-c0f32271.js.map +1 -0
  40. package/dist/cjs/filter.button-71d993fa.js +44 -0
  41. package/dist/cjs/filter.button-71d993fa.js.map +1 -0
  42. package/dist/cjs/index-924f79cc.js +3944 -0
  43. package/dist/cjs/index-924f79cc.js.map +1 -0
  44. package/dist/cjs/{index-aad39b7b.js → index-c8f9c4ef.js} +111 -38
  45. package/dist/cjs/index-c8f9c4ef.js.map +1 -0
  46. package/dist/cjs/isString-9fadbe9a.js +38 -0
  47. package/dist/cjs/isString-9fadbe9a.js.map +1 -0
  48. package/dist/cjs/keyCodes.utils-2468c1e2.js +271 -0
  49. package/dist/cjs/keyCodes.utils-2468c1e2.js.map +1 -0
  50. package/dist/cjs/loader.cjs.js +3 -3
  51. package/dist/cjs/loader.cjs.js.map +1 -1
  52. package/dist/cjs/localScrollService-9cab5daf.js +513 -0
  53. package/dist/cjs/localScrollService-9cab5daf.js.map +1 -0
  54. package/dist/cjs/revo-grid.cjs.entry.js +3862 -0
  55. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
  56. package/dist/cjs/revo-grid.cjs.js +3 -3
  57. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  58. package/dist/cjs/revogr-clipboard.cjs.entry.js +24 -6
  59. package/dist/cjs/revogr-clipboard.cjs.entry.js.map +1 -1
  60. package/dist/cjs/revogr-data_4.cjs.entry.js +1177 -0
  61. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
  62. package/dist/cjs/revogr-edit_2.cjs.entry.js +325 -0
  63. package/dist/cjs/revogr-edit_2.cjs.entry.js.map +1 -0
  64. package/dist/cjs/revogr-filter-panel.cjs.entry.js +6 -5
  65. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  66. package/dist/cjs/revogr-focus_5.cjs.entry.js +1141 -0
  67. package/dist/cjs/revogr-focus_5.cjs.entry.js.map +1 -0
  68. package/dist/cjs/{revo-grid_11.cjs.entry.js → viewport.helpers-1a0f4ce3.js} +13979 -25289
  69. package/dist/cjs/viewport.helpers-1a0f4ce3.js.map +1 -0
  70. package/dist/collection/collection-manifest.json +3 -2
  71. package/dist/collection/components/clipboard/revogr-clipboard.d.ts +6 -2
  72. package/dist/collection/components/clipboard/revogr-clipboard.js +46 -5
  73. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  74. package/dist/collection/components/data/revogr-data.d.ts +17 -3
  75. package/dist/collection/components/data/revogr-data.js +25 -12
  76. package/dist/collection/components/data/revogr-data.js.map +1 -1
  77. package/dist/collection/components/data/rowRenderer.d.ts +2 -1
  78. package/dist/collection/components/data/rowRenderer.js +8 -2
  79. package/dist/collection/components/data/rowRenderer.js.map +1 -1
  80. package/dist/collection/components/header/headerCellRenderer.d.ts +2 -1
  81. package/dist/collection/components/header/headerCellRenderer.js +1 -1
  82. package/dist/collection/components/header/headerCellRenderer.js.map +1 -1
  83. package/dist/collection/components/header/headerRenderer.d.ts +2 -2
  84. package/dist/collection/components/header/headerRenderer.js +1 -1
  85. package/dist/collection/components/header/headerRenderer.js.map +1 -1
  86. package/dist/collection/components/header/revogr-header.d.ts +15 -1
  87. package/dist/collection/components/header/revogr-header.js +34 -8
  88. package/dist/collection/components/header/revogr-header.js.map +1 -1
  89. package/dist/collection/components/overlay/autofill.service.d.ts +6 -2
  90. package/dist/collection/components/overlay/autofill.service.js +30 -12
  91. package/dist/collection/components/overlay/autofill.service.js.map +1 -1
  92. package/dist/collection/components/overlay/clipboard.service.d.ts +1 -1
  93. package/dist/collection/components/overlay/clipboard.service.js +2 -2
  94. package/dist/collection/components/overlay/clipboard.service.js.map +1 -1
  95. package/dist/collection/components/overlay/revogr-edit.d.ts +2 -0
  96. package/dist/collection/components/overlay/revogr-edit.js +22 -2
  97. package/dist/collection/components/overlay/revogr-edit.js.map +1 -1
  98. package/dist/collection/components/overlay/revogr-overlay-selection.d.ts +19 -9
  99. package/dist/collection/components/overlay/revogr-overlay-selection.js +67 -14
  100. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  101. package/dist/collection/components/overlay/revogr-overlay-style.css +71 -4
  102. package/dist/collection/components/revoGrid/revo-grid-style.css +15 -15
  103. package/dist/collection/components/revoGrid/revo-grid.d.ts +18 -2
  104. package/dist/collection/components/revoGrid/revo-grid.js +63 -18
  105. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  106. package/dist/collection/components/revoGrid/viewport.scrolling.service.d.ts +6 -2
  107. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +26 -4
  108. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
  109. package/dist/collection/components/revoGrid/viewport.section.d.ts +8 -5
  110. package/dist/collection/components/revoGrid/viewport.section.js +13 -7
  111. package/dist/collection/components/revoGrid/viewport.section.js.map +1 -1
  112. package/dist/collection/components/revoGrid/viewport.service.d.ts +1 -0
  113. package/dist/collection/components/revoGrid/viewport.service.js +9 -2
  114. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
  115. package/dist/collection/components/rowHeaders/revogr-row-headers.js +2 -2
  116. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  117. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +3 -0
  118. package/dist/collection/components/scroll/revogr-viewport-scroll.d.ts +22 -9
  119. package/dist/collection/components/scroll/revogr-viewport-scroll.js +101 -21
  120. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
  121. package/dist/collection/components/selectionFocus/revogr-focus-style.css +1 -1
  122. package/dist/collection/components/selectionFocus/revogr-focus.d.ts +8 -0
  123. package/dist/collection/components/selectionFocus/revogr-focus.js +34 -6
  124. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  125. package/dist/collection/components/selectionFocusRow/revogr-focus-row.css +77 -0
  126. package/dist/collection/components/selectionFocusRow/revogr-focus-row.d.ts +17 -0
  127. package/dist/collection/components/selectionFocusRow/revogr-focus-row.js +115 -0
  128. package/dist/collection/components/selectionFocusRow/revogr-focus-row.js.map +1 -0
  129. package/dist/collection/components.d.ts +165 -20
  130. package/dist/collection/interfaces.d.ts +9 -1
  131. package/dist/collection/plugins/basePlugin.js +1 -2
  132. package/dist/collection/plugins/basePlugin.js.map +1 -1
  133. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -2
  134. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +2 -2
  135. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
  136. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
  137. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +1 -1
  138. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
  139. package/dist/collection/plugins/sorting/sorting.plugin.d.ts +21 -13
  140. package/dist/collection/plugins/sorting/sorting.plugin.js +77 -70
  141. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  142. package/dist/collection/serve/controller.js +183 -0
  143. package/dist/collection/services/localScrollService.d.ts +1 -0
  144. package/dist/collection/services/localScrollService.js +5 -1
  145. package/dist/collection/services/localScrollService.js.map +1 -1
  146. package/dist/collection/services/resizable.directive.d.ts +8 -7
  147. package/dist/collection/services/resizable.directive.js +13 -36
  148. package/dist/collection/services/resizable.directive.js.map +1 -1
  149. package/dist/collection/services/resizable.element.d.ts +4 -0
  150. package/dist/collection/services/resizable.element.js +39 -0
  151. package/dist/collection/services/resizable.element.js.map +1 -0
  152. package/dist/collection/stencil-public-runtime.d.ts +3 -0
  153. package/dist/collection/store/viewPort/viewport.store.js +10 -8
  154. package/dist/collection/store/viewPort/viewport.store.js.map +1 -1
  155. package/dist/collection/utils/browser.d.ts +1 -0
  156. package/dist/collection/utils/browser.js +7 -0
  157. package/dist/collection/utils/browser.js.map +1 -0
  158. package/dist/collection/utils/consts.d.ts +1 -0
  159. package/dist/collection/utils/consts.js +1 -0
  160. package/dist/collection/utils/consts.js.map +1 -1
  161. package/dist/collection/utils/events.d.ts +2 -1
  162. package/dist/collection/utils/events.js +18 -2
  163. package/dist/collection/utils/events.js.map +1 -1
  164. package/dist/collection/utils/mobile.d.ts +1 -0
  165. package/dist/collection/utils/mobile.js +7 -0
  166. package/dist/collection/utils/mobile.js.map +1 -0
  167. package/dist/esm/{debounce-301fd4d2.js → debounce-820b5a8b.js} +2 -34
  168. package/dist/esm/debounce-820b5a8b.js.map +1 -0
  169. package/dist/esm/dispatcher-9e9c0233.js +19 -0
  170. package/dist/esm/dispatcher-9e9c0233.js.map +1 -0
  171. package/dist/esm/events-81548604.js +456 -0
  172. package/dist/esm/events-81548604.js.map +1 -0
  173. package/dist/esm/filter.button-0a17990a.js +38 -0
  174. package/dist/esm/filter.button-0a17990a.js.map +1 -0
  175. package/dist/esm/{index-5e90b19b.js → index-2f956d3e.js} +112 -39
  176. package/dist/esm/index-2f956d3e.js.map +1 -0
  177. package/dist/esm/index-4d69fb67.js +3889 -0
  178. package/dist/esm/index-4d69fb67.js.map +1 -0
  179. package/dist/esm/isString-6eb4eb03.js +36 -0
  180. package/dist/esm/isString-6eb4eb03.js.map +1 -0
  181. package/dist/esm/keyCodes.utils-048dd2c2.js +265 -0
  182. package/dist/esm/keyCodes.utils-048dd2c2.js.map +1 -0
  183. package/dist/esm/loader.js +4 -4
  184. package/dist/esm/loader.js.map +1 -1
  185. package/dist/esm/localScrollService-20b47566.js +504 -0
  186. package/dist/esm/localScrollService-20b47566.js.map +1 -0
  187. package/dist/esm/revo-grid.entry.js +3858 -0
  188. package/dist/esm/revo-grid.entry.js.map +1 -0
  189. package/dist/esm/revo-grid.js +4 -4
  190. package/dist/esm/revo-grid.js.map +1 -1
  191. package/dist/esm/revogr-clipboard.entry.js +24 -6
  192. package/dist/esm/revogr-clipboard.entry.js.map +1 -1
  193. package/dist/esm/revogr-data_4.entry.js +1170 -0
  194. package/dist/esm/revogr-data_4.entry.js.map +1 -0
  195. package/dist/esm/revogr-edit_2.entry.js +320 -0
  196. package/dist/esm/revogr-edit_2.entry.js.map +1 -0
  197. package/dist/esm/revogr-filter-panel.entry.js +3 -2
  198. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  199. package/dist/esm/revogr-focus_5.entry.js +1133 -0
  200. package/dist/esm/revogr-focus_5.entry.js.map +1 -0
  201. package/dist/esm/{revo-grid_11.entry.js → viewport.helpers-ae060016.js} +13790 -25112
  202. package/dist/esm/viewport.helpers-ae060016.js.map +1 -0
  203. package/dist/revo-grid/debounce-820b5a8b.js +5 -0
  204. package/dist/revo-grid/debounce-820b5a8b.js.map +1 -0
  205. package/dist/revo-grid/dispatcher-9e9c0233.js +5 -0
  206. package/dist/revo-grid/dispatcher-9e9c0233.js.map +1 -0
  207. package/dist/revo-grid/events-81548604.js +5 -0
  208. package/dist/revo-grid/events-81548604.js.map +1 -0
  209. package/dist/revo-grid/filter.button-0a17990a.js +5 -0
  210. package/dist/revo-grid/filter.button-0a17990a.js.map +1 -0
  211. package/dist/revo-grid/index-2f956d3e.js +6 -0
  212. package/dist/revo-grid/index-2f956d3e.js.map +1 -0
  213. package/dist/revo-grid/index-4d69fb67.js +5 -0
  214. package/dist/revo-grid/index-4d69fb67.js.map +1 -0
  215. package/dist/revo-grid/isString-6eb4eb03.js +5 -0
  216. package/dist/revo-grid/isString-6eb4eb03.js.map +1 -0
  217. package/dist/revo-grid/keyCodes.utils-048dd2c2.js +5 -0
  218. package/dist/revo-grid/keyCodes.utils-048dd2c2.js.map +1 -0
  219. package/dist/revo-grid/localScrollService-20b47566.js +5 -0
  220. package/dist/revo-grid/localScrollService-20b47566.js.map +1 -0
  221. package/dist/revo-grid/revo-grid.entry.js +5 -0
  222. package/dist/revo-grid/revo-grid.entry.js.map +1 -0
  223. package/dist/revo-grid/revo-grid.esm.js +1 -1
  224. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  225. package/dist/revo-grid/revogr-clipboard.entry.js +1 -1
  226. package/dist/revo-grid/revogr-clipboard.entry.js.map +1 -1
  227. package/dist/revo-grid/revogr-data_4.entry.js +5 -0
  228. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
  229. package/dist/revo-grid/revogr-edit_2.entry.js +5 -0
  230. package/dist/revo-grid/revogr-edit_2.entry.js.map +1 -0
  231. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  232. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  233. package/dist/revo-grid/revogr-focus_5.entry.js +5 -0
  234. package/dist/revo-grid/revogr-focus_5.entry.js.map +1 -0
  235. package/dist/revo-grid/viewport.helpers-ae060016.js +5 -0
  236. package/dist/revo-grid/viewport.helpers-ae060016.js.map +1 -0
  237. package/dist/types/components/clipboard/revogr-clipboard.d.ts +6 -2
  238. package/dist/types/components/data/revogr-data.d.ts +17 -3
  239. package/dist/types/components/data/rowRenderer.d.ts +2 -1
  240. package/dist/types/components/header/headerCellRenderer.d.ts +2 -1
  241. package/dist/types/components/header/headerRenderer.d.ts +2 -2
  242. package/dist/types/components/header/revogr-header.d.ts +15 -1
  243. package/dist/types/components/overlay/autofill.service.d.ts +6 -2
  244. package/dist/types/components/overlay/clipboard.service.d.ts +1 -1
  245. package/dist/types/components/overlay/revogr-edit.d.ts +2 -0
  246. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +19 -9
  247. package/dist/types/components/revoGrid/revo-grid.d.ts +18 -2
  248. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +6 -2
  249. package/dist/types/components/revoGrid/viewport.section.d.ts +8 -5
  250. package/dist/types/components/revoGrid/viewport.service.d.ts +1 -0
  251. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +22 -9
  252. package/dist/types/components/selectionFocus/revogr-focus.d.ts +8 -0
  253. package/dist/types/components/selectionFocusRow/revogr-focus-row.d.ts +17 -0
  254. package/dist/types/components.d.ts +165 -20
  255. package/dist/types/interfaces.d.ts +9 -1
  256. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -2
  257. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
  258. package/dist/types/plugins/sorting/sorting.plugin.d.ts +21 -13
  259. package/dist/types/services/localScrollService.d.ts +1 -0
  260. package/dist/types/services/resizable.directive.d.ts +8 -7
  261. package/dist/types/services/resizable.element.d.ts +4 -0
  262. package/dist/types/stencil-public-runtime.d.ts +3 -0
  263. package/dist/types/utils/browser.d.ts +1 -0
  264. package/dist/types/utils/consts.d.ts +1 -0
  265. package/dist/types/utils/events.d.ts +2 -1
  266. package/dist/types/utils/mobile.d.ts +1 -0
  267. package/package.json +17 -16
  268. package/dist/cjs/debounce-525dd66c.js.map +0 -1
  269. package/dist/cjs/index-aad39b7b.js.map +0 -1
  270. package/dist/cjs/revo-grid_11.cjs.entry.js.map +0 -1
  271. package/dist/esm/debounce-301fd4d2.js.map +0 -1
  272. package/dist/esm/index-5e90b19b.js.map +0 -1
  273. package/dist/esm/revo-grid_11.entry.js.map +0 -1
  274. package/dist/revo-grid/debounce-301fd4d2.js +0 -5
  275. package/dist/revo-grid/debounce-301fd4d2.js.map +0 -1
  276. package/dist/revo-grid/index-5e90b19b.js +0 -6
  277. package/dist/revo-grid/index-5e90b19b.js.map +0 -1
  278. package/dist/revo-grid/revo-grid_11.entry.js +0 -5
  279. package/dist/revo-grid/revo-grid_11.entry.js.map +0 -1
  280. /package/dist/collection/{utilsExternal/generate-data.js → serve/data.js} +0 -0
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
4
+ /**
5
+ * A specialized version of `_.map` for arrays without support for iteratee
6
+ * shorthands.
7
+ *
8
+ * @private
9
+ * @param {Array} [array] The array to iterate over.
10
+ * @param {Function} iteratee The function invoked per iteration.
11
+ * @returns {Array} Returns the new mapped array.
12
+ */
13
+ function arrayMap(array, iteratee) {
14
+ var index = -1,
15
+ length = array == null ? 0 : array.length,
16
+ result = Array(length);
17
+
18
+ while (++index < length) {
19
+ result[index] = iteratee(array[index], index, array);
20
+ }
21
+ return result;
22
+ }
23
+
24
+ var _arrayMap = arrayMap;
25
+
26
+ export { _arrayMap as _ };
27
+
28
+ //# sourceMappingURL=_arrayMap.js.map
@@ -0,0 +1 @@
1
+ {"file":"_arrayMap.js","mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE;AACnC,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;AAChB,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;AAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7B;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE;AAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzD,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;aACc,GAAG;;;;","names":[],"sources":["./node_modules/lodash/_arrayMap.js"],"sourcesContent":["/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n"],"version":3}
@@ -5,7 +5,7 @@ import { h as _SetCache, e as eq_1, _ as _getTag, d as isBuffer_1, j as _Stack,
5
5
  import { b as _root, f as _Symbol, i as isObjectLike_1, a as isObject_1 } from './isObject.js';
6
6
  import { a as isArray_1, k as keys_1, c as isTypedArray_1, b as _isIndex } from './keys.js';
7
7
  import { i as isSymbol_1 } from './isSymbol.js';
8
- import { _ as _arrayMap } from './consts.js';
8
+ import { _ as _arrayMap } from './_arrayMap.js';
9
9
  import { i as identity_1 } from './identity.js';
10
10
 
11
11
  /**
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { h } from '@stencil/core/internal/client';
5
5
  import { c as createStore, d as setStore, b as getVisibleSourceItem, g as getSourceItem, s as setSourceByVirtualIndex } from './data.store.js';
6
- import { G as GRID_INTERNALS, i as CELL_CLASS, j as DISABLED_CLASS } from './consts.js';
6
+ import { G as GRID_INTERNALS, j as CELL_CLASS, k as DISABLED_CLASS } from './consts.js';
7
7
  import { l as lodash } from './lodash.js';
8
8
 
9
9
  const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;
@@ -1,28 +1,6 @@
1
1
  /*!
2
2
  * Built by Revolist
3
3
  */
4
- /**
5
- * A specialized version of `_.map` for arrays without support for iteratee
6
- * shorthands.
7
- *
8
- * @private
9
- * @param {Array} [array] The array to iterate over.
10
- * @param {Function} iteratee The function invoked per iteration.
11
- * @returns {Array} Returns the new mapped array.
12
- */
13
- function arrayMap(array, iteratee) {
14
- var index = -1,
15
- length = array == null ? 0 : array.length,
16
- result = Array(length);
17
-
18
- while (++index < length) {
19
- result[index] = iteratee(array[index], index, array);
20
- }
21
- return result;
22
- }
23
-
24
- var _arrayMap = arrayMap;
25
-
26
4
  const MIN_COL_SIZE = 30;
27
5
  const RESIZE_INTERVAL = 40;
28
6
  const DATA_COL = 'data-rgCol';
@@ -39,12 +17,13 @@ const DRAG_ICON_CLASS = 'revo-drag-icon';
39
17
  const DRAGGABLE_CLASS = 'revo-draggable';
40
18
  const FOCUS_CLASS = 'focused-cell';
41
19
  const SELECTION_BORDER_CLASS = 'selection-border-range';
20
+ const MOBILE_CLASS = 'mobile-handler';
42
21
  const TMP_SELECTION_BG_CLASS = 'temp-bg-range';
43
22
  const CELL_HANDLER_CLASS = 'autofill-handle';
44
23
  const EDIT_INPUT_WR = 'edit-input-wrapper';
45
24
  const DRAGG_TEXT = 'Draggable item';
46
25
  const GRID_INTERNALS = '__rvgr';
47
26
 
48
- export { CELL_HANDLER_CLASS as C, DRAGGABLE_CLASS as D, EDIT_INPUT_WR as E, FOCUS_CLASS as F, GRID_INTERNALS as G, HEADER_CLASS as H, MIN_COL_SIZE as M, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, UUID as U, _arrayMap as _, DRAG_ICON_CLASS as a, DATA_COL as b, DATA_ROW as c, HEADER_SORTABLE_CLASS as d, HEADER_ROW_CLASS as e, HEADER_ACTUAL_ROW_CLASS as f, DRAGG_TEXT as g, ROW_HEADER_TYPE as h, CELL_CLASS as i, DISABLED_CLASS as j };
27
+ export { CELL_HANDLER_CLASS as C, DRAGGABLE_CLASS as D, EDIT_INPUT_WR as E, FOCUS_CLASS as F, GRID_INTERNALS as G, HEADER_CLASS as H, MIN_COL_SIZE as M, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, UUID as U, DRAG_ICON_CLASS as a, DATA_ROW as b, DATA_COL as c, HEADER_SORTABLE_CLASS as d, HEADER_ROW_CLASS as e, HEADER_ACTUAL_ROW_CLASS as f, DRAGG_TEXT as g, MOBILE_CLASS as h, ROW_HEADER_TYPE as i, CELL_CLASS as j, DISABLED_CLASS as k };
49
28
 
50
29
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"file":"consts.js","mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE;AACnC,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;AAChB,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;AAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7B;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE;AAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzD,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;aACc,GAAG;;MCpBJ,YAAY,GAAG,GAAG;MAClB,eAAe,GAAG,GAAG;MAErB,QAAQ,GAAG,aAAa;MACxB,QAAQ,GAAG,aAAa;MAExB,IAAI,GAAG,YAAY;MAEnB,cAAc,GAAG,WAAW;MAC5B,UAAU,GAAG,SAAS;MACtB,eAAe,GAAG,aAAa;MAC/B,YAAY,GAAG,eAAe;MAC9B,qBAAqB,GAAG,WAAW;MACnC,gBAAgB,GAAG,eAAe;MAClC,uBAAuB,GAAG,eAAe;MAEzC,eAAe,GAAG,iBAAiB;MACnC,eAAe,GAAG,iBAAiB;MAEnC,WAAW,GAAG,eAAe;MAC7B,sBAAsB,GAAG,yBAAyB;MAClD,sBAAsB,GAAG,gBAAgB;MAEzC,kBAAkB,GAAG,kBAAkB;MAEvC,aAAa,GAAG,qBAAqB;MAErC,UAAU,GAAG,iBAAiB;MAC9B,cAAc,GAAG;;;;","names":[],"sources":["./node_modules/lodash/_arrayMap.js","./src/utils/consts.ts"],"sourcesContent":["/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","export const MIN_COL_SIZE = 30;\nexport const RESIZE_INTERVAL = 40;\n\nexport const DATA_COL = 'data-rgCol';\nexport const DATA_ROW = 'data-rgRow';\n\nexport const UUID = 'grid-uuid';\n\nexport const DISABLED_CLASS = 'disabled';\nexport const CELL_CLASS = 'rgCell';\nexport const ROW_HEADER_TYPE = 'rowHeaders';\nexport const HEADER_CLASS = 'rgHeaderCell';\nexport const HEADER_SORTABLE_CLASS = 'sortable';\nexport const HEADER_ROW_CLASS = 'header-rgRow';\nexport const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';\n\nexport const DRAG_ICON_CLASS = 'revo-drag-icon';\nexport const DRAGGABLE_CLASS = 'revo-draggable';\n\nexport const FOCUS_CLASS = 'focused-cell';\nexport const SELECTION_BORDER_CLASS = 'selection-border-range';\nexport const TMP_SELECTION_BG_CLASS = 'temp-bg-range';\n\nexport const CELL_HANDLER_CLASS = 'autofill-handle';\n\nexport const EDIT_INPUT_WR = 'edit-input-wrapper';\n\nexport const DRAGG_TEXT = 'Draggable item';\nexport const GRID_INTERNALS = '__rvgr';\n"],"version":3}
1
+ {"file":"consts.js","mappings":";;;MAAa,YAAY,GAAG,GAAG;MAClB,eAAe,GAAG,GAAG;MAErB,QAAQ,GAAG,aAAa;MACxB,QAAQ,GAAG,aAAa;MAExB,IAAI,GAAG,YAAY;MAEnB,cAAc,GAAG,WAAW;MAC5B,UAAU,GAAG,SAAS;MACtB,eAAe,GAAG,aAAa;MAC/B,YAAY,GAAG,eAAe;MAC9B,qBAAqB,GAAG,WAAW;MACnC,gBAAgB,GAAG,eAAe;MAClC,uBAAuB,GAAG,eAAe;MAEzC,eAAe,GAAG,iBAAiB;MACnC,eAAe,GAAG,iBAAiB;MAEnC,WAAW,GAAG,eAAe;MAC7B,sBAAsB,GAAG,yBAAyB;MAClD,YAAY,GAAG,iBAAiB;MAChC,sBAAsB,GAAG,gBAAgB;MAEzC,kBAAkB,GAAG,kBAAkB;MAEvC,aAAa,GAAG,qBAAqB;MAErC,UAAU,GAAG,iBAAiB;MAC9B,cAAc,GAAG;;;;","names":[],"sources":["./src/utils/consts.ts"],"sourcesContent":["export const MIN_COL_SIZE = 30;\nexport const RESIZE_INTERVAL = 40;\n\nexport const DATA_COL = 'data-rgCol';\nexport const DATA_ROW = 'data-rgRow';\n\nexport const UUID = 'grid-uuid';\n\nexport const DISABLED_CLASS = 'disabled';\nexport const CELL_CLASS = 'rgCell';\nexport const ROW_HEADER_TYPE = 'rowHeaders';\nexport const HEADER_CLASS = 'rgHeaderCell';\nexport const HEADER_SORTABLE_CLASS = 'sortable';\nexport const HEADER_ROW_CLASS = 'header-rgRow';\nexport const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';\n\nexport const DRAG_ICON_CLASS = 'revo-drag-icon';\nexport const DRAGGABLE_CLASS = 'revo-draggable';\n\nexport const FOCUS_CLASS = 'focused-cell';\nexport const SELECTION_BORDER_CLASS = 'selection-border-range';\nexport const MOBILE_CLASS = 'mobile-handler';\nexport const TMP_SELECTION_BG_CLASS = 'temp-bg-range';\n\nexport const CELL_HANDLER_CLASS = 'autofill-handle';\n\nexport const EDIT_INPUT_WR = 'edit-input-wrapper';\n\nexport const DRAGG_TEXT = 'Draggable item';\nexport const GRID_INTERNALS = '__rvgr';\n"],"version":3}
@@ -9,6 +9,7 @@ import { RevogrData } from './revogr-data.js';
9
9
  import { RevogrEdit } from './revogr-edit.js';
10
10
  import { RevogrFilterPanel } from './revogr-filter-panel.js';
11
11
  import { RevogrFocus } from './revogr-focus.js';
12
+ import { RevogrFocusRow } from './revogr-focus-row.js';
12
13
  import { RevogrHeader } from './revogr-header.js';
13
14
  import { RevogrOrderEditor } from './revogr-order-editor.js';
14
15
  import { RevogrOverlaySelection } from './revogr-overlay-selection.js';
@@ -38,6 +39,7 @@ const defineCustomElements = (opts) => {
38
39
  RevogrEdit,
39
40
  RevogrFilterPanel,
40
41
  RevogrFocus,
42
+ RevogrFocusRow,
41
43
  RevogrHeader,
42
44
  RevogrOrderEditor,
43
45
  RevogrOverlaySelection,
@@ -1 +1 @@
1
- {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;AAGA,OAAO,CAAC,GAAG;EACT,IAAI,KAAK,GAAwB;EACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IAC7B,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;GACtB;EAED;EACA,IAAI,WAAW,KAAK,KAAK,EAAE;IACzB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE;GAC3B;EACD;AACF,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/global/global.ts"],"sourcesContent":["import { setMode } from '@stencil/core';\nimport ThemeService from '../themeManager/themeService';\n\nsetMode(elm => {\n let theme: string | undefined = (elm as any).theme || elm.getAttribute('theme');\n if (typeof theme === 'string') {\n theme = theme.trim();\n }\n\n const parsedTheme = ThemeService.getTheme(theme);\n if (parsedTheme !== theme) {\n elm.setAttribute('theme', parsedTheme);\n }\n return parsedTheme;\n});\n"],"version":3}
1
+ {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;AAGA,OAAO,CAAC,GAAG;EACT,IAAI,KAAK,GAAwB;EACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IAC7B,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;GACtB;EAED;EACA,IAAI,WAAW,KAAK,KAAK,EAAE;IACzB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE;GAC3B;EACD;AACF,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/global/global.ts"],"sourcesContent":["import { setMode } from '@stencil/core';\nimport ThemeService from '../themeManager/themeService';\n\nsetMode(elm => {\n let theme: string | undefined = (elm as any).theme || elm.getAttribute('theme');\n if (typeof theme === 'string') {\n theme = theme.trim();\n }\n\n const parsedTheme = ThemeService.getTheme(theme);\n if (parsedTheme !== theme) {\n elm.setAttribute('theme', parsedTheme);\n }\n return parsedTheme;\n});\n"],"version":3}
@@ -29,8 +29,12 @@ class LocalScrollService {
29
29
  async setScroll(e) {
30
30
  this.cancelScroll(e.dimension);
31
31
  const frameAnimation = new Promise((resolve, reject) => {
32
+ // for example safari desktop has issues with animation frame
33
+ if (this.cfg.skipAnimationFrame) {
34
+ return resolve();
35
+ }
32
36
  const animationId = window.requestAnimationFrame(() => {
33
- resolve(true);
37
+ resolve();
34
38
  });
35
39
  this.preventArtificialScroll[e.dimension] = reject.bind(null, animationId);
36
40
  });
@@ -1 +1 @@
1
- {"file":"localScrollService.js","mappings":"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","names":[],"sources":["./src/services/localScrollService.ts"],"sourcesContent":["import { scaleValue } from '../utils';\nimport { RevoGrid } from '../interfaces';\n\ninterface Config {\n beforeScroll(e: RevoGrid.ViewPortScrollEvent): void;\n afterScroll(e: RevoGrid.ViewPortScrollEvent): void;\n}\n\ntype Params = {\n contentSize: number;\n virtualContentSize?: number;\n clientSize: number;\n virtualSize: number;\n maxSize?: number;\n};\n\nconst initialParams: Params = {\n contentSize: 0,\n clientSize: 0,\n virtualSize: 0,\n maxSize: 0,\n};\nconst NO_COORDINATE = -1;\nexport default class LocalScrollService {\n private preventArtificialScroll: Record<RevoGrid.DimensionType, () => void | null> = { rgRow: null, rgCol: null };\n // to check if scroll changed\n private previousScroll: Record<RevoGrid.DimensionType, number> = { rgRow: NO_COORDINATE, rgCol: NO_COORDINATE };\n private params: Record<RevoGrid.DimensionType, Params> = { rgRow: { ...initialParams }, rgCol: { ...initialParams } };\n\n constructor(private cfg: Config) {}\n\n static getVirtualContentSize(contentSize: number, clientSize: number, virtualSize: number = 0): number {\n return contentSize + (virtualSize ? clientSize - virtualSize : 0);\n }\n\n setParams(params: Params, dimension: RevoGrid.DimensionType) {\n const virtualContentSize = LocalScrollService.getVirtualContentSize(params.contentSize, params.clientSize, params.virtualSize);\n this.params[dimension] = {\n ...params,\n maxSize: virtualContentSize - params.clientSize,\n virtualContentSize,\n };\n }\n\n // apply scroll values after scroll done\n async setScroll(e: RevoGrid.ViewPortScrollEvent) {\n this.cancelScroll(e.dimension);\n\n const frameAnimation = new Promise<boolean>((resolve, reject) => {\n const animationId = window.requestAnimationFrame(() => {\n resolve(true);\n });\n this.preventArtificialScroll[e.dimension] = reject.bind(null, animationId);\n });\n try {\n await frameAnimation;\n const params = this.getParams(e.dimension);\n e.coordinate = Math.ceil(e.coordinate);\n this.previousScroll[e.dimension] = this.wrapCoordinate(e.coordinate, params);\n this.preventArtificialScroll[e.dimension] = null;\n this.cfg.afterScroll({\n ...e,\n coordinate: params.virtualSize ? this.convert(e.coordinate, params, false) : e.coordinate,\n });\n\n } catch (id) {\n window.cancelAnimationFrame(id);\n }\n }\n\n // initiate scrolling event\n scroll(\n coordinate: number,\n dimension: RevoGrid.DimensionType,\n force = false,\n delta?: number,\n outside = false\n ) {\n this.cancelScroll(dimension);\n if (!force && this.previousScroll[dimension] === coordinate) {\n this.previousScroll[dimension] = NO_COORDINATE;\n return;\n }\n\n const param = this.getParams(dimension);\n this.cfg.beforeScroll({\n dimension: dimension,\n coordinate: param.virtualSize ? this.convert(coordinate, param) : coordinate,\n delta,\n outside\n });\n }\n\n private getParams(dimension: RevoGrid.DimensionType): Params {\n return this.params[dimension];\n }\n\n // check if scroll outside of region to avoid looping\n private wrapCoordinate(c: number, param: Params): number {\n if (c < 0) {\n return NO_COORDINATE;\n }\n\n if (c > param.maxSize) {\n return param.maxSize;\n }\n return c;\n }\n\n // prevent already started scroll, performance optimization\n private cancelScroll(dimension: RevoGrid.DimensionType) {\n const canceler = this.preventArtificialScroll[dimension];\n if (canceler) {\n canceler();\n this.preventArtificialScroll[dimension] = null;\n }\n }\n\n /* convert virtual to real and back, scale range */\n private convert(pos: number, param: Params, toReal: boolean = true): number {\n const minRange: number = param.clientSize;\n const from: [number, number] = [0, param.virtualContentSize - minRange];\n const to: [number, number] = [0, param.contentSize - param.virtualSize];\n if (toReal) {\n return scaleValue(pos, from, to);\n }\n return scaleValue(pos, to, from);\n }\n}\n"],"version":3}
1
+ {"file":"localScrollService.js","mappings":";;;;;AAiBA,MAAM,aAAa,GAAW;EAC5B,WAAW,EAAE,CAAC;EACd,UAAU,EAAE,CAAC;EACb,WAAW,EAAE,CAAC;EACd,OAAO,EAAE,CAAC;CACX,CAAC;AACF,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC;MACJ,kBAAkB;EAMrC,YAAoB,GAAW;IAAX,QAAG,GAAH,GAAG,CAAQ;IALvB,4BAAuB,GAAsD,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;IAE1G,mBAAc,GAA2C,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACxG,WAAM,GAA2C,EAAE,KAAK,oBAAO,aAAa,CAAE,EAAE,KAAK,oBAAO,aAAa,CAAE,EAAE,CAAC;GAEnF;EAEnC,OAAO,qBAAqB,CAAC,WAAmB,EAAE,UAAkB,EAAE,cAAsB,CAAC;IAC3F,OAAO,WAAW,IAAI,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;GACnE;EAED,SAAS,CAAC,MAAc,EAAE,SAAiC;IACzD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/H,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mCACjB,MAAM,KACT,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAAC,UAAU,EAC/C,kBAAkB,GACnB,CAAC;GACH;;EAGD,MAAM,SAAS,CAAC,CAA+B;IAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM;;MAEvD,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE;QAC/B,OAAO,OAAO,EAAE,CAAC;OAClB;MACD,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC/C,OAAO,EAAE,CAAC;OACX,CAAC,CAAC;MACH,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KAC5E,CAAC,CAAC;IACH,IAAI;MACF,MAAM,cAAc,CAAC;MACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;MAC3C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;MACvC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;MAC7E,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;MACjD,IAAI,CAAC,GAAG,CAAC,WAAW,iCACf,CAAC,KACJ,UAAU,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,IACzF,CAAC;KAEJ;IAAC,OAAO,EAAE,EAAE;MACX,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;KACjC;GACF;;EAGD,MAAM,CACJ,UAAkB,EAClB,SAAiC,EACjC,KAAK,GAAG,KAAK,EACb,KAAc,EACd,OAAO,GAAG,KAAK;IAEf,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE;MAC3D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC;MAC/C,OAAO;KACR;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;MACpB,SAAS,EAAE,SAAS;MACpB,UAAU,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,UAAU;MAC5E,KAAK;MACL,OAAO;KACR,CAAC,CAAC;GACJ;EAEO,SAAS,CAAC,SAAiC;IACjD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;GAC/B;;EAGO,cAAc,CAAC,CAAS,EAAE,KAAa;IAC7C,IAAI,CAAC,GAAG,CAAC,EAAE;MACT,OAAO,aAAa,CAAC;KACtB;IAED,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE;MACrB,OAAO,KAAK,CAAC,OAAO,CAAC;KACtB;IACD,OAAO,CAAC,CAAC;GACV;;EAGO,YAAY,CAAC,SAAiC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,QAAQ,EAAE;MACZ,QAAQ,EAAE,CAAC;MACX,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;KAChD;GACF;;EAGO,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,SAAkB,IAAI;IAChE,MAAM,QAAQ,GAAW,KAAK,CAAC,UAAU,CAAC;IAC1C,MAAM,IAAI,GAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC;IACxE,MAAM,EAAE,GAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,MAAM,EAAE;MACV,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KAClC;IACD,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;GAClC;;;;;","names":[],"sources":["./src/services/localScrollService.ts"],"sourcesContent":["import { scaleValue } from '../utils';\nimport { RevoGrid } from '../interfaces';\n\ninterface Config {\n skipAnimationFrame?: boolean;\n beforeScroll(e: RevoGrid.ViewPortScrollEvent): void;\n afterScroll(e: RevoGrid.ViewPortScrollEvent): void;\n}\n\ntype Params = {\n contentSize: number;\n virtualContentSize?: number;\n clientSize: number;\n virtualSize: number;\n maxSize?: number;\n};\n\nconst initialParams: Params = {\n contentSize: 0,\n clientSize: 0,\n virtualSize: 0,\n maxSize: 0,\n};\nconst NO_COORDINATE = -1;\nexport default class LocalScrollService {\n private preventArtificialScroll: Record<RevoGrid.DimensionType, () => void | null> = { rgRow: null, rgCol: null };\n // to check if scroll changed\n private previousScroll: Record<RevoGrid.DimensionType, number> = { rgRow: NO_COORDINATE, rgCol: NO_COORDINATE };\n private params: Record<RevoGrid.DimensionType, Params> = { rgRow: { ...initialParams }, rgCol: { ...initialParams } };\n\n constructor(private cfg: Config) {}\n\n static getVirtualContentSize(contentSize: number, clientSize: number, virtualSize: number = 0): number {\n return contentSize + (virtualSize ? clientSize - virtualSize : 0);\n }\n\n setParams(params: Params, dimension: RevoGrid.DimensionType) {\n const virtualContentSize = LocalScrollService.getVirtualContentSize(params.contentSize, params.clientSize, params.virtualSize);\n this.params[dimension] = {\n ...params,\n maxSize: virtualContentSize - params.clientSize,\n virtualContentSize,\n };\n }\n\n // apply scroll values after scroll done\n async setScroll(e: RevoGrid.ViewPortScrollEvent) {\n this.cancelScroll(e.dimension);\n\n const frameAnimation = new Promise<void>((resolve, reject) => {\n // for example safari desktop has issues with animation frame\n if (this.cfg.skipAnimationFrame) {\n return resolve();\n }\n const animationId = window.requestAnimationFrame(() => {\n resolve();\n });\n this.preventArtificialScroll[e.dimension] = reject.bind(null, animationId);\n });\n try {\n await frameAnimation;\n const params = this.getParams(e.dimension);\n e.coordinate = Math.ceil(e.coordinate);\n this.previousScroll[e.dimension] = this.wrapCoordinate(e.coordinate, params);\n this.preventArtificialScroll[e.dimension] = null;\n this.cfg.afterScroll({\n ...e,\n coordinate: params.virtualSize ? this.convert(e.coordinate, params, false) : e.coordinate,\n });\n\n } catch (id) {\n window.cancelAnimationFrame(id);\n }\n }\n\n // initiate scrolling event\n scroll(\n coordinate: number,\n dimension: RevoGrid.DimensionType,\n force = false,\n delta?: number,\n outside = false\n ) {\n this.cancelScroll(dimension);\n if (!force && this.previousScroll[dimension] === coordinate) {\n this.previousScroll[dimension] = NO_COORDINATE;\n return;\n }\n\n const param = this.getParams(dimension);\n this.cfg.beforeScroll({\n dimension: dimension,\n coordinate: param.virtualSize ? this.convert(coordinate, param) : coordinate,\n delta,\n outside\n });\n }\n\n private getParams(dimension: RevoGrid.DimensionType): Params {\n return this.params[dimension];\n }\n\n // check if scroll outside of region to avoid looping\n private wrapCoordinate(c: number, param: Params): number {\n if (c < 0) {\n return NO_COORDINATE;\n }\n\n if (c > param.maxSize) {\n return param.maxSize;\n }\n return c;\n }\n\n // prevent already started scroll, performance optimization\n private cancelScroll(dimension: RevoGrid.DimensionType) {\n const canceler = this.preventArtificialScroll[dimension];\n if (canceler) {\n canceler();\n this.preventArtificialScroll[dimension] = null;\n }\n }\n\n /* convert virtual to real and back, scale range */\n private convert(pos: number, param: Params, toReal: boolean = true): number {\n const minRange: number = param.clientSize;\n const from: [number, number] = [0, param.virtualContentSize - minRange];\n const to: [number, number] = [0, param.contentSize - param.virtualSize];\n if (toReal) {\n return scaleValue(pos, from, to);\n }\n return scaleValue(pos, to, from);\n }\n}\n"],"version":3}