@revolist/revogrid 4.0.2-next → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (805) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cjs/app-globals-53fde1aa.js +14 -0
  3. package/dist/cjs/app-globals-53fde1aa.js.map +1 -0
  4. package/dist/cjs/column.service-2066d651.js +545 -0
  5. package/dist/cjs/column.service-2066d651.js.map +1 -0
  6. package/dist/cjs/debounce-e2b7c6fb.js +226 -0
  7. package/dist/cjs/debounce-e2b7c6fb.js.map +1 -0
  8. package/dist/cjs/dimension.helpers-ee39d6c4.js +4218 -0
  9. package/dist/cjs/dimension.helpers-ee39d6c4.js.map +1 -0
  10. package/dist/cjs/dispatcher-a58fa91a.js +34 -0
  11. package/dist/cjs/dispatcher-a58fa91a.js.map +1 -0
  12. package/dist/cjs/events-7ccd6894.js +233 -0
  13. package/dist/cjs/events-7ccd6894.js.map +1 -0
  14. package/dist/cjs/filter.button-db6cbd2e.js +44 -0
  15. package/dist/cjs/filter.button-db6cbd2e.js.map +1 -0
  16. package/dist/cjs/header-cell-renderer-3df76829.js +304 -0
  17. package/dist/cjs/header-cell-renderer-3df76829.js.map +1 -0
  18. package/dist/cjs/index-73c149e3.js +106 -0
  19. package/dist/cjs/index-73c149e3.js.map +1 -0
  20. package/dist/cjs/index-84e32c2a.js +1868 -0
  21. package/dist/cjs/index-84e32c2a.js.map +1 -0
  22. package/dist/cjs/index.cjs.js +53 -0
  23. package/dist/cjs/index.cjs.js.map +1 -0
  24. package/dist/cjs/key.utils-dc4ac217.js +129 -0
  25. package/dist/cjs/key.utils-dc4ac217.js.map +1 -0
  26. package/dist/cjs/loader.cjs.js +12 -27
  27. package/dist/cjs/loader.cjs.js.map +1 -0
  28. package/dist/cjs/{resize-observer-8dc80084.js → resize-observer-d009a220.js} +30 -13
  29. package/dist/cjs/resize-observer-d009a220.js.map +1 -0
  30. package/dist/cjs/revo-grid.cjs.entry.js +3992 -0
  31. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
  32. package/dist/cjs/revo-grid.cjs.js +22 -65
  33. package/dist/cjs/revo-grid.cjs.js.map +1 -0
  34. package/dist/cjs/revogr-attribution_6.cjs.entry.js +1270 -0
  35. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -0
  36. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +508 -0
  37. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -0
  38. package/dist/cjs/revogr-data_4.cjs.entry.js +958 -0
  39. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
  40. package/dist/cjs/revogr-filter-panel.cjs.entry.js +268 -115
  41. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
  42. package/dist/cjs/selection.store-2e110a67.js +400 -0
  43. package/dist/cjs/selection.store-2e110a67.js.map +1 -0
  44. package/dist/cjs/storeTypes-b3f924b2.js +106 -0
  45. package/dist/cjs/storeTypes-b3f924b2.js.map +1 -0
  46. package/dist/cjs/throttle-f7aee21b.js +240 -0
  47. package/dist/cjs/throttle-f7aee21b.js.map +1 -0
  48. package/dist/cjs/toNumber-838e6ff5.js +340 -0
  49. package/dist/cjs/toNumber-838e6ff5.js.map +1 -0
  50. package/dist/cjs/viewport.helpers-6670177c.js +262 -0
  51. package/dist/cjs/viewport.helpers-6670177c.js.map +1 -0
  52. package/dist/collection/collection-manifest.json +18 -16
  53. package/dist/collection/components/attribution/revogr-attribution.js +20 -0
  54. package/dist/collection/components/attribution/revogr-attribution.js.map +1 -0
  55. package/dist/collection/components/clipboard/revogr-clipboard.js +410 -115
  56. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
  57. package/dist/collection/components/data/cell-renderer.js +39 -0
  58. package/dist/collection/components/data/cell-renderer.js.map +1 -0
  59. package/dist/collection/components/data/column.service.js +302 -0
  60. package/dist/collection/components/data/column.service.js.map +1 -0
  61. package/dist/collection/components/data/revogr-data-style.css +18 -11
  62. package/dist/collection/components/data/revogr-data.js +626 -301
  63. package/dist/collection/components/data/revogr-data.js.map +1 -0
  64. package/dist/collection/components/data/row-highlight.plugin.js +51 -0
  65. package/dist/collection/components/data/row-highlight.plugin.js.map +1 -0
  66. package/dist/collection/components/data/row-renderer.js +16 -0
  67. package/dist/collection/components/data/row-renderer.js.map +1 -0
  68. package/dist/collection/components/editors/edit.utils.js +9 -0
  69. package/dist/collection/components/editors/edit.utils.js.map +1 -0
  70. package/dist/collection/components/{overlay → editors}/revogr-edit-style.css +15 -9
  71. package/dist/collection/components/editors/revogr-edit.js +316 -0
  72. package/dist/collection/components/editors/revogr-edit.js.map +1 -0
  73. package/dist/collection/components/editors/text-editor.js +73 -0
  74. package/dist/collection/components/editors/text-editor.js.map +1 -0
  75. package/dist/collection/components/header/header-cell-renderer.js +28 -0
  76. package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
  77. package/dist/collection/components/header/header-renderer.js +47 -0
  78. package/dist/collection/components/header/header-renderer.js.map +1 -0
  79. package/dist/collection/components/header/revogr-header-style.css +15 -9
  80. package/dist/collection/components/header/revogr-header.js +421 -297
  81. package/dist/collection/components/header/revogr-header.js.map +1 -0
  82. package/dist/collection/components/order/order-renderer.js +50 -0
  83. package/dist/collection/components/order/order-renderer.js.map +1 -0
  84. package/dist/collection/components/order/order-row.service.js +72 -0
  85. package/dist/collection/components/order/order-row.service.js.map +1 -0
  86. package/dist/collection/components/order/revogr-order-editor.js +381 -350
  87. package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
  88. package/dist/collection/components/overlay/autofill.service.js +206 -179
  89. package/dist/collection/components/overlay/autofill.service.js.map +1 -0
  90. package/dist/collection/components/overlay/keyboard.service.js +137 -124
  91. package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
  92. package/dist/collection/components/overlay/revogr-overlay-selection.js +1208 -703
  93. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
  94. package/dist/collection/components/overlay/revogr-overlay-style.css +86 -13
  95. package/dist/collection/components/overlay/selection.utils.js +86 -82
  96. package/dist/collection/components/overlay/selection.utils.js.map +1 -0
  97. package/dist/collection/components/revoGrid/grid.helpers.js +28 -13
  98. package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -0
  99. package/dist/collection/components/revoGrid/revo-grid-style.css +143 -51
  100. package/dist/collection/components/revoGrid/revo-grid.js +2834 -2181
  101. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
  102. package/dist/collection/components/revoGrid/viewport.helpers.js +9 -4
  103. package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -0
  104. package/dist/collection/components/revoGrid/viewport.resize.service.js +23 -19
  105. package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -0
  106. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +78 -50
  107. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
  108. package/dist/collection/components/revoGrid/viewport.service.js +224 -204
  109. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -0
  110. package/dist/collection/components/rowHeaders/revogr-row-headers.js +262 -204
  111. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
  112. package/dist/collection/components/rowHeaders/row-header-render.js +4 -0
  113. package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
  114. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +20 -13
  115. package/dist/collection/components/scroll/revogr-viewport-scroll.js +535 -369
  116. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -0
  117. package/dist/collection/components/scrollable/autohide-scroll.plugin.js +44 -0
  118. package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -0
  119. package/dist/collection/components/scrollable/revogr-scroll-style.css +24 -18
  120. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +286 -247
  121. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
  122. package/dist/collection/components/selectionFocus/revogr-focus-style.css +16 -10
  123. package/dist/collection/components/selectionFocus/revogr-focus.js +366 -96
  124. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -0
  125. package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +16 -10
  126. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +149 -128
  127. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -0
  128. package/dist/collection/components/vnode/vnode-converter.js +81 -0
  129. package/dist/collection/components/vnode/vnode-converter.js.map +1 -0
  130. package/dist/collection/components/vnode/vnode.utils.js +18 -0
  131. package/dist/collection/components/vnode/vnode.utils.js.map +1 -0
  132. package/dist/collection/global/global.js +15 -11
  133. package/dist/collection/global/global.js.map +1 -0
  134. package/dist/collection/index.js +18 -0
  135. package/dist/collection/index.js.map +1 -0
  136. package/dist/collection/plugins/base.plugin.js +88 -0
  137. package/dist/collection/plugins/base.plugin.js.map +1 -0
  138. package/dist/collection/plugins/column.auto-size.plugin.js +234 -0
  139. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -0
  140. package/dist/collection/plugins/column.stretch.plugin.js +96 -0
  141. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -0
  142. package/dist/collection/plugins/dispatcher.js +27 -0
  143. package/dist/collection/plugins/dispatcher.js.map +1 -0
  144. package/dist/collection/plugins/export/csv.js +57 -53
  145. package/dist/collection/plugins/export/csv.js.map +1 -0
  146. package/dist/collection/plugins/export/export.plugin.js +154 -150
  147. package/dist/collection/plugins/export/export.plugin.js.map +1 -0
  148. package/dist/collection/plugins/export/types.js +1 -0
  149. package/dist/collection/plugins/export/types.js.map +1 -0
  150. package/dist/collection/plugins/filter/conditions/equal.js +15 -7
  151. package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
  152. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +10 -6
  153. package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
  154. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +7 -3
  155. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
  156. package/dist/collection/plugins/filter/conditions/number/lessThan.js +12 -8
  157. package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
  158. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +7 -3
  159. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
  160. package/dist/collection/plugins/filter/conditions/set.js +4 -0
  161. package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
  162. package/dist/collection/plugins/filter/conditions/string/beginswith.js +17 -13
  163. package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
  164. package/dist/collection/plugins/filter/conditions/string/contains.js +17 -10
  165. package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
  166. package/dist/collection/plugins/filter/filter.button.js +21 -13
  167. package/dist/collection/plugins/filter/filter.button.js.map +1 -0
  168. package/dist/collection/plugins/filter/filter.plugin.js +280 -185
  169. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
  170. package/dist/collection/plugins/filter/filter.pop.js +492 -246
  171. package/dist/collection/plugins/filter/filter.pop.js.map +1 -0
  172. package/dist/collection/plugins/filter/filter.service.js +42 -38
  173. package/dist/collection/plugins/filter/filter.service.js.map +1 -0
  174. package/dist/collection/plugins/filter/filter.style.css +68 -15
  175. package/dist/collection/plugins/filter/filter.types.js +1 -0
  176. package/dist/collection/plugins/filter/filter.types.js.map +1 -0
  177. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +30 -26
  178. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -0
  179. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +38 -30
  180. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +1 -0
  181. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +22 -18
  182. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -0
  183. package/dist/collection/plugins/groupingRow/grouping.const.js +7 -2
  184. package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
  185. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +64 -61
  186. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
  187. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +239 -237
  188. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
  189. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +27 -24
  190. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
  191. package/dist/collection/plugins/groupingRow/grouping.row.types.js +1 -0
  192. package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
  193. package/dist/collection/plugins/groupingRow/grouping.service.js +101 -131
  194. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
  195. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +47 -43
  196. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
  197. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +167 -0
  198. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
  199. package/dist/collection/plugins/moveColumn/order-column.handler.js +69 -0
  200. package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
  201. package/dist/collection/plugins/sorting/sorting.plugin.js +218 -163
  202. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
  203. package/dist/collection/plugins/sorting/sorting.sign.js +6 -2
  204. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
  205. package/dist/collection/serve/controller.js +233 -0
  206. package/dist/collection/{utilsExternal/generate-data.js → serve/data.js} +72 -32
  207. package/dist/collection/services/cell.helpers.js +9 -5
  208. package/dist/collection/services/cell.helpers.js.map +1 -0
  209. package/dist/collection/services/column.data.provider.js +201 -185
  210. package/dist/collection/services/column.data.provider.js.map +1 -0
  211. package/dist/collection/services/data.provider.js +70 -45
  212. package/dist/collection/services/data.provider.js.map +1 -0
  213. package/dist/collection/services/dimension.provider.js +143 -84
  214. package/dist/collection/services/dimension.provider.js.map +1 -0
  215. package/dist/collection/services/local.scroll.service.js +120 -0
  216. package/dist/collection/services/local.scroll.service.js.map +1 -0
  217. package/dist/collection/services/local.scroll.timer.js +42 -0
  218. package/dist/collection/services/local.scroll.timer.js.map +1 -0
  219. package/dist/collection/services/resizable.directive.js +211 -226
  220. package/dist/collection/services/resizable.directive.js.map +1 -0
  221. package/dist/collection/services/resizable.element.js +39 -0
  222. package/dist/collection/services/resizable.element.js.map +1 -0
  223. package/dist/collection/services/selection.store.connector.js +257 -208
  224. package/dist/collection/services/selection.store.connector.js.map +1 -0
  225. package/dist/collection/services/viewport.provider.js +16 -12
  226. package/dist/collection/services/viewport.provider.js.map +1 -0
  227. package/dist/collection/store/dataSource/data.proxy.js +29 -25
  228. package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
  229. package/dist/collection/store/dataSource/data.store.js +100 -93
  230. package/dist/collection/store/dataSource/data.store.js.map +1 -0
  231. package/dist/collection/store/dataSource/index.js +7 -0
  232. package/dist/collection/store/dataSource/index.js.map +1 -0
  233. package/dist/collection/store/dataSource/trimmed.plugin.js +36 -0
  234. package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -0
  235. package/dist/collection/store/dimension/dimension.helpers.js +97 -95
  236. package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
  237. package/dist/collection/store/dimension/dimension.store.js +106 -48
  238. package/dist/collection/store/dimension/dimension.store.js.map +1 -0
  239. package/dist/collection/store/dimension/index.js +6 -0
  240. package/dist/collection/store/dimension/index.js.map +1 -0
  241. package/dist/collection/store/selection/index.js +7 -0
  242. package/dist/collection/store/selection/index.js.map +1 -0
  243. package/dist/collection/store/selection/selection.helpers.js +43 -39
  244. package/dist/collection/store/selection/selection.helpers.js.map +1 -0
  245. package/dist/collection/store/selection/selection.store.js +75 -63
  246. package/dist/collection/store/selection/selection.store.js.map +1 -0
  247. package/dist/collection/store/selection/selection.store.service.js +35 -31
  248. package/dist/collection/store/selection/selection.store.service.js.map +1 -0
  249. package/dist/collection/store/storeTypes.js +10 -2
  250. package/dist/collection/store/storeTypes.js.map +1 -0
  251. package/dist/collection/store/viewport/index.js +6 -0
  252. package/dist/collection/store/viewport/index.js.map +1 -0
  253. package/dist/collection/store/viewport/viewport.helpers.js +247 -0
  254. package/dist/collection/store/viewport/viewport.helpers.js.map +1 -0
  255. package/dist/collection/store/viewport/viewport.store.js +193 -0
  256. package/dist/collection/store/viewport/viewport.store.js.map +1 -0
  257. package/dist/collection/themeManager/theme.compact.js +7 -3
  258. package/dist/collection/themeManager/theme.compact.js.map +1 -0
  259. package/dist/collection/themeManager/theme.default.js +7 -3
  260. package/dist/collection/themeManager/theme.default.js.map +1 -0
  261. package/dist/collection/themeManager/theme.material.js +7 -3
  262. package/dist/collection/themeManager/theme.material.js.map +1 -0
  263. package/dist/collection/themeManager/theme.service.js +53 -0
  264. package/dist/collection/themeManager/theme.service.js.map +1 -0
  265. package/dist/collection/types/dimension.js +2 -0
  266. package/dist/collection/types/dimension.js.map +1 -0
  267. package/dist/collection/types/interfaces.js +2 -0
  268. package/dist/collection/types/interfaces.js.map +1 -0
  269. package/dist/collection/types/plugin.js +2 -0
  270. package/dist/collection/types/plugin.js.map +1 -0
  271. package/dist/collection/types/plugin.types.js +2 -0
  272. package/dist/collection/types/plugin.types.js.map +1 -0
  273. package/dist/collection/types/selection.js +2 -0
  274. package/dist/collection/types/selection.js.map +1 -0
  275. package/dist/collection/types/theme.js +2 -0
  276. package/dist/collection/types/theme.js.map +1 -0
  277. package/dist/collection/types/viewport.interfaces.js +2 -0
  278. package/dist/collection/types/viewport.interfaces.js.map +1 -0
  279. package/dist/collection/utils/browser.js +7 -0
  280. package/dist/collection/utils/browser.js.map +1 -0
  281. package/dist/collection/utils/closest.polifill.js +22 -0
  282. package/dist/collection/utils/closest.polifill.js.map +1 -0
  283. package/dist/collection/utils/consts.js +8 -0
  284. package/dist/collection/utils/consts.js.map +1 -0
  285. package/dist/collection/utils/events.js +29 -0
  286. package/dist/collection/utils/events.js.map +1 -0
  287. package/dist/collection/utils/header.utils.js +24 -0
  288. package/dist/collection/utils/header.utils.js.map +1 -0
  289. package/dist/collection/utils/index.js +125 -0
  290. package/dist/collection/utils/index.js.map +1 -0
  291. package/dist/collection/utils/key.codes.js +76 -0
  292. package/dist/collection/utils/key.codes.js.map +1 -0
  293. package/dist/collection/utils/key.utils.js +84 -0
  294. package/dist/collection/utils/key.utils.js.map +1 -0
  295. package/dist/collection/utils/mobile.js +7 -0
  296. package/dist/collection/utils/mobile.js.map +1 -0
  297. package/dist/collection/utils/platform.js +5 -1
  298. package/dist/collection/utils/platform.js.map +1 -0
  299. package/dist/collection/utils/resize-observer.polifill.js +10 -0
  300. package/dist/collection/utils/resize-observer.polifill.js.map +1 -0
  301. package/dist/collection/utils/row-header-utils.js +9 -0
  302. package/dist/collection/utils/row-header-utils.js.map +1 -0
  303. package/dist/collection/utils/store.utils.js +7 -3
  304. package/dist/collection/utils/store.utils.js.map +1 -0
  305. package/dist/esm/app-globals-ef1fca59.js +12 -0
  306. package/dist/esm/app-globals-ef1fca59.js.map +1 -0
  307. package/dist/esm/column.service-21a3af74.js +520 -0
  308. package/dist/esm/column.service-21a3af74.js.map +1 -0
  309. package/dist/esm/debounce-7781346d.js +224 -0
  310. package/dist/esm/debounce-7781346d.js.map +1 -0
  311. package/dist/esm/dimension.helpers-a3065cb1.js +4185 -0
  312. package/dist/esm/dimension.helpers-a3065cb1.js.map +1 -0
  313. package/dist/esm/dispatcher-8ea9187d.js +30 -0
  314. package/dist/esm/dispatcher-8ea9187d.js.map +1 -0
  315. package/dist/esm/events-3dd8ee7c.js +228 -0
  316. package/dist/esm/events-3dd8ee7c.js.map +1 -0
  317. package/dist/esm/filter.button-46ce4f80.js +38 -0
  318. package/dist/esm/filter.button-46ce4f80.js.map +1 -0
  319. package/dist/esm/header-cell-renderer-1ca84d5f.js +301 -0
  320. package/dist/esm/header-cell-renderer-1ca84d5f.js.map +1 -0
  321. package/dist/esm/index-21436631.js +1837 -0
  322. package/dist/esm/index-21436631.js.map +1 -0
  323. package/dist/esm/index-98fd0168.js +79 -0
  324. package/dist/esm/index-98fd0168.js.map +1 -0
  325. package/dist/esm/index.js +11 -0
  326. package/dist/esm/index.js.map +1 -0
  327. package/dist/esm/key.utils-4586a3d6.js +120 -0
  328. package/dist/esm/key.utils-4586a3d6.js.map +1 -0
  329. package/dist/esm/loader.js +11 -26
  330. package/dist/esm/loader.js.map +1 -0
  331. package/dist/esm/{resize-observer-56b7b34f.js → resize-observer-83c9e167.js} +30 -14
  332. package/dist/esm/resize-observer-83c9e167.js.map +1 -0
  333. package/dist/esm/revo-grid.entry.js +3988 -0
  334. package/dist/esm/revo-grid.entry.js.map +1 -0
  335. package/dist/esm/revo-grid.js +19 -65
  336. package/dist/esm/revo-grid.js.map +1 -0
  337. package/dist/esm/revogr-attribution_6.entry.js +1261 -0
  338. package/dist/esm/revogr-attribution_6.entry.js.map +1 -0
  339. package/dist/esm/revogr-clipboard_3.entry.js +502 -0
  340. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -0
  341. package/dist/esm/revogr-data_4.entry.js +951 -0
  342. package/dist/esm/revogr-data_4.entry.js.map +1 -0
  343. package/dist/esm/revogr-filter-panel.entry.js +268 -115
  344. package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
  345. package/dist/esm/selection.store-2577ddf9.js +391 -0
  346. package/dist/esm/selection.store-2577ddf9.js.map +1 -0
  347. package/dist/esm/storeTypes-f2647985.js +101 -0
  348. package/dist/esm/storeTypes-f2647985.js.map +1 -0
  349. package/dist/esm/throttle-cfd527d6.js +235 -0
  350. package/dist/esm/throttle-cfd527d6.js.map +1 -0
  351. package/dist/esm/toNumber-8de324a7.js +331 -0
  352. package/dist/esm/toNumber-8de324a7.js.map +1 -0
  353. package/dist/esm/viewport.helpers-6591d423.js +251 -0
  354. package/dist/esm/viewport.helpers-6591d423.js.map +1 -0
  355. package/dist/index.js +1 -1
  356. package/dist/loader/cdn.js +4 -0
  357. package/dist/loader/index.cjs.js +4 -0
  358. package/{loader → dist/loader}/index.d.ts +11 -3
  359. package/dist/loader/index.es2017.js +4 -0
  360. package/dist/{esm/polyfills/es5-html-element.js → loader/index.js} +5 -1
  361. package/{loader → dist/loader}/package.json +1 -0
  362. package/dist/revo-grid/app-globals-ef1fca59.js +5 -0
  363. package/dist/revo-grid/app-globals-ef1fca59.js.map +1 -0
  364. package/dist/revo-grid/column.service-21a3af74.js +5 -0
  365. package/dist/revo-grid/column.service-21a3af74.js.map +1 -0
  366. package/dist/revo-grid/debounce-7781346d.js +5 -0
  367. package/dist/revo-grid/debounce-7781346d.js.map +1 -0
  368. package/dist/revo-grid/dimension.helpers-a3065cb1.js +5 -0
  369. package/dist/revo-grid/dimension.helpers-a3065cb1.js.map +1 -0
  370. package/dist/revo-grid/dispatcher-8ea9187d.js +5 -0
  371. package/dist/revo-grid/dispatcher-8ea9187d.js.map +1 -0
  372. package/dist/revo-grid/events-3dd8ee7c.js +5 -0
  373. package/dist/revo-grid/events-3dd8ee7c.js.map +1 -0
  374. package/dist/revo-grid/filter.button-46ce4f80.js +5 -0
  375. package/dist/revo-grid/filter.button-46ce4f80.js.map +1 -0
  376. package/dist/revo-grid/header-cell-renderer-1ca84d5f.js +5 -0
  377. package/dist/revo-grid/header-cell-renderer-1ca84d5f.js.map +1 -0
  378. package/dist/revo-grid/index-21436631.js +6 -0
  379. package/dist/revo-grid/index-21436631.js.map +1 -0
  380. package/dist/revo-grid/index-98fd0168.js +5 -0
  381. package/dist/revo-grid/index-98fd0168.js.map +1 -0
  382. package/dist/revo-grid/index.esm.js +5 -0
  383. package/dist/revo-grid/index.esm.js.map +1 -0
  384. package/dist/revo-grid/key.utils-4586a3d6.js +5 -0
  385. package/dist/revo-grid/key.utils-4586a3d6.js.map +1 -0
  386. package/dist/revo-grid/resize-observer-83c9e167.js +5 -0
  387. package/dist/revo-grid/resize-observer-83c9e167.js.map +1 -0
  388. package/dist/revo-grid/revo-grid.entry.js +5 -0
  389. package/dist/revo-grid/revo-grid.entry.js.map +1 -0
  390. package/dist/revo-grid/revo-grid.esm.js +5 -1
  391. package/dist/revo-grid/revo-grid.esm.js.map +1 -0
  392. package/dist/revo-grid/revogr-attribution_6.entry.js +5 -0
  393. package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -0
  394. package/dist/revo-grid/revogr-clipboard_3.entry.js +5 -0
  395. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
  396. package/dist/revo-grid/revogr-data_4.entry.js +5 -0
  397. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
  398. package/dist/revo-grid/revogr-filter-panel.entry.js +5 -1
  399. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
  400. package/dist/revo-grid/selection.store-2577ddf9.js +5 -0
  401. package/dist/revo-grid/selection.store-2577ddf9.js.map +1 -0
  402. package/dist/revo-grid/storeTypes-f2647985.js +5 -0
  403. package/dist/revo-grid/storeTypes-f2647985.js.map +1 -0
  404. package/dist/revo-grid/throttle-cfd527d6.js +5 -0
  405. package/dist/revo-grid/throttle-cfd527d6.js.map +1 -0
  406. package/dist/revo-grid/toNumber-8de324a7.js +5 -0
  407. package/dist/revo-grid/toNumber-8de324a7.js.map +1 -0
  408. package/dist/revo-grid/viewport.helpers-6591d423.js +5 -0
  409. package/dist/revo-grid/viewport.helpers-6591d423.js.map +1 -0
  410. package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
  411. package/dist/types/components/clipboard/revogr-clipboard.d.ts +78 -10
  412. package/dist/types/components/data/cell-renderer.d.ts +14 -0
  413. package/dist/types/components/data/column.service.d.ts +60 -0
  414. package/dist/types/components/data/revogr-data.d.ts +101 -27
  415. package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
  416. package/dist/types/components/data/{rowRenderer.d.ts → row-renderer.d.ts} +6 -5
  417. package/dist/types/components/editors/revogr-edit.d.ts +63 -0
  418. package/dist/types/components/editors/text-editor.d.ts +46 -0
  419. package/dist/types/components/header/header-cell-renderer.d.ts +11 -0
  420. package/dist/types/components/header/header-renderer.d.ts +17 -0
  421. package/dist/types/components/header/revogr-header.d.ts +70 -22
  422. package/dist/types/components/order/order-renderer.d.ts +29 -0
  423. package/dist/types/components/order/order-row.service.d.ts +28 -0
  424. package/dist/types/components/order/revogr-order-editor.d.ts +43 -41
  425. package/dist/types/components/overlay/autofill.service.d.ts +69 -54
  426. package/dist/types/components/overlay/keyboard.service.d.ts +24 -23
  427. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +216 -75
  428. package/dist/types/components/overlay/selection.utils.d.ts +24 -27
  429. package/dist/types/components/revoGrid/grid.helpers.d.ts +16 -11
  430. package/dist/types/components/revoGrid/revo-grid.d.ts +555 -403
  431. package/dist/types/components/revoGrid/viewport.helpers.d.ts +4 -3
  432. package/dist/types/components/revoGrid/viewport.resize.service.d.ts +7 -7
  433. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +20 -21
  434. package/dist/types/components/revoGrid/viewport.service.d.ts +54 -56
  435. package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +45 -12
  436. package/dist/types/components/rowHeaders/row-header-render.d.ts +5 -5
  437. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +115 -76
  438. package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
  439. package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +39 -22
  440. package/dist/types/components/selectionFocus/revogr-focus.d.ts +61 -9
  441. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +26 -11
  442. package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
  443. package/dist/types/components/vnode/vnode.utils.d.ts +8 -0
  444. package/dist/types/components.d.ts +1595 -274
  445. package/dist/types/index.d.ts +14 -0
  446. package/dist/types/plugins/base.plugin.d.ts +49 -0
  447. package/dist/types/plugins/column.auto-size.plugin.d.ts +47 -0
  448. package/dist/types/plugins/column.stretch.plugin.d.ts +22 -0
  449. package/dist/types/plugins/dispatcher.d.ts +16 -0
  450. package/dist/types/plugins/export/csv.d.ts +6 -6
  451. package/dist/types/plugins/export/export.plugin.d.ts +18 -18
  452. package/dist/types/plugins/export/types.d.ts +15 -15
  453. package/dist/types/plugins/filter/filter.button.d.ts +7 -3
  454. package/dist/types/plugins/filter/filter.plugin.d.ts +61 -43
  455. package/dist/types/plugins/filter/filter.pop.d.ts +60 -35
  456. package/dist/types/plugins/filter/filter.service.d.ts +15 -15
  457. package/dist/types/plugins/filter/filter.types.d.ts +7 -7
  458. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +16 -13
  459. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +10 -6
  460. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +12 -10
  461. package/dist/types/plugins/groupingRow/grouping.const.d.ts +8 -7
  462. package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +6 -6
  463. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +32 -37
  464. package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +7 -5
  465. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +23 -15
  466. package/dist/types/plugins/groupingRow/grouping.service.d.ts +18 -16
  467. package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +1 -1
  468. package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +56 -0
  469. package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
  470. package/dist/types/plugins/sorting/sorting.plugin.d.ts +40 -27
  471. package/dist/types/plugins/sorting/sorting.sign.d.ts +3 -3
  472. package/dist/types/services/cell.helpers.d.ts +2 -2
  473. package/dist/types/services/column.data.provider.d.ts +33 -35
  474. package/dist/types/services/data.provider.d.ts +27 -21
  475. package/dist/types/services/dimension.provider.d.ts +52 -32
  476. package/dist/types/services/local.scroll.service.d.ts +37 -0
  477. package/dist/types/services/local.scroll.timer.d.ts +26 -0
  478. package/dist/types/services/resizable.directive.d.ts +52 -51
  479. package/dist/types/services/resizable.element.d.ts +4 -0
  480. package/dist/types/services/selection.store.connector.d.ts +54 -36
  481. package/dist/types/services/viewport.provider.d.ts +6 -8
  482. package/dist/types/stencil-public-runtime.d.ts +331 -217
  483. package/dist/types/store/dataSource/data.proxy.d.ts +3 -3
  484. package/dist/types/store/dataSource/data.store.d.ts +45 -46
  485. package/dist/types/store/dataSource/index.d.ts +3 -0
  486. package/dist/types/store/dataSource/trimmed.plugin.d.ts +10 -0
  487. package/dist/types/store/dimension/dimension.helpers.d.ts +24 -9
  488. package/dist/types/store/dimension/dimension.store.d.ts +29 -11
  489. package/dist/types/store/dimension/index.d.ts +2 -0
  490. package/dist/types/store/selection/index.d.ts +3 -0
  491. package/dist/types/store/selection/selection.helpers.d.ts +1 -3
  492. package/dist/types/store/selection/selection.store.d.ts +19 -17
  493. package/dist/types/store/selection/selection.store.service.d.ts +12 -13
  494. package/dist/types/store/storeTypes.d.ts +4 -4
  495. package/dist/types/store/viewport/index.d.ts +2 -0
  496. package/dist/types/store/viewport/viewport.helpers.d.ts +54 -0
  497. package/dist/types/store/viewport/viewport.store.d.ts +36 -0
  498. package/dist/types/themeManager/theme.compact.d.ts +3 -3
  499. package/dist/types/themeManager/theme.default.d.ts +3 -3
  500. package/dist/types/themeManager/theme.material.d.ts +3 -3
  501. package/dist/types/themeManager/theme.service.d.ts +13 -0
  502. package/dist/types/types/dimension.d.ts +8 -0
  503. package/dist/types/types/interfaces.d.ts +243 -0
  504. package/dist/types/types/plugin.d.ts +9 -0
  505. package/dist/types/types/plugin.types.d.ts +12 -0
  506. package/dist/types/types/selection.d.ts +115 -0
  507. package/dist/types/types/theme.d.ts +7 -0
  508. package/dist/types/types/viewport.interfaces.d.ts +51 -0
  509. package/dist/types/utils/browser.d.ts +1 -0
  510. package/dist/types/utils/consts.d.ts +5 -1
  511. package/dist/types/utils/events.d.ts +2 -0
  512. package/dist/types/utils/{utils.d.ts → index.d.ts} +17 -1
  513. package/dist/types/utils/key.codes.d.ts +70 -0
  514. package/dist/types/utils/{keyCodes.utils.d.ts → key.utils.d.ts} +5 -1
  515. package/dist/types/utils/mobile.d.ts +1 -0
  516. package/dist/types/utils/platform.d.ts +1 -1
  517. package/dist/types/utils/row-header-utils.d.ts +2 -0
  518. package/dist/types/utils/store.utils.d.ts +2 -2
  519. package/hydrate/index.d.ts +218 -0
  520. package/hydrate/index.js +32381 -0
  521. package/hydrate/package.json +6 -0
  522. package/package.json +94 -52
  523. package/readme.md +135 -98
  524. package/standalone/_baseIteratee.js +1237 -0
  525. package/standalone/_baseIteratee.js.map +1 -0
  526. package/standalone/_stringToPath.js +1389 -0
  527. package/standalone/_stringToPath.js.map +1 -0
  528. package/standalone/column.service.js +889 -0
  529. package/standalone/column.service.js.map +1 -0
  530. package/standalone/consts.js +30 -0
  531. package/standalone/consts.js.map +1 -0
  532. package/standalone/data.store.js +705 -0
  533. package/standalone/data.store.js.map +1 -0
  534. package/standalone/debounce.js +225 -0
  535. package/standalone/debounce.js.map +1 -0
  536. package/standalone/dimension.helpers.js +355 -0
  537. package/standalone/dimension.helpers.js.map +1 -0
  538. package/standalone/each.js +200 -0
  539. package/standalone/each.js.map +1 -0
  540. package/standalone/filter.button.js +38 -0
  541. package/standalone/filter.button.js.map +1 -0
  542. package/standalone/identity.js +349 -0
  543. package/standalone/identity.js.map +1 -0
  544. package/standalone/index.d.ts +66 -0
  545. package/standalone/index.js +42 -0
  546. package/standalone/index.js.map +1 -0
  547. package/standalone/index2.js +55 -0
  548. package/standalone/index2.js.map +1 -0
  549. package/standalone/isObjectLike.js +195 -0
  550. package/standalone/isObjectLike.js.map +1 -0
  551. package/standalone/local.scroll.timer.js +163 -0
  552. package/standalone/local.scroll.timer.js.map +1 -0
  553. package/{custom-element → standalone}/resize-observer.js +30 -14
  554. package/standalone/resize-observer.js.map +1 -0
  555. package/standalone/revo-grid.d.ts +11 -0
  556. package/standalone/revo-grid.js +4252 -0
  557. package/standalone/revo-grid.js.map +1 -0
  558. package/standalone/revogr-attribution.d.ts +11 -0
  559. package/standalone/revogr-attribution.js +11 -0
  560. package/standalone/revogr-attribution.js.map +1 -0
  561. package/standalone/revogr-attribution2.js +31 -0
  562. package/standalone/revogr-attribution2.js.map +1 -0
  563. package/standalone/revogr-clipboard.d.ts +11 -0
  564. package/standalone/revogr-clipboard.js +11 -0
  565. package/standalone/revogr-clipboard.js.map +1 -0
  566. package/standalone/revogr-clipboard2.js +159 -0
  567. package/standalone/revogr-clipboard2.js.map +1 -0
  568. package/standalone/revogr-data.d.ts +11 -0
  569. package/standalone/revogr-data.js +11 -0
  570. package/standalone/revogr-data.js.map +1 -0
  571. package/standalone/revogr-data2.js +368 -0
  572. package/standalone/revogr-data2.js.map +1 -0
  573. package/standalone/revogr-edit.d.ts +11 -0
  574. package/standalone/revogr-edit.js +11 -0
  575. package/standalone/revogr-edit.js.map +1 -0
  576. package/standalone/revogr-edit2.js +335 -0
  577. package/standalone/revogr-edit2.js.map +1 -0
  578. package/standalone/revogr-filter-panel.d.ts +11 -0
  579. package/standalone/revogr-filter-panel.js +310 -0
  580. package/standalone/revogr-filter-panel.js.map +1 -0
  581. package/standalone/revogr-focus.d.ts +11 -0
  582. package/standalone/revogr-focus.js +11 -0
  583. package/standalone/revogr-focus.js.map +1 -0
  584. package/standalone/revogr-focus2.js +106 -0
  585. package/standalone/revogr-focus2.js.map +1 -0
  586. package/standalone/revogr-header.d.ts +11 -0
  587. package/standalone/revogr-header.js +11 -0
  588. package/standalone/revogr-header.js.map +1 -0
  589. package/standalone/revogr-header2.js +667 -0
  590. package/standalone/revogr-header2.js.map +1 -0
  591. package/standalone/revogr-order-editor.d.ts +11 -0
  592. package/standalone/revogr-order-editor.js +11 -0
  593. package/standalone/revogr-order-editor.js.map +1 -0
  594. package/standalone/revogr-order-editor2.js +199 -0
  595. package/standalone/revogr-order-editor2.js.map +1 -0
  596. package/standalone/revogr-overlay-selection.d.ts +11 -0
  597. package/standalone/revogr-overlay-selection.js +11 -0
  598. package/standalone/revogr-overlay-selection.js.map +1 -0
  599. package/standalone/revogr-overlay-selection2.js +876 -0
  600. package/standalone/revogr-overlay-selection2.js.map +1 -0
  601. package/standalone/revogr-row-headers.d.ts +11 -0
  602. package/standalone/revogr-row-headers.js +11 -0
  603. package/standalone/revogr-row-headers.js.map +1 -0
  604. package/standalone/revogr-row-headers2.js +555 -0
  605. package/standalone/revogr-row-headers2.js.map +1 -0
  606. package/standalone/revogr-scroll-virtual.d.ts +11 -0
  607. package/standalone/revogr-scroll-virtual.js +11 -0
  608. package/standalone/revogr-scroll-virtual.js.map +1 -0
  609. package/standalone/revogr-scroll-virtual2.js +187 -0
  610. package/standalone/revogr-scroll-virtual2.js.map +1 -0
  611. package/standalone/revogr-temp-range.d.ts +11 -0
  612. package/standalone/revogr-temp-range.js +11 -0
  613. package/standalone/revogr-temp-range.js.map +1 -0
  614. package/standalone/revogr-temp-range2.js +90 -0
  615. package/standalone/revogr-temp-range2.js.map +1 -0
  616. package/standalone/revogr-viewport-scroll.d.ts +11 -0
  617. package/standalone/revogr-viewport-scroll.js +11 -0
  618. package/standalone/revogr-viewport-scroll.js.map +1 -0
  619. package/standalone/revogr-viewport-scroll2.js +336 -0
  620. package/standalone/revogr-viewport-scroll2.js.map +1 -0
  621. package/standalone/selection.utils.js +108 -0
  622. package/standalone/selection.utils.js.map +1 -0
  623. package/standalone/throttle.js +79 -0
  624. package/standalone/throttle.js.map +1 -0
  625. package/standalone/toNumber.js +144 -0
  626. package/standalone/toNumber.js.map +1 -0
  627. package/standalone/vnode-converter.js +45 -0
  628. package/standalone/vnode-converter.js.map +1 -0
  629. package/standalone/vnode-html.d.ts +11 -0
  630. package/standalone/vnode-html.js +11 -0
  631. package/standalone/vnode-html.js.map +1 -0
  632. package/custom-element/index.d.ts +0 -117
  633. package/custom-element/index.js +0 -28857
  634. package/dist/cjs/css-shim-e33df79c.js +0 -6
  635. package/dist/cjs/dom-c8b6d1a7.js +0 -75
  636. package/dist/cjs/filter.button-2396a488.js +0 -27
  637. package/dist/cjs/index-d3f67f2e.js +0 -1729
  638. package/dist/cjs/revo-grid_11.cjs.entry.js +0 -28621
  639. package/dist/cjs/revogr-clipboard.cjs.entry.js +0 -53
  640. package/dist/collection/components/button/button.js +0 -4
  641. package/dist/collection/components/data/cellRenderer.js +0 -19
  642. package/dist/collection/components/data/columnService.js +0 -243
  643. package/dist/collection/components/data/rowRenderer.js +0 -6
  644. package/dist/collection/components/header/headerCellRenderer.js +0 -19
  645. package/dist/collection/components/header/headerRenderer.js +0 -45
  646. package/dist/collection/components/order/orderRenderer.js +0 -50
  647. package/dist/collection/components/order/rowOrderService.js +0 -68
  648. package/dist/collection/components/overlay/clipboard.service.js +0 -39
  649. package/dist/collection/components/overlay/editors/edit.utils.js +0 -5
  650. package/dist/collection/components/overlay/editors/text.js +0 -35
  651. package/dist/collection/components/overlay/revogr-edit.js +0 -163
  652. package/dist/collection/components/revoGrid/viewport.interfaces.js +0 -1
  653. package/dist/collection/components/revoGrid/viewport.js +0 -18
  654. package/dist/collection/components/revoGrid/viewport.section.js +0 -28
  655. package/dist/collection/components/rowHeaders/row-header-utils.js +0 -4
  656. package/dist/collection/plugins/autoSizeColumn.d.ts +0 -54
  657. package/dist/collection/plugins/autoSizeColumn.js +0 -230
  658. package/dist/collection/plugins/basePlugin.d.ts +0 -37
  659. package/dist/collection/plugins/basePlugin.js +0 -53
  660. package/dist/collection/plugins/export/csv.d.ts +0 -9
  661. package/dist/collection/plugins/export/export.plugin.d.ts +0 -24
  662. package/dist/collection/plugins/export/types.d.ts +0 -23
  663. package/dist/collection/plugins/filter/conditions/equal.d.ts +0 -4
  664. package/dist/collection/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
  665. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
  666. package/dist/collection/plugins/filter/conditions/number/lessThan.d.ts +0 -3
  667. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
  668. package/dist/collection/plugins/filter/conditions/set.d.ts +0 -4
  669. package/dist/collection/plugins/filter/conditions/string/beginswith.d.ts +0 -3
  670. package/dist/collection/plugins/filter/conditions/string/contains.d.ts +0 -4
  671. package/dist/collection/plugins/filter/filter.button.d.ts +0 -10
  672. package/dist/collection/plugins/filter/filter.plugin.d.ts +0 -59
  673. package/dist/collection/plugins/filter/filter.pop.d.ts +0 -42
  674. package/dist/collection/plugins/filter/filter.service.d.ts +0 -20
  675. package/dist/collection/plugins/filter/filter.types.d.ts +0 -8
  676. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
  677. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
  678. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
  679. package/dist/collection/plugins/groupingRow/grouping.const.d.ts +0 -9
  680. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
  681. package/dist/collection/plugins/groupingRow/grouping.row.plugin.d.ts +0 -40
  682. package/dist/collection/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
  683. package/dist/collection/plugins/groupingRow/grouping.row.types.d.ts +0 -19
  684. package/dist/collection/plugins/groupingRow/grouping.service.d.ts +0 -25
  685. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
  686. package/dist/collection/plugins/sorting/sorting.plugin.d.ts +0 -32
  687. package/dist/collection/plugins/sorting/sorting.sign.d.ts +0 -8
  688. package/dist/collection/plugins/stretchPlugin.d.ts +0 -29
  689. package/dist/collection/plugins/stretchPlugin.js +0 -90
  690. package/dist/collection/plugins/trimmed/trimmed.plugin.d.ts +0 -10
  691. package/dist/collection/plugins/trimmed/trimmed.plugin.js +0 -32
  692. package/dist/collection/services/localScrollService.js +0 -80
  693. package/dist/collection/store/viewPort/viewport.helpers.js +0 -180
  694. package/dist/collection/store/viewPort/viewport.store.js +0 -121
  695. package/dist/collection/themeManager/themeService.js +0 -43
  696. package/dist/collection/utils/closestPolifill.js +0 -18
  697. package/dist/collection/utils/generateAlphabetHeader.js +0 -20
  698. package/dist/collection/utils/keyCodes.js +0 -70
  699. package/dist/collection/utils/keyCodes.utils.js +0 -64
  700. package/dist/collection/utils/resizeObserver.js +0 -6
  701. package/dist/collection/utils/utils.js +0 -104
  702. package/dist/esm/css-shim-8d75038b.js +0 -4
  703. package/dist/esm/dom-1b195079.js +0 -73
  704. package/dist/esm/filter.button-53ebca66.js +0 -23
  705. package/dist/esm/index-42c84e7c.js +0 -1694
  706. package/dist/esm/polyfills/core-js.js +0 -11
  707. package/dist/esm/polyfills/css-shim.js +0 -1
  708. package/dist/esm/polyfills/dom.js +0 -79
  709. package/dist/esm/polyfills/index.js +0 -34
  710. package/dist/esm/polyfills/system.js +0 -6
  711. package/dist/esm/revo-grid_11.entry.js +0 -28607
  712. package/dist/esm/revogr-clipboard.entry.js +0 -49
  713. package/dist/esm-es5/css-shim-8d75038b.js +0 -1
  714. package/dist/esm-es5/dom-1b195079.js +0 -21
  715. package/dist/esm-es5/filter.button-53ebca66.js +0 -1
  716. package/dist/esm-es5/index-42c84e7c.js +0 -1
  717. package/dist/esm-es5/loader.js +0 -1
  718. package/dist/esm-es5/resize-observer-56b7b34f.js +0 -1
  719. package/dist/esm-es5/revo-grid.js +0 -1
  720. package/dist/esm-es5/revo-grid_11.entry.js +0 -1
  721. package/dist/esm-es5/revogr-clipboard.entry.js +0 -1
  722. package/dist/esm-es5/revogr-filter-panel.entry.js +0 -1
  723. package/dist/revo-grid/css-shim-88bfb262.system.js +0 -1
  724. package/dist/revo-grid/css-shim-8d75038b.js +0 -1
  725. package/dist/revo-grid/dom-1b195079.js +0 -19
  726. package/dist/revo-grid/dom-ee2dd1b3.system.js +0 -21
  727. package/dist/revo-grid/filter.button-1509c206.js +0 -1
  728. package/dist/revo-grid/filter.button-4bd87101.system.js +0 -1
  729. package/dist/revo-grid/index-a15e7527.system.js +0 -1
  730. package/dist/revo-grid/index-a7f99799.js +0 -1
  731. package/dist/revo-grid/index.system.js +0 -1
  732. package/dist/revo-grid/plugins/autoSizeColumn.d.ts +0 -54
  733. package/dist/revo-grid/plugins/basePlugin.d.ts +0 -37
  734. package/dist/revo-grid/plugins/export/csv.d.ts +0 -9
  735. package/dist/revo-grid/plugins/export/export.plugin.d.ts +0 -24
  736. package/dist/revo-grid/plugins/export/types.d.ts +0 -23
  737. package/dist/revo-grid/plugins/filter/conditions/equal.d.ts +0 -4
  738. package/dist/revo-grid/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
  739. package/dist/revo-grid/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
  740. package/dist/revo-grid/plugins/filter/conditions/number/lessThan.d.ts +0 -3
  741. package/dist/revo-grid/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
  742. package/dist/revo-grid/plugins/filter/conditions/set.d.ts +0 -4
  743. package/dist/revo-grid/plugins/filter/conditions/string/beginswith.d.ts +0 -3
  744. package/dist/revo-grid/plugins/filter/conditions/string/contains.d.ts +0 -4
  745. package/dist/revo-grid/plugins/filter/filter.button.d.ts +0 -10
  746. package/dist/revo-grid/plugins/filter/filter.plugin.d.ts +0 -59
  747. package/dist/revo-grid/plugins/filter/filter.pop.d.ts +0 -42
  748. package/dist/revo-grid/plugins/filter/filter.service.d.ts +0 -20
  749. package/dist/revo-grid/plugins/filter/filter.types.d.ts +0 -8
  750. package/dist/revo-grid/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
  751. package/dist/revo-grid/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
  752. package/dist/revo-grid/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
  753. package/dist/revo-grid/plugins/groupingRow/grouping.const.d.ts +0 -9
  754. package/dist/revo-grid/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
  755. package/dist/revo-grid/plugins/groupingRow/grouping.row.plugin.d.ts +0 -40
  756. package/dist/revo-grid/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
  757. package/dist/revo-grid/plugins/groupingRow/grouping.row.types.d.ts +0 -19
  758. package/dist/revo-grid/plugins/groupingRow/grouping.service.d.ts +0 -25
  759. package/dist/revo-grid/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
  760. package/dist/revo-grid/plugins/sorting/sorting.plugin.d.ts +0 -32
  761. package/dist/revo-grid/plugins/sorting/sorting.sign.d.ts +0 -8
  762. package/dist/revo-grid/plugins/stretchPlugin.d.ts +0 -29
  763. package/dist/revo-grid/plugins/trimmed/trimmed.plugin.d.ts +0 -10
  764. package/dist/revo-grid/resize-observer-56b7b34f.js +0 -1
  765. package/dist/revo-grid/resize-observer-7a7b9757.system.js +0 -1
  766. package/dist/revo-grid/revo-grid.js +0 -132
  767. package/dist/revo-grid/revo-grid.system.js +0 -1
  768. package/dist/revo-grid/revo-grid_11.entry.js +0 -1
  769. package/dist/revo-grid/revo-grid_11.system.entry.js +0 -1
  770. package/dist/revo-grid/revogr-clipboard.entry.js +0 -1
  771. package/dist/revo-grid/revogr-clipboard.system.entry.js +0 -1
  772. package/dist/revo-grid/revogr-filter-panel.system.entry.js +0 -1
  773. package/dist/types/components/button/button.d.ts +0 -5
  774. package/dist/types/components/data/cellRenderer.d.ts +0 -8
  775. package/dist/types/components/data/columnService.d.ts +0 -42
  776. package/dist/types/components/header/headerCellRenderer.d.ts +0 -8
  777. package/dist/types/components/header/headerRenderer.d.ts +0 -15
  778. package/dist/types/components/order/orderRenderer.d.ts +0 -28
  779. package/dist/types/components/order/rowOrderService.d.ts +0 -27
  780. package/dist/types/components/overlay/clipboard.service.d.ts +0 -20
  781. package/dist/types/components/overlay/editors/text.d.ts +0 -13
  782. package/dist/types/components/overlay/revogr-edit.d.ts +0 -19
  783. package/dist/types/components/revoGrid/viewport.d.ts +0 -19
  784. package/dist/types/components/revoGrid/viewport.interfaces.d.ts +0 -66
  785. package/dist/types/components/revoGrid/viewport.section.d.ts +0 -24
  786. package/dist/types/components/rowHeaders/row-header-utils.d.ts +0 -2
  787. package/dist/types/interfaces.d.ts +0 -437
  788. package/dist/types/plugins/autoSizeColumn.d.ts +0 -54
  789. package/dist/types/plugins/basePlugin.d.ts +0 -37
  790. package/dist/types/plugins/stretchPlugin.d.ts +0 -29
  791. package/dist/types/plugins/trimmed/trimmed.plugin.d.ts +0 -10
  792. package/dist/types/services/localScrollService.d.ts +0 -28
  793. package/dist/types/store/viewPort/viewport.helpers.d.ts +0 -30
  794. package/dist/types/store/viewPort/viewport.store.d.ts +0 -18
  795. package/dist/types/themeManager/themeService.d.ts +0 -13
  796. package/dist/types/utils/closestPolifill.d.ts +0 -0
  797. package/dist/types/utils/keyCodes.d.ts +0 -68
  798. package/loader/cdn.js +0 -3
  799. package/loader/index.cjs.js +0 -3
  800. package/loader/index.es2017.js +0 -3
  801. package/loader/index.js +0 -4
  802. /package/dist/types/components/{overlay/editors → editors}/edit.utils.d.ts +0 -0
  803. /package/dist/{esm-es5/index.js → types/utils/closest.polifill.d.ts} +0 -0
  804. /package/dist/types/utils/{generateAlphabetHeader.d.ts → header.utils.d.ts} +0 -0
  805. /package/dist/types/utils/{resizeObserver.d.ts → resize-observer.polifill.d.ts} +0 -0
