@revolist/revogrid 4.9.22 → 4.9.24

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 (232) hide show
  1. package/dist/cjs/{app-globals-a6bcda2f.js → app-globals-c0b20747.js} +2 -2
  2. package/dist/cjs/{app-globals-a6bcda2f.js.map → app-globals-c0b20747.js.map} +1 -1
  3. package/dist/cjs/{column.drag.plugin-3644bda6.js → column.drag.plugin-d971a91a.js} +61 -58
  4. package/dist/cjs/column.drag.plugin-d971a91a.js.map +1 -0
  5. package/dist/cjs/{column.service-caec759a.js → column.service-6089b047.js} +10 -20
  6. package/dist/cjs/column.service-6089b047.js.map +1 -0
  7. package/dist/{esm/debounce-e8e9464a.js → cjs/debounce-ec7a04b4.js} +36 -78
  8. package/dist/cjs/debounce-ec7a04b4.js.map +1 -0
  9. package/dist/cjs/{edit.utils-18840bb3.js → edit.utils-093fe9cd.js} +2 -2
  10. package/dist/cjs/{edit.utils-18840bb3.js.map → edit.utils-093fe9cd.js.map} +1 -1
  11. package/dist/cjs/{filter.button-1e1e16be.js → filter.button-b8debe72.js} +6 -2
  12. package/dist/cjs/filter.button-b8debe72.js.map +1 -0
  13. package/dist/cjs/{header-cell-renderer-4fd62cec.js → header-cell-renderer-2d56e8f5.js} +3 -3
  14. package/dist/cjs/{header-cell-renderer-4fd62cec.js.map → header-cell-renderer-2d56e8f5.js.map} +1 -1
  15. package/dist/cjs/{index-34dfb0db.js → index-10d10c55.js} +14 -20
  16. package/dist/cjs/index-10d10c55.js.map +1 -0
  17. package/dist/cjs/{index-71b783e2.js → index-a9ee8eef.js} +290 -854
  18. package/dist/cjs/index-a9ee8eef.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +23 -13
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/{key.utils-48b178d1.js → key.utils-1438f2ac.js} +2 -2
  22. package/dist/cjs/{key.utils-48b178d1.js.map → key.utils-1438f2ac.js.map} +1 -1
  23. package/dist/cjs/loader.cjs.js +3 -3
  24. package/dist/cjs/revo-grid.cjs.entry.js +43 -74
  25. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  26. package/dist/cjs/revo-grid.cjs.js +4 -4
  27. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  28. package/dist/cjs/revogr-attribution_6.cjs.entry.js +10 -10
  29. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  30. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +7 -7
  31. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  32. package/dist/cjs/revogr-data_4.cjs.entry.js +24 -47
  33. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  34. package/dist/cjs/revogr-filter-panel.cjs.entry.js +46 -46
  35. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  36. package/dist/cjs/{row-header-utils-baf917a2.js → row-header-utils-eb5949b3.js} +7 -9
  37. package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
  38. package/dist/cjs/{sorting.sign-54938069.js → sorting.sign-ca5a1045.js} +2 -6
  39. package/dist/cjs/sorting.sign-ca5a1045.js.map +1 -0
  40. package/dist/cjs/{text-editor-bdc757b1.js → text-editor-ea3badef.js} +3 -3
  41. package/dist/cjs/{text-editor-bdc757b1.js.map → text-editor-ea3badef.js.map} +1 -1
  42. package/dist/cjs/{throttle-b5d436ca.js → throttle-6fecba1e.js} +6 -11
  43. package/dist/cjs/throttle-6fecba1e.js.map +1 -0
  44. package/dist/collection/collection-manifest.json +1 -1
  45. package/dist/collection/components/revoGrid/revo-grid.js +9 -13
  46. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  47. package/dist/collection/plugins/filter/filter.button.js.map +1 -1
  48. package/dist/collection/plugins/filter/filter.panel.js +42 -42
  49. package/dist/collection/plugins/filter/filter.panel.js.map +1 -1
  50. package/dist/collection/plugins/filter/filter.plugin.js +10 -4
  51. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
  52. package/dist/collection/plugins/sorting/sorting.sign.js +0 -2
  53. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -1
  54. package/dist/collection/services/dimension.provider.js +4 -3
  55. package/dist/collection/services/dimension.provider.js.map +1 -1
  56. package/dist/collection/store/dimension/dimension.store.js +19 -6
  57. package/dist/collection/store/dimension/dimension.store.js.map +1 -1
  58. package/dist/collection/store/vp/viewport.store.js +5 -7
  59. package/dist/collection/store/vp/viewport.store.js.map +1 -1
  60. package/dist/esm/{app-globals-43714036.js → app-globals-3a760941.js} +2 -2
  61. package/dist/esm/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +1 -1
  62. package/dist/esm/{column.drag.plugin-49737eae.js → column.drag.plugin-170c12a3.js} +56 -56
  63. package/dist/esm/column.drag.plugin-170c12a3.js.map +1 -0
  64. package/dist/esm/{column.service-dc98409c.js → column.service-407956dd.js} +7 -17
  65. package/dist/esm/column.service-407956dd.js.map +1 -0
  66. package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
  67. package/dist/esm/debounce-7b511afc.js.map +1 -0
  68. package/dist/esm/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  69. package/dist/esm/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +1 -1
  70. package/dist/esm/{filter.button-91088160.js → filter.button-d40ab17b.js} +3 -3
  71. package/dist/esm/filter.button-d40ab17b.js.map +1 -0
  72. package/dist/esm/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +3 -3
  73. package/dist/esm/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
  74. package/dist/esm/{index-70354f39.js → index-a61f225b.js} +14 -20
  75. package/dist/esm/index-a61f225b.js.map +1 -0
  76. package/dist/esm/{index-29a9a87a.js → index-b6586f9b.js} +270 -834
  77. package/dist/esm/index-b6586f9b.js.map +1 -0
  78. package/dist/esm/index.js +11 -11
  79. package/dist/esm/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  80. package/dist/esm/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +1 -1
  81. package/dist/esm/loader.js +4 -4
  82. package/dist/esm/revo-grid.entry.js +39 -70
  83. package/dist/esm/revo-grid.entry.js.map +1 -1
  84. package/dist/esm/revo-grid.js +5 -5
  85. package/dist/esm/revo-grid.js.map +1 -1
  86. package/dist/esm/revogr-attribution_6.entry.js +10 -10
  87. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  88. package/dist/esm/revogr-clipboard_3.entry.js +7 -7
  89. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  90. package/dist/esm/revogr-data_4.entry.js +20 -43
  91. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  92. package/dist/esm/revogr-filter-panel.entry.js +46 -46
  93. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  94. package/dist/esm/{row-header-utils-32049c13.js → row-header-utils-e043f744.js} +7 -9
  95. package/dist/esm/row-header-utils-e043f744.js.map +1 -0
  96. package/dist/esm/sorting.sign-1a675bf7.js +13 -0
  97. package/dist/esm/sorting.sign-1a675bf7.js.map +1 -0
  98. package/dist/esm/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +3 -3
  99. package/dist/esm/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +1 -1
  100. package/dist/esm/{throttle-c6f34cc0.js → throttle-bb3169c7.js} +4 -9
  101. package/dist/esm/throttle-bb3169c7.js.map +1 -0
  102. package/dist/revo-grid/app-globals-3a760941.js +5 -0
  103. package/dist/revo-grid/column.drag.plugin-170c12a3.js +5 -0
  104. package/dist/revo-grid/column.drag.plugin-170c12a3.js.map +1 -0
  105. package/dist/revo-grid/column.service-407956dd.js +5 -0
  106. package/dist/revo-grid/column.service-407956dd.js.map +1 -0
  107. package/dist/revo-grid/debounce-7b511afc.js +5 -0
  108. package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
  109. package/dist/revo-grid/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  110. package/dist/revo-grid/filter.button-d40ab17b.js +5 -0
  111. package/dist/revo-grid/filter.button-d40ab17b.js.map +1 -0
  112. package/dist/revo-grid/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +2 -2
  113. package/dist/revo-grid/index-a61f225b.js +6 -0
  114. package/dist/revo-grid/index-a61f225b.js.map +1 -0
  115. package/dist/revo-grid/index-b6586f9b.js +5 -0
  116. package/dist/revo-grid/index-b6586f9b.js.map +1 -0
  117. package/dist/revo-grid/index.esm.js +1 -1
  118. package/dist/revo-grid/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  119. package/dist/revo-grid/revo-grid.entry.js +1 -1
  120. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  121. package/dist/revo-grid/revo-grid.esm.js +1 -1
  122. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  123. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  124. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  125. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  126. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  127. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  128. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  129. package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
  130. package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
  131. package/dist/revo-grid/sorting.sign-1a675bf7.js +5 -0
  132. package/dist/revo-grid/sorting.sign-1a675bf7.js.map +1 -0
  133. package/dist/revo-grid/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +2 -2
  134. package/dist/revo-grid/throttle-bb3169c7.js +5 -0
  135. package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
  136. package/dist/types/plugins/filter/filter.panel.d.ts +3 -3
  137. package/dist/types/plugins/filter/filter.plugin.d.ts +8 -4
  138. package/dist/types/plugins/sorting/sorting.sign.d.ts +0 -2
  139. package/dist/types/store/dimension/dimension.store.d.ts +2 -1
  140. package/dist/types/store/vp/viewport.store.d.ts +0 -1
  141. package/hydrate/index.d.ts +4 -4
  142. package/hydrate/index.js +477 -1174
  143. package/hydrate/index.mjs +477 -1174
  144. package/package.json +3 -3
  145. package/standalone/column.service.js +5 -16
  146. package/standalone/column.service.js.map +1 -1
  147. package/standalone/debounce.js +7 -16
  148. package/standalone/debounce.js.map +1 -1
  149. package/standalone/dimension.helpers.js +15 -45
  150. package/standalone/dimension.helpers.js.map +1 -1
  151. package/standalone/filter.button.js +1 -1
  152. package/standalone/filter.button.js.map +1 -1
  153. package/standalone/index.js +3 -4
  154. package/standalone/index.js.map +1 -1
  155. package/standalone/index2.js +0 -2
  156. package/standalone/index2.js.map +1 -1
  157. package/standalone/reduce.js +1319 -474
  158. package/standalone/reduce.js.map +1 -1
  159. package/standalone/revo-grid.js +85 -117
  160. package/standalone/revo-grid.js.map +1 -1
  161. package/standalone/revogr-data2.js +0 -2
  162. package/standalone/revogr-data2.js.map +1 -1
  163. package/standalone/revogr-filter-panel.js +46 -46
  164. package/standalone/revogr-filter-panel.js.map +1 -1
  165. package/standalone/revogr-focus2.js +0 -2
  166. package/standalone/revogr-focus2.js.map +1 -1
  167. package/standalone/revogr-header.js +1 -1
  168. package/standalone/revogr-header2.js +14 -41
  169. package/standalone/revogr-header2.js.map +1 -1
  170. package/standalone/revogr-order-editor2.js +2 -4
  171. package/standalone/revogr-order-editor2.js.map +1 -1
  172. package/standalone/revogr-overlay-selection2.js +2 -4
  173. package/standalone/revogr-overlay-selection2.js.map +1 -1
  174. package/standalone/revogr-row-headers2.js +6 -10
  175. package/standalone/revogr-row-headers2.js.map +1 -1
  176. package/standalone/revogr-temp-range2.js +2 -2
  177. package/standalone/revogr-temp-range2.js.map +1 -1
  178. package/standalone/revogr-viewport-scroll2.js +2 -2
  179. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  180. package/standalone/selection.utils.js +0 -2
  181. package/standalone/selection.utils.js.map +1 -1
  182. package/standalone/throttle.js +3 -8
  183. package/standalone/throttle.js.map +1 -1
  184. package/standalone/toNumber.js +165 -22
  185. package/standalone/toNumber.js.map +1 -1
  186. package/dist/cjs/column.drag.plugin-3644bda6.js.map +0 -1
  187. package/dist/cjs/column.service-caec759a.js.map +0 -1
  188. package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
  189. package/dist/cjs/filter.button-1e1e16be.js.map +0 -1
  190. package/dist/cjs/index-34dfb0db.js.map +0 -1
  191. package/dist/cjs/index-71b783e2.js.map +0 -1
  192. package/dist/cjs/row-header-utils-baf917a2.js.map +0 -1
  193. package/dist/cjs/sorting.sign-54938069.js.map +0 -1
  194. package/dist/cjs/throttle-b5d436ca.js.map +0 -1
  195. package/dist/esm/column.drag.plugin-49737eae.js.map +0 -1
  196. package/dist/esm/column.service-dc98409c.js.map +0 -1
  197. package/dist/esm/debounce-e8e9464a.js.map +0 -1
  198. package/dist/esm/filter.button-91088160.js.map +0 -1
  199. package/dist/esm/index-29a9a87a.js.map +0 -1
  200. package/dist/esm/index-70354f39.js.map +0 -1
  201. package/dist/esm/row-header-utils-32049c13.js.map +0 -1
  202. package/dist/esm/sorting.sign-569a1f3c.js +0 -15
  203. package/dist/esm/sorting.sign-569a1f3c.js.map +0 -1
  204. package/dist/esm/throttle-c6f34cc0.js.map +0 -1
  205. package/dist/revo-grid/app-globals-43714036.js +0 -5
  206. package/dist/revo-grid/column.drag.plugin-49737eae.js +0 -5
  207. package/dist/revo-grid/column.drag.plugin-49737eae.js.map +0 -1
  208. package/dist/revo-grid/column.service-dc98409c.js +0 -5
  209. package/dist/revo-grid/column.service-dc98409c.js.map +0 -1
  210. package/dist/revo-grid/debounce-e8e9464a.js +0 -5
  211. package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
  212. package/dist/revo-grid/filter.button-91088160.js +0 -5
  213. package/dist/revo-grid/filter.button-91088160.js.map +0 -1
  214. package/dist/revo-grid/index-29a9a87a.js +0 -5
  215. package/dist/revo-grid/index-29a9a87a.js.map +0 -1
  216. package/dist/revo-grid/index-70354f39.js +0 -6
  217. package/dist/revo-grid/index-70354f39.js.map +0 -1
  218. package/dist/revo-grid/row-header-utils-32049c13.js +0 -5
  219. package/dist/revo-grid/row-header-utils-32049c13.js.map +0 -1
  220. package/dist/revo-grid/sorting.sign-569a1f3c.js +0 -5
  221. package/dist/revo-grid/sorting.sign-569a1f3c.js.map +0 -1
  222. package/dist/revo-grid/throttle-c6f34cc0.js +0 -5
  223. package/dist/revo-grid/throttle-c6f34cc0.js.map +0 -1
  224. package/standalone/_stringToPath.js +0 -1389
  225. package/standalone/_stringToPath.js.map +0 -1
  226. package/standalone/isObjectLike.js +0 -195
  227. package/standalone/isObjectLike.js.map +0 -1
  228. /package/dist/revo-grid/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +0 -0
  229. /package/dist/revo-grid/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +0 -0
  230. /package/dist/revo-grid/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
  231. /package/dist/revo-grid/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +0 -0
  232. /package/dist/revo-grid/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"file":"column.service-407956dd.js","mappings":"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","names":[],"sources":["src/store/selection/selection.store.ts","src/services/selection.store.connector.ts","src/store/selection/selection.helpers.ts","src/utils/column.utils.ts","src/plugins/groupingRow/grouping.const.ts","src/plugins/groupingRow/grouping.service.ts","node_modules/lodash/_baseSlice.js","node_modules/lodash/slice.js","src/components/data/column.service.ts"],"sourcesContent":["/**\n * Selection store\n */\n\nimport { setStore, Observable } from '../../utils/store.utils';\nimport { getRange } from '@store';\nimport { SelectionStoreState, Cell, TempRange, RangeArea, Nullable } from '@type';\nimport { createStore } from '@stencil/store';\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 nextFocus: 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 setNextFocus(focus: Cell) {\n setStore(this.store, { nextFocus: focus });\n }\n\n setTempArea(range: Nullable<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 | null) {\n setStore(this.store, { range, edit: null, tempRange: null });\n }\n setRange(start: Cell, end: Cell) {\n const range = getRange(start, end);\n this.setRangeArea(range);\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","import { cropCellToMax, isHiddenStore, nextCell, SelectionStore } from '@store';\nimport type {\n MultiDimensionType,\n DimensionCols,\n DimensionRows,\n Cell,\n} from '@type';\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() {\n return this.focusedStore?.entity.store.get('edit');\n }\n\n get focused() {\n return this.focusedStore?.entity.store.get('focus');\n }\n\n get selectedRange() {\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 // 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 /**\n * Sets the next focus cell before the current one.\n * \n * @param focus - The cell to set as the next focus.\n */\n beforeNextFocusCell(focus: Cell) {\n // If there is no focused store, return early.\n if (!this.focusedStore) {\n return;\n }\n\n // Get the next store based on the current focus and the last cell.\n const lastCell = this.focusedStore.entity.store.get('lastCell');\n const next = lastCell && this.getNextStore(focus, this.focusedStore.position, lastCell);\n\n // Set the next focus cell in the store.\n next?.store?.setNextFocus({ ...focus, ...next.item });\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 const currentStorePointer = this.getCurrentStorePointer(store);\n if (!currentStorePointer) {\n return null;\n }\n\n // check for the focus in nearby store/viewport\n const lastCell = store.store.get('lastCell');\n const next = lastCell && this.getNextStore(focus, currentStorePointer, lastCell);\n\n // if next store present - update\n if (next?.store) {\n const item = { ...focus, ...next.item };\n this.focus(next.store, { focus: item, end: item });\n return null;\n }\n\n if (lastCell) {\n focus = cropCellToMax(focus, lastCell);\n end = cropCellToMax(end, lastCell); \n }\n store.setFocus(focus, end);\n return focus;\n }\n\n /**\n * Retrieves the current store pointer based on the active store.\n * Clears focus from all stores except the active one.\n */\n getCurrentStorePointer(store: SelectionStore) {\n let currentStorePointer: Cell | undefined;\n\n // Iterate through all stores\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const s = this.stores[y][x];\n\n // Clear focus from stores other than the active one\n if (s !== store) {\n s.clearFocus();\n } else {\n // Update the current store pointer with the active store coordinates\n currentStorePointer = { \n x: parseInt(x, 10), \n y: parseInt(y, 10) \n };\n }\n }\n }\n\n return currentStorePointer;\n }\n\n /**\n * Retrieves the next store based on the focus cell and current store pointer.\n * If the next store exists, returns an object with the next store and the item in the new store.\n * If the next store does not exist, returns null.\n */\n getNextStore(\n focus: Cell,\n currentStorePointer: Cell,\n lastCell: Cell,\n ) {\n // item in new store\n const nextItem: Partial<Cell> | null = nextCell(focus, lastCell);\n\n let nextStore: SelectionStore | undefined;\n if (nextItem) {\n Object.entries(nextItem).forEach(([type, nextItemCoord]: [keyof Cell, number]) => {\n let stores;\n switch (type) {\n case 'x':\n // Get the X stores for the current Y coordinate of the current store pointer\n stores = this.getXStores(currentStorePointer.y);\n break;\n case 'y':\n // Get the Y stores for the current X coordinate of the current store pointer\n stores = this.getYStores(currentStorePointer.x);\n break;\n }\n\n // Get the next store based on the item in the new store\n if (nextItemCoord >= 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] + nextItemCoord;\n }\n }\n });\n }\n return {\n store: nextStore,\n item: nextItem,\n };\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 if (lastCell) {\n store.setRange(\n { x: 0, y: 0 },\n { x: lastCell.x - 1, y: lastCell.y - 1 },\n );\n }\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 '@type';\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 croppedCell: Cell = { ...cell };\n const cellCoordinates: (keyof Cell)[] = ['x', 'y'];\n\n for (const coordinate of cellCoordinates) {\n if (cell[coordinate] < 0) {\n croppedCell[coordinate] = 0;\n } else if (cell[coordinate] >= lastCell[coordinate]) {\n croppedCell[coordinate] = lastCell[coordinate] - 1;\n }\n }\n\n return croppedCell;\n}\n\nexport function getRange(start?: Cell | null, end?: Cell | null): 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","import isArray from 'lodash/isArray';\nimport reduce from 'lodash/reduce';\n\nimport {\n ColumnData,\n ColumnGrouping,\n ColumnProp,\n ColumnRegular,\n ColumnTypes,\n DataType,\n DimensionCols,\n ViewSettingSizeProp,\n} from '@type';\nimport { Group as StoreGroup } from '@store';\n\nexport type ColumnItems = Record<DimensionCols, ColumnRegular[]>;\nexport interface ColumnGroup extends StoreGroup {\n level: number;\n}\nexport type ColumnGroupingCollection = Record<DimensionCols, ColumnGroup[]>;\n\nexport function getCellData(val?: any) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n}\n\nexport function getCellDataParsed(model: DataType, column: ColumnRegular) {\n const val = column.cellParser ? column.cellParser(model, column) : model[column.prop];\n return getCellData(val);\n}\n\n/**\n * Column collection definition.\n * Used to access indexed data for columns.\n * Can be accessed via different events.\n */\nexport type ColumnCollection = {\n /**\n * Columns as they are in stores\n */\n columns: Record<DimensionCols, ColumnRegular[]>;\n /**\n * Columns indexed by prop for quick access, it's possible to have multiple columns with same prop but not recommended\n */\n columnByProp: Record<ColumnProp, ColumnRegular[]>;\n /**\n * Grouped columns\n */\n columnGrouping: ColumnGroupingCollection;\n /**\n * Max level of grouping\n */\n maxLevel: number;\n /**\n * Sorting\n */\n sort: Record<ColumnProp, ColumnRegular>;\n};\n\nexport function getColumnType(rgCol: ColumnRegular): DimensionCols {\n if (rgCol.pin) {\n return rgCol.pin;\n }\n return 'rgCol';\n}\n\nexport function getColumnSizes(cols: ColumnRegular[]): ViewSettingSizeProp {\n const res: ViewSettingSizeProp = {};\n for (const [i, c] of cols.entries()) {\n if (c.size) {\n res[i] = c.size;\n }\n }\n return res;\n}\n\n\n/**\n * Check if column is grouping column\n */\nexport function isColGrouping(\n colData: ColumnGrouping | ColumnRegular,\n): colData is ColumnGrouping {\n return !!(colData as ColumnGrouping).children;\n}\n\n/**\n * This function is used to create a collection of columns.\n */\nexport function getColumns(\n columns: ColumnData,\n level = 0,\n types?: ColumnTypes,\n): ColumnCollection {\n const collection: ColumnCollection = {\n // columns as they are in stores per type\n columns: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // columns indexed by prop for quick access\n columnByProp: {},\n // column grouping\n columnGrouping: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // max depth level for column grouping\n maxLevel: level,\n // sorting\n sort: {},\n };\n\n return reduce(\n columns,\n (res: ColumnCollection, colData: ColumnGrouping | ColumnRegular) => {\n // Grouped column\n if (isColGrouping(colData)) {\n return gatherGroup(\n res,\n colData,\n getColumns(colData.children, level + 1, types),\n level,\n );\n }\n // Regular column\n const regularColumn = {\n ...(colData.columnType && types && types[colData.columnType]),\n ...colData,\n };\n // Regular column, no Pin\n if (!regularColumn.pin) {\n res.columns.rgCol.push(regularColumn);\n // Pin\n } else {\n res.columns[regularColumn.pin].push(regularColumn);\n }\n if (regularColumn.order) {\n res.sort[regularColumn.prop] = regularColumn;\n }\n // it's possible that some columns have same prop, but better to avoid it\n if (!res.columnByProp[regularColumn.prop]) {\n res.columnByProp[regularColumn.prop] = [];\n }\n res.columnByProp[regularColumn.prop].push(regularColumn);\n\n // trigger setup hook if present\n regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);\n return res;\n },\n collection,\n );\n}\n\nexport function gatherGroup<T extends ColumnCollection>(\n res: T,\n colData: ColumnGrouping,\n collection: T,\n level = 0,\n): T {\n // group template\n const group: ColumnGroup = {\n ...colData,\n level,\n ids: [],\n };\n\n // check columns for update\n for (let k in collection.columns) {\n const key = k as keyof ColumnCollection['columns'];\n const resultItem = res.columns[key];\n const collectionItem = collection.columns[key];\n\n // if column data\n if (isArray(resultItem) && isArray(collectionItem)) {\n // fill columns\n resultItem.push(...collectionItem);\n\n // fill grouping\n if (collectionItem.length) {\n res.columnGrouping[key].push({\n ...group,\n ids: collectionItem.map(item => item.prop),\n });\n }\n }\n }\n // merge column groupings\n for (let k in collection.columnGrouping) {\n const key = k as DimensionCols;\n const collectionItem = collection.columnGrouping[key];\n res.columnGrouping[key].push(...collectionItem);\n }\n res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);\n res.sort = { ...res.sort, ...collection.sort };\n return res;\n}\n\nfunction findColumn(\n columns: ColumnData,\n prop: ColumnProp,\n): ColumnRegular | undefined {\n for (const c of columns) {\n if (isColGrouping(c)) {\n const found = findColumn(c.children, prop);\n if (found) {\n return found;\n }\n } else if (c.prop === prop) {\n return c;\n }\n }\n return undefined;\n}\n\nexport function getColumnByProp(\n columns: ColumnData,\n prop: ColumnProp,\n): ColumnRegular | undefined {\n return findColumn(columns, prop);\n}\n","import { GRID_INTERNALS } from '../../utils/consts';\n\nexport const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;\nexport const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;\nexport const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;\nexport const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;\nexport const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;\nexport const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;\nexport const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;\nexport const GROUP_EXPAND_BTN = `group-expand`;\nexport const GROUP_EXPAND_EVENT = `groupexpandclick`;\nexport const GROUPING_ROW_TYPE = 'rgRow';\n","import { DataType, ColumnProp, ColumnRegular } from '@type';\nimport {\n GROUP_DEPTH,\n GROUP_EXPANDED,\n PSEUDO_GROUP_COLUMN,\n PSEUDO_GROUP_ITEM,\n PSEUDO_GROUP_ITEM_ID,\n PSEUDO_GROUP_ITEM_VALUE,\n GROUP_ORIGINAL_INDEX,\n} from './grouping.const';\nimport { GroupLabelTemplateFunc } from './grouping.row.types';\n\nexport type ExpandedOptions = {\n prevExpanded?: Record<string, boolean>;\n expandedAll?: boolean; // skip trim\n\n getGroupValue?(item: DataType, prop: string | number): any;\n groupLabelTemplate?: GroupLabelTemplateFunc;\n};\n\ntype GroupedData = Map<string, GroupedData | DataType[]>;\n\nfunction getGroupValueDefault(item: DataType, prop: string | number) {\n return item[prop] || null;\n}\n\n/**\n * Gather data for grouping\n * @param array - flat data array\n * @param groupIds - ids of groups\n * @param expanded - potentially expanded items if present\n */\nexport function gatherGrouping(\n array: DataType[],\n groupIds: ColumnProp[],\n {\n prevExpanded,\n expandedAll,\n getGroupValue = getGroupValueDefault,\n }: ExpandedOptions,\n) {\n const groupedItems: GroupedData = new Map();\n array.forEach((item, originalIndex) => {\n const groupLevelValues = groupIds.map(groupId =>\n getGroupValue(item, groupId),\n );\n const lastLevelValue = groupLevelValues.pop();\n let currentGroupLevel = groupedItems;\n groupLevelValues.forEach(value => {\n if (!currentGroupLevel.has(value)) {\n currentGroupLevel.set(value, new Map());\n }\n currentGroupLevel = currentGroupLevel.get(value) as GroupedData;\n });\n if (!currentGroupLevel.has(lastLevelValue)) {\n currentGroupLevel.set(lastLevelValue, []);\n }\n const lastLevelItems = currentGroupLevel.get(lastLevelValue) as DataType[];\n lastLevelItems.push({\n ...item,\n [GROUP_ORIGINAL_INDEX]: originalIndex,\n });\n });\n\n let itemIndex = -1;\n const groupingDepth = groupIds.length;\n // collapse all groups in the beginning\n const trimmed: Record<number, boolean> = {};\n // index mapping\n const oldNewIndexMap: Record<number, number> = {};\n // check if group header exists\n const pseudoGroupTest: Record<string, number[]> = {};\n const sourceWithGroups: DataType[] = [];\n function flattenGroupMaps(\n groupedValues: GroupedData,\n parentIds: string[],\n isExpanded: boolean,\n ) {\n const depth = parentIds.length;\n groupedValues.forEach((innerGroupedValues, groupId) => {\n const levelIds = [...parentIds, groupId];\n const mergedIds = levelIds.join(',');\n const isGroupExpanded =\n isExpanded && (!!expandedAll || !!prevExpanded?.[mergedIds]);\n sourceWithGroups.push({\n [PSEUDO_GROUP_ITEM]: groupId,\n [GROUP_DEPTH]: depth,\n [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),\n [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,\n [GROUP_EXPANDED]: isGroupExpanded,\n });\n itemIndex += 1;\n if (!isGroupExpanded && depth) {\n trimmed[itemIndex] = true;\n }\n if (Array.isArray(innerGroupedValues)) {\n innerGroupedValues.forEach(value => {\n itemIndex += 1;\n if (!isGroupExpanded) {\n trimmed[itemIndex] = true;\n }\n oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex;\n const pseudoGroupTestIds = levelIds.map((_value, index) =>\n levelIds.slice(0, index + 1).join(','),\n );\n pseudoGroupTestIds.forEach(pseudoGroupTestId => {\n if (!pseudoGroupTest[pseudoGroupTestId]) {\n pseudoGroupTest[pseudoGroupTestId] = [];\n }\n pseudoGroupTest[pseudoGroupTestId].push(itemIndex);\n });\n });\n sourceWithGroups.push(...innerGroupedValues);\n } else {\n flattenGroupMaps(innerGroupedValues, levelIds, isGroupExpanded);\n }\n });\n }\n flattenGroupMaps(groupedItems, [], true);\n\n return {\n sourceWithGroups, // updates source mirror\n depth: groupingDepth, // largest depth for grouping\n trimmed, // used for expand/collapse grouping values\n oldNewIndexMap, // used for mapping old values to new\n childrenByGroup: pseudoGroupTest, // used to get child items in group\n };\n}\n\nexport function getGroupingName(rgRow?: DataType) {\n return rgRow && rgRow[PSEUDO_GROUP_ITEM];\n}\n\ntype GroupingItem = {\n [PSEUDO_GROUP_ITEM]: string;\n [GROUP_EXPANDED]: boolean;\n [PSEUDO_GROUP_ITEM_VALUE]: string;\n [GROUP_DEPTH]: number;\n};\n\nexport function isGrouping(rgRow?: DataType): rgRow is GroupingItem {\n return typeof rgRow?.[PSEUDO_GROUP_ITEM] !== 'undefined';\n}\n\nexport function isGroupingColumn(column?: ColumnRegular) {\n return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';\n}\n\nexport function measureEqualDepth<T>(groupA: T[], groupB: T[]) {\n const ln = groupA.length;\n let i = 0;\n for (; i < ln; i++) {\n if (groupA[i] !== groupB[i]) {\n return i;\n }\n }\n return i;\n}\n\nexport function getParsedGroup(id: string) {\n const parseGroup = JSON.parse(id);\n // extra precaution and type safeguard\n if (!Array.isArray(parseGroup)) {\n return null;\n }\n return parseGroup;\n}\n\n// check if items is child of current clicked group\nexport function isSameGroup(\n currentGroup: any[],\n currentModel: DataType,\n nextModel: DataType,\n) {\n const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);\n if (!nextGroup) {\n return false;\n }\n\n const depth = measureEqualDepth(currentGroup, nextGroup);\n return currentModel[GROUP_DEPTH] < depth;\n}\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","import baseSlice from './_baseSlice.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nexport default slice;\n","import { DSourceState, getSourceItem, getVisibleSourceItem } from '@store';\nimport {\n getCellData,\n Observable,\n CELL_CLASS,\n DISABLED_CLASS,\n} from '../../utils';\nimport { getRange } from '@store';\n\nimport { isGroupingColumn } from '../../plugins/groupingRow/grouping.service';\nimport slice from 'lodash/slice';\nimport {\n DimensionCols,\n DimensionRows,\n RowDrag,\n ColumnRegular,\n DataType,\n CellProps,\n ColumnDataSchemaModel,\n ColumnProp,\n DataLookup,\n DataFormat,\n ChangedRange,\n OldNewRangeMapping,\n Cell,\n RangeArea,\n BeforeSaveDataDetails,\n EditorCtr,\n Editors,\n} from '@type';\nimport { JSXBase } from '@stencil/core/internal';\n\nexport type ColumnStores = {\n [T in DimensionCols]: Observable<DSourceState<ColumnRegular, DimensionCols>>;\n};\nexport type RowStores = {\n [T in DimensionRows]: Observable<DSourceState<DataType, DimensionRows>>;\n};\n\nexport default class ColumnService {\n private unsubscribe: { (): void }[] = [];\n get columns(): ColumnRegular[] {\n return getVisibleSourceItem(this.source);\n }\n\n hasGrouping = false;\n type: DimensionCols;\n\n constructor(\n private dataStore: Observable<DSourceState<DataType, DimensionRows>>,\n private source: Observable<DSourceState<ColumnRegular, DimensionCols>>,\n ) {\n this.unsubscribe.push(\n source.onChange('source', s => this.checkGrouping(s)),\n );\n this.checkGrouping(source.get('source'));\n this.type = source.get('type');\n }\n\n private checkGrouping(cols: ColumnRegular[]) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n\n isReadOnly(r: number, c: number) {\n const readOnly = this.columns[c]?.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return !!readOnly;\n }\n\n mergeProperties(\n r: number,\n c: number,\n defaultProps: CellProps,\n model: ColumnDataSchemaModel,\n extraPropsFunc: ColumnRegular['cellProperties'],\n ): CellProps {\n const props: CellProps = {\n ...defaultProps,\n };\n props.class = {\n ...(typeof props.class === 'string'\n ? { [props.class]: true }\n : props.class),\n [CELL_CLASS]: true,\n [DISABLED_CLASS]: this.isReadOnly(r, c),\n };\n\n const extra = extraPropsFunc?.(model);\n if (!extra) {\n return props;\n }\n return doPropMerge(props, extra);\n }\n\n getRowClass(r: number, prop: string): string {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n\n getCellData(r: number, c: number): string {\n const data = this.rowDataModel(r, c);\n return getCellData(data.model[data.prop as number]);\n }\n\n getSaveData(\n rowIndex: number,\n colIndex: number,\n val?: string,\n ): BeforeSaveDataDetails {\n const data = this.rowDataModel(rowIndex, colIndex);\n if (typeof val === 'undefined') {\n val = getCellData(data.model[data.prop as number]);\n }\n return {\n prop: data.prop,\n rowIndex,\n colIndex,\n val,\n model: data.model,\n colType: this.type,\n type: this.dataStore.get('type'),\n };\n }\n\n getCellEditor(\n _r: number,\n c: number,\n editors: Editors,\n ): EditorCtr | undefined {\n const editor = this.columns[c]?.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n }\n\n /**\n * Get cell data model for given rowIndex and colIndex\n * Used to pass data to editor/renderer\n */\n rowDataModel(rowIndex: number, colIndex: number): ColumnDataSchemaModel {\n const column = this.columns[colIndex];\n const prop: ColumnProp | undefined = column?.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n const value = model[prop];\n const type = this.dataStore.get('type');\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n colIndex,\n colType: this.type,\n type,\n value,\n };\n }\n\n getRangeData(\n d: ChangedRange,\n columns: ColumnRegular[],\n ): {\n changed: DataLookup;\n mapping: OldNewRangeMapping;\n } {\n const changed: DataLookup = {};\n\n // get original length sizes\n const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;\n const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;\n const mapping: OldNewRangeMapping = {};\n\n // rows\n for (\n let rowIndex = d.newRange.y, i = 0;\n rowIndex < d.newRange.y1 + 1;\n rowIndex++, i++\n ) {\n // copy original data link\n const oldRowIndex = d.oldRange.y + (i % copyRowLength);\n const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};\n\n // columns\n for (\n let colIndex = d.newRange.x, j = 0;\n colIndex < d.newRange.x1 + 1;\n colIndex++, j++\n ) {\n // check if old range area\n if (\n rowIndex >= d.oldRange.y &&\n rowIndex <= d.oldRange.y1 &&\n colIndex >= d.oldRange.x &&\n colIndex <= d.oldRange.x1\n ) {\n continue;\n }\n\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = this.columns[colIndex]?.prop;\n const copyColIndex = d.oldRange.x + (j % copyColLength);\n const copyColumnProp = columns[copyColIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][prop] = copyRow[copyColumnProp];\n /** Generate mapping object */\n if (!mapping[rowIndex]) {\n mapping[rowIndex] = {};\n }\n mapping[rowIndex][prop] = {\n colIndex: copyColIndex,\n colProp: copyColumnProp,\n rowIndex: oldRowIndex,\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n\n getTransformedDataToApply(\n start: Cell,\n data: DataFormat[][],\n ): {\n changed: DataLookup;\n range: RangeArea | null;\n } {\n const changed: DataLookup = {};\n const copyRowLength = data.length;\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n // rows\n let rowIndex = start.y;\n let maxCol = 0;\n for (\n let i = 0;\n rowIndex < rowLength && i < copyRowLength;\n rowIndex++, i++\n ) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = copyRow?.length || 0;\n // columns\n let colIndex = start.x;\n for (\n let j = 0;\n colIndex < colLength && j < copyColLength;\n colIndex++, j++\n ) {\n const p = this.columns[colIndex].prop;\n const currentCol = j % colLength;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = copyRow[currentCol];\n }\n }\n maxCol = Math.max(maxCol, colIndex - 1);\n }\n const range = getRange(start, {\n y: rowIndex - 1,\n x: maxCol,\n });\n return {\n changed,\n range,\n };\n }\n\n getRangeStaticData(d: RangeArea, value: DataFormat): DataLookup {\n const changed: DataLookup = {};\n\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const p = this.columns[colIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = value;\n }\n }\n }\n return changed;\n }\n\n getRangeTransformedToProps(\n d: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const area: {\n prop: ColumnProp;\n rowIndex: number;\n colIndex: number;\n model?: DataType;\n colType: DimensionCols;\n type: DimensionRows;\n }[] = [];\n\n const type = this.dataStore.get('type');\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n const prop = this.columns[colIndex]?.prop;\n area.push({\n prop,\n rowIndex,\n colIndex,\n model: getSourceItem(store, rowIndex),\n type,\n colType: this.type,\n });\n }\n }\n return area;\n }\n\n copyRangeArray(\n range: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy: DataFormat[][] = [];\n const mapping: { [rowIndex: number]: { [colProp: ColumnProp]: any } } = {};\n\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow: DataFormat[] = [];\n mapping[i] = {};\n\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n\n // if no item - skip\n if (!item) {\n continue;\n }\n const val = item[prop];\n rgRow.push(val);\n mapping[i][prop] = val;\n }\n\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping,\n };\n }\n\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n\n/**\n * Checks if the given rowDrag is a service for dragging rows.\n */\nexport function isRowDragService(\n rowDrag: RowDrag,\n model: ColumnDataSchemaModel,\n): boolean {\n if (typeof rowDrag === 'function') {\n return rowDrag(model);\n }\n return !!rowDrag;\n}\n\nfunction mergeClasses(\n class1: JSXBase.HTMLAttributes<HTMLElement>['class'] = {},\n class2: JSXBase.HTMLAttributes<HTMLElement>['class'] = {},\n) {\n if (typeof class1 === 'string') {\n class1 = { [class1]: true };\n }\n if (typeof class2 === 'string') {\n class2 = { [class2]: true };\n }\n return { ...class1, ...class2 };\n}\n\nexport function doPropMerge(existing: CellProps, extra: CellProps) {\n // if className is provided - remove it from props it messing with stencil\n if (extra.className) {\n extra.class = mergeClasses(extra.class, extra.className);\n delete extra.className;\n }\n let props: CellProps = { ...extra, ...existing };\n // extend existing props\n if (extra.class) {\n props.class = mergeClasses(props.class, extra.class);\n }\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n}\n"],"version":3}
