@revolist/revogrid 4.0.4-next → 4.0.4

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 (802) 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 -85
  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/revo-grid/app-globals-ef1fca59.js +5 -0
  357. package/dist/revo-grid/app-globals-ef1fca59.js.map +1 -0
  358. package/dist/revo-grid/column.service-21a3af74.js +5 -0
  359. package/dist/revo-grid/column.service-21a3af74.js.map +1 -0
  360. package/dist/revo-grid/debounce-7781346d.js +5 -0
  361. package/dist/revo-grid/debounce-7781346d.js.map +1 -0
  362. package/dist/revo-grid/dimension.helpers-a3065cb1.js +5 -0
  363. package/dist/revo-grid/dimension.helpers-a3065cb1.js.map +1 -0
  364. package/dist/revo-grid/dispatcher-8ea9187d.js +5 -0
  365. package/dist/revo-grid/dispatcher-8ea9187d.js.map +1 -0
  366. package/dist/revo-grid/events-3dd8ee7c.js +5 -0
  367. package/dist/revo-grid/events-3dd8ee7c.js.map +1 -0
  368. package/dist/revo-grid/filter.button-46ce4f80.js +5 -0
  369. package/dist/revo-grid/filter.button-46ce4f80.js.map +1 -0
  370. package/dist/revo-grid/header-cell-renderer-1ca84d5f.js +5 -0
  371. package/dist/revo-grid/header-cell-renderer-1ca84d5f.js.map +1 -0
  372. package/dist/revo-grid/index-21436631.js +6 -0
  373. package/dist/revo-grid/index-21436631.js.map +1 -0
  374. package/dist/revo-grid/index-98fd0168.js +5 -0
  375. package/dist/revo-grid/index-98fd0168.js.map +1 -0
  376. package/dist/revo-grid/index.esm.js +5 -0
  377. package/dist/revo-grid/index.esm.js.map +1 -0
  378. package/dist/revo-grid/key.utils-4586a3d6.js +5 -0
  379. package/dist/revo-grid/key.utils-4586a3d6.js.map +1 -0
  380. package/dist/revo-grid/resize-observer-83c9e167.js +5 -0
  381. package/dist/revo-grid/resize-observer-83c9e167.js.map +1 -0
  382. package/dist/revo-grid/revo-grid.entry.js +5 -0
  383. package/dist/revo-grid/revo-grid.entry.js.map +1 -0
  384. package/dist/revo-grid/revo-grid.esm.js +5 -1
  385. package/dist/revo-grid/revo-grid.esm.js.map +1 -0
  386. package/dist/revo-grid/revogr-attribution_6.entry.js +5 -0
  387. package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -0
  388. package/dist/revo-grid/revogr-clipboard_3.entry.js +5 -0
  389. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
  390. package/dist/revo-grid/revogr-data_4.entry.js +5 -0
  391. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
  392. package/dist/revo-grid/revogr-filter-panel.entry.js +5 -1
  393. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
  394. package/dist/revo-grid/selection.store-2577ddf9.js +5 -0
  395. package/dist/revo-grid/selection.store-2577ddf9.js.map +1 -0
  396. package/dist/revo-grid/storeTypes-f2647985.js +5 -0
  397. package/dist/revo-grid/storeTypes-f2647985.js.map +1 -0
  398. package/dist/revo-grid/throttle-cfd527d6.js +5 -0
  399. package/dist/revo-grid/throttle-cfd527d6.js.map +1 -0
  400. package/dist/revo-grid/toNumber-8de324a7.js +5 -0
  401. package/dist/revo-grid/toNumber-8de324a7.js.map +1 -0
  402. package/dist/revo-grid/viewport.helpers-6591d423.js +5 -0
  403. package/dist/revo-grid/viewport.helpers-6591d423.js.map +1 -0
  404. package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
  405. package/dist/types/components/clipboard/revogr-clipboard.d.ts +78 -10
  406. package/dist/types/components/data/cell-renderer.d.ts +14 -0
  407. package/dist/types/components/data/column.service.d.ts +60 -0
  408. package/dist/types/components/data/revogr-data.d.ts +101 -27
  409. package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
  410. package/dist/types/components/data/{rowRenderer.d.ts → row-renderer.d.ts} +6 -5
  411. package/dist/types/components/editors/revogr-edit.d.ts +63 -0
  412. package/dist/types/components/editors/text-editor.d.ts +46 -0
  413. package/dist/types/components/header/header-cell-renderer.d.ts +11 -0
  414. package/dist/types/components/header/header-renderer.d.ts +17 -0
  415. package/dist/types/components/header/revogr-header.d.ts +70 -22
  416. package/dist/types/components/order/order-renderer.d.ts +29 -0
  417. package/dist/types/components/order/order-row.service.d.ts +28 -0
  418. package/dist/types/components/order/revogr-order-editor.d.ts +43 -41
  419. package/dist/types/components/overlay/autofill.service.d.ts +69 -54
  420. package/dist/types/components/overlay/keyboard.service.d.ts +24 -23
  421. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +216 -75
  422. package/dist/types/components/overlay/selection.utils.d.ts +24 -27
  423. package/dist/types/components/revoGrid/grid.helpers.d.ts +16 -11
  424. package/dist/types/components/revoGrid/revo-grid.d.ts +555 -403
  425. package/dist/types/components/revoGrid/viewport.helpers.d.ts +4 -3
  426. package/dist/types/components/revoGrid/viewport.resize.service.d.ts +7 -7
  427. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +20 -21
  428. package/dist/types/components/revoGrid/viewport.service.d.ts +54 -56
  429. package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +45 -12
  430. package/dist/types/components/rowHeaders/row-header-render.d.ts +5 -5
  431. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +115 -76
  432. package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
  433. package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +39 -22
  434. package/dist/types/components/selectionFocus/revogr-focus.d.ts +61 -9
  435. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +26 -11
  436. package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
  437. package/dist/types/components/vnode/vnode.utils.d.ts +8 -0
  438. package/dist/types/components.d.ts +1595 -274
  439. package/dist/types/index.d.ts +14 -0
  440. package/dist/types/plugins/base.plugin.d.ts +49 -0
  441. package/dist/types/plugins/column.auto-size.plugin.d.ts +47 -0
  442. package/dist/types/plugins/column.stretch.plugin.d.ts +22 -0
  443. package/dist/types/plugins/dispatcher.d.ts +16 -0
  444. package/dist/types/plugins/export/csv.d.ts +6 -6
  445. package/dist/types/plugins/export/export.plugin.d.ts +18 -18
  446. package/dist/types/plugins/export/types.d.ts +15 -15
  447. package/dist/types/plugins/filter/filter.button.d.ts +7 -3
  448. package/dist/types/plugins/filter/filter.plugin.d.ts +61 -43
  449. package/dist/types/plugins/filter/filter.pop.d.ts +60 -35
  450. package/dist/types/plugins/filter/filter.service.d.ts +15 -15
  451. package/dist/types/plugins/filter/filter.types.d.ts +7 -7
  452. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +16 -13
  453. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +10 -6
  454. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +12 -10
  455. package/dist/types/plugins/groupingRow/grouping.const.d.ts +8 -7
  456. package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +6 -6
  457. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +32 -37
  458. package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +7 -5
  459. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +23 -15
  460. package/dist/types/plugins/groupingRow/grouping.service.d.ts +18 -16
  461. package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +1 -1
  462. package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +56 -0
  463. package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
  464. package/dist/types/plugins/sorting/sorting.plugin.d.ts +40 -27
  465. package/dist/types/plugins/sorting/sorting.sign.d.ts +3 -3
  466. package/dist/types/services/cell.helpers.d.ts +2 -2
  467. package/dist/types/services/column.data.provider.d.ts +33 -35
  468. package/dist/types/services/data.provider.d.ts +27 -21
  469. package/dist/types/services/dimension.provider.d.ts +52 -34
  470. package/dist/types/services/local.scroll.service.d.ts +37 -0
  471. package/dist/types/services/local.scroll.timer.d.ts +26 -0
  472. package/dist/types/services/resizable.directive.d.ts +52 -51
  473. package/dist/types/services/resizable.element.d.ts +4 -0
  474. package/dist/types/services/selection.store.connector.d.ts +54 -36
  475. package/dist/types/services/viewport.provider.d.ts +6 -8
  476. package/dist/types/stencil-public-runtime.d.ts +331 -217
  477. package/dist/types/store/dataSource/data.proxy.d.ts +3 -3
  478. package/dist/types/store/dataSource/data.store.d.ts +45 -46
  479. package/dist/types/store/dataSource/index.d.ts +3 -0
  480. package/dist/types/store/dataSource/trimmed.plugin.d.ts +10 -0
  481. package/dist/types/store/dimension/dimension.helpers.d.ts +24 -9
  482. package/dist/types/store/dimension/dimension.store.d.ts +29 -11
  483. package/dist/types/store/dimension/index.d.ts +2 -0
  484. package/dist/types/store/selection/index.d.ts +3 -0
  485. package/dist/types/store/selection/selection.helpers.d.ts +1 -3
  486. package/dist/types/store/selection/selection.store.d.ts +19 -17
  487. package/dist/types/store/selection/selection.store.service.d.ts +12 -13
  488. package/dist/types/store/storeTypes.d.ts +4 -4
  489. package/dist/types/store/viewport/index.d.ts +2 -0
  490. package/dist/types/store/viewport/viewport.helpers.d.ts +54 -0
  491. package/dist/types/store/viewport/viewport.store.d.ts +36 -0
  492. package/dist/types/themeManager/theme.compact.d.ts +3 -3
  493. package/dist/types/themeManager/theme.default.d.ts +3 -3
  494. package/dist/types/themeManager/theme.material.d.ts +3 -3
  495. package/dist/types/themeManager/theme.service.d.ts +13 -0
  496. package/dist/types/types/dimension.d.ts +8 -0
  497. package/dist/types/types/interfaces.d.ts +243 -0
  498. package/dist/types/types/plugin.d.ts +9 -0
  499. package/dist/types/types/plugin.types.d.ts +12 -0
  500. package/dist/types/types/selection.d.ts +115 -0
  501. package/dist/types/types/theme.d.ts +7 -0
  502. package/dist/types/types/viewport.interfaces.d.ts +51 -0
  503. package/dist/types/utils/browser.d.ts +1 -0
  504. package/dist/types/utils/consts.d.ts +5 -1
  505. package/dist/types/utils/events.d.ts +2 -0
  506. package/dist/types/utils/{utils.d.ts → index.d.ts} +17 -1
  507. package/dist/types/utils/key.codes.d.ts +70 -0
  508. package/dist/types/utils/{keyCodes.utils.d.ts → key.utils.d.ts} +5 -1
  509. package/dist/types/utils/mobile.d.ts +1 -0
  510. package/dist/types/utils/platform.d.ts +1 -1
  511. package/dist/types/utils/row-header-utils.d.ts +2 -0
  512. package/dist/types/utils/store.utils.d.ts +2 -2
  513. package/hydrate/index.d.ts +218 -0
  514. package/hydrate/index.js +32381 -0
  515. package/hydrate/package.json +6 -0
  516. package/loader/cdn.js +4 -3
  517. package/loader/index.cjs.js +4 -3
  518. package/loader/index.d.ts +10 -2
  519. package/loader/index.es2017.js +4 -3
  520. package/loader/index.js +4 -3
  521. package/package.json +96 -52
  522. package/readme.md +135 -98
  523. package/standalone/_baseIteratee.js +1237 -0
  524. package/standalone/_baseIteratee.js.map +1 -0
  525. package/standalone/_stringToPath.js +1389 -0
  526. package/standalone/_stringToPath.js.map +1 -0
  527. package/standalone/column.service.js +889 -0
  528. package/standalone/column.service.js.map +1 -0
  529. package/standalone/consts.js +30 -0
  530. package/standalone/consts.js.map +1 -0
  531. package/standalone/data.store.js +705 -0
  532. package/standalone/data.store.js.map +1 -0
  533. package/standalone/debounce.js +225 -0
  534. package/standalone/debounce.js.map +1 -0
  535. package/standalone/dimension.helpers.js +355 -0
  536. package/standalone/dimension.helpers.js.map +1 -0
  537. package/standalone/each.js +200 -0
  538. package/standalone/each.js.map +1 -0
  539. package/standalone/filter.button.js +38 -0
  540. package/standalone/filter.button.js.map +1 -0
  541. package/standalone/identity.js +349 -0
  542. package/standalone/identity.js.map +1 -0
  543. package/standalone/index.d.ts +66 -0
  544. package/standalone/index.js +42 -0
  545. package/standalone/index.js.map +1 -0
  546. package/standalone/index2.js +55 -0
  547. package/standalone/index2.js.map +1 -0
  548. package/standalone/isObjectLike.js +195 -0
  549. package/standalone/isObjectLike.js.map +1 -0
  550. package/standalone/local.scroll.timer.js +163 -0
  551. package/standalone/local.scroll.timer.js.map +1 -0
  552. package/{custom-element → standalone}/resize-observer.js +30 -14
  553. package/standalone/resize-observer.js.map +1 -0
  554. package/standalone/revo-grid.d.ts +11 -0
  555. package/standalone/revo-grid.js +4252 -0
  556. package/standalone/revo-grid.js.map +1 -0
  557. package/standalone/revogr-attribution.d.ts +11 -0
  558. package/standalone/revogr-attribution.js +11 -0
  559. package/standalone/revogr-attribution.js.map +1 -0
  560. package/standalone/revogr-attribution2.js +31 -0
  561. package/standalone/revogr-attribution2.js.map +1 -0
  562. package/standalone/revogr-clipboard.d.ts +11 -0
  563. package/standalone/revogr-clipboard.js +11 -0
  564. package/standalone/revogr-clipboard.js.map +1 -0
  565. package/standalone/revogr-clipboard2.js +159 -0
  566. package/standalone/revogr-clipboard2.js.map +1 -0
  567. package/standalone/revogr-data.d.ts +11 -0
  568. package/standalone/revogr-data.js +11 -0
  569. package/standalone/revogr-data.js.map +1 -0
  570. package/standalone/revogr-data2.js +368 -0
  571. package/standalone/revogr-data2.js.map +1 -0
  572. package/standalone/revogr-edit.d.ts +11 -0
  573. package/standalone/revogr-edit.js +11 -0
  574. package/standalone/revogr-edit.js.map +1 -0
  575. package/standalone/revogr-edit2.js +335 -0
  576. package/standalone/revogr-edit2.js.map +1 -0
  577. package/standalone/revogr-filter-panel.d.ts +11 -0
  578. package/standalone/revogr-filter-panel.js +310 -0
  579. package/standalone/revogr-filter-panel.js.map +1 -0
  580. package/standalone/revogr-focus.d.ts +11 -0
  581. package/standalone/revogr-focus.js +11 -0
  582. package/standalone/revogr-focus.js.map +1 -0
  583. package/standalone/revogr-focus2.js +106 -0
  584. package/standalone/revogr-focus2.js.map +1 -0
  585. package/standalone/revogr-header.d.ts +11 -0
  586. package/standalone/revogr-header.js +11 -0
  587. package/standalone/revogr-header.js.map +1 -0
  588. package/standalone/revogr-header2.js +667 -0
  589. package/standalone/revogr-header2.js.map +1 -0
  590. package/standalone/revogr-order-editor.d.ts +11 -0
  591. package/standalone/revogr-order-editor.js +11 -0
  592. package/standalone/revogr-order-editor.js.map +1 -0
  593. package/standalone/revogr-order-editor2.js +199 -0
  594. package/standalone/revogr-order-editor2.js.map +1 -0
  595. package/standalone/revogr-overlay-selection.d.ts +11 -0
  596. package/standalone/revogr-overlay-selection.js +11 -0
  597. package/standalone/revogr-overlay-selection.js.map +1 -0
  598. package/standalone/revogr-overlay-selection2.js +876 -0
  599. package/standalone/revogr-overlay-selection2.js.map +1 -0
  600. package/standalone/revogr-row-headers.d.ts +11 -0
  601. package/standalone/revogr-row-headers.js +11 -0
  602. package/standalone/revogr-row-headers.js.map +1 -0
  603. package/standalone/revogr-row-headers2.js +555 -0
  604. package/standalone/revogr-row-headers2.js.map +1 -0
  605. package/standalone/revogr-scroll-virtual.d.ts +11 -0
  606. package/standalone/revogr-scroll-virtual.js +11 -0
  607. package/standalone/revogr-scroll-virtual.js.map +1 -0
  608. package/standalone/revogr-scroll-virtual2.js +187 -0
  609. package/standalone/revogr-scroll-virtual2.js.map +1 -0
  610. package/standalone/revogr-temp-range.d.ts +11 -0
  611. package/standalone/revogr-temp-range.js +11 -0
  612. package/standalone/revogr-temp-range.js.map +1 -0
  613. package/standalone/revogr-temp-range2.js +90 -0
  614. package/standalone/revogr-temp-range2.js.map +1 -0
  615. package/standalone/revogr-viewport-scroll.d.ts +11 -0
  616. package/standalone/revogr-viewport-scroll.js +11 -0
  617. package/standalone/revogr-viewport-scroll.js.map +1 -0
  618. package/standalone/revogr-viewport-scroll2.js +336 -0
  619. package/standalone/revogr-viewport-scroll2.js.map +1 -0
  620. package/standalone/selection.utils.js +108 -0
  621. package/standalone/selection.utils.js.map +1 -0
  622. package/standalone/throttle.js +79 -0
  623. package/standalone/throttle.js.map +1 -0
  624. package/standalone/toNumber.js +144 -0
  625. package/standalone/toNumber.js.map +1 -0
  626. package/standalone/vnode-converter.js +45 -0
  627. package/standalone/vnode-converter.js.map +1 -0
  628. package/standalone/vnode-html.d.ts +11 -0
  629. package/standalone/vnode-html.js +11 -0
  630. package/standalone/vnode-html.js.map +1 -0
  631. package/custom-element/index.d.ts +0 -117
  632. package/custom-element/index.js +0 -28858
  633. package/dist/cjs/css-shim-e33df79c.js +0 -6
  634. package/dist/cjs/dom-c8b6d1a7.js +0 -75
  635. package/dist/cjs/filter.button-2396a488.js +0 -27
  636. package/dist/cjs/index-d3f67f2e.js +0 -1729
  637. package/dist/cjs/revo-grid_11.cjs.entry.js +0 -28622
  638. package/dist/cjs/revogr-clipboard.cjs.entry.js +0 -53
  639. package/dist/collection/components/button/button.js +0 -4
  640. package/dist/collection/components/data/cellRenderer.js +0 -19
  641. package/dist/collection/components/data/columnService.js +0 -243
  642. package/dist/collection/components/data/rowRenderer.js +0 -6
  643. package/dist/collection/components/header/headerCellRenderer.js +0 -19
  644. package/dist/collection/components/header/headerRenderer.js +0 -45
  645. package/dist/collection/components/order/orderRenderer.js +0 -50
  646. package/dist/collection/components/order/rowOrderService.js +0 -68
  647. package/dist/collection/components/overlay/clipboard.service.js +0 -39
  648. package/dist/collection/components/overlay/editors/edit.utils.js +0 -5
  649. package/dist/collection/components/overlay/editors/text.js +0 -35
  650. package/dist/collection/components/overlay/revogr-edit.js +0 -163
  651. package/dist/collection/components/revoGrid/viewport.interfaces.js +0 -1
  652. package/dist/collection/components/revoGrid/viewport.js +0 -18
  653. package/dist/collection/components/revoGrid/viewport.section.js +0 -28
  654. package/dist/collection/components/rowHeaders/row-header-utils.js +0 -4
  655. package/dist/collection/plugins/autoSizeColumn.d.ts +0 -54
  656. package/dist/collection/plugins/autoSizeColumn.js +0 -230
  657. package/dist/collection/plugins/basePlugin.d.ts +0 -37
  658. package/dist/collection/plugins/basePlugin.js +0 -53
  659. package/dist/collection/plugins/export/csv.d.ts +0 -9
  660. package/dist/collection/plugins/export/export.plugin.d.ts +0 -24
  661. package/dist/collection/plugins/export/types.d.ts +0 -23
  662. package/dist/collection/plugins/filter/conditions/equal.d.ts +0 -4
  663. package/dist/collection/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
  664. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
  665. package/dist/collection/plugins/filter/conditions/number/lessThan.d.ts +0 -3
  666. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
  667. package/dist/collection/plugins/filter/conditions/set.d.ts +0 -4
  668. package/dist/collection/plugins/filter/conditions/string/beginswith.d.ts +0 -3
  669. package/dist/collection/plugins/filter/conditions/string/contains.d.ts +0 -4
  670. package/dist/collection/plugins/filter/filter.button.d.ts +0 -10
  671. package/dist/collection/plugins/filter/filter.plugin.d.ts +0 -59
  672. package/dist/collection/plugins/filter/filter.pop.d.ts +0 -42
  673. package/dist/collection/plugins/filter/filter.service.d.ts +0 -20
  674. package/dist/collection/plugins/filter/filter.types.d.ts +0 -8
  675. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
  676. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
  677. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
  678. package/dist/collection/plugins/groupingRow/grouping.const.d.ts +0 -9
  679. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
  680. package/dist/collection/plugins/groupingRow/grouping.row.plugin.d.ts +0 -40
  681. package/dist/collection/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
  682. package/dist/collection/plugins/groupingRow/grouping.row.types.d.ts +0 -19
  683. package/dist/collection/plugins/groupingRow/grouping.service.d.ts +0 -25
  684. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
  685. package/dist/collection/plugins/sorting/sorting.plugin.d.ts +0 -32
  686. package/dist/collection/plugins/sorting/sorting.sign.d.ts +0 -8
  687. package/dist/collection/plugins/stretchPlugin.d.ts +0 -29
  688. package/dist/collection/plugins/stretchPlugin.js +0 -90
  689. package/dist/collection/plugins/trimmed/trimmed.plugin.d.ts +0 -10
  690. package/dist/collection/plugins/trimmed/trimmed.plugin.js +0 -32
  691. package/dist/collection/services/localScrollService.js +0 -80
  692. package/dist/collection/store/viewPort/viewport.helpers.js +0 -180
  693. package/dist/collection/store/viewPort/viewport.store.js +0 -121
  694. package/dist/collection/themeManager/themeService.js +0 -43
  695. package/dist/collection/utils/closestPolifill.js +0 -18
  696. package/dist/collection/utils/generateAlphabetHeader.js +0 -20
  697. package/dist/collection/utils/keyCodes.js +0 -70
  698. package/dist/collection/utils/keyCodes.utils.js +0 -64
  699. package/dist/collection/utils/resizeObserver.js +0 -6
  700. package/dist/collection/utils/utils.js +0 -104
  701. package/dist/esm/css-shim-8d75038b.js +0 -4
  702. package/dist/esm/dom-1b195079.js +0 -73
  703. package/dist/esm/filter.button-53ebca66.js +0 -23
  704. package/dist/esm/index-42c84e7c.js +0 -1694
  705. package/dist/esm/polyfills/core-js.js +0 -11
  706. package/dist/esm/polyfills/css-shim.js +0 -1
  707. package/dist/esm/polyfills/dom.js +0 -79
  708. package/dist/esm/polyfills/es5-html-element.js +0 -1
  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 -28608
  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/package.json +0 -10
  799. /package/dist/types/components/{overlay/editors → editors}/edit.utils.d.ts +0 -0
  800. /package/dist/{esm-es5/index.js → types/utils/closest.polifill.d.ts} +0 -0
  801. /package/dist/types/utils/{generateAlphabetHeader.d.ts → header.utils.d.ts} +0 -0
  802. /package/dist/types/utils/{resizeObserver.d.ts → resize-observer.polifill.d.ts} +0 -0