@@ -0,0 +1,889 @@
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ import { h as createStore, i as setStore, _ as _isIterateeCall, k as toInteger_1, a as getVisibleSourceItem, b as getSourceItem } from './data.store.js';
5
+ import { G as GRID_INTERNALS, C as CELL_CLASS, d as DISABLED_CLASS } from './consts.js';
6
+
7
+ const EMPTY_INDEX = -1;
8
+ class SelectionStoreConnector {
9
+ constructor() {
10
+ // dirty flag required to cleanup whole store in case visibility of panels changed
11
+ this.dirty = false;
12
+ this.stores = {};
13
+ this.columnStores = {};
14
+ this.rowStores = {};
15
+ /**
16
+ * Helpers for data conversion
17
+ */
18
+ this.storesByType = {};
19
+ this.storesXToType = {};
20
+ this.storesYToType = {};
21
+ this.sections = [];
22
+ }
23
+ get focusedStore() {
24
+ var _a;
25
+ for (let y in this.stores) {
26
+ for (let x in this.stores[y]) {
27
+ const focused = (_a = this.stores[y][x]) === null || _a === void 0 ? void 0 : _a.store.get('focus');
28
+ if (focused) {
29
+ return {
30
+ entity: this.stores[y][x],
31
+ cell: focused,
32
+ position: {
33
+ x: parseInt(x, 10),
34
+ y: parseInt(y, 10),
35
+ },
36
+ };
37
+ }
38
+ }
39
+ }
40
+ return null;
41
+ }
42
+ get edit() {
43
+ var _a;
44
+ return (_a = this.focusedStore) === null || _a === void 0 ? void 0 : _a.entity.store.get('edit');
45
+ }
46
+ get focused() {
47
+ var _a;
48
+ return (_a = this.focusedStore) === null || _a === void 0 ? void 0 : _a.entity.store.get('focus');
49
+ }
50
+ get selectedRange() {
51
+ var _a;
52
+ return (_a = this.focusedStore) === null || _a === void 0 ? void 0 : _a.entity.store.get('range');
53
+ }
54
+ registerSection(e) {
55
+ if (!e) {
56
+ this.sections.length = 0;
57
+ // some elements removed, rebuild stores
58
+ this.dirty = true;
59
+ return;
60
+ }
61
+ if (this.sections.indexOf(e) === -1) {
62
+ this.sections.push(e);
63
+ }
64
+ }
65
+ // check if require to cleanup all stores
66
+ beforeUpdate() {
67
+ if (this.dirty) {
68
+ for (let y in this.stores) {
69
+ for (let x in this.stores[y]) {
70
+ this.stores[y][x].dispose();
71
+ }
72
+ }
73
+ this.dirty = false;
74
+ }
75
+ }
76
+ registerColumn(x, type) {
77
+ // if hidden just create store but no operations needed
78
+ if (isHiddenStore(x)) {
79
+ return new SelectionStore();
80
+ }
81
+ if (this.columnStores[x]) {
82
+ return this.columnStores[x];
83
+ }
84
+ this.columnStores[x] = new SelectionStore();
85
+ // build cross linking type to position
86
+ this.storesByType[type] = x;
87
+ this.storesXToType[x] = type;
88
+ return this.columnStores[x];
89
+ }
90
+ registerRow(y, type) {
91
+ // if hidden just create store
92
+ if (isHiddenStore(y)) {
93
+ return new SelectionStore();
94
+ }
95
+ if (this.rowStores[y]) {
96
+ return this.rowStores[y];
97
+ }
98
+ this.rowStores[y] = new SelectionStore();
99
+ // build cross linking type to position
100
+ this.storesByType[type] = y;
101
+ this.storesYToType[y] = type;
102
+ return this.rowStores[y];
103
+ }
104
+ /**
105
+ * Cross store proxy, based on multiple dimensions
106
+ */
107
+ register({ x, y }) {
108
+ var _a, _b;
109
+ // if hidden just create store
110
+ if (isHiddenStore(x) || isHiddenStore(y)) {
111
+ return new SelectionStore();
112
+ }
113
+ if (!this.stores[y]) {
114
+ this.stores[y] = {};
115
+ }
116
+ if (this.stores[y][x]) {
117
+ // Store already registered. Do not register twice
118
+ return this.stores[y][x];
119
+ }
120
+ this.stores[y][x] = new SelectionStore();
121
+ // proxy update, column store trigger only range area
122
+ (_a = this.stores[y][x]) === null || _a === void 0 ? void 0 : _a.onChange('range', c => {
123
+ this.columnStores[x].setRangeArea(c);
124
+ this.rowStores[y].setRangeArea(c);
125
+ });
126
+ // clean up on remove
127
+ (_b = this.stores[y][x]) === null || _b === void 0 ? void 0 : _b.store.on('dispose', () => this.destroy(x, y));
128
+ return this.stores[y][x];
129
+ }
130
+ destroy(x, y) {
131
+ var _a, _b;
132
+ (_a = this.columnStores[x]) === null || _a === void 0 ? void 0 : _a.dispose();
133
+ (_b = this.rowStores[y]) === null || _b === void 0 ? void 0 : _b.dispose();
134
+ delete this.rowStores[y];
135
+ delete this.columnStores[x];
136
+ // clear x cross link
137
+ if (this.storesXToType[x]) {
138
+ const type = this.storesXToType[x];
139
+ delete this.storesXToType[x];
140
+ delete this.storesByType[type];
141
+ }
142
+ // clear y cross link
143
+ if (this.storesYToType[y]) {
144
+ const type = this.storesYToType[y];
145
+ delete this.storesYToType[y];
146
+ delete this.storesByType[type];
147
+ }
148
+ if (this.stores[y]) {
149
+ delete this.stores[y][x];
150
+ }
151
+ // clear empty rows
152
+ if (!Object.keys(this.stores[y] || {}).length) {
153
+ delete this.stores[y];
154
+ }
155
+ }
156
+ setEditByCell(storePos, editCell) {
157
+ this.focusByCell(storePos, editCell, editCell);
158
+ this.setEdit('');
159
+ }
160
+ focusByCell(storePos, start, end) {
161
+ const store = this.stores[storePos.y][storePos.x];
162
+ this.focus(store, { focus: start, end });
163
+ }
164
+ focus(store, { focus, end }) {
165
+ let currentStorePointer;
166
+ // clear all stores focus leave only active one
167
+ for (let y in this.stores) {
168
+ for (let x in this.stores[y]) {
169
+ const s = this.stores[y][x];
170
+ // clear other stores, only one area can be selected
171
+ if (s !== store) {
172
+ s.clearFocus();
173
+ }
174
+ else {
175
+ currentStorePointer = { x: parseInt(x, 10), y: parseInt(y, 10) };
176
+ }
177
+ }
178
+ }
179
+ if (!currentStorePointer) {
180
+ return null;
181
+ }
182
+ // check is focus in next store
183
+ const lastCell = store.store.get('lastCell');
184
+ // item in new store
185
+ const nextItem = nextCell(focus, lastCell);
186
+ let nextStore;
187
+ if (nextItem) {
188
+ for (let i in nextItem) {
189
+ let type = i;
190
+ let stores;
191
+ switch (type) {
192
+ case 'x':
193
+ stores = this.getXStores(currentStorePointer.y);
194
+ break;
195
+ case 'y':
196
+ stores = this.getYStores(currentStorePointer.x);
197
+ break;
198
+ }
199
+ if (nextItem[type] >= 0) {
200
+ nextStore = stores[++currentStorePointer[type]];
201
+ }
202
+ else {
203
+ nextStore = stores[--currentStorePointer[type]];
204
+ const nextLastCell = nextStore === null || nextStore === void 0 ? void 0 : nextStore.store.get('lastCell');
205
+ if (nextLastCell) {
206
+ nextItem[type] = nextLastCell[type] + nextItem[type];
207
+ }
208
+ }
209
+ }
210
+ }
211
+ // if next store present - update
212
+ if (nextStore) {
213
+ let item = Object.assign(Object.assign({}, focus), nextItem);
214
+ this.focus(nextStore, { focus: item, end: item });
215
+ return null;
216
+ }
217
+ focus = cropCellToMax(focus, lastCell);
218
+ end = cropCellToMax(end, lastCell);
219
+ store.setFocus(focus, end);
220
+ return focus;
221
+ }
222
+ clearAll() {
223
+ var _a;
224
+ for (let y in this.stores) {
225
+ for (let x in this.stores[y]) {
226
+ (_a = this.stores[y][x]) === null || _a === void 0 ? void 0 : _a.clearFocus();
227
+ }
228
+ }
229
+ }
230
+ setEdit(val) {
231
+ if (!this.focusedStore) {
232
+ return;
233
+ }
234
+ this.focusedStore.entity.setEdit(val);
235
+ }
236
+ /**
237
+ * Select all cells across all stores
238
+ */
239
+ selectAll() {
240
+ for (let y in this.stores) {
241
+ for (let x in this.stores[y]) {
242
+ const store = this.stores[y][x];
243
+ if (!store) {
244
+ continue;
245
+ }
246
+ const lastCell = store.store.get('lastCell');
247
+ store.setRange({ x: 0, y: 0 }, { x: lastCell.x - 1, y: lastCell.y - 1 });
248
+ }
249
+ }
250
+ }
251
+ getXStores(y) {
252
+ return this.stores[y];
253
+ }
254
+ getYStores(x) {
255
+ const stores = {};
256
+ for (let i in this.stores) {
257
+ stores[i] = this.stores[i][x];
258
+ }
259
+ return stores;
260
+ }
261
+ }
262
+
263
+ function isHiddenStore(pos) {
264
+ return pos === EMPTY_INDEX;
265
+ }
266
+ function nextCell(cell, lastCell) {
267
+ const nextItem = {};
268
+ let types = ['x', 'y'];
269
+ // previous item check
270
+ for (let t of types) {
271
+ if (cell[t] < 0) {
272
+ nextItem[t] = cell[t];
273
+ return nextItem;
274
+ }
275
+ }
276
+ // next item check
277
+ for (let t of types) {
278
+ if (cell[t] >= lastCell[t]) {
279
+ nextItem[t] = cell[t] - lastCell[t];
280
+ return nextItem;
281
+ }
282
+ }
283
+ return null;
284
+ }
285
+ function cropCellToMax(cell, lastCell) {
286
+ const newCell = Object.assign({}, cell);
287
+ let types = ['x', 'y'];
288
+ // previous item check
289
+ for (let t of types) {
290
+ if (cell[t] < 0) {
291
+ newCell[t] = 0;
292
+ }
293
+ }
294
+ // next item check
295
+ for (let t of types) {
296
+ if (cell[t] >= lastCell[t]) {
297
+ newCell[t] = lastCell[t] - 1;
298
+ }
299
+ }
300
+ return newCell;
301
+ }
302
+ function getRange(start, end) {
303
+ return start && end
304
+ ? {
305
+ x: Math.min(start.x, end.x),
306
+ y: Math.min(start.y, end.y),
307
+ x1: Math.max(start.x, end.x),
308
+ y1: Math.max(start.y, end.y),
309
+ }
310
+ : null;
311
+ }
312
+ function isRangeSingleCell(a) {
313
+ return a.x === a.x1 && a.y === a.y1;
314
+ }
315
+
316
+ /**
317
+ * Selection store
318
+ */
319
+ function defaultState() {
320
+ return {
321
+ range: null,
322
+ tempRange: null,
323
+ tempRangeType: null,
324
+ focus: null,
325
+ edit: null,
326
+ lastCell: null,
327
+ };
328
+ }
329
+ class SelectionStore {
330
+ constructor() {
331
+ this.unsubscribe = [];
332
+ this.store = createStore(defaultState());
333
+ this.store.on('set', (key, newVal) => {
334
+ if (key === 'tempRange' && !newVal) {
335
+ this.store.set('tempRangeType', null);
336
+ }
337
+ });
338
+ }
339
+ onChange(propName, cb) {
340
+ this.unsubscribe.push(this.store.onChange(propName, cb));
341
+ }
342
+ clearFocus() {
343
+ setStore(this.store, { focus: null, range: null, edit: null, tempRange: null });
344
+ }
345
+ setFocus(focus, end) {
346
+ if (!end) {
347
+ setStore(this.store, { focus });
348
+ }
349
+ else {
350
+ setStore(this.store, {
351
+ focus,
352
+ range: getRange(focus, end),
353
+ edit: null,
354
+ tempRange: null,
355
+ });
356
+ }
357
+ }
358
+ setTempArea(range) {
359
+ setStore(this.store, { tempRange: range === null || range === void 0 ? void 0 : range.area, tempRangeType: range === null || range === void 0 ? void 0 : range.type, edit: null });
360
+ }
361
+ clearTemp() {
362
+ setStore(this.store, { tempRange: null });
363
+ }
364
+ /** Can be applied from selection change or from simple keyboard change clicks */
365
+ setRangeArea(range) {
366
+ setStore(this.store, { range, edit: null, tempRange: null });
367
+ }
368
+ setRange(start, end) {
369
+ this.setRangeArea(getRange(start, end));
370
+ }
371
+ setLastCell(lastCell) {
372
+ setStore(this.store, { lastCell });
373
+ }
374
+ setEdit(val) {
375
+ const focus = this.store.get('focus');
376
+ if (focus && typeof val === 'string') {
377
+ setStore(this.store, {
378
+ edit: { x: focus.x, y: focus.y, val },
379
+ });
380
+ return;
381
+ }
382
+ setStore(this.store, { edit: null });
383
+ }
384
+ dispose() {
385
+ this.unsubscribe.forEach(f => f());
386
+ this.store.dispose();
387
+ }
388
+ }
389
+
390
+ const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;
391
+ const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;
392
+ const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;
393
+ const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;
394
+ const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;
395
+ const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;
396
+ const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;
397
+ const GROUP_EXPAND_BTN = `group-expand`;
398
+ const GROUP_EXPAND_EVENT = `groupexpandclick`;
399
+ const GROUPING_ROW_TYPE = 'rgRow';
400
+
401
+ function getGroupValueDefault(item, prop) {
402
+ return item[prop] || null;
403
+ }
404
+ /**
405
+ * Gather data for grouping
406
+ * @param array - flat data array
407
+ * @param groupIds - ids of groups
408
+ * @param expanded - potentially expanded items if present
409
+ */
410
+ function gatherGrouping(array, groupIds, { prevExpanded, expandedAll, getGroupValue = getGroupValueDefault }) {
411
+ const groupedItems = new Map();
412
+ array.forEach((item, originalIndex) => {
413
+ const groupLevelValues = groupIds.map(groupId => getGroupValue(item, groupId));
414
+ const lastLevelValue = groupLevelValues.pop();
415
+ let currentGroupLevel = groupedItems;
416
+ groupLevelValues.forEach(value => {
417
+ if (!currentGroupLevel.has(value)) {
418
+ currentGroupLevel.set(value, new Map());
419
+ }
420
+ currentGroupLevel = currentGroupLevel.get(value);
421
+ });
422
+ if (!currentGroupLevel.has(lastLevelValue)) {
423
+ currentGroupLevel.set(lastLevelValue, []);
424
+ }
425
+ const lastLevelItems = currentGroupLevel.get(lastLevelValue);
426
+ lastLevelItems.push(Object.assign(Object.assign({}, item), { [GROUP_ORIGINAL_INDEX]: originalIndex }));
427
+ });
428
+ let itemIndex = -1;
429
+ const groupingDepth = groupIds.length;
430
+ // collapse all groups in the beginning
431
+ const trimmed = {};
432
+ // index mapping
433
+ const oldNewIndexMap = {};
434
+ // check if group header exists
435
+ const pseudoGroupTest = {};
436
+ const sourceWithGroups = [];
437
+ function flattenGroupMaps(groupedValues, parentIds, isExpanded) {
438
+ const depth = parentIds.length;
439
+ groupedValues.forEach((innerGroupedValues, groupId) => {
440
+ const levelIds = [...parentIds, groupId];
441
+ const mergedIds = levelIds.join(',');
442
+ const isGroupExpanded = isExpanded && (!!expandedAll || !!(prevExpanded === null || prevExpanded === void 0 ? void 0 : prevExpanded[mergedIds]));
443
+ sourceWithGroups.push({
444
+ [PSEUDO_GROUP_ITEM]: groupId,
445
+ [GROUP_DEPTH]: depth,
446
+ [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),
447
+ [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,
448
+ [GROUP_EXPANDED]: isGroupExpanded,
449
+ });
450
+ itemIndex += 1;
451
+ if (!isGroupExpanded && depth) {
452
+ trimmed[itemIndex] = true;
453
+ }
454
+ if (Array.isArray(innerGroupedValues)) {
455
+ innerGroupedValues.forEach(value => {
456
+ itemIndex += 1;
457
+ if (!isGroupExpanded) {
458
+ trimmed[itemIndex] = true;
459
+ }
460
+ oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex;
461
+ const pseudoGroupTestIds = levelIds.map((_value, index) => levelIds.slice(0, index + 1).join(','));
462
+ pseudoGroupTestIds.forEach(pseudoGroupTestId => {
463
+ if (!pseudoGroupTest[pseudoGroupTestId]) {
464
+ pseudoGroupTest[pseudoGroupTestId] = [];
465
+ }
466
+ pseudoGroupTest[pseudoGroupTestId].push(itemIndex);
467
+ });
468
+ });
469
+ sourceWithGroups.push(...innerGroupedValues);
470
+ }
471
+ else {
472
+ flattenGroupMaps(innerGroupedValues, levelIds, isGroupExpanded);
473
+ }
474
+ });
475
+ }
476
+ flattenGroupMaps(groupedItems, [], true);
477
+ return {
478
+ sourceWithGroups, // updates source mirror
479
+ depth: groupingDepth, // largest depth for grouping
480
+ trimmed, // used for expand/collapse grouping values
481
+ oldNewIndexMap, // used for mapping old values to new
482
+ childrenByGroup: pseudoGroupTest, // used to get child items in group
483
+ };
484
+ }
485
+ function getGroupingName(rgRow) {
486
+ return rgRow && rgRow[PSEUDO_GROUP_ITEM];
487
+ }
488
+ function isGrouping(rgRow) {
489
+ return rgRow && typeof rgRow[PSEUDO_GROUP_ITEM] !== 'undefined';
490
+ }
491
+ function isGroupingColumn(column) {
492
+ return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';
493
+ }
494
+ function measureEqualDepth(groupA, groupB) {
495
+ const ln = groupA.length;
496
+ let i = 0;
497
+ for (; i < ln; i++) {
498
+ if (groupA[i] !== groupB[i]) {
499
+ return i;
500
+ }
501
+ }
502
+ return i;
503
+ }
504
+ function getParsedGroup(id) {
505
+ const parseGroup = JSON.parse(id);
506
+ // extra precaution and type safe guard
507
+ if (!Array.isArray(parseGroup)) {
508
+ return null;
509
+ }
510
+ return parseGroup;
511
+ }
512
+ // check if items is child of current clicked group
513
+ function isSameGroup(currentGroup, currentModel, nextModel) {
514
+ const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);
515
+ if (!nextGroup) {
516
+ return false;
517
+ }
518
+ const depth = measureEqualDepth(currentGroup, nextGroup);
519
+ return currentModel[GROUP_DEPTH] < depth;
520
+ }
521
+
522
+ /**
523
+ * The base implementation of `_.slice` without an iteratee call guard.
524
+ *
525
+ * @private
526
+ * @param {Array} array The array to slice.
527
+ * @param {number} [start=0] The start position.
528
+ * @param {number} [end=array.length] The end position.
529
+ * @returns {Array} Returns the slice of `array`.
530
+ */
531
+
532
+ function baseSlice$1(array, start, end) {
533
+ var index = -1,
534
+ length = array.length;
535
+
536
+ if (start < 0) {
537
+ start = -start > length ? 0 : (length + start);
538
+ }
539
+ end = end > length ? length : end;
540
+ if (end < 0) {
541
+ end += length;
542
+ }
543
+ length = start > end ? 0 : ((end - start) >>> 0);
544
+ start >>>= 0;
545
+
546
+ var result = Array(length);
547
+ while (++index < length) {
548
+ result[index] = array[index + start];
549
+ }
550
+ return result;
551
+ }
552
+
553
+ var _baseSlice = baseSlice$1;
554
+
555
+ var baseSlice = _baseSlice,
556
+ isIterateeCall = _isIterateeCall,
557
+ toInteger = toInteger_1;
558
+
559
+ /**
560
+ * Creates a slice of `array` from `start` up to, but not including, `end`.
561
+ *
562
+ * **Note:** This method is used instead of
563
+ * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
564
+ * returned.
565
+ *
566
+ * @static
567
+ * @memberOf _
568
+ * @since 3.0.0
569
+ * @category Array
570
+ * @param {Array} array The array to slice.
571
+ * @param {number} [start=0] The start position.
572
+ * @param {number} [end=array.length] The end position.
573
+ * @returns {Array} Returns the slice of `array`.
574
+ */
575
+ function slice(array, start, end) {
576
+ var length = array == null ? 0 : array.length;
577
+ if (!length) {
578
+ return [];
579
+ }
580
+ if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {
581
+ start = 0;
582
+ end = length;
583
+ }
584
+ else {
585
+ start = start == null ? 0 : toInteger(start);
586
+ end = end === undefined ? length : toInteger(end);
587
+ }
588
+ return baseSlice(array, start, end);
589
+ }
590
+
591
+ var slice_1 = slice;
592
+
593
+ class ColumnService {
594
+ get columns() {
595
+ return getVisibleSourceItem(this.source);
596
+ }
597
+ constructor(dataStore, source) {
598
+ this.dataStore = dataStore;
599
+ this.source = source;
600
+ this.unsubscribe = [];
601
+ this.hasGrouping = false;
602
+ this.unsubscribe.push(source.onChange('source', s => this.checkGrouping(s)));
603
+ this.checkGrouping(source.get('source'));
604
+ this.type = source.get('type');
605
+ }
606
+ checkGrouping(cols) {
607
+ for (let rgCol of cols) {
608
+ if (isGroupingColumn(rgCol)) {
609
+ this.hasGrouping = true;
610
+ return;
611
+ }
612
+ this.hasGrouping = false;
613
+ }
614
+ }
615
+ isReadOnly(r, c) {
616
+ var _a;
617
+ const readOnly = (_a = this.columns[c]) === null || _a === void 0 ? void 0 : _a.readonly;
618
+ if (typeof readOnly === 'function') {
619
+ const data = this.rowDataModel(r, c);
620
+ return readOnly(data);
621
+ }
622
+ return readOnly;
623
+ }
624
+ mergeProperties(r, c, defaultProps, model, extraPropsFunc) {
625
+ const cellClass = {
626
+ [CELL_CLASS]: true,
627
+ [DISABLED_CLASS]: this.isReadOnly(r, c),
628
+ };
629
+ let props = Object.assign(Object.assign({}, defaultProps), { class: cellClass });
630
+ const extra = extraPropsFunc === null || extraPropsFunc === void 0 ? void 0 : extraPropsFunc(model);
631
+ if (!extra) {
632
+ return props;
633
+ }
634
+ return doPropMerge(props, extra);
635
+ }
636
+ getRowClass(r, prop) {
637
+ const model = getSourceItem(this.dataStore, r) || {};
638
+ return model[prop] || '';
639
+ }
640
+ getCellData(r, c) {
641
+ const data = this.rowDataModel(r, c);
642
+ return getCellData(data.model[data.prop]);
643
+ }
644
+ getSaveData(rowIndex, colIndex, val) {
645
+ if (typeof val === 'undefined') {
646
+ val = this.getCellData(rowIndex, colIndex);
647
+ }
648
+ const data = this.rowDataModel(rowIndex, colIndex);
649
+ return {
650
+ prop: data.prop,
651
+ rowIndex,
652
+ colIndex,
653
+ val,
654
+ model: data.model,
655
+ colType: this.type,
656
+ type: this.dataStore.get('type'),
657
+ };
658
+ }
659
+ getCellEditor(_r, c, editors) {
660
+ var _a;
661
+ const editor = (_a = this.columns[c]) === null || _a === void 0 ? void 0 : _a.editor;
662
+ if (!editor) {
663
+ return undefined;
664
+ }
665
+ // reference
666
+ if (typeof editor === 'string') {
667
+ return editors[editor];
668
+ }
669
+ return editor;
670
+ }
671
+ rowDataModel(rowIndex, colIndex) {
672
+ const column = this.columns[colIndex];
673
+ const prop = column === null || column === void 0 ? void 0 : column.prop;
674
+ const model = getSourceItem(this.dataStore, rowIndex) || {};
675
+ const type = this.dataStore.get('type');
676
+ return {
677
+ prop,
678
+ model,
679
+ data: this.dataStore.get('source'),
680
+ column,
681
+ rowIndex,
682
+ colIndex,
683
+ colType: this.type,
684
+ type,
685
+ };
686
+ }
687
+ getRangeData(d, columns) {
688
+ var _a;
689
+ const changed = {};
690
+ // get original length sizes
691
+ const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;
692
+ const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;
693
+ const mapping = {};
694
+ // rows
695
+ for (let rowIndex = d.newRange.y, i = 0; rowIndex < d.newRange.y1 + 1; rowIndex++, i++) {
696
+ // copy original data link
697
+ const oldRowIndex = d.oldRange.y + (i % copyRowLength);
698
+ const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};
699
+ // columns
700
+ for (let colIndex = d.newRange.x, j = 0; colIndex < d.newRange.x1 + 1; colIndex++, j++) {
701
+ // check if old range area
702
+ if (rowIndex >= d.oldRange.y &&
703
+ rowIndex <= d.oldRange.y1 &&
704
+ colIndex >= d.oldRange.x &&
705
+ colIndex <= d.oldRange.x1) {
706
+ continue;
707
+ }
708
+ // requested column beyond range
709
+ if (!this.columns[colIndex]) {
710
+ continue;
711
+ }
712
+ const prop = (_a = this.columns[colIndex]) === null || _a === void 0 ? void 0 : _a.prop;
713
+ const copyColIndex = d.oldRange.x + (j % copyColLength);
714
+ const copyColumnProp = columns[copyColIndex].prop;
715
+ /** if can write */
716
+ if (!this.isReadOnly(rowIndex, colIndex)) {
717
+ /** to show before save */
718
+ if (!changed[rowIndex]) {
719
+ changed[rowIndex] = {};
720
+ }
721
+ changed[rowIndex][prop] = copyRow[copyColumnProp];
722
+ /** Generate mapping object */
723
+ if (!mapping[rowIndex]) {
724
+ mapping[rowIndex] = {};
725
+ }
726
+ mapping[rowIndex][prop] = {
727
+ colIndex: copyColIndex,
728
+ colProp: copyColumnProp,
729
+ rowIndex: oldRowIndex,
730
+ };
731
+ }
732
+ }
733
+ }
734
+ return {
735
+ changed,
736
+ mapping,
737
+ };
738
+ }
739
+ getTransformedDataToApply(start, data) {
740
+ const changed = {};
741
+ const copyRowLength = data.length;
742
+ const colLength = this.columns.length;
743
+ const rowLength = this.dataStore.get('items').length;
744
+ // rows
745
+ let rowIndex = start.y;
746
+ let maxCol = 0;
747
+ for (let i = 0; rowIndex < rowLength && i < copyRowLength; rowIndex++, i++) {
748
+ // copy original data link
749
+ const copyRow = data[i % copyRowLength];
750
+ const copyColLength = (copyRow === null || copyRow === void 0 ? void 0 : copyRow.length) || 0;
751
+ // columns
752
+ let colIndex = start.x;
753
+ for (let j = 0; colIndex < colLength && j < copyColLength; colIndex++, j++) {
754
+ const p = this.columns[colIndex].prop;
755
+ const currentCol = j % colLength;
756
+ /** if can write */
757
+ if (!this.isReadOnly(rowIndex, colIndex)) {
758
+ /** to show before save */
759
+ if (!changed[rowIndex]) {
760
+ changed[rowIndex] = {};
761
+ }
762
+ changed[rowIndex][p] = copyRow[currentCol];
763
+ }
764
+ }
765
+ maxCol = Math.max(maxCol, colIndex - 1);
766
+ }
767
+ const range = getRange(start, {
768
+ y: rowIndex - 1,
769
+ x: maxCol,
770
+ });
771
+ return {
772
+ changed,
773
+ range,
774
+ };
775
+ }
776
+ getRangeStaticData(d, value) {
777
+ const changed = {};
778
+ // rows
779
+ for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {
780
+ // columns
781
+ for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {
782
+ // requested column beyond range
783
+ if (!this.columns[colIndex]) {
784
+ continue;
785
+ }
786
+ const p = this.columns[colIndex].prop;
787
+ /** if can write */
788
+ if (!this.isReadOnly(rowIndex, colIndex)) {
789
+ /** to show before save */
790
+ if (!changed[rowIndex]) {
791
+ changed[rowIndex] = {};
792
+ }
793
+ changed[rowIndex][p] = value;
794
+ }
795
+ }
796
+ }
797
+ return changed;
798
+ }
799
+ getRangeTransformedToProps(d, store) {
800
+ var _a;
801
+ const area = [];
802
+ const type = this.dataStore.get('type');
803
+ // rows
804
+ for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {
805
+ // columns
806
+ for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {
807
+ const prop = (_a = this.columns[colIndex]) === null || _a === void 0 ? void 0 : _a.prop;
808
+ area.push({
809
+ prop,
810
+ rowIndex,
811
+ colIndex,
812
+ model: getSourceItem(store, rowIndex),
813
+ type,
814
+ colType: this.type,
815
+ });
816
+ }
817
+ }
818
+ return area;
819
+ }
820
+ copyRangeArray(range, store) {
821
+ const cols = [...this.columns];
822
+ const props = slice_1(cols, range.x, range.x1 + 1).map(v => v.prop);
823
+ const toCopy = [];
824
+ const mapping = {};
825
+ // rows indexes
826
+ for (let i = range.y; i <= range.y1; i++) {
827
+ const rgRow = [];
828
+ mapping[i] = {};
829
+ // columns indexes
830
+ for (let prop of props) {
831
+ const item = getSourceItem(store, i);
832
+ // if no item - skip
833
+ if (!item) {
834
+ continue;
835
+ }
836
+ const val = item[prop];
837
+ rgRow.push(val);
838
+ mapping[i][prop] = val;
839
+ }
840
+ toCopy.push(rgRow);
841
+ }
842
+ return {
843
+ data: toCopy,
844
+ mapping,
845
+ };
846
+ }
847
+ destroy() {
848
+ this.unsubscribe.forEach(f => f());
849
+ }
850
+ }
851
+ function getCellData(val) {
852
+ if (typeof val === 'undefined' || val === null) {
853
+ return '';
854
+ }
855
+ return val;
856
+ }
857
+ /**
858
+ * Checks if the given rowDrag is a service for dragging rows.
859
+ */
860
+ function isRowDragService(rowDrag, model) {
861
+ if (typeof rowDrag === 'function') {
862
+ return rowDrag(model);
863
+ }
864
+ return !!rowDrag;
865
+ }
866
+ function doPropMerge(existing, extra) {
867
+ let props = Object.assign(Object.assign({}, extra), existing);
868
+ // extend existing props
869
+ if (extra.class) {
870
+ if (typeof extra.class === 'object' && typeof props.class === 'object') {
871
+ props.class = Object.assign(Object.assign({}, extra.class), props.class);
872
+ }
873
+ else if (typeof extra.class === 'string' &&
874
+ typeof props.class === 'object') {
875
+ props.class[extra.class] = true;
876
+ }
877
+ else if (typeof props.class === 'string') {
878
+ props.class += ' ' + extra.class;
879
+ }
880
+ }
881
+ if (extra.style) {
882
+ props.style = Object.assign(Object.assign({}, extra.style), props.style);
883
+ }
884
+ return props;
885
+ }
886
+
887
+ export { ColumnService as C, EMPTY_INDEX as E, GROUP_EXPANDED as G, PSEUDO_GROUP_ITEM_VALUE as P, SelectionStore as S, isRangeSingleCell as a, isGrouping as b, cropCellToMax as c, getGroupingName as d, getParsedGroup as e, isSameGroup as f, getRange as g, GROUP_DEPTH as h, isHiddenStore as i, PSEUDO_GROUP_ITEM_ID as j, GROUPING_ROW_TYPE as k, PSEUDO_GROUP_COLUMN as l, GROUP_EXPAND_EVENT as m, nextCell as n, gatherGrouping as o, isGroupingColumn as p, SelectionStoreConnector as q, doPropMerge as r, GROUP_EXPAND_BTN as s, PSEUDO_GROUP_ITEM as t, isRowDragService as u, getCellData as v };
888
+
889
+ //# sourceMappingURL=column.service.js.map