@@ -1,34 +1,23 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- 'use strict';
5
-
6
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
7
-
8
4
  /** Detect free variable `global` from Node.js. */
5
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
9
6
 
10
- var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
11
-
12
- var _freeGlobal = freeGlobal$1;
13
-
14
- var freeGlobal = _freeGlobal;
7
+ const freeGlobal$1 = freeGlobal;
15
8
 
16
9
  /** Detect free variable `self`. */
17
10
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
18
11
 
19
12
  /** Used as a reference to the global object. */
20
- var root$2 = freeGlobal || freeSelf || Function('return this')();
13
+ var root = freeGlobal$1 || freeSelf || Function('return this')();
21
14
 
22
- var _root = root$2;
23
-
24
- var root$1 = _root;
15
+ const root$1 = root;
25
16
 
26
17
  /** Built-in value references. */
27
- var Symbol$2 = root$1.Symbol;
28
-
29
- var _Symbol = Symbol$2;
18
+ var Symbol = root$1.Symbol;
30
19
 
31
- var Symbol$1 = _Symbol;
20
+ const Symbol$1 = Symbol;
32
21
 
33
22
  /** Used for built-in method references. */
34
23
  var objectProto$1 = Object.prototype;
@@ -53,7 +42,7 @@ var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
53
42
  * @param {*} value The value to query.