@@ -0,0 +1,391 @@
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ import { k as createStore, l as setStore } from './dimension.helpers-a3065cb1.js';
5
+
6
+ const EMPTY_INDEX = -1;
7
+ class SelectionStoreConnector {
8
+ constructor() {
9
+ // dirty flag required to cleanup whole store in case visibility of panels changed
10
+ this.dirty = false;
11
+ this.stores = {};
12
+ this.columnStores = {};
13
+ this.rowStores = {};
14
+ /**
15
+ * Helpers for data conversion
16
+ */
17
+ this.storesByType = {};
18
+ this.storesXToType = {};
19
+ this.storesYToType = {};
20
+ this.sections = [];
21
+ }
22
+ get focusedStore() {
23
+ var _a;
24
+ for (let y in this.stores) {
25
+ for (let x in this.stores[y]) {
26
+ const focused = (_a = this.stores[y][x]) === null || _a === void 0 ? void 0 : _a.store.get('focus');
27
+ if (focused) {
28
+ return {
29
+ entity: this.stores[y][x],
30
+ cell: focused,
31
+ position: {
32
+ x: parseInt(x, 10),
33
+ y: parseInt(y, 10),
34
+ },
35
+ };
36
+ }
37
+ }
38
+ }
39
+ return null;
40
+ }
41
+ get edit() {
42
+ var _a;
43
+ return (_a = this.focusedStore) === null || _a === void 0 ? void 0 : _a.entity.store.get('edit');
44
+ }
45
+ get focused() {
46
+ var _a;
47
+ return (_a = this.focusedStore) === null || _a === void 0 ? void 0 : _a.entity.store.get('focus');
48
+ }
49
+ get selectedRange() {
50
+ var _a;
51
+ return (_a = this.focusedStore) === null || _a === void 0 ? void 0 : _a.entity.store.get('range');
52
+ }
53
+ registerSection(e) {
54
+ if (!e) {
55
+ this.sections.length = 0;
56
+ // some elements removed, rebuild stores
57
+ this.dirty = true;
58
+ return;
59
+ }
60
+ if (this.sections.indexOf(e) === -1) {
61
+ this.sections.push(e);
62
+ }
63
+ }
64
+ // check if require to cleanup all stores
65
+ beforeUpdate() {
66
+ if (this.dirty) {
67
+ for (let y in this.stores) {
68
+ for (let x in this.stores[y]) {
69
+ this.stores[y][x].dispose();
70
+ }
71
+ }
72
+ this.dirty = false;
73
+ }
74
+ }
75
+ registerColumn(x, type) {
76
+ // if hidden just create store but no operations needed
77
+ if (isHiddenStore(x)) {
78
+ return new SelectionStore();
79
+ }
80
+ if (this.columnStores[x]) {
81
+ return this.columnStores[x];
82
+ }
83
+ this.columnStores[x] = new SelectionStore();
84
+ // build cross linking type to position
85
+ this.storesByType[type] = x;
86
+ this.storesXToType[x] = type;
87
+ return this.columnStores[x];
88
+ }
89
+ registerRow(y, type) {
90
+ // if hidden just create store
91
+ if (isHiddenStore(y)) {
92
+ return new SelectionStore();
93
+ }
94
+ if (this.rowStores[y]) {
95
+ return this.rowStores[y];
96
+ }
97
+ this.rowStores[y] = new SelectionStore();
98
+ // build cross linking type to position
99
+ this.storesByType[type] = y;
100
+ this.storesYToType[y] = type;
101
+ return this.rowStores[y];
102
+ }
103
+ /**
104
+ * Cross store proxy, based on multiple dimensions
105
+ */
106
+ register({ x, y }) {
107
+ var _a, _b;
108
+ // if hidden just create store
109
+ if (isHiddenStore(x) || isHiddenStore(y)) {
110
+ return new SelectionStore();
111
+ }
112
+ if (!this.stores[y]) {
113
+ this.stores[y] = {};
114
+ }
115
+ if (this.stores[y][x]) {
116
+ // Store already registered. Do not register twice
117
+ return this.stores[y][x];
118
+ }
119
+ this.stores[y][x] = new SelectionStore();
120
+ // proxy update, column store trigger only range area
121
+ (_a = this.stores[y][x]) === null || _a === void 0 ? void 0 : _a.onChange('range', c => {
122
+ this.columnStores[x].setRangeArea(c);
123
+ this.rowStores[y].setRangeArea(c);
124
+ });
125
+ // clean up on remove
126
+ (_b = this.stores[y][x]) === null || _b === void 0 ? void 0 : _b.store.on('dispose', () => this.destroy(x, y));
127
+ return this.stores[y][x];
128
+ }
129
+ destroy(x, y) {
130
+ var _a, _b;
131
+ (_a = this.columnStores[x]) === null || _a === void 0 ? void 0 : _a.dispose();
132
+ (_b = this.rowStores[y]) === null || _b === void 0 ? void 0 : _b.dispose();
133
+ delete this.rowStores[y];
134
+ delete this.columnStores[x];
135
+ // clear x cross link
136
+ if (this.storesXToType[x]) {
137
+ const type = this.storesXToType[x];
138
+ delete this.storesXToType[x];
139
+ delete this.storesByType[type];
140
+ }
141
+ // clear y cross link
142
+ if (this.storesYToType[y]) {
143
+ const type = this.storesYToType[y];
144
+ delete this.storesYToType[y];
145
+ delete this.storesByType[type];
146
+ }
147
+ if (this.stores[y]) {
148
+ delete this.stores[y][x];
149
+ }
150
+ // clear empty rows
151
+ if (!Object.keys(this.stores[y] || {}).length) {
152
+ delete this.stores[y];
153
+ }
154
+ }
155
+ setEditByCell(storePos, editCell) {
156
+ this.focusByCell(storePos, editCell, editCell);
157
+ this.setEdit('');
158
+ }
159
+ focusByCell(storePos, start, end) {
160
+ const store = this.stores[storePos.y][storePos.x];
161
+ this.focus(store, { focus: start, end });
162
+ }
163
+ focus(store, { focus, end }) {
164
+ let currentStorePointer;
165
+ // clear all stores focus leave only active one
166
+ for (let y in this.stores) {
167
+ for (let x in this.stores[y]) {
168
+ const s = this.stores[y][x];
169
+ // clear other stores, only one area can be selected
170
+ if (s !== store) {
171
+ s.clearFocus();
172
+ }
173
+ else {
174
+ currentStorePointer = { x: parseInt(x, 10), y: parseInt(y, 10) };
175
+ }
176
+ }
177
+ }
178
+ if (!currentStorePointer) {
179
+ return null;
180
+ }
181
+ // check is focus in next store
182
+ const lastCell = store.store.get('lastCell');
183
+ // item in new store
184
+ const nextItem = nextCell(focus, lastCell);
185
+ let nextStore;
186
+ if (nextItem) {
187
+ for (let i in nextItem) {
188
+ let type = i;
189
+ let stores;
190
+ switch (type) {
191
+ case 'x':
192
+ stores = this.getXStores(currentStorePointer.y);
193
+ break;
194
+ case 'y':
195
+ stores = this.getYStores(currentStorePointer.x);
196
+ break;
197
+ }
198
+ if (nextItem[type] >= 0) {
199
+ nextStore = stores[++currentStorePointer[type]];
200
+ }
201
+ else {
202
+ nextStore = stores[--currentStorePointer[type]];
203
+ const nextLastCell = nextStore === null || nextStore === void 0 ? void 0 : nextStore.store.get('lastCell');
204
+ if (nextLastCell) {
205
+ nextItem[type] = nextLastCell[type] + nextItem[type];
206
+ }
207
+ }
208
+ }
209
+ }
210
+ // if next store present - update
211
+ if (nextStore) {
212
+ let item = Object.assign(Object.assign({}, focus), nextItem);
213
+ this.focus(nextStore, { focus: item, end: item });
214
+ return null;
215
+ }
216
+ focus = cropCellToMax(focus, lastCell);
217
+ end = cropCellToMax(end, lastCell);
218
+ store.setFocus(focus, end);
219
+ return focus;
220
+ }
221
+ clearAll() {
222
+ var _a;
223
+ for (let y in this.stores) {
224
+ for (let x in this.stores[y]) {
225
+ (_a = this.stores[y][x]) === null || _a === void 0 ? void 0 : _a.clearFocus();
226
+ }
227
+ }
228
+ }
229
+ setEdit(val) {
230
+ if (!this.focusedStore) {
231
+ return;
232
+ }
233
+ this.focusedStore.entity.setEdit(val);
234
+ }
235
+ /**
236
+ * Select all cells across all stores
237
+ */
238
+ selectAll() {
239
+ for (let y in this.stores) {
240
+ for (let x in this.stores[y]) {
241
+ const store = this.stores[y][x];
242
+ if (!store) {
243
+ continue;
244
+ }
245
+ const lastCell = store.store.get('lastCell');
246
+ store.setRange({ x: 0, y: 0 }, { x: lastCell.x - 1, y: lastCell.y - 1 });
247
+ }
248
+ }
249
+ }
250
+ getXStores(y) {
251
+ return this.stores[y];
252
+ }
253
+ getYStores(x) {
254
+ const stores = {};
255
+ for (let i in this.stores) {
256
+ stores[i] = this.stores[i][x];
257
+ }
258
+ return stores;
259
+ }
260
+ }
261
+
262
+ function isHiddenStore(pos) {
263
+ return pos === EMPTY_INDEX;
264
+ }
265
+ function nextCell(cell, lastCell) {
266
+ const nextItem = {};
267
+ let types = ['x', 'y'];
268
+ // previous item check
269
+ for (let t of types) {
270
+ if (cell[t] < 0) {
271
+ nextItem[t] = cell[t];
272
+ return nextItem;
273
+ }
274
+ }
275
+ // next item check
276
+ for (let t of types) {
277
+ if (cell[t] >= lastCell[t]) {
278
+ nextItem[t] = cell[t] - lastCell[t];
279
+ return nextItem;
280
+ }
281
+ }
282
+ return null;
283
+ }
284
+ function cropCellToMax(cell, lastCell) {
285
+ const newCell = Object.assign({}, cell);
286
+ let types = ['x', 'y'];
287
+ // previous item check
288
+ for (let t of types) {
289
+ if (cell[t] < 0) {
290
+ newCell[t] = 0;
291
+ }
292
+ }
293
+ // next item check
294
+ for (let t of types) {
295
+ if (cell[t] >= lastCell[t]) {
296
+ newCell[t] = lastCell[t] - 1;
297
+ }
298
+ }
299
+ return newCell;
300
+ }
301
+ function getRange(start, end) {
302
+ return start && end
303
+ ? {
304
+ x: Math.min(start.x, end.x),
305
+ y: Math.min(start.y, end.y),
306
+ x1: Math.max(start.x, end.x),
307
+ y1: Math.max(start.y, end.y),
308
+ }
309
+ : null;
310
+ }
311
+ function isRangeSingleCell(a) {
312
+ return a.x === a.x1 && a.y === a.y1;
313
+ }
314
+
315
+ /**
316
+ * Selection store
317
+ */
318
+ function defaultState() {
319
+ return {
320
+ range: null,
321
+ tempRange: null,
322
+ tempRangeType: null,
323
+ focus: null,
324
+ edit: null,
325
+ lastCell: null,
326
+ };
327
+ }
328
+ class SelectionStore {
329
+ constructor() {
330
+ this.unsubscribe = [];
331
+ this.store = createStore(defaultState());
332
+ this.store.on('set', (key, newVal) => {
333
+ if (key === 'tempRange' && !newVal) {
334
+ this.store.set('tempRangeType', null);
335
+ }
336
+ });
337
+ }
338
+ onChange(propName, cb) {
339
+ this.unsubscribe.push(this.store.onChange(propName, cb));
340
+ }
341
+ clearFocus() {
342
+ setStore(this.store, { focus: null, range: null, edit: null, tempRange: null });
343
+ }
344
+ setFocus(focus, end) {
345
+ if (!end) {
346
+ setStore(this.store, { focus });
347
+ }
348
+ else {
349
+ setStore(this.store, {
350
+ focus,
351
+ range: getRange(focus, end),
352
+ edit: null,
353
+ tempRange: null,
354
+ });
355
+ }
356
+ }
357
+ setTempArea(range) {
358
+ setStore(this.store, { tempRange: range === null || range === void 0 ? void 0 : range.area, tempRangeType: range === null || range === void 0 ? void 0 : range.type, edit: null });
359
+ }
360
+ clearTemp() {
361
+ setStore(this.store, { tempRange: null });
362
+ }
363
+ /** Can be applied from selection change or from simple keyboard change clicks */
364
+ setRangeArea(range) {
365
+ setStore(this.store, { range, edit: null, tempRange: null });
366
+ }
367
+ setRange(start, end) {
368
+ this.setRangeArea(getRange(start, end));
369
+ }
370
+ setLastCell(lastCell) {
371
+ setStore(this.store, { lastCell });
372
+ }
373
+ setEdit(val) {
374
+ const focus = this.store.get('focus');
375
+ if (focus && typeof val === 'string') {
376
+ setStore(this.store, {
377
+ edit: { x: focus.x, y: focus.y, val },
378
+ });
379
+ return;
380
+ }
381
+ setStore(this.store, { edit: null });
382
+ }
383
+ dispose() {
384
+ this.unsubscribe.forEach(f => f());
385
+ this.store.dispose();
386
+ }
387
+ }
388
+
389
+ export { EMPTY_INDEX as E, SelectionStore as S, isRangeSingleCell as a, SelectionStoreConnector as b, cropCellToMax as c, getRange as g, isHiddenStore as i, nextCell as n };
390
+
391
+ //# sourceMappingURL=selection.store-2577ddf9.js.map
@@ -0,0 +1 @@
1
+ {"file":"selection.store-2577ddf9.js","mappings":";;;;;MAca,WAAW,GAAG,CAAC,EAAE;MAET,uBAAuB;IAA5C;;QAEU,UAAK,GAAG,KAAK,CAAC;QACb,WAAM,GAAqD,EAAE,CAAC;QAE9D,iBAAY,GAAqB,EAAE,CAAC;QACpC,cAAS,GAAoC,EAAE,CAAC;;;;QAKhD,iBAAY,GAAgD,EAAE,CAAC;QAC/D,kBAAa,GAAiC,EAAE,CAAC;QACjD,kBAAa,GAAiC,EAAE,CAAC;QAiCzC,aAAQ,GAAc,EAAE,CAAC;KA+N3C;IA9PC,IAAI,YAAY;;QACd,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACzB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC5B,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAI,OAAO,EAAE;oBACX,OAAO;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE;4BACR,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;4BAClB,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;yBACnB;qBACF,CAAC;iBACH;aACF;SACF;QACD,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAI;;QACN,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACpD;IAED,IAAI,OAAO;;QACT,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACrD;IAED,IAAI,aAAa;;QACf,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACrD;IAID,eAAe,CAAC,CAAW;QACzB,IAAI,CAAC,CAAC,EAAE;YACN,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;;YAEzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACvB;KACF;;IAGD,YAAY;QACV,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACzB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC7B;aACF;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;KACF;IAED,cAAc,CAAC,CAAS,EAAE,IAAmB;;QAG3C,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;YACpB,OAAO,IAAI,cAAc,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;;QAE5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;KAC7B;IAED,WAAW,CAAC,CAAS,EAAE,IAAmB;;QAExC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;YACpB,OAAO,IAAI,cAAc,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;;QAEzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC1B;;;;IAKD,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAQ;;;QAErB,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;YACxC,OAAO,IAAI,cAAc,EAAE,CAAC;SAC7B;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;;YAErB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;;QAEzC,MAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SACnC,CAAC,CAAC;;QAEH,MAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1B;IAEO,OAAO,CAAC,CAAS,EAAE,CAAS;;QAClC,MAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,OAAO,EAAE,CAAC;QAChC,MAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,OAAO,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;QAE5B,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAChC;;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAClB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACvB;KACF;IAED,aAAa,CAAiB,QAAW,EAAE,QAAW;QACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAClB;IAED,WAAW,CAAiB,QAAW,EAAE,KAAQ,EAAE,GAAM;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;KAC1C;IAED,KAAK,CAAC,KAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,EAA8B;QACrE,IAAI,mBAAyB,CAAC;;QAE9B,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACzB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE5B,IAAI,CAAC,KAAK,KAAK,EAAE;oBACf,CAAC,CAAC,UAAU,EAAE,CAAC;iBAChB;qBAAM;oBACL,mBAAmB,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;iBAClE;aACF;SACF;QACD,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;;QAGD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;QAE7C,MAAM,QAAQ,GAAyB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,SAAS,CAAC;QACd,IAAI,QAAQ,EAAE;YACZ,KAAK,IAAI,CAAC,IAAI,QAAQ,EAAE;gBACtB,IAAI,IAAI,GAAe,CAAe,CAAC;gBACvC,IAAI,MAAM,CAAC;gBACX,QAAQ,IAAI;oBACV,KAAK,GAAG;wBACN,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;wBAChD,MAAM;oBACR,KAAK,GAAG;wBACN,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;wBAChD,MAAM;iBACT;gBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvB,SAAS,GAAG,MAAM,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;iBACjD;qBAAM;oBACL,SAAS,GAAG,MAAM,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChD,MAAM,YAAY,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,YAAY,EAAE;wBAChB,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;qBACtD;iBACF;aACF;SACF;;QAED,IAAI,SAAS,EAAE;YACb,IAAI,IAAI,mCAAQ,KAAK,GAAK,QAAQ,CAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;SACb;QAED,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEnC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;KACd;IAED,QAAQ;;QACN,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACzB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC5B,MAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE,CAAC;aACjC;SACF;KACF;IAED,OAAO,CAAC,GAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACvC;;;;IAKD,SAAS;QACP,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACzB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE;oBACV,SAAS;iBACV;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC1E;SACF;KACF;IAEO,UAAU,CAAC,CAAS;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACvB;IAEO,UAAU,CAAC,CAAS;QAC1B,MAAM,MAAM,GAAoC,EAAE,CAAC;QACnD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACzB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,OAAO,MAAM,CAAC;KACf;;;SCzRa,aAAa,CAAC,GAAW;IACvC,OAAO,GAAG,KAAK,WAAW,CAAC;AAC7B,CAAC;SAEe,QAAQ,CAAC,IAAU,EAAE,QAAc;IACjD,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,KAAK,GAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;IAGvC,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;QACnB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YACf,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,QAAQ,CAAC;SACjB;KACF;;IAED,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;QACnB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC1B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,QAAQ,CAAC;SACjB;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;SAEe,aAAa,CAAC,IAAU,EAAE,QAAc;IACtD,MAAM,OAAO,qBAAc,IAAI,CAAE,CAAC;IAClC,IAAI,KAAK,GAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;IAEvC,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;QACnB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YACf,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAChB;KACF;;IAED,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;QACnB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC1B,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC9B;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;SAEe,QAAQ,CAAC,KAAY,EAAE,GAAU;IAC/C,OAAO,KAAK,IAAI,GAAG;UACf;YACE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAC7B;UACD,IAAI,CAAC;AACX,CAAC;SAEe,iBAAiB,CAAC,CAAY;IAC5C,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACtC;;AC3DA;;;AAWA,SAAS,YAAY;IACnB,OAAO;QACL,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;MAEY,cAAc;IAGzB;QADQ,gBAAW,GAAmB,EAAE,CAAC;QAEvC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM;YAC/B,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACvC;SACF,CAAC,CAAC;KACJ;IAED,QAAQ,CAAwC,QAAa,EAAE,EAAgD;QAC7G,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;KAC1D;IAED,UAAU;QACR,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACjF;IAED,QAAQ,CAAC,KAAW,EAAE,GAAU;QAC9B,IAAI,CAAC,GAAG,EAAE;YACR,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;SACjC;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;gBACnB,KAAK;gBACL,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;SACJ;KACF;IAED,WAAW,CAAC,KAAuB;QACjC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,aAAa,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;KAC1F;IAED,SAAS;QACP,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAC3C;;IAGD,YAAY,CAAC,KAAgB;QAC3B,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9D;IACD,QAAQ,CAAC,KAAW,EAAE,GAAS;QAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;KACzC;IAED,WAAW,CAAC,QAAc;QACxB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;KACpC;IAED,OAAO,CAAC,GAAqB;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,KAAK,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;gBACnB,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE;aACtC,CAAC,CAAC;YACH,OAAO;SACR;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;KACtC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;KACtB;;;;;","names":[],"sources":["src/services/selection.store.connector.ts","src/store/selection/selection.helpers.ts","src/store/selection/selection.store.ts"],"sourcesContent":["import { cropCellToMax, isHiddenStore, nextCell } from '../store/selection/selection.helpers';\nimport { SelectionStore } from '../store/selection/selection.store';\nimport { MultiDimensionType, DimensionCols, DimensionRows } from '..';\nimport { Cell, EditCellStore, RangeArea } from '..';\n\ntype StoreByDimension = Record<number, SelectionStore>;\ntype FocusedStore = {\n entity: SelectionStore;\n cell: Cell;\n position: Cell;\n};\n\ntype StoresMapping<T> = { [xOrY: number]: Partial<T> };\n\nexport const EMPTY_INDEX = -1;\n\nexport default class SelectionStoreConnector {\n // dirty flag required to cleanup whole store in case visibility of panels changed\n private dirty = false;\n readonly stores: { [y: number]: { [x: number]: SelectionStore } } = {};\n\n readonly columnStores: StoreByDimension = {};\n readonly rowStores: { [y: number]: SelectionStore } = {};\n\n /**\n * Helpers for data conversion\n */\n readonly storesByType: Partial<Record<MultiDimensionType, number>> = {};\n readonly storesXToType: StoresMapping<DimensionCols> = {};\n readonly storesYToType: StoresMapping<DimensionRows> = {};\n\n get focusedStore(): FocusedStore | null {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const focused = this.stores[y][x]?.store.get('focus');\n if (focused) {\n return {\n entity: this.stores[y][x],\n cell: focused,\n position: {\n x: parseInt(x, 10),\n y: parseInt(y, 10),\n },\n };\n }\n }\n }\n return null;\n }\n\n get edit(): EditCellStore | undefined {\n return this.focusedStore?.entity.store.get('edit');\n }\n\n get focused(): Cell | undefined {\n return this.focusedStore?.entity.store.get('focus');\n }\n\n get selectedRange(): RangeArea | undefined {\n return this.focusedStore?.entity.store.get('range');\n }\n\n private readonly sections: Element[] = [];\n\n registerSection(e?: Element) {\n if (!e) {\n this.sections.length = 0;\n // some elements removed, rebuild stores\n this.dirty = true;\n return;\n }\n if (this.sections.indexOf(e) === -1) {\n this.sections.push(e);\n }\n }\n\n // check if require to cleanup all stores\n beforeUpdate() {\n if (this.dirty) {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x].dispose();\n }\n }\n this.dirty = false;\n }\n }\n\n registerColumn(x: number, type: DimensionCols): SelectionStore {\n\n // if hidden just create store but no operations needed\n if (isHiddenStore(x)) {\n return new SelectionStore();\n }\n if (this.columnStores[x]) {\n return this.columnStores[x];\n }\n this.columnStores[x] = new SelectionStore();\n // build cross linking type to position\n this.storesByType[type] = x;\n this.storesXToType[x] = type;\n return this.columnStores[x];\n }\n\n registerRow(y: number, type: DimensionRows): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (this.rowStores[y]) {\n return this.rowStores[y];\n }\n this.rowStores[y] = new SelectionStore();\n // build cross linking type to position\n this.storesByType[type] = y;\n this.storesYToType[y] = type;\n return this.rowStores[y];\n }\n\n /**\n * Cross store proxy, based on multiple dimensions\n */\n register({ x, y }: Cell): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(x) || isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (!this.stores[y]) {\n this.stores[y] = {};\n }\n if (this.stores[y][x]) {\n // Store already registered. Do not register twice\n return this.stores[y][x];\n }\n this.stores[y][x] = new SelectionStore();\n // proxy update, column store trigger only range area\n this.stores[y][x]?.onChange('range', c => {\n this.columnStores[x].setRangeArea(c);\n this.rowStores[y].setRangeArea(c);\n });\n // clean up on remove\n this.stores[y][x]?.store.on('dispose', () => this.destroy(x, y));\n return this.stores[y][x];\n }\n\n private destroy(x: number, y: number) {\n this.columnStores[x]?.dispose();\n this.rowStores[y]?.dispose();\n\n delete this.rowStores[y];\n delete this.columnStores[x];\n // clear x cross link\n if (this.storesXToType[x]) {\n const type = this.storesXToType[x];\n delete this.storesXToType[x];\n delete this.storesByType[type];\n }\n // clear y cross link\n if (this.storesYToType[y]) {\n const type = this.storesYToType[y];\n delete this.storesYToType[y];\n delete this.storesByType[type];\n }\n if (this.stores[y]) {\n delete this.stores[y][x];\n }\n // clear empty rows\n if (!Object.keys(this.stores[y] || {}).length) {\n delete this.stores[y];\n }\n }\n\n setEditByCell<T extends Cell>(storePos: T, editCell: T) {\n this.focusByCell(storePos, editCell, editCell);\n this.setEdit('');\n }\n\n focusByCell<T extends Cell>(storePos: T, start: T, end: T) {\n const store = this.stores[storePos.y][storePos.x];\n this.focus(store, { focus: start, end });\n }\n\n focus(store: SelectionStore, { focus, end }: { focus: Cell; end: Cell }) {\n let currentStorePointer: Cell;\n // clear all stores focus leave only active one\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const s = this.stores[y][x];\n // clear other stores, only one area can be selected\n if (s !== store) {\n s.clearFocus();\n } else {\n currentStorePointer = { x: parseInt(x, 10), y: parseInt(y, 10) };\n }\n }\n }\n if (!currentStorePointer) {\n return null;\n }\n\n // check is focus in next store\n const lastCell = store.store.get('lastCell');\n // item in new store\n const nextItem: Partial<Cell> | null = nextCell(focus, lastCell);\n\n let nextStore;\n if (nextItem) {\n for (let i in nextItem) {\n let type: keyof Cell = i as keyof Cell;\n let stores;\n switch (type) {\n case 'x':\n stores = this.getXStores(currentStorePointer.y);\n break;\n case 'y':\n stores = this.getYStores(currentStorePointer.x);\n break;\n }\n if (nextItem[type] >= 0) {\n nextStore = stores[++currentStorePointer[type]];\n } else {\n nextStore = stores[--currentStorePointer[type]];\n const nextLastCell = nextStore?.store.get('lastCell');\n if (nextLastCell) {\n nextItem[type] = nextLastCell[type] + nextItem[type];\n }\n }\n }\n }\n // if next store present - update\n if (nextStore) {\n let item = { ...focus, ...nextItem };\n this.focus(nextStore, { focus: item, end: item });\n return null;\n }\n\n focus = cropCellToMax(focus, lastCell);\n end = cropCellToMax(end, lastCell);\n\n store.setFocus(focus, end);\n return focus;\n }\n\n clearAll() {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x]?.clearFocus();\n }\n }\n }\n\n setEdit(val: string | boolean) {\n if (!this.focusedStore) {\n return;\n }\n this.focusedStore.entity.setEdit(val);\n }\n\n /**\n * Select all cells across all stores\n */\n selectAll() {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const store = this.stores[y][x];\n if (!store) {\n continue;\n }\n const lastCell = store.store.get('lastCell');\n store.setRange({ x: 0, y: 0 }, { x: lastCell.x - 1, y: lastCell.y - 1 });\n }\n }\n }\n\n private getXStores(y: number) {\n return this.stores[y];\n }\n\n private getYStores(x: number) {\n const stores: { [p: number]: SelectionStore } = {};\n for (let i in this.stores) {\n stores[i] = this.stores[i][x];\n }\n return stores;\n }\n}\n","import { EMPTY_INDEX } from '../../services/selection.store.connector';\nimport { Cell, RangeArea } from '../..';\n\nexport function isHiddenStore(pos: number) {\n return pos === EMPTY_INDEX;\n}\n\nexport function nextCell(cell: Cell, lastCell: Cell): Partial<Cell> | null {\n const nextItem: Partial<Cell> = {};\n let types: (keyof Cell)[] = ['x', 'y'];\n\n // previous item check\n for (let t of types) {\n if (cell[t] < 0) {\n nextItem[t] = cell[t];\n return nextItem;\n }\n }\n // next item check\n for (let t of types) {\n if (cell[t] >= lastCell[t]) {\n nextItem[t] = cell[t] - lastCell[t];\n return nextItem;\n }\n }\n return null;\n}\n\nexport function cropCellToMax(cell: Cell, lastCell: Cell): Cell {\n const newCell: Cell = { ...cell };\n let types: (keyof Cell)[] = ['x', 'y'];\n // previous item check\n for (let t of types) {\n if (cell[t] < 0) {\n newCell[t] = 0;\n }\n }\n // next item check\n for (let t of types) {\n if (cell[t] >= lastCell[t]) {\n newCell[t] = lastCell[t] - 1;\n }\n }\n return newCell;\n}\n\nexport function getRange(start?: Cell, end?: Cell): RangeArea | null {\n return start && end\n ? {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n x1: Math.max(start.x, end.x),\n y1: Math.max(start.y, end.y),\n }\n : null;\n}\n\nexport function isRangeSingleCell(a: RangeArea): boolean {\n return a.x === a.x1 && a.y === a.y1;\n}\n","/**\n * Selection store\n */\n\nimport { createStore } from '@stencil/store';\nimport { setStore } from '../../utils/store.utils';\nimport { getRange } from './selection.helpers';\nimport { Observable } from '../..';\nimport { SelectionStoreState, Cell, TempRange, RangeArea } from '../..';\n\n\nfunction defaultState(): SelectionStoreState {\n return {\n range: null,\n tempRange: null,\n tempRangeType: null,\n focus: null,\n edit: null,\n lastCell: null,\n };\n}\n\nexport class SelectionStore {\n readonly store: Observable<SelectionStoreState>;\n private unsubscribe: { (): void }[] = [];\n constructor() {\n this.store = createStore(defaultState());\n this.store.on('set', (key, newVal) => {\n if (key === 'tempRange' && !newVal) {\n this.store.set('tempRangeType', null);\n }\n });\n }\n\n onChange<Key extends keyof SelectionStoreState>(propName: Key, cb: (newValue: SelectionStoreState[Key]) => void) {\n this.unsubscribe.push(this.store.onChange(propName, cb));\n }\n\n clearFocus() {\n setStore(this.store, { focus: null, range: null, edit: null, tempRange: null });\n }\n\n setFocus(focus: Cell, end?: Cell) {\n if (!end) {\n setStore(this.store, { focus });\n } else {\n setStore(this.store, {\n focus,\n range: getRange(focus, end),\n edit: null,\n tempRange: null,\n });\n }\n }\n\n setTempArea(range: TempRange | null) {\n setStore(this.store, { tempRange: range?.area, tempRangeType: range?.type, edit: null });\n }\n\n clearTemp() {\n setStore(this.store, { tempRange: null });\n }\n\n /** Can be applied from selection change or from simple keyboard change clicks */\n setRangeArea(range: RangeArea) {\n setStore(this.store, { range, edit: null, tempRange: null });\n }\n setRange(start: Cell, end: Cell) {\n this.setRangeArea(getRange(start, end));\n }\n\n setLastCell(lastCell: Cell) {\n setStore(this.store, { lastCell });\n }\n\n setEdit(val: string | boolean) {\n const focus = this.store.get('focus');\n if (focus && typeof val === 'string') {\n setStore(this.store, {\n edit: { x: focus.x, y: focus.y, val },\n });\n return;\n }\n setStore(this.store, { edit: null });\n }\n\n dispose() {\n this.unsubscribe.forEach(f => f());\n this.store.dispose();\n }\n}\n"],"version":3}
@@ -0,0 +1,101 @@
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ /**
5
+ * Base layer for plugins
6
+ * Provide minimal starting core for plugins to work
7
+ * Extend this class to create plugin
8
+ */
9
+ class BasePlugin {
10
+ constructor(revogrid, providers) {
11
+ this.revogrid = revogrid;
12
+ this.providers = providers;
13
+ this.subscriptions = {};
14
+ }
15
+ /**
16
+ *
17
+ * @param eventName - event name to subscribe to in revo-grid component (e.g. 'beforeheaderclick')
18
+ * @param callback - callback function for event
19
+ */
20
+ addEventListener(eventName, callback) {
21
+ this.revogrid.addEventListener(eventName, callback);
22
+ this.subscriptions[eventName] = callback;
23
+ }
24
+ /**
25
+ * Subscribe to property change in revo-grid component
26
+ * You can return false in callback to prevent default value set
27
+ *
28
+ * @param prop - property name
29
+ * @param callback - callback function
30
+ * @param immediate - trigger callback immediately with current value
31
+ */
32
+ watch(prop, callback, { immediate } = { immediate: false }) {
33
+ const nativeValueDesc = Object.getOwnPropertyDescriptor(this.revogrid, prop) ||
34
+ Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);
35
+ // Overwrite property descriptor for this instance
36
+ Object.defineProperty(this.revogrid, prop, {
37
+ set(val) {
38
+ var _a;
39
+ const keepDefault = callback(val);
40
+ if (keepDefault === false) {
41
+ return;
42
+ }
43
+ // Continue with native behavior
44
+ return (_a = nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.set) === null || _a === void 0 ? void 0 : _a.call(this, val);
45
+ },
46
+ get() {
47
+ var _a;
48
+ // Continue with native behavior
49
+ return (_a = nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.get) === null || _a === void 0 ? void 0 : _a.call(this);
50
+ },
51
+ });
52
+ if (immediate) {
53
+ callback(nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.value);
54
+ }
55
+ }
56
+ /**
57
+ * Remove event listener
58
+ * @param eventName
59
+ */
60
+ removeEventListener(eventName) {
61
+ this.revogrid.removeEventListener(eventName, this.subscriptions[eventName]);
62
+ delete this.subscriptions[eventName];
63
+ }
64
+ /**
65
+ * Emit event from revo-grid component
66
+ * Event can be cancelled by calling event.preventDefault() in callback
67
+ */
68
+ emit(eventName, detail) {
69
+ const event = new CustomEvent(eventName, { detail, cancelable: true });
70
+ this.revogrid.dispatchEvent(event);
71
+ return event;
72
+ }
73
+ /**
74
+ * Clear all subscriptions
75
+ */
76
+ clearSubscriptions() {
77
+ for (let type in this.subscriptions) {
78
+ this.removeEventListener(type);
79
+ }
80
+ }
81
+ /**
82
+ * Destroy plugin and clear all subscriptions
83
+ */
84
+ destroy() {
85
+ this.clearSubscriptions();
86
+ }
87
+ }
88
+
89
+ const rowTypes = ['rowPinStart', 'rgRow', 'rowPinEnd'];
90
+ const columnTypes = [
91
+ 'colPinStart',
92
+ 'rgCol',
93
+ 'colPinEnd',
94
+ ];
95
+ function isRowType(type) {
96
+ return rowTypes.indexOf(type) > -1;
97
+ }
98
+
99
+ export { BasePlugin as B, columnTypes as c, isRowType as i, rowTypes as r };
100
+
101
+ //# sourceMappingURL=storeTypes-f2647985.js.map
@@ -0,0 +1 @@
1
+ {"file":"storeTypes-f2647985.js","mappings":";;;AAIA;;;;;MAKa,UAAU;IAErB,YAAsB,QAA6B,EAAY,SAA0B;QAAnE,aAAQ,GAAR,QAAQ,CAAqB;QAAY,cAAS,GAAT,SAAS,CAAiB;QADtE,kBAAa,GAA6C,EAAE,CAAC;KACa;;;;;;IAMnF,gBAAgB,CACxB,SAAiB,EACjB,QAAkC;QAElC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;KAC1C;;;;;;;;;IAUS,KAAK,CACb,IAAY,EACZ,QAAoC,EACpC,EAAE,SAAS,KAA2B,EAAE,SAAS,EAAE,KAAK,EAAE;QAE1D,MAAM,eAAe,GACnB,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACpD,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;;QAG7E,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;YACzC,GAAG,CAAC,GAAM;;gBACR,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,WAAW,KAAK,KAAK,EAAE;oBACzB,OAAO;iBACR;;gBAED,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC9C;YACD,GAAG;;;gBAED,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aACzC;SACF,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,QAAQ,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC,CAAC;SAClC;KACF;;;;;IAMS,mBAAmB,CAAC,SAAiB;QAC7C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KACtC;;;;;IAMS,IAAI,CAAC,SAAiB,EAAE,MAAY;QAC5C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;KACd;;;;IAKS,kBAAkB;QAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;YACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAChC;KACF;;;;IAKD,OAAO;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;;;MC7FU,QAAQ,GAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE;MAClE,WAAW,GAAoB;IAC1C,aAAa;IACb,OAAO;IACP,WAAW;EACX;SAEc,SAAS,CAAC,IAAyB;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC;;;;","names":[],"sources":["src/plugins/base.plugin.ts","src/store/storeTypes.ts"],"sourcesContent":["import { PluginProviders, PluginBaseComponent } from '..';\n\ntype WatchConfig = { immediate: boolean };\n\n/**\n * Base layer for plugins\n * Provide minimal starting core for plugins to work\n * Extend this class to create plugin\n */\nexport class BasePlugin implements PluginBaseComponent {\n protected readonly subscriptions: Record<string, (...args: any[]) => void> = {};\n constructor(protected revogrid: HTMLRevoGridElement, protected providers: PluginProviders) {}\n /**\n *\n * @param eventName - event name to subscribe to in revo-grid component (e.g. 'beforeheaderclick')\n * @param callback - callback function for event\n */\n protected addEventListener(\n eventName: string,\n callback: (e: CustomEvent) => void,\n ) {\n this.revogrid.addEventListener(eventName, callback);\n this.subscriptions[eventName] = callback;\n }\n\n /**\n * Subscribe to property change in revo-grid component\n * You can return false in callback to prevent default value set\n *\n * @param prop - property name\n * @param callback - callback function\n * @param immediate - trigger callback immediately with current value\n */\n protected watch<T extends any>(\n prop: string,\n callback: (arg: T) => boolean | void,\n { immediate }: Partial<WatchConfig> = { immediate: false },\n ) {\n const nativeValueDesc =\n Object.getOwnPropertyDescriptor(this.revogrid, prop) ||\n Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);\n\n // Overwrite property descriptor for this instance\n Object.defineProperty(this.revogrid, prop, {\n set(val: T) {\n const keepDefault = callback(val);\n if (keepDefault === false) {\n return;\n }\n // Continue with native behavior\n return nativeValueDesc?.set?.call(this, val);\n },\n get() {\n // Continue with native behavior\n return nativeValueDesc?.get?.call(this);\n },\n });\n if (immediate) {\n callback(nativeValueDesc?.value);\n }\n }\n\n /**\n * Remove event listener\n * @param eventName\n */\n protected removeEventListener(eventName: string) {\n this.revogrid.removeEventListener(eventName, this.subscriptions[eventName]);\n delete this.subscriptions[eventName];\n }\n\n /**\n * Emit event from revo-grid component\n * Event can be cancelled by calling event.preventDefault() in callback\n */\n protected emit(eventName: string, detail?: any) {\n const event = new CustomEvent(eventName, { detail, cancelable: true });\n this.revogrid.dispatchEvent(event);\n return event;\n }\n\n /**\n * Clear all subscriptions\n */\n protected clearSubscriptions() {\n for (let type in this.subscriptions) {\n this.removeEventListener(type);\n }\n }\n\n /**\n * Destroy plugin and clear all subscriptions\n */\n destroy() {\n this.clearSubscriptions();\n }\n}\n","import { DimensionCols, DimensionRows } from '..';\n\nexport const rowTypes: DimensionRows[] = ['rowPinStart', 'rgRow', 'rowPinEnd'];\nexport const columnTypes: DimensionCols[] = [\n 'colPinStart',\n 'rgCol',\n 'colPinEnd',\n];\n\nexport function isRowType(type: DimensionRows | any): type is DimensionRows {\n return rowTypes.indexOf(type) > -1;\n}\n"],"version":3}