lsp-grid 1.0.0

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 (675) hide show
  1. package/README.md +34 -0
  2. package/dist/cjs/app-globals-Bfsg1bDt.js +16 -0
  3. package/dist/cjs/app-globals-Bfsg1bDt.js.map +1 -0
  4. package/dist/cjs/cell-renderer-DtuYp7tj.js +106 -0
  5. package/dist/cjs/cell-renderer-DtuYp7tj.js.map +1 -0
  6. package/dist/cjs/column.drag.plugin-BIptTmfz.js +2554 -0
  7. package/dist/cjs/column.drag.plugin-BIptTmfz.js.map +1 -0
  8. package/dist/cjs/column.service-BnVSAfcu.js +1391 -0
  9. package/dist/cjs/column.service-BnVSAfcu.js.map +1 -0
  10. package/dist/cjs/data.store-CrF4Nf9q.js +3615 -0
  11. package/dist/cjs/data.store-CrF4Nf9q.js.map +1 -0
  12. package/dist/cjs/debounce-DgeyTQM0.js +498 -0
  13. package/dist/cjs/debounce-DgeyTQM0.js.map +1 -0
  14. package/dist/cjs/edit.utils-Bw-E3Fj6.js +118 -0
  15. package/dist/cjs/edit.utils-Bw-E3Fj6.js.map +1 -0
  16. package/dist/cjs/events-D0Syn6ut.js +46 -0
  17. package/dist/cjs/events-D0Syn6ut.js.map +1 -0
  18. package/dist/cjs/filter.button-CaAAXq-6.js +49 -0
  19. package/dist/cjs/filter.button-CaAAXq-6.js.map +1 -0
  20. package/dist/cjs/header-cell-renderer-DhRJqZ-w.js +356 -0
  21. package/dist/cjs/header-cell-renderer-DhRJqZ-w.js.map +1 -0
  22. package/dist/cjs/index-VM40U6Gh.js +2549 -0
  23. package/dist/cjs/index-VM40U6Gh.js.map +1 -0
  24. package/dist/cjs/index.cjs.js +346 -0
  25. package/dist/cjs/index.cjs.js.map +1 -0
  26. package/dist/cjs/loader.cjs.js +19 -0
  27. package/dist/cjs/loader.cjs.js.map +1 -0
  28. package/dist/cjs/revo-grid.cjs.entry.js +2187 -0
  29. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
  30. package/dist/cjs/revo-grid.cjs.js +31 -0
  31. package/dist/cjs/revo-grid.cjs.js.map +1 -0
  32. package/dist/cjs/revo-grid.entry.cjs.js.map +1 -0
  33. package/dist/cjs/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.cjs.js.map +1 -0
  34. package/dist/cjs/revogr-attribution_7.cjs.entry.js +1463 -0
  35. package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -0
  36. package/dist/cjs/revogr-clipboard.revogr-edit.revogr-order-editor.entry.cjs.js.map +1 -0
  37. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +456 -0
  38. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -0
  39. package/dist/cjs/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.cjs.js.map +1 -0
  40. package/dist/cjs/revogr-data_4.cjs.entry.js +948 -0
  41. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
  42. package/dist/cjs/revogr-filter-panel.cjs.entry.js +382 -0
  43. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
  44. package/dist/cjs/revogr-filter-panel.entry.cjs.js.map +1 -0
  45. package/dist/cjs/row-header-utils-DL640c7x.js +420 -0
  46. package/dist/cjs/row-header-utils-DL640c7x.js.map +1 -0
  47. package/dist/cjs/text-editor-DWChyeVV.js +81 -0
  48. package/dist/cjs/text-editor-DWChyeVV.js.map +1 -0
  49. package/dist/cjs/throttle-Bb1Bbfd1.js +278 -0
  50. package/dist/cjs/throttle-Bb1Bbfd1.js.map +1 -0
  51. package/dist/cjs/viewport.helpers-CI6uB8tu.js +59 -0
  52. package/dist/cjs/viewport.helpers-CI6uB8tu.js.map +1 -0
  53. package/dist/collection/collection-manifest.json +28 -0
  54. package/dist/collection/components/attribution/revogr-attribution.js +20 -0
  55. package/dist/collection/components/attribution/revogr-attribution.js.map +1 -0
  56. package/dist/collection/components/clipboard/revogr-clipboard.js +396 -0
  57. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
  58. package/dist/collection/components/data/cell-renderer.js +44 -0
  59. package/dist/collection/components/data/cell-renderer.js.map +1 -0
  60. package/dist/collection/components/data/column.service.js +293 -0
  61. package/dist/collection/components/data/column.service.js.map +1 -0
  62. package/dist/collection/components/data/revogr-data-style.css +75 -0
  63. package/dist/collection/components/data/revogr-data.js +697 -0
  64. package/dist/collection/components/data/revogr-data.js.map +1 -0
  65. package/dist/collection/components/data/row-highlight.plugin.js +51 -0
  66. package/dist/collection/components/data/row-highlight.plugin.js.map +1 -0
  67. package/dist/collection/components/data/row-renderer.js +16 -0
  68. package/dist/collection/components/data/row-renderer.js.map +1 -0
  69. package/dist/collection/components/editors/edit.utils.js +13 -0
  70. package/dist/collection/components/editors/edit.utils.js.map +1 -0
  71. package/dist/collection/components/editors/revogr-edit-style.css +16 -0
  72. package/dist/collection/components/editors/revogr-edit.js +346 -0
  73. package/dist/collection/components/editors/revogr-edit.js.map +1 -0
  74. package/dist/collection/components/editors/text-editor.js +74 -0
  75. package/dist/collection/components/editors/text-editor.js.map +1 -0
  76. package/dist/collection/components/extra/revogr-extra.js +125 -0
  77. package/dist/collection/components/extra/revogr-extra.js.map +1 -0
  78. package/dist/collection/components/header/header-cell-renderer.js +34 -0
  79. package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
  80. package/dist/collection/components/header/header-group-renderer.js +25 -0
  81. package/dist/collection/components/header/header-group-renderer.js.map +1 -0
  82. package/dist/collection/components/header/header-renderer.js +61 -0
  83. package/dist/collection/components/header/header-renderer.js.map +1 -0
  84. package/dist/collection/components/header/resizable.directive.js +237 -0
  85. package/dist/collection/components/header/resizable.directive.js.map +1 -0
  86. package/dist/collection/components/header/resizable.element.js +38 -0
  87. package/dist/collection/components/header/resizable.element.js.map +1 -0
  88. package/dist/collection/components/header/revogr-header-style.css +144 -0
  89. package/dist/collection/components/header/revogr-header.js +573 -0
  90. package/dist/collection/components/header/revogr-header.js.map +1 -0
  91. package/dist/collection/components/order/order-renderer.js +50 -0
  92. package/dist/collection/components/order/order-renderer.js.map +1 -0
  93. package/dist/collection/components/order/order-row.service.js +72 -0
  94. package/dist/collection/components/order/order-row.service.js.map +1 -0
  95. package/dist/collection/components/order/revogr-order-editor.js +461 -0
  96. package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
  97. package/dist/collection/components/overlay/autofill.service.js +224 -0
  98. package/dist/collection/components/overlay/autofill.service.js.map +1 -0
  99. package/dist/collection/components/overlay/keyboard.service.js +158 -0
  100. package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
  101. package/dist/collection/components/overlay/revogr-overlay-selection.js +1515 -0
  102. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
  103. package/dist/collection/components/overlay/revogr-overlay-style.css +95 -0
  104. package/dist/collection/components/overlay/selection.utils.js +136 -0
  105. package/dist/collection/components/overlay/selection.utils.js.map +1 -0
  106. package/dist/collection/components/revoGrid/grid.helpers.js +33 -0
  107. package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -0
  108. package/dist/collection/components/revoGrid/plugin.service.js +81 -0
  109. package/dist/collection/components/revoGrid/plugin.service.js.map +1 -0
  110. package/dist/collection/components/revoGrid/revo-grid-style.css +567 -0
  111. package/dist/collection/components/revoGrid/revo-grid.js +3671 -0
  112. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
  113. package/dist/collection/components/revoGrid/viewport.helpers.js +49 -0
  114. package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -0
  115. package/dist/collection/components/revoGrid/viewport.resize.service.js +55 -0
  116. package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -0
  117. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +90 -0
  118. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
  119. package/dist/collection/components/revoGrid/viewport.service.js +237 -0
  120. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -0
  121. package/dist/collection/components/rowHeaders/revogr-row-headers.js +291 -0
  122. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
  123. package/dist/collection/components/rowHeaders/row-header-render.js +5 -0
  124. package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
  125. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +69 -0
  126. package/dist/collection/components/scroll/revogr-viewport-scroll.js +601 -0
  127. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -0
  128. package/dist/collection/components/scrollable/autohide-scroll.plugin.js +44 -0
  129. package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -0
  130. package/dist/collection/components/scrollable/revogr-scroll-style.css +34 -0
  131. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +295 -0
  132. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
  133. package/dist/collection/components/selectionFocus/revogr-focus-style.css +7 -0
  134. package/dist/collection/components/selectionFocus/revogr-focus.js +400 -0
  135. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -0
  136. package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +28 -0
  137. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +171 -0
  138. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -0
  139. package/dist/collection/components/vnode/vnode-converter.js +84 -0
  140. package/dist/collection/components/vnode/vnode-converter.js.map +1 -0
  141. package/dist/collection/components/vnode/vnode.utils.js +18 -0
  142. package/dist/collection/components/vnode/vnode.utils.js.map +1 -0
  143. package/dist/collection/global/global.js +19 -0
  144. package/dist/collection/global/global.js.map +1 -0
  145. package/dist/collection/index.js +13 -0
  146. package/dist/collection/index.js.map +1 -0
  147. package/dist/collection/plugins/add-rows-on-paste.plugin.js +40 -0
  148. package/dist/collection/plugins/add-rows-on-paste.plugin.js.map +1 -0
  149. package/dist/collection/plugins/base.plugin.js +90 -0
  150. package/dist/collection/plugins/base.plugin.js.map +1 -0
  151. package/dist/collection/plugins/column.auto-size.plugin.js +225 -0
  152. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -0
  153. package/dist/collection/plugins/column.stretch.plugin.js +96 -0
  154. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -0
  155. package/dist/collection/plugins/dispatcher.js +40 -0
  156. package/dist/collection/plugins/dispatcher.js.map +1 -0
  157. package/dist/collection/plugins/export/csv.js +72 -0
  158. package/dist/collection/plugins/export/csv.js.map +1 -0
  159. package/dist/collection/plugins/export/export.plugin.js +157 -0
  160. package/dist/collection/plugins/export/export.plugin.js.map +1 -0
  161. package/dist/collection/plugins/export/types.js +2 -0
  162. package/dist/collection/plugins/export/types.js.map +1 -0
  163. package/dist/collection/plugins/filter/conditions/equal.js +21 -0
  164. package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
  165. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +14 -0
  166. package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
  167. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +11 -0
  168. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
  169. package/dist/collection/plugins/filter/conditions/number/lessThan.js +16 -0
  170. package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
  171. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +11 -0
  172. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
  173. package/dist/collection/plugins/filter/conditions/set.js +7 -0
  174. package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
  175. package/dist/collection/plugins/filter/conditions/string/beginswith.js +21 -0
  176. package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
  177. package/dist/collection/plugins/filter/conditions/string/contains.js +25 -0
  178. package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
  179. package/dist/collection/plugins/filter/filter.button.js +28 -0
  180. package/dist/collection/plugins/filter/filter.button.js.map +1 -0
  181. package/dist/collection/plugins/filter/filter.indexed.js +49 -0
  182. package/dist/collection/plugins/filter/filter.indexed.js.map +1 -0
  183. package/dist/collection/plugins/filter/filter.panel.js +610 -0
  184. package/dist/collection/plugins/filter/filter.panel.js.map +1 -0
  185. package/dist/collection/plugins/filter/filter.plugin.js +388 -0
  186. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
  187. package/dist/collection/plugins/filter/filter.style.css +165 -0
  188. package/dist/collection/plugins/filter/filter.types.js +9 -0
  189. package/dist/collection/plugins/filter/filter.types.js.map +1 -0
  190. package/dist/collection/plugins/groupingRow/grouping.const.js +16 -0
  191. package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
  192. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +79 -0
  193. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
  194. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +245 -0
  195. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
  196. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +38 -0
  197. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
  198. package/dist/collection/plugins/groupingRow/grouping.row.types.js +2 -0
  199. package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
  200. package/dist/collection/plugins/groupingRow/grouping.service.js +178 -0
  201. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
  202. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +61 -0
  203. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
  204. package/dist/collection/plugins/index.js +15 -0
  205. package/dist/collection/plugins/index.js.map +1 -0
  206. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +175 -0
  207. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
  208. package/dist/collection/plugins/moveColumn/order-column.handler.js +71 -0
  209. package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
  210. package/dist/collection/plugins/rtl/rtl.plugin.js +110 -0
  211. package/dist/collection/plugins/rtl/rtl.plugin.js.map +1 -0
  212. package/dist/collection/plugins/sorting/sorting.func.js +82 -0
  213. package/dist/collection/plugins/sorting/sorting.func.js.map +1 -0
  214. package/dist/collection/plugins/sorting/sorting.plugin.js +224 -0
  215. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
  216. package/dist/collection/plugins/sorting/sorting.sign.js +9 -0
  217. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
  218. package/dist/collection/plugins/sorting/sorting.types.js +2 -0
  219. package/dist/collection/plugins/sorting/sorting.types.js.map +1 -0
  220. package/dist/collection/plugins/wcag/index.js +84 -0
  221. package/dist/collection/plugins/wcag/index.js.map +1 -0
  222. package/dist/collection/serve/controller.js +344 -0
  223. package/dist/collection/serve/data.js +201 -0
  224. package/dist/collection/services/cell.helpers.js +12 -0
  225. package/dist/collection/services/cell.helpers.js.map +1 -0
  226. package/dist/collection/services/column.data.provider.js +119 -0
  227. package/dist/collection/services/column.data.provider.js.map +1 -0
  228. package/dist/collection/services/data.provider.js +89 -0
  229. package/dist/collection/services/data.provider.js.map +1 -0
  230. package/dist/collection/services/dimension.provider.js +176 -0
  231. package/dist/collection/services/dimension.provider.js.map +1 -0
  232. package/dist/collection/services/local.scroll.service.js +124 -0
  233. package/dist/collection/services/local.scroll.service.js.map +1 -0
  234. package/dist/collection/services/local.scroll.timer.js +81 -0
  235. package/dist/collection/services/local.scroll.timer.js.map +1 -0
  236. package/dist/collection/services/selection.store.connector.js +307 -0
  237. package/dist/collection/services/selection.store.connector.js.map +1 -0
  238. package/dist/collection/services/viewport.provider.js +17 -0
  239. package/dist/collection/services/viewport.provider.js.map +1 -0
  240. package/dist/collection/store/dataSource/data.proxy.js +45 -0
  241. package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
  242. package/dist/collection/store/dataSource/data.store.js +144 -0
  243. package/dist/collection/store/dataSource/data.store.js.map +1 -0
  244. package/dist/collection/store/dataSource/index.js +7 -0
  245. package/dist/collection/store/dataSource/index.js.map +1 -0
  246. package/dist/collection/store/dataSource/trimmed.plugin.js +34 -0
  247. package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -0
  248. package/dist/collection/store/dimension/dimension.helpers.js +101 -0
  249. package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
  250. package/dist/collection/store/dimension/dimension.recalculate.plugin.js +35 -0
  251. package/dist/collection/store/dimension/dimension.recalculate.plugin.js.map +1 -0
  252. package/dist/collection/store/dimension/dimension.store.js +109 -0
  253. package/dist/collection/store/dimension/dimension.store.js.map +1 -0
  254. package/dist/collection/store/dimension/dimension.trim.plugin.js +61 -0
  255. package/dist/collection/store/dimension/dimension.trim.plugin.js.map +1 -0
  256. package/dist/collection/store/dimension/index.js +6 -0
  257. package/dist/collection/store/dimension/index.js.map +1 -0
  258. package/dist/collection/store/index.js +17 -0
  259. package/dist/collection/store/index.js.map +1 -0
  260. package/dist/collection/store/selection/index.js +6 -0
  261. package/dist/collection/store/selection/index.js.map +1 -0
  262. package/dist/collection/store/selection/selection.helpers.js +53 -0
  263. package/dist/collection/store/selection/selection.helpers.js.map +1 -0
  264. package/dist/collection/store/selection/selection.store.js +85 -0
  265. package/dist/collection/store/selection/selection.store.js.map +1 -0
  266. package/dist/collection/store/vp/index.js +6 -0
  267. package/dist/collection/store/vp/index.js.map +1 -0
  268. package/dist/collection/store/vp/viewport.helpers.js +251 -0
  269. package/dist/collection/store/vp/viewport.helpers.js.map +1 -0
  270. package/dist/collection/store/vp/viewport.store.js +151 -0
  271. package/dist/collection/store/vp/viewport.store.js.map +1 -0
  272. package/dist/collection/themeManager/theme.compact.js +9 -0
  273. package/dist/collection/themeManager/theme.compact.js.map +1 -0
  274. package/dist/collection/themeManager/theme.default.js +9 -0
  275. package/dist/collection/themeManager/theme.default.js.map +1 -0
  276. package/dist/collection/themeManager/theme.material.js +9 -0
  277. package/dist/collection/themeManager/theme.material.js.map +1 -0
  278. package/dist/collection/themeManager/theme.service.js +53 -0
  279. package/dist/collection/themeManager/theme.service.js.map +1 -0
  280. package/dist/collection/types/dimension.js +2 -0
  281. package/dist/collection/types/dimension.js.map +1 -0
  282. package/dist/collection/types/events.js +118 -0
  283. package/dist/collection/types/events.js.map +1 -0
  284. package/dist/collection/types/index.js +12 -0
  285. package/dist/collection/types/index.js.map +1 -0
  286. package/dist/collection/types/interfaces.js +2 -0
  287. package/dist/collection/types/interfaces.js.map +1 -0
  288. package/dist/collection/types/plugin.js +2 -0
  289. package/dist/collection/types/plugin.js.map +1 -0
  290. package/dist/collection/types/plugin.types.js +2 -0
  291. package/dist/collection/types/plugin.types.js.map +1 -0
  292. package/dist/collection/types/selection.js +2 -0
  293. package/dist/collection/types/selection.js.map +1 -0
  294. package/dist/collection/types/theme.js +2 -0
  295. package/dist/collection/types/theme.js.map +1 -0
  296. package/dist/collection/types/viewport.interfaces.js +2 -0
  297. package/dist/collection/types/viewport.interfaces.js.map +1 -0
  298. package/dist/collection/utils/browser.js +7 -0
  299. package/dist/collection/utils/browser.js.map +1 -0
  300. package/dist/collection/utils/closest.polifill.js +22 -0
  301. package/dist/collection/utils/closest.polifill.js.map +1 -0
  302. package/dist/collection/utils/column.utils.js +153 -0
  303. package/dist/collection/utils/column.utils.js.map +1 -0
  304. package/dist/collection/utils/consts.js +26 -0
  305. package/dist/collection/utils/consts.js.map +1 -0
  306. package/dist/collection/utils/events.js +39 -0
  307. package/dist/collection/utils/events.js.map +1 -0
  308. package/dist/collection/utils/header.utils.js +24 -0
  309. package/dist/collection/utils/header.utils.js.map +1 -0
  310. package/dist/collection/utils/index.js +140 -0
  311. package/dist/collection/utils/index.js.map +1 -0
  312. package/dist/collection/utils/key.codes.js +80 -0
  313. package/dist/collection/utils/key.codes.js.map +1 -0
  314. package/dist/collection/utils/key.utils.js +90 -0
  315. package/dist/collection/utils/key.utils.js.map +1 -0
  316. package/dist/collection/utils/mobile.js +7 -0
  317. package/dist/collection/utils/mobile.js.map +1 -0
  318. package/dist/collection/utils/platform.js +9 -0
  319. package/dist/collection/utils/platform.js.map +1 -0
  320. package/dist/collection/utils/row-header-utils.js +9 -0
  321. package/dist/collection/utils/row-header-utils.js.map +1 -0
  322. package/dist/collection/utils/store.types.js +2 -0
  323. package/dist/collection/utils/store.types.js.map +1 -0
  324. package/dist/collection/utils/store.utils.js +15 -0
  325. package/dist/collection/utils/store.utils.js.map +1 -0
  326. package/dist/esm/app-globals-FBz64o-g.js +14 -0
  327. package/dist/esm/app-globals-FBz64o-g.js.map +1 -0
  328. package/dist/esm/cell-renderer-Ca_PCGjJ.js +98 -0
  329. package/dist/esm/cell-renderer-Ca_PCGjJ.js.map +1 -0
  330. package/dist/esm/column.drag.plugin-BtuUyB-2.js +2528 -0
  331. package/dist/esm/column.drag.plugin-BtuUyB-2.js.map +1 -0
  332. package/dist/esm/column.service-CTqFIQUy.js +1343 -0
  333. package/dist/esm/column.service-CTqFIQUy.js.map +1 -0
  334. package/dist/esm/data.store-B-lvmoFH.js +3553 -0
  335. package/dist/esm/data.store-B-lvmoFH.js.map +1 -0
  336. package/dist/esm/debounce-DTUQ1fY7.js +488 -0
  337. package/dist/esm/debounce-DTUQ1fY7.js.map +1 -0
  338. package/dist/esm/edit.utils-CyCANCLB.js +103 -0
  339. package/dist/esm/edit.utils-CyCANCLB.js.map +1 -0
  340. package/dist/esm/events-CKtYJJSv.js +43 -0
  341. package/dist/esm/events-CKtYJJSv.js.map +1 -0
  342. package/dist/esm/filter.button-CjABZQgg.js +39 -0
  343. package/dist/esm/filter.button-CjABZQgg.js.map +1 -0
  344. package/dist/esm/header-cell-renderer-DnjpJuXq.js +351 -0
  345. package/dist/esm/header-cell-renderer-DnjpJuXq.js.map +1 -0
  346. package/dist/esm/index-BAoInZ4V.js +2519 -0
  347. package/dist/esm/index-BAoInZ4V.js.map +1 -0
  348. package/dist/esm/index.js +181 -0
  349. package/dist/esm/index.js.map +1 -0
  350. package/dist/esm/loader.js +17 -0
  351. package/dist/esm/loader.js.map +1 -0
  352. package/dist/esm/revo-grid.entry.js +2185 -0
  353. package/dist/esm/revo-grid.entry.js.map +1 -0
  354. package/dist/esm/revo-grid.js +27 -0
  355. package/dist/esm/revo-grid.js.map +1 -0
  356. package/dist/esm/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.js.map +1 -0
  357. package/dist/esm/revogr-attribution_7.entry.js +1455 -0
  358. package/dist/esm/revogr-attribution_7.entry.js.map +1 -0
  359. package/dist/esm/revogr-clipboard.revogr-edit.revogr-order-editor.entry.js.map +1 -0
  360. package/dist/esm/revogr-clipboard_3.entry.js +452 -0
  361. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -0
  362. package/dist/esm/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.js.map +1 -0
  363. package/dist/esm/revogr-data_4.entry.js +943 -0
  364. package/dist/esm/revogr-data_4.entry.js.map +1 -0
  365. package/dist/esm/revogr-filter-panel.entry.js +380 -0
  366. package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
  367. package/dist/esm/row-header-utils-vnoLGj5A.js +407 -0
  368. package/dist/esm/row-header-utils-vnoLGj5A.js.map +1 -0
  369. package/dist/esm/text-editor-Cp7lwBZi.js +79 -0
  370. package/dist/esm/text-editor-Cp7lwBZi.js.map +1 -0
  371. package/dist/esm/throttle-DiUrHjcY.js +273 -0
  372. package/dist/esm/throttle-DiUrHjcY.js.map +1 -0
  373. package/dist/esm/viewport.helpers-Ch4AQMMg.js +53 -0
  374. package/dist/esm/viewport.helpers-Ch4AQMMg.js.map +1 -0
  375. package/dist/index.cjs.js +1 -0
  376. package/dist/index.d.ts +1 -0
  377. package/dist/index.js +1 -0
  378. package/dist/revo-grid/app-globals-FBz64o-g.js +14 -0
  379. package/dist/revo-grid/app-globals-FBz64o-g.js.map +1 -0
  380. package/dist/revo-grid/cell-renderer-Ca_PCGjJ.js +98 -0
  381. package/dist/revo-grid/cell-renderer-Ca_PCGjJ.js.map +1 -0
  382. package/dist/revo-grid/column.drag.plugin-BtuUyB-2.js +2528 -0
  383. package/dist/revo-grid/column.drag.plugin-BtuUyB-2.js.map +1 -0
  384. package/dist/revo-grid/column.service-CTqFIQUy.js +1343 -0
  385. package/dist/revo-grid/column.service-CTqFIQUy.js.map +1 -0
  386. package/dist/revo-grid/data.store-B-lvmoFH.js +3553 -0
  387. package/dist/revo-grid/data.store-B-lvmoFH.js.map +1 -0
  388. package/dist/revo-grid/debounce-DTUQ1fY7.js +488 -0
  389. package/dist/revo-grid/debounce-DTUQ1fY7.js.map +1 -0
  390. package/dist/revo-grid/edit.utils-CyCANCLB.js +103 -0
  391. package/dist/revo-grid/edit.utils-CyCANCLB.js.map +1 -0
  392. package/dist/revo-grid/events-CKtYJJSv.js +43 -0
  393. package/dist/revo-grid/events-CKtYJJSv.js.map +1 -0
  394. package/dist/revo-grid/filter.button-CjABZQgg.js +39 -0
  395. package/dist/revo-grid/filter.button-CjABZQgg.js.map +1 -0
  396. package/dist/revo-grid/header-cell-renderer-DnjpJuXq.js +351 -0
  397. package/dist/revo-grid/header-cell-renderer-DnjpJuXq.js.map +1 -0
  398. package/dist/revo-grid/index-BAoInZ4V.js +2490 -0
  399. package/dist/revo-grid/index-BAoInZ4V.js.map +1 -0
  400. package/dist/revo-grid/index.esm.js +181 -0
  401. package/dist/revo-grid/index.esm.js.map +1 -0
  402. package/dist/revo-grid/loader.esm.js.map +1 -0
  403. package/dist/revo-grid/revo-grid.entry.esm.js.map +1 -0
  404. package/dist/revo-grid/revo-grid.entry.js +2185 -0
  405. package/dist/revo-grid/revo-grid.entry.js.map +1 -0
  406. package/dist/revo-grid/revo-grid.esm.js +27 -0
  407. package/dist/revo-grid/revo-grid.esm.js.map +1 -0
  408. package/dist/revo-grid/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.esm.js.map +1 -0
  409. package/dist/revo-grid/revogr-attribution_7.entry.js +1455 -0
  410. package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -0
  411. package/dist/revo-grid/revogr-clipboard.revogr-edit.revogr-order-editor.entry.esm.js.map +1 -0
  412. package/dist/revo-grid/revogr-clipboard_3.entry.js +452 -0
  413. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
  414. package/dist/revo-grid/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.esm.js.map +1 -0
  415. package/dist/revo-grid/revogr-data_4.entry.js +943 -0
  416. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
  417. package/dist/revo-grid/revogr-filter-panel.entry.esm.js.map +1 -0
  418. package/dist/revo-grid/revogr-filter-panel.entry.js +380 -0
  419. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
  420. package/dist/revo-grid/row-header-utils-vnoLGj5A.js +407 -0
  421. package/dist/revo-grid/row-header-utils-vnoLGj5A.js.map +1 -0
  422. package/dist/revo-grid/text-editor-Cp7lwBZi.js +79 -0
  423. package/dist/revo-grid/text-editor-Cp7lwBZi.js.map +1 -0
  424. package/dist/revo-grid/throttle-DiUrHjcY.js +273 -0
  425. package/dist/revo-grid/throttle-DiUrHjcY.js.map +1 -0
  426. package/dist/revo-grid/viewport.helpers-Ch4AQMMg.js +53 -0
  427. package/dist/revo-grid/viewport.helpers-Ch4AQMMg.js.map +1 -0
  428. package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
  429. package/dist/types/components/clipboard/revogr-clipboard.d.ts +89 -0
  430. package/dist/types/components/data/cell-renderer.d.ts +12 -0
  431. package/dist/types/components/data/column.service.d.ts +61 -0
  432. package/dist/types/components/data/revogr-data.d.ts +107 -0
  433. package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
  434. package/dist/types/components/data/row-renderer.d.ts +12 -0
  435. package/dist/types/components/editors/edit.utils.d.ts +3 -0
  436. package/dist/types/components/editors/revogr-edit.d.ts +63 -0
  437. package/dist/types/components/editors/text-editor.d.ts +43 -0
  438. package/dist/types/components/extra/revogr-extra.d.ts +38 -0
  439. package/dist/types/components/header/header-cell-renderer.d.ts +9 -0
  440. package/dist/types/components/header/header-group-renderer.d.ts +15 -0
  441. package/dist/types/components/header/header-renderer.d.ts +16 -0
  442. package/dist/types/components/header/resizable.directive.d.ts +55 -0
  443. package/dist/types/components/header/resizable.element.d.ts +5 -0
  444. package/dist/types/components/header/revogr-header.d.ts +90 -0
  445. package/dist/types/components/order/order-renderer.d.ts +29 -0
  446. package/dist/types/components/order/order-row.service.d.ts +27 -0
  447. package/dist/types/components/order/revogr-order-editor.d.ts +56 -0
  448. package/dist/types/components/overlay/autofill.service.d.ts +80 -0
  449. package/dist/types/components/overlay/keyboard.service.d.ts +28 -0
  450. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +278 -0
  451. package/dist/types/components/overlay/selection.utils.d.ts +47 -0
  452. package/dist/types/components/revoGrid/grid.helpers.d.ts +17 -0
  453. package/dist/types/components/revoGrid/plugin.service.d.ts +37 -0
  454. package/dist/types/components/revoGrid/revo-grid.d.ts +686 -0
  455. package/dist/types/components/revoGrid/viewport.helpers.d.ts +39 -0
  456. package/dist/types/components/revoGrid/viewport.resize.service.d.ts +17 -0
  457. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +20 -0
  458. package/dist/types/components/revoGrid/viewport.service.d.ts +59 -0
  459. package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +51 -0
  460. package/dist/types/components/rowHeaders/row-header-render.d.ts +9 -0
  461. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +117 -0
  462. package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
  463. package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +43 -0
  464. package/dist/types/components/selectionFocus/revogr-focus.d.ts +58 -0
  465. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +28 -0
  466. package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
  467. package/dist/types/components/vnode/vnode.utils.d.ts +9 -0
  468. package/dist/types/components.d.ts +2583 -0
  469. package/dist/types/global/global.d.ts +1 -0
  470. package/dist/types/index.d.ts +9 -0
  471. package/dist/types/plugins/add-rows-on-paste.plugin.d.ts +14 -0
  472. package/dist/types/plugins/base.plugin.d.ts +51 -0
  473. package/dist/types/plugins/column.auto-size.plugin.d.ts +55 -0
  474. package/dist/types/plugins/column.stretch.plugin.d.ts +20 -0
  475. package/dist/types/plugins/dispatcher.d.ts +20 -0
  476. package/dist/types/plugins/export/csv.d.ts +9 -0
  477. package/dist/types/plugins/export/export.plugin.d.ts +24 -0
  478. package/dist/types/plugins/export/types.d.ts +23 -0
  479. package/dist/types/plugins/filter/conditions/equal.d.ts +4 -0
  480. package/dist/types/plugins/filter/conditions/number/greaterThan.d.ts +3 -0
  481. package/dist/types/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +3 -0
  482. package/dist/types/plugins/filter/conditions/number/lessThan.d.ts +3 -0
  483. package/dist/types/plugins/filter/conditions/number/lessThanOrEqual.d.ts +3 -0
  484. package/dist/types/plugins/filter/conditions/set.d.ts +4 -0
  485. package/dist/types/plugins/filter/conditions/string/beginswith.d.ts +3 -0
  486. package/dist/types/plugins/filter/conditions/string/contains.d.ts +4 -0
  487. package/dist/types/plugins/filter/filter.button.d.ts +14 -0
  488. package/dist/types/plugins/filter/filter.indexed.d.ts +20 -0
  489. package/dist/types/plugins/filter/filter.panel.d.ts +53 -0
  490. package/dist/types/plugins/filter/filter.plugin.d.ts +73 -0
  491. package/dist/types/plugins/filter/filter.types.d.ts +129 -0
  492. package/dist/types/plugins/groupingRow/grouping.const.d.ts +12 -0
  493. package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +15 -0
  494. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +39 -0
  495. package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +6 -0
  496. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +103 -0
  497. package/dist/types/plugins/groupingRow/grouping.service.d.ts +36 -0
  498. package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +10 -0
  499. package/dist/types/plugins/index.d.ts +11 -0
  500. package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +42 -0
  501. package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
  502. package/dist/types/plugins/rtl/rtl.plugin.d.ts +37 -0
  503. package/dist/types/plugins/sorting/sorting.func.d.ts +9 -0
  504. package/dist/types/plugins/sorting/sorting.plugin.d.ts +48 -0
  505. package/dist/types/plugins/sorting/sorting.sign.d.ts +6 -0
  506. package/dist/types/plugins/sorting/sorting.types.d.ts +14 -0
  507. package/dist/types/plugins/wcag/index.d.ts +26 -0
  508. package/dist/types/services/cell.helpers.d.ts +2 -0
  509. package/dist/types/services/column.data.provider.d.ts +27 -0
  510. package/dist/types/services/data.provider.d.ts +36 -0
  511. package/dist/types/services/dimension.provider.d.ts +66 -0
  512. package/dist/types/services/local.scroll.service.d.ts +36 -0
  513. package/dist/types/services/local.scroll.timer.d.ts +32 -0
  514. package/dist/types/services/selection.store.connector.d.ts +79 -0
  515. package/dist/types/services/viewport.provider.d.ts +7 -0
  516. package/dist/types/stencil-public-runtime.d.ts +1709 -0
  517. package/dist/types/store/dataSource/data.proxy.d.ts +14 -0
  518. package/dist/types/store/dataSource/data.store.d.ts +74 -0
  519. package/dist/types/store/dataSource/index.d.ts +3 -0
  520. package/dist/types/store/dataSource/trimmed.plugin.d.ts +12 -0
  521. package/dist/types/store/dimension/dimension.helpers.d.ts +24 -0
  522. package/dist/types/store/dimension/dimension.recalculate.plugin.d.ts +9 -0
  523. package/dist/types/store/dimension/dimension.store.d.ts +21 -0
  524. package/dist/types/store/dimension/dimension.trim.plugin.d.ts +13 -0
  525. package/dist/types/store/dimension/index.d.ts +2 -0
  526. package/dist/types/store/index.d.ts +8 -0
  527. package/dist/types/store/selection/index.d.ts +2 -0
  528. package/dist/types/store/selection/selection.helpers.d.ts +6 -0
  529. package/dist/types/store/selection/selection.store.d.ts +22 -0
  530. package/dist/types/store/vp/index.d.ts +7 -0
  531. package/dist/types/store/vp/viewport.helpers.d.ts +54 -0
  532. package/dist/types/store/vp/viewport.store.d.ts +26 -0
  533. package/dist/types/themeManager/theme.compact.d.ts +4 -0
  534. package/dist/types/themeManager/theme.default.d.ts +4 -0
  535. package/dist/types/themeManager/theme.material.d.ts +4 -0
  536. package/dist/types/themeManager/theme.service.d.ts +13 -0
  537. package/dist/types/types/dimension.d.ts +8 -0
  538. package/dist/types/types/events.d.ts +2 -0
  539. package/dist/types/types/index.d.ts +8 -0
  540. package/dist/types/types/interfaces.d.ts +768 -0
  541. package/dist/types/types/plugin.d.ts +9 -0
  542. package/dist/types/types/plugin.types.d.ts +48 -0
  543. package/dist/types/types/selection.d.ts +178 -0
  544. package/dist/types/types/theme.d.ts +7 -0
  545. package/dist/types/types/viewport.interfaces.d.ts +45 -0
  546. package/dist/types/utils/browser.d.ts +1 -0
  547. package/dist/types/utils/closest.polifill.d.ts +0 -0
  548. package/dist/types/utils/column.utils.d.ts +52 -0
  549. package/dist/types/utils/consts.d.ts +22 -0
  550. package/dist/types/utils/events.d.ts +5 -0
  551. package/dist/types/utils/header.utils.d.ts +2 -0
  552. package/dist/types/utils/index.d.ts +32 -0
  553. package/dist/types/utils/key.codes.d.ts +73 -0
  554. package/dist/types/utils/key.utils.d.ts +13 -0
  555. package/dist/types/utils/mobile.d.ts +1 -0
  556. package/dist/types/utils/platform.d.ts +4 -0
  557. package/dist/types/utils/row-header-utils.d.ts +2 -0
  558. package/dist/types/utils/store.types.d.ts +97 -0
  559. package/dist/types/utils/store.utils.d.ts +10 -0
  560. package/hydrate/index.d.ts +273 -0
  561. package/hydrate/index.js +33890 -0
  562. package/hydrate/index.mjs +33882 -0
  563. package/hydrate/package.json +12 -0
  564. package/loader/cdn.js +4 -0
  565. package/loader/index.cjs.js +4 -0
  566. package/loader/index.d.ts +24 -0
  567. package/loader/index.es2017.js +4 -0
  568. package/loader/index.js +5 -0
  569. package/package.json +101 -0
  570. package/react/dist/index.d.ts +6191 -0
  571. package/react/dist/react-datagrid.js +260 -0
  572. package/react/dist/react-datagrid.umd.cjs +272 -0
  573. package/standalone/column.service.js +1345 -0
  574. package/standalone/column.service.js.map +1 -0
  575. package/standalone/consts.js +30 -0
  576. package/standalone/consts.js.map +1 -0
  577. package/standalone/data.store.js +3099 -0
  578. package/standalone/data.store.js.map +1 -0
  579. package/standalone/debounce.js +215 -0
  580. package/standalone/debounce.js.map +1 -0
  581. package/standalone/dimension.helpers.js +229 -0
  582. package/standalone/dimension.helpers.js.map +1 -0
  583. package/standalone/filter.button.js +39 -0
  584. package/standalone/filter.button.js.map +1 -0
  585. package/standalone/index.d.ts +68 -0
  586. package/standalone/index.js +217 -0
  587. package/standalone/index.js.map +1 -0
  588. package/standalone/index2.js +140 -0
  589. package/standalone/index2.js.map +1 -0
  590. package/standalone/local.scroll.timer.js +207 -0
  591. package/standalone/local.scroll.timer.js.map +1 -0
  592. package/standalone/platform.js +90 -0
  593. package/standalone/platform.js.map +1 -0
  594. package/standalone/revo-grid.d.ts +11 -0
  595. package/standalone/revo-grid.js +4884 -0
  596. package/standalone/revo-grid.js.map +1 -0
  597. package/standalone/revogr-attribution.d.ts +11 -0
  598. package/standalone/revogr-attribution.js +12 -0
  599. package/standalone/revogr-attribution.js.map +1 -0
  600. package/standalone/revogr-attribution2.js +32 -0
  601. package/standalone/revogr-attribution2.js.map +1 -0
  602. package/standalone/revogr-clipboard.d.ts +11 -0
  603. package/standalone/revogr-clipboard.js +12 -0
  604. package/standalone/revogr-clipboard.js.map +1 -0
  605. package/standalone/revogr-clipboard2.js +164 -0
  606. package/standalone/revogr-clipboard2.js.map +1 -0
  607. package/standalone/revogr-data.d.ts +11 -0
  608. package/standalone/revogr-data.js +12 -0
  609. package/standalone/revogr-data.js.map +1 -0
  610. package/standalone/revogr-data2.js +378 -0
  611. package/standalone/revogr-data2.js.map +1 -0
  612. package/standalone/revogr-edit.d.ts +11 -0
  613. package/standalone/revogr-edit.js +12 -0
  614. package/standalone/revogr-edit.js.map +1 -0
  615. package/standalone/revogr-edit2.js +334 -0
  616. package/standalone/revogr-edit2.js.map +1 -0
  617. package/standalone/revogr-extra.d.ts +11 -0
  618. package/standalone/revogr-extra.js +12 -0
  619. package/standalone/revogr-extra.js.map +1 -0
  620. package/standalone/revogr-extra2.js +73 -0
  621. package/standalone/revogr-extra2.js.map +1 -0
  622. package/standalone/revogr-filter-panel.d.ts +11 -0
  623. package/standalone/revogr-filter-panel.js +411 -0
  624. package/standalone/revogr-filter-panel.js.map +1 -0
  625. package/standalone/revogr-focus.d.ts +11 -0
  626. package/standalone/revogr-focus.js +12 -0
  627. package/standalone/revogr-focus.js.map +1 -0
  628. package/standalone/revogr-focus2.js +112 -0
  629. package/standalone/revogr-focus2.js.map +1 -0
  630. package/standalone/revogr-header.d.ts +11 -0
  631. package/standalone/revogr-header.js +12 -0
  632. package/standalone/revogr-header.js.map +1 -0
  633. package/standalone/revogr-header2.js +707 -0
  634. package/standalone/revogr-header2.js.map +1 -0
  635. package/standalone/revogr-order-editor.d.ts +11 -0
  636. package/standalone/revogr-order-editor.js +12 -0
  637. package/standalone/revogr-order-editor.js.map +1 -0
  638. package/standalone/revogr-order-editor2.js +201 -0
  639. package/standalone/revogr-order-editor2.js.map +1 -0
  640. package/standalone/revogr-overlay-selection.d.ts +11 -0
  641. package/standalone/revogr-overlay-selection.js +12 -0
  642. package/standalone/revogr-overlay-selection.js.map +1 -0
  643. package/standalone/revogr-overlay-selection2.js +972 -0
  644. package/standalone/revogr-overlay-selection2.js.map +1 -0
  645. package/standalone/revogr-row-headers.d.ts +11 -0
  646. package/standalone/revogr-row-headers.js +12 -0
  647. package/standalone/revogr-row-headers.js.map +1 -0
  648. package/standalone/revogr-row-headers2.js +520 -0
  649. package/standalone/revogr-row-headers2.js.map +1 -0
  650. package/standalone/revogr-scroll-virtual.d.ts +11 -0
  651. package/standalone/revogr-scroll-virtual.js +12 -0
  652. package/standalone/revogr-scroll-virtual.js.map +1 -0
  653. package/standalone/revogr-scroll-virtual2.js +184 -0
  654. package/standalone/revogr-scroll-virtual2.js.map +1 -0
  655. package/standalone/revogr-temp-range.d.ts +11 -0
  656. package/standalone/revogr-temp-range.js +12 -0
  657. package/standalone/revogr-temp-range.js.map +1 -0
  658. package/standalone/revogr-temp-range2.js +93 -0
  659. package/standalone/revogr-temp-range2.js.map +1 -0
  660. package/standalone/revogr-viewport-scroll.d.ts +11 -0
  661. package/standalone/revogr-viewport-scroll.js +12 -0
  662. package/standalone/revogr-viewport-scroll.js.map +1 -0
  663. package/standalone/revogr-viewport-scroll2.js +421 -0
  664. package/standalone/revogr-viewport-scroll2.js.map +1 -0
  665. package/standalone/selection.utils.js +179 -0
  666. package/standalone/selection.utils.js.map +1 -0
  667. package/standalone/throttle.js +75 -0
  668. package/standalone/throttle.js.map +1 -0
  669. package/standalone/toNumber.js +282 -0
  670. package/standalone/toNumber.js.map +1 -0
  671. package/standalone/vnode-converter.js +46 -0
  672. package/standalone/vnode-converter.js.map +1 -0
  673. package/standalone/vnode-html.d.ts +11 -0
  674. package/standalone/vnode-html.js +12 -0
  675. package/standalone/vnode-html.js.map +1 -0