54
43
  * @returns {string} Returns the raw `toStringTag`.
55
44
  */
56
- function getRawTag$1(value) {
45
+ function getRawTag(value) {
57
46
  var isOwn = hasOwnProperty.call(value, symToStringTag$1),
58
47
  tag = value[symToStringTag$1];
59
48
 
@@ -73,10 +62,7 @@ function getRawTag$1(value) {
73
62
  return result;
74
63
  }
75
64
 
76
- var _getRawTag = getRawTag$1;
77
-
78
65
  /** Used for built-in method references. */
79
-
80
66
  var objectProto = Object.prototype;
81
67
 
82
68
  /**
@@ -93,22 +79,16 @@ var nativeObjectToString = objectProto.toString;
93
79
  * @param {*} value The value to convert.
94
80
  * @returns {string} Returns the converted string.
95
81
  */
96
- function objectToString$1(value) {
82
+ function objectToString(value) {
97
83
  return nativeObjectToString.call(value);
98
84
  }
99
85
 
100
- var _objectToString = objectToString$1;
101
-
102
- var Symbol = _Symbol,
103
- getRawTag = _getRawTag,
104
- objectToString = _objectToString;
105
-
106
86
  /** `Object#toString` result references. */
107
87
  var nullTag = '[object Null]',
108
88
  undefinedTag = '[object Undefined]';
109
89
 
110
90
  /** Built-in value references. */
111
- var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
91
+ var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined;
112
92
 
113
93
  /**
114
94
  * The base implementation of `getTag` without fallbacks for buggy environments.
@@ -117,7 +97,7 @@ var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
117
97
  * @param {*} value The value to query.
118
98
  * @returns {string} Returns the `toStringTag`.
119
99
  */
120
- function baseGetTag$1(value) {
100
+ function baseGetTag(value) {
121
101
  if (value == null) {
122
102
  return value === undefined ? undefinedTag : nullTag;
123
103
  }
@@ -126,8 +106,6 @@ function baseGetTag$1(value) {
126
106
  : objectToString(value);
127
107
  }
128
108
 
129
- var _baseGetTag = baseGetTag$1;
130
-
131
109
  /**
132
110
  * Checks if `value` is the
133
111
  * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
@@ -153,14 +131,11 @@ var _baseGetTag = baseGetTag$1;
153
131
  * _.isObject(null);
154
132
  * // => false
155
133
  */
156
-
157
- function isObject$2(value) {
134
+ function isObject(value) {
158
135
  var type = typeof value;
159
136
  return value != null && (type == 'object' || type == 'function');
160
137
  }
161
138
 
162
- var isObject_1 = isObject$2;
163
-
164
139
  /**
165
140
  * Checks if `value` is object-like. A value is object-like if it's not `null`
166
141
  * and has a `typeof` result of "object".
@@ -185,16 +160,10 @@ var isObject_1 = isObject$2;
185
160
  * _.isObjectLike(null);
186
161
  * // => false
187
162
  */
188
-
189
- function isObjectLike$1(value) {
163
+ function isObjectLike(value) {
190
164
  return value != null && typeof value == 'object';
191
165
  }
192
166
 
193
- var isObjectLike_1 = isObjectLike$1;
194
-
195
- var baseGetTag = _baseGetTag,
196
- isObjectLike = isObjectLike_1;
197
-
198
167
  /** `Object#toString` result references. */
199
168
  var symbolTag = '[object Symbol]';
200
169
 
@@ -215,15 +184,12 @@ var symbolTag = '[object Symbol]';
215
184
  * _.isSymbol('abc');
216
185
  * // => false
217
186
  */
218
- function isSymbol$1(value) {
187
+ function isSymbol(value) {
219
188
  return typeof value == 'symbol' ||
220
189
  (isObjectLike(value) && baseGetTag(value) == symbolTag);
221
190
  }
222
191
 
223
- var isSymbol_1 = isSymbol$1;
224
-
225
192
  /** Used to match a single whitespace character. */
226
-
227
193
  var reWhitespace = /\s/;
228
194
 
229
195
  /**
@@ -234,17 +200,13 @@ var reWhitespace = /\s/;
234
200
  * @param {string} string The string to inspect.
235
201
  * @returns {number} Returns the index of the last non-whitespace character.
236
202
  */
237
- function trimmedEndIndex$1(string) {
203
+ function trimmedEndIndex(string) {
238
204
  var index = string.length;
239
205
 
240
206
  while (index-- && reWhitespace.test(string.charAt(index))) {}
241
207
  return index;
242
208
  }
243
209
 
244
- var _trimmedEndIndex = trimmedEndIndex$1;
245
-
246
- var trimmedEndIndex = _trimmedEndIndex;
247
-
248
210
  /** Used to match leading whitespace. */
249
211
  var reTrimStart = /^\s+/;
250
212
 
@@ -255,18 +217,12 @@ var reTrimStart = /^\s+/;
255
217
  * @param {string} string The string to trim.
256
218
  * @returns {string} Returns the trimmed string.
257
219
  */
258
- function baseTrim$1(string) {
220
+ function baseTrim(string) {
259
221
  return string
260
222
  ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')
261
223
  : string;
262
224
  }
263
225
 
264
- var _baseTrim = baseTrim$1;
265
-
266
- var baseTrim = _baseTrim,
267
- isObject$1 = isObject_1,
268
- isSymbol = isSymbol_1;
269
-
270
226
  /** Used as references for various `Number` constants. */
271
227
  var NAN = 0 / 0;
272
228
 
@@ -305,16 +261,16 @@ var freeParseInt = parseInt;
305
261
  * _.toNumber('3.2');
306
262
  * // => 3.2
307
263
  */
308
- function toNumber$1(value) {
264
+ function toNumber(value) {
309
265
  if (typeof value == 'number') {
310
266
  return value;
311
267
  }
312
268
  if (isSymbol(value)) {
313
269
  return NAN;
314
270
  }
315
- if (isObject$1(value)) {
271
+ if (isObject(value)) {
316
272
  var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
317
- value = isObject$1(other) ? (other + '') : other;
273
+ value = isObject(other) ? (other + '') : other;
318
274
  }
319
275
  if (typeof value != 'string') {
320
276
  return value === 0 ? value : +value;
@@ -326,10 +282,6 @@ function toNumber$1(value) {
326
282
  : (reIsBadHex.test(value) ? NAN : +value);
327
283
  }
328
284
 
329
- var toNumber_1 = toNumber$1;
330
-
331
- var root = _root;
332
-
333
285
  /**
334
286
  * Gets the timestamp of the number of milliseconds that have elapsed since
335
287
  * the Unix epoch (1 January 1970 00:00:00 UTC).
@@ -346,15 +298,11 @@ var root = _root;
346
298
  * }, _.now());
347
299
  * // => Logs the number of milliseconds it took for the deferred invocation.
348
300
  */
349
- var now$1 = function() {
350
- return root.Date.now();
301
+ var now = function() {
302
+ return root$1.Date.now();
351
303
  };
352
304
 
353
- var now_1 = now$1;
354
-
355
- var isObject = isObject_1,
356
- now = now_1,
357
- toNumber = toNumber_1;
305
+ const now$1 = now;
358
306
 
359
307
  /** Error message constants. */
360
308
  var FUNC_ERROR_TEXT = 'Expected a function';
@@ -481,7 +429,7 @@ function debounce(func, wait, options) {
481
429
  }
482
430
 
483
431
  function timerExpired() {
484
- var time = now();
432
+ var time = now$1();
485
433
  if (shouldInvoke(time)) {
486
434
  return trailingEdge(time);
487
435
  }
@@ -510,11 +458,11 @@ function debounce(func, wait, options) {
510
458
  }
511
459
 
512
460
  function flush() {
513
- return timerId === undefined ? result : trailingEdge(now());
461
+ return timerId === undefined ? result : trailingEdge(now$1());
514
462
  }
515
463
 
516
464
  function debounced() {
517
- var time = now(),
465
+ var time = now$1(),
518
466
  isInvoking = shouldInvoke(time);
519
467
 
520
468
  lastArgs = arguments;
@@ -542,16 +490,6 @@ function debounce(func, wait, options) {
542
490
  return debounced;
543
491
  }
544
492
 
545
- var debounce_1 = debounce;
546
-
547
- exports._Symbol = _Symbol;
548
- exports._baseGetTag = _baseGetTag;
549
- exports._freeGlobal = _freeGlobal;
550
- exports._root = _root;
551
- exports.debounce_1 = debounce_1;
552
- exports.isObjectLike_1 = isObjectLike_1;
553
- exports.isObject_1 = isObject_1;
554
- exports.isSymbol_1 = isSymbol_1;
555
- exports.toNumber_1 = toNumber_1;
493
+ export { Symbol$1 as S, isObjectLike as a, baseGetTag as b, isSymbol as c, debounce as d, freeGlobal$1 as f, isObject as i, root$1 as r, toNumber as t };
556
494
 
557
- //# sourceMappingURL=debounce-cb5f4e35.js.map
495
+ //# sourceMappingURL=debounce-7b511afc.js.map
@@ -0,0 +1 @@
1
+ {"file":"debounce-7b511afc.js","mappings":"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","names":["freeGlobal","root","objectProto","nativeObjectToString","symToStringTag","Symbol","now"],"sources":["node_modules/lodash/_freeGlobal.js","node_modules/lodash/_root.js","node_modules/lodash/_Symbol.js","node_modules/lodash/_getRawTag.js","node_modules/lodash/_objectToString.js","node_modules/lodash/_baseGetTag.js","node_modules/lodash/isObject.js","node_modules/lodash/isObjectLike.js","node_modules/lodash/isSymbol.js","node_modules/lodash/_trimmedEndIndex.js","node_modules/lodash/_baseTrim.js","node_modules/lodash/toNumber.js","node_modules/lodash/now.js","node_modules/lodash/debounce.js"],"sourcesContent":["/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { L as EDIT_INPUT_WR } from './index-29a9a87a.js';
4
+ import { L as EDIT_INPUT_WR } from './index-b6586f9b.js';
5
5
 
6
6
  // is edit input
7
7
  function isEditInput(el) {
@@ -14,4 +14,4 @@ function isEditorCtrConstructible(editor) {
14
14
 
15
15
  export { isEditorCtrConstructible as a, isEditInput as i };
16
16
 
17
- //# sourceMappingURL=edit.utils-177d6b9e.js.map
17
+ //# sourceMappingURL=edit.utils-1eeabeab.js.map
@@ -1 +1 @@
1
- {"file":"edit.utils-177d6b9e.js","mappings":";;;;;AAIA;SACgB,WAAW,CAAC,EAAgB;IAC1C,OAAO,CAAC,EAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC,CAAA,CAAC;AAC5C,CAAC;AAGD;SACgB,wBAAwB,CACtC,MAAW;IAEX,OAAO,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC9E;;;;","names":[],"sources":["src/components/editors/edit.utils.ts"],"sourcesContent":["import { EDIT_INPUT_WR } from '../../utils/consts';\nimport {\n EditorCtrConstructible,\n} from '@type';\n// is edit input\nexport function isEditInput(el?: HTMLElement) {\n return !!el?.closest(`.${EDIT_INPUT_WR}`);\n}\n\n\n// Type guard for EditorCtrConstructible\nexport function isEditorCtrConstructible(\n editor: any,\n): editor is EditorCtrConstructible {\n return typeof editor === 'function' && typeof editor.prototype === 'object';\n}\n"],"version":3}
1
+ {"file":"edit.utils-1eeabeab.js","mappings":";;;;;AAIA;SACgB,WAAW,CAAC,EAAgB;IAC1C,OAAO,CAAC,EAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC,CAAA,CAAC;AAC5C,CAAC;AAGD;SACgB,wBAAwB,CACtC,MAAW;IAEX,OAAO,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC9E;;;;","names":[],"sources":["src/components/editors/edit.utils.ts"],"sourcesContent":["import { EDIT_INPUT_WR } from '../../utils/consts';\nimport {\n EditorCtrConstructible,\n} from '@type';\n// is edit input\nexport function isEditInput(el?: HTMLElement) {\n return !!el?.closest(`.${EDIT_INPUT_WR}`);\n}\n\n\n// Type guard for EditorCtrConstructible\nexport function isEditorCtrConstructible(\n editor: any,\n): editor is EditorCtrConstructible {\n return typeof editor === 'function' && typeof editor.prototype === 'object';\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { h } from './index-70354f39.js';
4
+ import { h } from './index-a61f225b.js';
5
5
 
6
6
  const FILTER_BUTTON_CLASS = 'rv-filter';
7
7
  const FILTER_BUTTON_ACTIVE = 'active';
@@ -33,6 +33,6 @@ function isFilterBtn(e) {
33
33
  return e === null || e === void 0 ? void 0 : e.closest(`.${FILTER_BUTTON_CLASS}`);
34
34
  }
35
35
 
36
- export { AndOrButton as A, FILTER_PROP as F, TrashButton as T, FilterButton as a, isFilterBtn as i };
36
+ export { AND_OR_BUTTON as A, FILTER_BUTTON_CLASS as F, TRASH_BUTTON as T, FILTER_BUTTON_ACTIVE as a, FILTER_PROP as b, FilterButton as c, TrashButton as d, AndOrButton as e, isFilterBtn as i };
37
37
 
38
- //# sourceMappingURL=filter.button-91088160.js.map
38
+ //# sourceMappingURL=filter.button-d40ab17b.js.map
@@ -0,0 +1 @@
1
+ {"file":"filter.button-d40ab17b.js","mappings":";;;;;MAGa,mBAAmB,GAAG,YAAY;MAClC,oBAAoB,GAAG,SAAS;MAEhC,WAAW,GAAG,YAAY;MAC1B,aAAa,GAAG,gBAAgB;MAChC,YAAY,GAAG,eAAe;MAK9B,YAAY,GAAG,CAAC,EAAE,MAAM,EAAS;IAC5C,QACE;QACE,cACE,KAAK,EAAE;gBACL,CAAC,mBAAmB,GAAG,IAAI;gBAC3B,CAAC,oBAAoB,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;aACxD;YAED,WAAK,KAAK,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW;gBACzC,SAAG,MAAM,EAAC,MAAM,kBAAc,GAAG,EAAC,IAAI,EAAC,MAAM,eAAW,SAAS;oBAC/D,YAAM,CAAC,EAAC,2GAA2G,EAAC,IAAI,EAAC,cAAc,GAAQ,CAC7I,CACA,CACC,CACJ,EACP;AACJ,EAAE;MAEW,WAAW,GAAG;IACzB,QACE,WAAK,KAAK,EAAE,EAAE,CAAC,YAAY,GAAG,IAAI,EAAE;QAClC,WAAK,KAAK,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW;YACxC,YAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,8GAA8G,GAAG,CACzI,CACF,EACN;AACJ,EAAE;MACW,WAAW,GAAG,CAAC,EAAE,IAAI,EAAO;IACvC,OAAO,cAAQ,KAAK,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAG,IAAI,CAAU,CAAC;AAC9F,EAAE;SAEc,WAAW,CAAC,CAAc;IACxC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC7C,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AAC/C;;;;","names":[],"sources":["src/plugins/filter/filter.button.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { ColumnRegular } from '@type';\n\nexport const FILTER_BUTTON_CLASS = 'rv-filter';\nexport const FILTER_BUTTON_ACTIVE = 'active';\n\nexport const FILTER_PROP = 'hasFilter';\nexport const AND_OR_BUTTON = 'and-or-button';\nexport const TRASH_BUTTON = 'trash-button';\n\ntype Props = {\n column: ColumnRegular;\n};\nexport const FilterButton = ({ column }: Props) => {\n return (\n <span>\n <button\n class={{\n [FILTER_BUTTON_CLASS]: true,\n [FILTER_BUTTON_ACTIVE]: column && !!column[FILTER_PROP],\n }}\n >\n <svg class=\"filter-img\" viewBox=\"0 0 64 64\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M43,48 L43,56 L21,56 L21,48 L43,48 Z M53,28 L53,36 L12,36 L12,28 L53,28 Z M64,8 L64,16 L0,16 L0,8 L64,8 Z\" fill=\"currentColor\"></path>\n </g>\n </svg>\n </button>\n </span>\n );\n};\n\nexport const TrashButton = () => {\n return (\n <div class={{ [TRASH_BUTTON]: true }}>\n <svg class=\"trash-img\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" d=\"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\" />\n </svg>\n </div>\n );\n};\nexport const AndOrButton = ({ text }: any) => {\n return <button class={{ [AND_OR_BUTTON]: true, 'light revo-button': true }}>{text}</button>;\n};\n\nexport function isFilterBtn(e: HTMLElement) {\n if (e.classList.contains(FILTER_BUTTON_CLASS)) {\n return true;\n }\n return e?.closest(`.${FILTER_BUTTON_CLASS}`);\n}\n"],"version":3}
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { h } from './index-70354f39.js';
5
- import { p as doPropMerge } from './column.service-dc98409c.js';
4
+ import { h } from './index-a61f225b.js';
5
+ import { p as doPropMerge } from './column.service-407956dd.js';
6
6
 
7
7
  /**
8
8
  * Dispatches a custom event to a specified target element.
@@ -336,4 +336,4 @@ const HeaderCellRenderer = ({ data, props, additionalData }, children) => {
336
336
 
337
337
  export { HeaderCellRenderer as H, ON_COLUMN_CLICK as O, dispatchByEvent as a, dispatch as d };
338
338
 
339
- //# sourceMappingURL=header-cell-renderer-07c6f845.js.map
339
+ //# sourceMappingURL=header-cell-renderer-da468bd2.js.map