@revolist/revogrid 4.9.22 → 4.9.23

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 (208) 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-eb1db875.js} +50 -55
  4. package/dist/cjs/column.drag.plugin-eb1db875.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-afb16244.js} +2 -2
  12. package/dist/cjs/{filter.button-1e1e16be.js.map → filter.button-afb16244.js.map} +1 -1
  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 +11 -11
  20. package/dist/cjs/{key.utils-48b178d1.js → key.utils-1438f2ac.js} +2 -2
  21. package/dist/cjs/{key.utils-48b178d1.js.map → key.utils-1438f2ac.js.map} +1 -1
  22. package/dist/cjs/loader.cjs.js +2 -2
  23. package/dist/cjs/revo-grid.cjs.entry.js +43 -74
  24. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  25. package/dist/cjs/revo-grid.cjs.js +3 -3
  26. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  27. package/dist/cjs/revogr-attribution_6.cjs.entry.js +10 -10
  28. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  29. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +7 -7
  30. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  31. package/dist/cjs/revogr-data_4.cjs.entry.js +24 -47
  32. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  33. package/dist/cjs/revogr-filter-panel.cjs.entry.js +4 -4
  34. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  35. package/dist/cjs/{row-header-utils-baf917a2.js → row-header-utils-eb5949b3.js} +7 -9
  36. package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
  37. package/dist/cjs/{sorting.sign-54938069.js → sorting.sign-8bf92449.js} +2 -2
  38. package/dist/cjs/{sorting.sign-54938069.js.map → sorting.sign-8bf92449.js.map} +1 -1
  39. package/dist/cjs/{text-editor-bdc757b1.js → text-editor-ea3badef.js} +3 -3
  40. package/dist/cjs/{text-editor-bdc757b1.js.map → text-editor-ea3badef.js.map} +1 -1
  41. package/dist/cjs/{throttle-b5d436ca.js → throttle-6fecba1e.js} +6 -11
  42. package/dist/cjs/throttle-6fecba1e.js.map +1 -0
  43. package/dist/collection/collection-manifest.json +1 -1
  44. package/dist/collection/components/revoGrid/revo-grid.js +9 -13
  45. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  46. package/dist/collection/services/dimension.provider.js +4 -3
  47. package/dist/collection/services/dimension.provider.js.map +1 -1
  48. package/dist/collection/store/dimension/dimension.store.js +19 -6
  49. package/dist/collection/store/dimension/dimension.store.js.map +1 -1
  50. package/dist/collection/store/vp/viewport.store.js +5 -7
  51. package/dist/collection/store/vp/viewport.store.js.map +1 -1
  52. package/dist/esm/{app-globals-43714036.js → app-globals-3a760941.js} +2 -2
  53. package/dist/esm/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +1 -1
  54. package/dist/esm/{column.drag.plugin-49737eae.js → column.drag.plugin-cb25a5e1.js} +47 -52
  55. package/dist/esm/column.drag.plugin-cb25a5e1.js.map +1 -0
  56. package/dist/esm/{column.service-dc98409c.js → column.service-407956dd.js} +7 -17
  57. package/dist/esm/column.service-407956dd.js.map +1 -0
  58. package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
  59. package/dist/esm/debounce-7b511afc.js.map +1 -0
  60. package/dist/esm/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  61. package/dist/esm/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +1 -1
  62. package/dist/esm/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
  63. package/dist/esm/{filter.button-91088160.js.map → filter.button-37373672.js.map} +1 -1
  64. package/dist/esm/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +3 -3
  65. package/dist/esm/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
  66. package/dist/esm/{index-70354f39.js → index-a61f225b.js} +14 -20
  67. package/dist/esm/index-a61f225b.js.map +1 -0
  68. package/dist/esm/{index-29a9a87a.js → index-b6586f9b.js} +270 -834
  69. package/dist/esm/index-b6586f9b.js.map +1 -0
  70. package/dist/esm/index.js +11 -11
  71. package/dist/esm/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  72. package/dist/esm/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +1 -1
  73. package/dist/esm/loader.js +3 -3
  74. package/dist/esm/revo-grid.entry.js +39 -70
  75. package/dist/esm/revo-grid.entry.js.map +1 -1
  76. package/dist/esm/revo-grid.js +4 -4
  77. package/dist/esm/revo-grid.js.map +1 -1
  78. package/dist/esm/revogr-attribution_6.entry.js +10 -10
  79. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  80. package/dist/esm/revogr-clipboard_3.entry.js +7 -7
  81. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  82. package/dist/esm/revogr-data_4.entry.js +20 -43
  83. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  84. package/dist/esm/revogr-filter-panel.entry.js +4 -4
  85. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  86. package/dist/esm/{row-header-utils-32049c13.js → row-header-utils-e043f744.js} +7 -9
  87. package/dist/esm/row-header-utils-e043f744.js.map +1 -0
  88. package/dist/esm/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
  89. package/dist/esm/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +1 -1
  90. package/dist/esm/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +3 -3
  91. package/dist/esm/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +1 -1
  92. package/dist/esm/{throttle-c6f34cc0.js → throttle-bb3169c7.js} +4 -9
  93. package/dist/esm/throttle-bb3169c7.js.map +1 -0
  94. package/dist/revo-grid/app-globals-3a760941.js +5 -0
  95. package/dist/revo-grid/column.drag.plugin-cb25a5e1.js +5 -0
  96. package/dist/revo-grid/column.drag.plugin-cb25a5e1.js.map +1 -0
  97. package/dist/revo-grid/column.service-407956dd.js +5 -0
  98. package/dist/revo-grid/column.service-407956dd.js.map +1 -0
  99. package/dist/revo-grid/debounce-7b511afc.js +5 -0
  100. package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
  101. package/dist/revo-grid/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  102. package/dist/revo-grid/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
  103. package/dist/revo-grid/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +2 -2
  104. package/dist/revo-grid/index-a61f225b.js +6 -0
  105. package/dist/revo-grid/index-a61f225b.js.map +1 -0
  106. package/dist/revo-grid/index-b6586f9b.js +5 -0
  107. package/dist/revo-grid/index-b6586f9b.js.map +1 -0
  108. package/dist/revo-grid/index.esm.js +1 -1
  109. package/dist/revo-grid/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  110. package/dist/revo-grid/revo-grid.entry.js +1 -1
  111. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  112. package/dist/revo-grid/revo-grid.esm.js +1 -1
  113. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  114. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  115. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  116. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  117. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  118. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  119. package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
  120. package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
  121. package/dist/revo-grid/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
  122. package/dist/revo-grid/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +2 -2
  123. package/dist/revo-grid/throttle-bb3169c7.js +5 -0
  124. package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
  125. package/dist/types/store/dimension/dimension.store.d.ts +2 -1
  126. package/dist/types/store/vp/viewport.store.d.ts +0 -1
  127. package/hydrate/index.d.ts +4 -4
  128. package/hydrate/index.js +426 -1128
  129. package/hydrate/index.mjs +426 -1128
  130. package/package.json +3 -3
  131. package/standalone/column.service.js +5 -16
  132. package/standalone/column.service.js.map +1 -1
  133. package/standalone/debounce.js +7 -16
  134. package/standalone/debounce.js.map +1 -1
  135. package/standalone/dimension.helpers.js +15 -45
  136. package/standalone/dimension.helpers.js.map +1 -1
  137. package/standalone/index.js +0 -2
  138. package/standalone/index.js.map +1 -1
  139. package/standalone/index2.js +0 -2
  140. package/standalone/index2.js.map +1 -1
  141. package/standalone/reduce.js +1319 -474
  142. package/standalone/reduce.js.map +1 -1
  143. package/standalone/revo-grid.js +74 -111
  144. package/standalone/revo-grid.js.map +1 -1
  145. package/standalone/revogr-data2.js +0 -2
  146. package/standalone/revogr-data2.js.map +1 -1
  147. package/standalone/revogr-filter-panel.js +2 -2
  148. package/standalone/revogr-filter-panel.js.map +1 -1
  149. package/standalone/revogr-focus2.js +0 -2
  150. package/standalone/revogr-focus2.js.map +1 -1
  151. package/standalone/revogr-header2.js +12 -37
  152. package/standalone/revogr-header2.js.map +1 -1
  153. package/standalone/revogr-order-editor2.js +2 -4
  154. package/standalone/revogr-order-editor2.js.map +1 -1
  155. package/standalone/revogr-overlay-selection2.js +2 -4
  156. package/standalone/revogr-overlay-selection2.js.map +1 -1
  157. package/standalone/revogr-row-headers2.js +5 -9
  158. package/standalone/revogr-row-headers2.js.map +1 -1
  159. package/standalone/revogr-temp-range2.js +2 -2
  160. package/standalone/revogr-temp-range2.js.map +1 -1
  161. package/standalone/revogr-viewport-scroll2.js +2 -2
  162. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  163. package/standalone/selection.utils.js +0 -2
  164. package/standalone/selection.utils.js.map +1 -1
  165. package/standalone/throttle.js +3 -8
  166. package/standalone/throttle.js.map +1 -1
  167. package/standalone/toNumber.js +165 -22
  168. package/standalone/toNumber.js.map +1 -1
  169. package/dist/cjs/column.drag.plugin-3644bda6.js.map +0 -1
  170. package/dist/cjs/column.service-caec759a.js.map +0 -1
  171. package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
  172. package/dist/cjs/index-34dfb0db.js.map +0 -1
  173. package/dist/cjs/index-71b783e2.js.map +0 -1
  174. package/dist/cjs/row-header-utils-baf917a2.js.map +0 -1
  175. package/dist/cjs/throttle-b5d436ca.js.map +0 -1
  176. package/dist/esm/column.drag.plugin-49737eae.js.map +0 -1
  177. package/dist/esm/column.service-dc98409c.js.map +0 -1
  178. package/dist/esm/debounce-e8e9464a.js.map +0 -1
  179. package/dist/esm/index-29a9a87a.js.map +0 -1
  180. package/dist/esm/index-70354f39.js.map +0 -1
  181. package/dist/esm/row-header-utils-32049c13.js.map +0 -1
  182. package/dist/esm/throttle-c6f34cc0.js.map +0 -1
  183. package/dist/revo-grid/app-globals-43714036.js +0 -5
  184. package/dist/revo-grid/column.drag.plugin-49737eae.js +0 -5
  185. package/dist/revo-grid/column.drag.plugin-49737eae.js.map +0 -1
  186. package/dist/revo-grid/column.service-dc98409c.js +0 -5
  187. package/dist/revo-grid/column.service-dc98409c.js.map +0 -1
  188. package/dist/revo-grid/debounce-e8e9464a.js +0 -5
  189. package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
  190. package/dist/revo-grid/index-29a9a87a.js +0 -5
  191. package/dist/revo-grid/index-29a9a87a.js.map +0 -1
  192. package/dist/revo-grid/index-70354f39.js +0 -6
  193. package/dist/revo-grid/index-70354f39.js.map +0 -1
  194. package/dist/revo-grid/row-header-utils-32049c13.js +0 -5
  195. package/dist/revo-grid/row-header-utils-32049c13.js.map +0 -1
  196. package/dist/revo-grid/throttle-c6f34cc0.js +0 -5
  197. package/dist/revo-grid/throttle-c6f34cc0.js.map +0 -1
  198. package/standalone/_stringToPath.js +0 -1389
  199. package/standalone/_stringToPath.js.map +0 -1
  200. package/standalone/isObjectLike.js +0 -195
  201. package/standalone/isObjectLike.js.map +0 -1
  202. /package/dist/revo-grid/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +0 -0
  203. /package/dist/revo-grid/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +0 -0
  204. /package/dist/revo-grid/{filter.button-91088160.js.map → filter.button-37373672.js.map} +0 -0
  205. /package/dist/revo-grid/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
  206. /package/dist/revo-grid/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +0 -0
  207. /package/dist/revo-grid/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +0 -0
  208. /package/dist/revo-grid/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import{h as e,r as t,c as r,H as o,a as i}from"./index-70354f39.js";import{g as s,d as a,Z as n,a1 as d,a2 as l,a3 as h,a4 as c,a5 as g,v as u,D as f,b as v,W as p,e as m,s as w,X as b,a as x,f as C,j as y,R as S,q as k}from"./index-29a9a87a.js";import{B as R,c as j,F as L,r as E,i as P,D as H,a as z,S as O,A as I,d as M,E as T,C as D}from"./column.drag.plugin-49737eae.js";import{m as N,G as F,q as $,r as B,s as V,P as U,t as A,u as G,v as W,w as X,x as Y,y as Z,l as _,e as q,f as J,E as K,j as Q,z as ee}from"./column.service-dc98409c.js";import{_ as te,c as re,d as oe}from"./debounce-e8e9464a.js";import{V as ie}from"./row-header-utils-32049c13.js";import{v as se,H as ae,C as ne,F as de,D as le}from"./viewport.helpers-7e7f9dad.js";import{g as he}from"./events-cf0893a3.js";import"./filter.button-91088160.js";import"./header-cell-renderer-07c6f845.js";class ce{constructor(){this.defaultRowSize=32}}class ge{constructor(){this.defaultRowSize=27}}class ue{constructor(){this.defaultRowSize=42}}const fe="default";const ve=[fe,"material","compact","darkMaterial","darkCompact"];class pe{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(e){this.customRowSize=e}constructor(e){this.customRowSize=0;this.customRowSize=e.rowSize;this.register("default")}register(e){const t=me(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new ue;break;case"compact":case"darkCompact":this.currentTheme=new ce;break;default:this.currentTheme=new ge;break}}}function me(e){if(e&&ve.indexOf(e)>-1){return e}return fe}function we(e,t){const r=t[e];const o=r[U];const i={};let s=e+1;const a=t.length;while(s<a){const e=t[s];if(N(e)){const t=e[U];if(!t.length||!t.startsWith(o+",")){break}e[F]=false}i[s++]=true}r[F]=false;return{trimmed:i}}function be(e,t,r){const o=r[e];const i=t[o];const s=$(i[A]);const a={};if(!s){return{trimmed:a}}const n=[];i[F]=true;let d=o+1;const l=t.length;let h=0;while(d<l){const e=t[d];const r=N(e);if(r){if(!B(s,i,e)){break}else if(!h){h=e[V]}}if(!h||r&&h===e[V]){a[d]=false;n.push(d)}d++}const c={trimmed:a};if(n.length){const t=[...r];t.splice(e+1,0,...n);c.items=t}return c}const xe="grouping";function Ce(e,t,r){const o={};for(let i in e){if(i===xe){continue}const s=e[i];const a={};for(let e in s){let n=t[e];if(r){n=r[n]}if(s[e]){a[n]=true;if(n!==parseInt(e,10)){o[i]=a}}}}return o}class ye extends R{get hasProps(){var e,t,r;return((e=this.options)===null||e===void 0?void 0:e.props)&&((r=(t=this.options)===null||t===void 0?void 0:t.props)===null||r===void 0?void 0:r.length)}get store(){return this.providers.data.stores[G].store}get rowItems(){return this.store.get("items")}get trimmed(){return this.store.get("trimmed")}constructor(e,t){super(e,t);this.revogrid=e;this.providers=t}onFocus(e){if(N(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[xe];let o=s(this.store,e);const i=t[o];const n=i[F];if(!n){const{trimmed:o,items:i}=be(e,t,this.rowItems);r=Object.assign(Object.assign({},r),o);if(i){a(this.store,i)}}else{const{trimmed:e}=we(o,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,xe)}getSource(e=false){const t=this.store.get("source");const r=this.store.get("proxyItems");let o=0;return r.reduce(((r,i)=>{const s=t[i];if(!e){r.source.push(s);return r}if(N(s)){if(s[F]){r.prevExpanded[s[U]]=true}}else{r.source.push(s);r.oldNewIndexes[i]=o;o++}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][W]=true;return true}return false}setColumns({columns:e}){for(let t of j){if(this.setColumnGrouping(e[t])){break}}}onDrag(e){const{from:t,to:r}=e.detail;const o=r-t>=0;const{source:i}=this.getSource();const s=this.rowItems;let a=o?t:r;const n=o?r:t;for(;a<n;a++){const t=i[s[a]];const r=N(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===L){const t=this.store.get("source");for(let r in e){if(e[r]&&N(t[r])){e[r]=false}}}}subscribe(){this.addEventListener("beforesourceset",(({detail:e})=>this.onDataSet(e)));this.addEventListener("beforecolumnsset",(({detail:e})=>this.setColumns(e)));this.addEventListener("beforetrimmed",(({detail:{trimmed:e,trimmedType:t}})=>this.beforeTrimmedApply(e,t)));this.addEventListener("aftersortingapply",(()=>this.doSourceUpdate(Object.assign({},this.options))));this.addEventListener("beforecellfocus",(e=>this.onFocus(e)));this.addEventListener("roworderchanged",(e=>this.onDrag(e)));this.addEventListener(X,(({detail:e})=>this.onExpand(e)))}doSourceUpdate(e){var t;if(!this.hasProps){return}const{source:r,prevExpanded:o,oldNewIndexes:i}=this.getSource(true);const{sourceWithGroups:s,depth:a,trimmed:n,oldNewIndexMap:d,childrenByGroup:l}=Y(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:o},e));this.providers.data.setData(s,G,this.revogrid.disableVirtualY,{depth:a,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(n,l,i!==null&&i!==void 0?i:{},d)}onDataSet(e){var t;if(!this.hasProps||!(e===null||e===void 0?void 0:e.source)||!e.source.length){return}const r=e.source.filter((e=>!N(e)));const o=this.revogrid.grouping||{};const{sourceWithGroups:i,depth:s,trimmed:a,oldNewIndexMap:n,childrenByGroup:d}=Y(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({},o||{}));e.source=i;this.providers.data.setGrouping({depth:s});this.updateTrimmed(a,d,n)}setGrouping(e){this.clearSubscriptions();this.options=e;if(!e.props||!Object.keys(e.props).length){this.clearGrouping();return}const{source:t}=this.getSource();if(t.length){this.doSourceUpdate(Object.assign({},e))}for(let e of j){if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}}this.subscribe()}clearGrouping(){j.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(Z(e)){delete e[W];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,G,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r={},o){const i=Ce(this.trimmed,r,o);for(let e in i){this.revogrid.addTrimmed(i[e],e)}this.revogrid.addTrimmed(Object.assign({},e),xe)}}var Se=te,ke=n,Re=re;var je="[object String]";function Le(e){return typeof e=="string"||!ke(e)&&Re(e)&&Se(e)==je}var Ee=Le;var Pe=d;var He=Pe("length");var ze=He;var Oe="\\ud800-\\udfff",Ie="\\u0300-\\u036f",Me="\\ufe20-\\ufe2f",Te="\\u20d0-\\u20ff",De=Ie+Me+Te,Ne="\\ufe0e\\ufe0f";var Fe="\\u200d";var $e=RegExp("["+Fe+Oe+De+Ne+"]");function Be(e){return $e.test(e)}var Ve=Be;var Ue="\\ud800-\\udfff",Ae="\\u0300-\\u036f",Ge="\\ufe20-\\ufe2f",We="\\u20d0-\\u20ff",Xe=Ae+Ge+We,Ye="\\ufe0e\\ufe0f";var Ze="["+Ue+"]",_e="["+Xe+"]",qe="\\ud83c[\\udffb-\\udfff]",Je="(?:"+_e+"|"+qe+")",Ke="[^"+Ue+"]",Qe="(?:\\ud83c[\\udde6-\\uddff]){2}",et="[\\ud800-\\udbff][\\udc00-\\udfff]",tt="\\u200d";var rt=Je+"?",ot="["+Ye+"]?",it="(?:"+tt+"(?:"+[Ke,Qe,et].join("|")+")"+ot+rt+")*",st=ot+rt+it,at="(?:"+[Ke+_e+"?",_e,Qe,et,Ze].join("|")+")";var nt=RegExp(qe+"(?="+qe+")|"+at+st,"g");function dt(e){var t=nt.lastIndex=0;while(nt.test(e)){++t}return t}var lt=dt;var ht=ze,ct=Ve,gt=lt;function ut(e){return ct(e)?gt(e):ht(e)}var ft=ut;var vt=l,pt=h,mt=c,wt=Ee,bt=ft;var xt="[object Map]",Ct="[object Set]";function yt(e){if(e==null){return 0}if(mt(e)){return wt(e)?bt(e):e.length}var t=pt(e);if(t==xt||t==Ct){return e.size}return vt(e).length}var St=yt;class kt extends R{async runSorting(e,t){var r;await this.sort(e,t);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(e,t){super(e,t);this.revogrid=e;this.sortingPromise=null;this.postponeSort=oe((async(e,t)=>this.runSorting(e,t)),50);const r=async({detail:{type:e}})=>{if(!!this.sorting&&this.sortingFunc){const t=this.emit("beforesorting",{type:e});if(t.defaultPrevented){return}this.startSorting(this.sorting,this.sortingFunc)}};const o=async({detail:{order:e}})=>{const t=await this.revogrid.getColumns();const r={};for(let o in e){const i=this.getComparer(_(t,o),e[o]);r[o]=i}this.runSorting(e,r)};const i=async e=>{var t,r;if(e.defaultPrevented){return}if(!e.detail.column.sortable){return}this.headerclick(e.detail.column,e.detail.index,(r=(t=e.detail)===null||t===void 0?void 0:t.originalEvent)===null||r===void 0?void 0:r.shiftKey)};this.addEventListener("beforeanysource",r);this.addEventListener("aftercolumnsset",o);this.addEventListener("beforeheaderclick",i)}startSorting(e,t){if(!this.sortingPromise){this.revogrid.jobsBeforeRender.push(new Promise((e=>{this.sortingPromise=e})))}this.postponeSort(e,t)}getComparer(e,t){var r;const o=((r=e===null||e===void 0?void 0:e.cellCompare)===null||r===void 0?void 0:r.bind({order:t}))||this.defaultCellCompare;if(t=="asc"){return o}if(t=="desc"){return this.descCellCompare(o)}return undefined}async headerclick(e,t,r){var o,i;let s=this.getNextOrder(e.order);const a=this.emit("beforesorting",{column:e,order:s,additive:r});if(a.defaultPrevented){return}s=a.detail.order;const n=await this.revogrid.updateColumnSorting(a.detail.column,t,s,r);const d=this.emit("beforesortingapply",{column:n,order:s,additive:r});if(d.defaultPrevented){return}s=d.detail.order;const l=this.getComparer(e,s);if(r&&this.sorting){const t={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),t);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(e.prop in t&&St(t)>1&&s===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=s;r[e.prop]=l}}else{if(s){this.sorting={[e.prop]:s};this.sortingFunc={[e.prop]:l}}else{(o=this.sorting)===null||o===void 0?true:delete o[e.prop];(i=this.sortingFunc)===null||i===void 0?true:delete i[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(e,t,r=["rgRow","rowPinStart","rowPinEnd"]){if(!St(e)){this.sorting=undefined;this.sortingFunc=undefined;for(let e of r){const t=await this.revogrid.getSourceStore(e);const r=t.get("source");const o=g(0,r.length);u(t,{proxyItems:o,source:[...r]})}}else{this.sorting=e;this.sortingFunc=t;for(let e of r){const r=await this.revogrid.getSourceStore(e);const o=r.get("source");const i=r.get("proxyItems");const s=this.sortIndexByItems([...i],o,t);u(r,{proxyItems:s,source:[...o]})}}this.emit("aftersortingapply")}defaultCellCompare(e,t,r){var o,i;const s=(o=t[e])===null||o===void 0?void 0:o.toString().toLowerCase();const a=(i=r[e])===null||i===void 0?void 0:i.toString().toLowerCase();return s==a?0:s>a?1:-1}descCellCompare(e){return(t,r,o)=>-1*e(t,r,o)}sortIndexByItems(e,t,r={}){if(Object.entries(r).length===0){return[...Array(e.length).keys()]}return e.sort(((e,o)=>{for(const[i,s]of Object.entries(r)){const r=t[e];const a=t[o];const n=s===null||s===void 0?void 0:s(i,r,a);if(n){return n}}return 0}))}getNextOrder(e){switch(e){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}class Rt{get order(){const e={};const t=this.sorting;if(t){Object.keys(t).forEach((r=>{e[r]=t[r].order}))}return e}get stores(){return this.dataSources}constructor(){this.sorting=null;this.collection=null;this.dataSources=j.reduce(((e,t)=>{e[t]=new f(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return v(this.dataSources[t].store,e)}getRawColumns(){return p(this.dataSources,((e,t,r)=>{e[r]=t.store.get("source");return e}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){if(e!=="all"){return this.dataSources[e].store.get("source")}return j.reduce(((e,t)=>{e.push(...this.dataSources[t].store.get("source"));return e}),[])}getColumnIndexByProp(e,t){return m(this.dataSources[t].store,e)}getColumnByProp(e){var t;return(t=this.collection)===null||t===void 0?void 0:t.columnByProp[e]}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){j.forEach((t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce(((e,t)=>{if(!e[t.level]){e[t.level]=[]}e[t.level].push(t);return e}),{})})}));this.sorting=e.sort;this.collection=e;return e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=q(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};for(const e in t){if(!t.hasOwnProperty(e)){continue}const o=e;const i=t[o];const s=this.dataSources[o].store.get("source");r[o]={};for(let e=0;e<s.length;e++){const t=s[e];const a=i===null||i===void 0?void 0:i[t.prop];if(a){r[o][e]=a}}}for(const e in r){if(!r.hasOwnProperty(e)){continue}const t=e;w(this.dataSources[t].store,r[t]||{})}}updateColumn(e,t){const r=q(e);w(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,o){if(!o){this.clearSorting()}e.order=r;if(!this.sorting){this.sorting={}}this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=p(this.sorting,((e,t)=>{const r=q(t);e[r]=true;return e}),{});b(e,((e,t)=>{const r=this.dataSources[t].store.get("source");b(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}}class jt{constructor(e){this.dimensionProvider=e;this.stores=p(E,((e,t)=>{e[t]=new f(t);return e}),{})}setData(e,t="rgRow",r=false,o,i=false){this.stores[t].updateData([...e],o,i);const s=t!=="rgRow"||r;this.dimensionProvider.setData(e.length,t,s);return e}getModel(e,t="rgRow"){const r=this.stores[t].store;return v(r,e)}setCellData({type:e,rowIndex:t,prop:r,val:o},i=true){const s=this.getModel(t,e);s[r]=o;w(this.stores[e].store,{[t]:s},i)}setRangeData(e,t){const r={};for(let o in e){const i=r[o]=v(this.stores[t].store,parseInt(o,10));if(!i){continue}for(let t in e[o]){i[t]=e[o][t]}}w(this.stores[t].store,r)}refresh(e="all"){if(P(e)){this.refreshItems(e)}E.forEach((e=>this.refreshItems(e)))}refreshItems(e="rgRow"){const t=this.stores[e].store.get("items");this.stores[e].setData({items:[...t]})}setGrouping({depth:e},t="rgRow"){this.stores[t].setData({groupingDepth:e})}setTrimmed(e,t="rgRow"){const r=this.stores[t];r.addTrimmed(e);this.dimensionProvider.setTrimmed(e,t);if(t==="rgRow"){this.dimensionProvider.setData(x(r.store).length,t)}}}class Lt{constructor(e,t){this.viewports=e;const r=oe((e=>t.realSizeChanged(e)),S);this.stores=p([...E,...j],((e,t)=>{e[t]=new H;e[t].store.onChange("realSize",(()=>r(t)));return e}),{})}clearSize(e,t){this.stores[e].drop();this.viewports.stores[e].setOriginalSizes(this.stores[e].store.get("originItemSize"));this.setItemCount(t,e)}setCustomSizes(e,t,r=false){let o=t;if(r){const r=this.stores[e].store.get("sizes");o=Object.assign(Object.assign({},r),t)}this.stores[e].setDimensionSize(o);this.updateViewport(e,true)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=C(e);const o=this.stores[t];o.setStore({trimmed:r});this.updateViewport(t,true)}setData(e,t,r=false){this.setItemCount(e,t);if(r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.updateViewport(t)}applyNewColumns(e,t){for(let r of j){this.stores[r].drop();const o=e[r];const i=r!=="rgCol"||t;this.stores[r].setStore({count:o.length});const s=J(o);this.stores[r].setDimensionSize(s);const a={realCount:o.length};if(i){a.virtualSize=this.stores[r].getCurrentState().realSize}this.viewports.stores[r].setViewport(a);this.setViewPortCoordinate({coordinate:this.viewports.stores[r].lastCoordinate,type:r})}}getFullSize(){var e,t;let r=0;let o=0;for(let t of j){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of E){o+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:o,x:r}}updateViewport(e,t=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e,force:t})}setViewPortCoordinate({coordinate:e,type:t,force:r=false}){const o=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,o,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=y(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=j;break;case"rgRow":r=E;break}for(let t of r){this.stores[t].setStore(e)}}}class Et{constructor(){this.stores=p([...E,...j],((e,t)=>{e[t]=new ie(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}function Pt(e){const t=e.dimensions[e.colType].store;const r=t.get("realSize");const o={contentWidth:r,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:`${r}px`}:undefined};const i={colData:x(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get("groups"),groupingDepth:e.colStore.get("groupingDepth"),resizeHandler:e.colType==="colPinEnd"?["l"]:undefined,onHeaderresize:e.onHeaderresize};return{prop:o,type:e.colType,position:e.position,headerProp:i,viewportCol:e.viewports[e.colType].store}}class Ht{constructor(e,t){var r,o;this.config=e;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const i=[];let s=0;j.forEach((r=>{const o=e.columnProvider.stores[r].store;if(!o.get("items").length){return}const a={colType:r,position:{x:s,y:1},contentHeight:t,fixWidth:r!=="rgCol",viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,colStore:o,onHeaderresize:e=>this.onColumnResize(r,e,o)};if(r==="rgCol"){a.onResizeviewport=t=>{var r;if(e.disableVirtualY&&t.detail.dimension==="rgRow"){return}else if(e.disableVirtualX&&t.detail.dimension==="rgCol"){return}(r=e.viewportProvider)===null||r===void 0?void 0:r.setViewport(t.detail.dimension,{virtualSize:t.detail.size})}}const n=Pt(a);const d=this.registerCol(n.position.x,r);const l=this.dataViewPort(a).reduce(((t,o)=>{const i=this.registerSegment(o.position);i.setLastCell(o.lastCell);const s=this.registerRow(o.position.y,o.type);const a=Object.assign(Object.assign({colType:r},o),{rowSelectionStore:s,segmentSelectionStore:i.store,ref:t=>e.selectionStoreConnector.registerSection(t),onSetrange:e=>{i.setRangeArea(e.detail)},onSettemprange:e=>i.setTempArea(e.detail),onFocuscell:t=>{i.clearFocus();e.selectionStoreConnector.focus(i,t.detail)}});t.push(a);return t}),[]);i.push(Object.assign(Object.assign({},n),{columnSelectionStore:d,dataPorts:l}));s++}));this.columns=i;(o=this.config.scrollingService)===null||o===void 0?void 0:o.unregister()}onColumnResize(e,{detail:t},r){var o;(o=this.config.dimensionProvider)===null||o===void 0?void 0:o.setCustomSizes(e,t,true);const i=p(t||{},((e,t,o)=>{const i=parseInt(o,10);const s=v(r,i);if(s){e[i]=Object.assign(Object.assign({},s),{size:t})}return e}),{});this.config.resize(i)}registerSegment(e){return this.config.selectionStoreConnector.register(e)}registerRow(e,t){return this.config.selectionStoreConnector.registerRow(e,t).store}registerCol(e,t){return this.config.selectionStoreConnector.registerColumn(e,t).store}dataViewPort(e){const t={rowPinStart:ae,rgRow:ne,rowPinEnd:de};let r=0;return E.reduce(((o,i)=>{const s=e.viewports[i].store.get("realCount")||i==="rgRow";const a=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:s?r:K})});const n=se(a,i,t[i],i!=="rgRow");o.push(n);if(s){r++}return o}),[])}scrollToCell(e){for(let t in e){const r=e[t];if(typeof r==="number"){this.config.scrollingService.proxyScroll({dimension:t==="x"?"rgCol":"rgRow",coordinate:r})}}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e){return null}const t=this.config.selectionStoreConnector.storesXToType[e.position.x];const r=this.config.columnProvider.getColumn(e.cell.x,t);const o=this.config.selectionStoreConnector.storesYToType[e.position.y];const i=this.config.dataProvider.getModel(e.cell.y,o);return{column:r,model:i,cell:e.cell,colType:t,rowType:o}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(typeof r[e]==="undefined"||typeof r[t]==="undefined"){return}return{x:r[e],y:r[t]}}setFocus(e,t,r,o){var i;const s=this.getStoreCoordinateByType(e,t);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.focusByCell(s,r,o)}}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,o){var i;const s=this.getStoreCoordinateByType(r,o);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.setEditByCell(s,{x:t,y:e})}}}class zt{constructor(e){this.setViewport=e;this.elements={}}async proxyScroll(e,t){var r;let o;let i=e;for(let i in this.elements){if(e.dimension==="rgCol"&&i==="headerRow"){continue}else if(this.isPinnedColumn(t)&&e.dimension==="rgCol"){if(i===t||!e.delta){continue}for(let t of this.elements[i]){if(t.changeScroll){o=t.changeScroll(e)}}}else{for(let t of this.elements[i]){await((r=t.setScroll)===null||r===void 0?void 0:r.call(t,e))}}}const s=await o;if(s){i=s}this.setViewport(i)}async scrollSilentService(e,t){var r;for(let o in this.elements){if(o===t){continue}if(j.includes(t)&&(o==="headerRow"||j.includes(o))){for(let t of this.elements[o]){await((r=t.changeScroll)===null||r===void 0?void 0:r.call(t,e,true))}continue}}}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){if(!this.elements[t]){this.elements[t]=[]}if(e){this.elements[t].push(e)}else if(this.elements[t]){delete this.elements[t]}}unregister(){this.elements={}}}class Ot{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:o}){var i;const{top:s}=e.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(t);this.moveTip({x:o.x,y:o.y});(i=this.el)===null||i===void 0?void 0:i.classList.remove("hidden")}end(){var e;(e=this.el)===null||e===void 0?void 0:e.classList.add("hidden")}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){if(!this.draggable){return}this.draggable.style.left=`${e}px`;this.draggable.style.top=`${t}px`}moveElement(e){if(!this.rgRow){return}this.rgRow.style.transform=`translateY(${e}px)`}}const It=({ref:t})=>{const r=new Ot;t(r);return e("div",{class:"draggable-wrapper hidden",ref:e=>r.el=e},e("div",{class:"draggable",ref:e=>r.draggable=e},e("span",{class:"revo-alt-icon"}),e("span",{ref:e=>r.text=e})),e("div",{class:"drag-position",ref:e=>r.rgRow=e}))};const Mt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]={}}if(r.size){if(!e.sizes){e.sizes={}}e.sizes[r.index]=r.size}}return t};const Tt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]=[]}if(r.size){e.push(r.index)}}return t};function Dt(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}class Nt extends R{constructor(e,t){super(e,t);e.setAttribute("dir","ltr");e.setAttribute("role","treegrid");e.setAttribute("aria-keyshortcuts","Enter");e.setAttribute("aria-multiselectable","true");e.setAttribute("tabindex","0");this.addEventListener("beforecolumnsset",(({detail:t})=>{const r=[...t.columns.colPinStart,...t.columns.rgCol,...t.columns.colPinEnd];e.setAttribute("aria-colcount",`${r.length}`);r.forEach(((e,t)=>{const{columnProperties:r,cellProperties:o}=e;e.columnProperties=(...e)=>{const o=(r===null||r===void 0?void 0:r(...e))||{};o.role="columnheader";o["aria-colindex"]=t;return o};e.cellProperties=(...e)=>{const r={["role"]:"gridcell",["aria-colindex"]:t,["aria-rowindex"]:e[0].rowIndex,["tabindex"]:-1};const i=(o===null||o===void 0?void 0:o(...e))||{};return Object.assign(Object.assign({},r),i)}}))}));this.addEventListener("beforesourceset",(({detail:t})=>{e.setAttribute("aria-rowcount",`${t.source.length}`)}));this.addEventListener("beforerowrender",(({detail:e})=>{e.node.t=Object.assign(Object.assign({},e.node.t),{role:"row",["aria-rowindex"]:e.item.itemIndex})}));this.addEventListener("afterfocus",(async e=>{if(e.defaultPrevented){return}const t=this.revogrid.querySelector(`revogr-data[type="${e.detail.rowType}"][col-type="${e.detail.colType}"] [data-rgrow="${e.detail.rowIndex}"][data-rgcol="${e.detail.colIndex}"]`);if(t instanceof HTMLElement){t.focus()}}))}}const Ft='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 #cecece inset, 1px 0 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #cecece inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #cecece inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-edit{background-color:#28272b}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-edit{background-color:#28272b}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}';const $t=Ft;const Bt=class{constructor(e){t(this,e);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=true;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[];this.accessible=true}async refresh(e="all"){if(!this.dataProvider){throw new Error("Not connected")}this.dataProvider.refresh(e)}async setDataAt(e){const t=this.element.querySelector(`revogr-data[type="${e.rowType}"][col-type="${e.colType}"]`);return t===null||t===void 0?void 0:t.updateCell({row:e.row,col:e.col})}async scrollToRow(e=0){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){if(!this.dimensionProvider){throw new Error("Not connected")}const r=this.columnProvider.getColumnIndexByProp(e,t);if(r<0){return}const o=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:t});await this.scrollToCoordinate({x:o})}async updateColumns(e){this.columnProvider.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}const o=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});if(o.defaultPrevented){return o}this.dataProvider.setTrimmed({[t]:o.detail.trimmed},r);this.aftertrimmed.emit();return o}async scrollToCoordinate(e){var t;(t=this.viewport)===null||t===void 0?void 0:t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var o;const i=_(this.columns,t);if(!i){return}await k();const s=i.pin||"rgCol";(o=this.viewport)===null||o===void 0?void 0:o.setEdit(e,this.columnProvider.getColumnIndexByProp(t,s),s,r)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},r="rgCol",o="rgRow"){var i;(i=this.viewport)===null||i===void 0?void 0:i.setFocus(r,o,e,t)}async getSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return x(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r,o){return this.columnProvider.updateColumnSorting(e,t,r,o)}async clearSorting(){this.columnProvider.clearSorting()}async getColumns(){return this.columnProvider.getColumns()}async clearFocus(){var e;const t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused();const r=this.beforefocuslost.emit(t);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused())!==null&&t!==void 0?t:null}async getContentSize(){var e;if(!this.dimensionProvider){throw new Error("Not connected")}return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange())!==null&&t!==void 0?t:null}mousedownHandle(e){const t=he(e,"screenX");const r=he(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}async mouseupHandle(e){var t;const r=he(e,"screenX");const o=he(e,"screenY");if(r===null||o===null){return}if(e.defaultPrevented){return}const i=r+o;if(Math.abs(((t=this.clickTrackForFocusClear)!==null&&t!==void 0?t:0)-i)>10){return}const s=e.composedPath();if(!s.includes(this.element)&&!(this.element.shadowRoot&&s.includes(this.element.shadowRoot))){await this.clearFocus()}}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);if(r.defaultPrevented){e.preventDefault();return}(t=this.orderService)===null||t===void 0?void 0:t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;(e=this.orderService)===null||e===void 0?void 0:e.end()}onRowDrag({detail:e}){var t;(t=this.orderService)===null||t===void 0?void 0:t.move(e)}onRowMouseMove(e){var t;(t=this.orderService)===null||t===void 0?void 0:t.moveTip(e.detail)}async onCellEdit(e){var t;const{defaultPrevented:r,detail:o}=this.beforeedit.emit(e.detail);await k();if(!r){(t=this.dataProvider)===null||t===void 0?void 0:t.setCellData(o);this.afteredit.emit(o)}}onRangeEdit(e){if(!this.dataProvider){throw new Error("Not connected")}const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(e){const t=this.beforerange.emit(e.detail);if(t.defaultPrevented){e.preventDefault()}const r=this.beforeautofill.emit(t.detail);if(r.defaultPrevented){e.preventDefault()}}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);if(t){e.preventDefault()}}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));if(t){e.preventDefault()}}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);if(!this.canFocus||t){e.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[]){if(!this.dimensionProvider){return}const t=Q(e,0,this.columnTypes);this.beforecolumnsset.emit(t);this.dimensionProvider.applyNewColumns(t.columns,this.disableVirtualX);this.beforecolumnapplied.emit(t);const r=this.columnProvider.setColumns(t);this.aftercolumnsset.emit({columns:r,order:this.columnProvider.order})}disableVirtualXChanged(e=false,t=false){if(e===t){return}this.columnChanged(this.columns)}rowSizeChanged(e){if(!this.dimensionProvider){return}this.dimensionProvider.setSettings({originItemSize:e},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(e,t,r="theme",o=false){if(!this.dimensionProvider){return}this.themeService.register(e);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!o){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(e)}dataSourceChanged(e=[],t,r){if(!this.dataProvider){return}let o="rgRow";switch(r){case"pinnedBottomSource":o="rowPinEnd";break;case"pinnedTopSource":o="rowPinStart";break;case"source":o="rgRow";const t=this.beforesourceset.emit({type:o,source:e});e=t.detail.source;break}const i=this.beforeanysource.emit({type:o,source:e});const s=[...i.detail.source];this.dataProvider.setData(s,o,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:o,source:e})}this.afteranysource.emit({type:o,source:e})}disableVirtualYChanged(e=false,t=false){if(e===t){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,o=true){if(!this.dimensionProvider||!this.dataProvider){return}const{detail:{vals:i,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const a=Mt(i);if(s){const e=Tt(s);for(const t in e){if(e.hasOwnProperty(t)){const e=t;const r=this.dataProvider.stores[e];const o=r.store.get("source").length;this.dimensionProvider.clearSize(e,o)}}}if(!i.length){if(o){this.dimensionProvider.setCustomSizes("rgRow",{})}else{return}}Object.entries(a).forEach((([e,t])=>{var r;const o=e;(r=this.dimensionProvider)===null||r===void 0?void 0:r.setCustomSizes(o,t.sizes||{})}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){let t;for(let e of this.internalPlugins){const r=e;if(!!r.setGrouping){t=r;break}}t===null||t===void 0?void 0:t.setGrouping(e||{})}applyStretch(e){if(!this.dimensionProvider||!this.dataProvider){return}if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>z(e)))[0];if(typeof e==="boolean"&&e||e==="true"){if(!t){const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};this.internalPlugins.push(new O(this.element,e))}else if(z(t)){t.applyStretch(this.columnProvider.getRawColumns())}}else if(t){const e=this.internalPlugins.indexOf(t);this.internalPlugins.splice(e,1)}}applyFilter(e){this.filterconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=[...this.extraElements,...e]}additionalDataChanged(e){this.additionaldatachanged.emit(e)}pluginsChanged(e=[],t){const r=this.getPluginData();if(!r){return}e===null||e===void 0?void 0:e.forEach((e=>{const t=this.internalPlugins.find((t=>t instanceof e));if(t){return}this.internalPlugins.push(new e(this.element,r))}))}setPlugins(){this.removePlugins();const e=this.getPluginData();if(!e){return}if(this.accessible){this.internalPlugins.push(new Nt(this.element,e))}if(this.autoSizeColumn){this.internalPlugins.push(new I(this.element,e,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new M(this.element,e,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new T(this.element,e))}this.internalPlugins.push(new kt(this.element,e));this.internalPlugins.push(new ye(this.element,e));if(this.canMoveColumns){this.internalPlugins.push(new D(this.element,e))}this.pluginsChanged(this.plugins)}getPluginData(){if(!this.dimensionProvider||!this.dataProvider){return}const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};return e}removePlugins(){this.internalPlugins.forEach((e=>{var t;return(t=e.destroy)===null||t===void 0?void 0:t.call(e)}));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var e;this.viewportProvider=new Et;this.themeService=new pe({rowSize:this.rowSize});this.dimensionProvider=new Lt(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new Rt;this.selectionStoreConnector=new ee;this.dataProvider=new jt(this.dimensionProvider);this.registerOutsideVNodes(this.registerVNode);this.setPlugins();this.applyStretch(this.stretch);this.themeChanged(this.theme,undefined,undefined,true);this.columnChanged(this.columns);this.dataSourceChanged(this.source,undefined,"source");this.dataSourceChanged(this.pinnedTopSource,undefined,"pinnedTopSource");this.dataSourceChanged(this.pinnedBottomSource,undefined,"pinnedBottomSource");if(Object.keys((e=this.trimmedRows)!==null&&e!==void 0?e:{}).length>0){this.trimmedRowsChanged(this.trimmedRows)}this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new zt((e=>{var t;(t=this.dimensionProvider)===null||t===void 0?void 0:t.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}render(){if(!this.dimensionProvider||!this.dataProvider){return}const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new Ht({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,disableVirtualX:this.disableVirtualX,disableVirtualY:this.disableVirtualY,resize:e=>this.aftercolumnresize.emit(e)},t);const r=[];if(this.rowHeaders&&this.viewport.columns.length){const o=this.viewport.columns[0];r.push(e("revogr-row-headers",{additionalData:this.additionalData,height:t,rowClass:this.rowClass,resize:this.resize,dataPorts:o.dataPorts,headerProp:o.headerProp,jobsBeforeRender:this.jobsBeforeRender,rowHeaderColumn:typeof this.rowHeaders==="object"?this.rowHeaders:undefined,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,"headerRow"),onRef:({detail:e})=>this.scrollingService.registerElement(e,"headerRow")}))}const i=Dt();const s=[];for(let t of this.viewport.columns){const r=Object.assign(Object.assign({},t.headerProp),{type:t.type,additionalData:this.additionalData,viewportCol:t.viewportCol,selectionStore:t.columnSelectionStore,canResize:this.resize,readonly:this.readonly,columnFilter:!!this.filter});const o=[e("revogr-header",Object.assign({},r,{slot:ae}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`;const a=e("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:i,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:e})=>{const t=this.beforeeditstart.emit(e);if(!t.defaultPrevented){this.selectionStoreConnector.setEdit(e.val)}}}),e("revogr-data",Object.assign({},r,{colType:t.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:le}),e("slot",{name:`data-${t.type}-${r.type}`})),e("revogr-temp-range",{selectionStore:r.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol}),e("revogr-focus",{colData:r.colData,dataStore:r.dataStore,focusTemplate:this.focusTemplate,rowType:r.type,colType:t.type,selectionStore:r.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol},e("slot",{name:`focus-${t.type}-${r.type}`})));o.push(a)}));s.push(e("revogr-viewport-scroll",Object.assign({},t.prop,{ref:e=>this.scrollingService.registerElement(e,`${t.prop.key}`),onScrollviewport:e=>this.scrollingService.proxyScroll(e.detail,`${t.prop.key}`),onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,`${t.prop.key}`)}),o))}r.push(s);const a="rgRow";const n="rgCol";const d=this.viewportProvider.stores;const l=this.dimensionProvider.stores;return e(o,null,this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{class:"main-viewport",onClick:e=>{var t;if(e.currentTarget===e.target){(t=this.viewport)===null||t===void 0?void 0:t.clearEdit()}}},e("div",{class:"viewports"},e("slot",{name:"viewport"}),r,e("revogr-scroll-virtual",{class:"vertical",dimension:a,viewportStore:d[a].store,dimensionStore:l[a].store,ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e(It,{ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{class:"horizontal",dimension:n,viewportStore:d[n].store,dimensionStore:l[n].store,ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),this.extraElements)}disconnectedCallback(){this.removePlugins()}get element(){return i(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"],plugins:["pluginsChanged"]}}};Bt.style=$t;export{Bt as revo_grid};
4
+ import{h as e,r as t,c as r,H as o,a as i}from"./index-a61f225b.js";import{g as s,d as a,_ as n,a1 as d,a2 as l,a3 as h,a4 as c,a5 as g,v as u,D as f,b as v,W as p,e as m,s as w,X as b,a as x,f as C,j as y,R as S,q as k}from"./index-b6586f9b.js";import{B as R,c as L,F as j,r as E,i as P,D as H,a as z,S as O,A as I,d as M,E as T,C as D}from"./column.drag.plugin-cb25a5e1.js";import{m as N,G as F,q as $,r as B,s as V,P as U,t as A,u as G,v as W,w as X,x as Y,y as _,l as q,e as Z,f as J,E as K,j as Q,z as ee}from"./column.service-407956dd.js";import{a as te,b as re,d as oe}from"./debounce-7b511afc.js";import{V as ie}from"./row-header-utils-e043f744.js";import{v as se,H as ae,C as ne,F as de,D as le}from"./viewport.helpers-7e7f9dad.js";import{g as he}from"./events-cf0893a3.js";import"./filter.button-37373672.js";import"./header-cell-renderer-da468bd2.js";class ce{constructor(){this.defaultRowSize=32}}class ge{constructor(){this.defaultRowSize=27}}class ue{constructor(){this.defaultRowSize=42}}const fe="default";const ve=[fe,"material","compact","darkMaterial","darkCompact"];class pe{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(e){this.customRowSize=e}constructor(e){this.customRowSize=0;this.customRowSize=e.rowSize;this.register("default")}register(e){const t=me(e);switch(t){case"material":case"darkMaterial":this.currentTheme=new ue;break;case"compact":case"darkCompact":this.currentTheme=new ce;break;default:this.currentTheme=new ge;break}}}function me(e){if(e&&ve.indexOf(e)>-1){return e}return fe}function we(e,t){const r=t[e];const o=r[U];const i={};let s=e+1;const a=t.length;while(s<a){const e=t[s];if(N(e)){const t=e[U];if(!t.length||!t.startsWith(o+",")){break}e[F]=false}i[s++]=true}r[F]=false;return{trimmed:i}}function be(e,t,r){const o=r[e];const i=t[o];const s=$(i[A]);const a={};if(!s){return{trimmed:a}}const n=[];i[F]=true;let d=o+1;const l=t.length;let h=0;while(d<l){const e=t[d];const r=N(e);if(r){if(!B(s,i,e)){break}else if(!h){h=e[V]}}if(!h||r&&h===e[V]){a[d]=false;n.push(d)}d++}const c={trimmed:a};if(n.length){const t=[...r];t.splice(e+1,0,...n);c.items=t}return c}const xe="grouping";function Ce(e,t,r){const o={};for(let i in e){if(i===xe){continue}const s=e[i];const a={};for(let e in s){let n=t[e];if(r){n=r[n]}if(s[e]){a[n]=true;if(n!==parseInt(e,10)){o[i]=a}}}}return o}class ye extends R{get hasProps(){var e,t,r;return((e=this.options)===null||e===void 0?void 0:e.props)&&((r=(t=this.options)===null||t===void 0?void 0:t.props)===null||r===void 0?void 0:r.length)}get store(){return this.providers.data.stores[G].store}get rowItems(){return this.store.get("items")}get trimmed(){return this.store.get("trimmed")}constructor(e,t){super(e,t);this.revogrid=e;this.providers=t}onFocus(e){if(N(e.detail.model)){e.preventDefault()}}onExpand({virtualIndex:e}){const{source:t}=this.getSource();let r=this.trimmed[xe];let o=s(this.store,e);const i=t[o];const n=i[F];if(!n){const{trimmed:o,items:i}=be(e,t,this.rowItems);r=Object.assign(Object.assign({},r),o);if(i){a(this.store,i)}}else{const{trimmed:e}=we(o,t);r=Object.assign(Object.assign({},r),e);this.revogrid.clearFocus()}this.store.set("source",t);this.revogrid.addTrimmed(r,xe)}getSource(e=false){const t=this.store.get("source");const r=this.store.get("proxyItems");let o=0;return r.reduce(((r,i)=>{const s=t[i];if(!e){r.source.push(s);return r}if(N(s)){if(s[F]){r.prevExpanded[s[U]]=true}}else{r.source.push(s);r.oldNewIndexes[i]=o;o++}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(e){if(e===null||e===void 0?void 0:e.length){e[0][W]=true;return true}return false}setColumns({columns:e}){for(let t of L){if(this.setColumnGrouping(e[t])){break}}}onDrag(e){const{from:t,to:r}=e.detail;const o=r-t>=0;const{source:i}=this.getSource();const s=this.rowItems;let a=o?t:r;const n=o?r:t;for(;a<n;a++){const t=i[s[a]];const r=N(t);if(r){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===j){const t=this.store.get("source");for(let r in e){if(e[r]&&N(t[r])){e[r]=false}}}}subscribe(){this.addEventListener("beforesourceset",(({detail:e})=>this.onDataSet(e)));this.addEventListener("beforecolumnsset",(({detail:e})=>this.setColumns(e)));this.addEventListener("beforetrimmed",(({detail:{trimmed:e,trimmedType:t}})=>this.beforeTrimmedApply(e,t)));this.addEventListener("aftersortingapply",(()=>this.doSourceUpdate(Object.assign({},this.options))));this.addEventListener("beforecellfocus",(e=>this.onFocus(e)));this.addEventListener("roworderchanged",(e=>this.onDrag(e)));this.addEventListener(X,(({detail:e})=>this.onExpand(e)))}doSourceUpdate(e){var t;if(!this.hasProps){return}const{source:r,prevExpanded:o,oldNewIndexes:i}=this.getSource(true);const{sourceWithGroups:s,depth:a,trimmed:n,oldNewIndexMap:d,childrenByGroup:l}=Y(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({prevExpanded:o},e));this.providers.data.setData(s,G,this.revogrid.disableVirtualY,{depth:a,customRenderer:e===null||e===void 0?void 0:e.groupLabelTemplate},true);this.updateTrimmed(n,l,i!==null&&i!==void 0?i:{},d)}onDataSet(e){var t;if(!this.hasProps||!(e===null||e===void 0?void 0:e.source)||!e.source.length){return}const r=e.source.filter((e=>!N(e)));const o=this.revogrid.grouping||{};const{sourceWithGroups:i,depth:s,trimmed:a,oldNewIndexMap:n,childrenByGroup:d}=Y(r,((t=this.options)===null||t===void 0?void 0:t.props)||[],Object.assign({},o||{}));e.source=i;this.providers.data.setGrouping({depth:s});this.updateTrimmed(a,d,n)}setGrouping(e){this.clearSubscriptions();this.options=e;if(!e.props||!Object.keys(e.props).length){this.clearGrouping();return}const{source:t}=this.getSource();if(t.length){this.doSourceUpdate(Object.assign({},e))}for(let e of L){if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}}this.subscribe()}clearGrouping(){L.forEach((e=>{const t=this.providers.column.getColumns(e);let r=false;t.forEach((e=>{if(_(e)){delete e[W];r=true}}));if(r){this.providers.column.refreshByType(e)}}));const{source:e,oldNewIndexes:t}=this.getSource(true);this.providers.data.setData(e,G,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,t)}updateTrimmed(e={},t={},r={},o){const i=Ce(this.trimmed,r,o);for(let e in i){this.revogrid.addTrimmed(i[e],e)}this.revogrid.addTrimmed(Object.assign({},e),xe)}}var Se="[object String]";function ke(e){return typeof e=="string"||!n(e)&&te(e)&&re(e)==Se}var Re=d("length");const Le=Re;var je="\\ud800-\\udfff",Ee="\\u0300-\\u036f",Pe="\\ufe20-\\ufe2f",He="\\u20d0-\\u20ff",ze=Ee+Pe+He,Oe="\\ufe0e\\ufe0f";var Ie="\\u200d";var Me=RegExp("["+Ie+je+ze+Oe+"]");function Te(e){return Me.test(e)}var De="\\ud800-\\udfff",Ne="\\u0300-\\u036f",Fe="\\ufe20-\\ufe2f",$e="\\u20d0-\\u20ff",Be=Ne+Fe+$e,Ve="\\ufe0e\\ufe0f";var Ue="["+De+"]",Ae="["+Be+"]",Ge="\\ud83c[\\udffb-\\udfff]",We="(?:"+Ae+"|"+Ge+")",Xe="[^"+De+"]",Ye="(?:\\ud83c[\\udde6-\\uddff]){2}",_e="[\\ud800-\\udbff][\\udc00-\\udfff]",qe="\\u200d";var Ze=We+"?",Je="["+Ve+"]?",Ke="(?:"+qe+"(?:"+[Xe,Ye,_e].join("|")+")"+Je+Ze+")*",Qe=Je+Ze+Ke,et="(?:"+[Xe+Ae+"?",Ae,Ye,_e,Ue].join("|")+")";var tt=RegExp(Ge+"(?="+Ge+")|"+et+Qe,"g");function rt(e){var t=tt.lastIndex=0;while(tt.test(e)){++t}return t}function ot(e){return Te(e)?rt(e):Le(e)}var it="[object Map]",st="[object Set]";function at(e){if(e==null){return 0}if(l(e)){return ke(e)?ot(e):e.length}var t=h(e);if(t==it||t==st){return e.size}return c(e).length}class nt extends R{async runSorting(e,t){var r;await this.sort(e,t);(r=this.sortingPromise)===null||r===void 0?void 0:r.call(this);this.sortingPromise=null}constructor(e,t){super(e,t);this.revogrid=e;this.sortingPromise=null;this.postponeSort=oe((async(e,t)=>this.runSorting(e,t)),50);const r=async({detail:{type:e}})=>{if(!!this.sorting&&this.sortingFunc){const t=this.emit("beforesorting",{type:e});if(t.defaultPrevented){return}this.startSorting(this.sorting,this.sortingFunc)}};const o=async({detail:{order:e}})=>{const t=await this.revogrid.getColumns();const r={};for(let o in e){const i=this.getComparer(q(t,o),e[o]);r[o]=i}this.runSorting(e,r)};const i=async e=>{var t,r;if(e.defaultPrevented){return}if(!e.detail.column.sortable){return}this.headerclick(e.detail.column,e.detail.index,(r=(t=e.detail)===null||t===void 0?void 0:t.originalEvent)===null||r===void 0?void 0:r.shiftKey)};this.addEventListener("beforeanysource",r);this.addEventListener("aftercolumnsset",o);this.addEventListener("beforeheaderclick",i)}startSorting(e,t){if(!this.sortingPromise){this.revogrid.jobsBeforeRender.push(new Promise((e=>{this.sortingPromise=e})))}this.postponeSort(e,t)}getComparer(e,t){var r;const o=((r=e===null||e===void 0?void 0:e.cellCompare)===null||r===void 0?void 0:r.bind({order:t}))||this.defaultCellCompare;if(t=="asc"){return o}if(t=="desc"){return this.descCellCompare(o)}return undefined}async headerclick(e,t,r){var o,i;let s=this.getNextOrder(e.order);const a=this.emit("beforesorting",{column:e,order:s,additive:r});if(a.defaultPrevented){return}s=a.detail.order;const n=await this.revogrid.updateColumnSorting(a.detail.column,t,s,r);const d=this.emit("beforesortingapply",{column:n,order:s,additive:r});if(d.defaultPrevented){return}s=d.detail.order;const l=this.getComparer(e,s);if(r&&this.sorting){const t={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),t);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(e.prop in t&&at(t)>1&&s===undefined){delete t[e.prop];delete r[e.prop]}else{t[e.prop]=s;r[e.prop]=l}}else{if(s){this.sorting={[e.prop]:s};this.sortingFunc={[e.prop]:l}}else{(o=this.sorting)===null||o===void 0?true:delete o[e.prop];(i=this.sortingFunc)===null||i===void 0?true:delete i[e.prop]}}this.startSorting(this.sorting,this.sortingFunc)}async sort(e,t,r=["rgRow","rowPinStart","rowPinEnd"]){if(!at(e)){this.sorting=undefined;this.sortingFunc=undefined;for(let e of r){const t=await this.revogrid.getSourceStore(e);const r=t.get("source");const o=g(0,r.length);u(t,{proxyItems:o,source:[...r]})}}else{this.sorting=e;this.sortingFunc=t;for(let e of r){const r=await this.revogrid.getSourceStore(e);const o=r.get("source");const i=r.get("proxyItems");const s=this.sortIndexByItems([...i],o,t);u(r,{proxyItems:s,source:[...o]})}}this.emit("aftersortingapply")}defaultCellCompare(e,t,r){var o,i;const s=(o=t[e])===null||o===void 0?void 0:o.toString().toLowerCase();const a=(i=r[e])===null||i===void 0?void 0:i.toString().toLowerCase();return s==a?0:s>a?1:-1}descCellCompare(e){return(t,r,o)=>-1*e(t,r,o)}sortIndexByItems(e,t,r={}){if(Object.entries(r).length===0){return[...Array(e.length).keys()]}return e.sort(((e,o)=>{for(const[i,s]of Object.entries(r)){const r=t[e];const a=t[o];const n=s===null||s===void 0?void 0:s(i,r,a);if(n){return n}}return 0}))}getNextOrder(e){switch(e){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}class dt{get order(){const e={};const t=this.sorting;if(t){Object.keys(t).forEach((r=>{e[r]=t[r].order}))}return e}get stores(){return this.dataSources}constructor(){this.sorting=null;this.collection=null;this.dataSources=L.reduce(((e,t)=>{e[t]=new f(t);return e}),{})}column(e,t){return this.getColumn(e,t||"rgCol")}getColumn(e,t){return v(this.dataSources[t].store,e)}getRawColumns(){return p(this.dataSources,((e,t,r)=>{e[r]=t.store.get("source");return e}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e="all"){if(e!=="all"){return this.dataSources[e].store.get("source")}return L.reduce(((e,t)=>{e.push(...this.dataSources[t].store.get("source"));return e}),[])}getColumnIndexByProp(e,t){return m(this.dataSources[t].store,e)}getColumnByProp(e){var t;return(t=this.collection)===null||t===void 0?void 0:t.columnByProp[e]}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){L.forEach((t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce(((e,t)=>{if(!e[t.level]){e[t.level]=[]}e[t.level].push(t);return e}),{})})}));this.sorting=e.sort;this.collection=e;return e}updateColumns(e){const t=e.reduce(((e,t)=>{const r=Z(t);if(!e[r]){e[r]={}}e[r][t.prop]=t;return e}),{});const r={};for(const e in t){if(!t.hasOwnProperty(e)){continue}const o=e;const i=t[o];const s=this.dataSources[o].store.get("source");r[o]={};for(let e=0;e<s.length;e++){const t=s[e];const a=i===null||i===void 0?void 0:i[t.prop];if(a){r[o][e]=a}}}for(const e in r){if(!r.hasOwnProperty(e)){continue}const t=e;w(this.dataSources[t].store,r[t]||{})}}updateColumn(e,t){const r=Z(e);w(this.dataSources[r].store,{[t]:e})}updateColumnSorting(e,t,r,o){if(!o){this.clearSorting()}e.order=r;if(!this.sorting){this.sorting={}}this.sorting[e.prop]=e;this.updateColumn(e,t);return e}clearSorting(){const e=p(this.sorting,((e,t)=>{const r=Z(t);e[r]=true;return e}),{});b(e,((e,t)=>{const r=this.dataSources[t].store.get("source");b(r,(e=>e.order=undefined));this.dataSources[t].setData({source:[...r]})}));this.sorting={}}}class lt{constructor(e){this.dimensionProvider=e;this.stores=p(E,((e,t)=>{e[t]=new f(t);return e}),{})}setData(e,t="rgRow",r=false,o,i=false){this.stores[t].updateData([...e],o,i);const s=t!=="rgRow"||r;this.dimensionProvider.setData(e.length,t,s);return e}getModel(e,t="rgRow"){const r=this.stores[t].store;return v(r,e)}setCellData({type:e,rowIndex:t,prop:r,val:o},i=true){const s=this.getModel(t,e);s[r]=o;w(this.stores[e].store,{[t]:s},i)}setRangeData(e,t){const r={};for(let o in e){const i=r[o]=v(this.stores[t].store,parseInt(o,10));if(!i){continue}for(let t in e[o]){i[t]=e[o][t]}}w(this.stores[t].store,r)}refresh(e="all"){if(P(e)){this.refreshItems(e)}E.forEach((e=>this.refreshItems(e)))}refreshItems(e="rgRow"){const t=this.stores[e].store.get("items");this.stores[e].setData({items:[...t]})}setGrouping({depth:e},t="rgRow"){this.stores[t].setData({groupingDepth:e})}setTrimmed(e,t="rgRow"){const r=this.stores[t];r.addTrimmed(e);this.dimensionProvider.setTrimmed(e,t);if(t==="rgRow"){this.dimensionProvider.setData(x(r.store).length,t)}}}class ht{constructor(e,t){this.viewports=e;const r=oe((e=>t.realSizeChanged(e)),S);this.stores=p([...E,...L],((e,t)=>{e[t]=new H(t);e[t].store.onChange("realSize",(()=>r(t)));return e}),{})}clearSize(e,t){this.stores[e].drop();this.viewports.stores[e].setOriginalSizes(this.stores[e].store.get("originItemSize"));this.setItemCount(t,e)}setCustomSizes(e,t,r=false){let o=t;if(r){const r=this.stores[e].store.get("sizes");o=Object.assign(Object.assign({},r),t)}this.stores[e].setDimensionSize(o);this.updateViewport(e,true)}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e});this.stores[t].setStore({count:e})}setTrimmed(e,t){const r=C(e);const o=this.stores[t];o.setStore({trimmed:r});this.updateViewport(t,true)}setData(e,t,r=false){this.setItemCount(e,t);if(r){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.updateViewport(t)}applyNewColumns(e,t){for(let r of L){this.stores[r].drop();const o=e[r];const i=r!=="rgCol"||t;this.stores[r].setStore({count:o.length});const s=J(o);this.stores[r].setDimensionSize(s);const a={realCount:o.length};if(i){a.virtualSize=this.stores[r].getCurrentState().realSize}this.viewports.stores[r].setViewport(a);this.setViewPortCoordinate({coordinate:this.viewports.stores[r].lastCoordinate,type:r})}}getFullSize(){var e,t;let r=0;let o=0;for(let t of L){r+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}for(let e of E){o+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}return{y:o,x:r}}updateViewport(e,t=false){this.setViewPortCoordinate({coordinate:this.viewports.stores[e].lastCoordinate,type:e,force:t})}setViewPortCoordinate({coordinate:e,type:t,force:r=false}){const o=this.stores[t].getCurrentState();this.viewports.stores[t].setViewPortCoordinate(e,o,r)}getViewPortPos(e){const t=this.stores[e.dimension].getCurrentState();const r=y(t,e.coordinate);return r.start}setSettings(e,t){let r=[];switch(t){case"rgCol":r=L;break;case"rgRow":r=E;break}for(let t of r){this.stores[t].setStore(e)}}}class ct{constructor(){this.stores=p([...E,...L],((e,t)=>{e[t]=new ie(t);return e}),{})}setViewport(e,t){this.stores[e].setViewport(t)}}function gt(e){const t=e.dimensions[e.colType].store;const r=t.get("realSize");const o={contentWidth:r,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:`${r}px`}:undefined};const i={colData:x(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get("groups"),groupingDepth:e.colStore.get("groupingDepth"),resizeHandler:e.colType==="colPinEnd"?["l"]:undefined,onHeaderresize:e.onHeaderresize};return{prop:o,type:e.colType,position:e.position,headerProp:i,viewportCol:e.viewports[e.colType].store}}class ut{constructor(e,t){var r,o;this.config=e;(r=this.config.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();const i=[];let s=0;L.forEach((r=>{const o=e.columnProvider.stores[r].store;if(!o.get("items").length){return}const a={colType:r,position:{x:s,y:1},contentHeight:t,fixWidth:r!=="rgCol",viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,colStore:o,onHeaderresize:e=>this.onColumnResize(r,e,o)};if(r==="rgCol"){a.onResizeviewport=t=>{var r;if(e.disableVirtualY&&t.detail.dimension==="rgRow"){return}else if(e.disableVirtualX&&t.detail.dimension==="rgCol"){return}(r=e.viewportProvider)===null||r===void 0?void 0:r.setViewport(t.detail.dimension,{virtualSize:t.detail.size})}}const n=gt(a);const d=this.registerCol(n.position.x,r);const l=this.dataViewPort(a).reduce(((t,o)=>{const i=this.registerSegment(o.position);i.setLastCell(o.lastCell);const s=this.registerRow(o.position.y,o.type);const a=Object.assign(Object.assign({colType:r},o),{rowSelectionStore:s,segmentSelectionStore:i.store,ref:t=>e.selectionStoreConnector.registerSection(t),onSetrange:e=>{i.setRangeArea(e.detail)},onSettemprange:e=>i.setTempArea(e.detail),onFocuscell:t=>{i.clearFocus();e.selectionStoreConnector.focus(i,t.detail)}});t.push(a);return t}),[]);i.push(Object.assign(Object.assign({},n),{columnSelectionStore:d,dataPorts:l}));s++}));this.columns=i;(o=this.config.scrollingService)===null||o===void 0?void 0:o.unregister()}onColumnResize(e,{detail:t},r){var o;(o=this.config.dimensionProvider)===null||o===void 0?void 0:o.setCustomSizes(e,t,true);const i=p(t||{},((e,t,o)=>{const i=parseInt(o,10);const s=v(r,i);if(s){e[i]=Object.assign(Object.assign({},s),{size:t})}return e}),{});this.config.resize(i)}registerSegment(e){return this.config.selectionStoreConnector.register(e)}registerRow(e,t){return this.config.selectionStoreConnector.registerRow(e,t).store}registerCol(e,t){return this.config.selectionStoreConnector.registerColumn(e,t).store}dataViewPort(e){const t={rowPinStart:ae,rgRow:ne,rowPinEnd:de};let r=0;return E.reduce(((o,i)=>{const s=e.viewports[i].store.get("realCount")||i==="rgRow";const a=Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:s?r:K})});const n=se(a,i,t[i],i!=="rgRow");o.push(n);if(s){r++}return o}),[])}scrollToCell(e){for(let t in e){const r=e[t];if(typeof r==="number"){this.config.scrollingService.proxyScroll({dimension:t==="x"?"rgCol":"rgRow",coordinate:r})}}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(false)}getFocused(){const e=this.config.selectionStoreConnector.focusedStore;if(!e){return null}const t=this.config.selectionStoreConnector.storesXToType[e.position.x];const r=this.config.columnProvider.getColumn(e.cell.x,t);const o=this.config.selectionStoreConnector.storesYToType[e.position.y];const i=this.config.dataProvider.getModel(e.cell.y,o);return{column:r,model:i,cell:e.cell,colType:t,rowType:o}}getStoreCoordinateByType(e,t){const r=this.config.selectionStoreConnector.storesByType;if(typeof r[e]==="undefined"||typeof r[t]==="undefined"){return}return{x:r[e],y:r[t]}}setFocus(e,t,r,o){var i;const s=this.getStoreCoordinateByType(e,t);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.focusByCell(s,r,o)}}getSelectedRange(){return this.config.selectionStoreConnector.selectedRange}setEdit(e,t,r,o){var i;const s=this.getStoreCoordinateByType(r,o);if(s){(i=this.config.selectionStoreConnector)===null||i===void 0?void 0:i.setEditByCell(s,{x:t,y:e})}}}class ft{constructor(e){this.setViewport=e;this.elements={}}async proxyScroll(e,t){var r;let o;let i=e;for(let i in this.elements){if(e.dimension==="rgCol"&&i==="headerRow"){continue}else if(this.isPinnedColumn(t)&&e.dimension==="rgCol"){if(i===t||!e.delta){continue}for(let t of this.elements[i]){if(t.changeScroll){o=t.changeScroll(e)}}}else{for(let t of this.elements[i]){await((r=t.setScroll)===null||r===void 0?void 0:r.call(t,e))}}}const s=await o;if(s){i=s}this.setViewport(i)}async scrollSilentService(e,t){var r;for(let o in this.elements){if(o===t){continue}if(L.includes(t)&&(o==="headerRow"||L.includes(o))){for(let t of this.elements[o]){await((r=t.changeScroll)===null||r===void 0?void 0:r.call(t,e,true))}continue}}}isPinnedColumn(e){return!!e&&["colPinStart","colPinEnd"].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){if(!this.elements[t]){this.elements[t]=[]}if(e){this.elements[t].push(e)}else if(this.elements[t]){delete this.elements[t]}}unregister(){this.elements={}}}class vt{constructor(){this.parentY=0}start(e,{pos:t,text:r,event:o}){var i;const{top:s}=e.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(t);this.moveTip({x:o.x,y:o.y});(i=this.el)===null||i===void 0?void 0:i.classList.remove("hidden")}end(){var e;(e=this.el)===null||e===void 0?void 0:e.classList.add("hidden")}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){if(!this.draggable){return}this.draggable.style.left=`${e}px`;this.draggable.style.top=`${t}px`}moveElement(e){if(!this.rgRow){return}this.rgRow.style.transform=`translateY(${e}px)`}}const pt=({ref:t})=>{const r=new vt;t(r);return e("div",{class:"draggable-wrapper hidden",ref:e=>r.el=e},e("div",{class:"draggable",ref:e=>r.draggable=e},e("span",{class:"revo-alt-icon"}),e("span",{ref:e=>r.text=e})),e("div",{class:"drag-position",ref:e=>r.rgRow=e}))};const mt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]={}}if(r.size){if(!e.sizes){e.sizes={}}e.sizes[r.index]=r.size}}return t};const wt=(e=[])=>{const t={};for(const r of e){let e=t[r.type];if(!e){e=t[r.type]=[]}if(r.size){e.push(r.index)}}return t};function bt(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}class xt extends R{constructor(e,t){super(e,t);e.setAttribute("dir","ltr");e.setAttribute("role","treegrid");e.setAttribute("aria-keyshortcuts","Enter");e.setAttribute("aria-multiselectable","true");e.setAttribute("tabindex","0");this.addEventListener("beforecolumnsset",(({detail:t})=>{const r=[...t.columns.colPinStart,...t.columns.rgCol,...t.columns.colPinEnd];e.setAttribute("aria-colcount",`${r.length}`);r.forEach(((e,t)=>{const{columnProperties:r,cellProperties:o}=e;e.columnProperties=(...e)=>{const o=(r===null||r===void 0?void 0:r(...e))||{};o.role="columnheader";o["aria-colindex"]=t;return o};e.cellProperties=(...e)=>{const r={["role"]:"gridcell",["aria-colindex"]:t,["aria-rowindex"]:e[0].rowIndex,["tabindex"]:-1};const i=(o===null||o===void 0?void 0:o(...e))||{};return Object.assign(Object.assign({},r),i)}}))}));this.addEventListener("beforesourceset",(({detail:t})=>{e.setAttribute("aria-rowcount",`${t.source.length}`)}));this.addEventListener("beforerowrender",(({detail:e})=>{e.node.t=Object.assign(Object.assign({},e.node.t),{role:"row",["aria-rowindex"]:e.item.itemIndex})}));this.addEventListener("afterfocus",(async e=>{if(e.defaultPrevented){return}const t=this.revogrid.querySelector(`revogr-data[type="${e.detail.rowType}"][col-type="${e.detail.colType}"] [data-rgrow="${e.detail.rowIndex}"][data-rgcol="${e.detail.colIndex}"]`);if(t instanceof HTMLElement){t.focus()}}))}}const Ct='.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::"}.revo-alt-icon{-webkit-mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3C%3Fxml version=\'1.0\' encoding=\'UTF-8\'%3F%3E%3Csvg viewBox=\'0 0 384 383\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'%3E%3Cg%3E%3Cpath d=\'M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z\'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 #cecece inset, 1px 0 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #cecece inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #cecece inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-edit{background-color:#28272b}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-edit{background-color:#28272b}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}';const yt=Ct;const St=class{constructor(e){t(this,e);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforerange=r(this,"beforerange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeanysource=r(this,"beforeanysource",7);this.aftersourceset=r(this,"aftersourceset",7);this.afteranysource=r(this,"afteranysource",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.beforegridrender=r(this,"beforegridrender",7);this.aftergridinit=r(this,"aftergridinit",7);this.additionaldatachanged=r(this,"additionaldatachanged",7);this.afterthemechanged=r(this,"afterthemechanged",7);this.extraElements=[];this.viewport=null;this.isInited=false;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=[];this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=true;this.additionalData={};this.disableVirtualX=false;this.disableVirtualY=false;this.hideAttribution=false;this.jobsBeforeRender=[];this.registerVNode=[];this.accessible=true}async refresh(e="all"){if(!this.dataProvider){throw new Error("Not connected")}this.dataProvider.refresh(e)}async setDataAt(e){const t=this.element.querySelector(`revogr-data[type="${e.rowType}"][col-type="${e.colType}"]`);return t===null||t===void 0?void 0:t.updateCell({row:e.row,col:e.col})}async scrollToRow(e=0){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgRow"});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){if(!this.dimensionProvider){throw new Error("Not connected")}const t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t="rgCol"){if(!this.dimensionProvider){throw new Error("Not connected")}const r=this.columnProvider.getColumnIndexByProp(e,t);if(r<0){return}const o=this.dimensionProvider.getViewPortPos({coordinate:r,dimension:t});await this.scrollToCoordinate({x:o})}async updateColumns(e){this.columnProvider.updateColumns(e)}async addTrimmed(e,t="external",r="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}const o=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:r});if(o.defaultPrevented){return o}this.dataProvider.setTrimmed({[t]:o.detail.trimmed},r);this.aftertrimmed.emit();return o}async scrollToCoordinate(e){var t;(t=this.viewport)===null||t===void 0?void 0:t.scrollToCell(e)}async setCellEdit(e,t,r="rgRow"){var o;const i=q(this.columns,t);if(!i){return}await k();const s=i.pin||"rgCol";(o=this.viewport)===null||o===void 0?void 0:o.setEdit(e,this.columnProvider.getColumnIndexByProp(t,s),s,r)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},r="rgCol",o="rgRow"){var i;(i=this.viewport)===null||i===void 0?void 0:i.setFocus(r,o,e,t)}async getSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store.get("source")}async getVisibleSource(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return x(this.dataProvider.stores[e].store)}async getSourceStore(e="rgRow"){if(!this.dataProvider){throw new Error("Not connected")}return this.dataProvider.stores[e].store}async getColumnStore(e="rgCol"){return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,r,o){return this.columnProvider.updateColumnSorting(e,t,r,o)}async clearSorting(){this.columnProvider.clearSorting()}async getColumns(){return this.columnProvider.getColumns()}async clearFocus(){var e;const t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused();const r=this.beforefocuslost.emit(t);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getFocused())!==null&&t!==void 0?t:null}async getContentSize(){var e;if(!this.dimensionProvider){throw new Error("Not connected")}return(e=this.dimensionProvider)===null||e===void 0?void 0:e.getFullSize()}async getSelectedRange(){var e,t;return(t=(e=this.viewport)===null||e===void 0?void 0:e.getSelectedRange())!==null&&t!==void 0?t:null}mousedownHandle(e){const t=he(e,"screenX");const r=he(e,"screenY");if(t===null||r===null){return}this.clickTrackForFocusClear=t+r}async mouseupHandle(e){var t;const r=he(e,"screenX");const o=he(e,"screenY");if(r===null||o===null){return}if(e.defaultPrevented){return}const i=r+o;if(Math.abs(((t=this.clickTrackForFocusClear)!==null&&t!==void 0?t:0)-i)>10){return}const s=e.composedPath();if(!s.includes(this.element)&&!(this.element.shadowRoot&&s.includes(this.element.shadowRoot))){await this.clearFocus()}}onRowDragStarted(e){var t;const r=this.rowdragstart.emit(e.detail);if(r.defaultPrevented){e.preventDefault();return}(t=this.orderService)===null||t===void 0?void 0:t.start(this.element,Object.assign(Object.assign({},e.detail),r.detail))}onRowDragEnd(){var e;(e=this.orderService)===null||e===void 0?void 0:e.end()}onRowDrag({detail:e}){var t;(t=this.orderService)===null||t===void 0?void 0:t.move(e)}onRowMouseMove(e){var t;(t=this.orderService)===null||t===void 0?void 0:t.moveTip(e.detail)}async onCellEdit(e){var t;const{defaultPrevented:r,detail:o}=this.beforeedit.emit(e.detail);await k();if(!r){(t=this.dataProvider)===null||t===void 0?void 0:t.setCellData(o);this.afteredit.emit(o)}}onRangeEdit(e){if(!this.dataProvider){throw new Error("Not connected")}const{defaultPrevented:t,detail:r}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(r.data,r.type);this.afteredit.emit(r)}onRangeChanged(e){const t=this.beforerange.emit(e.detail);if(t.defaultPrevented){e.preventDefault()}const r=this.beforeautofill.emit(t.detail);if(r.defaultPrevented){e.preventDefault()}}onRowDropped(e){const{defaultPrevented:t}=this.roworderchanged.emit(e.detail);if(t){e.preventDefault()}}onHeaderClick(e){const{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));if(t){e.preventDefault()}}onCellFocus(e){const{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);if(!this.canFocus||t){e.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[]){if(!this.dimensionProvider){return}const t=Q(e,0,this.columnTypes);this.beforecolumnsset.emit(t);this.dimensionProvider.applyNewColumns(t.columns,this.disableVirtualX);this.beforecolumnapplied.emit(t);const r=this.columnProvider.setColumns(t);this.aftercolumnsset.emit({columns:r,order:this.columnProvider.order})}disableVirtualXChanged(e=false,t=false){if(e===t){return}this.columnChanged(this.columns)}rowSizeChanged(e){if(!this.dimensionProvider){return}this.dimensionProvider.setSettings({originItemSize:e},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"rowSize",true)}themeChanged(e,t,r="theme",o=false){if(!this.dimensionProvider){return}this.themeService.register(e);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol");if(!o){this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,"theme",true)}this.afterthemechanged.emit(e)}dataSourceChanged(e=[],t,r){if(!this.dataProvider){return}let o="rgRow";switch(r){case"pinnedBottomSource":o="rowPinEnd";break;case"pinnedTopSource":o="rowPinStart";break;case"source":o="rgRow";const t=this.beforesourceset.emit({type:o,source:e});e=t.detail.source;break}const i=this.beforeanysource.emit({type:o,source:e});const s=[...i.detail.source];this.dataProvider.setData(s,o,this.disableVirtualY);if(r==="source"){this.aftersourceset.emit({type:o,source:e})}this.afteranysource.emit({type:o,source:e})}disableVirtualYChanged(e=false,t=false){if(e===t){return}this.dataSourceChanged(this.source,this.source,"source")}rowDefChanged(e,t,r,o=true){if(!this.dimensionProvider||!this.dataProvider){return}const{detail:{vals:i,oldVals:s}}=this.beforerowdefinition.emit({vals:e,oldVals:t});const a=mt(i);if(s){const e=wt(s);for(const t in e){if(e.hasOwnProperty(t)){const e=t;const r=this.dataProvider.stores[e];const o=r.store.get("source").length;this.dimensionProvider.clearSize(e,o)}}}E.forEach((e=>{var t;const r=a[e];if(r||o){(t=this.dimensionProvider)===null||t===void 0?void 0:t.setCustomSizes(e,(r===null||r===void 0?void 0:r.sizes)||{})}}))}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){let t;for(let e of this.internalPlugins){const r=e;if(!!r.setGrouping){t=r;break}}t===null||t===void 0?void 0:t.setGrouping(e||{})}applyStretch(e){if(!this.dimensionProvider||!this.dataProvider){return}if(e==="false"){e=false}let t=this.internalPlugins.filter((e=>z(e)))[0];if(typeof e==="boolean"&&e||e==="true"){if(!t){const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};this.internalPlugins.push(new O(this.element,e))}else if(z(t)){t.applyStretch(this.columnProvider.getRawColumns())}}else if(t){const e=this.internalPlugins.indexOf(t);this.internalPlugins.splice(e,1)}}applyFilter(e){this.filterconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=[...this.extraElements,...e]}additionalDataChanged(e){this.additionaldatachanged.emit(e)}pluginsChanged(e=[],t){const r=this.getPluginData();if(!r){return}e===null||e===void 0?void 0:e.forEach((e=>{const t=this.internalPlugins.find((t=>t instanceof e));if(t){return}this.internalPlugins.push(new e(this.element,r))}))}setPlugins(){this.removePlugins();const e=this.getPluginData();if(!e){return}if(this.accessible){this.internalPlugins.push(new xt(this.element,e))}if(this.autoSizeColumn){this.internalPlugins.push(new I(this.element,e,typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new M(this.element,e,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new T(this.element,e))}this.internalPlugins.push(new nt(this.element,e));this.internalPlugins.push(new ye(this.element,e));if(this.canMoveColumns){this.internalPlugins.push(new D(this.element,e))}this.pluginsChanged(this.plugins)}getPluginData(){if(!this.dimensionProvider||!this.dataProvider){return}const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};return e}removePlugins(){this.internalPlugins.forEach((e=>{var t;return(t=e.destroy)===null||t===void 0?void 0:t.call(e)}));this.internalPlugins=[]}connectedCallback(){if(this.isInited){this.setPlugins()}}componentWillLoad(){var e;this.viewportProvider=new ct;this.themeService=new pe({rowSize:this.rowSize});this.dimensionProvider=new ht(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)});this.columnProvider=new dt;this.selectionStoreConnector=new ee;this.dataProvider=new lt(this.dimensionProvider);this.registerOutsideVNodes(this.registerVNode);this.setPlugins();this.applyStretch(this.stretch);this.themeChanged(this.theme,undefined,undefined,true);this.columnChanged(this.columns);this.dataSourceChanged(this.source,undefined,"source");this.dataSourceChanged(this.pinnedTopSource,undefined,"pinnedTopSource");this.dataSourceChanged(this.pinnedBottomSource,undefined,"pinnedBottomSource");if(Object.keys((e=this.trimmedRows)!==null&&e!==void 0?e:{}).length>0){this.trimmedRowsChanged(this.trimmedRows)}this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new ft((e=>{var t;(t=this.dimensionProvider)===null||t===void 0?void 0:t.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension});this.viewportscroll.emit(e)}));this.aftergridinit.emit();this.isInited=true}componentWillRender(){const e=this.beforegridrender.emit();if(e.defaultPrevented){return false}return Promise.all(this.jobsBeforeRender)}render(){if(!this.dimensionProvider||!this.dataProvider){return}const t=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new ut({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,disableVirtualX:this.disableVirtualX,disableVirtualY:this.disableVirtualY,resize:e=>this.aftercolumnresize.emit(e)},t);const r=[];if(this.rowHeaders&&this.viewport.columns.length){const o=this.viewport.columns[0];r.push(e("revogr-row-headers",{additionalData:this.additionalData,height:t,rowClass:this.rowClass,resize:this.resize,dataPorts:o.dataPorts,headerProp:o.headerProp,jobsBeforeRender:this.jobsBeforeRender,rowHeaderColumn:typeof this.rowHeaders==="object"?this.rowHeaders:undefined,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,"headerRow"),onRef:({detail:e})=>this.scrollingService.registerElement(e,"headerRow")}))}const i=bt();const s=[];for(let t of this.viewport.columns){const r=Object.assign(Object.assign({},t.headerProp),{type:t.type,additionalData:this.additionalData,viewportCol:t.viewportCol,selectionStore:t.columnSelectionStore,canResize:this.resize,readonly:this.readonly,columnFilter:!!this.filter});const o=[e("revogr-header",Object.assign({},r,{slot:ae}))];t.dataPorts.forEach((r=>{const s=`${r.type}_${t.type}`;const a=e("revogr-overlay-selection",Object.assign({},r,{isMobileDevice:i,selectionStore:r.segmentSelectionStore,onSelectall:()=>this.selectionStoreConnector.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:r.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector.setEdit(false),onSetedit:({detail:e})=>{const t=this.beforeeditstart.emit(e);if(!t.defaultPrevented){this.selectionStoreConnector.setEdit(e.val)}}}),e("revogr-data",Object.assign({},r,{colType:t.type,key:s,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:r.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:le}),e("slot",{name:`data-${t.type}-${r.type}`})),e("revogr-temp-range",{selectionStore:r.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol}),e("revogr-focus",{colData:r.colData,dataStore:r.dataStore,focusTemplate:this.focusTemplate,rowType:r.type,colType:t.type,selectionStore:r.segmentSelectionStore,dimensionRow:r.dimensionRow,dimensionCol:r.dimensionCol},e("slot",{name:`focus-${t.type}-${r.type}`})));o.push(a)}));s.push(e("revogr-viewport-scroll",Object.assign({},t.prop,{ref:e=>this.scrollingService.registerElement(e,`${t.prop.key}`),onScrollviewport:e=>this.scrollingService.proxyScroll(e.detail,`${t.prop.key}`),onScrollviewportsilent:e=>this.scrollingService.scrollSilentService(e.detail,`${t.prop.key}`)}),o))}r.push(s);const a="rgRow";const n="rgCol";const d=this.viewportProvider.stores;const l=this.dimensionProvider.stores;return e(o,null,this.hideAttribution?null:e("revogr-attribution",{class:"attribution"}),e("div",{class:"main-viewport",onClick:e=>{var t;if(e.currentTarget===e.target){(t=this.viewport)===null||t===void 0?void 0:t.clearEdit()}}},e("div",{class:"viewports"},e("slot",{name:"viewport"}),r,e("revogr-scroll-virtual",{class:"vertical",dimension:a,viewportStore:d[a].store,dimensionStore:l[a].store,ref:e=>this.scrollingService.registerElement(e,"rowScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),e(pt,{ref:e=>this.orderService=e}))),e("revogr-scroll-virtual",{class:"horizontal",dimension:n,viewportStore:d[n].store,dimensionStore:l[n].store,ref:e=>this.scrollingService.registerElement(e,"colScroll"),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),this.extraElements)}disconnectedCallback(){this.removePlugins()}get element(){return i(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],disableVirtualX:["disableVirtualXChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],disableVirtualY:["disableVirtualYChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"],registerVNode:["registerOutsideVNodes"],additionalData:["additionalDataChanged"],plugins:["pluginsChanged"]}}};St.style=yt;export{St as revo_grid};
5
5
  //# sourceMappingURL=revo-grid.entry.js.map