@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,876 @@
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
5
+ import { g as getRange, C as ColumnService, a as isRangeSingleCell } from './column.service.js';
6
+ import { c as codesLetter, i as isClear, a as isEnterKey, b as isCopy, e as isCut, f as isPaste, g as isAll, h as isLetterKey, d as defineCustomElement$2 } from './revogr-edit2.js';
7
+ import { E as EDIT_INPUT_WR, R as RESIZE_INTERVAL, k as CELL_HANDLER_CLASS, l as MOBILE_CLASS, S as SELECTION_BORDER_CLASS } from './consts.js';
8
+ import { a as getCoordinate, i as isAfterLast, b as isBeforeFirst, c as getCell, d as getCurrentCell, g as getElStyle } from './selection.utils.js';
9
+ import { t as timeout } from './index2.js';
10
+ import { d as debounce_1 } from './debounce.js';
11
+ import { b as getSourceItem } from './data.store.js';
12
+ import { d as defineCustomElement$3 } from './revogr-clipboard2.js';
13
+ import { d as defineCustomElement$1 } from './revogr-order-editor2.js';
14
+
15
+ class SelectionStoreService {
16
+ constructor(store, config) {
17
+ this.store = store;
18
+ this.config = config;
19
+ this.store = store;
20
+ }
21
+ get edited() {
22
+ return this.store.get('edit');
23
+ }
24
+ get focused() {
25
+ return this.store.get('focus');
26
+ }
27
+ get ranged() {
28
+ return this.store.get('range');
29
+ }
30
+ changeRange(range) {
31
+ return this.config.changeRange(range);
32
+ }
33
+ focus(cell, isMulti = false) {
34
+ if (!cell) {
35
+ return false;
36
+ }
37
+ let end = cell;
38
+ // range edit
39
+ if (isMulti) {
40
+ let start = this.store.get('focus');
41
+ if (start) {
42
+ return this.config.changeRange(getRange(start, end));
43
+ }
44
+ }
45
+ // single focus
46
+ return this.config.focus(cell, end);
47
+ }
48
+ }
49
+
50
+ function isTouch(e) {
51
+ return !!e.touches;
52
+ }
53
+ function verifyTouchTarget(touchEvent, focusClass) {
54
+ if (focusClass && touchEvent) {
55
+ if (!(touchEvent.target instanceof Element && touchEvent.target.classList.contains(focusClass))) {
56
+ return false;
57
+ }
58
+ }
59
+ return true;
60
+ }
61
+ function getFromEvent(e, prop, focusClass // for touch events
62
+ ) {
63
+ if (isTouch(e)) {
64
+ if (e.touches.length > 0) {
65
+ const touchEvent = e.touches[0];
66
+ if (!verifyTouchTarget(touchEvent, focusClass)) {
67
+ return null;
68
+ }
69
+ return touchEvent[prop] || 0;
70
+ }
71
+ return null;
72
+ }
73
+ return e[prop] || 0;
74
+ }
75
+
76
+ // is edit input
77
+ function isEditInput(el) {
78
+ return !!(el === null || el === void 0 ? void 0 : el.closest(`.${EDIT_INPUT_WR}`));
79
+ }
80
+
81
+ const DIRECTION_CODES = [
82
+ codesLetter.TAB,
83
+ codesLetter.ARROW_UP,
84
+ codesLetter.ARROW_DOWN,
85
+ codesLetter.ARROW_LEFT,
86
+ codesLetter.ARROW_RIGHT,
87
+ ];
88
+ class KeyboardService {
89
+ constructor(sv) {
90
+ this.sv = sv;
91
+ }
92
+ async keyDown(e, canRange) {
93
+ // IF EDIT MODE
94
+ if (this.sv.selectionStoreService.edited) {
95
+ switch (e.code) {
96
+ case codesLetter.ESCAPE:
97
+ this.sv.cancel();
98
+ break;
99
+ }
100
+ return;
101
+ }
102
+ // IF NOT EDIT MODE
103
+ // pressed clear key
104
+ if (this.sv.selectionStoreService.ranged && isClear(e.code)) {
105
+ this.sv.clearCell();
106
+ return;
107
+ }
108
+ // below works with focus only
109
+ if (!this.sv.selectionStoreService.focused) {
110
+ return;
111
+ }
112
+ // tab key means same as arrow right
113
+ if (codesLetter.TAB === e.code) {
114
+ this.keyChangeSelection(e, canRange);
115
+ return;
116
+ }
117
+ // pressed enter
118
+ if (isEnterKey(e.code)) {
119
+ this.sv.change();
120
+ return;
121
+ }
122
+ // copy operation
123
+ if (isCopy(e)) {
124
+ return;
125
+ }
126
+ // cut operation
127
+ if (isCut(e)) {
128
+ return;
129
+ }
130
+ // paste operation
131
+ if (isPaste(e)) {
132
+ this.sv.internalPaste();
133
+ return;
134
+ }
135
+ // select all
136
+ if (isAll(e)) {
137
+ if (canRange) {
138
+ this.selectAll(e);
139
+ }
140
+ return;
141
+ }
142
+ // pressed letter key
143
+ if (isLetterKey(e.keyCode)) {
144
+ this.sv.change(e.key);
145
+ return;
146
+ }
147
+ // pressed arrow, change selection position
148
+ if (await this.keyChangeSelection(e, canRange)) {
149
+ return;
150
+ }
151
+ }
152
+ selectAll(e) {
153
+ const range = this.sv.selectionStore.get('range');
154
+ const focus = this.sv.selectionStore.get('focus');
155
+ // if no range or focus - do nothing
156
+ if (!range || !focus) {
157
+ return;
158
+ }
159
+ e.preventDefault();
160
+ this.sv.selectAll();
161
+ }
162
+ async keyChangeSelection(e, canRange) {
163
+ const data = this.changeDirectionKey(e, canRange);
164
+ if (!data) {
165
+ return false;
166
+ }
167
+ // this interval needed for several cases
168
+ // grid could be resized before next click
169
+ // at this case to avoid screen jump we use this interval
170
+ await timeout(RESIZE_INTERVAL + 30);
171
+ const range = this.sv.selectionStore.get('range');
172
+ const focus = this.sv.selectionStore.get('focus');
173
+ return this.keyPositionChange(data.changes, range, focus, data.isMulti);
174
+ }
175
+ keyPositionChange(changes, range, focus, isMulti = false) {
176
+ if (!range || !focus) {
177
+ return false;
178
+ }
179
+ const data = getCoordinate(range, focus, changes, isMulti);
180
+ if (!data) {
181
+ return false;
182
+ }
183
+ if (isMulti) {
184
+ const eData = this.sv.getData();
185
+ if (isAfterLast(data.end, eData) || isBeforeFirst(data.start)) {
186
+ return false;
187
+ }
188
+ const range = getRange(data.start, data.end);
189
+ return this.sv.range(range);
190
+ }
191
+ return this.sv.focusNext(data.start, changes);
192
+ }
193
+ /** Monitor key direction changes */
194
+ changeDirectionKey(e, canRange) {
195
+ const isMulti = canRange && e.shiftKey;
196
+ if (DIRECTION_CODES.includes(e.code)) {
197
+ e.preventDefault();
198
+ }
199
+ switch (e.code) {
200
+ case codesLetter.ARROW_UP:
201
+ return { changes: { y: -1 }, isMulti };
202
+ case codesLetter.ARROW_DOWN:
203
+ return { changes: { y: 1 }, isMulti };
204
+ case codesLetter.ARROW_LEFT:
205
+ return { changes: { x: -1 }, isMulti };
206
+ case codesLetter.TAB:
207
+ case codesLetter.ARROW_RIGHT:
208
+ return { changes: { x: 1 }, isMulti };
209
+ }
210
+ }
211
+ }
212
+
213
+ class AutoFillService {
214
+ constructor(sv) {
215
+ this.sv = sv;
216
+ this.autoFillType = null;
217
+ this.autoFillInitial = null;
218
+ this.autoFillStart = null;
219
+ this.autoFillLast = null;
220
+ }
221
+ /**
222
+ * Render autofill box
223
+ * @param range
224
+ * @param selectionFocus
225
+ */
226
+ renderAutofill(range, selectionFocus) {
227
+ let handlerStyle;
228
+ if (range) {
229
+ handlerStyle = getCell(range, this.sv.dimensionRow.state, this.sv.dimensionCol.state);
230
+ }
231
+ else {
232
+ handlerStyle = getCell(Object.assign(Object.assign({}, selectionFocus), { x1: selectionFocus.x, y1: selectionFocus.y }), this.sv.dimensionRow.state, this.sv.dimensionCol.state);
233
+ }
234
+ return (h("div", { class: {
235
+ [CELL_HANDLER_CLASS]: true,
236
+ [MOBILE_CLASS]: true,
237
+ }, style: { left: `${handlerStyle.right}px`, top: `${handlerStyle.bottom}px` }, onMouseDown: (e) => this.autoFillHandler(e), onTouchStart: (e) => this.autoFillHandler(e) }));
238
+ }
239
+ autoFillHandler(e, type = "AutoFill" /* AutoFillType.autoFill */) {
240
+ let target = null;
241
+ if (e.target instanceof Element) {
242
+ target = e.target;
243
+ }
244
+ if (!target) {
245
+ return;
246
+ }
247
+ this.selectionStart(target, this.sv.getData(), type);
248
+ e.preventDefault();
249
+ }
250
+ get isAutoFill() {
251
+ return !!this.autoFillType;
252
+ }
253
+ /** Process mouse move events */
254
+ selectionMouseMove(e) {
255
+ // initiate mouse move debounce if not present
256
+ if (!this.onMouseMoveAutofill) {
257
+ this.onMouseMoveAutofill = debounce_1((e, data) => this.doAutofillMouseMove(e, data), 5);
258
+ }
259
+ if (this.isAutoFill) {
260
+ this.onMouseMoveAutofill(e, this.sv.getData());
261
+ }
262
+ }
263
+ getFocus() {
264
+ let focus = this.sv.selectionStoreService.focused;
265
+ const range = this.sv.selectionStoreService.ranged;
266
+ // there was an issue that it was taking last cell from range but focus was out
267
+ if (!focus && range) {
268
+ focus = { x: range.x, y: range.y };
269
+ }
270
+ return focus || null;
271
+ }
272
+ /**
273
+ * Autofill logic:
274
+ * on mouse move apply based on previous direction (if present)
275
+ */
276
+ doAutofillMouseMove(event, data) {
277
+ // if no initial - not started
278
+ if (!this.autoFillInitial) {
279
+ return;
280
+ }
281
+ const x = getFromEvent(event, 'clientX', MOBILE_CLASS);
282
+ const y = getFromEvent(event, 'clientY', MOBILE_CLASS);
283
+ // skip touch
284
+ if (x === null || y === null) {
285
+ return;
286
+ }
287
+ const current = getCurrentCell({ x, y }, data);
288
+ // first time or direction equal to start(same as first time)
289
+ if (!this.autoFillLast) {
290
+ if (!this.autoFillLast) {
291
+ this.autoFillLast = this.autoFillStart;
292
+ }
293
+ }
294
+ // check if not the latest, if latest - do nothing
295
+ if (isAfterLast(current, data)) {
296
+ return;
297
+ }
298
+ this.autoFillLast = current;
299
+ const isSame = current.x === this.autoFillInitial.x && current.y === this.autoFillInitial.y;
300
+ // if same as initial - clear
301
+ if (isSame) {
302
+ this.sv.setTempRange(null);
303
+ }
304
+ else {
305
+ this.sv.setTempRange({
306
+ area: getRange(this.autoFillInitial, this.autoFillLast),
307
+ type: this.autoFillType,
308
+ });
309
+ }
310
+ }
311
+ /**
312
+ * Range selection started
313
+ * Mode @param type:
314
+ * Can be triggered from MouseDown selection on element
315
+ * Or can be triggered on corner square drag
316
+ */
317
+ selectionStart(target, data, type = "Selection" /* AutoFillType.selection */) {
318
+ /** Get cell by autofill element */
319
+ const { top, left } = target.getBoundingClientRect();
320
+ this.autoFillInitial = this.getFocus();
321
+ this.autoFillType = type;
322
+ this.autoFillStart = getCurrentCell({ x: left, y: top }, data);
323
+ }
324
+ /**
325
+ * Clear current range selection
326
+ * on mouse up and mouse leave events
327
+ */
328
+ clearAutoFillSelection() {
329
+ // Apply autofill values on mouse up if present
330
+ if (this.autoFillInitial) {
331
+ // Get latest
332
+ this.autoFillInitial = this.getFocus();
333
+ // Apply range data if present
334
+ if (this.autoFillType === "AutoFill" /* AutoFillType.autoFill */) {
335
+ const range = getRange(this.autoFillInitial, this.autoFillLast);
336
+ if (range) {
337
+ const { defaultPrevented: stopApply, detail: { range: newRange } } = this.sv.clearRangeDataApply({
338
+ range,
339
+ });
340
+ if (!stopApply) {
341
+ this.applyRangeWithData(newRange);
342
+ }
343
+ else {
344
+ // if prevented - clear temp range
345
+ this.sv.setTempRange(null);
346
+ }
347
+ }
348
+ }
349
+ else {
350
+ this.applyRangeOnly(this.autoFillInitial, this.autoFillLast);
351
+ }
352
+ }
353
+ this.autoFillType = null;
354
+ this.autoFillInitial = null;
355
+ this.autoFillLast = null;
356
+ this.autoFillStart = null;
357
+ }
358
+ /** Trigger range apply events and handle responses */
359
+ onRangeApply(data, range) {
360
+ const models = {};
361
+ for (let rowIndex in data) {
362
+ models[rowIndex] = getSourceItem(this.sv.dataStore, parseInt(rowIndex, 10));
363
+ }
364
+ this.sv.rangeDataApply({
365
+ data,
366
+ models,
367
+ type: this.sv.dataStore.get('type'),
368
+ });
369
+ this.sv.setRange(range);
370
+ }
371
+ /** Apply range and copy data during range application */
372
+ applyRangeWithData(newRange) {
373
+ const oldRange = this.sv.selectionStoreService.ranged;
374
+ const rangeData = {
375
+ type: this.sv.dataStore.get('type'),
376
+ colType: this.sv.columnService.type,
377
+ newData: {},
378
+ mapping: {},
379
+ newRange,
380
+ oldRange,
381
+ };
382
+ const { mapping, changed } = this.sv.columnService.getRangeData(rangeData, this.sv.columnService.columns);
383
+ rangeData.newData = changed;
384
+ rangeData.mapping = mapping;
385
+ let e = this.sv.selectionChanged(rangeData);
386
+ // if default prevented - clear range
387
+ if (e.defaultPrevented) {
388
+ this.sv.setTempRange(null);
389
+ return;
390
+ }
391
+ e = this.sv.rangeCopy(rangeData);
392
+ if (e.defaultPrevented) {
393
+ this.sv.setRange(newRange);
394
+ return;
395
+ }
396
+ this.onRangeApply(rangeData.newData, newRange);
397
+ }
398
+ /**
399
+ * Update range selection only,
400
+ * no data change (mouse selection)
401
+ */
402
+ applyRangeOnly(start, end) {
403
+ // no changes to apply
404
+ if (!start || !end) {
405
+ return;
406
+ }
407
+ const newRange = getRange(start, end);
408
+ this.sv.setRange(newRange);
409
+ }
410
+ }
411
+
412
+ const revogrOverlayStyleCss = ".revo-drag-icon{width:11px}.revo-drag-icon::before{content:\"::\"}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revogr-overlay-selection{display:block;position:relative;width:100%}revogr-overlay-selection .autofill-handle{position:absolute;width:14px;height:14px;margin-left:-13px;margin-top:-13px;z-index:10;cursor:crosshair}revogr-overlay-selection .autofill-handle::before{content:\"\";position:absolute;right:0;bottom:0;width:10px;height:10px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection.mobile .autofill-handle{position:absolute;width:30px;height:30px;margin-left:-29px;margin-top:-29px;z-index:10;cursor:crosshair}revogr-overlay-selection.mobile .autofill-handle::before{content:\"\";position:absolute;right:0;bottom:0;width:12px;height:12px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection .selection-border-range{position:absolute;pointer-events:none;z-index:9;box-shadow:-1px 0 0 #0d63e8 inset, 1px 0 0 #0d63e8 inset, 0 -1px 0 #0d63e8 inset, 0 1px 0 #0d63e8 inset}revogr-overlay-selection .selection-border-range .range-handlers{height:100%;background-color:transparent;width:75%;max-width:50px;min-width:20px;left:50%;transform:translateX(-50%);position:absolute}revogr-overlay-selection .selection-border-range .range-handlers>span{pointer-events:auto;height:20px;width:20px;position:absolute;left:50%;transform:translateX(-50%)}revogr-overlay-selection .selection-border-range .range-handlers>span:before,revogr-overlay-selection .selection-border-range .range-handlers>span:after{position:absolute;border-radius:5px;width:15px;height:5px;left:50%;transform:translateX(-50%);background-color:rgba(0, 0, 0, 0.2)}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child{top:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child:before{content:\"\";top:0}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child{bottom:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child:after{content:\"\";bottom:0}revogr-overlay-selection revogr-edit{z-index:10}";
413
+ const RevogrOverlaySelectionStyle0 = revogrOverlayStyleCss;
414
+
415
+ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection extends HTMLElement {
416
+ constructor() {
417
+ super();
418
+ this.__registerHost();
419
+ this.beforeCopyRegion = createEvent(this, "beforecopyregion", 7);
420
+ this.beforeRegionPaste = createEvent(this, "beforepasteregion", 7);
421
+ this.cellEditApply = createEvent(this, "celleditapply", 7);
422
+ this.beforeFocusCell = createEvent(this, "beforecellfocusinit", 7);
423
+ this.setEdit = createEvent(this, "setedit", 7);
424
+ this.beforeApplyRange = createEvent(this, "beforeapplyrange", 7);
425
+ this.beforeSetRange = createEvent(this, "beforesetrange", 7);
426
+ this.beforeEditRender = createEvent(this, "beforeeditrender", 7);
427
+ this.setRange = createEvent(this, "setrange", 7);
428
+ this.selectAll = createEvent(this, "selectall", 7);
429
+ this.cancelEdit = createEvent(this, "canceledit", 7);
430
+ this.setTempRange = createEvent(this, "settemprange", 7);
431
+ this.applyFocus = createEvent(this, "applyfocus", 7);
432
+ this.focusCell = createEvent(this, "focuscell", 7);
433
+ this.beforeRangeDataApply = createEvent(this, "beforerangedataapply", 7);
434
+ this.selectionChange = createEvent(this, "selectionchangeinit", 7);
435
+ this.beforeRangeCopyApply = createEvent(this, "beforerangecopyapply", 7);
436
+ this.rangeEditApply = createEvent(this, "rangeeditapply", 7);
437
+ this.rangeClipboardCopy = createEvent(this, "clipboardrangecopy", 7);
438
+ this.rangeClipboardPaste = createEvent(this, "clipboardrangepaste", 7);
439
+ this.beforeKeyDown = createEvent(this, "beforekeydown", 7);
440
+ this.beforeKeyUp = createEvent(this, "beforekeyup", 7);
441
+ this.beforeCellSave = createEvent(this, "beforecellsave", 7);
442
+ this.keyboardService = null;
443
+ this.autoFillService = null;
444
+ this.revogrEdit = null;
445
+ this.readonly = undefined;
446
+ this.range = undefined;
447
+ this.canDrag = undefined;
448
+ this.useClipboard = undefined;
449
+ this.selectionStore = undefined;
450
+ this.dimensionRow = undefined;
451
+ this.dimensionCol = undefined;
452
+ this.dataStore = undefined;
453
+ this.colData = undefined;
454
+ this.lastCell = undefined;
455
+ this.editors = undefined;
456
+ this.applyChangesOnClose = false;
457
+ this.additionalData = undefined;
458
+ this.isMobileDevice = undefined;
459
+ }
460
+ // #endregion
461
+ // #region Listeners
462
+ onMouseMove(e) {
463
+ if (this.selectionStoreService.focused) {
464
+ this.autoFillService.selectionMouseMove(e);
465
+ }
466
+ }
467
+ /** Action finished inside of the document. */
468
+ /** Pointer left document, clear any active operation. */
469
+ onMouseUp() {
470
+ this.autoFillService.clearAutoFillSelection();
471
+ }
472
+ /** Row drag started. */
473
+ onCellDrag(e) {
474
+ var _a;
475
+ (_a = this.orderEditor) === null || _a === void 0 ? void 0 : _a.dragStart(e.detail);
476
+ }
477
+ /** Get keyboard down from element. */
478
+ onKeyUp(e) {
479
+ this.beforeKeyUp.emit(e);
480
+ }
481
+ /** Get keyboard down from element. */
482
+ onKeyDown(e) {
483
+ var _a;
484
+ const proxy = this.beforeKeyDown.emit(e);
485
+ if (e.defaultPrevented || proxy.defaultPrevented) {
486
+ return;
487
+ }
488
+ (_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyDown(e, this.range);
489
+ }
490
+ // #endregion
491
+ /** Selection & Keyboard */
492
+ selectionServiceSet(s) {
493
+ this.selectionStoreService = new SelectionStoreService(s, {
494
+ changeRange: range => this.triggerRangeEvent(range),
495
+ focus: (focus, end) => this.doFocus(focus, end),
496
+ });
497
+ this.keyboardService = new KeyboardService({
498
+ selectionStoreService: this.selectionStoreService,
499
+ selectionStore: s,
500
+ range: r => this.selectionStoreService.changeRange(r),
501
+ focusNext: (f, next) => this.doFocus(f, f, next),
502
+ change: val => {
503
+ if (this.readonly) {
504
+ return;
505
+ }
506
+ this.doEdit(val);
507
+ },
508
+ cancel: async () => {
509
+ await this.revogrEdit.cancelChanges();
510
+ this.closeEdit();
511
+ },
512
+ clearCell: () => !this.readonly && this.clearCell(),
513
+ internalPaste: () => !this.readonly && this.beforeRegionPaste.emit(),
514
+ getData: () => this.getData(),
515
+ selectAll: () => this.selectAll.emit(),
516
+ });
517
+ this.createAutoFillService();
518
+ }
519
+ /** Autofill */
520
+ createAutoFillService() {
521
+ this.autoFillService = new AutoFillService({
522
+ selectionStoreService: this.selectionStoreService,
523
+ dimensionRow: this.dimensionRow,
524
+ dimensionCol: this.dimensionCol,
525
+ columnService: this.columnService,
526
+ dataStore: this.dataStore,
527
+ clearRangeDataApply: e => this.beforeRangeDataApply.emit(Object.assign(Object.assign({}, e), this.types)),
528
+ setTempRange: e => this.setTempRange.emit(e),
529
+ selectionChanged: e => this.selectionChange.emit(e),
530
+ rangeCopy: e => this.beforeRangeCopyApply.emit(e),
531
+ rangeDataApply: e => this.rangeEditApply.emit(e),
532
+ setRange: e => this.triggerRangeEvent(e),
533
+ getData: () => this.getData(),
534
+ });
535
+ }
536
+ /** Columns */
537
+ columnServiceSet() {
538
+ var _a;
539
+ (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
540
+ this.columnService = new ColumnService(this.dataStore, this.colData);
541
+ this.createAutoFillService();
542
+ }
543
+ connectedCallback() {
544
+ this.columnServiceSet();
545
+ this.selectionServiceSet(this.selectionStore);
546
+ }
547
+ disconnectedCallback() {
548
+ var _a;
549
+ (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
550
+ }
551
+ async componentWillRender() {
552
+ var _a, _b;
553
+ const editCell = this.selectionStore.get('edit');
554
+ if (!editCell) {
555
+ await ((_b = (_a = this.revogrEdit) === null || _a === void 0 ? void 0 : _a.beforeDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a));
556
+ }
557
+ }
558
+ renderRange(range) {
559
+ const style = getElStyle(range, this.dimensionRow.state, this.dimensionCol.state);
560
+ return [
561
+ h("div", { class: SELECTION_BORDER_CLASS, style: style }, this.isMobileDevice && (h("div", { class: "range-handlers" }, h("span", { class: MOBILE_CLASS }), h("span", { class: MOBILE_CLASS })))),
562
+ ];
563
+ }
564
+ renderEditor() {
565
+ // Check if edit access
566
+ const editCell = this.selectionStore.get('edit');
567
+ // Readonly or Editor closed
568
+ if (this.readonly || !editCell) {
569
+ return null;
570
+ }
571
+ const val = editCell.val || this.columnService.getCellData(editCell.y, editCell.x);
572
+ const editable = Object.assign(Object.assign({}, editCell), this.columnService.getSaveData(editCell.y, editCell.x, val));
573
+ const renderEvent = this.beforeEditRender.emit(Object.assign({ range: Object.assign(Object.assign({}, editCell), { x1: editCell.x, y1: editCell.y }) }, this.types));
574
+ // Render prevented
575
+ if (renderEvent.defaultPrevented) {
576
+ return null;
577
+ }
578
+ const style = getElStyle(renderEvent.detail.range, this.dimensionRow.state, this.dimensionCol.state);
579
+ return (h("revogr-edit", { style: style, ref: el => (this.revogrEdit = el), additionalData: this.additionalData, editCell: editable, saveOnClose: this.applyChangesOnClose, column: this.columnService.columns[editCell.x], editor: this.columnService.getCellEditor(editCell.y, editCell.x, this.editors), onCloseedit: e => this.closeEdit(e), onCelledit: e => {
580
+ const saveEv = this.beforeCellSave.emit(e.detail);
581
+ if (!saveEv.defaultPrevented) {
582
+ this.cellEdit(saveEv.detail);
583
+ }
584
+ // if not clear navigate to next cell after edit
585
+ if (!saveEv.detail.preventFocus) {
586
+ this.focusNext();
587
+ }
588
+ } }));
589
+ }
590
+ render() {
591
+ const nodes = [];
592
+ const editCell = this.renderEditor();
593
+ // Editor
594
+ if (editCell) {
595
+ nodes.push(editCell);
596
+ }
597
+ else {
598
+ const range = this.selectionStoreService.ranged;
599
+ const selectionFocus = this.selectionStoreService.focused;
600
+ // Clipboard
601
+ if ((range || selectionFocus) && this.useClipboard) {
602
+ nodes.push(h("revogr-clipboard", { readonly: this.readonly, onCopyregion: e => this.onCopy(e.detail), onClearregion: () => !this.readonly && this.clearCell(), ref: e => (this.clipboard = e), onPasteregion: e => this.onPaste(e.detail) }));
603
+ }
604
+ // Range
605
+ if (range) {
606
+ nodes.push(...this.renderRange(range));
607
+ }
608
+ // Autofill
609
+ if (selectionFocus && !this.readonly && this.range) {
610
+ nodes.push(this.autoFillService.renderAutofill(range, selectionFocus));
611
+ }
612
+ // Order
613
+ if (this.canDrag) {
614
+ nodes.push(h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onRowdragstartinit: e => this.rowDragStart(e) }));
615
+ }
616
+ }
617
+ return (h(Host, { key: '1bf980bd953bd6743607eeafeb7666a8d8fdf9df', class: { mobile: this.isMobileDevice },
618
+ // Open Editor on DblClick
619
+ onDblClick: (e) => {
620
+ // DblClick prevented outside - Editor will not open
621
+ if (!e.defaultPrevented) {
622
+ this.doEdit();
623
+ }
624
+ }, onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, h("slot", { key: '53fb45eee4024c8ab29275c6dff3f708e011f007', name: "data" })));
625
+ }
626
+ doFocus(focus, end, next) {
627
+ const { defaultPrevented } = this.beforeFocusCell.emit(this.columnService.getSaveData(focus.y, focus.x));
628
+ if (defaultPrevented) {
629
+ return false;
630
+ }
631
+ const evData = Object.assign({ range: Object.assign(Object.assign({}, focus), { x1: end.x, y1: end.y }), next }, this.types);
632
+ const applyEvent = this.applyFocus.emit(evData);
633
+ if (applyEvent.defaultPrevented) {
634
+ return false;
635
+ }
636
+ const { range } = applyEvent.detail;
637
+ return !this.focusCell.emit(Object.assign({ focus: {
638
+ x: range.x,
639
+ y: range.y,
640
+ }, end: {
641
+ x: range.x1,
642
+ y: range.y1,
643
+ } }, applyEvent.detail)).defaultPrevented;
644
+ }
645
+ triggerRangeEvent(range) {
646
+ const type = this.types.rowType;
647
+ const applyEvent = this.beforeApplyRange.emit(Object.assign({ range: Object.assign({}, range) }, this.types));
648
+ if (applyEvent.defaultPrevented) {
649
+ return false;
650
+ }
651
+ const data = this.columnService.getRangeTransformedToProps(applyEvent.detail.range, this.dataStore);
652
+ let e = this.beforeSetRange.emit(data);
653
+ e = this.setRange.emit(Object.assign(Object.assign({}, applyEvent.detail.range), { type }));
654
+ if (e.defaultPrevented) {
655
+ return false;
656
+ }
657
+ return !e.defaultPrevented;
658
+ }
659
+ onElementMouseDown(e, touch = false) {
660
+ // Ignore focus if clicked input
661
+ if (isEditInput(e.target)) {
662
+ return;
663
+ }
664
+ const data = this.getData();
665
+ if (e.defaultPrevented) {
666
+ return;
667
+ }
668
+ const x = getFromEvent(e, 'clientX');
669
+ const y = getFromEvent(e, 'clientY');
670
+ // skip touch
671
+ if (x === null || y === null) {
672
+ return;
673
+ }
674
+ // Regular cell click
675
+ const focusCell = getCurrentCell({ x, y }, data);
676
+ this.selectionStoreService.focus(focusCell, this.range && e.shiftKey);
677
+ // Initiate autofill selection
678
+ if (this.range) {
679
+ this.autoFillService.selectionStart(e.target, data);
680
+ if (!touch) {
681
+ e.preventDefault();
682
+ }
683
+ else if (verifyTouchTarget(e.touches[0], MOBILE_CLASS)) {
684
+ e.preventDefault();
685
+ }
686
+ }
687
+ }
688
+ /**
689
+ * Start cell editing
690
+ */
691
+ doEdit(val = '') {
692
+ var _a;
693
+ if (this.canEdit()) {
694
+ const editCell = this.selectionStore.get('focus');
695
+ const data = this.columnService.getSaveData(editCell.y, editCell.x);
696
+ (_a = this.setEdit) === null || _a === void 0 ? void 0 : _a.emit(Object.assign(Object.assign({}, data), { val }));
697
+ }
698
+ }
699
+ /**
700
+ * Close editor event triggered
701
+ * @param details - if requires focus next
702
+ */
703
+ closeEdit(e) {
704
+ this.cancelEdit.emit();
705
+ if (e === null || e === void 0 ? void 0 : e.detail) {
706
+ this.focusNext();
707
+ }
708
+ }
709
+ /**
710
+ * Edit finished.
711
+ * Close Editor and save.
712
+ */
713
+ cellEdit(e) {
714
+ const dataToSave = this.columnService.getSaveData(e.rgRow, e.rgCol, e.val);
715
+ this.cellEditApply.emit(dataToSave);
716
+ }
717
+ getRegion() {
718
+ const focus = this.selectionStoreService.focused;
719
+ let range = this.selectionStoreService.ranged;
720
+ if (!range) {
721
+ range = getRange(focus, focus);
722
+ }
723
+ return range;
724
+ }
725
+ onCopy(e) {
726
+ const range = this.getRegion();
727
+ const canCopyEvent = this.beforeCopyRegion.emit(range);
728
+ if (canCopyEvent.defaultPrevented) {
729
+ return false;
730
+ }
731
+ let rangeData;
732
+ if (range) {
733
+ const { data, mapping } = this.columnService.copyRangeArray(range, this.dataStore);
734
+ const event = this.rangeClipboardCopy.emit(Object.assign({ range,
735
+ data,
736
+ mapping }, this.types));
737
+ if (!event.defaultPrevented) {
738
+ rangeData = event.detail.data;
739
+ }
740
+ }
741
+ this.clipboard.doCopy(e, rangeData);
742
+ return true;
743
+ }
744
+ onPaste(data) {
745
+ const focus = this.selectionStoreService.focused;
746
+ const isEditing = this.selectionStoreService.edited !== null;
747
+ if (!focus || isEditing) {
748
+ return;
749
+ }
750
+ let { changed, range } = this.columnService.getTransformedDataToApply(focus, data);
751
+ const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, range }, this.types));
752
+ if (canPaste) {
753
+ return;
754
+ }
755
+ this.autoFillService.onRangeApply(changed, range);
756
+ }
757
+ async focusNext() {
758
+ const canFocus = await this.keyboardService.keyChangeSelection(new KeyboardEvent('keydown', {
759
+ code: codesLetter.ARROW_DOWN,
760
+ }), this.range);
761
+ if (!canFocus) {
762
+ this.closeEdit();
763
+ }
764
+ }
765
+ clearCell() {
766
+ if (this.selectionStoreService.ranged &&
767
+ !isRangeSingleCell(this.selectionStoreService.ranged)) {
768
+ const data = this.columnService.getRangeStaticData(this.selectionStoreService.ranged, '');
769
+ this.autoFillService.onRangeApply(data, this.selectionStoreService.ranged);
770
+ }
771
+ else if (this.canEdit()) {
772
+ const focused = this.selectionStoreService.focused;
773
+ const cell = this.columnService.getSaveData(focused.y, focused.x);
774
+ this.cellEdit({
775
+ rgRow: focused.y,
776
+ rgCol: focused.x,
777
+ val: '',
778
+ type: cell.type,
779
+ prop: cell.prop,
780
+ });
781
+ }
782
+ }
783
+ rowDragStart({ detail }) {
784
+ detail.text = this.columnService.getCellData(detail.cell.y, detail.cell.x);
785
+ }
786
+ /**
787
+ * Verify if edit allowed.
788
+ */
789
+ canEdit() {
790
+ var _a;
791
+ if (this.readonly) {
792
+ return false;
793
+ }
794
+ const editCell = this.selectionStoreService.focused;
795
+ return editCell && !((_a = this.columnService) === null || _a === void 0 ? void 0 : _a.isReadOnly(editCell.y, editCell.x));
796
+ }
797
+ get types() {
798
+ return {
799
+ rowType: this.dataStore.get('type'),
800
+ colType: this.columnService.type,
801
+ };
802
+ }
803
+ /**
804
+ * Collect data
805
+ */
806
+ getData() {
807
+ return {
808
+ el: this.element,
809
+ rows: this.dimensionRow.state,
810
+ cols: this.dimensionCol.state,
811
+ lastCell: this.lastCell,
812
+ };
813
+ }
814
+ get element() { return this; }
815
+ static get watchers() { return {
816
+ "selectionStore": ["selectionServiceSet"],
817
+ "dimensionRow": ["createAutoFillService"],
818
+ "dimensionCol": ["createAutoFillService"],
819
+ "dataStore": ["columnServiceSet"],
820
+ "colData": ["columnServiceSet"]
821
+ }; }
822
+ static get style() { return RevogrOverlaySelectionStyle0; }
823
+ }, [4, "revogr-overlay-selection", {
824
+ "readonly": [4],
825
+ "range": [4],
826
+ "canDrag": [4, "can-drag"],
827
+ "useClipboard": [4, "use-clipboard"],
828
+ "selectionStore": [16],
829
+ "dimensionRow": [16],
830
+ "dimensionCol": [16],
831
+ "dataStore": [16],
832
+ "colData": [16],
833
+ "lastCell": [16],
834
+ "editors": [16],
835
+ "applyChangesOnClose": [4, "apply-changes-on-close"],
836
+ "additionalData": [8, "additional-data"],
837
+ "isMobileDevice": [4, "is-mobile-device"]
838
+ }, [[5, "touchmove", "onMouseMove"], [5, "mousemove", "onMouseMove"], [5, "touchend", "onMouseUp"], [5, "mouseup", "onMouseUp"], [5, "mouseleave", "onMouseUp"], [0, "dragstartcell", "onCellDrag"], [4, "keyup", "onKeyUp"], [4, "keydown", "onKeyDown"]], {
839
+ "selectionStore": ["selectionServiceSet"],
840
+ "dimensionRow": ["createAutoFillService"],
841
+ "dimensionCol": ["createAutoFillService"],
842
+ "dataStore": ["columnServiceSet"],
843
+ "colData": ["columnServiceSet"]
844
+ }]);
845
+ function defineCustomElement() {
846
+ if (typeof customElements === "undefined") {
847
+ return;
848
+ }
849
+ const components = ["revogr-overlay-selection", "revogr-clipboard", "revogr-edit", "revogr-order-editor"];
850
+ components.forEach(tagName => { switch (tagName) {
851
+ case "revogr-overlay-selection":
852
+ if (!customElements.get(tagName)) {
853
+ customElements.define(tagName, OverlaySelection);
854
+ }
855
+ break;
856
+ case "revogr-clipboard":
857
+ if (!customElements.get(tagName)) {
858
+ defineCustomElement$3();
859
+ }
860
+ break;
861
+ case "revogr-edit":
862
+ if (!customElements.get(tagName)) {
863
+ defineCustomElement$2();
864
+ }
865
+ break;
866
+ case "revogr-order-editor":
867
+ if (!customElements.get(tagName)) {
868
+ defineCustomElement$1();
869
+ }
870
+ break;
871
+ } });
872
+ }
873
+
874
+ export { OverlaySelection as O, defineCustomElement as d, getFromEvent as g };
875
+
876
+ //# sourceMappingURL=revogr-overlay-selection2.js.map