@@ -0,0 +1,972 @@
1
+ /*!
2
+ * Built by LevelSkill.Pro
3
+ */
4
+ import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
5
+ import { g as getRange, Q as ColumnService, x as getCellData, R as getCellEditor, a as isRangeSingleCell } from './column.service.js';
6
+ import { c as codesLetter } from './platform.js';
7
+ import { R as RESIZE_INTERVAL, i as MOBILE_CLASS, j as CELL_HANDLER_CLASS, S as SELECTION_BORDER_CLASS } from './consts.js';
8
+ import { t as timeout, c as checkIsRightClick } from './index2.js';
9
+ import { b as getCoordinate, i as isAfterLast, c as isBeforeFirst, a as getCell, g as getPropertyFromEvent, d as getCurrentCell, e as collectModelsOfRange, s as styleByCellProps, f as getFocusCellBasedOnEvent, v as verifyTouchTarget } from './selection.utils.js';
10
+ import { c as isClear, d as isTab, f as isEnterKeyValue, h as isCopy, g as isCut, j as isPaste, l as isBack, k as isAll, m as isEditInput, o as defineCustomElement$2 } from './revogr-edit2.js';
11
+ import { d as debounce } from './debounce.js';
12
+ import { d as defineCustomElement$3 } from './revogr-clipboard2.js';
13
+ import { d as defineCustomElement$1 } from './revogr-order-editor2.js';
14
+
15
+ const DIRECTION_CODES = [
16
+ codesLetter.TAB,
17
+ codesLetter.ARROW_UP,
18
+ codesLetter.ARROW_DOWN,
19
+ codesLetter.ARROW_LEFT,
20
+ codesLetter.ARROW_RIGHT,
21
+ ];
22
+ class KeyboardService {
23
+ constructor(sv) {
24
+ this.sv = sv;
25
+ }
26
+ async keyDown(e, canRange, isEditMode, { range, focus }) {
27
+ // IF EDIT MODE
28
+ if (isEditMode) {
29
+ switch (e.code) {
30
+ case codesLetter.ESCAPE:
31
+ this.sv.cancel();
32
+ break;
33
+ case codesLetter.TAB:
34
+ this.keyChangeSelection(e, canRange);
35
+ break;
36
+ }
37
+ return;
38
+ }
39
+ // IF NOT EDIT MODE
40
+ // pressed clear key
41
+ if (range && isClear(e.code)) {
42
+ this.sv.clearCell();
43
+ return;
44
+ }
45
+ // below works with focus only
46
+ if (!focus) {
47
+ return;
48
+ }
49
+ // tab key means same as arrow right
50
+ if (isTab(e.code)) {
51
+ this.keyChangeSelection(e, canRange);
52
+ return;
53
+ }
54
+ // pressed enter
55
+ if (isEnterKeyValue(e.key)) {
56
+ this.sv.change();
57
+ return;
58
+ }
59
+ // copy operation
60
+ if (isCopy(e)) {
61
+ return;
62
+ }
63
+ // cut operation
64
+ if (isCut(e)) {
65
+ return;
66
+ }
67
+ // paste operation
68
+ if (isPaste(e)) {
69
+ this.sv.internalPaste();
70
+ return;
71
+ }
72
+ if (isBack(e)) {
73
+ // rollback
74
+ e.preventDefault();
75
+ this.sv.rollback();
76
+ return;
77
+ }
78
+ // select all
79
+ if (isAll(e)) {
80
+ e.preventDefault();
81
+ // if (canRange) {
82
+ // this.selectAll(e);
83
+ // }
84
+ return;
85
+ }
86
+ // pressed letter key
87
+ if (e.key.length === 1) {
88
+ this.sv.change(e.key);
89
+ return;
90
+ }
91
+ // pressed arrow, change selection position
92
+ if (await this.keyChangeSelection(e, canRange)) {
93
+ return;
94
+ }
95
+ }
96
+ // private selectAll(e: KeyboardEvent) {
97
+ // const range = this.sv.selectionStore.get('range');
98
+ // const focus = this.sv.selectionStore.get('focus');
99
+ // // if no range or focus - do nothing
100
+ // if (!range || !focus) {
101
+ // return;
102
+ // }
103
+ // e.preventDefault();
104
+ // this.sv.selectAll();
105
+ // }
106
+ async keyChangeSelection(e, canRange) {
107
+ const data = this.changeDirectionKey(e, canRange);
108
+ if (!data) {
109
+ return false;
110
+ }
111
+ // this interval needed for several cases
112
+ // grid could be resized before next click
113
+ // at this case to avoid screen jump we use this interval
114
+ await timeout(RESIZE_INTERVAL + 30);
115
+ const range = this.sv.selectionStore.get('range');
116
+ const focus = this.sv.selectionStore.get('focus');
117
+ return this.keyPositionChange(data.changes, range, focus, data.isMulti);
118
+ }
119
+ keyPositionChange(changes, range, focus, isMulti = false) {
120
+ if (!range || !focus) {
121
+ return false;
122
+ }
123
+ const data = getCoordinate(range, focus, changes, isMulti);
124
+ if (!data) {
125
+ return false;
126
+ }
127
+ const eData = this.sv.getData();
128
+ if (isMulti) {
129
+ if (isAfterLast(data.end, eData.lastCell) || isBeforeFirst(data.start)) {
130
+ return false;
131
+ }
132
+ const range = getRange(data.start, data.end);
133
+ return this.sv.range(range);
134
+ }
135
+ return this.sv.focus(data.start, changes, isAfterLast(data.start, eData.lastCell)
136
+ ? 1
137
+ : isBeforeFirst(data.start)
138
+ ? -1
139
+ : 0);
140
+ }
141
+ /** Monitor key direction changes */
142
+ changeDirectionKey(e, canRange) {
143
+ const isMulti = canRange && e.shiftKey;
144
+ if (DIRECTION_CODES.includes(e.code)) {
145
+ e.preventDefault();
146
+ }
147
+ if (e.shiftKey) {
148
+ switch (e.code) {
149
+ case codesLetter.TAB:
150
+ return { changes: { x: -1 }, isMulti: false };
151
+ }
152
+ }
153
+ switch (e.code) {
154
+ case codesLetter.ARROW_UP:
155
+ return { changes: { y: -1 }, isMulti };
156
+ case codesLetter.ARROW_DOWN:
157
+ return { changes: { y: 1 }, isMulti };
158
+ case codesLetter.ARROW_LEFT:
159
+ return { changes: { x: -1 }, isMulti };
160
+ case codesLetter.TAB:
161
+ case codesLetter.ARROW_RIGHT:
162
+ return { changes: { x: 1 }, isMulti };
163
+ }
164
+ }
165
+ }
166
+
167
+ class AutoFillService {
168
+ constructor(sv) {
169
+ this.sv = sv;
170
+ this.autoFillType = null;
171
+ this.autoFillInitial = null;
172
+ this.autoFillStart = null;
173
+ this.autoFillLast = null;
174
+ }
175
+ /**
176
+ * Render autofill box
177
+ * @param range
178
+ * @param selectionFocus
179
+ */
180
+ renderAutofill(range, selectionFocus, isMobile = false) {
181
+ let handlerStyle;
182
+ if (range) {
183
+ handlerStyle = getCell(range, this.sv.dimensionRow.state, this.sv.dimensionCol.state);
184
+ }
185
+ else {
186
+ handlerStyle = getCell(Object.assign(Object.assign({}, selectionFocus), { x1: selectionFocus.x, y1: selectionFocus.y }), this.sv.dimensionRow.state, this.sv.dimensionCol.state);
187
+ }
188
+ return (h("div", { class: {
189
+ [CELL_HANDLER_CLASS]: true,
190
+ [MOBILE_CLASS]: isMobile,
191
+ }, style: {
192
+ left: `${handlerStyle.right}px`,
193
+ top: `${handlerStyle.bottom}px`,
194
+ }, onMouseDown: (e) => this.autoFillHandler(e), onTouchStart: (e) => this.autoFillHandler(e) }));
195
+ }
196
+ autoFillHandler(e, type = "AutoFill" /* AutoFillType.autoFill */) {
197
+ let target = null;
198
+ if (e.target instanceof Element) {
199
+ target = e.target;
200
+ }
201
+ if (!target) {
202
+ return;
203
+ }
204
+ this.selectionStart(target, this.sv.getData(), type);
205
+ e.preventDefault();
206
+ }
207
+ get isAutoFill() {
208
+ return !!this.autoFillType;
209
+ }
210
+ /**
211
+ * Process mouse move events
212
+ */
213
+ selectionMouseMove(e) {
214
+ // initiate mouse move debounce if not present
215
+ if (!this.onMouseMoveAutofill) {
216
+ this.onMouseMoveAutofill = debounce((e, data) => this.doAutofillMouseMove(e, data), 5);
217
+ }
218
+ if (this.isAutoFill) {
219
+ this.onMouseMoveAutofill(e, this.sv.getData());
220
+ }
221
+ }
222
+ getFocus(focus, range) {
223
+ // there was an issue that it was taking last cell from range but focus was out
224
+ if (!focus && range) {
225
+ focus = { x: range.x, y: range.y };
226
+ }
227
+ return focus || null;
228
+ }
229
+ /**
230
+ * Autofill logic:
231
+ * on mouse move apply based on previous direction (if present)
232
+ */
233
+ doAutofillMouseMove(event, data) {
234
+ // if no initial - not started
235
+ if (!this.autoFillInitial) {
236
+ return;
237
+ }
238
+ const x = getPropertyFromEvent(event, 'clientX', MOBILE_CLASS);
239
+ const y = getPropertyFromEvent(event, 'clientY', MOBILE_CLASS);
240
+ // skip touch
241
+ if (x === null || y === null) {
242
+ return;
243
+ }
244
+ const current = getCurrentCell({ x, y }, data);
245
+ // first time or direction equal to start(same as first time)
246
+ if (!this.autoFillLast) {
247
+ if (!this.autoFillLast) {
248
+ this.autoFillLast = this.autoFillStart;
249
+ }
250
+ }
251
+ // check if not the latest, if latest - do nothing
252
+ if (isAfterLast(current, data.lastCell)) {
253
+ return;
254
+ }
255
+ this.autoFillLast = current;
256
+ const isSame = current.x === this.autoFillInitial.x &&
257
+ current.y === this.autoFillInitial.y;
258
+ // if same as initial - clear
259
+ if (isSame) {
260
+ this.sv.setTempRange(null);
261
+ }
262
+ else {
263
+ const area = getRange(this.autoFillInitial, this.autoFillLast);
264
+ this.sv.setTempRange({
265
+ area,
266
+ type: this.autoFillType,
267
+ });
268
+ }
269
+ }
270
+ /**
271
+ * Range selection started
272
+ * Mode @param type:
273
+ * Can be triggered from MouseDown selection on element
274
+ * Or can be triggered on corner square drag
275
+ */
276
+ selectionStart(target, data, type = "Selection" /* AutoFillType.selection */) {
277
+ /** Get cell by autofill element */
278
+ const { top, left } = target.getBoundingClientRect();
279
+ this.autoFillInitial = this.getFocus(data.focus, data.range);
280
+ this.autoFillType = type;
281
+ this.autoFillStart = getCurrentCell({ x: left, y: top }, data);
282
+ }
283
+ /**
284
+ * Clear current range selection on mouse up and mouse leave events
285
+ */
286
+ clearAutoFillSelection(focus, oldRange) {
287
+ // If autofill was active, apply autofill values
288
+ if (this.autoFillInitial) {
289
+ // Fetch latest focus
290
+ this.autoFillInitial = this.getFocus(focus, oldRange);
291
+ // Apply range data if autofill mode is active
292
+ if (this.autoFillType === "AutoFill" /* AutoFillType.autoFill */) {
293
+ const range = getRange(this.autoFillInitial, this.autoFillLast);
294
+ // If range is present, apply data
295
+ if (range) {
296
+ const { defaultPrevented: stopApply, detail: { range: newRange }, } = this.sv.clearRangeDataApply({
297
+ range,
298
+ });
299
+ // If data apply was not prevented, apply new range
300
+ if (!stopApply && oldRange) {
301
+ this.applyRangeWithData(newRange, oldRange);
302
+ }
303
+ else {
304
+ // If data apply was prevented, clear temporary range
305
+ this.sv.setTempRange(null);
306
+ }
307
+ }
308
+ }
309
+ else {
310
+ // If not autofill mode, apply range only
311
+ this.applyRangeOnly(this.autoFillInitial, this.autoFillLast);
312
+ }
313
+ }
314
+ // Reset autofill state
315
+ this.resetAutoFillState();
316
+ }
317
+ /**
318
+ * Reset autofill state
319
+ */
320
+ resetAutoFillState() {
321
+ this.autoFillType = null;
322
+ this.autoFillInitial = null;
323
+ this.autoFillLast = null;
324
+ this.autoFillStart = null;
325
+ }
326
+ /**
327
+ * Trigger range apply events and handle responses
328
+ */
329
+ onRangeApply(newData, newRange, oldRange, copy = false, clear = false) {
330
+ this.sv.rangeDataApply({
331
+ data: newData,
332
+ models: collectModelsOfRange(newData, this.sv.dataStore),
333
+ type: this.sv.dataStore.get('type'),
334
+ oldRange,
335
+ newRange,
336
+ previousModels: null,
337
+ copy,
338
+ clearByKeyboard: clear,
339
+ });
340
+ this.sv.setRange(newRange);
341
+ }
342
+ /** Apply range and copy data during range application */
343
+ applyRangeWithData(newRange, rangeToCopy) {
344
+ const rangeData = {
345
+ type: this.sv.dataStore.get('type'),
346
+ colType: this.sv.columnService.type,
347
+ newData: {},
348
+ mapping: {},
349
+ newRange,
350
+ oldRange: rangeToCopy,
351
+ };
352
+ const { mapping, changed } = this.sv.columnService.getRangeData(rangeData, this.sv.columnService.columns);
353
+ rangeData.newData = changed;
354
+ rangeData.mapping = mapping;
355
+ let e = this.sv.selectionChanged(rangeData);
356
+ // if default prevented - clear range
357
+ if (e.defaultPrevented) {
358
+ this.sv.setTempRange(null);
359
+ return;
360
+ }
361
+ e = this.sv.rangeCopy(rangeData);
362
+ if (e.defaultPrevented) {
363
+ this.sv.setRange(newRange);
364
+ return;
365
+ }
366
+ this.onRangeApply(rangeData.newData, newRange, rangeToCopy);
367
+ }
368
+ /**
369
+ * Update range selection only,
370
+ * no data change (mouse selection)
371
+ */
372
+ applyRangeOnly(start, end) {
373
+ // no changes to apply
374
+ if (!start || !end) {
375
+ return;
376
+ }
377
+ const newRange = getRange(start, end);
378
+ this.sv.setRange(newRange);
379
+ }
380
+ }
381
+
382
+ const revogrOverlayStyleCss = "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}";
383
+
384
+ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection extends HTMLElement {
385
+ constructor() {
386
+ super();
387
+ this.__registerHost();
388
+ this.beforeCopyRegion = createEvent(this, "beforecopyregion", 7);
389
+ this.beforeRegionPaste = createEvent(this, "beforepasteregion", 7);
390
+ this.cellEditApply = createEvent(this, "celleditapply", 7);
391
+ this.beforeFocusCell = createEvent(this, "beforecellfocusinit", 7);
392
+ this.beforeNextViewportFocus = createEvent(this, "beforenextvpfocus", 7);
393
+ this.setEdit = createEvent(this, "setedit", 7);
394
+ this.beforeApplyRange = createEvent(this, "beforeapplyrange", 7);
395
+ this.beforeSetRange = createEvent(this, "beforesetrange", 7);
396
+ this.setRange = createEvent(this, "setrange", 7);
397
+ this.beforeEditRender = createEvent(this, "beforeeditrender", 7);
398
+ this.selectAll = createEvent(this, "selectall", 7);
399
+ this.cancelEdit = createEvent(this, "canceledit", 7);
400
+ this.rollback = createEvent(this, "rollback", 7);
401
+ this.setTempRange = createEvent(this, "settemprange", 7);
402
+ this.beforeSetTempRange = createEvent(this, "beforesettemprange", 7);
403
+ this.applyFocus = createEvent(this, "applyfocus", 7);
404
+ this.focusCell = createEvent(this, "focuscell", 7);
405
+ this.beforeRangeDataApply = createEvent(this, "beforerangedataapply", 7);
406
+ this.selectionChange = createEvent(this, "selectionchangeinit", 7);
407
+ this.beforeRangeCopyApply = createEvent(this, "beforerangecopyapply", 7);
408
+ this.rangeEditApply = createEvent(this, "rangeeditapply", 7);
409
+ this.rangeClipboardCopy = createEvent(this, "clipboardrangecopy", 7);
410
+ this.rangeClipboardPaste = createEvent(this, "clipboardrangepaste", 7);
411
+ this.beforeKeyDown = createEvent(this, "beforekeydown", 7);
412
+ this.beforeKeyUp = createEvent(this, "beforekeyup", 7);
413
+ this.beforeCellSave = createEvent(this, "beforecellsave", 7);
414
+ this.cellEditDone = createEvent(this, "celledit", 7);
415
+ /**
416
+ * If true applys changes when cell closes if not Escape.
417
+ */
418
+ this.applyChangesOnClose = false;
419
+ this.keyboardService = null;
420
+ this.autoFillService = null;
421
+ this.unsubscribeSelectionStore = [];
422
+ }
423
+ // #endregion
424
+ // #region Listeners
425
+ onMouseMove(e) {
426
+ var _a;
427
+ if (this.selectionStore.get('focus')) {
428
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.selectionMouseMove(e);
429
+ }
430
+ }
431
+ /**
432
+ * Action finished inside the document.
433
+ * Pointer left document, clear any active operation.
434
+ */
435
+ onMouseUp() {
436
+ var _a;
437
+ // Clear autofill selection
438
+ // when pointer left document,
439
+ // clear any active operation.
440
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.clearAutoFillSelection(this.selectionStore.get('focus'), this.selectionStore.get('range'));
441
+ }
442
+ /**
443
+ * Row drag started.
444
+ * This event is fired when drag action started on cell.
445
+ */
446
+ onCellDrag(e) {
447
+ var _a;
448
+ // Invoke drag start on order editor.
449
+ (_a = this.orderEditor) === null || _a === void 0 ? void 0 : _a.dragStart(e.detail);
450
+ }
451
+ /**
452
+ * Get keyboard down from element.
453
+ * This event is fired when keyboard key is released.
454
+ */
455
+ onKeyUp(e) {
456
+ // Emit before key up event.
457
+ this.beforeKeyUp.emit(Object.assign({ original: e }, this.getData()));
458
+ }
459
+ /**
460
+ * Get keyboard down from element.
461
+ * This event is fired when keyboard key is pressed.
462
+ */
463
+ onKeyDown(e) {
464
+ var _a;
465
+ // Emit before key down event and check if default prevention is set.
466
+ const proxy = this.beforeKeyDown.emit(Object.assign({ original: e }, this.getData()));
467
+ if (e.defaultPrevented || proxy.defaultPrevented) {
468
+ return;
469
+ }
470
+ // Invoke key down on keyboard service.
471
+ (_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyDown(e, this.range, !!this.selectionStore.get('edit'), {
472
+ focus: this.selectionStore.get('focus'),
473
+ range: this.selectionStore.get('range'),
474
+ });
475
+ }
476
+ // #endregion
477
+ /**
478
+ * Selection & Keyboard
479
+ */
480
+ selectionServiceSet(selectionStore) {
481
+ // clear subscriptions
482
+ this.unsubscribeSelectionStore.forEach(v => v());
483
+ this.unsubscribeSelectionStore.length = 0;
484
+ this.unsubscribeSelectionStore.push(selectionStore.onChange('nextFocus', v => v && this.doFocus(v, v)));
485
+ this.keyboardService = new KeyboardService({
486
+ selectionStore,
487
+ range: r => !!r && this.triggerRangeEvent(r),
488
+ focus: (f, changes, focusNextViewport) => {
489
+ if (focusNextViewport) {
490
+ this.beforeNextViewportFocus.emit(f);
491
+ return false;
492
+ }
493
+ else {
494
+ return this.doFocus(f, f, changes);
495
+ }
496
+ },
497
+ change: val => {
498
+ if (this.readonly) {
499
+ return;
500
+ }
501
+ this.doEdit(val);
502
+ },
503
+ cancel: async () => {
504
+ var _a;
505
+ await ((_a = this.revogrEdit) === null || _a === void 0 ? void 0 : _a.cancelChanges());
506
+ this.closeEdit();
507
+ },
508
+ clearCell: () => !this.readonly && this.clearCell(),
509
+ internalPaste: () => !this.readonly && this.beforeRegionPaste.emit(),
510
+ getData: () => this.getData(),
511
+ selectAll: () => this.selectAll.emit(),
512
+ rollback: () => this.rollback.emit(),
513
+ });
514
+ this.createAutoFillService();
515
+ }
516
+ /** Autofill */
517
+ createAutoFillService() {
518
+ this.autoFillService = new AutoFillService({
519
+ dimensionRow: this.dimensionRow,
520
+ dimensionCol: this.dimensionCol,
521
+ columnService: this.columnService,
522
+ dataStore: this.dataStore,
523
+ clearRangeDataApply: e => this.beforeRangeDataApply.emit(Object.assign(Object.assign(Object.assign({}, e), this.types), { rowDimension: Object.assign({}, this.dimensionRow.state), colDimension: Object.assign({}, this.dimensionCol.state) })),
524
+ setTempRange: e => {
525
+ const tempRangeEvent = this.beforeSetTempRange.emit(Object.assign(Object.assign({ tempRange: e }, this.getData()), this.types));
526
+ if (tempRangeEvent.defaultPrevented) {
527
+ return null;
528
+ }
529
+ return this.setTempRange.emit(tempRangeEvent.detail.tempRange);
530
+ },
531
+ selectionChanged: e => this.selectionChange.emit(e),
532
+ rangeCopy: e => this.beforeRangeCopyApply.emit(e),
533
+ rangeDataApply: e => this.rangeEditApply.emit(e),
534
+ setRange: e => !!e && this.triggerRangeEvent(e),
535
+ getData: () => this.getData(),
536
+ });
537
+ }
538
+ /** Columns */
539
+ columnServiceSet() {
540
+ var _a;
541
+ (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
542
+ this.columnService = new ColumnService(this.dataStore, this.colData);
543
+ this.createAutoFillService();
544
+ }
545
+ connectedCallback() {
546
+ this.columnServiceSet();
547
+ this.selectionServiceSet(this.selectionStore);
548
+ }
549
+ disconnectedCallback() {
550
+ var _a;
551
+ // clear subscriptions
552
+ this.unsubscribeSelectionStore.forEach(v => v());
553
+ this.unsubscribeSelectionStore.length = 0;
554
+ (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
555
+ }
556
+ async componentWillRender() {
557
+ var _a, _b;
558
+ const editCell = this.selectionStore.get('edit');
559
+ if (!editCell) {
560
+ await ((_b = (_a = this.revogrEdit) === null || _a === void 0 ? void 0 : _a.beforeDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a));
561
+ }
562
+ }
563
+ renderRange(range) {
564
+ const cell = getCell(range, this.dimensionRow.state, this.dimensionCol.state);
565
+ const styles = styleByCellProps(cell);
566
+ return [
567
+ h("div", { class: SELECTION_BORDER_CLASS, style: styles }, this.isMobileDevice && (h("div", { class: "range-handlers" }, h("span", { class: MOBILE_CLASS }), h("span", { class: MOBILE_CLASS })))),
568
+ ];
569
+ }
570
+ renderEditor() {
571
+ // Check if edit access
572
+ const editCell = this.selectionStore.get('edit');
573
+ // Readonly or Editor closed
574
+ if (this.readonly || !editCell) {
575
+ return null;
576
+ }
577
+ const enteredOrModelValue = editCell.val ||
578
+ getCellData(this.columnService.rowDataModel(editCell.y, editCell.x).value);
579
+ const editable = Object.assign(Object.assign({}, editCell), this.columnService.getSaveData(editCell.y, editCell.x, enteredOrModelValue));
580
+ const renderEvent = this.beforeEditRender.emit(Object.assign(Object.assign({ range: Object.assign(Object.assign({}, editCell), { x1: editCell.x, y1: editCell.y }) }, this.types), { rowDimension: Object.assign({}, this.dimensionRow.state), colDimension: Object.assign({}, this.dimensionCol.state) }));
581
+ // Render prevented
582
+ if (renderEvent.defaultPrevented) {
583
+ return null;
584
+ }
585
+ const cell = getCell(renderEvent.detail.range, renderEvent.detail.rowDimension, renderEvent.detail.colDimension);
586
+ const styles = styleByCellProps(cell);
587
+ return (h("revogr-edit", { style: styles, ref: el => (this.revogrEdit = el), additionalData: this.additionalData, editCell: editable, saveOnClose: this.applyChangesOnClose, onCelleditinit: e => {
588
+ this.cellEditDone.emit(e.detail);
589
+ }, column: this.columnService.rowDataModel(editCell.y, editCell.x), editor: getCellEditor(this.columnService.columns[editCell.x], this.editors) }));
590
+ }
591
+ onEditCell(e) {
592
+ if (e.defaultPrevented) {
593
+ return;
594
+ }
595
+ const saveEv = this.beforeCellSave.emit(e.detail);
596
+ if (!saveEv.defaultPrevented) {
597
+ this.cellEdit(saveEv.detail);
598
+ }
599
+ // if not clear navigate to next cell after edit
600
+ if (!saveEv.detail.preventFocus) {
601
+ this.focusNext();
602
+ }
603
+ }
604
+ render() {
605
+ var _a;
606
+ const nodes = [];
607
+ const editCell = this.renderEditor();
608
+ // Editor
609
+ if (editCell) {
610
+ nodes.push(editCell);
611
+ }
612
+ else {
613
+ const range = this.selectionStore.get('range');
614
+ const focus = this.selectionStore.get('focus');
615
+ // Clipboard
616
+ if ((range || focus) && this.useClipboard) {
617
+ 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) }));
618
+ }
619
+ // Range
620
+ if (range) {
621
+ nodes.push(...this.renderRange(range));
622
+ }
623
+ // Autofill
624
+ if (focus && !this.readonly && this.range) {
625
+ nodes.push((_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.renderAutofill(range, focus, this.isMobileDevice));
626
+ }
627
+ // Order
628
+ if (this.canDrag) {
629
+ nodes.push(h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, rowType: this.types.rowType, onRowdragstartinit: e => this.rowDragStart(e) }));
630
+ }
631
+ }
632
+ return (h(Host, { key: '9ae8dde9bf2655659bff3fa2ce5cfcd29fe96be1', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true), onCloseedit: (e) => this.closeEdit(e),
633
+ // it's done to be able to throw events from different levels, not just from editor
634
+ onCelledit: (e) => this.onEditCell(e) }, nodes, h("slot", { key: '5a5b418ce5f22bfdc9e691346a89fc4759ed4190', name: "data" })));
635
+ }
636
+ /**
637
+ * Executes the focus operation on the specified range of cells.
638
+ */
639
+ doFocus(focus, end, changes) {
640
+ // 1. Trigger beforeFocus event
641
+ const { defaultPrevented } = this.beforeFocusCell.emit(this.columnService.getSaveData(focus.y, focus.x));
642
+ if (defaultPrevented) {
643
+ return false;
644
+ }
645
+ const evData = Object.assign(Object.assign({ range: Object.assign(Object.assign({}, focus), { x1: end.x, y1: end.y }), next: changes }, this.types), { rowDimension: Object.assign({}, this.dimensionRow.state), colDimension: Object.assign({}, this.dimensionCol.state) });
646
+ // 2. Trigger apply focus event
647
+ const applyEvent = this.applyFocus.emit(evData);
648
+ if (applyEvent.defaultPrevented) {
649
+ return false;
650
+ }
651
+ const { range } = applyEvent.detail;
652
+ // 3. Trigger focus event
653
+ return !this.focusCell.emit(Object.assign({ focus: {
654
+ x: range.x,
655
+ y: range.y,
656
+ }, end: {
657
+ x: range.x1,
658
+ y: range.y1,
659
+ } }, applyEvent.detail)).defaultPrevented;
660
+ }
661
+ triggerRangeEvent(range) {
662
+ const type = this.types.rowType;
663
+ // 1. Apply range
664
+ const applyEvent = this.beforeApplyRange.emit(Object.assign(Object.assign({ range: Object.assign({}, range) }, this.types), { rowDimension: Object.assign({}, this.dimensionRow.state), colDimension: Object.assign({}, this.dimensionCol.state) }));
665
+ if (applyEvent.defaultPrevented) {
666
+ return false;
667
+ }
668
+ const data = this.columnService.getRangeTransformedToProps(applyEvent.detail.range, this.dataStore);
669
+ // 2. Before set range
670
+ let e = this.beforeSetRange.emit(data);
671
+ if (e.defaultPrevented) {
672
+ return false;
673
+ }
674
+ // 3. Set range
675
+ e = this.setRange.emit(Object.assign(Object.assign({}, applyEvent.detail.range), { type }));
676
+ if (e.defaultPrevented) {
677
+ return false;
678
+ }
679
+ return !e.defaultPrevented;
680
+ }
681
+ /**
682
+ * Open Editor on DblClick
683
+ */
684
+ onElementDblClick(e) {
685
+ // DblClick prevented outside - Editor will not open
686
+ if (e.defaultPrevented) {
687
+ return;
688
+ }
689
+ // Get data from the component
690
+ const data = this.getData();
691
+ const focusCell = getFocusCellBasedOnEvent(e, data);
692
+ if (!focusCell) {
693
+ return;
694
+ }
695
+ this.doEdit();
696
+ }
697
+ /**
698
+ * Handle mouse down event on Host element
699
+ */
700
+ onElementMouseDown(e, touch = false) {
701
+ var _a;
702
+ // Get the target element from the event object
703
+ const targetElement = e.target;
704
+ // Ignore focus if clicked input
705
+ if (isEditInput(targetElement) || e.defaultPrevented) {
706
+ return;
707
+ }
708
+ // Get data from the component
709
+ const data = this.getData();
710
+ const focusCell = getFocusCellBasedOnEvent(e, data);
711
+ if (!focusCell) {
712
+ return;
713
+ }
714
+ // Check if right click on selected range - do nothing
715
+ const isRightClick = checkIsRightClick(e);
716
+ const selectedRange = this.selectionStore.get('range');
717
+ let isClickOnSelectedRange = false;
718
+ if (isRightClick && selectedRange) {
719
+ const { x, x1, y, y1 } = selectedRange;
720
+ const evt = e.target;
721
+ if ((x !== x1 || y !== y1) &&
722
+ evt.dataset['rgcol'] &&
723
+ evt.dataset['rgrow']) {
724
+ const maxXCoord = Math.max(x, x1);
725
+ const minXCoord = Math.min(x, x1);
726
+ const maxYCoord = Math.max(y, y1);
727
+ const minYCoord = Math.min(y, y1);
728
+ isClickOnSelectedRange =
729
+ +evt.dataset['rgcol'] >= minXCoord &&
730
+ +evt.dataset['rgcol'] <= maxXCoord &&
731
+ +evt.dataset['rgrow'] >= minYCoord &&
732
+ +evt.dataset['rgrow'] <= maxYCoord;
733
+ }
734
+ }
735
+ // Set focus on the current cell
736
+ this.focus(focusCell, this.range && e.shiftKey, isClickOnSelectedRange);
737
+ // Initiate autofill selection
738
+ if (this.range && !isClickOnSelectedRange) {
739
+ targetElement &&
740
+ ((_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.selectionStart(targetElement, this.getData()));
741
+ // Prevent default behavior for mouse events,
742
+ // but only if target element is not a mobile input
743
+ if (!touch) ;
744
+ else if (verifyTouchTarget(e.touches[0], MOBILE_CLASS)) {
745
+ // Prevent default behavior for touch events
746
+ // if target element is a mobile input
747
+ e.preventDefault();
748
+ }
749
+ }
750
+ }
751
+ /**
752
+ * Start cell editing
753
+ */
754
+ doEdit(val = '') {
755
+ var _a;
756
+ if (this.canEdit()) {
757
+ const focus = this.selectionStore.get('focus');
758
+ if (!focus) {
759
+ return;
760
+ }
761
+ const data = this.columnService.getSaveData(focus.y, focus.x);
762
+ (_a = this.setEdit) === null || _a === void 0 ? void 0 : _a.emit(Object.assign(Object.assign({}, data), { val }));
763
+ }
764
+ }
765
+ /**
766
+ * Close editor event triggered
767
+ * @param details - if it requires focus next
768
+ */
769
+ async closeEdit(e) {
770
+ this.cancelEdit.emit();
771
+ if (e === null || e === void 0 ? void 0 : e.detail) {
772
+ await this.focusNext();
773
+ }
774
+ }
775
+ /**
776
+ * Edit finished.
777
+ * Close Editor and save.
778
+ */
779
+ cellEdit(e) {
780
+ const dataToSave = this.columnService.getSaveData(e.rgRow, e.rgCol, e.val);
781
+ this.cellEditApply.emit(dataToSave);
782
+ }
783
+ getRegion() {
784
+ const focus = this.selectionStore.get('focus');
785
+ let range = this.selectionStore.get('range');
786
+ if (!range) {
787
+ range = getRange(focus, focus);
788
+ }
789
+ return range;
790
+ }
791
+ onCopy(e) {
792
+ var _a;
793
+ const range = this.getRegion();
794
+ const canCopyEvent = this.beforeCopyRegion.emit(range);
795
+ if (canCopyEvent.defaultPrevented) {
796
+ return false;
797
+ }
798
+ let rangeData;
799
+ if (range) {
800
+ const { data, mapping } = this.columnService.copyRangeArray(range, this.dataStore);
801
+ const event = this.rangeClipboardCopy.emit(Object.assign({ range,
802
+ data,
803
+ mapping }, this.types));
804
+ if (!event.defaultPrevented) {
805
+ rangeData = event.detail.data;
806
+ }
807
+ }
808
+ (_a = this.clipboard) === null || _a === void 0 ? void 0 : _a.doCopy(e, rangeData);
809
+ return true;
810
+ }
811
+ onPaste(data) {
812
+ var _a;
813
+ const focus = this.selectionStore.get('focus');
814
+ const isEditing = this.selectionStore.get('edit') !== null;
815
+ if (!focus || isEditing) {
816
+ return;
817
+ }
818
+ let { changed, range } = this.columnService.getTransformedDataToApply(focus, data);
819
+ const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, models: collectModelsOfRange(changed, this.dataStore), range }, this.types));
820
+ if (canPaste) {
821
+ return;
822
+ }
823
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.onRangeApply(changed, range, range, true);
824
+ }
825
+ async focusNext() {
826
+ var _a;
827
+ const canFocus = await ((_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyChangeSelection(new KeyboardEvent('keydown', {
828
+ code: codesLetter.ARROW_DOWN,
829
+ }), this.range));
830
+ if (!canFocus) {
831
+ this.closeEdit();
832
+ }
833
+ }
834
+ clearCell() {
835
+ var _a;
836
+ const range = this.selectionStore.get('range');
837
+ if (range && !isRangeSingleCell(range)) {
838
+ const data = this.columnService.getRangeStaticData(range, '');
839
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.onRangeApply(data, range, range, false, true);
840
+ }
841
+ else if (this.canEdit()) {
842
+ const focused = this.selectionStore.get('focus');
843
+ if (!focused) {
844
+ return;
845
+ }
846
+ const cell = this.columnService.getSaveData(focused.y, focused.x);
847
+ this.cellEdit({
848
+ rgRow: focused.y,
849
+ rgCol: focused.x,
850
+ val: '',
851
+ type: cell.type,
852
+ prop: cell.prop,
853
+ });
854
+ }
855
+ }
856
+ rowDragStart({ detail }) {
857
+ detail.text = getCellData(this.columnService.rowDataModel(detail.cell.y, detail.cell.x).value);
858
+ }
859
+ /**
860
+ * Verify if edit allowed.
861
+ */
862
+ canEdit() {
863
+ var _a;
864
+ if (this.readonly) {
865
+ return false;
866
+ }
867
+ const focus = this.selectionStore.get('focus');
868
+ return focus && !((_a = this.columnService) === null || _a === void 0 ? void 0 : _a.isReadOnly(focus.y, focus.x));
869
+ }
870
+ get edited() {
871
+ return this.selectionStore.get('edit');
872
+ }
873
+ /**
874
+ * Sets the focus on a cell and optionally edits a range.
875
+ */
876
+ focus(cell, isRangeEdit = false, isPrevent = false) {
877
+ if (!cell || isPrevent)
878
+ return false;
879
+ const end = cell;
880
+ const start = this.selectionStore.get('focus');
881
+ if (isRangeEdit && start) {
882
+ const range = getRange(start, end);
883
+ if (range) {
884
+ return this.triggerRangeEvent(range);
885
+ }
886
+ }
887
+ return this.doFocus(cell, end);
888
+ }
889
+ get types() {
890
+ return {
891
+ rowType: this.dataStore.get('type'),
892
+ colType: this.columnService.type,
893
+ };
894
+ }
895
+ /**
896
+ * Collect data
897
+ */
898
+ getData() {
899
+ return {
900
+ el: this.element,
901
+ rows: this.dimensionRow.state,
902
+ cols: this.dimensionCol.state,
903
+ lastCell: this.lastCell,
904
+ focus: this.selectionStore.get('focus'),
905
+ range: this.selectionStore.get('range'),
906
+ edit: this.selectionStore.get('edit'),
907
+ };
908
+ }
909
+ get element() { return this; }
910
+ static get watchers() { return {
911
+ "selectionStore": ["selectionServiceSet"],
912
+ "dimensionRow": ["createAutoFillService"],
913
+ "dimensionCol": ["createAutoFillService"],
914
+ "dataStore": ["columnServiceSet"],
915
+ "colData": ["columnServiceSet"]
916
+ }; }
917
+ static get style() { return revogrOverlayStyleCss; }
918
+ }, [260, "revogr-overlay-selection", {
919
+ "readonly": [4],
920
+ "range": [4],
921
+ "canDrag": [4, "can-drag"],
922
+ "useClipboard": [4, "use-clipboard"],
923
+ "selectionStore": [16, "selection-store"],
924
+ "dimensionRow": [16, "dimension-row"],
925
+ "dimensionCol": [16, "dimension-col"],
926
+ "dataStore": [16, "data-store"],
927
+ "colData": [16, "col-data"],
928
+ "lastCell": [16, "last-cell"],
929
+ "editors": [16],
930
+ "applyChangesOnClose": [4, "apply-changes-on-close"],
931
+ "additionalData": [8, "additional-data"],
932
+ "isMobileDevice": [4, "is-mobile-device"]
933
+ }, [[5, "touchmove", "onMouseMove"], [5, "mousemove", "onMouseMove"], [5, "touchend", "onMouseUp"], [5, "mouseup", "onMouseUp"], [5, "mouseleave", "onMouseUp"], [0, "dragstartcell", "onCellDrag"], [4, "keyup", "onKeyUp"], [4, "keydown", "onKeyDown"]], {
934
+ "selectionStore": ["selectionServiceSet"],
935
+ "dimensionRow": ["createAutoFillService"],
936
+ "dimensionCol": ["createAutoFillService"],
937
+ "dataStore": ["columnServiceSet"],
938
+ "colData": ["columnServiceSet"]
939
+ }]);
940
+ function defineCustomElement() {
941
+ if (typeof customElements === "undefined") {
942
+ return;
943
+ }
944
+ const components = ["revogr-overlay-selection", "revogr-clipboard", "revogr-edit", "revogr-order-editor"];
945
+ components.forEach(tagName => { switch (tagName) {
946
+ case "revogr-overlay-selection":
947
+ if (!customElements.get(tagName)) {
948
+ customElements.define(tagName, OverlaySelection);
949
+ }
950
+ break;
951
+ case "revogr-clipboard":
952
+ if (!customElements.get(tagName)) {
953
+ defineCustomElement$3();
954
+ }
955
+ break;
956
+ case "revogr-edit":
957
+ if (!customElements.get(tagName)) {
958
+ defineCustomElement$2();
959
+ }
960
+ break;
961
+ case "revogr-order-editor":
962
+ if (!customElements.get(tagName)) {
963
+ defineCustomElement$1();
964
+ }
965
+ break;
966
+ } });
967
+ }
968
+
969
+ export { OverlaySelection as O, defineCustomElement as d };
970
+ //# sourceMappingURL=revogr-overlay-selection2.js.map
971
+
972
+ //# sourceMappingURL=revogr-overlay-selection2.js.map