knobkit 0.0.1

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 (361) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assets/cell-renderer-CLTRlCa5-DIlwS99c.js +1 -0
  3. package/dist/assets/chart-D8ctp-_1.js +36 -0
  4. package/dist/assets/code-BMuLQBYq.js +2 -0
  5. package/dist/assets/column.service-C6hByxPy-XG9X0y3N.js +1 -0
  6. package/dist/assets/debounce-PCRWZliA-BjJpj_P7.js +32 -0
  7. package/dist/assets/dimension.helpers-CGKwSvw6-D_czicbS.js +1 -0
  8. package/dist/assets/dist-1hsZpGRf.js +23 -0
  9. package/dist/assets/dist-B-y4Etc5.js +1 -0
  10. package/dist/assets/dist-B8BXgMDk.js +10 -0
  11. package/dist/assets/dist-BJlXPLNt.js +1 -0
  12. package/dist/assets/dist-ByhR2UY_.js +1 -0
  13. package/dist/assets/dist-C0bxYHYH.js +2 -0
  14. package/dist/assets/dist-C8dagUDy.js +6 -0
  15. package/dist/assets/dist-CtLpohkg.js +1 -0
  16. package/dist/assets/dist-D00mNtIr.js +1 -0
  17. package/dist/assets/dist-Dh1Dvy3h.js +1 -0
  18. package/dist/assets/dist-DlwQ1Qqm.js +1 -0
  19. package/dist/assets/dist-DtZDI7jp.js +1 -0
  20. package/dist/assets/dist-thZFs69d.js +9 -0
  21. package/dist/assets/edit.utils-Dnnbd0xG-OAxDw8WC.js +1 -0
  22. package/dist/assets/events-BvSmBueA-4kqQ57iN.js +1 -0
  23. package/dist/assets/filter.button-BFwo1uvz-CyvQhOO5.js +1 -0
  24. package/dist/assets/header-cell-renderer-BMmXRsd_-BHbC7fao.js +1 -0
  25. package/dist/assets/index-Db3qZoW5-peeY7EGw.js +1 -0
  26. package/dist/assets/markdown-dDCgur7g.js +29 -0
  27. package/dist/assets/revo-grid.entry-CfI6s-uT.js +1 -0
  28. package/dist/assets/revogr-attribution_7.entry-6fUjzImt.js +1 -0
  29. package/dist/assets/revogr-clipboard_3.entry-DmI7LkER.js +2 -0
  30. package/dist/assets/revogr-data_4.entry-CYZIiXNw.js +1 -0
  31. package/dist/assets/revogr-filter-panel.entry-TmQHTQxw.js +1 -0
  32. package/dist/assets/table-Zn7rpfG-.js +1 -0
  33. package/dist/assets/text-editor-C3RUSwH5-DuDr9wKc.js +1 -0
  34. package/dist/assets/theme.service-BmnDvr6P-DftEgmbe.js +3 -0
  35. package/dist/assets/throttle-CaUDyxyU-Djj__DCp.js +1 -0
  36. package/dist/assets/viewport.helpers-CoCAvmZs-ByVRjjkF.js +1 -0
  37. package/dist/assets/viewport.store-_c579YyM-B_ZSqqka.js +1 -0
  38. package/dist/cli/config.d.ts +5 -0
  39. package/dist/cli/config.js +82 -0
  40. package/dist/cli/index.d.ts +2 -0
  41. package/dist/cli/index.js +77 -0
  42. package/dist/cli/mount.d.ts +2 -0
  43. package/dist/cli/mount.js +26 -0
  44. package/dist/cli/serve.d.ts +1 -0
  45. package/dist/cli/serve.js +21 -0
  46. package/dist/client/app.d.ts +8 -0
  47. package/dist/client/app.js +40 -0
  48. package/dist/client/context.d.ts +2 -0
  49. package/dist/client/context.js +16 -0
  50. package/dist/client/mount.d.ts +3 -0
  51. package/dist/client/mount.js +42 -0
  52. package/dist/client/runtime.d.ts +19 -0
  53. package/dist/client/runtime.js +88 -0
  54. package/dist/client/view.d.ts +12 -0
  55. package/dist/client/view.js +1 -0
  56. package/dist/client/widgets/accordion/index.d.ts +5 -0
  57. package/dist/client/widgets/accordion/index.js +8 -0
  58. package/dist/client/widgets/annotated-image/index.d.ts +8 -0
  59. package/dist/client/widgets/annotated-image/index.js +34 -0
  60. package/dist/client/widgets/audio/index.d.ts +5 -0
  61. package/dist/client/widgets/audio/index.js +5 -0
  62. package/dist/client/widgets/button/index.d.ts +4 -0
  63. package/dist/client/widgets/button/index.js +5 -0
  64. package/dist/client/widgets/chart/index.d.ts +5 -0
  65. package/dist/client/widgets/chart/index.js +23 -0
  66. package/dist/client/widgets/chart/lazy.d.ts +3 -0
  67. package/dist/client/widgets/chart/lazy.js +9 -0
  68. package/dist/client/widgets/chat/index.d.ts +6 -0
  69. package/dist/client/widgets/chat/index.js +77 -0
  70. package/dist/client/widgets/checkbox/index.d.ts +6 -0
  71. package/dist/client/widgets/checkbox/index.js +9 -0
  72. package/dist/client/widgets/checkbox-group/index.d.ts +6 -0
  73. package/dist/client/widgets/checkbox-group/index.js +12 -0
  74. package/dist/client/widgets/code/index.d.ts +5 -0
  75. package/dist/client/widgets/code/index.js +101 -0
  76. package/dist/client/widgets/code/lazy.d.ts +3 -0
  77. package/dist/client/widgets/code/lazy.js +10 -0
  78. package/dist/client/widgets/dropdown/index.d.ts +5 -0
  79. package/dist/client/widgets/dropdown/index.js +9 -0
  80. package/dist/client/widgets/file/index.d.ts +6 -0
  81. package/dist/client/widgets/file/index.js +7 -0
  82. package/dist/client/widgets/frame/index.d.ts +6 -0
  83. package/dist/client/widgets/frame/index.js +11 -0
  84. package/dist/client/widgets/gallery/index.d.ts +6 -0
  85. package/dist/client/widgets/gallery/index.js +8 -0
  86. package/dist/client/widgets/highlighted-text/index.d.ts +7 -0
  87. package/dist/client/widgets/highlighted-text/index.js +20 -0
  88. package/dist/client/widgets/html/index.d.ts +4 -0
  89. package/dist/client/widgets/html/index.js +8 -0
  90. package/dist/client/widgets/image/index.d.ts +4 -0
  91. package/dist/client/widgets/image/index.js +4 -0
  92. package/dist/client/widgets/json/index.d.ts +4 -0
  93. package/dist/client/widgets/json/index.js +4 -0
  94. package/dist/client/widgets/label/index.d.ts +7 -0
  95. package/dist/client/widgets/label/index.js +8 -0
  96. package/dist/client/widgets/layout/index.d.ts +4 -0
  97. package/dist/client/widgets/layout/index.js +7 -0
  98. package/dist/client/widgets/log/index.d.ts +4 -0
  99. package/dist/client/widgets/log/index.js +4 -0
  100. package/dist/client/widgets/mic/index.d.ts +6 -0
  101. package/dist/client/widgets/mic/index.js +70 -0
  102. package/dist/client/widgets/number/index.d.ts +5 -0
  103. package/dist/client/widgets/number/index.js +8 -0
  104. package/dist/client/widgets/output/index.d.ts +6 -0
  105. package/dist/client/widgets/output/index.js +13 -0
  106. package/dist/client/widgets/output/markdown.d.ts +3 -0
  107. package/dist/client/widgets/output/markdown.js +8 -0
  108. package/dist/client/widgets/progress/index.d.ts +6 -0
  109. package/dist/client/widgets/progress/index.js +6 -0
  110. package/dist/client/widgets/radio/index.d.ts +6 -0
  111. package/dist/client/widgets/radio/index.js +10 -0
  112. package/dist/client/widgets/registry.d.ts +2 -0
  113. package/dist/client/widgets/registry.js +69 -0
  114. package/dist/client/widgets/slider/index.d.ts +6 -0
  115. package/dist/client/widgets/slider/index.js +9 -0
  116. package/dist/client/widgets/table/index.d.ts +6 -0
  117. package/dist/client/widgets/table/index.js +72 -0
  118. package/dist/client/widgets/table/lazy.d.ts +3 -0
  119. package/dist/client/widgets/table/lazy.js +16 -0
  120. package/dist/client/widgets/tabs/index.d.ts +5 -0
  121. package/dist/client/widgets/tabs/index.js +10 -0
  122. package/dist/client/widgets/text/index.d.ts +6 -0
  123. package/dist/client/widgets/text/index.js +10 -0
  124. package/dist/client/widgets/upload/index.d.ts +6 -0
  125. package/dist/client/widgets/upload/index.js +16 -0
  126. package/dist/client/widgets/video/index.d.ts +5 -0
  127. package/dist/client/widgets/video/index.js +5 -0
  128. package/dist/client/widgets/webcam/index.d.ts +6 -0
  129. package/dist/client/widgets/webcam/index.js +62 -0
  130. package/dist/client.css +1 -0
  131. package/dist/client.js +11 -0
  132. package/dist/knobkit.browser.css +2 -0
  133. package/dist/knobkit.browser.js +151 -0
  134. package/dist/lib/bound.d.ts +12 -0
  135. package/dist/lib/bound.js +10 -0
  136. package/dist/lib/controls.d.ts +9 -0
  137. package/dist/lib/controls.js +35 -0
  138. package/dist/lib/ctx.d.ts +9 -0
  139. package/dist/lib/ctx.js +22 -0
  140. package/dist/lib/declare.d.ts +18 -0
  141. package/dist/lib/declare.js +43 -0
  142. package/dist/lib/event.d.ts +2 -0
  143. package/dist/lib/event.js +9 -0
  144. package/dist/lib/index.d.ts +10 -0
  145. package/dist/lib/index.js +6 -0
  146. package/dist/lib/knobkit.d.ts +19 -0
  147. package/dist/lib/knobkit.js +48 -0
  148. package/dist/lib/on.d.ts +2 -0
  149. package/dist/lib/on.js +1 -0
  150. package/dist/lib/stream.d.ts +1 -0
  151. package/dist/lib/stream.js +33 -0
  152. package/dist/lib/types.d.ts +48 -0
  153. package/dist/lib/types.js +1 -0
  154. package/dist/lib/widget.d.ts +7 -0
  155. package/dist/lib/widget.js +4 -0
  156. package/dist/lib/widgets/annotated-image.d.ts +14 -0
  157. package/dist/lib/widgets/annotated-image.js +16 -0
  158. package/dist/lib/widgets/audio.d.ts +10 -0
  159. package/dist/lib/widgets/audio.js +13 -0
  160. package/dist/lib/widgets/button.d.ts +11 -0
  161. package/dist/lib/widgets/button.js +17 -0
  162. package/dist/lib/widgets/chart.d.ts +20 -0
  163. package/dist/lib/widgets/chart.js +24 -0
  164. package/dist/lib/widgets/chat.d.ts +26 -0
  165. package/dist/lib/widgets/chat.js +24 -0
  166. package/dist/lib/widgets/checkbox-group.d.ts +4 -0
  167. package/dist/lib/widgets/checkbox-group.js +5 -0
  168. package/dist/lib/widgets/checkbox.d.ts +4 -0
  169. package/dist/lib/widgets/checkbox.js +4 -0
  170. package/dist/lib/widgets/code.d.ts +5 -0
  171. package/dist/lib/widgets/code.js +10 -0
  172. package/dist/lib/widgets/dropdown.d.ts +4 -0
  173. package/dist/lib/widgets/dropdown.js +4 -0
  174. package/dist/lib/widgets/embed.d.ts +5 -0
  175. package/dist/lib/widgets/embed.js +23 -0
  176. package/dist/lib/widgets/file.d.ts +11 -0
  177. package/dist/lib/widgets/file.js +15 -0
  178. package/dist/lib/widgets/frame.d.ts +18 -0
  179. package/dist/lib/widgets/frame.js +25 -0
  180. package/dist/lib/widgets/gallery.d.ts +12 -0
  181. package/dist/lib/widgets/gallery.js +17 -0
  182. package/dist/lib/widgets/highlighted-text.d.ts +12 -0
  183. package/dist/lib/widgets/highlighted-text.js +15 -0
  184. package/dist/lib/widgets/html.d.ts +9 -0
  185. package/dist/lib/widgets/html.js +12 -0
  186. package/dist/lib/widgets/image.d.ts +7 -0
  187. package/dist/lib/widgets/image.js +12 -0
  188. package/dist/lib/widgets/index.d.ts +31 -0
  189. package/dist/lib/widgets/index.js +31 -0
  190. package/dist/lib/widgets/json.d.ts +7 -0
  191. package/dist/lib/widgets/json.js +12 -0
  192. package/dist/lib/widgets/label.d.ts +15 -0
  193. package/dist/lib/widgets/label.js +18 -0
  194. package/dist/lib/widgets/layout.d.ts +21 -0
  195. package/dist/lib/widgets/layout.js +29 -0
  196. package/dist/lib/widgets/log.d.ts +8 -0
  197. package/dist/lib/widgets/log.js +15 -0
  198. package/dist/lib/widgets/mic.d.ts +19 -0
  199. package/dist/lib/widgets/mic.js +28 -0
  200. package/dist/lib/widgets/number.d.ts +5 -0
  201. package/dist/lib/widgets/number.js +4 -0
  202. package/dist/lib/widgets/output.d.ts +10 -0
  203. package/dist/lib/widgets/output.js +13 -0
  204. package/dist/lib/widgets/progress.d.ts +10 -0
  205. package/dist/lib/widgets/progress.js +15 -0
  206. package/dist/lib/widgets/radio.d.ts +4 -0
  207. package/dist/lib/widgets/radio.js +5 -0
  208. package/dist/lib/widgets/slider.d.ts +6 -0
  209. package/dist/lib/widgets/slider.js +6 -0
  210. package/dist/lib/widgets/table.d.ts +32 -0
  211. package/dist/lib/widgets/table.js +36 -0
  212. package/dist/lib/widgets/text.d.ts +4 -0
  213. package/dist/lib/widgets/text.js +4 -0
  214. package/dist/lib/widgets/upload.d.ts +3 -0
  215. package/dist/lib/widgets/upload.js +5 -0
  216. package/dist/lib/widgets/value.d.ts +9 -0
  217. package/dist/lib/widgets/value.js +20 -0
  218. package/dist/lib/widgets/video.d.ts +12 -0
  219. package/dist/lib/widgets/video.js +14 -0
  220. package/dist/lib/widgets/webcam.d.ts +21 -0
  221. package/dist/lib/widgets/webcam.js +29 -0
  222. package/dist/server/context.d.ts +2 -0
  223. package/dist/server/context.js +10 -0
  224. package/dist/server/serve.d.ts +5 -0
  225. package/dist/server/serve.js +131 -0
  226. package/package.json +71 -0
  227. package/src/cli/config.ts +83 -0
  228. package/src/cli/index.ts +82 -0
  229. package/src/cli/mount.ts +25 -0
  230. package/src/cli/serve.ts +22 -0
  231. package/src/client/app.test.tsx +70 -0
  232. package/src/client/app.tsx +62 -0
  233. package/src/client/browser-runtime.test.ts +22 -0
  234. package/src/client/browser.ts +3 -0
  235. package/src/client/context.ts +17 -0
  236. package/src/client/embed.test.tsx +58 -0
  237. package/src/client/entry.tsx +25 -0
  238. package/src/client/mount.test.tsx +36 -0
  239. package/src/client/mount.tsx +48 -0
  240. package/src/client/runtime.test.ts +64 -0
  241. package/src/client/runtime.ts +112 -0
  242. package/src/client/serve-stub.ts +3 -0
  243. package/src/client/styles.css +131 -0
  244. package/src/client/view.ts +16 -0
  245. package/src/client/widgets/accordion/accordion.css +35 -0
  246. package/src/client/widgets/accordion/index.tsx +17 -0
  247. package/src/client/widgets/annotated-image/annotated-image.css +62 -0
  248. package/src/client/widgets/annotated-image/index.tsx +73 -0
  249. package/src/client/widgets/audio/audio.css +6 -0
  250. package/src/client/widgets/audio/index.tsx +6 -0
  251. package/src/client/widgets/button/button.css +25 -0
  252. package/src/client/widgets/button/index.tsx +11 -0
  253. package/src/client/widgets/chart/chart.css +12 -0
  254. package/src/client/widgets/chart/index.tsx +63 -0
  255. package/src/client/widgets/chart/lazy.tsx +15 -0
  256. package/src/client/widgets/chat/chat.css +97 -0
  257. package/src/client/widgets/chat/index.tsx +121 -0
  258. package/src/client/widgets/checkbox/checkbox.css +15 -0
  259. package/src/client/widgets/checkbox/index.tsx +15 -0
  260. package/src/client/widgets/checkbox-group/checkbox-group.css +20 -0
  261. package/src/client/widgets/checkbox-group/index.tsx +22 -0
  262. package/src/client/widgets/code/code.css +31 -0
  263. package/src/client/widgets/code/index.tsx +108 -0
  264. package/src/client/widgets/code/lazy.tsx +16 -0
  265. package/src/client/widgets/dropdown/dropdown.css +0 -0
  266. package/src/client/widgets/dropdown/index.tsx +19 -0
  267. package/src/client/widgets/file/file.css +26 -0
  268. package/src/client/widgets/file/index.tsx +12 -0
  269. package/src/client/widgets/frame/frame.css +17 -0
  270. package/src/client/widgets/frame/index.tsx +15 -0
  271. package/src/client/widgets/gallery/gallery.css +26 -0
  272. package/src/client/widgets/gallery/index.tsx +18 -0
  273. package/src/client/widgets/highlighted-text/highlighted-text.css +21 -0
  274. package/src/client/widgets/highlighted-text/index.tsx +42 -0
  275. package/src/client/widgets/html/index.tsx +8 -0
  276. package/src/client/widgets/image/index.tsx +5 -0
  277. package/src/client/widgets/json/index.tsx +5 -0
  278. package/src/client/widgets/json/json.css +0 -0
  279. package/src/client/widgets/label/index.tsx +20 -0
  280. package/src/client/widgets/label/label.css +39 -0
  281. package/src/client/widgets/layout/index.tsx +14 -0
  282. package/src/client/widgets/log/index.tsx +5 -0
  283. package/src/client/widgets/log/log.css +0 -0
  284. package/src/client/widgets/mic/index.tsx +85 -0
  285. package/src/client/widgets/mic/mic.css +8 -0
  286. package/src/client/widgets/number/index.tsx +10 -0
  287. package/src/client/widgets/number/number.css +0 -0
  288. package/src/client/widgets/output/index.tsx +19 -0
  289. package/src/client/widgets/output/markdown.tsx +12 -0
  290. package/src/client/widgets/output/output.css +75 -0
  291. package/src/client/widgets/progress/index.tsx +14 -0
  292. package/src/client/widgets/progress/progress.css +26 -0
  293. package/src/client/widgets/radio/index.tsx +20 -0
  294. package/src/client/widgets/radio/radio.css +20 -0
  295. package/src/client/widgets/registry.tsx +71 -0
  296. package/src/client/widgets/slider/index.tsx +23 -0
  297. package/src/client/widgets/slider/slider.css +18 -0
  298. package/src/client/widgets/table/index.tsx +95 -0
  299. package/src/client/widgets/table/lazy.tsx +23 -0
  300. package/src/client/widgets/table/table.css +15 -0
  301. package/src/client/widgets/tabs/index.tsx +28 -0
  302. package/src/client/widgets/tabs/tabs.css +30 -0
  303. package/src/client/widgets/text/index.tsx +16 -0
  304. package/src/client/widgets/text/text.css +21 -0
  305. package/src/client/widgets/upload/index.tsx +30 -0
  306. package/src/client/widgets/upload/upload.css +30 -0
  307. package/src/client/widgets/video/index.tsx +10 -0
  308. package/src/client/widgets/video/video.css +8 -0
  309. package/src/client/widgets/webcam/index.tsx +81 -0
  310. package/src/client/widgets/webcam/webcam.css +46 -0
  311. package/src/css.d.ts +1 -0
  312. package/src/env.d.ts +1 -0
  313. package/src/lib/bound.ts +30 -0
  314. package/src/lib/controls.ts +36 -0
  315. package/src/lib/ctx.ts +31 -0
  316. package/src/lib/declare.test.ts +46 -0
  317. package/src/lib/declare.ts +74 -0
  318. package/src/lib/event.ts +12 -0
  319. package/src/lib/index.ts +21 -0
  320. package/src/lib/knobkit.ts +57 -0
  321. package/src/lib/on.ts +3 -0
  322. package/src/lib/stream.ts +38 -0
  323. package/src/lib/types.ts +63 -0
  324. package/src/lib/widget.ts +11 -0
  325. package/src/lib/widgets/annotated-image.ts +34 -0
  326. package/src/lib/widgets/audio.ts +20 -0
  327. package/src/lib/widgets/button.ts +27 -0
  328. package/src/lib/widgets/chart.ts +44 -0
  329. package/src/lib/widgets/chat.ts +43 -0
  330. package/src/lib/widgets/checkbox-group.ts +6 -0
  331. package/src/lib/widgets/checkbox.ts +5 -0
  332. package/src/lib/widgets/code.ts +11 -0
  333. package/src/lib/widgets/dropdown.ts +5 -0
  334. package/src/lib/widgets/embed.ts +26 -0
  335. package/src/lib/widgets/file.ts +23 -0
  336. package/src/lib/widgets/frame.ts +36 -0
  337. package/src/lib/widgets/gallery.ts +29 -0
  338. package/src/lib/widgets/highlighted-text.ts +29 -0
  339. package/src/lib/widgets/html.ts +18 -0
  340. package/src/lib/widgets/image.ts +18 -0
  341. package/src/lib/widgets/index.ts +31 -0
  342. package/src/lib/widgets/json.ts +18 -0
  343. package/src/lib/widgets/label.ts +29 -0
  344. package/src/lib/widgets/layout.ts +47 -0
  345. package/src/lib/widgets/log.ts +22 -0
  346. package/src/lib/widgets/mic.ts +42 -0
  347. package/src/lib/widgets/number.ts +5 -0
  348. package/src/lib/widgets/output.ts +20 -0
  349. package/src/lib/widgets/progress.ts +21 -0
  350. package/src/lib/widgets/radio.ts +6 -0
  351. package/src/lib/widgets/slider.ts +7 -0
  352. package/src/lib/widgets/table.ts +58 -0
  353. package/src/lib/widgets/text.ts +5 -0
  354. package/src/lib/widgets/upload.ts +6 -0
  355. package/src/lib/widgets/value.ts +28 -0
  356. package/src/lib/widgets/video.ts +22 -0
  357. package/src/lib/widgets/webcam.ts +46 -0
  358. package/src/server/context.ts +12 -0
  359. package/src/server/serve.test.ts +121 -0
  360. package/src/server/serve.ts +130 -0
  361. package/tsconfig.base.json +14 -0
@@ -0,0 +1 @@
1
+ import{_ as e,d as t,g as n,h as r,m as i,r as a}from"./debounce-PCRWZliA-BjJpj_P7.js";import{A as o,B as s,D as c,E as l,M as u,V as d,j as f,l as p}from"./dimension.helpers-CGKwSvw6-D_czicbS.js";import{C as m,F as ee,L as h,R as g,S as _,m as v,p as y,w as b,x,z as S}from"./column.service-C6hByxPy-XG9X0y3N.js";import{a as C,i as w,n as T,o as te,r as E,t as D}from"./viewport.helpers-CoCAvmZs-ByVRjjkF.js";import{t as O}from"./viewport.store-_c579YyM-B_ZSqqka.js";import{n as k}from"./index-Db3qZoW5-peeY7EGw.js";import"./filter.button-BFwo1uvz-CyvQhOO5.js";import"./header-cell-renderer-BMmXRsd_-BHbC7fao.js";import{a as A,c as j,d as M,f as N,i as P,l as F,o as I,p as L,r as R,s as z,t as B,u as V}from"./theme.service-BmnDvr6P-DftEgmbe.js";import{t as H}from"./events-BvSmBueA-4kqQ57iN.js";var U=class{get stores(){return this.dataSources}constructor(){this.collection=null,this.dataSources=y.reduce((e,t)=>(e[t]=new p(t),e),{})}column(e,t=`rgCol`){return this.getColumn(e,t)}getColumn(e,t){return o(this.dataSources[t].store,e)}getRawColumns(){return g(this.dataSources,(e,t,n)=>(e[n]=t.store.get(`source`),e),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(e=`all`){let t=this.getRawColumns();return e===`all`?y.reduce((e,n)=>[...e,...t[n]],[]):t[e]}getColumnIndexByProp(e,t){return f(this.dataSources[t].store,e)}getColumnByProp(e){return this.collection?.columnByProp[e]}refreshByType(e){this.dataSources[e].refresh()}setColumns(e){return y.forEach(t=>{this.dataSources[t].updateData(e.columns[t],{depth:e.maxLevel,groups:e.columnGrouping[t].reduce((e,t)=>(e[t.level]||(e[t.level]=[]),e[t.level].push(t),e),{})})}),this.collection=e,e}updateColumns(e){let t=e.reduce((e,t)=>{let n=m(t);return e[n]||(e[n]={}),e[n][t.prop]=t,e},{}),n={};for(let e in t){if(!t.hasOwnProperty(e))continue;let r=e,i=t[r],a=this.dataSources[r].store.get(`source`);n[r]={};for(let e=0;e<a.length;e++){let t=a[e],o=i?.[t.prop];o&&(n[r][e]=o)}}for(let e in n){if(!n.hasOwnProperty(e))continue;let t=e;s(this.dataSources[t].store,n[t]||{})}}updateColumn(e,t){let n=m(e);d(this.dataSources[n].store,{[t]:e})}},W=class{constructor(e){this.dimensionProvider=e,this.stores=g(S,(e,t)=>(e[t]=new p(t),e),{})}setData(e,t=`rgRow`,n=!1,r,i=!1,a=!1){this.stores[t].updateData([...e],r,i,a);let o=t!==`rgRow`||n;return this.dimensionProvider.setData(e.length,t,o),e}getModel(e,t=`rgRow`){let n=this.stores[t].store;return o(n,e)}changeOrder({rowType:e=`rgRow`,from:t,to:n}){let r=this.stores[e],i=[...r.store.get(`proxyItems`)],a=r.store.get(`items`),o=i.splice(i.indexOf(a[t]),1);i.splice(i.indexOf(a[n]),0,...o),r.setData({proxyItems:i});let s=r.store.get(`items`);this.dimensionProvider.updateSizesPositionByNewDataIndexes(e,s,a)}setCellData({type:e,rowIndex:t,prop:n,val:r},i=!0){let a=this.getModel(t,e);a[n]=r,this.stores[e].setSourceData({[t]:a},i)}setRangeData(e,t){let n={};for(let r in e){let i=n[r]=o(this.stores[t].store,parseInt(r,10));if(i)for(let t in e[r])i[t]=e[r][t]}this.stores[t].setSourceData(n)}refresh(e=`all`){ee(e)&&this.refreshItems(e),S.forEach(e=>this.refreshItems(e))}refreshItems(e=`rgRow`){let 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`){let n=this.stores[t];n.addTrimmed(e),this.dimensionProvider.setTrimmed(e,t),t===`rgRow`&&this.dimensionProvider.setData(u(n.store).length,t)}},G=class{constructor(e,t){this.viewports=e;let n=a(e=>t.realSizeChanged(e),40);this.stores=g([...S,...y],(e,t)=>(e[t]=new I(t),e[t].store.onChange(`realSize`,()=>n(t)),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,n=!1){let r=t;if(n){let n=this.stores[e].store.get(`sizes`);r=Object.assign(Object.assign({},n),t)}this.stores[e].setDimensionSize(r),this.setViewPortCoordinate({type:e,force:!0})}setItemCount(e,t){this.viewports.stores[t].setViewport({realCount:e}),this.stores[t].setStore({count:e})}setTrimmed(e,t){let n=l(e);this.stores[t].setStore({trimmed:n}),this.setViewPortCoordinate({type:t,force:!0})}setData(e,t,n=!1){if(this.setItemCount(e,t),n){let e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}this.setViewPortCoordinate({type:t})}applyNewColumns(e,t,n=!1){for(let r of y){n||this.stores[r].drop();let i=e[r],a=r!==`rgCol`||t;this.stores[r].setStore({count:i.length});let o=_(i);this.stores[r].setDimensionSize(o);let s={realCount:i.length};a&&(s.virtualSize=this.stores[r].getCurrentState().realSize),this.viewports.stores[r].setViewport(s),this.setViewPortCoordinate({type:r})}}getFullSize(){let e=0,t=0;for(let t of y)e+=this.stores[t]?.store.get(`realSize`)||0;for(let e of S)t+=this.stores[e]?.store.get(`realSize`)||0;return{y:t,x:e}}setViewPortCoordinate({type:e,coordinate:t=this.viewports.stores[e].lastCoordinate,force:n=!1}){let r=this.stores[e].getCurrentState(),i=this.viewports.stores[e].store,a=i.get(`clientSize`),o=i.get(`virtualSize`),s=C({contentSize:r.realSize,clientSize:a,virtualSize:o}),c=Math.min(Math.max(0,t),s.logicalScrollSize),l=a&&o?s.getRenderOffset(c):0;this.stores[e].setStore({renderOffset:l}),this.viewports.stores[e].setViewport({renderOffset:l}),this.viewports.stores[e].setViewPortCoordinate(t,r,n)}getViewPortPos(e){return c(this.stores[e.dimension].getCurrentState(),e.coordinate).start}setSettings(e,t){let n=[];switch(t){case`rgCol`:n=y;break;case`rgRow`:n=S;break}for(let t of n)this.stores[t].setStore(e)}updateSizesPositionByNewDataIndexes(e,t,n=[]){this.stores[e].updateSizesPositionByIndexes(t,n),this.setViewPortCoordinate({type:e,force:!0})}},K=class{constructor(){this.stores=g([...S,...y],(e,t)=>(e[t]=new O(t),e),{})}setViewport(e,t){this.stores[e].setViewport(t)}};function q(e){let t=e.dimensions[e.colType].store,n=t.get(`realSize`),r={contentWidth:n,class:e.colType,contentHeight:e.contentHeight,key:e.colType,colType:e.colType,noHorizontalScrollTransfer:e.noHorizontalScrollTransfer,onResizeviewport:e.onResizeviewport,style:e.fixWidth?{minWidth:`${n}px`}:void 0},i={colData:u(e.colStore),dimensionCol:t,type:e.colType,groups:e.colStore.get(`groups`),groupingDepth:e.colStore.get(`groupingDepth`),resizeHandler:e.colType===`colPinEnd`?[`l`]:void 0,onHeaderresize:e.onHeaderresize};return{prop:r,type:e.colType,position:e.position,headerProp:i,viewportCol:e.viewports[e.colType].store}}var J=class{constructor(e,t){var n;this.config=e;let r=[],i=0;y.forEach(n=>{let a=e.columnProvider.stores[n].store;if(!a.get(`items`).length)return;let o={colType:n,position:{x:i,y:1},contentHeight:t,fixWidth:n!==`rgCol`,viewports:e.viewportProvider.stores,dimensions:e.dimensionProvider.stores,rowStores:e.dataProvider.stores,noHorizontalScrollTransfer:e.noHorizontalScrollTransfer,colStore:a,onHeaderresize:e=>this.onColumnResize(n,e,a)};n===`rgCol`&&(o.onResizeviewport=t=>{var n;let r={clientSize:t.detail.size};(t.detail.dimension===`rgRow`&&!e.disableVirtualY||t.detail.dimension===`rgCol`&&!e.disableVirtualX)&&(r.virtualSize=t.detail.size),(n=e.viewportProvider)==null||n.setViewport(t.detail.dimension,r)});let s=q(o),c=this.registerCol(s.position.x,n),l=this.dataViewPort(o).reduce((t,r)=>{let i=this.registerSegment(r.position,r.lastCell),a=this.registerRow(r.position.y,r.type),o=Object.assign(Object.assign({colType:n},r),{rowSelectionStore:a,selectionStore:i.store,onSetrange:e=>{i.setRangeArea(e.detail)},onSettemprange:e=>i.setTempArea(e.detail),onFocuscell:t=>{i.clearFocus(),e.selectionStoreConnector.focus(i,t.detail)}});return t.push(o),t},[]);r.push(Object.assign(Object.assign({},s),{columnSelectionStore:c,dataPorts:l})),i++}),this.columns=r,(n=this.config.scrollingService)==null||n.unregister()}onColumnResize(e,{detail:t},n){var r;(r=this.config.dimensionProvider)==null||r.setCustomSizes(e,t,!0);let i={};for(let e of Object.keys(t||{})){let r=t[e],a=parseInt(e,10),s=o(n,a);s&&(i[a]=Object.assign(Object.assign({},s),{size:r}))}this.config.resize(i)}registerSegment(e,t){let n=this.config.selectionStoreConnector.register(e);return n.setLastCell(t),n}registerRow(e,t){return this.config.selectionStoreConnector.registerRow(e,t).store}registerCol(e,t){return this.config.selectionStoreConnector.registerColumn(e,t).store}dataViewPort(e){let t={rowPinStart:w,rgRow:D,rowPinEnd:E},n=0;return S.reduce((r,i)=>{let a=te(Object.assign(Object.assign({},e),{position:Object.assign(Object.assign({},e.position),{y:n})}),i,t[i],i!==`rgRow`);return r.push(a),n++,r},[])}scrollToCell(e){for(let t in e){let n=e[t];typeof n==`number`&&this.config.scrollingService.proxyScroll({dimension:t===`x`?`rgCol`:`rgRow`,coordinate:n})}}clearFocused(){this.config.selectionStoreConnector.clearAll()}clearEdit(){this.config.selectionStoreConnector.setEdit(!1)}getFocused(){let e=this.config.selectionStoreConnector.focusedStore;if(!e)return null;let t=this.config.selectionStoreConnector.storesXToType[e.position.x],n=this.config.columnProvider.getColumn(e.cell.x,t),r=this.config.selectionStoreConnector.storesYToType[e.position.y];return{column:n,model:this.config.dataProvider.getModel(e.cell.y,r),cell:e.cell,colType:t,rowType:r}}getStoreCoordinateByType(e,t){let n=this.config.selectionStoreConnector.storesByType;if(!(n[e]===void 0||n[t]===void 0))return{x:n[e],y:n[t]}}setFocus(e,t,n,r){var i;let a=this.getStoreCoordinateByType(e,t);a&&((i=this.config.selectionStoreConnector)==null||i.focusByCell(a,n,r))}getSelectedRange(){let e=this.config.selectionStoreConnector.focusedStore;if(!e)return null;let t=this.config.selectionStoreConnector.storesXToType[e.position.x],n=this.config.selectionStoreConnector.storesYToType[e.position.y],r=e.entity.store.get(`range`);return r?Object.assign(Object.assign({},r),{colType:t,rowType:n}):null}setEdit(e,t,n,r){var i;let a=this.getStoreCoordinateByType(n,r);a&&((i=this.config.selectionStoreConnector)==null||i.setEditByCell(a,{x:t,y:e}))}},Y=class{constructor(e){this.setViewport=e,this.elements={}}async proxyScroll(e,t,n){let r,i=e;for(let i in n?{}: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])t.changeScroll&&(r=t.changeScroll(e))}else for(let t of this.elements[i])await t.setScroll?.call(t,e);let a=await r;a&&(i=a),this.setViewport(n&&this.isPinnedColumn(t)?Object.assign(Object.assign({},i),{dimension:t}):i)}async scrollSilentService(e,t){for(let n in this.elements)if(n!==t&&y.includes(t)&&(n===`headerRow`||y.includes(n))){for(let t of this.elements[n])await t.changeScroll?.call(t,e,!0);continue}}isPinnedColumn(e){return!!e&&[`colPinStart`,`colPinEnd`].indexOf(e)>-1}registerElements(e){this.elements=e}registerElement(e,t){this.elements[t]||(this.elements[t]=[]),e?this.elements[t].push(e):this.elements[t]&&delete this.elements[t]}unregister(){this.elements={}}},X=class{constructor(){this.stores={},this.columnStores={},this.rowStores={},this.storesByType={},this.storesXToType={},this.storesYToType={}}get focusedStore(){for(let e in this.stores)for(let t in this.stores[e]){let n=this.stores[e][t]?.store.get(`focus`);if(n)return{entity:this.stores[e][t],cell:n,position:{x:parseInt(t,10),y:parseInt(e,10)}}}return null}get edit(){return this.focusedStore?.entity.store.get(`edit`)}get focused(){return this.focusedStore?.entity.store.get(`focus`)}get selectedRange(){return this.focusedStore?.entity.store.get(`range`)}registerColumn(e,t){return this.updateColumnTypeMapping(e,t),this.columnStores[e]||(this.columnStores[e]=new V),this.columnStores[e]}registerRow(e,t){return this.rowStores[e]?this.rowStores[e]:(this.rowStores[e]=new V,this.storesByType[t]=e,this.storesYToType[e]=t,this.rowStores[e])}register({x:e,y:t}){this.stores[t]||(this.stores[t]={});let n=this.stores[t][e];return n||(this.stores[t][e]=n=new V,n.onChange(`range`,n=>{this.columnStores[e].setRangeArea(n),this.rowStores[t].setRangeArea(n)}),n.store.on(`dispose`,()=>this.destroy(e,t)),n)}destroy(e,t){var n,r;if((n=this.columnStores[e])==null||n.dispose(),(r=this.rowStores[t])==null||r.dispose(),delete this.rowStores[t],delete this.columnStores[e],this.storesXToType[e]){let t=this.storesXToType[e];delete this.storesXToType[e],delete this.storesByType[t]}if(this.storesYToType[t]){let e=this.storesYToType[t];delete this.storesYToType[t],delete this.storesByType[e]}this.stores[t]&&delete this.stores[t][e],Object.keys(this.stores[t]||{}).length||delete this.stores[t]}setEditByCell(e,t){this.focusByCell(e,t,t),this.setEdit(``)}beforeNextFocusCell(e){var t;if(!this.focusedStore)return;let n=this.focusedStore.entity.store.get(`lastCell`),r=n&&this.getNextStore(e,this.focusedStore.position,n);(t=r?.store)==null||t.setNextFocus(Object.assign(Object.assign({},e),r.item))}focusByCell(e,t,n){let r=this.stores[e.y][e.x];this.focus(r,{focus:t,end:n})}focus(e,{focus:t,end:n}){let r=this.getCurrentStorePointer(e);if(!r)return null;let i=e.store.get(`lastCell`),a=i&&this.getNextStore(t,r,i);if(a?.store){let e=Object.assign(Object.assign({},t),a.item);return this.focus(a.store,{focus:e,end:e}),null}return i&&(t=v(t,i),n=v(n,i)),e.setFocus(t,n),t}getCurrentStorePointer(e){let t;for(let n in this.stores)for(let r in this.stores[n]){let i=this.stores[n][r];i===e?t={x:parseInt(r,10),y:parseInt(n,10)}:i.clearFocus()}return t}getNextStore(e,t,n){let r=h(e,n),i;r&&Object.keys(r).forEach(e=>{let n=e,a=r[n]??0,o;switch(n){case`x`:o=this.getXStores(t.y);break;case`y`:o=this.getYStores(t.x);break}if(a>=0)i=o[++t[n]];else{i=o[--t[n]];let e=i?.store.get(`lastCell`);e&&(r[n]=e[n]+a)}});let a=i?.store.get(`lastCell`);return(!a?.x||!a?.y)&&(i=void 0),{store:i,item:r}}clearAll(){var e;for(let t in this.stores)for(let n in this.stores[t])(e=this.stores[t][n])==null||e.clearFocus()}setEdit(e){this.focusedStore&&this.focusedStore.entity.setEdit(e)}selectAll(){for(let e in this.stores)for(let t in this.stores[e]){let n=this.stores[e][t];if(!n)continue;let r=n.store.get(`lastCell`);r&&n.setRange({x:0,y:0},{x:r.x-1,y:r.y-1})}}getXStores(e){return this.stores[e]}getYStores(e){let t={};for(let n in this.stores)t[n]=this.stores[n][e];return t}updateColumnTypeMapping(e,t){let n=this.storesXToType[e],r=this.storesByType[t],i=!1;this.storesByType[t]=e,this.storesXToType[e]=t,n&&n!==t&&(i=!0,this.storesByType[n]===e&&delete this.storesByType[n]),typeof r==`number`&&r!==e&&this.storesXToType[r]===t&&(delete this.storesXToType[r],i=!0),i&&this.clearAll()}},Z=class{constructor(){this.parentY=0}start(e,{pos:t,text:n,event:r}){var i;let{top:a}=e.getBoundingClientRect();this.parentY=a,this.text&&(this.text.innerText=n),this.move(t),this.moveTip({x:r.x,y:r.y}),(i=this.el)==null||i.classList.remove(`hidden`)}end(){var e;(e=this.el)==null||e.classList.add(`hidden`)}move(e){this.moveElement(e.end-this.parentY)}moveTip({x:e,y:t}){this.draggable&&(this.draggable.style.left=`${e}px`,this.draggable.style.top=`${t}px`)}moveElement(e){this.rgRow&&(this.rgRow.style.transform=`translateY(${e}px)`)}},Q=({ref:e})=>{let t=new Z;return e(t),n(`div`,{class:`draggable-wrapper hidden`,ref:e=>t.el=e},n(`div`,{class:`draggable`,ref:e=>t.draggable=e},n(`span`,{class:`revo-alt-icon`}),n(`span`,{ref:e=>t.text=e})),n(`div`,{class:`drag-position`,ref:e=>t.rgRow=e}))},ne=(e=[])=>{let t={};for(let n of e){let e=t[n.type];e||=t[n.type]={},typeof n.size==`number`&&(e.sizes||={},e.sizes[n.index]=n.size)}return t},re=(e=[])=>{let t={};for(let n of e){let e=t[n.type];e||=t[n.type]=[],typeof n.size==`number`&&e.push(n.index)}return t};function ie(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}var ae=class extends P{constructor(e,t){super(e,t),e.setAttribute(`role`,`treegrid`),e.setAttribute(`aria-keyshortcuts`,`Enter`),e.setAttribute(`aria-multiselectable`,`true`),e.setAttribute(`tabindex`,`0`),this.addEventListener(`beforecolumnsset`,({detail:t})=>{let n=[...t.columns.colPinStart,...t.columns.rgCol,...t.columns.colPinEnd];e.setAttribute(`aria-colcount`,`${n.length}`),n.forEach((e,t)=>{let{columnProperties:n,cellProperties:r}=e;e.columnProperties=(...e)=>{let r=n?.(...e)||{};return r.role=`columnheader`,r[`aria-colindex`]=`${t}`,r},e.cellProperties=(...e)=>{let n={role:`gridcell`,"aria-colindex":`${t}`,"aria-rowindex":`${e[0].rowIndex}`,tabindex:-1},i=r?.(...e)||{};return Object.assign(Object.assign({},n),i)}})}),this.addEventListener(`beforesourceset`,({detail:t})=>{e.setAttribute(`aria-rowcount`,`${t.source.length}`)}),this.addEventListener(`beforerowrender`,({detail:e})=>{e.node.$attrs$=Object.assign(Object.assign({},e.node.$attrs$),{role:`row`,"aria-rowindex":e.item.itemIndex})}),this.addEventListener(`afterfocus`,async e=>{if(e.defaultPrevented)return;let 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}"]`);t instanceof HTMLElement&&t.focus()})}},oe=class{constructor(){this.internalPlugins=[]}get(){return[...this.internalPlugins]}add(e){this.internalPlugins.push(e)}addUserPluginsAndCreate(e,t=[],n,r){r&&((n?.filter(e=>!t.some(t=>t===e))||[]).forEach(e=>{var t,n;let r=this.internalPlugins.findIndex(t=>t instanceof e);r!==-1&&((n=(t=this.internalPlugins[r]).destroy)==null||n.call(t),this.internalPlugins.splice(r,1))}),t?.forEach(t=>{this.internalPlugins.find(e=>e instanceof t)||this.add(new t(e,r))}))}getByClass(e){return this.internalPlugins.find(t=>t instanceof e)}remove(e){var t,n;let r=this.internalPlugins.indexOf(e);r>-1&&((n=(t=this.internalPlugins[r]).destroy)==null||n.call(t),this.internalPlugins.splice(r,1))}destroy(){this.internalPlugins.forEach(e=>e.destroy?.call(e)),this.internalPlugins=[]}},se=class extends P{constructor(e,t){super(e,t),this.isRTLEnabled=!1,this.init()}init(){this.addEventListener(`beforecolumnsset`,e=>{this.handleBeforeColumnsSet(e)}),this.addEventListener(`aftergridinit`,()=>{this.updateRTLState()}),this.watch(`rtl`,e=>{this.isRTLEnabled=e,this.emit(`rtlstatechanged`,{rtl:this.isRTLEnabled})},{immediate:!0})}handleBeforeColumnsSet(e){if(!this.isRTLEnabled)return;let t=e.detail,n=this.applyRTLTransformationToCollection(t);e.detail.columns=n.columns,e.detail.columnByProp=n.columnByProp,e.detail.columnGrouping=n.columnGrouping}applyRTLTransformationToCollection(e){let t={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:Object.assign({},e.columnByProp),columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:e.maxLevel,sort:Object.assign({},e.sort)};return Object.keys(e.columns).forEach(n=>{let r=n,i=e.columns[r],a=[...i].reverse();t.columns[r]=a,t.columnGrouping[r]=this.applyRTLTransformationToGroups(e.columnGrouping[r],i.length)}),t}applyRTLTransformationToGroups(e,t){return e.map(e=>{let n=e.indexes.map(e=>t-1-e).reverse();return Object.assign(Object.assign({},e),{indexes:n})}).reverse()}updateRTLState(){let e=this.revogrid;e&&typeof e.rtl==`boolean`&&(this.isRTLEnabled=e.rtl)}getRTLState(){return this.isRTLEnabled}destroy(){super.destroy()}},ce=()=>`revo-grid[theme=default],revo-grid:not([theme]){border:1px solid var(--revo-grid-header-border);font-size:12px}revo-grid[theme=default] .rowHeaders revogr-header,revo-grid:not([theme]) .rowHeaders revogr-header{box-shadow:-1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:var(--revo-grid-header-bg)}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 .group-rgRow .rgHeaderCell,revo-grid:not([theme]) revogr-header .group-rgRow .rgHeaderCell{box-shadow:-1px 0 0 0 var(--revo-grid-header-border), -1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}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:var(--revo-grid-header-color)}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:var(--revo-grid-header-bg)}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:var(--revo-grid-header-color)}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 var(--revo-grid-header-border) 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 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) 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 var(--revo-grid-header-border)}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) 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 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-header-border) 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 var(--revo-grid-header-border) inset, -1px 0 0 0 var(--revo-grid-header-border) 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 var(--revo-grid-header-border) 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 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) inset, 0 -1px 0 0 var(--revo-grid-cell-border) 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 .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) 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=darkMaterial]{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=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=darkCompact]{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=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=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] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid[dir=rtl] .viewports{flex-direction:row-reverse}revo-grid[dir=rtl] revogr-header .rgHeaderCell{text-align:right}revo-grid[dir=rtl] revogr-data .rgCell{text-align:right}revo-grid[dir=rtl] .rowHeaders revogr-data .rgCell{text-align:right}revo-grid[dir=rtl] revogr-filter-panel{direction:rtl}revo-grid[dir=rtl] revo-dropdown .rv-dr-root{text-align:right}revo-grid[dir=rtl] .drag-position{right:0;left:auto}revo-grid[dir=rtl] .drag-auto-scroll-y{right:0;left:auto}revo-grid[dir=rtl] .clipboard{right:0;left:auto}revo-grid[dir=rtl] .draggable{margin-left:-20px;margin-right:0;padding-right:20px;padding-left:5px}revo-grid[dir=rtl] .draggable .revo-alt-icon{right:5px;left:auto}revo-grid[dir=rtl] .focused-cell{border-right:2px solid var(--revo-grid-primary);border-left:none}revo-grid[dir=rtl] .selection-range{border-right:2px solid var(--revo-grid-primary);border-left:none}revo-grid[dir=rtl] .resize-handle{right:0;left:auto}revo-grid[dir=rtl] .sort-indicator{margin-left:0;margin-right:5px}revo-grid[dir=rtl] .filter-button{margin-left:0;margin-right:5px}revo-grid[dir=rtl] .group-expand{margin-right:0;margin-left:2px;padding-right:5px;padding-left:0}revo-grid[dir=rtl] .rgCell,revo-grid[dir=rtl] .rgHeaderCell{padding-left:5px;padding-right:5px}revo-grid[dir=rtl] revogr-edit{direction:rtl}revo-grid[dir=rtl] .rgHeaderCell{direction:rtl}revo-grid[dir=rtl][theme=material] revogr-header,revo-grid[dir=rtl][theme=darkMaterial] revogr-header{text-align:right}revo-grid[dir=rtl][theme=material] revogr-data,revo-grid[dir=rtl][theme=darkMaterial] revogr-data{text-align:right}revo-grid[dir=rtl][theme=default] .rowHeaders,revo-grid[dir=rtl]:not([theme]) .rowHeaders{background-color:var(--revo-grid-header-bg)}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell{color:var(--revo-grid-header-color)}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-left:1px solid var(--revo-grid-header-border);border-right:none}revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data revogr-header,revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid[dir=rtl][theme=default] revogr-header,revo-grid[dir=rtl]:not([theme]) revogr-header{text-align:right}revo-grid[dir=rtl][theme=default] revogr-data,revo-grid[dir=rtl]:not([theme]) revogr-data{text-align:right}revo-grid[dir=rtl][theme=compact] revogr-header,revo-grid[dir=rtl][theme=darkCompact] revogr-header{text-align:right}revo-grid[dir=rtl][theme=compact] revogr-data,revo-grid[dir=rtl][theme=darkCompact] revogr-data{text-align:right}.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::";display:inline-block}.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-grid{--revo-grid-primary:#266ae8;--revo-grid-primary-transparent:rgba(38, 106, 232, 0.9);--revo-grid-background:#fff;--revo-grid-foreground:black;--revo-grid-divider:gray;--revo-grid-shadow:rgba(0, 0, 0, 0.15);--revo-grid-text:black;--revo-grid-border:rgba(0, 0, 0, 0.2);--revo-grid-filter-panel-bg:#fff;--revo-grid-filter-panel-border:#d9d9d9;--revo-grid-filter-panel-shadow:rgba(0, 0, 0, 0.15);--revo-grid-filter-panel-input-bg:#eaeaeb;--revo-grid-filter-panel-divider:#d9d9d9;--revo-grid-filter-panel-select-border:transparent;--revo-grid-filter-panel-select-border-hover:transparent;--revo-grid-header-bg:#f8f9fa;--revo-grid-header-color:#000;--revo-grid-header-border:#cecece;--revo-grid-cell-border:#e2e3e3;--revo-grid-focused-bg:rgba(233, 234, 237, 0.5);--revo-grid-row-hover:#f1f1f1;--revo-grid-row-headers-bg:#f7faff;--revo-grid-row-headers-color:#757a82;--revo-grid-cell-disabled-bg:rgba(0, 0, 0, 0.07);direction:ltr !important;display:flex !important;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;color:var(--revo-grid-text);-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[theme*=dark]{--revo-grid-background:#212529;--revo-grid-foreground:#fff;--revo-grid-text:rgba(255, 255, 255, 0.9);--revo-grid-divider:#505050;--revo-grid-border:rgba(255, 255, 255, 0.2);--revo-grid-filter-panel-bg:#212529;--revo-grid-filter-panel-border:#505050;--revo-grid-filter-panel-input-bg:#343a40;--revo-grid-filter-panel-divider:#505050;--revo-grid-header-bg:#343a40;--revo-grid-header-color:#fff;--revo-grid-header-border:#505050;--revo-grid-cell-border:#424242;--revo-grid-focused-bg:rgba(52, 58, 64, 0.5);--revo-grid-row-hover:rgba(80, 80, 80, 0.5);--revo-grid-row-headers-bg:rgba(52, 58, 64, 0.8);--revo-grid-row-headers-color:rgba(255, 255, 255, 0.8);--revo-grid-cell-disabled-bg:rgba(255, 255, 255, 0.07)}revo-grid revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset}revo-grid revogr-header .rgHeaderCell.sortable:hover{background-color:var(--revo-grid-row-hover)}revo-grid revogr-header .rgHeaderCell.focused-cell{background:var(--revo-grid-focused-bg)}revo-grid .footer-wrapper revogr-data{box-shadow:0 -1px 0 var(--revo-grid-cell-border)}revo-grid revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 var(--revo-grid-cell-border) inset}revo-grid revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 var(--revo-grid-cell-border)}revo-grid revogr-data .rgRow{box-shadow:0 -1px 0 0 var(--revo-grid-cell-border) inset}revo-grid revogr-data .rgRow.focused-rgRow{background-color:var(--revo-grid-focused-bg)}revo-grid revogr-data .rgCell{color:var(--revo-grid-text)}revo-grid revogr-data .rgCell.disabled{background-color:var(--revo-grid-cell-disabled-bg)}revo-grid .attribution{position:absolute;bottom:0;left:0;right:0;z-index:1000;width:0;height:0;border-left:4px solid var(--revo-grid-primary-transparent);border-bottom:4px solid var(--revo-grid-primary-transparent);border-top:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;bottom:0;left:0;background-color:var(--revo-grid-background);padding:4px;border-radius:4px;box-shadow:0 1px 10px var(--revo-grid-border);white-space:nowrap;text-decoration:none;color:var(--revo-grid-text);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:var(--revo-grid-background);border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 var(--revo-grid-shadow);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:var(--revo-grid-foreground);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:var(--revo-grid-divider);pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:var(--revo-grid-divider);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}`,$=class{constructor(t){e(this,t),this.contentsizechanged=i(this,`contentsizechanged`,7),this.beforeedit=i(this,`beforeedit`,7),this.beforerangeedit=i(this,`beforerangeedit`,7),this.afteredit=i(this,`afteredit`,7),this.beforeautofill=i(this,`beforeautofill`,7),this.beforerange=i(this,`beforerange`,7),this.afterfocus=i(this,`afterfocus`,7),this.roworderchanged=i(this,`roworderchanged`,7),this.beforesorting=i(this,`beforesorting`,7),this.beforesourcesortingapply=i(this,`beforesourcesortingapply`,7),this.beforesortingapply=i(this,`beforesortingapply`,7),this.rowdragstart=i(this,`rowdragstart`,7),this.headerclick=i(this,`headerclick`,7),this.beforecellfocus=i(this,`beforecellfocus`,7),this.beforefocuslost=i(this,`beforefocuslost`,7),this.beforesourceset=i(this,`beforesourceset`,7),this.beforeanysource=i(this,`beforeanysource`,7),this.aftersourceset=i(this,`aftersourceset`,7),this.afteranysource=i(this,`afteranysource`,7),this.beforecolumnsgather=i(this,`beforecolumnsgather`,7),this.beforecolumnsset=i(this,`beforecolumnsset`,7),this.beforecolumnapplied=i(this,`beforecolumnapplied`,7),this.aftercolumnsset=i(this,`aftercolumnsset`,7),this.beforefilterapply=i(this,`beforefilterapply`,7),this.beforefiltertrimmed=i(this,`beforefiltertrimmed`,7),this.beforetrimmed=i(this,`beforetrimmed`,7),this.aftertrimmed=i(this,`aftertrimmed`,7),this.viewportscroll=i(this,`viewportscroll`,7),this.beforeexport=i(this,`beforeexport`,7),this.beforeeditstart=i(this,`beforeeditstart`,7),this.aftercolumnresize=i(this,`aftercolumnresize`,7),this.beforerowdefinition=i(this,`beforerowdefinition`,7),this.filterconfigchanged=i(this,`filterconfigchanged`,7),this.sortingconfigchanged=i(this,`sortingconfigchanged`,7),this.rowheaderschanged=i(this,`rowheaderschanged`,7),this.beforegridrender=i(this,`beforegridrender`,7),this.aftergridrender=i(this,`aftergridrender`,7),this.aftergridinit=i(this,`aftergridinit`,7),this.additionaldatachanged=i(this,`additionaldatachanged`,7),this.afterthemechanged=i(this,`afterthemechanged`,7),this.created=i(this,`created`,7),this.frameSize=1,this.rowSize=0,this.colSize=100,this.range=!1,this.readonly=!1,this.resize=!1,this.noHorizontalScrollTransfer=!1,this.canFocus=!0,this.useClipboard=!0,this.columns=[],this.source=[],this.pinnedTopSource=[],this.pinnedBottomSource=[],this.rowDefinitions=[],this.editors={},this.applyOnClose=!1,this.plugins=[],this.columnTypes={},this.theme=`default`,this.rowClass=``,this.autoSizeColumn=!1,this.filter=!1,this.canMoveColumns=!1,this.trimmedRows={},this.exporting=!1,this.stretch=!1,this.additionalData={},this.disableVirtualX=!1,this.disableVirtualY=!1,this.hideAttribution=!1,this.jobsBeforeRender=[],this.registerVNode=[],this.accessible=!0,this.rtl=!1,this.canDrag=!0,this.extraElements=[],this.pluginService=new oe,this.viewport=null,this.isInited=!1}async refresh(e=`all`){if(!this.dataProvider)throw Error(`Not connected`);this.dataProvider.refresh(e)}async setDataAt({row:e,col:t,colType:n=`rgCol`,rowType:r=`rgRow`,val:i,skipDataUpdate:a=!1}){if(this.dataProvider&&this.columnProvider&&!a){let a=this.columnProvider.getColumn(t,n)?.prop;a!==void 0&&this.dataProvider.setCellData({type:r,rowIndex:e,prop:a,val:i},!1)}return this.element.querySelector(`revogr-data[type="${r}"][col-type="${n}"]`)?.updateCell({row:e,col:t})}async scrollToRow(e=0){if(!this.dimensionProvider)throw Error(`Not connected`);let t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:`rgRow`});await this.scrollToCoordinate({y:t})}async scrollToColumnIndex(e=0){if(!this.dimensionProvider)throw Error(`Not connected`);let t=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:`rgCol`});await this.scrollToCoordinate({x:t})}async scrollToColumnProp(e,t=`rgCol`){if(!this.dimensionProvider||!this.columnProvider)throw Error(`Not connected`);let n=this.columnProvider.getColumnIndexByProp(e,t);if(n<0)return;let r=this.dimensionProvider.getViewPortPos({coordinate:n,dimension:t});await this.scrollToCoordinate({x:r})}async updateColumns(e){var t;(t=this.columnProvider)==null||t.updateColumns(e)}async addTrimmed(e,t=`external`,n=`rgRow`){if(!this.dataProvider)throw Error(`Not connected`);let r=this.beforetrimmed.emit({trimmed:e,trimmedType:t,type:n});return r.defaultPrevented?r:(this.dataProvider.setTrimmed({[t]:r.detail.trimmed},n),this.aftertrimmed.emit(),r)}async scrollToCoordinate(e){var t;(t=this.viewport)==null||t.scrollToCell(e)}async setCellEdit(e,t,n=`rgRow`){var r;let i=x(this.columns,t);if(!i)return;await k();let a=i.pin||`rgCol`;if(!this.columnProvider)throw Error(`Not connected`);(r=this.viewport)==null||r.setEdit(e,this.columnProvider.getColumnIndexByProp(t,a),a,n)}async setCellsFocus(e={x:0,y:0},t={x:0,y:0},n=`rgCol`,r=`rgRow`){var i;(i=this.viewport)==null||i.setFocus(n,r,e,t)}async getSource(e=`rgRow`){if(!this.dataProvider)throw Error(`Not connected`);return this.dataProvider.stores[e].store.get(`source`)}async getVisibleSource(e=`rgRow`){if(!this.dataProvider)throw Error(`Not connected`);return u(this.dataProvider.stores[e].store)}async getSourceStore(e=`rgRow`){if(!this.dataProvider)throw Error(`Not connected`);return this.dataProvider.stores[e].store}async getColumnStore(e=`rgCol`){if(!this.columnProvider)throw Error(`Not connected`);return this.columnProvider.stores[e].store}async updateColumnSorting(e,t,n){this.sortingconfigchanged.emit({columns:[{prop:e.prop,order:t,cellCompare:e.cellCompare}],additive:n})}async clearSorting(){this.sortingconfigchanged.emit({columns:[]})}async getColumns(){if(!this.columnProvider)throw Error(`Not connected`);return this.columnProvider.getColumns()}async clearFocus(){var e;let t=this.viewport?.getFocused();this.beforefocuslost.emit(t).defaultPrevented||(e=this.selectionStoreConnector)==null||e.clearAll()}async getPlugins(){return this.pluginService.get()}async getFocused(){return this.viewport?.getFocused()??null}async getContentSize(){if(!this.dimensionProvider)throw Error(`Not connected`);return this.dimensionProvider?.getFullSize()}async getSelectedRange(){return this.viewport?.getSelectedRange()??null}async refreshExtraElements(){var e;(e=this.extraService)==null||e.refresh()}async getProviders(){return this.getPluginData()}mousedownHandle(e){let t=H(e,`screenX`),n=H(e,`screenY`);t===null||n===null||(this.clickTrackForFocusClear=t+n)}async mouseupHandle(e){let t=H(e,`screenX`),n=H(e,`screenY`);if(t===null||n===null||e.defaultPrevented)return;let r=t+n;if(Math.abs((this.clickTrackForFocusClear??0)-r)>10)return;let i=e.composedPath();!i.includes(this.element)&&!(this.element.shadowRoot&&i.includes(this.element.shadowRoot))&&await this.clearFocus()}onRowDragStarted(e){var t;let n=this.rowdragstart.emit(e.detail);if(n.defaultPrevented){e.preventDefault();return}(t=this.orderService)==null||t.start(this.element,Object.assign(Object.assign({},e.detail),n.detail))}onRowDragEnd(){var e;(e=this.orderService)==null||e.end()}onRowOrderChange(e){var t;(t=this.dataProvider)==null||t.changeOrder(e.detail)}onRowDrag({detail:e}){var t;(t=this.orderService)==null||t.move(e)}onRowMouseMove(e){var t;(t=this.orderService)==null||t.moveTip(e.detail)}async onCellEdit(e){var t;let{defaultPrevented:n,detail:r}=this.beforeedit.emit(e.detail);await k(),n||((t=this.dataProvider)==null||t.setCellData(r),this.afteredit.emit(r))}onRangeEdit(e){if(!this.dataProvider)throw Error(`Not connected`);let{defaultPrevented:t,detail:n}=this.beforerangeedit.emit(e.detail);if(t){e.preventDefault();return}this.dataProvider.setRangeData(n.data,n.type),this.afteredit.emit(n)}onRangeChanged(e){let t=this.beforerange.emit(e.detail);t.defaultPrevented&&e.preventDefault(),this.beforeautofill.emit(t.detail).defaultPrevented&&e.preventDefault()}onRowDropped(e){let{defaultPrevented:t}=this.roworderchanged.emit(e.detail);t&&e.preventDefault()}onHeaderClick(e){let{defaultPrevented:t}=this.headerclick.emit(Object.assign(Object.assign({},e.detail.column),{originalEvent:e.detail.originalEvent}));t&&e.preventDefault()}onCellFocus(e){let{defaultPrevented:t}=this.beforecellfocus.emit(e.detail);(!this.canFocus||t)&&e.preventDefault()}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(e=[],t=void 0,n=`columns`,r=!1){if(!this.dimensionProvider||!this.columnProvider)return;let i=r?void 0:this.getColumnFocusRestore(),a=this.beforecolumnsgather.emit({columns:[...e]});if(a.defaultPrevented)return;let o=b(a.detail.columns,0,this.columnTypes),s=this.beforecolumnsset.emit(o);if(s.defaultPrevented)return;this.dimensionProvider.applyNewColumns(s.detail.columns,this.disableVirtualX,r);let c=this.beforecolumnapplied.emit(o);if(c.defaultPrevented)return;let l=this.columnProvider.setColumns(c.detail);i&&(this.pendingColumnFocusRestore=i);let u={};for(let e of Object.keys(c.detail.sort))u[e]=c.detail.sort[e].order;this.aftercolumnsset.emit({columns:l,order:u})}getColumnFocusRestore(){let e=this.viewport?.getFocused(),t=(this.selectionStoreConnector?.focusedStore)?.position.x,n=e?.column?.prop;if(!(!e||n===void 0||t===void 0))return{prop:n,colType:e.colType,colIndex:e.cell.x,prevStoreX:t,rowType:e.rowType,rowIndex:e.cell.y}}restoreColumnFocusAfterRender(){let e=this.pendingColumnFocusRestore;if(!e||(this.pendingColumnFocusRestore=void 0,!this.viewport||!this.columnProvider))return;let t=this.columnProvider.getColumnByProp(e.prop)?.[0]??x(this.columns,e.prop);if(!t)return;let n=t.pin||`rgCol`,r=this.columnProvider.getColumnIndexByProp(e.prop,n);if(r<0||n===e.colType&&r===e.colIndex&&e.prevStoreX===(this.selectionStoreConnector?.focusedStore)?.position.x)return;let i={x:r,y:e.rowIndex};this.viewport.setFocus(n,e.rowType,i,i)}disableVirtualXChanged(e=!1,t=!1){e!==t&&this.columnChanged(this.columns)}rowSizeChanged(e){this.dimensionProvider&&(this.dimensionProvider.setSettings({originItemSize:e},`rgRow`),this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,`rowSize`,!0))}themeChanged(e,t,n=`theme`,r=!1){this.dimensionProvider&&(this.themeService.register(e),this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},`rgRow`),this.dimensionProvider.setSettings({originItemSize:this.colSize},`rgCol`),r||(this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},`rgRow`),this.rowDefChanged(this.rowDefinitions,this.rowDefinitions,`theme`,!0)),this.afterthemechanged.emit(e))}dataSourceChanged(e=[],t,n){if(!this.dataProvider)return;let r=`rgRow`;switch(n){case`pinnedBottomSource`:r=`rowPinEnd`;break;case`pinnedTopSource`:r=`rowPinStart`;break;case`source`:r=`rgRow`,e=this.beforesourceset.emit({type:r,source:e}).detail.source;break}let i=[...this.beforeanysource.emit({type:r,source:e}).detail.source];this.dataProvider.setData(i,r,this.disableVirtualY),n===`source`&&this.aftersourceset.emit({type:r,source:e}),this.afteranysource.emit({type:r,source:e})}disableVirtualYChanged(e=!1,t=!1){e!==t&&this.dataSourceChanged(this.source,this.source,`source`)}rowDefChanged(e,t,n,r=!0){if(!this.dimensionProvider||!this.dataProvider)return;let{detail:{vals:i,oldVals:a}}=this.beforerowdefinition.emit({vals:e,oldVals:t}),o=ne(i);if(a){let e=re(a);for(let t in e)if(e.hasOwnProperty(t)){let e=t,n=this.dataProvider.stores[e].store.get(`source`).length;this.dimensionProvider.clearSize(e,n)}}S.forEach(e=>{var t;let n=o[e];(n||r)&&((t=this.dimensionProvider)==null||t.setCustomSizes(e,n?.sizes||{}))})}trimmedRowsChanged(e={}){this.addTrimmed(e)}groupingChanged(e={}){var t;(t=this.pluginService.getByClass(F))==null||t.setGrouping(e||{})}applyStretch(e){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider)return;e===`false`&&(e=!1);let t=this.getPluginData();if(!t)return;let n=this.pluginService.getByClass(N);typeof e==`boolean`&&e||e===`true`?n?L(n)&&n.applyStretch(this.columnProvider.getRawColumns()):this.pluginService.add(new N(this.element,t)):n&&this.pluginService.remove(n)}applyFilter(e){this.filterconfigchanged.emit(e)}applySorting(e){this.sortingconfigchanged.emit(e)}rowHeadersChange(e){this.rowheaderschanged.emit(e)}registerOutsideVNodes(e=[]){this.extraElements=e}additionalDataChanged(e){this.additionaldatachanged.emit(e)}rtlChanged(){this.columnChanged(this.columns)}pluginsChanged(e=[],t){this.pluginService.addUserPluginsAndCreate(this.element,e,t,this.getPluginData())}setPlugins(){this.removePlugins();let e=this.getPluginData();e&&(this.setCorePlugins(e),this.pluginsChanged(this.plugins))}setCorePlugins(e){this.accessible&&this.pluginService.add(new ae(this.element,e)),this.pluginService.add(new se(this.element,e)),this.autoSizeColumn&&this.pluginService.add(new R(this.element,e,typeof this.autoSizeColumn==`object`?this.autoSizeColumn:void 0)),this.filter&&this.pluginService.add(new j(this.element,e,typeof this.filter==`object`?this.filter:void 0)),this.exporting&&this.pluginService.add(new z(this.element,e)),this.pluginService.add(new M(this.element,e)),this.pluginService.add(new F(this.element,e)),this.canMoveColumns&&this.pluginService.add(new A(this.element,e))}getPluginData(){if(!(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider||!this.selectionStoreConnector))return{data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector,plugins:this.pluginService}}removePlugins(){this.pluginService.destroy()}connectedCallback(){this.isInited&&this.setPlugins(),this.created.emit()}componentWillLoad(){this.viewportProvider=new K,this.themeService=new B({rowSize:this.rowSize}),this.dimensionProvider=new G(this.viewportProvider,{realSizeChanged:e=>this.contentsizechanged.emit(e)}),this.columnProvider=new U,this.selectionStoreConnector=new X,this.dataProvider=new W(this.dimensionProvider),this.registerOutsideVNodes(this.registerVNode),this.setPlugins(),this.applyStretch(this.stretch),this.themeChanged(this.theme,void 0,void 0,!0),this.columnChanged(this.columns,void 0,void 0,!0),this.dataSourceChanged(this.source,void 0,`source`),this.dataSourceChanged(this.pinnedTopSource,void 0,`pinnedTopSource`),this.dataSourceChanged(this.pinnedBottomSource,void 0,`pinnedBottomSource`),Object.keys(this.trimmedRows??{}).length>0&&this.trimmedRowsChanged(this.trimmedRows),this.rowDefChanged(this.rowDefinitions,void 0,void 0,!1),this.grouping&&Object.keys(this.grouping).length>0&&this.groupingChanged(this.grouping),this.scrollingService=new Y(e=>{var t;(t=this.dimensionProvider)==null||t.setViewPortCoordinate({coordinate:e.coordinate,type:e.dimension}),this.viewportscroll.emit(e)}),this.aftergridinit.emit(),this.isInited=!0}componentWillRender(){return this.beforegridrender.emit().defaultPrevented?!1:Promise.all(this.jobsBeforeRender)}componentDidRender(){this.restoreColumnFocusAfterRender(),this.aftergridrender.emit()}render(){if(!this.dimensionProvider||!this.dataProvider||!this.columnProvider||!this.viewportProvider||!this.selectionStoreConnector)return;let e=this.dimensionProvider.stores.rgRow.store.get(`realSize`);this.viewport=new J({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,noHorizontalScrollTransfer:this.noHorizontalScrollTransfer,disableVirtualX:this.disableVirtualX,disableVirtualY:this.disableVirtualY,resize:e=>this.aftercolumnresize.emit(e)},e);let r=[];if(this.rowHeaders&&this.viewport.columns.length){let t=this.viewport.columns[0];r.push(n(`revogr-row-headers`,{additionalData:this.additionalData,height:e,rowClass:this.rowClass,resize:this.resize,dataPorts:t.dataPorts,headerProp:t.headerProp,jobsBeforeRender:this.jobsBeforeRender,rowHeaderColumn:typeof this.rowHeaders==`object`?this.rowHeaders:void 0,onScrollview:({detail:e})=>this.scrollingService.proxyScroll(e,`headerRow`),onRef:({detail:e})=>this.scrollingService.registerElement(e,`headerRow`)}))}let i=ie(),a=[];for(let e of this.viewport.columns){let t=Object.assign(Object.assign({},e.headerProp),{type:e.type,additionalData:this.additionalData,viewportCol:e.viewportCol,selectionStore:e.columnSelectionStore,canResize:this.resize,readonly:this.readonly,columnFilter:!!this.filter}),r=[n(`revogr-header`,Object.assign({},t,{slot:w}))];e.dataPorts.forEach(t=>{let a=`${t.type}_${e.type}`,o=n(`revogr-overlay-selection`,Object.assign({},t,{canDrag:this.canDrag&&t.canDrag,isMobileDevice:i,onSelectall:()=>this.selectionStoreConnector?.selectAll(),editors:this.editors,readonly:this.readonly,range:this.range,useClipboard:this.useClipboard,applyChangesOnClose:this.applyOnClose,additionalData:this.additionalData,slot:t.slot,onBeforenextvpfocus:e=>this.selectionStoreConnector?.beforeNextFocusCell(e.detail),onCanceledit:()=>this.selectionStoreConnector?.setEdit(!1),onSetedit:({detail:e})=>{var t;this.beforeeditstart.emit(e).defaultPrevented||(t=this.selectionStoreConnector)==null||t.setEdit(e.val)}}),n(`revogr-data`,Object.assign({},t,{colType:e.type,key:a,readonly:this.readonly,range:this.range,rowClass:this.rowClass,rowSelectionStore:t.rowSelectionStore,additionalData:this.additionalData,jobsBeforeRender:this.jobsBeforeRender,slot:T}),n(`slot`,{name:`data-${e.type}-${t.type}`})),n(`revogr-temp-range`,{selectionStore:t.selectionStore,dimensionRow:t.dimensionRow,dimensionCol:t.dimensionCol}),n(`revogr-focus`,{colData:t.colData,dataStore:t.dataStore,focusTemplate:this.focusTemplate,rowType:t.type,colType:e.type,selectionStore:t.selectionStore,dimensionRow:t.dimensionRow,dimensionCol:t.dimensionCol},n(`slot`,{name:`focus-${e.type}-${t.type}`})));r.push(o)}),a.push(n(`revogr-viewport-scroll`,Object.assign({},e.prop,{ref:t=>this.scrollingService.registerElement(t,`${e.prop.key}`),onScrollviewport:t=>{this.scrollingService.proxyScroll(t.detail,`${e.prop.key}`,this.noHorizontalScrollTransfer&&t.detail.dimension===`rgCol`)},onScrollviewportsilent:t=>this.scrollingService.scrollSilentService(t.detail,`${e.prop.key}`)}),r))}r.push(a);let o=`rgRow`,s=`rgCol`,c=this.viewportProvider.stores,l=this.dimensionProvider.stores,u=n(`revogr-scroll-virtual`,{class:`vertical`,dimension:o,clientSize:c[o].store.get(`clientSize`),virtualSize:c[o].store.get(`virtualSize`),realSize:l[o].store.get(`realSize`),ref:e=>this.scrollingService.registerElement(e,`rowScroll`),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)}),d=n(`revogr-scroll-virtual`,{class:`horizontal`,dimension:s,clientSize:c[s].store.get(`clientSize`),virtualSize:c[s].store.get(`virtualSize`),realSize:l[s].store.get(`realSize`),ref:e=>this.scrollingService.registerElement(e,`colScroll`),onScrollvirtual:e=>this.scrollingService.proxyScroll(e.detail)});return n(t,{dir:this.rtl?`rtl`:`ltr`},this.hideAttribution?null:n(`revogr-attribution`,{class:`attribution`}),n(`slot`,{name:`header`}),n(`div`,{class:`main-viewport`,onClick:e=>{var t;e.currentTarget===e.target&&((t=this.viewport)==null||t.clearEdit())}},n(`div`,{class:`viewports`},n(`slot`,{name:`viewport`}),r,u,n(Q,{ref:e=>this.orderService=e}))),d,n(`revogr-extra`,{ref:e=>this.extraService=e,nodes:this.extraElements}),n(`slot`,{name:`footer`}))}disconnectedCallback(){this.removePlugins()}get element(){return r(this)}static get watchers(){return{columnTypes:[{columnTypesChanged:0}],columns:[{columnChanged:0}],disableVirtualX:[{disableVirtualXChanged:0}],rowSize:[{rowSizeChanged:0}],theme:[{themeChanged:0}],source:[{dataSourceChanged:0}],pinnedBottomSource:[{dataSourceChanged:0}],pinnedTopSource:[{dataSourceChanged:0}],disableVirtualY:[{disableVirtualYChanged:0}],rowDefinitions:[{rowDefChanged:0}],trimmedRows:[{trimmedRowsChanged:0}],grouping:[{groupingChanged:0}],stretch:[{applyStretch:0}],filter:[{applyFilter:0}],sorting:[{applySorting:0}],rowHeaders:[{rowHeadersChange:0}],registerVNode:[{registerOutsideVNodes:0}],additionalData:[{additionalDataChanged:0}],rtl:[{rtlChanged:0}],plugins:[{pluginsChanged:0}]}}};$.style=ce();export{$ as revo_grid};
@@ -0,0 +1 @@
1
+ import{_ as e,d as t,g as n,h as r,m as i,r as a}from"./debounce-PCRWZliA-BjJpj_P7.js";import{A as o,D as s,O as c,_ as l,b as u,d,l as f,n as p,w as m,x as h,y as g}from"./dimension.helpers-CGKwSvw6-D_czicbS.js";import{N as _,O as v,_ as y,t as b,y as ee}from"./column.service-C6hByxPy-XG9X0y3N.js";import{i as x}from"./viewport.helpers-CoCAvmZs-ByVRjjkF.js";import{n as S,t as C}from"./viewport.store-_c579YyM-B_ZSqqka.js";import{n as w,t as T}from"./index-Db3qZoW5-peeY7EGw.js";import{n as te,t as E}from"./events-BvSmBueA-4kqQ57iN.js";import{a as D,c as ne,i as re,l as O,n as ie,r as k,s as A,t as j,u as M}from"./edit.utils-Dnnbd0xG-OAxDw8WC.js";import{i as N,n as P,r as F,t as I}from"./throttle-CaUDyxyU-Djj__DCp.js";var L=class{constructor(t){e(this,t)}render(){return n(t,{key:`3d66475a019010c24b6c610ccc047e01c35178f9`},n(`a`,{key:`777afddffef0309a697b9c14ee73c0001ac22b71`,href:`https://rv-grid.com/guide/attribution`,target:`_blank`,rel:`noopener noreferrer`,title:`Made with ❤️ by Revolist OU Team`,class:`value`},`RevoGrid`))}},R=class{constructor(t){e(this,t),this.nodes=[],this.update=1}async refresh(){this.update*=-1}render(){return this.nodes?.map(e=>{if(typeof e==`function`){let t={},r=()=>[e({refresh:()=>t.refresh?.call(t)})];return n(`revogr-extra`,{nodes:r(),ref:e=>{e&&(t.refresh=()=>{e.nodes=r()})}})}return e})}};function z(e,t){let n={};for(let r in e){let e=parseInt(r,10);n[e]=o(t,e)}return n}function B(e,t){if(e.defaultPrevented)return null;let n=E(e,`clientX`),r=E(e,`clientY`);if(n===null||r===null)return null;let i=V({x:n,y:r},t);return U(i,t.lastCell)?null:i}function V({x:e,y:t},{el:n,rows:r,cols:i}){let{top:a,left:o,height:s,width:l}=n.getBoundingClientRect(),u=t-a,d=e-o;u>=s&&(u=s-1),d>=l&&(d=l-1);let f=c(r,u+(r.renderOffset||0)),p=c(i,d+(i.renderOffset||0));return p.itemIndex<0&&(p.itemIndex=0),f.itemIndex<0&&(f.itemIndex=0),{x:p.itemIndex,y:f.itemIndex}}function H(e,t,n,r=!1){let i=(n,i=0)=>{let a={x:e.x,y:e.y},o=r?{x:e.x1,y:e.y1}:a,s=o[n]>t[n]?o:a;return s[n]+=i,{start:a,end:o}};return n.x?i(`x`,n.x):n.y?i(`y`,n.y):null}function U({x:e,y:t},n){return e>=n.x||t>=n.y}function W({x:e,y:t}){return e<0||t<0}function G(e){return{left:`${e.left}px`,top:`${e.top}px`,width:`${e.width}px`,height:`${e.height}px`}}function K({x:e,y:t,x1:n,y1:r},i,a){let o=i.renderOffset||0,c=a.renderOffset||0,l=s(i,t).start-o,u=s(a,e).start-c,d=s(i,r).end-o,f=s(a,n).end-c;return{left:u,right:f,top:l,bottom:d,width:f-u,height:d-l}}var q=()=>`revogr-focus.focused-cell{box-shadow:-1px 0 0 #0d63e8 inset, 1px 0 0 #0d63e8 inset, 0 -1px 0 #0d63e8 inset, 0 1px 0 #0d63e8 inset;position:absolute;pointer-events:none;z-index:9;display:block !important}`,J=class{constructor(t){e(this,t),this.beforeFocusRender=i(this,`beforefocusrender`,7),this.beforeScrollIntoView=i(this,`beforescrollintoview`,7),this.afterFocus=i(this,`afterfocus`,7),this.focusTemplate=null,this.activeFocus=null}componentDidRender(){let e=this.selectionStore.get(`focus`);if(!(this.activeFocus?.x===e?.x&&this.activeFocus?.y===e?.y)&&(this.activeFocus=e,e&&this.el)){this.beforeScrollIntoView.emit({el:this.el}).defaultPrevented||this.el.scrollIntoView({block:`nearest`,inline:`nearest`});let t=o(this.dataStore,e.y),n=o(this.colData,e.x);this.afterFocus.emit({model:t,column:n,rowType:this.rowType,colType:this.colType,rowIndex:e.y,colIndex:e.x})}}render(){if(this.selectionStore.get(`edit`))return;let e=this.selectionStore.get(`focus`);if(!e)return;let r=this.beforeFocusRender.emit({range:Object.assign(Object.assign({},e),{x1:e.x,y1:e.y}),rowType:this.rowType,colType:this.colType,rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)});if(r.defaultPrevented)return n(`slot`,null);let{detail:i}=r,a=G(K(i.range,r.detail.rowDimension,r.detail.colDimension)),o=this.focusTemplate?.call(this,n,i);return n(t,Object.assign({},{class:{[d]:!0},style:a}),n(`slot`,null),o)}get el(){return r(this)}};J.style=q();var Y=[m.TAB,m.ARROW_UP,m.ARROW_DOWN,m.ARROW_LEFT,m.ARROW_RIGHT],ae=class{constructor(e){this.sv=e}appendPendingEditValue(e){if(O(e)||e.key.length!==1||e.target instanceof HTMLElement&&D(e.target))return!1;let t=this.sv.selectionStore.get(`edit`);return typeof t?.val==`string`?(this.sv.selectionStore.set(`edit`,Object.assign(Object.assign({},t),{val:`${t.val}${e.key}`})),!0):!1}async keyDown(e,t,n,{range:r,focus:i}){if(n){if(this.appendPendingEditValue(e))return;switch(e.code){case m.ESCAPE:this.sv.cancel();break;case m.TAB:this.keyChangeSelection(e,t);break}return}if(r&&ie(e.code)){this.sv.clearCell();return}if(i){if(M(e.code)){this.keyChangeSelection(e,t);return}if(A(e.key)){this.sv.change();return}if(!k(e)&&!re(e)){if(ne(e)){this.sv.internalPaste();return}if(j(e)){t&&this.selectAll(e);return}if(!O(e)&&e.key.length===1){this.sv.change(e.key);return}await this.keyChangeSelection(e,t)}}}selectAll(e){let t=this.sv.selectionStore.get(`range`),n=this.sv.selectionStore.get(`focus`);!t||!n||(e.preventDefault(),this.sv.selectAll())}async keyChangeSelection(e,t){let n=this.changeDirectionKey(e,t);if(!n)return!1;await w(70);let r=this.sv.selectionStore.get(`range`),i=this.sv.selectionStore.get(`focus`);return this.keyPositionChange(n.changes,r,i,n.isMulti)}keyPositionChange(e,t,n,r=!1){if(!t||!n)return!1;let i=H(t,n,e,r);if(!i)return!1;let a=this.sv.getData();if(r){if([i.start,i.end].some(e=>U(e,a.lastCell)||W(e)))return!1;let e=v(i.start,i.end);return this.sv.range(e)}return this.sv.focus(i.start,e,U(i.start,a.lastCell)?1:W(i.start)?-1:0)}changeDirectionKey(e,t){let n=t&&e.shiftKey;if(Y.includes(e.code)&&e.preventDefault(),e.shiftKey)switch(e.code){case m.TAB:return{changes:{x:-1},isMulti:!1}}switch(e.code){case m.ARROW_UP:return{changes:{y:-1},isMulti:n};case m.ARROW_DOWN:return{changes:{y:1},isMulti:n};case m.ARROW_LEFT:return{changes:{x:-1},isMulti:n};case m.TAB:case m.ARROW_RIGHT:return{changes:{x:1},isMulti:n}}}},oe=class{constructor(e){this.sv=e,this.autoFillType=null,this.autoFillInitial=null,this.autoFillStart=null,this.autoFillLast=null}renderAutofill(e,t,r=!1){let i;return i=K(e||Object.assign(Object.assign({},t),{x1:t.x,y1:t.y}),this.sv.dimensionRow.state,this.sv.dimensionCol.state),n(`div`,{class:{[p]:!0,[l]:r},style:{left:`${i.right}px`,top:`${i.bottom}px`},onMouseDown:e=>this.autoFillHandler(e),onTouchStart:e=>this.autoFillHandler(e)})}autoFillHandler(e,t=`AutoFill`){let n=null;e.target instanceof Element&&(n=e.target),n&&(this.selectionStart(n,this.sv.getData(),t),e.preventDefault())}get isAutoFill(){return!!this.autoFillType}selectionMouseMove(e){this.onMouseMoveAutofill||=a((e,t)=>this.doAutofillMouseMove(e,t),5),this.isAutoFill&&this.onMouseMoveAutofill(e,this.sv.getData())}getFocus(e,t){return!e&&t&&(e={x:t.x,y:t.y}),e||null}doAutofillMouseMove(e,t){if(!this.autoFillInitial)return;let n=E(e,`clientX`,l),r=E(e,`clientY`,l);if(n===null||r===null)return;let i=V({x:n,y:r},t);if(this.autoFillLast||(this.autoFillLast||=this.autoFillStart),!U(i,t.lastCell))if(this.autoFillLast=i,i.x===this.autoFillInitial.x&&i.y===this.autoFillInitial.y)this.sv.setTempRange(null);else{let e=v(this.autoFillInitial,this.autoFillLast);this.sv.setTempRange({area:e,type:this.autoFillType})}}selectionStart(e,t,n=`Selection`){let{top:r,left:i}=e.getBoundingClientRect();this.autoFillInitial=this.getFocus(t.focus,t.range),this.autoFillType=n,this.autoFillStart=V({x:i,y:r},t)}clearAutoFillSelection(e,t){if(this.autoFillInitial)if(this.autoFillInitial=this.getFocus(e,t),this.autoFillType===`AutoFill`){let e=v(this.autoFillInitial,this.autoFillLast);if(e){let{defaultPrevented:n,detail:{range:r}}=this.sv.clearRangeDataApply({range:e});!n&&t?this.applyRangeWithData(r,t):this.sv.setTempRange(null)}}else this.applyRangeOnly(this.autoFillInitial,this.autoFillLast);this.resetAutoFillState()}resetAutoFillState(){this.autoFillType=null,this.autoFillInitial=null,this.autoFillLast=null,this.autoFillStart=null}onRangeApply(e,t,n){this.sv.rangeDataApply({data:e,models:z(e,this.sv.dataStore),type:this.sv.dataStore.get(`type`),oldRange:n,newRange:t}),this.sv.setRange(t)}applyRangeWithData(e,t){let n={type:this.sv.dataStore.get(`type`),colType:this.sv.columnService.type,newData:{},mapping:{},newRange:e,oldRange:t},{mapping:r,changed:i}=this.sv.columnService.getRangeData(n,this.sv.columnService.columns);n.newData=i,n.mapping=r;let a=this.sv.selectionChanged(n);if(a.defaultPrevented){this.sv.setTempRange(null);return}if(a=this.sv.rangeCopy(n),a.defaultPrevented){this.sv.setRange(e);return}this.onRangeApply(n.newData,e,t)}applyRangeOnly(e,t){if(!e||!t)return;let n=v(e,t);this.sv.setRange(n)}};function se(e,t){if(!ce(t))return null;let n=le(e);return n.length===1&&n[0]?.length===1?n:null}function ce(e){return typeof e==`object`&&e.rangeFill===!0}function le(e){let t=[...e];for(;t.length>1&&X(t[t.length-1]);)t.pop();return t}function X(e){return!e||e.every(e=>e===``)}var ue=()=>`revogr-overlay-selection{display:block;position:relative;width:100%}revogr-overlay-selection .autofill-handle{position:absolute;width:14px;height:14px;margin-left:-13px;margin-top:-13px;z-index:10;cursor:crosshair}revogr-overlay-selection .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection.mobile .autofill-handle{position:absolute;width:30px;height:30px;margin-left:-29px;margin-top:-29px;z-index:10;cursor:crosshair}revogr-overlay-selection.mobile .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection .selection-border-range{position:absolute;pointer-events:none;z-index:9;box-shadow:-1px 0 0 #0d63e8 inset, 1px 0 0 #0d63e8 inset, 0 -1px 0 #0d63e8 inset, 0 1px 0 #0d63e8 inset}revogr-overlay-selection .selection-border-range .range-handlers{height:100%;background-color:transparent;width:75%;max-width:50px;min-width:20px;left:50%;transform:translateX(-50%);position:absolute}revogr-overlay-selection .selection-border-range .range-handlers>span{pointer-events:auto;height:20px;width:20px;position:absolute;left:50%;transform:translateX(-50%)}revogr-overlay-selection .selection-border-range .range-handlers>span:before,revogr-overlay-selection .selection-border-range .range-handlers>span:after{position:absolute;border-radius:5px;width:15px;height:5px;left:50%;transform:translateX(-50%);background-color:rgba(0, 0, 0, 0.2)}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child{top:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child:before{content:"";top:0}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child{bottom:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child:after{content:"";bottom:0}revogr-overlay-selection revogr-edit{z-index:10}`,Z=class{constructor(t){e(this,t),this.beforeCopyRegion=i(this,`beforecopyregion`,7),this.beforeRegionPaste=i(this,`beforepasteregion`,7),this.cellEditApply=i(this,`celleditapply`,7),this.beforeFocusCell=i(this,`beforecellfocusinit`,7),this.beforeNextViewportFocus=i(this,`beforenextvpfocus`,7),this.setEdit=i(this,`setedit`,7),this.beforeApplyRange=i(this,`beforeapplyrange`,7),this.beforeSetRange=i(this,`beforesetrange`,7),this.setRange=i(this,`setrange`,7),this.beforeEditRender=i(this,`beforeeditrender`,7),this.selectAll=i(this,`selectall`,7),this.cancelEdit=i(this,`canceledit`,7),this.setTempRange=i(this,`settemprange`,7),this.beforeSetTempRange=i(this,`beforesettemprange`,7),this.applyFocus=i(this,`applyfocus`,7),this.focusCell=i(this,`focuscell`,7),this.beforeRangeDataApply=i(this,`beforerangedataapply`,7),this.selectionChange=i(this,`selectionchangeinit`,7),this.beforeRangeCopyApply=i(this,`beforerangecopyapply`,7),this.rangeEditApply=i(this,`rangeeditapply`,7),this.rangeClipboardCopy=i(this,`clipboardrangecopy`,7),this.rangeClipboardPaste=i(this,`clipboardrangepaste`,7),this.beforeKeyDown=i(this,`beforekeydown`,7),this.beforeKeyUp=i(this,`beforekeyup`,7),this.beforeCellSave=i(this,`beforecellsave`,7),this.cellEditDone=i(this,`celledit`,7),this.applyChangesOnClose=!1,this.keyboardService=null,this.autoFillService=null,this.unsubscribeSelectionStore=[]}onMouseMove(e){var t;this.selectionStore.get(`focus`)&&((t=this.autoFillService)==null||t.selectionMouseMove(e))}onMouseUp(){var e;(e=this.autoFillService)==null||e.clearAutoFillSelection(this.selectionStore.get(`focus`),this.selectionStore.get(`range`))}onCellDrag(e){var t;(t=this.orderEditor)==null||t.dragStart(e.detail)}onKeyUp(e){this.beforeKeyUp.emit(Object.assign({original:e},this.getData()))}onKeyDown(e){var t;let n=this.beforeKeyDown.emit(Object.assign({original:e},this.getData()));e.defaultPrevented||n.defaultPrevented||(t=this.keyboardService)==null||t.keyDown(e,this.range,!!this.selectionStore.get(`edit`),{focus:this.selectionStore.get(`focus`),range:this.selectionStore.get(`range`)})}selectionServiceSet(e){this.unsubscribeSelectionStore.forEach(e=>e()),this.unsubscribeSelectionStore.length=0,this.unsubscribeSelectionStore.push(e.onChange(`nextFocus`,e=>e&&this.doFocus(e,e))),this.keyboardService=new ae({selectionStore:e,range:e=>!!e&&this.triggerRangeEvent(e),focus:(e,t,n)=>n?(this.beforeNextViewportFocus.emit(e),!1):this.doFocus(e,e,t),change:e=>{this.readonly||this.doEdit(e)},cancel:async()=>{await this.revogrEdit?.cancelChanges(),this.closeEdit()},clearCell:()=>!this.readonly&&this.clearCell(),internalPaste:()=>!this.readonly&&this.beforeRegionPaste.emit(),getData:()=>this.getData(),selectAll:()=>this.selectAll.emit()}),this.createAutoFillService()}createAutoFillService(){this.autoFillService=new oe({dimensionRow:this.dimensionRow,dimensionCol:this.dimensionCol,columnService:this.columnService,dataStore:this.dataStore,clearRangeDataApply:e=>this.beforeRangeDataApply.emit(Object.assign(Object.assign(Object.assign({},e),this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)})),setTempRange:e=>{let t=this.beforeSetTempRange.emit(Object.assign(Object.assign({tempRange:e},this.getData()),this.types));return t.defaultPrevented?null:this.setTempRange.emit(t.detail.tempRange)},selectionChanged:e=>this.selectionChange.emit(e),rangeCopy:e=>this.beforeRangeCopyApply.emit(e),rangeDataApply:e=>this.rangeEditApply.emit(e),setRange:e=>!!e&&this.triggerRangeEvent(e),getData:()=>this.getData()})}columnServiceSet(){var e;(e=this.columnService)==null||e.destroy(),this.columnService=new b(this.dataStore,this.colData),this.createAutoFillService()}connectedCallback(){this.columnServiceSet(),this.selectionServiceSet(this.selectionStore)}disconnectedCallback(){var e;this.unsubscribeSelectionStore.forEach(e=>e()),this.unsubscribeSelectionStore.length=0,(e=this.columnService)==null||e.destroy()}async componentWillRender(){var e;this.selectionStore.get(`edit`)||await((e=this.revogrEdit)?.beforeDisconnect)?.call(e)}renderRange(e){return[n(`div`,{class:u,style:G(K(e,this.dimensionRow.state,this.dimensionCol.state))},this.isMobileDevice&&n(`div`,{class:`range-handlers`},n(`span`,{class:`mobile-handler`}),n(`span`,{class:`mobile-handler`})))]}renderEditor(){let e=this.selectionStore.get(`edit`);if(this.readonly||!e)return null;let t=e.val||y(this.columnService.rowDataModel(e.y,e.x).value),r=Object.assign(Object.assign({},e),this.columnService.getSaveData(e.y,e.x,t)),i=this.beforeEditRender.emit(Object.assign(Object.assign({range:Object.assign(Object.assign({},e),{x1:e.x,y1:e.y})},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}));return i.defaultPrevented?null:n(`revogr-edit`,{style:G(K(i.detail.range,i.detail.rowDimension,i.detail.colDimension)),ref:e=>this.revogrEdit=e,additionalData:this.additionalData,editCell:r,saveOnClose:this.applyChangesOnClose,onCelleditinit:e=>{this.cellEditDone.emit(e.detail)},column:this.columnService.rowDataModel(e.y,e.x),editor:ee(this.columnService.columns[e.x],this.editors)})}onEditCell(e){if(e.defaultPrevented)return;let t=this.beforeCellSave.emit(e.detail);t.defaultPrevented||this.cellEdit(t.detail),t.detail.preventFocus||this.focusNext()}render(){let e=[],r=this.renderEditor();if(r)e.push(r);else{let t=this.selectionStore.get(`range`),r=this.selectionStore.get(`focus`);(t||r)&&this.useClipboard&&e.push(n(`revogr-clipboard`,{readonly:this.readonly,onCopyregion:e=>this.onCopy(e.detail),onClearregion:()=>!this.readonly&&this.clearCell(),ref:e=>this.clipboard=e,onPasteregion:e=>this.onPaste(e.detail)})),t&&e.push(...this.renderRange(t)),r&&!this.readonly&&this.range&&e.push(this.autoFillService?.renderAutofill(t,r,this.isMobileDevice)),this.canDrag&&e.push(n(`revogr-order-editor`,{ref:e=>this.orderEditor=e,dataStore:this.dataStore,dimensionRow:this.dimensionRow,dimensionCol:this.dimensionCol,parent:this.element,rowType:this.types.rowType,onRowdragstartinit:e=>this.rowDragStart(e)}))}return n(t,{key:`ff303c39d59e4ef217421fa11b9a80de07311b07`,class:{mobile:this.isMobileDevice},onDblClick:e=>this.onElementDblClick(e),onMouseDown:e=>this.onElementMouseDown(e),onTouchStart:e=>this.onElementMouseDown(e,!0),onCloseedit:e=>this.closeEdit(e),onCelledit:e=>this.onEditCell(e)},e,n(`slot`,{key:`3cbe4c3ad7d447f779e9e20f73eec2e3107275e0`,name:`data`}))}doFocus(e,t,n){let{defaultPrevented:r}=this.beforeFocusCell.emit(this.columnService.getSaveData(e.y,e.x));if(r)return!1;let i=Object.assign(Object.assign({range:Object.assign(Object.assign({},e),{x1:t.x,y1:t.y}),next:n},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}),a=this.applyFocus.emit(i);if(a.defaultPrevented)return!1;let{range:o}=a.detail;return!this.focusCell.emit(Object.assign({focus:{x:o.x,y:o.y},end:{x:o.x1,y:o.y1}},a.detail)).defaultPrevented}triggerRangeEvent(e){let t=this.types.rowType,n=this.beforeApplyRange.emit(Object.assign(Object.assign({range:Object.assign({},e)},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}));if(n.defaultPrevented)return!1;let r=this.columnService.getRangeTransformedToProps(n.detail.range,this.dataStore),i=this.beforeSetRange.emit(r);return i.defaultPrevented||(i=this.setRange.emit(Object.assign(Object.assign({},n.detail.range),{type:t})),i.defaultPrevented)?!1:!i.defaultPrevented}onElementDblClick(e){e.defaultPrevented||B(e,this.getData())&&this.doEdit()}onElementMouseDown(e,t=!1){var n;let r=e.target;if(D(r)||e.defaultPrevented)return;let i=B(e,this.getData());i&&(this.focus(i,this.range&&e.shiftKey),this.range&&(r&&((n=this.autoFillService)==null||n.selectionStart(r,this.getData())),t?te(e.touches[0],`mobile-handler`)&&e.preventDefault():e.preventDefault()))}doEdit(e=``){var t;if(this.canEdit()){let n=this.selectionStore.get(`focus`);if(!n)return;let r=this.columnService.getSaveData(n.y,n.x);(t=this.setEdit)==null||t.emit(Object.assign(Object.assign({},r),{val:e}))}}async closeEdit(e){this.cancelEdit.emit(),e?.detail&&await this.focusNext()}cellEdit(e){let t=this.columnService.getSaveData(e.rgRow,e.rgCol,e.val);this.cellEditApply.emit(t)}getRegion(){let e=this.selectionStore.get(`focus`),t=this.selectionStore.get(`range`);return t||=v(e,e),t}onCopy(e){var t;let n=this.getRegion();if(this.beforeCopyRegion.emit(n).defaultPrevented)return!1;let r;if(n){let{data:e,mapping:t}=this.columnService.copyRangeArray(n,this.dataStore),i=this.rangeClipboardCopy.emit(Object.assign({range:n,data:e,mapping:t},this.types));i.defaultPrevented||(r=i.detail.data)}return(t=this.clipboard)==null||t.doCopy(e,r),!0}onPaste(e){var t;let n=this.selectionStore.get(`focus`),r=this.selectionStore.get(`edit`)!==null;if(!n||r)return;let i=se(e,this.useClipboard),a=i?this.getClipboardPasteTargetRange():null,{changed:o,range:s}=this.columnService.getTransformedDataToApply({start:n,data:i||e,targetRange:a}),{defaultPrevented:c}=this.rangeClipboardPaste.emit(Object.assign({data:o,models:z(o,this.dataStore),range:s},this.types));c||(t=this.autoFillService)==null||t.onRangeApply(o,s,s)}getClipboardPasteTargetRange(){let e=this.selectionStore.get(`range`);return e&&!_(e)?e:null}async focusNext(){await this.keyboardService?.keyChangeSelection(new KeyboardEvent(`keydown`,{code:m.ARROW_DOWN}),this.range)||this.closeEdit()}clearCell(){var e;let t=this.selectionStore.get(`range`);if(t&&!_(t)){let n=this.columnService.getRangeStaticData(t,``);(e=this.autoFillService)==null||e.onRangeApply(n,t,t)}else if(this.canEdit()){let e=this.selectionStore.get(`focus`);if(!e)return;let t=this.columnService.getSaveData(e.y,e.x);this.cellEdit({rgRow:e.y,rgCol:e.x,val:``,type:t.type,prop:t.prop})}}rowDragStart({detail:e}){e.text=y(this.columnService.rowDataModel(e.cell.y,e.cell.x).value)}canEdit(){if(this.readonly)return!1;let e=this.selectionStore.get(`focus`);return e&&!this.columnService?.isReadOnly(e.y,e.x)}get edited(){return this.selectionStore.get(`edit`)}focus(e,t=!1){if(!e)return!1;let n=e,r=this.selectionStore.get(`focus`);if(t&&r){let e=v(r,n);if(e)return this.triggerRangeEvent(e)}return this.doFocus(e,n)}get types(){return{rowType:this.dataStore.get(`type`),colType:this.columnService.type}}getData(){return{el:this.element,rows:this.dimensionRow.state,cols:this.dimensionCol.state,lastCell:this.lastCell,focus:this.selectionStore.get(`focus`),range:this.selectionStore.get(`range`),edit:this.selectionStore.get(`edit`)}}get element(){return r(this)}static get watchers(){return{selectionStore:[{selectionServiceSet:0}],dimensionRow:[{createAutoFillService:0}],dimensionCol:[{createAutoFillService:0}],dataStore:[{columnServiceSet:0}],colData:[{columnServiceSet:0}]}}};Z.style=ue();var de=e=>(t,{rowIndex:n})=>e+n,fe=class{constructor(t){e(this,t),this.scrollViewport=i(this,`scrollview`,3),this.elementToScroll=i(this,`ref`,3),this.jobsBeforeRender=[]}render(){let e=[],r=new C(`colPinStart`),i=1;for(let t of this.dataPorts){let a=t.dataStore.get(`items`).length,o=new f(t.type,Object.assign({},t.dataStore.state)),s=new f(`colPinStart`),c=Object.assign({cellTemplate:de(i)},this.rowHeaderColumn);s.updateData([c]),e.push(n(`revogr-data`,Object.assign({},t,{colType:`rowHeaders`,jobsBeforeRender:this.jobsBeforeRender,rowClass:this.rowClass,dataStore:o.store,colData:s.store,viewportCol:r.store,readonly:!0,range:!1}))),i+=a}let a=S(i,this.rowHeaderColumn);r.setViewport({realCount:1,virtualSize:0,items:[{size:a,start:0,end:a,itemIndex:0}]});let o={contentHeight:this.height,contentWidth:0,style:{minWidth:`${a}px`},colType:`rowHeaders`,ref:e=>this.elementToScroll.emit(e),onScrollviewport:e=>this.scrollViewport.emit(e.detail)},s=Object.assign(Object.assign({},this.headerProp),{groups:[],colData:typeof this.rowHeaderColumn==`object`?[this.rowHeaderColumn]:[],viewportCol:r.store,canResize:!1,type:g,slot:x});return n(t,{class:{[g]:!0},key:g},n(`revogr-viewport-scroll`,Object.assign({key:`c401e82e02e4bdb7afb25f2f49c6776f2e115c81`},o,{"row-header":!0}),n(`revogr-header`,Object.assign({key:`3c73d27bd96e23a34fc0cf47eda4d2e65751df98`},s)),e))}},pe=class{constructor(e){this.element=e,this.autohideScrollTimeout=0}setScrollSize(e){e?this.element.removeAttribute(`autohide`):this.element.setAttribute(`autohide`,`true`)}checkScroll({scrollSize:e,contentSize:t,virtualSize:n}){!e&&t>n&&(this.element.setAttribute(`visible`,`true`),this.autohideScrollTimeout=this.show(this.element,this.autohideScrollTimeout))}show(e,t){return clearTimeout(t),Number(setTimeout(()=>{e?.removeAttribute(`visible`)},1e3))}clear(){clearTimeout(this.autohideScrollTimeout)}},me=()=>`revogr-scroll-virtual[autohide]{position:absolute;z-index:100 !important}revogr-scroll-virtual[autohide].vertical{top:0;right:0}revogr-scroll-virtual[autohide].vertical[visible]{min-width:20px !important}revogr-scroll-virtual[autohide].horizontal{bottom:0;left:0}revogr-scroll-virtual[autohide].horizontal[visible]{min-height:20px !important}revogr-scroll-virtual.vertical{overflow-y:auto;overflow-x:hidden;height:100%}revogr-scroll-virtual.vertical>div{width:1px}revogr-scroll-virtual.horizontal{overflow-x:auto;overflow-y:hidden;width:100%}revogr-scroll-virtual.horizontal>div{height:1px}`,Q=class{constructor(t){e(this,t),this.scrollVirtual=i(this,`scrollvirtual`,7),this.dimension=`rgRow`,this.scrollSize=0}async setScroll(e){var t;this.dimension===e.dimension&&(this.localScrollTimer.latestScrollUpdate(e.dimension),(t=this.localScrollService)==null||t.setScroll(e),e.coordinate&&this.autohideScrollPlugin.checkScroll({scrollSize:this.scrollSize,contentSize:this.realSize,virtualSize:this.virtualSize}))}async changeScroll(e){if(e.delta){let t=e.dimension===`rgRow`?`scrollTop`:`scrollLeft`,n=this.element[t];return this.localScrollService.setScrollByDelta(e,n)}return e}connectedCallback(){this.autohideScrollPlugin=new pe(this.element),this.localScrollTimer=new P(`ontouchstart`in document.documentElement?0:10),this.localScrollService=new I({runScroll:e=>this.scrollVirtual.emit(e),applyScroll:e=>{this.localScrollTimer.setCoordinate(e);let t=e.dimension===`rgRow`?`scrollTop`:`scrollLeft`;this.element[t]=e.coordinate}})}disconnectedCallback(){this.autohideScrollPlugin.clear()}componentWillLoad(){this.scrollSize=T(document)}componentDidRender(){let e=0;this.dimension===`rgRow`?(e=this.element.scrollHeight>this.element.clientHeight?this.scrollSize:0,this.element.style.minWidth=`${e}px`):(e=this.element.scrollWidth>this.element.clientWidth?this.scrollSize:0,this.element.style.minHeight=`${e}px`),this.autohideScrollPlugin.setScrollSize(e),this.localScrollService.setParams({contentSize:this.realSize,clientSize:this.dimension===`rgRow`?this.element.clientHeight:this.element.clientWidth,virtualSize:this.clientSize},this.dimension)}onScroll(e){if(!(e.target instanceof Element))return;let t=e.target,n=`scrollLeft`;this.dimension===`rgRow`&&(n=`scrollTop`);let r=()=>{var e;(e=this.localScrollService)==null||e.scroll(t[n]||0,this.dimension)};this.localScrollTimer.isReady(this.dimension,t[n])?r():this.localScrollTimer.throttleLastScrollUpdate(this.dimension,t[n]||0,()=>r())}render(){let e=F(this.realSize,this.dimension===`rgRow`?this.element.clientHeight:this.element.clientWidth,this.clientSize);return n(t,{key:`7213817ef941eee4050b714266598ec0c2961ee9`,onScroll:e=>this.onScroll(e)},n(`div`,{key:`501da49c63253ab943172494b9dbf5399be56cee`,style:{[this.dimension===`rgRow`?`height`:`width`]:`${e}px`}}))}get element(){return r(this)}};Q.style=me();var he=()=>`.temp-bg-range{display:block !important;position:absolute;pointer-events:none;z-index:9;border:1px solid rgb(255, 94, 0);box-sizing:border-box}.temp-bg-range.Selection{border:1px dashed gray}.temp-bg-range>div{width:1px;height:1px;position:absolute}.temp-bg-range>div.top{top:-1px}.temp-bg-range>div.bottom{bottom:-1px}.temp-bg-range>div.left{left:-1px}.temp-bg-range>div.right{right:-1px}`,$=class{constructor(t){e(this,t),this.onChange=N(e=>this.doChange(e),300)}doChange(e){e?.scrollIntoView({block:`nearest`,inline:`nearest`})}componentDidRender(){this.el&&this.onChange(this.el)}render(){let e=this.selectionStore.get(`tempRange`),r=this.selectionStore.get(`tempRangeType`);if(!e)return;let i=`bottom`,a=`right`,o=this.getRange();if(!o)return;e.y<o.y&&(i=`top`),e.x<o.x&&(a=`left`);let s=`${a} ${i}`,c=G(K(e,this.dimensionRow.state,this.dimensionCol.state));return n(t,Object.assign({},{class:{[h]:!0,[r||``]:!0},style:c,hidden:!1}),n(`div`,{class:s,ref:e=>this.el=e}))}getRange(){let e=this.selectionStore.get(`range`);if(e)return e;let t=this.selectionStore.get(`focus`);return t?Object.assign(Object.assign({},t),{x1:t.x,y1:t.y}):null}};$.style=he();export{L as revogr_attribution,R as revogr_extra,J as revogr_focus,Z as revogr_overlay_selection,fe as revogr_row_headers,Q as revogr_scroll_virtual,$ as revogr_temp_range};
@@ -0,0 +1,2 @@
1
+ import{_ as e,d as t,g as n,h as r,m as i,r as a}from"./debounce-PCRWZliA-BjJpj_P7.js";import{A as o,O as s,u as c}from"./dimension.helpers-CGKwSvw6-D_czicbS.js";import"./index-Db3qZoW5-peeY7EGw.js";import{o as l}from"./edit.utils-Dnnbd0xG-OAxDw8WC.js";import{t as u}from"./text-editor-C3RUSwH5-DuDr9wKc.js";var d=class{constructor(t){e(this,t),this.beforePaste=i(this,`beforepaste`,7),this.beforePasteApply=i(this,`beforepasteapply`,7),this.pasteRegion=i(this,`pasteregion`,7),this.afterPasteApply=i(this,`afterpasteapply`,7),this.beforeCut=i(this,`beforecut`,7),this.clearRegion=i(this,`clearregion`,7),this.beforeCopy=i(this,`beforecopy`,7),this.beforeCopyApply=i(this,`beforecopyapply`,7),this.copyRegion=i(this,`copyregion`,7)}onPaste(e){if(this.readonly)return;let t=this.getData(e),n=(t?.types.indexOf(`text/html`)||-1)>-1,r=(n?t?.getData(`text/html`):t?.getData(`text`))||``,i=t?.getData(`text`)||``,a=this.beforePaste.emit({raw:r,dataText:i,isHTML:n,event:e});if(a.defaultPrevented)return;let o;o=a.detail.isHTML?this.htmlParse(a.detail.raw)||this.textParse(i||``):this.textParse(a.detail.raw);let s=this.beforePasteApply.emit({raw:r,parsed:o,dataText:i,event:e});s.defaultPrevented||(this.pasteRegion.emit(s.detail.parsed),!this.afterPasteApply.emit({raw:r,parsed:o,dataText:i,event:e}).defaultPrevented&&e.preventDefault())}copyStarted(e){let t=this.beforeCopy.emit({event:e});if(t.defaultPrevented)return;let n=this.getData(t.detail.event);e.preventDefault(),this.copyRegion.emit(n||void 0)}cutStarted(e){let t=this.beforeCut.emit({event:e});if(t.defaultPrevented)return;let n=this.getData(t.detail.event);this.copyStarted(e),!this.readonly&&(this.clearRegion.emit(n||void 0),e.preventDefault())}async doCopy(e,t){if(this.beforeCopyApply.emit({event:e,data:t}).defaultPrevented)return;let n=t?this.parserCopy(t):``;e.setData(`text/plain`,n)}parserCopy(e){return e.map(e=>e.join(` `)).join(`
2
+ `)}textParse(e){let t=[],n=e.split(/\r\n|\n|\r/);for(let e in n)t.push(n[e].split(` `));return t}htmlParse(e){let t=[],n=document.createRange().createContextualFragment(e).querySelector(`table`);if(!n)return null;for(let e of Array.from(n.rows))t.push(Array.from(e.cells).map(e=>e.innerText));return t}getData(e){return e.clipboardData||(window==null?void 0:window.clipboardData)}},f=()=>`revogr-edit{display:block;position:absolute;background-color:#fff}revogr-edit input{height:100%;width:100%;box-sizing:border-box}revogr-edit revo-dropdown{height:100%}revogr-edit revo-dropdown.shrink fieldset legend>span{display:none}`,p=class{constructor(t){e(this,t),this.cellEdit=i(this,`celleditinit`,7),this.closeEdit=i(this,`closeedit`,7),this.saveOnClose=!1,this.currentEditor=null,this.preventSaveOnClose=!1}async cancelChanges(){this.preventSaveOnClose=!0}async beforeDisconnect(){var e,t;(t=(e=this.currentEditor)?.beforeDisconnect)==null||t.call(e)}onAutoSave(){var e;this.preventSaveOnClose=!0;let t=((e=this.currentEditor)?.getValue)?.call(e);this.currentEditor?.beforeAutoSave&&this.currentEditor.beforeAutoSave(t)===!1||this.onSave(t,!0)}onSave(e,t){this.preventSaveOnClose=!0,this.editCell&&this.cellEdit.emit({rgCol:this.editCell.x,rgRow:this.editCell.y,type:this.editCell.type,prop:this.editCell.prop,val:e,preventFocus:t})}componentWillRender(){if(!(this.currentEditor||!this.column)){if(this.preventSaveOnClose=!1,this.editor){l(this.editor)?this.currentEditor=new this.editor(this.column,(e,t)=>{this.onSave(e,t)},e=>{this.preventSaveOnClose=!0,this.closeEdit.emit(e)}):this.currentEditor=this.editor(this.column,(e,t)=>{this.onSave(e,t)},e=>{this.preventSaveOnClose=!0,this.closeEdit.emit(e)});return}this.currentEditor=new u(this.column,(e,t)=>this.onSave(e,t))}}componentDidRender(){var e,t;this.currentEditor&&(this.currentEditor.element=this.element.firstElementChild,(t=(e=this.currentEditor).componentDidRender)==null||t.call(e))}disconnectedCallback(){var e,t;this.saveOnClose&&(this.preventSaveOnClose||this.onAutoSave()),this.preventSaveOnClose=!1,this.currentEditor&&=((t=(e=this.currentEditor).disconnectedCallback)==null||t.call(e),this.currentEditor.element=null,null)}render(){return this.currentEditor?(this.currentEditor.editCell=this.editCell,n(t,{class:c},this.currentEditor.render(n,this.additionalData))):``}get element(){return r(this)}};p.style=f();var m=class{constructor(e){this.config=e,this.currentCell=null,this.previousRow=null}endOrder(e,t){if(this.currentCell===null)return;let n=this.getCell(e,t);n.y!==this.currentCell.y&&(n.y<0?n.y=0:n.y<this.currentCell.y&&n.y++,this.config.positionChanged(this.currentCell.y,n.y)),this.clear()}startOrder(e,t){return this.currentCell=this.getCell(e,t),this.currentCell}move(e,t){let n=this.getRow(e,t);return this.previousRow===n.itemIndex||n.itemIndex<-1?null:(this.previousRow=n.itemIndex,n)}clear(){this.currentCell=null,this.previousRow=null}getRow(e,{el:t,rows:n}){let{top:r}=t.getBoundingClientRect(),i=e-r,a=n.renderOffset||0,o=s(n,i+a);return{itemIndex:o.itemIndex,start:o.start-a+r,end:o.end-a+r}}getCell({x:e,y:t},{el:n,rows:r,cols:i}){let{top:a,left:o}=n.getBoundingClientRect(),c=t-a,l=e-o,u=s(r,c+(r.renderOffset||0));return{x:s(i,l+(i.renderOffset||0)).itemIndex,y:u.itemIndex}}},h=class{constructor(t){e(this,t),this.rowDragStart=i(this,`rowdragstartinit`,7),this.rowDragEnd=i(this,`rowdragendinit`,7),this.rowDrag=i(this,`rowdragmoveinit`,7),this.rowMouseMove=i(this,`rowdragmousemove`,7),this.rowDropped=i(this,`rowdropinit`,7),this.rowOrderChange=i(this,`roworderchange`,7),this.events=[],this.rowMoveFunc=a(e=>{let t=this.rowOrderService.move(e,this.getData());t!==null&&this.rowDrag.emit(Object.assign(Object.assign({},t),{rowType:this.rowType}))},5)}async dragStart(e){e.originalEvent.preventDefault(),this.events.length&&this.clearOrder();let t=this.getData(),n=this.rowOrderService.startOrder(e.originalEvent,t),r=this.rowOrderService.getRow(e.originalEvent.y,t);if(this.rowDragStart.emit({cell:n,text:`Draggable item`,pos:r,event:e.originalEvent,rowType:this.rowType,model:o(this.dataStore,r.itemIndex)}).defaultPrevented)return;let i=e=>this.move(e),a=e=>this.endOrder(e),s=()=>this.clearOrder();this.events.push({name:`mousemove`,listener:i},{name:`mouseup`,listener:a},{name:`mouseleave`,listener:s}),document.addEventListener(`mousemove`,i),document.addEventListener(`mouseup`,a),document.addEventListener(`mouseleave`,s)}async endOrder(e){this.rowOrderService.endOrder(e,this.getData()),this.clearOrder()}async clearOrder(){this.rowOrderService.clear(),this.events.forEach(e=>document.removeEventListener(e.name,e.listener)),this.events.length=0,this.rowDragEnd.emit({rowType:this.rowType})}move({x:e,y:t}){this.rowMouseMove.emit({x:e,y:t,rowType:this.rowType}),this.rowMoveFunc(t)}connectedCallback(){this.rowOrderService=new m({positionChanged:(e,t)=>{let n=this.rowDropped.emit({from:e,to:t,rowType:this.rowType});n.defaultPrevented||this.rowOrderChange.emit(n.detail)}})}getData(){return{el:this.parent,rows:this.dimensionRow.state,cols:this.dimensionCol.state}}};export{d as revogr_clipboard,p as revogr_edit,h as revogr_order_editor};
@@ -0,0 +1 @@
1
+ import{_ as e,d as t,g as n,h as r,m as i}from"./debounce-PCRWZliA-BjJpj_P7.js";import{A as a,D as o,d as s,g as c,h as l,i as u,m as d,p as f,r as p,v as m}from"./dimension.helpers-CGKwSvw6-D_czicbS.js";import{j as h,t as g}from"./column.service-C6hByxPy-XG9X0y3N.js";import{i as _,r as v,t as y}from"./viewport.helpers-CoCAvmZs-ByVRjjkF.js";import{r as b}from"./filter.button-BFwo1uvz-CyvQhOO5.js";import{t as x}from"./header-cell-renderer-BMmXRsd_-BHbC7fao.js";import{i as S,n as C,r as w,t as T}from"./throttle-CaUDyxyU-Djj__DCp.js";import{i as E,n as D,r as O,t as k}from"./cell-renderer-CLTRlCa5-DIlwS99c.js";var A=class{constructor(){this.currentRange=null}selectionChange(e,t){if(this.currentRange&&t.forEach((t,n)=>{e&&n>=e.y&&n<=e.y1||t&&t.$elm$ instanceof HTMLElement&&t.$elm$.classList.contains(`focused-rgRow`)&&(t.$elm$.classList.remove(m),t.$attrs$?.class.includes(`focused-rgRow`)&&(t.$attrs$.class=t.$attrs$.class.replace(m,``)))}),e)for(let n=e.y;n<=e.y1;n++){let e=t.get(n);if(e&&e.$elm$ instanceof HTMLElement&&!e.$elm$.classList.contains(`focused-rgRow`)){let t=e.$attrs$=e.$attrs$||{};t.class=(t.class||``)+` `+m,e.$elm$.classList.add(m)}}this.currentRange=e}isRowFocused(e){return this.currentRange&&e>=this.currentRange.y&&e<=this.currentRange.y1}};function j(e,t){return new Promise(n=>{let r=document.createElement(`vnode-html`);e.appendChild(r),r.redraw=t,r.addEventListener(`html`,e=>{r.remove(),n(e.detail)})})}var M=()=>`.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:"::";display:inline-block}.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}revogr-data{display:block;width:100%;position:relative}revogr-data .rgRow{position:absolute;width:100%;left:0}revogr-data .rgRow.groupingRow{font-weight:600;text-align:left}revogr-data .rgRow.groupingRow .group-expand{width:25px;height:100%;max-height:25px;margin-right:2px;background-color:transparent;border-color:transparent;vertical-align:middle;padding-left:5px;display:inline-flex}revogr-data .rgRow.groupingRow .group-expand svg{width:7px}revogr-data .revo-draggable{border:none;height:32px;display:inline-flex;outline:0;padding:0;font-size:0.8125rem;box-sizing:border-box;align-items:center;white-space:nowrap;vertical-align:middle;justify-content:center;text-decoration:none;width:24px;height:100%;cursor:pointer;display:inline-flex}revogr-data .revo-draggable:hover>.revo-drag-icon{opacity:1;zoom:1.2;font-weight:600}revogr-data .revo-draggable>.revo-drag-icon{pointer-events:none;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, zoom 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}revogr-data .rgCell{top:0;left:0;position:absolute;box-sizing:border-box;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}revogr-data .rgCell.align-center{text-align:center}revogr-data .rgCell.align-left{text-align:left}revogr-data .rgCell.align-right{text-align:right}`,N=class{constructor(t){e(this,t),this.beforerowrender=i(this,`beforerowrender`,7),this.afterrender=i(this,`afterrender`,7),this.beforeCellRender=i(this,`beforecellrender`,7),this.beforeDataRender=i(this,`beforedatarender`,7),this.dragStartCell=i(this,`dragstartcell`,7),this.jobsBeforeRender=[],this.renderedRows=new Map}async updateCell(e){let t=this.renderedRows.get(e.row)?.$children$?.[e.col];if(t?.$attrs$?.redraw){let e=await j(this.element,t.$attrs$.redraw);t.$elm$.innerHTML=e.html,t.$key$=Math.random()}}onDataStoreChange(){this.onStoreChange()}onColDataChange(){this.onStoreChange()}onStoreChange(){var e,t;(e=this.columnService)==null||e.destroy(),this.columnService=new g(this.dataStore,this.colData),this.providers={type:this.type,colType:this.colType,readonly:this.readonly,data:this.dataStore,columns:this.colData,viewport:this.viewportCol,dimension:this.dimensionRow,selection:this.rowSelectionStore},(t=this.rangeUnsubscribe)==null||t.call(this),this.rangeUnsubscribe=this.rowSelectionStore.onChange(`range`,e=>this.rowHighlightPlugin.selectionChange(e,this.renderedRows))}connectedCallback(){this.rowHighlightPlugin=new A,this.onStoreChange()}disconnectedCallback(){var e,t;(e=this.columnService)==null||e.destroy(),(t=this.rangeUnsubscribe)==null||t.call(this)}async componentWillRender(){return this.beforeDataRender.emit({rowType:this.type,colType:this.colType}),Promise.all(this.jobsBeforeRender.map(e=>typeof e==`function`?e():e))}componentDidRender(){this.afterrender.emit({type:this.type})}render(){if(this.renderedRows=new Map,!this.columnService.columns.length)return;let e=this.viewportRow.get(`items`);if(!e.length)return;let r=this.viewportCol.get(`items`);if(!r.length)return;let i=[],o=this.dataStore.get(`groupingDepth`),s=this.dataStore.get(`groupingCustomRenderer`),c=this.columnService.hasGrouping?o:0,l=this.viewportRow.get(`renderOffset`)||0,d=this.viewportCol.get(`renderOffset`)||0;for(let t of e){let e=a(this.dataStore,t.itemIndex);if(h(e)){let a=Object.assign(Object.assign({},t),{start:t.start-l,index:t.itemIndex,model:e,groupingCustomRenderer:s,hasExpand:this.columnService.hasGrouping&&this.colType!==`rowHeaders`,columnItems:r,providers:this.providers});i.push(n(D,Object.assign({},a)));continue}let o=[];for(let e of r){let r=Object.assign(Object.assign({},this.columnService.rowDataModel(t.itemIndex,e.itemIndex)),{providers:this.providers}),i=this.triggerBeforeCellRender(r,t,e);if(i.defaultPrevented)continue;let{detail:{column:a,row:s,model:l}}=i,f={[p]:a.itemIndex,[u]:s.itemIndex,style:{width:`${a.size}px`,transform:`translateX(${a.start-d}px)`,height:s.size?`${s.size}px`:void 0}};c&&!a.itemIndex&&f.style&&(f.style.paddingLeft=`${10*c}px`);let m=this.columnService.mergeProperties(s.itemIndex,a.itemIndex,f,l),h=n(k,{renderProps:{schemaModel:l,additionalData:this.additionalData,dragStartCell:this.dragStartCell},cellProps:m});o.push(h)}let f=this.rowClass?this.columnService.getRowClass(t.itemIndex,this.rowClass):``;this.rowHighlightPlugin.isRowFocused(t.itemIndex)&&(f+=` ${m}`);let g=n(O,{index:t.itemIndex,rowClass:f,size:t.size,start:t.start-l,groupingLevel:c||void 0},o);this.beforerowrender.emit({node:g,item:t,model:e,colType:this.columnService.type,rowType:this.type}),i.push(g),this.renderedRows.set(t.itemIndex,g)}return n(t,null,n(`slot`,null),i)}triggerBeforeCellRender(e,t,n){let r={column:n,row:t,model:e,rowType:e.type,colType:e.colType};return this.beforeCellRender.emit(r)}get element(){return r(this)}static get watchers(){return{dataStore:[{onDataStoreChange:0}],colData:[{onColDataChange:0}]}}};N.style=M();var P=e=>{let t=!!(e.data?.sortable||e.data?.order||e.data?.sortIndex),r={[d]:!0,[c]:!!e.data?.sortable};e.data?.order&&(r[e.data.order]=!0);let i={key:String(e.data?.prop??e.column.itemIndex),[p]:e.column.itemIndex,canResize:e.canResize,minWidth:e.data?.minSize||30,maxWidth:e.data?.maxSize,active:e.active||[`r`],class:r,style:{width:`${e.column.size}px`,transform:`translateX(${e.column.start-(e.renderOffset||0)}px)`},onResize:e.onResize,onDblClick(t){var n;(n=e.onDblClick)==null||n.call(e,{column:e.data,index:e.column.itemIndex,originalEvent:t,providers:e.data.providers})},onClick(t){t.defaultPrevented||!e.onClick||e.onClick({column:e.data,index:e.column.itemIndex,originalEvent:t,providers:e.data.providers})}};return e.range&&e.column.itemIndex>=e.range.x&&e.column.itemIndex<=e.range.x1&&typeof i.class==`object`&&(i.class[s]=!0),n(x,{data:e.data,props:i,additionalData:e.additionalData},t?n(E,{column:e.data}):null,e.canFilter&&e.data?.filter!==!1?n(b,{column:e.data}):``)},F=e=>{let t={key:`${e.group.name}-${e.group.indexes.join(`-`)}`,canResize:e.canResize,minWidth:e.group.indexes.length*30,maxWidth:0,active:e.active||[`r`],class:{[d]:!0},style:{transform:`translateX(${e.start-(e.renderOffset||0)}px)`,width:`${e.end-e.start}px`},onResize:e.onResize};return n(x,{data:Object.assign(Object.assign({},e.group),{prop:``,providers:e.providers,index:e.start}),props:t,additionalData:e.additionalData})},I=()=>`@charset "UTF-8";revogr-header{position:relative;z-index:5;display:block}revogr-header .header-rgRow{display:block;position:relative}revogr-header .header-rgRow.group{z-index:0}revogr-header .group-rgRow{position:relative;overflow:hidden}revogr-header .rgHeaderCell{position:absolute;box-sizing:border-box;height:100%;z-index:1;display:flex}revogr-header .rgHeaderCell.align-center{text-align:center}revogr-header .rgHeaderCell.align-left{text-align:left}revogr-header .rgHeaderCell.align-right{text-align:right}revogr-header .rgHeaderCell.sortable{cursor:pointer}revogr-header .rgHeaderCell .sort-indicator{display:inline-flex;align-items:flex-start;gap:1px}revogr-header .rgHeaderCell .sort-indicator i.asc:after,revogr-header .rgHeaderCell .sort-indicator i.desc:after{font-size:13px}revogr-header .rgHeaderCell .sort-indicator i.asc:after{content:"↑"}revogr-header .rgHeaderCell .sort-indicator i.desc:after{content:"↓"}revogr-header .rgHeaderCell .sort-indicator .sort-order-index{font-size:10px;line-height:1;top:0}revogr-header .rgHeaderCell.active{z-index:10}revogr-header .rgHeaderCell.active .resizable{background-color:deepskyblue}revogr-header .rgHeaderCell .header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}revogr-header .rgHeaderCell .resizable{display:block;position:absolute;z-index:90;touch-action:none;user-select:none}revogr-header .rgHeaderCell .resizable:hover{background-color:deepskyblue}revogr-header .rgHeaderCell>.resizable-r{cursor:ew-resize;width:6px;right:0;top:0;height:100%}revogr-header .rgHeaderCell>.resizable-rb{cursor:se-resize;width:6px;height:6px;right:0;bottom:0}revogr-header .rgHeaderCell>.resizable-b{cursor:s-resize;height:6px;bottom:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-lb{cursor:sw-resize;width:6px;height:6px;left:0;bottom:0}revogr-header .rgHeaderCell>.resizable-l{cursor:w-resize;width:6px;left:0;height:100%;top:0}revogr-header .rgHeaderCell>.resizable-lt{cursor:nw-resize;width:6px;height:6px;left:0;top:0}revogr-header .rgHeaderCell>.resizable-t{cursor:n-resize;height:6px;top:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-rt{cursor:ne-resize;width:6px;height:6px;right:0;top:0}revogr-header .rv-filter{visibility:hidden}`,L=class{constructor(t){e(this,t),this.initialHeaderClick=i(this,`beforeheaderclick`,7),this.headerresize=i(this,`headerresize`,7),this.beforeResize=i(this,`beforeheaderresize`,7),this.headerdblClick=i(this,`headerdblclick`,7),this.beforeHeaderRender=i(this,`beforeheaderrender`,7),this.beforeGroupHeaderRender=i(this,`beforegroupheaderrender`,7),this.afterHeaderRender=i(this,`afterheaderrender`,7),this.groupingDepth=0,this.additionalData={}}onResize({width:e},t){let n=this.colData[t];this.beforeResize.emit([Object.assign(Object.assign({},n),{size:e||void 0})]).defaultPrevented||this.headerresize.emit({[t]:e||0})}onResizeGroup(e,t,n){let r={},i=e/(n-t+1);for(let e=t;e<=n;e++){let t=o(this.dimensionCol.state,e);r[e]=t.end-t.start+i}this.headerresize.emit(r)}componentDidRender(){this.afterHeaderRender.emit(this.providers)}render(){let e=this.viewportCol.get(`items`),t=this.selectionStore?.get(`range`),{cells:r}=this.renderHeaderColumns(e,t);return[n(`div`,{key:`3cc466db6bc4df0cd61c47a22c3a0473318e5dd8`,class:`group-rgRow`},this.renderGroupingColumns()),n(`div`,{key:`9742a3fa4d4b75073aef5544806f42386ebffdea`,class:`${l} ${f}`},r)]}renderHeaderColumns(e,t){let r=[],i=this.viewportCol.get(`renderOffset`)||0;for(let n of e){let e=this.colData[n.itemIndex],a={range:t,column:n,data:Object.assign(Object.assign({},e),{index:n.itemIndex,providers:this.providers}),canFilter:!!this.columnFilter,canResize:this.canResize,renderOffset:i,active:this.resizeHandler,additionalData:this.additionalData,onResize:e=>this.onResize(e,n.itemIndex),onDblClick:e=>this.headerdblClick.emit(e),onClick:e=>this.initialHeaderClick.emit(e)},o=this.beforeHeaderRender.emit(a);o.defaultPrevented||r.push(o.detail)}let a=this.getDuplicateHeaderProps(r);return{cells:r.map(e=>n(P,Object.assign({key:this.getHeaderCellKey(e.data,this.type,a)},e)))}}renderGroupingColumns(){let e=this.getVisibleGroupRange();return Array.from({length:this.groupingDepth},(t,n)=>this.renderGroupRow(n,e)).flat()}renderGroupRow(e,t){return[...(this.groups[e]||[]).map(n=>this.renderGroupColumn(n,e,t)).filter(e=>!!e),n(`div`,{key:`group-row-${e}`,class:{[l]:!0,group:!0}})]}renderGroupColumn(e,t,r){let i=this.getGroupIndexRange(e),a=this.getGroupBounds(i),o={level:t,providers:this.providers,start:a.start,end:a.end,group:e,renderOffset:this.viewportCol.get(`renderOffset`)||0,active:this.resizeHandler,canResize:this.canResize,additionalData:this.additionalData,onResize:e=>i?this.onResizeGroup(e.changedX??0,i.startIndex,i.endIndex):void 0},s=this.beforeGroupHeaderRender.emit(o);if(s.defaultPrevented)return;let c=this.getGroupIndexRange(s.detail.group);if(!c||!r||!R(c.startIndex,c.endIndex,r))return;s.detail.onResize===o.onResize&&(s.detail.onResize=e=>this.onResizeGroup(e.changedX??0,c.startIndex,c.endIndex));let l=this.getGroupBounds(c);return s.detail.start===o.start&&(s.detail.start=l.start),s.detail.end===o.end&&(s.detail.end=l.end),n(F,Object.assign({key:this.getGroupHeaderCellKey(s.detail.group,t)},s.detail))}getGroupIndexRange(e){let t=e.indexes[0]??-1;if(!(t<0))return{startIndex:t,endIndex:e.indexes[e.indexes.length-1]}}getGroupBounds(e){return e?{start:o(this.dimensionCol.state,e.startIndex).start,end:o(this.dimensionCol.state,e.endIndex).end}:{start:0,end:0}}getVisibleGroupRange(){let e=this.viewportCol.get(`items`);if(e.length)return e.reduce((e,t)=>({start:Math.min(e.start,t.itemIndex),end:Math.max(e.end,t.itemIndex)}),{start:e[0].itemIndex,end:e[0].itemIndex})}getHeaderCellKey(e,t,n){if(e?.prop===void 0)return`${t}-${String(e?.index)}`;let r=String(e.prop);return n.has(r)?`${t}-${r}-${String(e.index)}`:`${t}-${r}`}getDuplicateHeaderProps(e){let t=new Set,n=new Set;return e.forEach(({data:e})=>{if(e?.prop!==void 0){let r=String(e.prop);t.has(r)?n.add(r):t.add(r)}}),n}getGroupHeaderCellKey(e,t){return`group-${t}-${e.name}-${e.indexes.join(`-`)}`}get providers(){return{type:this.type,readonly:this.readonly,data:this.colData,viewport:this.viewportCol,dimension:this.dimensionCol,selection:this.selectionStore}}get element(){return r(this)}};function R(e,t,n){return e<=n.end&&t>=n.start}L.style=I();var z=class{constructor(e,t,n){this.resize=t,this.resizeObserver=null,this.previousSize={width:0,height:0},this.apply=S(e=>{var t;let n={width:e.width,height:e.height};(t=this.resize)==null||t.call(this,n,this.previousSize),this.previousSize=n},40,{leading:!1,trailing:!0});let r=[];n.forEach(e=>{e&&r.push(e)}),this.init(e,r)}init(e,t=[]){let n=this.resizeObserver=new ResizeObserver(t=>{t.length&&(t[0].target===e?this.apply(t[0].contentRect):this.apply(e.getBoundingClientRect()))});n.observe(e),t.forEach(e=>{n.observe(e)})}destroy(){var e;this.apply.cancel(),(e=this.resizeObserver)==null||e.disconnect(),this.resizeObserver=null}},B=()=>`.rowHeaders{z-index:2;font-size:10px;display:flex;height:100%}.rowHeaders revogr-data .rgCell{text-align:center}.rowHeaders .rgCell{padding:0 1em !important;min-width:100%}revogr-viewport-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;position:relative;z-index:1;height:100%}revogr-viewport-scroll::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll.colPinStart,revogr-viewport-scroll.colPinEnd{z-index:2}revogr-viewport-scroll.colPinEnd:has(.active){overflow:visible}revogr-viewport-scroll.rgCol{flex-grow:1}revogr-viewport-scroll .content-wrapper{overflow:hidden}revogr-viewport-scroll .inner-content-table{display:flex;flex-direction:column;max-height:100%;width:100%;min-width:100%;position:relative;z-index:0}revogr-viewport-scroll .vertical-inner{overflow-y:auto;position:relative;width:100%;flex-grow:1;outline:none;-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll .vertical-inner::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll .vertical-inner revogr-data,revogr-viewport-scroll .vertical-inner revogr-overlay-selection{height:100%}`,V=class{constructor(t){e(this,t),this.scrollViewport=i(this,`scrollviewport`,7),this.resizeViewport=i(this,`resizeviewport`,7),this.scrollchange=i(this,`scrollchange`,7),this.silentScroll=i(this,`scrollviewportsilent`,7),this.contentWidth=0,this.contentHeight=0,this.noHorizontalScrollTransfer=!1}async setScroll(e){var t;this.localScrollTimer.latestScrollUpdate(e.dimension),(t=this.localScrollService)==null||t.setScroll(e)}async changeScroll(e,t=!1){if(t){if(e.coordinate&&this.verticalScroll)switch(e.dimension){case`rgRow`:this.verticalScroll.style.transform=`translateY(${-1*e.coordinate}px)`;break}return}if(e.delta){let t=0;switch(e.dimension){case`rgCol`:t=this.horizontalScroll.scrollLeft;break;case`rgRow`:t=this.verticalScroll?.scrollTop??0;break}return this.localScrollService?.setScrollByDelta(e,t)??e}return e}mousewheelVertical({detail:e}){this.verticalMouseWheel(e)}mousewheelHorizontal({detail:e}){this.horizontalMouseWheel(e)}scrollApply({detail:{type:e,coordinate:t}}){this.applyOnScroll(e,t,!0)}connectedCallback(){this.verticalMouseWheel=this.onVerticalMouseWheel.bind(this,`rgRow`,`deltaY`),this.horizontalMouseWheel=this.onHorizontalMouseWheel.bind(this,`rgCol`,`deltaX`),this.localScrollTimer=new C(`ontouchstart`in document.documentElement?0:10),this.localScrollService=new T({runScroll:e=>this.scrollViewport.emit(e),applyScroll:e=>{switch(this.localScrollTimer.setCoordinate(e),e.dimension){case`rgCol`:this.horizontalScroll.scrollLeft=e.coordinate;break;case`rgRow`:this.verticalScroll&&(this.verticalScroll.scrollTop=e.coordinate,this.verticalScroll.style.transform&&(this.verticalScroll.style.transform=``));break}}})}componentDidLoad(){this.resizeService=new z(this.horizontalScroll,e=>{var t;let n={},r=e.height||0;r&&(r-=(this.header?.clientHeight??0)+(this.footer?.clientHeight??0)),n.rgRow={size:r,contentSize:this.contentHeight,scroll:this.verticalScroll?.scrollTop??0,noScroll:!1};let i=e.width||0;n.rgCol={size:i,contentSize:this.contentWidth,scroll:this.horizontalScroll.scrollLeft,noScroll:this.colType!==`rgCol`},this.setScrollParams({rgRow:r,rgCol:i});for(let e of[`rgCol`,`rgRow`]){let r=n[e];r&&(this.resizeViewport.emit({dimension:e,size:r.size,rowHeader:this.rowHeader}),!r.noScroll&&((t=this.localScrollService)==null||t.scroll(r.scroll??0,e,!0),this.setScrollVisibility(e,r.size,r.contentSize)))}},[this.footer,this.header])}setScrollVisibility(e,t,n){let r=t<n,i;switch(e){case`rgCol`:i=this.horizontalScroll;break;case`rgRow`:i=this.verticalScroll;break}r?i?.classList.add(`scroll-${e}`):i?.classList.remove(`scroll-${e}`),this.scrollchange.emit({type:e,hasScroll:r})}disconnectedCallback(){var e;(e=this.resizeService)==null||e.destroy()}async componentDidRender(){this.setScrollParams({rgRow:this.verticalScroll?.clientHeight??0,rgCol:this.horizontalScroll.clientWidth}),this.setScrollVisibility(`rgRow`,this.verticalScroll?.clientHeight??0,this.contentHeight),this.setScrollVisibility(`rgCol`,this.horizontalScroll.clientWidth,this.contentWidth)}setScrollParams(e){this.localScrollService.setParams({contentSize:this.contentHeight,clientSize:e.rgRow,virtualSize:0},`rgRow`),this.localScrollService.setParams({contentSize:this.contentWidth,clientSize:e.rgCol,virtualSize:0},`rgCol`)}render(){let e=this.verticalScroll?.clientHeight??0,r=this.contentHeight<e?Math.max(this.contentHeight,0):w(this.contentHeight,e),i=w(this.contentWidth,0);return n(t,{key:`3dd9d29cf26743d7aa4995f51180d56008526e54`,onWheel:this.horizontalMouseWheel,onScroll:e=>this.applyScroll(`rgCol`,e)},n(`div`,{key:`af75428e845044c33eba2fecd1ec04a9177b9b5c`,class:`inner-content-table`,style:{width:`${i}px`}},n(`div`,{key:`a0149f597588371e1fafe69efc3bd4411379a017`,class:`header-wrapper`,ref:e=>this.header=e},n(`slot`,{key:`e5d2570bf93897cd97ef702141c83bb8c0e13ee2`,name:_})),n(`div`,{key:`d1388ff0d721dd8ce925b934bb2128fddc1ac17b`,class:`vertical-inner`,ref:e=>this.verticalScroll=e,onWheel:this.verticalMouseWheel,onScroll:e=>this.applyScroll(`rgRow`,e)},n(`div`,{key:`a306ff56f62279402e2a881a081e3224341d5bdf`,class:`content-wrapper`,style:{height:`${r}px`}},n(`slot`,{key:`898bda8e9429da06c9ff2bd41626ac27f3cde3cc`,name:y}))),n(`div`,{key:`5e9eba1edd5fca07a964971054a7900e4dd84099`,class:`footer-wrapper`,ref:e=>this.footer=e},n(`slot`,{key:`f233ad1c23b3f692c45e1db235cfef4704a80726`,name:v}))))}async applyScroll(e,t){if(!(t.target instanceof HTMLElement))return;let n=0;switch(e){case`rgCol`:n=t.target.scrollLeft;break;case`rgRow`:n=t.target.scrollTop;break}if(n<0){this.silentScroll.emit({dimension:e,coordinate:n});return}this.applyOnScroll(e,n)}applyOnScroll(e,t,n=!1){let r=()=>{var r;(r=this.localScrollService)==null||r.scroll(t,e,void 0,void 0,n)};this.localScrollTimer.isReady(e,t)?r():this.localScrollTimer.throttleLastScrollUpdate(e,t,()=>r())}onVerticalMouseWheel(e,t,n){var r,i;let a=this.verticalScroll?.scrollTop??0,o=this.verticalScroll?.clientHeight??0,s=this.verticalScroll?.scrollHeight??0,c=a+o>=s&&n.deltaY>0,l=a===0&&n.deltaY<0;!c&&!l&&((r=n.preventDefault)==null||r.call(n));let u=a+n[t];(i=this.localScrollService)==null||i.scroll(u,e,void 0,n[t]),this.localScrollTimer.latestScrollUpdate(e)}onHorizontalMouseWheel(e,t,n){var r,i,a,o;if(!n.deltaX)return;let{scrollLeft:s,scrollWidth:c,clientWidth:l}=this.horizontalScroll,u=s+l>=c&&n.deltaX>0,d=s===0&&n.deltaX<0;if(this.noHorizontalScrollTransfer){if(!u&&!d){let a=s+n[t];(r=n.preventDefault)==null||r.call(n),this.horizontalScroll.scrollLeft=a,(i=this.localScrollService)==null||i.scroll(this.horizontalScroll.scrollLeft,e,void 0,n[t]),this.localScrollTimer.latestScrollUpdate(e)}return}!u&&!d&&((a=n.preventDefault)==null||a.call(n));let f=s+n[t];(o=this.localScrollService)==null||o.scroll(f,e,void 0,n[t]),this.localScrollTimer.latestScrollUpdate(e)}get horizontalScroll(){return r(this)}};V.style=B();var H=class{constructor(t){e(this,t),this.html=i(this,`html`,7),this.redraw=null,this.vnodes=[]}componentDidRender(){this.html.emit({html:this.el.innerHTML,vnodes:this.vnodes})}render(){return this.vnodes=this.redraw?.call(this)??null,n(t,{key:`11b76ca8a86ebf279add88bbd86ef9eb5149605a`,style:{visibility:`hidden`,position:`absolute`}},this.vnodes)}get el(){return r(this)}};export{N as revogr_data,L as revogr_header,V as revogr_viewport_scroll,H as vnode_html};
@@ -0,0 +1 @@
1
+ import{_ as e,d as t,g as n,h as r,m as i,r as a}from"./debounce-PCRWZliA-BjJpj_P7.js";import{a as o,i as s,o as c,t as l}from"./filter.button-BFwo1uvz-CyvQhOO5.js";(function(){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){let t=this;do{if(Element.prototype.matches.call(t,e))return t;t=t.parentElement||t.parentNode}while(t!==null&&t.nodeType===1);return null})})();var u=`text/revogrid-filter-id`;function d(e,t){e&&(e.effectAllowed=`move`,e.setData(u,String(t)),e.setData(`text/plain`,String(t)))}function f(e){if(!e)return;let t=(e.getData(u)||e.getData(`text/plain`)).trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}function p(e,t,n){if(t===n)return!1;let r=e.findIndex(e=>e.id===t),i=e.findIndex(e=>e.id===n);if(r===-1||i===-1||r===i)return!1;let a=e.map(e=>e.relation??`and`),[o]=e.splice(r,1);return e.splice(i,0,o),e.forEach((t,n)=>{t.relation=n===e.length-1?`and`:a[n]??`and`}),!0}var m=()=>`.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#4545ff;height:32px;line-height:32px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037}.revo-button.red{background-color:#E0662E}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.outline{border:1px solid #dbdbdb;line-height:30px;background:none;color:#000;box-shadow:none}revo-grid[theme^=dark] .revo-button.outline{border:1px solid #404040;color:#d8d8d8}revogr-filter-panel{position:absolute;display:block;top:0;left:0;z-index:100;max-height:calc(100% - 80px);overflow:auto;opacity:1;transform:none;background-color:var(--revo-grid-filter-panel-bg, #fff);border:1px solid var(--revo-grid-filter-panel-border, #cecece);transform-origin:62px 0px;box-shadow:0 5px 18px -2px var(--revo-grid-filter-panel-shadow, rgba(0, 0, 0, 0.15));padding:10px;border-radius:8px;min-width:220px;text-align:left;animation:revogr-filter-panel-open 140ms cubic-bezier(0.2, 0, 0, 1)}revogr-filter-panel .filter-holder>div{display:flex;flex-direction:column}revogr-filter-panel label{font-size:13px;display:block;padding:8px 0}revogr-filter-panel select{width:100%}revogr-filter-panel input[type=text]{border:0;min-height:34px;margin:5px 0;background:var(--revo-grid-filter-panel-input-bg, #f3f3f3);border-radius:5px;padding:0 10px;box-sizing:border-box;width:100%}revogr-filter-panel .filter-actions{text-align:right;margin-right:-5px}revogr-filter-panel .filter-actions button{margin-top:10px;margin-right:5px}@keyframes revogr-filter-panel-open{from{opacity:0;transform:translateY(-4px) scale(0.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){revogr-filter-panel{animation:none}}.rgHeaderCell:hover .rv-filter{transition:opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}.rgHeaderCell:hover .rv-filter,.rgHeaderCell .rv-filter.active{opacity:1}.rgHeaderCell .rv-filter{height:24px;width:24px;background:none;border:0;opacity:0;visibility:visible;cursor:pointer;border-radius:4px}.rgHeaderCell .rv-filter.active{color:#10224a}.rgHeaderCell .rv-filter .filter-img{color:gray;width:11px}.select-css{display:block;font-family:sans-serif;line-height:1.3;padding:0.6em 1.4em 0.5em 0.8em;width:100%;max-width:100%;box-sizing:border-box;margin:0;border:1px solid var(--revo-grid-filter-panel-select-border, #d9d9d9);box-shadow:transparent;border-radius:0.5em;appearance:none;background-color:var(--revo-grid-filter-panel-input-bg, #f3f3f3);background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat, repeat;background-position:right 0.7em top 50%, 0 0;background-size:0.65em auto, 100%;}.select-css::-ms-expand{display:none}.select-css:hover{border-color:var(--revo-grid-filter-panel-select-border, #d9d9d9)}.select-css:focus{border-color:var(--revo-grid-filter-panel-select-border-hover, #d9d9d9);box-shadow:0 0 1px 3px rgba(59, 153, 252, 0.7);box-shadow:0 0 0 3px -moz-mac-focusring;outline:none}.select-css option{font-weight:normal}.select-css:disabled,.select-css[aria-disabled=true]{color:gray;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #ffffff 100%)}.select-css:disabled:hover,.select-css[aria-disabled=true]{border-color:var(--revo-grid-filter-panel-select-border, #d9d9d9)}.multi-filter-list{margin-top:5px;margin-bottom:5px}.multi-filter-list div{white-space:nowrap}.multi-filter-list .multi-filter-list-row{display:flex;align-items:center;gap:6px}.multi-filter-list .multi-filter-list-action{display:flex;flex:0 0 auto;justify-content:flex-end;align-items:center}.multi-filter-list .and-or-button{margin:0 0 0 10px;min-width:58px;cursor:pointer}.multi-filter-list .trash-button{margin:0 0 -2px 6px;cursor:pointer;width:22px;height:100%;font-size:16px}.multi-filter-list .trash-button .trash-img{width:1em}.multi-filter-list .reorder-button{border:0;background:transparent;color:var(--revo-grid-filter-panel-reorder-color, #6b7280);cursor:grab;font-family:monospace;font-size:12px;letter-spacing:0;line-height:1;padding:6px 2px;transform:scaleX(0.8);width:16px}.multi-filter-list .reorder-button.filter-row-dragging{opacity:0.55}.multi-filter-list .reorder-button.filter-row-drag-over{color:var(--revo-grid-filter-panel-reorder-accent, #007cb2)}.multi-filter-list .reorder-button:active{cursor:grabbing}.add-filter-divider{display:block;margin:0 -10px 10px -10px;border-bottom:1px solid var(--revo-grid-filter-panel-divider, #d9d9d9);height:10px}.select-input{display:flex;align-items:center;flex:1 1 auto;gap:6px;min-width:0}.select-input .select-filter,.select-input .filter-extra{flex:1 1 0;min-width:0}.select-input .filter-extra{display:flex}.select-input .filter-extra>*{width:100%}.select-input input[type=text],.select-input input[type=date]{margin:0}`,h=`none`,g=`multi-filter-list`,_=`multi-filter-list-action`,v=`add-filter`,y=class{constructor(t){e(this,t),this.filterChange=i(this,`filterChange`,7),this.resetChange=i(this,`resetChange`,7),this.filterCaptionsInternal={title:`Filter by`,ok:`Close`,save:`Save`,reset:`Reset`,cancel:`Cancel`,add:`Add condition`,placeholder:`Enter value...`,and:`and`,or:`or`},this.isFilterIdSet=!1,this.filterId=0,this.currentFilterId=-1,this.currentFilterType=h,this.filterItems={},this.filterNames={},this.filterEntities={},this.disableDynamicFiltering=!1,this.closeOnOutsideClick=!0,this.debouncedApplyFilter=a(()=>{this.filterChange.emit(this.filterItems)},400)}onMouseDown(e){if(!this.changes)return;let t=e.composedPath(),n=document.getElementById(v);if(n instanceof HTMLSelectElement){if(t.includes(n))return;n.value=h}this.currentFilterType=h,this.changes&&(this.changes.type=h),this.currentFilterId=-1;let r=!t.includes(this.element);e.target instanceof HTMLElement&&r&&!c(e.target)&&this.closeOnOutsideClick&&(this.changes=void 0)}async show(e){this.changes=e,this.filterItems=e?.filterItems||{},this.changes&&(this.changes.type=this.changes.type||h)}async getChanges(){return this.changes}componentWillRender(){if(!this.isFilterIdSet){this.isFilterIdSet=!0;let e=Object.keys(this.filterItems);for(let t of e)this.filterId+=this.filterItems[t].length}}getFilterItemsList(){let e=this.changes?.prop;if(e===void 0)return``;let t=this.filterItems[e]??[],r=t.filter(e=>!e.hidden).length,i=Object.assign(this.filterCaptionsInternal,this.filterCaptions);return n(`div`,{key:this.filterId},t.map((t,a)=>{let c;if(t.hidden)return;a!==this.filterItems[e].length-1&&(c=n(`div`,{onClick:()=>this.toggleFilterAndOr(t.id)},n(l,{text:t.relation===`and`?i.and:i.or})));let u=this.renderExtra(e,a);return n(`div`,{key:t.id,class:g},n(`div`,{ref:e=>e?.classList.add(`multi-filter-list-row`)},r>1?n(s,{dragging:this.draggedFilterId===t.id,dragOver:this.dragOverFilterId===t.id&&this.draggedFilterId!==t.id,onDragStart:e=>this.onFilterDragStart(e,t.id),onDragEnd:()=>this.onFilterDragEnd(),onDragOver:e=>this.onFilterDragOver(e,t.id),onDragLeave:()=>this.onFilterDragLeave(t.id),onDrop:n=>this.onFilterDrop(n,e,t.id)}):``,n(`div`,{class:{"select-input":!0}},n(`select`,{class:`select-css select-filter`,onChange:t=>this.onFilterTypeChange(t,e,a)},this.renderSelectOptions(this.filterItems[e][a].type,!0)),u?n(`div`,{class:`filter-extra`},u):``),n(`div`,{class:_},c,n(`div`,{onClick:()=>this.onRemoveFilter(t.id)},n(o,null)))))}),t.filter(e=>!e.hidden).length>0?n(`div`,{class:`add-filter-divider`}):``)}autoCorrect(e){if(!e)return;let t=e.closest(`revo-grid`);if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect().right-n.width;n.left>r&&e.offsetLeft&&(e.style.left=`${r-(e.parentElement?.getBoundingClientRect().left??0)}px`)}onFilterTypeChange(e,t,n){e.target instanceof HTMLSelectElement&&(this.filterItems[t][n].type=e.target.value,this.filterId++,setTimeout(()=>{let e=document.getElementById(`filter-input-`+this.filterItems[t][n].id);e instanceof HTMLInputElement&&e.focus()},0),this.disableDynamicFiltering||this.debouncedApplyFilter())}onAddNewFilter(e){let t=e.target;this.currentFilterType=t.value,this.addNewFilterToProp();let n=document.getElementById(`add-filter`);n&&(n.value=h,this.currentFilterType=h),this.disableDynamicFiltering||this.debouncedApplyFilter()}addNewFilterToProp(){let e=this.changes?.prop;(e||e===0)&&(this.filterItems[e]||(this.filterItems[e]=[]),this.currentFilterType!==`none`&&(this.filterId++,this.currentFilterId=this.filterId,this.filterItems[e].push({id:this.currentFilterId,type:this.currentFilterType,value:``,relation:`and`}),setTimeout(()=>{let e=document.getElementById(`filter-input-`+this.currentFilterId);e&&e.focus()},0)))}onSave(){this.filterChange.emit(this.filterItems)}onCancel(){this.changes=void 0}onReset(){this.assertChanges(),this.resetChange.emit(this.changes?.prop),this.filterId++}onRemoveFilter(e){this.assertChanges(),this.filterId++;let t=this.changes?.prop,n=this.filterItems[t??``];if(!n)return;let r=n.findIndex(t=>t.id===e);r!==-1&&(n.splice(r,1),n.length===0&&delete this.filterItems[t??``],this.disableDynamicFiltering||this.debouncedApplyFilter())}onFilterDragStart(e,t){this.draggedFilterId=t,d(e.dataTransfer,t)}onFilterDragOver(e,t){this.draggedFilterId===void 0||this.draggedFilterId===t||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),this.dragOverFilterId=t)}onFilterDragLeave(e){this.dragOverFilterId===e&&(this.dragOverFilterId=void 0)}onFilterDrop(e,t,n){e.preventDefault();let r=this.draggedFilterId??f(e.dataTransfer);if(this.onFilterDragEnd(),r===void 0)return;let i=this.filterItems[t];i&&p(i,r,n)&&(this.filterId++,this.disableDynamicFiltering||this.debouncedApplyFilter())}onFilterDragEnd(){this.draggedFilterId=void 0,this.dragOverFilterId=void 0}toggleFilterAndOr(e){this.assertChanges(),this.filterId++;let t=this.changes?.prop,n=this.filterItems[t??``];if(!n)return;let r=n.findIndex(t=>t.id===e);r!==-1&&(n[r].relation=n[r].relation===`and`?`or`:`and`,this.disableDynamicFiltering||this.debouncedApplyFilter())}assertChanges(){if(!this.changes)throw Error(`Changes required per edit`)}renderSelectOptions(e,t=!1){if(!this.changes)return;let r=[],i=this.changes.prop,a=new Set;if(Object.keys(this.filterItems).forEach(e=>{this.filterItems[e].forEach(e=>{e.hidden&&a.add(e.type)})}),!t){let e=Object.assign(this.filterCaptionsInternal,this.filterCaptions);r.push(n(`option`,{selected:this.currentFilterType===h,value:h},i&&this.filterItems[i]&&this.filterItems[i].length>0?e.add:this.filterNames[h]))}for(let t in this.changes.filterTypes){let i=this.changes.filterTypes[t].filter(e=>!a.has(e));i.length&&(r.push(...i.map(t=>n(`option`,{value:t,selected:e===t},this.filterNames[t]))),r.push(n(`option`,{disabled:!0})))}return r}renderExtra(e,t){let r=this.filterItems[e];if(!r)return``;let i=n=>{this.filterItems[e][t].value=n,this.disableDynamicFiltering||this.debouncedApplyFilter()},a=()=>{let e=document.getElementById(`add-filter`);e&&(e.value=h,this.currentFilterType=h,this.addNewFilterToProp(),e.focus())},o=Object.assign(this.filterCaptionsInternal,this.filterCaptions),s=this.filterEntities[r[t].type].extra;return typeof s==`function`?s(n,{value:r[t].value,filter:r[t],prop:e,index:t,placeholder:o.placeholder,onInput:e=>{i(e)},onFocus:()=>{a()}}):s!==`input`&&s!==`datepicker`?``:n(`input`,{id:`filter-input-${r[t].id}`,placeholder:o.placeholder,type:s===`datepicker`?`date`:`text`,value:r[t].value,onInput:e=>{e.target instanceof HTMLInputElement&&i(e.target.value)},onKeyDown:e=>{if(e.key.toLowerCase()===`enter`){document.getElementById(`add-filter`)&&a();return}e.stopPropagation()}})}render(){var e,r;if(!this.changes)return n(t,{style:{display:`none`}});let i={display:`block`,left:`${this.changes.x}px`,top:`${this.changes.y}px`},a=Object.assign(this.filterCaptionsInternal,this.filterCaptions);return n(t,{style:i,ref:e=>{this.changes?.autoCorrect!==!1&&this.autoCorrect(e)}},n(`slot`,{slot:`header`}),(e=this.changes).extraContent?.call(e,this.changes)||``,this.changes?.hideDefaultFilters!==!0&&[n(`label`,null,a.title),n(`div`,{class:`filter-holder`},this.getFilterItemsList()),n(`div`,{class:`add-filter`},n(`select`,{id:v,class:`select-css`,onChange:e=>this.onAddNewFilter(e)},this.renderSelectOptions(this.currentFilterType)))],n(`slot`,null),(r=this.changes).extraBottomContent?.call(r,this.changes)||``,n(`div`,{class:`filter-actions`},this.disableDynamicFiltering&&[n(`button`,{id:`revo-button-save`,"aria-label":`save`,class:`revo-button green`,onClick:()=>this.onSave()},a.save),n(`button`,{id:`revo-button-ok`,"aria-label":`ok`,class:`revo-button green`,onClick:()=>this.onCancel()},a.cancel)],!this.disableDynamicFiltering&&[n(`button`,{id:`revo-button-ok`,"aria-label":`ok`,class:`revo-button green`,onClick:()=>this.onCancel()},a.ok),n(`button`,{id:`revo-button-reset`,"aria-label":`reset`,class:`revo-button outline`,onClick:()=>this.onReset()},a.reset)]),n(`slot`,{slot:`footer`}))}get element(){return r(this)}};y.style=m();export{y as revogr_filter_panel};
@@ -0,0 +1 @@
1
+ import{a as e,c as t,n,r}from"../client.js";import{p as i,v as a}from"./debounce-PCRWZliA-BjJpj_P7.js";import"./dimension.helpers-CGKwSvw6-D_czicbS.js";import"./column.service-C6hByxPy-XG9X0y3N.js";import"./viewport.store-_c579YyM-B_ZSqqka.js";import"./index-Db3qZoW5-peeY7EGw.js";import"./filter.button-BFwo1uvz-CyvQhOO5.js";import"./header-cell-renderer-BMmXRsd_-BHbC7fao.js";import{n as o}from"./theme.service-BmnDvr6P-DftEgmbe.js";import"./edit.utils-Dnnbd0xG-OAxDw8WC.js";import"./text-editor-C3RUSwH5-DuDr9wKc.js";import"./cell-renderer-CLTRlCa5-DIlwS99c.js";var s=t(e(),1);function c(){a(e=>{let t=e.theme||e.getAttribute(`theme`);typeof t==`string`&&(t=t.trim());let n=o(t);return n!==t&&e.setAttribute(`theme`,n),n})}var l=c||(()=>{}),u=async(e,t)=>{if(!(typeof window>`u`))return await l(),i([[`revo-grid`,[[260,`revo-grid`,{rowHeaders:[4,`row-headers`],frameSize:[2,`frame-size`],rowSize:[2,`row-size`],colSize:[2,`col-size`],range:[4],readonly:[4],resize:[4],noHorizontalScrollTransfer:[4,`no-horizontal-scroll-transfer`],canFocus:[4,`can-focus`],useClipboard:[4,`use-clipboard`],columns:[16],source:[16],pinnedTopSource:[16],pinnedBottomSource:[16],rowDefinitions:[16],editors:[16],applyOnClose:[4,`apply-on-close`],plugins:[16],columnTypes:[16],theme:[1537],rowClass:[513,`row-class`],autoSizeColumn:[4,`auto-size-column`],filter:[4],sorting:[16],focusTemplate:[16],canMoveColumns:[4,`can-move-columns`],trimmedRows:[16],exporting:[4],grouping:[16],stretch:[8],additionalData:[16],disableVirtualX:[4,`disable-virtual-x`],disableVirtualY:[4,`disable-virtual-y`],hideAttribution:[4,`hide-attribution`],jobsBeforeRender:[16],registerVNode:[16],accessible:[4],rtl:[4],canDrag:[4,`can-drag`],refresh:[64],setDataAt:[64],scrollToRow:[64],scrollToColumnIndex:[64],scrollToColumnProp:[64],updateColumns:[64],addTrimmed:[64],scrollToCoordinate:[64],setCellEdit:[64],setCellsFocus:[64],getSource:[64],getVisibleSource:[64],getSourceStore:[64],getColumnStore:[64],updateColumnSorting:[64],clearSorting:[64],getColumns:[64],clearFocus:[64],getPlugins:[64],getFocused:[64],getContentSize:[64],getSelectedRange:[64],refreshExtraElements:[64],getProviders:[64]},[[5,`touchstart`,`mousedownHandle`],[5,`mousedown`,`mousedownHandle`],[5,`touchend`,`mouseupHandle`],[5,`mouseup`,`mouseupHandle`],[0,`rowdragstartinit`,`onRowDragStarted`],[0,`rowdragendinit`,`onRowDragEnd`],[0,`roworderchange`,`onRowOrderChange`],[0,`rowdragmoveinit`,`onRowDrag`],[0,`rowdragmousemove`,`onRowMouseMove`],[0,`celleditapply`,`onCellEdit`],[0,`rangeeditapply`,`onRangeEdit`],[0,`selectionchangeinit`,`onRangeChanged`],[0,`rowdropinit`,`onRowDropped`],[0,`beforeheaderclick`,`onHeaderClick`],[0,`beforecellfocusinit`,`onCellFocus`]],{columnTypes:[{columnTypesChanged:0}],columns:[{columnChanged:0}],disableVirtualX:[{disableVirtualXChanged:0}],rowSize:[{rowSizeChanged:0}],theme:[{themeChanged:0}],source:[{dataSourceChanged:0}],pinnedBottomSource:[{dataSourceChanged:0}],pinnedTopSource:[{dataSourceChanged:0}],disableVirtualY:[{disableVirtualYChanged:0}],rowDefinitions:[{rowDefChanged:0}],trimmedRows:[{trimmedRowsChanged:0}],grouping:[{groupingChanged:0}],stretch:[{applyStretch:0}],filter:[{applyFilter:0}],sorting:[{applySorting:0}],rowHeaders:[{rowHeadersChange:0}],registerVNode:[{registerOutsideVNodes:0}],additionalData:[{additionalDataChanged:0}],rtl:[{rtlChanged:0}],plugins:[{pluginsChanged:0}]}]]],[`revogr-filter-panel`,[[260,`revogr-filter-panel`,{filterNames:[16],filterEntities:[16],filterCaptions:[16],disableDynamicFiltering:[4,`disable-dynamic-filtering`],closeOnOutsideClick:[4,`close-on-outside-click`],isFilterIdSet:[32],filterId:[32],currentFilterId:[32],currentFilterType:[32],changes:[32],filterItems:[32],draggedFilterId:[32],dragOverFilterId:[32],show:[64],getChanges:[64]},[[5,`mousedown`,`onMouseDown`]]]]],[`revogr-clipboard_3`,[[0,`revogr-clipboard`,{readonly:[4],doCopy:[64]},[[4,`paste`,`onPaste`],[4,`copy`,`copyStarted`],[4,`cut`,`cutStarted`]]],[0,`revogr-edit`,{editCell:[16],column:[16],editor:[16],saveOnClose:[4,`save-on-close`],additionalData:[8,`additional-data`],cancelChanges:[64],beforeDisconnect:[64]}],[0,`revogr-order-editor`,{parent:[16],dimensionRow:[16],dimensionCol:[16],dataStore:[16],rowType:[1,`row-type`],dragStart:[64],endOrder:[64],clearOrder:[64]}]]],[`revogr-data_4`,[[260,`revogr-data`,{readonly:[4],range:[4],rowClass:[1,`row-class`],additionalData:[8,`additional-data`],rowSelectionStore:[16],viewportRow:[16],viewportCol:[16],dimensionRow:[16],colData:[16],dataStore:[16],type:[513],colType:[513,`col-type`],jobsBeforeRender:[16],providers:[32],updateCell:[64]},null,{dataStore:[{onDataStoreChange:0}],colData:[{onColDataChange:0}]}],[0,`revogr-header`,{viewportCol:[16],dimensionCol:[16],selectionStore:[16],groups:[16],groupingDepth:[2,`grouping-depth`],readonly:[4],canResize:[4,`can-resize`],resizeHandler:[16],colData:[16],columnFilter:[4,`column-filter`],type:[1],additionalData:[8,`additional-data`]}],[260,`revogr-viewport-scroll`,{rowHeader:[4,`row-header`],contentWidth:[2,`content-width`],contentHeight:[2,`content-height`],colType:[1,`col-type`],noHorizontalScrollTransfer:[4,`no-horizontal-scroll-transfer`],setScroll:[64],changeScroll:[64],applyScroll:[64]},[[0,`mousewheel-vertical`,`mousewheelVertical`],[0,`mousewheel-horizontal`,`mousewheelHorizontal`],[0,`scroll-coordinate`,`scrollApply`]]],[0,`vnode-html`,{redraw:[16]}]]],[`revogr-attribution_7`,[[0,`revogr-row-headers`,{height:[2],dataPorts:[16],headerProp:[16],rowClass:[1,`row-class`],resize:[4],rowHeaderColumn:[16],additionalData:[8,`additional-data`],jobsBeforeRender:[16]}],[260,`revogr-overlay-selection`,{readonly:[4],range:[4],canDrag:[4,`can-drag`],useClipboard:[4,`use-clipboard`],selectionStore:[16],dimensionRow:[16],dimensionCol:[16],dataStore:[16],colData:[16],lastCell:[16],editors:[16],applyChangesOnClose:[4,`apply-changes-on-close`],additionalData:[8,`additional-data`],isMobileDevice:[4,`is-mobile-device`]},[[5,`touchmove`,`onMouseMove`],[5,`mousemove`,`onMouseMove`],[5,`touchend`,`onMouseUp`],[5,`mouseup`,`onMouseUp`],[5,`mouseleave`,`onMouseUp`],[0,`dragstartcell`,`onCellDrag`],[4,`keyup`,`onKeyUp`],[4,`keydown`,`onKeyDown`]],{selectionStore:[{selectionServiceSet:0}],dimensionRow:[{createAutoFillService:0}],dimensionCol:[{createAutoFillService:0}],dataStore:[{columnServiceSet:0}],colData:[{columnServiceSet:0}]}],[0,`revogr-attribution`],[260,`revogr-focus`,{colType:[1,`col-type`],rowType:[1,`row-type`],selectionStore:[16],dimensionRow:[16],dimensionCol:[16],dataStore:[16],colData:[16],focusTemplate:[16]}],[0,`revogr-scroll-virtual`,{dimension:[1],realSize:[2,`real-size`],virtualSize:[2,`virtual-size`],clientSize:[2,`client-size`],setScroll:[64],changeScroll:[64]}],[0,`revogr-temp-range`,{selectionStore:[16],dimensionRow:[16],dimensionCol:[16]}],[0,`revogr-extra`,{nodes:[16],update:[32],refresh:[64]}]]]],t)};(function(){if(typeof window<`u`&&window.Reflect!==void 0&&window.customElements!==void 0){var e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)},HTMLElement.prototype=e.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,e)}})(),r();var d=n(),f=Object.defineProperty,p=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m=(e,t,n)=>p(e,typeof t==`symbol`?t:t+``,n),h=e=>e.toLowerCase().split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``),g=e=>e.replace(/([A-Z])/g,e=>`-${e[0].toLowerCase()}`),_=(e,t,n={})=>{if(e instanceof Element){let r=v(e.classList,t,n);r!==``&&(e.className=r),Object.keys(t).forEach(n=>{if(!(n===`children`||n===`style`||n===`ref`||n===`class`||n===`className`||n===`forwardedRef`))if(n.indexOf(`on`)===0&&n[2]===n[2].toUpperCase()){let r=n.substring(2),i=r[0].toLowerCase()+r.substring(1);b(i)||x(e,i,t[n])}else e[n]=t[n],typeof t[n]==`string`&&e.setAttribute(g(n),t[n])})}},v=(e,t,n)=>{let r=t.className||t.class,i=n.className||n.class,a=S(e),o=S(r?r.split(` `):[]),s=S(i?i.split(` `):[]),c=[];return a.forEach(e=>{o.has(e)?(c.push(e),o.delete(e)):s.has(e)||c.push(e)}),o.forEach(e=>c.push(e)),c.join(` `)},y=e=>{switch(e){case`doubleclick`:return`dblclick`}return e},b=e=>{if(typeof document>`u`)return!0;{let t=`on`+y(e),n=t in document;if(!n){let e=document.createElement(`div`);e.setAttribute(t,`return;`),n=typeof e[t]==`function`}return n}},x=(e,t,n)=>{let r=e.__events||={},i=r[t];i&&e.removeEventListener(t,i),e.addEventListener(t,r[t]=function(e){n&&n.call(this,e)})},S=e=>{let t=new Map;return e.forEach(e=>t.set(e,e)),t},C=(e,t)=>{typeof e==`function`?e(t):e!=null&&(e.current=t)},w=(...e)=>t=>{e.forEach(e=>{C(e,t)})},T=(e,t)=>{let n=(t,n)=>(0,d.jsx)(e,{...t,forwardedRef:n});return n.displayName=t,s.forwardRef(n)},E=((e,t,n,r)=>{r!==void 0&&r();let i=h(e);return T(class extends s.Component{constructor(e){super(e),m(this,`componentEl`),m(this,`setComponentElRef`,e=>{this.componentEl=e})}componentDidMount(){this.componentDidUpdate(this.props)}componentDidUpdate(e){_(this.componentEl,this.props,e)}render(){let{children:t,forwardedRef:n,style:r,className:i,ref:a,...o}=this.props;return(0,s.createElement)(e,{...Object.keys(o).reduce((e,t)=>{let n=o[t];if(t.indexOf(`on`)===0&&t[2]===t[2].toUpperCase()){let r=t.substring(2).toLowerCase();typeof document<`u`&&b(r)&&(e[t]=n)}else{let r=typeof n;(r===`string`||r===`boolean`||r===`number`)&&(e[g(t)]=n)}return e},{}),ref:w(n,this.setComponentElRef),style:r},t)}static get displayName(){return i}},i)})(`revo-grid`,void 0,void 0,u),D=45,O=32,k=`600 14px Helvetica, Arial, sans-serif`,A=34,j=80,M=240,N;function P(e){N===void 0&&(N=document.createElement(`canvas`).getContext(`2d`));let t;return N?(N.font=k,t=N.measureText(e).width):t=e.length*8,Math.max(j,Math.min(M,Math.ceil(t)+A))}function F({widget:e,state:t,emit:n,set:r}){let i=e.editable??!1,a=e.maxHeight??500,o=Math.min(a,D+t.rows.length*O+2),c=(0,s.useMemo)(()=>t.columns.map(e=>({prop:e.key,name:e.label??e.key,sortable:!0,readonly:!i,size:e.width??P(e.label??e.key)})),[t.columns,i]),l=(0,s.useMemo)(()=>t.rows.map(e=>({...e})),[t.rows]),u=(i,a,o)=>{t.rows[i]?.[a]!==o&&(r([`rows`,i,a],o),n(e.edited({row:i,key:a,value:o})))};return(0,d.jsx)(`div`,{className:`pu-table`,children:(0,d.jsx)(E,{columns:c,source:l,readonly:!i,range:!0,resize:!0,rowHeaders:!0,theme:`compact`,stretch:!0,hideAttribution:!0,style:{height:o},onAfteredit:e=>{let t=e.detail;if(t&&`data`in t)for(let[e,n]of Object.entries(t.data))for(let[t,r]of Object.entries(n))u(Number(e),t,r);else t&&u(t.rowIndex,t.prop,t.val)}})})}export{F as TableView};
@@ -0,0 +1 @@
1
+ import{n as e}from"./index-Db3qZoW5-peeY7EGw.js";import{s as t,u as n}from"./edit.utils-Dnnbd0xG-OAxDw8WC.js";var r=class{constructor(e,t){this.data=e,this.saveCallback=t,this.editInput=null,this.element=null,this.editCell=void 0}async componentDidRender(){var t;this.editInput&&(await e(),(t=this.editInput)==null||t.focus())}onKeyDown(e){let r=t(e.key),i=n(e.key);(i||r)&&e.target&&this.saveCallback&&!e.isComposing&&(this.beforeDisconnect(),this.saveCallback(this.getValue(),i))}beforeDisconnect(){var e;(e=this.editInput)==null||e.blur()}getValue(){return this.editInput?.value}render(e,t){return e(`input`,{type:`text`,enterKeyHint:`enter`,value:this.editCell?.val??``,ref:e=>{this.editInput=e},onKeyDown:e=>this.onKeyDown(e)})}};export{r as t};
@@ -0,0 +1,3 @@
1
+ import{g as e,r as t}from"./debounce-PCRWZliA-BjJpj_P7.js";import{A as n,C as r,H as i,N as a,O as o,P as s,T as c,k as l,z as u}from"./dimension.helpers-CGKwSvw6-D_czicbS.js";import{A as d,B as f,C as p,D as ee,E as te,I as ne,M as re,O as m,R as h,T as ie,a as g,b as _,c as v,d as y,f as ae,g as oe,i as b,j as x,k as S,n as C,p as w,r as T,s as se,u as ce,v as le,x as ue,z as E}from"./column.service-C6hByxPy-XG9X0y3N.js";import{n as de}from"./viewport.store-_c579YyM-B_ZSqqka.js";import{n as D,t as fe}from"./index-Db3qZoW5-peeY7EGw.js";import{n as pe,o as me}from"./filter.button-BFwo1uvz-CyvQhOO5.js";import{n as he,r as O}from"./header-cell-renderer-BMmXRsd_-BHbC7fao.js";function ge({count:e,originItemSize:t,sizes:n}){let r=Math.max(0,e),i=r*t;for(let e in n){let a=Number(e);!Number.isInteger(a)||a<0||a>=r||String(a)!==e||(i+=n[e]-t)}return i}var _e=e=>({set(t){switch(t){case`count`:case`sizes`:case`originItemSize`:e.setStore({realSize:ge({count:e.store.get(`count`),sizes:e.store.get(`sizes`),originItemSize:e.store.get(`originItemSize`)})});break}}}),ve=e=>{let t=null,n=null;return{set(r,i){switch(r){case`sizes`:if(t&&t===i){t=null;return}n=null;break;case`trimmed`:{let r=i;n||=e.store.get(`sizes`),t=ye(n,r||{}),e.setSizes(t);break}}}}};function ye(e,t){let n={},r=Object.keys(e||{}).map(Number).sort((e,t)=>e-t),i=r[r.length-1],a=0;for(let r=0;r<=i;r++)t[r]!==void 0&&(a++,e[r]!==void 0)||e[r]!==void 0&&(n[r-a]=e[r]);return n}function k(){return{indexes:[],count:0,trimmed:null,sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}}function A(){return Object.assign(Object.assign({},k()),{realSize:0,originItemSize:0,renderOffset:0})}var be=class{constructor(e){this.type=e,this.store=c(A()),this.store.use(ve({store:this.store,setSizes:this.setDimensionSize.bind(this)})),this.store.use(_e({store:this.store,setStore:this.setStore.bind(this)}))}getCurrentState(){let e=A();return h(Object.keys(e),(e,t)=>(e[t]=this.store.get(t),e),e)}dispose(){i(this.store,A())}setStore(e){i(this.store,e)}drop(){i(this.store,Object.assign(Object.assign({},k()),{renderOffset:0}))}setDimensionSize(e={}){let t=r(this.store.get(`originItemSize`),e);i(this.store,Object.assign(Object.assign({},t),{sizes:e}))}updateSizesPositionByIndexes(e,t=[]){let n=Object.assign({},this.store.get(`sizes`));if(!Object.keys(n).length)return;let r={};t.forEach((e,t)=>{r[e]||(r[e]=[]),r[e].push(t)});let i={};e.forEach((e,t)=>{let a=r[e];if(a&&a.length>0){let e=a.shift();e!==void 0&&e!==t&&typeof n[e]==`number`&&(i[t]=n[e],delete n[e])}}),Object.keys(i).length&&this.setDimensionSize(Object.assign(Object.assign({},n),i))}};function xe(){return{range:null,tempRange:null,tempRangeType:null,focus:null,edit:null,lastCell:null,nextFocus:null}}var Se=class{constructor(){this.unsubscribe=[],this.store=c(xe()),this.store.on(`set`,(e,t)=>{e===`tempRange`&&!t&&this.store.set(`tempRangeType`,null)})}onChange(e,t){this.unsubscribe.push(this.store.onChange(e,t))}clearFocus(){i(this.store,{focus:null,range:null,edit:null,tempRange:null})}setFocus(e,t){t?i(this.store,{focus:e,range:m(e,t),edit:null,tempRange:null}):i(this.store,{focus:e})}setNextFocus(e){i(this.store,{nextFocus:e})}setTempArea(e){i(this.store,{tempRange:e?.area,tempRangeType:e?.type,edit:null})}clearTemp(){i(this.store,{tempRange:null})}setRangeArea(e){i(this.store,{range:e,edit:null,tempRange:null})}setRange(e,t){let n=m(e,t);this.setRangeArea(n)}setLastCell(e){i(this.store,{lastCell:e})}setEdit(e){let t=this.store.get(`focus`);if(t&&typeof e==`string`){i(this.store,{edit:{x:t.x,y:t.y,val:e}});return}i(this.store,{edit:null})}dispose(){this.unsubscribe.forEach(e=>e()),this.store.dispose()}},j=class{constructor(t,n){this.revogrid=t,this.providers=n,this.h=e,this.subscriptions={}}addEventListener(e,t){this.revogrid.addEventListener(e,t),this.subscriptions[e]=t}watch(e,t,{immediate:n}={immediate:!1}){let r=Object.getOwnPropertyDescriptor(this.revogrid,e)||Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype,e);Object.defineProperty(this.revogrid,e,{configurable:!0,enumerable:r?.enumerable??!0,set(e){if(t(e)!==!1)return(r?.set)?.call(this,e)},get(){return(r?.get)?.call(this)}}),n&&t(r?.value)}removeEventListener(e){this.revogrid.removeEventListener(e,this.subscriptions[e]),delete this.subscriptions[e]}emit(e,t){let n=new CustomEvent(e,{detail:t,cancelable:!0});return this.revogrid.dispatchEvent(n),n}clearSubscriptions(){for(let e in this.subscriptions)this.removeEventListener(e)}destroy(){this.clearSubscriptions()}};function Ce(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function we(e){return typeof e==`function`?e:a}function M(e,t){return(s(e)?Ce:ae)(e,we(t))}var Te=7,N;(function(e){e.headerClickAutosize=`headerClickAutoSize`,e.autoSizeOnTextOverlap=`autoSizeOnTextOverlap`,e.autoSizeAll=`autoSizeAll`})(N||={});var Ee=class extends j{constructor(e,t,n){super(e,t),this.providers=t,this.config=n,this.autoSizeColumns=null,this.dataResolve=null,this.dataReject=null,this.letterBlockSize=n?.letterBlockSize||Te,n?.preciseSize&&(this.precsizeCalculationArea=this.initiatePresizeElement(),e.appendChild(this.precsizeCalculationArea));let r=({detail:{source:e}})=>{this.setSource(e)};switch(this.addEventListener(`beforecolumnsset`,({detail:{columns:e}})=>{this.columnSet(e)}),n?.mode){case N.autoSizeOnTextOverlap:this.addEventListener(`aftersourceset`,r),this.addEventListener(`afteredit`,({detail:e})=>{this.afteredit(e)});break;case N.autoSizeAll:this.addEventListener(`aftersourceset`,r),this.addEventListener(`afteredit`,({detail:e})=>{this.afterEditAll(e)});break;default:this.addEventListener(`headerdblclick`,({detail:e})=>{let t=p(e.column),n=this.getColumnSize(e.index,t);n&&this.providers.dimension.setCustomSizes(t,{[e.index]:n},!0)});break}}async setSource(e){let t=this.autoSizeColumns;if(this.dataReject&&(this.dataReject(),this.clearPromise()),!t){let e=new Promise((e,t)=>{this.dataResolve=e,this.dataReject=t});try{t=await e}catch{return}}M(t,(n,r)=>{let i={};M(t[r],t=>{t.size=i[t.index]=e.reduce((e,n)=>Math.max(e,this.getLength(n[t.prop])),this.getLength(t.name||``))}),this.providers.dimension.setCustomSizes(r,i,!0)})}getLength(e){if(!e)return 0;try{let t=e.toString();return this.config?.preciseSize?(this.precsizeCalculationArea.innerText=t,this.precsizeCalculationArea.scrollWidth+30):t.length*this.letterBlockSize+30}catch{return 0}}afteredit(e){let t;t=this.isRangeEdit(e)?e.data:{0:{[e.prop]:e.val}},M(this.autoSizeColumns,(e,n)=>{let r={};M(e,e=>{let n=h(t,(t,n)=>n[e.prop]===void 0?t:Math.max(t||0,this.getLength(n[e.prop])),void 0);n&&(e.size??0)<n&&(e.size=r[e.index]=n)}),this.providers.dimension.setCustomSizes(n,r,!0)})}afterEditAll(e){let t={};this.isRangeEdit(e)?M(e.data,e=>M(e,(e,n)=>t[n]=!0)):t[e.prop]=!0,M(this.autoSizeColumns,(e,n)=>{let r={};M(e,e=>{if(t[e.prop]){let t=this.getColumnSize(e.index,n);t&&(r[e.index]=t)}}),this.providers.dimension.setCustomSizes(n,r,!0)})}getColumnSize(e,t){let r=this.autoSizeColumns?.[t]?.[e];return r?h(this.providers.data.stores,(e,t)=>{let i=h(t.store.get(`items`),(e,i,a)=>{let o=n(t.store,a);return Math.max(e||0,this.getLength(o?.[r.prop]))},0);return Math.max(e,i)},r.size||0):0}columnSet(e){for(let t of w){let n=t,r=e[n];for(let e in r)(r[e].autoSize||this.config?.allColumns)&&(this.autoSizeColumns||={},this.autoSizeColumns[n]||(this.autoSizeColumns[n]={}),this.autoSizeColumns[n][e]=Object.assign(Object.assign({},r[e]),{index:parseInt(e,10)}))}this.dataResolve&&(this.dataResolve(this.autoSizeColumns||{}),this.clearPromise())}clearPromise(){this.dataResolve=null,this.dataReject=null}isRangeEdit(e){return!!e.data}initiatePresizeElement(){let e={position:`absolute`,fontSize:`14px`,height:`0`,width:`0`,whiteSpace:`nowrap`,top:`0`,overflowX:`scroll`,display:`block`},t=document.createElement(`div`);for(let n in e)t.style[n]=e[n]??``;return t.classList.add(`revo-test-container`),t}destroy(){var e;super.destroy(),(e=this.precsizeCalculationArea)==null||e.remove()}},De=class extends j{constructor(e,t){super(e,t),this.providers=t,this.stretchedColumn=null,this.scrollSize=fe(document),this.addEventListener(`beforecolumnapplied`,({detail:{columns:e}})=>this.applyStretch(e))}setScroll({type:e,hasScroll:t}){e===`rgRow`&&this.stretchedColumn&&this.stretchedColumn?.initialSize===this.stretchedColumn.size&&t&&(this.stretchedColumn.size-=this.scrollSize,this.apply(),this.dropChanges())}activateChanges(){this.addEventListener(`scrollchange`,({detail:e})=>this.setScroll(e))}dropChanges(){this.stretchedColumn=null,this.removeEventListener(`scrollchange`)}apply(){if(!this.stretchedColumn)return;let e=`rgCol`,t=this.providers.dimension.stores[e].store.get(`sizes`);this.providers.dimension.setCustomSizes(e,Object.assign(Object.assign({},t),{[this.stretchedColumn.index]:this.stretchedColumn.size}),!0)}applyStretch(e){this.dropChanges();let t=this.revogrid.clientWidth-1;if(M(e,(e,n)=>{let r=this.providers.dimension.stores[n].store.get(`realSize`);t-=r}),this.revogrid.rowHeaders){let e=this.providers.data.stores.rgRow.store.get(`source`).length,n=this.revogrid.rowHeaders,r=de(e,typeof n==`object`?n:void 0);r&&(t-=r)}if(t>0){let n=e.rgCol.length-1,r=e.rgCol[n],i=r?.size||this.revogrid.colSize||0,a=t+i-1;r&&!r.autoSize&&i<a&&(this.stretchedColumn={initialSize:a,index:n,size:a},this.apply(),this.activateChanges())}}};function Oe(e){return!!e.applyStretch}function ke(e,t,n){return e===e&&(e=e<=n?e:n,e=e>=t?e:t),e}var Ae=4294967295;function je(e){return e?ke(f(e),0,Ae):0}function Me(e,t,n,r){var i=e.length;for(n=f(n),n<0&&(n=-n>i?0:i+n),r=r===void 0||r>i?i:f(r),r<0&&(r+=i),r=n>r?0:je(r);n<r;)e[n++]=t;return e}function Ne(e,t,n,r){return e!=null&&e.length?Me(e,t,n,r):[]}var Pe={mime:`text/csv`,fileKind:`csv`,bom:!0,columnDelimiter:`,`,rowDelimiter:`\r
2
+ `,encoding:``},Fe=`\r`,Ie=`
3
+ `,Le=`"`,Re=``,ze=RegExp(`"`,`g`),Be=class{constructor(e={}){this.options=Object.assign(Object.assign({},Pe),e)}doExport({data:e,headers:t,props:n}){let r=this.options.bom?Re:``;return t?.length>0&&t.forEach(e=>{e.length&&(r+=this.prepareHeader(e,this.options.columnDelimiter),r+=this.options.rowDelimiter)}),e.forEach((e,t)=>{if(t>0&&(r+=this.options.rowDelimiter),x(e)){r+=this.parseCell(te(e),this.options.columnDelimiter);return}r+=n.map(t=>this.parseCell(e[t],this.options.columnDelimiter)).join(this.options.columnDelimiter)}),r}prepareHeader(e,t){let n=``,r=e.map(e=>this.parseCell(e,t,!0));return n+=r.join(t),n}parseCell(e,t,n=!1){let r=e;return typeof e!=`string`&&(r=JSON.stringify(e)),r===void 0?``:r!==``&&(n||[Fe,Le,Ie,t].some(e=>r.indexOf(e)>=0))?`"${r.replace(ze,`""`)}"`:r}},P;(function(e){e.csv=`csv`})(P||={});var Ve=class extends j{async exportString(e={},t=P.csv){let n=await this.beforeexport();return n?this.formatter(t,e).doExport(n):null}async exportBlob(e={},t=P.csv){return await this.getBlob(this.formatter(t,e))}async exportFile(e={},t=P.csv){let n=this.formatter(t,e),r=window.URL||window.webkitURL,i=document.createElement(`a`),{filename:a,fileKind:o}=n.options,s=`${a}.${o}`,c=await this.getBlob(n),l=c?r.createObjectURL(c):``;i.style.display=`none`,i.setAttribute(`href`,l),i.setAttribute(`download`,s),this.revogrid.appendChild(i),i.dispatchEvent(new MouseEvent(`click`)),this.revogrid.removeChild(i),await D(120),r.revokeObjectURL(l)}async getBlob(e){let t=`${e.options.mime};charset=${e.options.encoding}`;if(typeof Blob<`u`){let n=await this.beforeexport();return n?new Blob([e.doExport(n)],{type:t}):null}return null}async beforeexport(){let e=await this.getData(),t=this.emit(`beforeexport`,{data:e});return t.defaultPrevented?null:t.detail.data}async getData(){let e=await this.getSource(),t=[],n=[];w.forEach((e,r)=>{n.push(this.getColPerSource(e).then(e=>t[r]=e))}),await Promise.all(n);let r={headers:[],props:[]};for(let e of t)e.headers.forEach((e,t)=>{r.headers[t]||(r.headers[t]=[]),r.headers[t].push(...e)}),r.props.push(...e.props);return Object.assign({data:e},r)}async getColPerSource(e){let t=await this.revogrid.getColumnStore(e),n=t.get(`source`),r=t.get(`items`),i=t.get(`groupingDepth`),a=t.get(`groups`),o=[],s=[];r.forEach(e=>{let t=n[e].prop;o.push(n[e].name||``),s.push(t)});let c=this.getGroupHeaders(i,a,r);return c.push(o),{headers:c,props:s}}getGroupHeaders(e,t,n){let r=[],i=Ne(Array(n.length),``);for(let n=0;n<e;n++){let e=[...i];r.push(e),t[n]&&t[n].forEach(t=>{let n=t.indexes[0];typeof n==`number`&&(e[n]=t.name)})}return r}async getSource(){let e=[],t=[];return E.forEach(n=>{let r=[];e.push(r);let i=this.revogrid.getVisibleSource(n).then(e=>r.push(...e));t.push(i)}),await Promise.all(t),e.reduce((e,t)=>(e.push(...t),e),[])}formatter(e,t={}){switch(e){case P.csv:return new Be(t);default:throw Error(`Unknown format`)}}},F=(e,t)=>{if(e===void 0||e===null&&!t)return!0;typeof e!=`string`&&(e=JSON.stringify(e));let n=t?.toString().toLocaleLowerCase();return n?.length===0?!0:e.toLocaleLowerCase()===n},I=(e,t)=>!F(e,t);I.extra=`input`,F.extra=`input`;var L=function(e,t){let n;return typeof e==`number`&&t!=null?(n=parseFloat(t?.toString()),e>n):!1};L.extra=`input`;var R=function(e,t){return F(e,t)||L(e,t)};R.extra=`input`;var z=function(e,t){let n;return typeof e==`number`&&t!=null?(n=parseFloat(t.toString()),e<n):!1};z.extra=`input`;var B=function(e,t){return F(e,t)||z(e,t)};B.extra=`input`;var V=e=>!(e===``||e==null),He=e=>!V(e),H=(e,t)=>e?t?(typeof e!=`string`&&(e=JSON.stringify(e)),typeof t!=`string`&&(t=JSON.stringify(t)),e.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())===0):!0:!1;H.extra=`input`;var U=(e,t)=>t?e?t?(typeof e!=`string`&&(e=JSON.stringify(e)),e.toLocaleLowerCase().indexOf(t.toString().toLowerCase())>-1):!0:!1:!0,W=(e,t)=>!U(e,t);W.extra=`input`,U.extra=`input`;var Ue={none:()=>!0,empty:He,notEmpty:V,eq:F,notEq:I,begins:H,contains:U,notContains:W,eqN:F,neqN:I,gt:L,gte:R,lt:z,lte:B},We={string:[`notEmpty`,`empty`,`eq`,`notEq`,`begins`,`contains`,`notContains`],number:[`notEmpty`,`empty`,`eqN`,`neqN`,`gt`,`gte`,`lt`,`lte`]},Ge={none:`None`,empty:`Not set`,notEmpty:`Set`,eq:`Equal`,notEq:`Not equal`,begins:`Begins with`,contains:`Contains`,notContains:`Does not contain`,eqN:`=`,neqN:`!=`,gt:`>`,gte:`>=`,lt:`<`,lte:`<=`},Ke=`filter`,qe=`filterconfigchanged`,Je=class extends j{constructor(t,n,r){super(t,n),this.revogrid=t,this.config=r,this.filterCollection={},this.multiFilterItems={},this.filterByType=Object.assign({},We),this.filterNameIndexByType=Object.assign({},Ge),this.filterFunctionsIndexedByType=Object.assign({},Ue),this.filterProp=pe,r&&this.initConfig(r);let i=this.revogrid.registerVNode.filter(e=>typeof e==`object`&&e.$tag$!==`revogr-filter-panel`);this.revogrid.registerVNode=[...i,e(`revogr-filter-panel`,{filterNames:this.filterNameIndexByType,filterEntities:this.filterFunctionsIndexedByType,filterCaptions:r?.localization?.captions,onFilterChange:e=>this.onFilterChange(e.detail),onResetChange:e=>this.onFilterReset(e.detail),disableDynamicFiltering:r?.disableDynamicFiltering,closeOnOutsideClick:r?.closeFilterPanelOnOutsideClick,ref:e=>this.pop=e},` `,this.extraContent())];let a=async()=>{let e=Object.keys(this.filterCollection);e.length>0&&e.forEach((e,t)=>{this.multiFilterItems[e]||(this.multiFilterItems[e]=[{id:t,type:this.filterCollection[e].type,value:this.filterCollection[e].value,relation:`and`}])}),Object.keys(this.multiFilterItems).length!==0&&(await D(),await this.runFiltering(this.multiFilterItems))};this.addEventListener(`headerclick`,e=>this.headerclick(e)),this.addEventListener(qe,({detail:e})=>{if(!e||typeof e==`object`&&(!e.multiFilterItems||!Object.keys(e.multiFilterItems).length)){this.clearFiltering();return}typeof e==`object`&&this.initConfig(e),a()}),this.addEventListener(`aftersourceset`,a),this.addEventListener(`filter`,({detail:e})=>this.onFilterChange(e))}beforeshow(e){}extraContent(){return null}initConfig(e){if(e.multiFilterItems?this.multiFilterItems=Object.assign({},e.multiFilterItems):this.multiFilterItems={},e.customFilters)for(let t in e.customFilters){let n=e.customFilters[t];this.filterByType[n.columnFilterType]||(this.filterByType[n.columnFilterType]=[]),this.filterByType[n.columnFilterType].push(t),this.filterFunctionsIndexedByType[t]=n.func,this.filterNameIndexByType[t]=n.name}e.filterProp&&(this.filterProp=e.filterProp);let t=e.include;if(t){let e={};for(let n in this.filterByType){let r=this.filterByType[n].filter(e=>t.indexOf(e)>-1);r.length&&(e[n]=r)}Object.keys(e).length>0&&(this.filterByType=e)}if(e.collection){let t={};for(let n of Object.keys(e.collection)){let r=e.collection[n];this.filterFunctionsIndexedByType[r.type]&&(t[n]=r)}this.filterCollection=t}else this.filterCollection={};if(e.localization&&e.localization.filterNames){let t=e.localization.filterNames;Object.keys(t).forEach(e=>{this.filterNameIndexByType[e]!=null&&(this.filterNameIndexByType[e]=t[e])})}}async headerclick(e){var t;let n=e.detail.originalEvent?.target;if(!me(n)||(e.preventDefault(),!this.pop))return;let r=e.detail.prop;if((await this.pop.getChanges())?.prop===r){await this.pop.show();return}let i=this.revogrid.getBoundingClientRect(),a=n.getBoundingClientRect(),o=Object.assign(Object.assign(Object.assign({},e.detail),this.filterCollection[r]),{x:a.x-i.x,y:a.y-i.y+a.height,autoCorrect:!0,filterTypes:this.getColumnFilter(e.detail.filter),filterItems:this.multiFilterItems,extraContent:this.extraHyperContent,extraBottomContent:this.extraBottomHyperContent});(t=this.beforeshow)==null||t.call(this,o),this.pop.show(o)}getColumnFilter(e){let t=`string`;if(!e)return{[t]:this.filterByType[t]};if(this.isValidType(e))t=e;else if(typeof e==`object`&&e.length)return e.reduce((e,t)=>(this.isValidType(t)&&(e[t]=this.filterByType[t]),e),{});return{[t]:this.filterByType[t]}}isValidType(e){return!!(typeof e==`string`&&this.filterByType[e])}async onFilterChange(e){this.multiFilterItems=e,this.runFiltering(this.multiFilterItems)}onFilterReset(e){delete this.multiFilterItems[e??``],this.onFilterChange(this.multiFilterItems)}async doFiltering(e,t,n,r){let i=[],a={};n.forEach(e=>{let t=Object.assign({},e),n=r[t.prop];a[t.prop]=t,t[this.filterProp]&&!n&&(delete t[this.filterProp],i.push(t)),!t[this.filterProp]&&n&&(i.push(t),t[this.filterProp]=!0)});let o=this.getRowFilter(t,r,a),{defaultPrevented:s,detail:c}=this.emit(`beforefiltertrimmed`,{collection:e,itemsToFilter:o,source:t,filterItems:r});s||(this.providers.data.setTrimmed({[Ke]:c.itemsToFilter}),this.providers.column.updateColumns(i),this.emit(`afterfilterapply`,{multiFilterItems:r,source:t,collection:e}))}async clearFiltering(){this.multiFilterItems={},await this.runFiltering(this.multiFilterItems)}async runFiltering(e){let t={},n=Object.keys(e);for(let r of n)if(e[r].length>0){let n=e[r][0];t[r]={type:n.type,value:n.value}}this.filterCollection=t;let r=this.providers.column.getColumns(),i=this.providers.data.stores.rgRow.store.get(`source`),{defaultPrevented:a,detail:o}=this.emit(`beforefilterapply`,{collection:this.filterCollection,source:i,columns:r,filterItems:this.multiFilterItems});a||this.doFiltering(o.collection,o.source,o.columns,o.filterItems)}getRowFilter(e,t,n){let r=Object.keys(t),i={};for(let a=0;a<e.length;a++)for(let o of r)this.shouldTrimRow(t[o],o,n[o],e[a])&&(i[a]=!0);return i}shouldTrimRow(e,t,n,r={}){let i=0,a=[];for(let[o,s]of e.entries()){let c=this.filterFunctionsIndexedByType[s.type],l=n?le(r,n):r[t];if(s.relation===`or`){if(a=[],c(l,s.value))continue;i++}else if(a.push(!c(l,s.value)),Ye(o,e)){if(Xe(a)){a=[];continue}i+=a.length,a=[]}}return i===e.length}};function Ye(e,t){let n=t[e+1];return!n||!!n.relation&&n.relation!==`and`}function Xe(e){return!e.includes(!0)}function G(e){for(let t of Object.keys(e||{}))if(e?.[t])return!0;return!1}function K(e,t){return String(e)===String(t)}function Ze(e,t){let n=[],r=t=>{e?.[t]&&!n.some(e=>K(e,t))&&n.push(t)};return t?.forEach(r),Object.keys(e||{}).forEach(r),n}function Qe(e,t,n){let r=Ze(e,n);if(r.length<=1)return;let i=r.findIndex(e=>K(e,t));return i>=0?i+1:void 0}function $e(e={},t){let n=[],r=t=>{let r=e[t];typeof r==`function`&&!n.some(([e])=>K(e,t))&&n.push([t,r])};return t?.forEach(r),Object.keys(e).forEach(r),n}function et(e,t,n){let r=n?_(e,n):e?.[t];return typeof r==`number`?r:r?.toString().toLowerCase()}function q(e){return e===``||e==null}function J(e,t){if(e===t)return 0;let n=q(e),r=q(t);return n||r?n&&r?0:n?-1:1:e>t?1:-1}function tt(e,t,n,r,i){let a=n.map(([n])=>{let a=[],o=i[n];for(let r of e)a[r]=et(t[r],n,o);return{order:r[n],values:a}});return e.sort((e,t)=>{for(let{order:n,values:r}of a){let i=J(r[e],r[t]);if(i)return n===`desc`?-i:i}return 0})}function nt(e,t,n,r,i){return!t.some(e=>x(n[e]))&&!!r&&!!i&&e.every(([e])=>{let t=r[e],n=i[e];return!!t&&!n?.cellCompare})}function rt(e,t,n){return t.some(t=>{let r=n[t];return x(r)&&!e.some(([e])=>K(r[T],e))})}function it(e,t,n={},r,i,a){let o=Object.keys(n).length>0,s=$e(n,a);return s.length===0?o?e:[...Array(e.length).keys()]:rt(s,e,t)?e:nt(s,e,t,r,i)?tt(e,t,s,r,i):e.sort((e,n)=>{let r=t[e],i=t[n];for(let[t,a]of s){if(x(r)&&!K(r[T],t)||x(i)&&!K(i[T],t))return e-n;let o=a?.(t,r,i);if(o)return o}return 0})}function at(e,t,n){let r=this.column?_(t,this.column):t?.[e],i=this.column?_(n,this.column):n?.[e];return J(typeof r==`number`?r:r?.toString().toLowerCase(),typeof i==`number`?i:i?.toString().toLowerCase())}function ot(e){return(t,n,r)=>-1*e(t,n,r)}function st(e){switch(e){case void 0:return`asc`;case`asc`:return`desc`;case`desc`:return}}function Y(e,t){let n=(e?.cellCompare)?.bind({order:t})||at?.bind({column:e,order:t});if(t==`asc`)return n;if(t==`desc`)return ot(n)}function ct(e,t){return e.filter(e=>!x(t[e]))}function lt(e,t,n){if(n.length===e.length)return n;let r=0;return e.map(e=>x(t[e])?e:n[r++])}var X=class extends j{constructor(e,n,r){super(e,n),this.revogrid=e,this.sortingPromise=null,this.postponeSort=t((e,t,n,r,i)=>this.runSorting(e,t,n,r,i),50),this.applySortingConfig(r),this.addEventListener(`sortingconfigchanged`,({detail:e})=>{r=e,this.applySortingConfig(e),this.startSorting(this.sorting,this.sortingFunc,this.sortingColumns,this.sortingOrder)}),this.addEventListener(`beforeheaderrender`,({detail:e})=>{let{data:t}=e;t.sortable&&(e.data=Object.assign(Object.assign({},t),{order:this.sorting?.[t.prop],sortIndex:Qe(this.sorting,t.prop,this.sortingOrder)}))}),this.addEventListener(`beforeanysource`,({detail:{type:e}})=>{if(G(this.sorting)&&this.sortingFunc){if(this.emit(`beforesourcesortingapply`,{type:e,sorting:this.sorting}).defaultPrevented)return;this.startSorting(this.sorting,this.sortingFunc,this.sortingColumns,this.sortingOrder)}}),this.addEventListener(`aftercolumnsset`,({detail:{order:e}})=>{if(r)return;let t=this.providers.column.getColumns(),n={},i={},a=[],o={};for(let r in e)if(e[r]){let s=ue(t,r),c=Y(s,e[r]);o[r]=e[r],n[r]=c,i[r]=s,a.push(r)}this.sorting=G(o)?o:void 0,this.sortingFunc=this.sorting?n:void 0,this.sortingColumns=this.sorting?i:void 0,this.sortingOrder=this.sorting?a:void 0}),this.addEventListener(`beforeheaderclick`,e=>{e.defaultPrevented||e.detail?.column?.sortable&&this.headerclick(e.detail.column,e.detail?.originalEvent?.shiftKey)})}createSortingState(e){return{sorting:e?Object.assign({},this.sorting):{},sortingFunc:e?Object.assign({},this.sortingFunc):{},sortingColumns:e?Object.assign({},this.sortingColumns):{},sortingOrder:e?[...this.sortingOrder??[]]:[]}}setSortingState({sorting:e,sortingFunc:t,sortingColumns:n,sortingOrder:r}){this.sorting=G(e)?e:void 0,this.sortingFunc=this.sorting?t:void 0,this.sortingColumns=this.sorting?n:void 0,this.sortingOrder=this.sorting?r:void 0}setColumnSorting(e,t,n,r,i){e.sorting[t]=n,e.sortingFunc[t]=r,e.sortingColumns[t]=i,e.sortingOrder.some(e=>String(e)===String(t))||e.sortingOrder.push(t)}clearColumnSorting(e,t){delete e.sorting[t],delete e.sortingFunc[t],delete e.sortingColumns[t];let n=e.sortingOrder.findIndex(e=>String(e)===String(t));n>=0&&e.sortingOrder.splice(n,1)}applySortingConfig(e){var t;if(!e)return;let n=this.createSortingState(e.additive);(t=e.columns)==null||t.forEach(e=>{if(e.order){this.setColumnSorting(n,e.prop,e.order,Y(e,e.order),e);return}this.clearColumnSorting(n,e.prop)}),this.setSortingState(n)}startSorting(e,t,n,r,i){if(this.sortingPromise||this.revogrid.jobsBeforeRender.push(new Promise(e=>{this.sortingPromise=e})),typeof n==`boolean`){this.postponeSort(e,t,void 0,void 0,n);return}this.postponeSort(e,t,n,r,i)}headerclick(e,t){let n=e.prop,r=st(this.sorting?.[n]),i=this.emit(`beforesorting`,{column:e,order:r,additive:t});if(i.defaultPrevented)return;r=i.detail.order;let a=this.emit(`beforesortingapply`,{column:i.detail.column,order:r,additive:t});if(a.defaultPrevented)return;let o=Y(a.detail.column,a.detail.order);this.applyHeaderSorting(a.detail.column,a.detail.additive,r,o),this.startSorting(this.sorting,this.sortingFunc,this.sortingColumns,this.sortingOrder)}applyHeaderSorting(e,t,n,r){if(!t){this.setSortingState(n?{sorting:{[e.prop]:n},sortingFunc:{[e.prop]:r},sortingColumns:{[e.prop]:e},sortingOrder:[e.prop]}:this.createSortingState());return}let i=this.createSortingState(!0);n?this.setColumnSorting(i,e.prop,n,r,e):this.clearColumnSorting(i,e.prop),this.setSortingState(i)}runSorting(e,t,n,r,i){var a,o;if(typeof n==`boolean`){this.sort(e,t,void 0,void 0,void 0,n),(a=this.sortingPromise)==null||a.call(this),this.sortingPromise=null;return}this.sort(e,t,n,r,void 0,i),(o=this.sortingPromise)==null||o.call(this),this.sortingPromise=null}sort(e,t,n,r,i=E,a=!1){let o,s,c=i,l=a;if(Array.isArray(n)?(c=n,l=typeof r==`boolean`?r:!1):(o=n,s=Array.isArray(r)?r:void 0),Object.keys(e||{}).length)for(let n of c){let r=this.providers.data.stores[n],i=r.store.get(`source`),a=r.store.get(`proxyItems`),c=lt(a,i,it([...ct(a,i)],i,t,e,o,s)),u=r.store.get(`items`);r.setData({proxyItems:c});let d=r.store.get(`items`);l||this.providers.dimension.updateSizesPositionByNewDataIndexes(n,d,u)}else for(let e of c){let t=this.providers.data.stores[e],n=t.store.get(`source`),r=t.store.get(`proxyItems`),i=Array.from({length:n.length},(e,t)=>t);this.providers.dimension.updateSizesPositionByNewDataIndexes(e,i,r),t.setData({proxyItems:i})}w.forEach(e=>{this.providers.column.dataSources[e].refresh()}),this.emit(`aftersortingapply`)}};function ut(e,t){let n=t[e],r=n[y],i={},a=e+1,o=t.length;for(;a<o;){let e=t[a];if(x(e)){let t=e[y];if(!t.length||!t.startsWith(r+`,`))break;e[g]=!1}i[a++]=!0}return n[g]=!1,{trimmed:i}}function dt(e,t,n){let r=n[e],i=t[r],a=ee(i[ce]),o={};if(!a)return{trimmed:o};let s=[];i[g]=!0;let c=r+1,l=t.length,u=0;for(;c<l;){let e=t[c],n=x(e);if(n)if(ne(a,i,e))u||=e[b];else break;(!u||n&&u===e[b])&&(o[c]=!1,s.push(c)),c++}let d={trimmed:o};if(s.length){let t=[...n];t.splice(e+1,0,...s),d.items=t}return d}var Z=`grouping`;function ft(e,t,n){let r=Number.parseInt(e,10),i=t[r];return n?n[typeof i==`number`?i:r]:i}function pt(e,t,n){let r={};for(let i in e){if(i===Z)continue;let a=e[i],o={};for(let e in a){if(!a[e])continue;let r=ft(e,t,n);typeof r==`number`&&(o[r]=!0)}r[i]=o}return r}function mt(e,t,n){let r=e[n]?.[b];if(r==null)return!1;for(let i=n+1;i<e.length;i++){let n=e[i];if(x(n)){if(n[b]<=r)break;continue}if(!t[i])return!0}return!1}function Q(e,t){let n=Object.assign({},t);return e.forEach((t,r)=>{x(t)&&(mt(e,n,r)?delete n[r]:n[r]=!0)}),n}var ht=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},gt=class extends j{getStore(e=C){return this.providers.data.stores[e].store}constructor(e,t){super(e,t)}onFocus(e){x(e.detail.model)&&e.preventDefault()}onExpand({virtualIndex:e}){let{source:t}=S(this.getStore().get(`source`),this.getStore().get(`proxyItems`)),n=this.getStore().get(`trimmed`)[Z],r=l(this.getStore(),e);if(ie(t[r])){let{trimmed:e}=ut(r,t);n=Object.assign(Object.assign({},n),e),this.revogrid.clearFocus()}else{let{trimmed:r,items:i}=dt(e,t,this.getStore().get(`items`));n=Object.assign(Object.assign({},n),r),i&&u(this.getStore(),i)}this.getStore().set(`source`,t),this.revogrid.addTrimmed(n,Z)}setColumnGrouping(e){return e?.length?(e[0][v]=!0,!0):!1}setColumns({columns:e}){for(let t of w)if(this.setColumnGrouping(e[t]))break}onDrag(e){let{from:t,to:n}=e.detail,r=n-t>=0,{source:i}=S(this.getStore().get(`source`),this.getStore().get(`proxyItems`)),a=this.getStore().get(`items`),o=r?t:n,s=r?n:t;for(;o<s;o++){let t=i[a[o]];if(x(t)){e.preventDefault();return}}}beforeTrimmedApply(e,t){if(t===`filter`){let t=Q(this.getStore().get(`source`),e);Object.keys(e).forEach(t=>delete e[Number.parseInt(t,10)]),Object.assign(e,t)}}beforeFilterTrimmed(e){return Q(this.getStore().get(`source`),e)}isSortingRunning(){return!!this.providers.plugins.getByClass(X)?.sortingPromise}getCurrentExpandedOptions(){return ht(this.options??{},[`expandedAll`,`prevExpanded`])}doSourceUpdate(e){let t=this.getStore(),{source:n,prevExpanded:r,oldNewIndexes:i}=S(t.get(`source`),t.get(`proxyItems`),!0),a=Object.assign({prevExpanded:r},e),{sourceWithGroups:o,depth:s,trimmed:c,oldNewIndexMap:l}=oe(n,this.options?.props||[],a),u=e?.groupLabelTemplate;this.providers.data.setData(o,C,this.revogrid.disableVirtualY,{depth:s,customRenderer:u},!0),this.updateTrimmed(c,i??{},l,o)}onDataSet(e){let t={};if(this.options?.preserveGroupingOnUpdate!==!1){let{prevExpanded:e}=S(this.getStore().get(`source`),this.getStore().get(`proxyItems`),!0);t=e}let n=e.source.filter(e=>!x(e)),r=Object.assign(Object.assign({},this.revogrid.grouping||{}),{prevExpanded:t}),{sourceWithGroups:i,depth:a,trimmed:o,oldNewIndexMap:s}=oe(n,this.options?.props||[],r);e.source=i,this.providers.data.setGrouping({depth:a}),this.updateTrimmed(o,s,void 0,i)}setGrouping(e){if(this.clearSubscriptions(),this.options=e,!this.options?.props?.length){this.clearGrouping();return}let t=this.getStore(),{source:n}=S(t.get(`source`),t.get(`proxyItems`));n.length&&this.doSourceUpdate(Object.assign({},e));for(let e of w)if(this.setColumnGrouping(this.providers.column.getColumns(e))){this.providers.column.refreshByType(e);break}this.addEventListener(`beforesourceset`,({detail:e})=>{this.options?.props?.length&&e?.source?.length&&(this.isSortingRunning()||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(`beforefiltertrimmed`,({detail:e})=>{e.itemsToFilter=this.beforeFilterTrimmed(e.itemsToFilter)}),this.addEventListener(`aftersortingapply`,()=>{this.options?.props?.length&&this.doSourceUpdate(this.getCurrentExpandedOptions())}),this.addEventListener(`beforecellfocus`,e=>this.onFocus(e)),this.addEventListener(`roworderchanged`,e=>this.onDrag(e)),this.addEventListener(se,e=>this.onExpand(e.detail))}clearGrouping(){w.forEach(e=>{let t=this.providers.column.getColumns(e),n=!1;t.forEach(e=>{re(e)&&(delete e[v],n=!0)}),n&&this.providers.column.refreshByType(e)});let{source:e,oldNewIndexes:t}=S(this.getStore().get(`source`),this.getStore().get(`proxyItems`),!0);this.providers.data.setData(e,C,this.revogrid.disableVirtualY,void 0,!0),this.updateTrimmed(void 0,void 0,t,e)}updateTrimmed(e={},t={},n,r=this.getStore().get(`source`)){let i=pt(this.getStore().get(`trimmed`),t,n);for(let e in i)e===`filter`&&(i[e]=Q(r,i[e])),this.revogrid.addTrimmed(i[e],e);this.revogrid.addTrimmed(Object.assign({},e),Z)}},_t=`column-drag-start`,vt=class{constructor(){this.offset=0}renderAutoscroll(e,t){t&&(this.autoscrollEl=document.createElement(`div`),this.autoscrollEl.classList.add(`drag-auto-scroll-y`),t.appendChild(this.autoscrollEl))}autoscroll(e,t,n=`translateX`){if(!this.autoscrollEl)return;let r=Math.min(e+10,t-3);this.autoscrollEl.style.transform=`${n}(${r}px)`,this.autoscrollEl.scrollIntoView({block:`nearest`,inline:`nearest`})}start(e,{dataEl:t,gridRect:n,scrollEl:r,gridEl:i},a=`left`){i.classList.add(_t);let o=r.getBoundingClientRect();o&&(this.offset=o[a]-n[a]),this.renderAutoscroll(e,t)}stop(e){var t;e.classList.remove(_t),this.element&&(this.element.hidden=!0),this.offset=0,(t=this.autoscrollEl)==null||t.remove(),this.autoscrollEl=void 0}showHandler(e,t,n=`translateX`){this.element&&(this.offset&&(e=Math.max(e,this.offset)),e=Math.min(e,t),this.element.style.transform=`${n}(${e}px)`,this.element.hidden=!1)}render(){let e=this.element=document.createElement(`div`);return e.classList.add(`drag-position-y`),e.hidden=!0,e}},yt=he,bt=`columndragmousemove`,xt=`columndragend`,St=`beforecolumndragend`,Ct=`columndragstart`,wt=class extends j{constructor(e,n){super(e,n),this.moveFunc=t(e=>this.doMove(e),5),this.preventHeaderClickAfterDrag=e=>{this.preventNextHeaderClick&&(this.preventNextHeaderClick=!1,e.preventDefault())},this.staticDragData=null,this.dragData=null,this.columnDragMoved=!1,this.preventNextHeaderClick=!1,this.localSubscriptions={},this.orderUi=new vt,e.appendChild(this.orderUi.render()),e.classList.add(`column-draggable`),this.localSubscriptions.mouseleave={target:document,callback:e=>this.onMouseOut(e)},this.localSubscriptions.mouseup={target:document,callback:e=>this.onMouseUp(e)},this.localSubscriptions.mousemove={target:document,callback:e=>this.move(e)},this.addEventListener(yt,({detail:e})=>this.dragStart(e)),this.revogrid.addEventListener(`beforeheaderclick`,this.preventHeaderClickAfterDrag,{capture:!0})}dragStart({event:e,data:t}){if(e.defaultPrevented)return;this.preventNextHeaderClick=!1;let{defaultPrevented:n}=O(this.revogrid,Ct,t);if(n)return;this.clearOrder();let{mouseleave:r,mouseup:i,mousemove:a}=this.localSubscriptions;r.target.addEventListener(`mouseleave`,r.callback),i.target.addEventListener(`mouseup`,i.callback);let s=e.target.closest(`revogr-header`),c=e.target.closest(`revogr-viewport-scroll`);if(!s||!c||d(t)||t.providers.type===`rowHeaders`)return;let l=this.getDimension(t.pin||`rgCol`),u=this.revogrid.getBoundingClientRect(),f=s.getBoundingClientRect(),p=o(l,$(e.x,u.left,f.left-u.left)+(l.renderOffset||0));this.staticDragData={startPos:e.x,startItem:p,pin:t.pin,dataEl:s,scrollEl:c,gridEl:this.revogrid,cols:l},this.dragData=this.getData(this.staticDragData,[]),a.target.addEventListener(`mousemove`,a.callback),this.orderUi.start(e,Object.assign(Object.assign({},this.dragData),this.staticDragData))}doMove(e){if(!this.staticDragData)return;let t=this.dragData=this.getData(this.staticDragData,[]);if(!t)return;let n=this.staticDragData.startPos;if(Math.abs(n-e.x)>10){let n=$(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset),r=o(this.staticDragData.cols,n+(this.staticDragData.cols.renderOffset||0));if(this.orderUi.autoscroll(n,t.elRect.width),r.itemIndex>=this.staticDragData.cols.count)return;this.orderUi.showHandler(Tt(r,this.staticDragData.startItem,this.staticDragData.cols.renderOffset||0,t.scrollOffset),t.gridRect.width)}}move(e){this.staticDragData&&Math.abs(this.staticDragData.startPos-e.x)>10&&(this.columnDragMoved=!0),O(this.revogrid,bt,e),this.moveFunc(e)}onMouseOut(e){this.clearOrder()}onMouseUp(e){let t=this.columnDragMoved;if(this.dragData&&this.staticDragData){let t=$(e.x,this.dragData.gridRect.left,this.dragData.scrollOffset);t<0&&(t=0);let n=o(this.staticDragData.cols,t+(this.staticDragData.cols.renderOffset||0)),r=this.providers.column.stores[this.dragData.type].store,i=r.get(`source`),a=[...r.get(`items`)],{defaultPrevented:s}=O(this.revogrid,St,Object.assign(Object.assign({},this.staticDragData),{startPosition:this.staticDragData.startItem,newPosition:n,newItem:i[a[this.staticDragData.startItem.itemIndex]]}));if(!s){let e=[...a],t=a.splice(this.staticDragData.startItem.itemIndex,1);a.splice(n.itemIndex,0,...t),r.set(`items`,a),this.providers.dimension.updateSizesPositionByNewDataIndexes(this.dragData.type,a,e)}O(this.revogrid,xt,this.getData(this.staticDragData,a,i))}t&&(this.preventNextHeaderClick=!!e.target.closest(`revogr-header`)),this.clearOrder()}clearLocalSubscriptions(){M(this.localSubscriptions,({target:e,callback:t},n)=>e.removeEventListener(n,t))}clearOrder(){this.staticDragData=null,this.dragData=null,this.columnDragMoved=!1,this.clearLocalSubscriptions(),this.orderUi.stop(this.revogrid)}clearSubscriptions(){super.clearSubscriptions(),this.clearLocalSubscriptions(),this.revogrid.removeEventListener(`beforeheaderclick`,this.preventHeaderClickAfterDrag,{capture:!0})}getData({gridEl:e,dataEl:t,pin:n},r,i=[]){let a=e.getBoundingClientRect(),o=t.getBoundingClientRect(),s=o.left-a.left;return{columns:r.map(e=>i[e]).filter(Boolean),elRect:o,gridRect:a,order:r,type:n||`rgCol`,scrollOffset:s}}getDimension(e){return this.providers.dimension.stores[e].getCurrentState()}};function $(e,t,n){return e-t-n}function Tt(e,t,n,r){return(t.itemIndex>e.itemIndex?e.start:e.end)-n+r}var Et=class{constructor(){this.defaultRowSize=32}},Dt=class{constructor(){this.defaultRowSize=27}},Ot=class{constructor(){this.defaultRowSize=42}},kt=`default`,At=[kt,`material`,`compact`,`darkMaterial`,`darkCompact`],jt=class{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){switch(Mt(e)){case`material`:case`darkMaterial`:this.currentTheme=new Ot;break;case`compact`:case`darkCompact`:this.currentTheme=new Et;break;default:this.currentTheme=new Dt;break}}};function Mt(e){return e&&At.indexOf(e)>-1?e:kt}export{wt as a,Je as c,X as d,De as f,j as i,gt as l,Mt as n,be as o,Oe as p,Ee as r,Ve as s,jt as t,Se as u};
@@ -0,0 +1 @@
1
+ import{a as e,r as t}from"./debounce-PCRWZliA-BjJpj_P7.js";import{a as n}from"./viewport.helpers-CoCAvmZs-ByVRjjkF.js";var r={contentSize:0,clientSize:0,virtualSize:0,maxSize:0},i=-1;function a(e,t,r=0){return n({contentSize:e,clientSize:t,virtualSize:r}).physicalContentSize}var o=class{constructor(e){this.cfg=e,this.preventArtificialScroll={rgRow:null,rgCol:null},this.previousScroll={rgRow:i,rgCol:i},this.previousLogicalScroll={rgRow:0,rgCol:0},this.params={rgRow:Object.assign({},r),rgCol:Object.assign({},r)}}setParams(e,t){let r=n(e),i=r.physicalContentSize;this.params[t]=Object.assign(Object.assign({},e),{maxSize:i-e.clientSize,virtualContentSize:i,scrollDimension:r})}async setScroll(e){this.cancelScroll(e.dimension);let t=new Promise((t,n)=>{if(this.cfg.skipAnimationFrame)return t();let r=window.requestAnimationFrame(()=>{t()});this.preventArtificialScroll[e.dimension]=n.bind(null,r)});try{await t;let n=this.getParams(e.dimension);e.coordinate=Math.ceil(e.coordinate),this.previousLogicalScroll[e.dimension]=this.wrapLogicalCoordinate(e.coordinate,n);let r=this.toPhysicalCoordinate(e.coordinate,n);this.previousScroll[e.dimension]=this.wrapPhysicalCoordinate(r,n),this.preventArtificialScroll[e.dimension]=null,this.cfg.applyScroll(Object.assign(Object.assign({},e),{coordinate:r}))}catch(e){window.cancelAnimationFrame(e)}}async setScrollByDelta(e,t){let n=this.getParams(e.dimension),r=this.previousScroll[e.dimension]===i?this.toLogicalCoordinate(t,n):this.previousLogicalScroll[e.dimension],a=this.wrapLogicalCoordinate(r+(e.delta??0),n),o=Object.assign(Object.assign({},e),{coordinate:a});return await this.setScroll(o),o}scroll(e,t,n=!1,r,a=!1){if(this.cancelScroll(t),!n&&this.previousScroll[t]===e){this.previousScroll[t]=i;return}let o=this.getParams(t),s=this.toLogicalScrollCoordinate(e,t,o,r);this.cfg.runScroll({dimension:t,coordinate:s,delta:r,outside:a}),this.previousLogicalScroll[t]=s}getParams(e){return this.params[e]}wrapPhysicalCoordinate(e,t){return e<0?i:typeof t.maxSize==`number`&&e>t.maxSize?t.maxSize:e}wrapLogicalCoordinate(e,t){return e<0?0:Math.min(e,t.scrollDimension?.logicalScrollSize??e)}cancelScroll(e){var t,n;(n=(t=this.preventArtificialScroll)[e])==null||n.call(t),this.preventArtificialScroll[e]=null}toLogicalScrollCoordinate(e,t,n,r){let a=n.scrollDimension;if(!a)return e;if(typeof r==`number`&&a.isCompressed){let n=this.previousScroll[t]===i?a.toLogicalCoordinate(e-r):this.previousLogicalScroll[t];return a.toLogicalCoordinate(a.toPhysicalCoordinate(n+r))}return a.toLogicalCoordinate(e)}toPhysicalCoordinate(e,t){return t.scrollDimension?.toPhysicalCoordinate(e)??e}toLogicalCoordinate(e,t){return t.scrollDimension?.toLogicalCoordinate(e)??e}},s=class{constructor(e=10){this.scrollThrottling=e,this.mouseWheelScrollTimestamp={rgCol:0,rgRow:0},this.lastKnownScrollCoordinate={rgCol:0,rgRow:0},this.lastScrollUpdateCallbacks={}}setCoordinate(e){this.lastKnownScrollCoordinate[e.dimension]=e.coordinate}latestScrollUpdate(e){this.mouseWheelScrollTimestamp[e]=new Date().getTime()}isReady(e,t){return this.lastScrollUpdateCallbacks[e]&&this.clearLastScrollUpdate(e),this.verifyChange(e,t)}verifyChange(e,t){return new Date().getTime()-this.mouseWheelScrollTimestamp[e]>this.scrollThrottling&&t!==this.lastKnownScrollCoordinate[e]}clearLastScrollUpdate(e){clearTimeout(this.lastScrollUpdateCallbacks[e]?.timeout??0),delete this.lastScrollUpdateCallbacks[e]}throttleLastScrollUpdate(e,t,n){if(this.scrollThrottling){this.clearLastScrollUpdate(e);let r=this.lastScrollUpdateCallbacks[e]={callback:n,timestamp:new Date().getTime(),coordinate:t,timeout:0};r.timeout=setTimeout(()=>{this.clearLastScrollUpdate(e),this.mouseWheelScrollTimestamp[e]<r.timestamp&&this.verifyChange(e,r.coordinate)&&r.callback()},this.scrollThrottling+50)}}},c=`Expected a function`;function l(n,r,i){var a=!0,o=!0;if(typeof n!=`function`)throw TypeError(c);return e(i)&&(a=`leading`in i?!!i.leading:a,o=`trailing`in i?!!i.trailing:o),t(n,r,{leading:a,maxWait:r,trailing:o})}export{l as i,s as n,a as r,o as t};
@@ -0,0 +1 @@
1
+ var e=16e6,t=1e6,n;function r(r=typeof document>`u`?void 0:document){if(typeof n==`number`)return n;let i=r?.body;if(i){let r=i.ownerDocument,a=r.createElement(`div`);a.style.cssText=[`height:1px`,`left:-10000px`,`overflow:scroll`,`position:absolute`,`top:-10000px`,`visibility:hidden`,`width:1px`].join(`;`);let o=r.createElement(`div`);return o.style.height=`${e*4}px`,a.appendChild(o),i.appendChild(a),n=Math.max(0,Math.min(a.scrollHeight,e*4)-t),a.remove(),n>t||(n=e),n}return e}function i({contentSize:e,clientSize:n,virtualSize:i=0,maxScrollSize:a=r()}){let o=Math.max(0,a-t),s=Math.max(0,e),c=Math.max(0,n),l=Math.max(0,i||c),u=Math.max(0,s-l),d=Math.max(0,o-c),f=Math.min(u,d),p=c+f,m=u>f&&f>0,h=e=>Math.min(Math.max(0,e||0),u),g=e=>Math.min(Math.max(0,e||0),f),_=e=>!u||!f?0:h(m?g(e)/f*u:e),v=e=>!u||!f?0:g(m?h(e)/u*f:e);return{contentSize:s,clientSize:c,viewportSize:l,physicalContentSize:p,logicalScrollSize:u,physicalScrollSize:f,isCompressed:m,toLogicalCoordinate:_,toPhysicalCoordinate:v,getRenderOffset(e){let t=h(e);return t-v(t)}}}var a=`header`,o=`footer`,s=`content`,c=`data`;function l(e,t){return{x:e.viewports[e.colType].store.get(`realCount`),y:e.viewports[t].store.get(`realCount`)}}function u(e,t,n,r){return{colData:e.colStore,viewportCol:e.viewports[e.colType].store,viewportRow:e.viewports[t].store,lastCell:l(e,t),slot:n,type:t,canDrag:!r,position:e.position,dataStore:e.rowStores[t].store,dimensionCol:e.dimensions[e.colType].store,dimensionRow:e.dimensions[t].store,style:r?{height:`${e.dimensions[t].store.get(`realSize`)}px`}:void 0}}export{i as a,a as i,c as n,u as o,o as r,s as t};
@@ -0,0 +1 @@
1
+ import{H as e,O as t,T as n}from"./dimension.helpers-CGKwSvw6-D_czicbS.js";var r=10,i=(e,t,n=50)=>t?.size||Math.max((e.toString().length+1)*r,n);function a(e,t,n=1){return!t||e.realSize<=t?0:Math.max(0,e.realSize-t-e.originItemSize*n)}function o(e,t,n,r=1){return Math.min(Math.max(0,e),a(t,n,r))}function s(e,n,r,i,a){let o=t(a,e),s=g(n),p;if(s){let e=o.itemIndex-(s.itemIndex||0);e&&(p=f(Math.abs(e),Object.assign(Object.assign({positiveDirection:e>-1},a),n)))}let m=c(i,a.realSize,o);if(p){let e=u(o,r,m,p,a);e.length&&l(p.items,e,p)}if(!p){let e=d({firstItemStart:o.start,firstItemIndex:o.itemIndex,origSize:a.originItemSize,maxSize:m,maxCount:r,sizes:a.sizes});p={items:e,start:0,end:e.length-1}}return p}function c(e,t,n){return Math.min(e+(n.end-n.start),t)}function l(e,t,n){e.splice(n.end+1,0,...t),n.start>=n.end&&!(n.start===n.end&&n.start===0)&&(n.start+=t.length),n.end+=t.length}function u(e,t,n,r,i){let a=_(r);return d({sizes:i.sizes,firstItemStart:a.end,firstItemIndex:a.itemIndex+1,origSize:i.originItemSize,maxSize:n-(a.end-e.start),maxCount:t})}function d(e,t=0){let n=[],r=e.firstItemIndex,i=t;for(;i<=e.maxSize&&r<e.maxCount;){let t=p(r,e.sizes,e.origSize);n.push({start:e.firstItemStart+i,end:e.firstItemStart+i+t,itemIndex:r,size:t}),i+=t,r++}return n}function f(e,t){let n=[...t.items],r=n.length,i={start:t.start,end:t.end};if(e>r)return;if(t.positiveDirection){let a=_(t),o=i.start,s=o+e;for(;o<s;o++){let e=a.itemIndex+1,s=p(e,t.sizes,t.originItemSize);if(a.end+s>t.realSize)break;let c=o%r;if(!n[c])throw Error(`incorrect index`);n[c]=a={start:a.end,end:a.end+s,itemIndex:e,size:s},i.start++,i.end=c}}else{let a=g(t),o=i.end;for(let s=0;s<e;s++){let e=(a?.itemIndex??0)-1,c=p(e,t.sizes,t.originItemSize),l=o-s;if(l=(l<0?r+l:l)%r,!n[l]){console.error(`incorrect index`);break}let u=a?.start??0;n[l]=a={start:u-c,end:u,itemIndex:e,size:c},i.start=l,i.end--}}let a={start:(i.start<0?r+i.start:i.start)%r,end:(i.end<0?r+i.end:i.end)%r};return Object.assign({items:n},a)}function p(e,t,n=0){return typeof t?.[e]==`number`?t[e]:n}function m(e,t,n,r){return!n||!r?!1:e>=n.start&&e<=n.end||e>n.end&&r.end===t}function h(e,t,n,r){return n?t+e>(r?.end??0):!1}function g(e){return e.items[e.start]}function _(e){return e.items[e.end]}function v(e,t,n,r){let i=[...e],a=i.length,o=r,s=0,c=t;if(!a)return[];for(;s<a;){let e=i[c];e.start=o,e.size=n,e.end=e.start+n,o=e.end,c++,s++,c===a&&(c=0)}return i}function y(){return{items:[],start:0,end:0,virtualSize:0,realCount:0,clientSize:0,renderOffset:0}}var b=class{get lastCoordinate(){return this.lastKnownScroll}set lastCoordinate(e){this.lastKnownScroll=e}constructor(e){this.type=e,this.lastKnownScroll=0,this.store=n(y())}setViewPortCoordinate(e,t,n=!1){let r=this.store.get(`virtualSize`);if(!r)return;let i=t.originItemSize*1,c=r+i*2,d=a(t,r,1),f=o(e,t,r,1);this.lastCoordinate=f,f-=i,f=f<0?0:f<d?f:d;let p;p=n?{items:[],start:0,end:0}:this.getItems();let v=g(p),y=_(p),b={};if(!m(f,t.realSize,v,y))b=Object.assign(Object.assign({},b),s(f,p,this.store.get(`realCount`),c,t)),this.setViewport(Object.assign({},b));else if(h(f,c,v,y)){let e=[...p.items],n=u(v,this.store.get(`realCount`),c+f-v.start,p,{sizes:t.sizes,originItemSize:t.originItemSize});if(n.length){let t={start:this.store.get(`start`),end:this.store.get(`end`)};l(e,n,t),b=Object.assign(Object.assign(Object.assign({},b),{items:[...e]}),t),this.setViewport(Object.assign({},b))}}}setOriginalSizes(t){let n=this.store.get(`items`);n.length&&e(this.store,{items:v(n,this.store.get(`start`),t,this.lastCoordinate)})}getItems(){return{items:this.store.get(`items`),start:this.store.get(`start`),end:this.store.get(`end`)}}setViewport(t){(typeof t.realCount==`number`||typeof t.virtualSize==`number`)&&(t=Object.assign(Object.assign({},t),{items:t.items||[]})),e(this.store,t)}};export{i as n,b as t};
@@ -0,0 +1,5 @@
1
+ import { type InlineConfig } from "vite";
2
+ export declare function ensureTsconfig(root: string): void;
3
+ export declare function knobkitSource(root: string): string | null;
4
+ export declare function indexHtml(entry: string): string;
5
+ export declare function mountConfig(root: string, entry: string, ownHtml: boolean): InlineConfig;
@@ -0,0 +1,82 @@
1
+ import { existsSync, writeFileSync } from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import { dirname, relative, resolve } from "node:path";
4
+ import { searchForWorkspaceRoot } from "vite";
5
+ export function ensureTsconfig(root) {
6
+ const path = resolve(root, "tsconfig.json");
7
+ if (existsSync(path))
8
+ return;
9
+ const body = { extends: "knobkit/tsconfig.base.json", include: ["**/*.ts", "**/*.tsx"] };
10
+ writeFileSync(path, JSON.stringify(body, null, 2) + "\n");
11
+ console.log("knobkit: created tsconfig.json");
12
+ }
13
+ export function knobkitSource(root) {
14
+ try {
15
+ const require = createRequire(resolve(root, "_.js"));
16
+ const src = resolve(dirname(require.resolve("knobkit/package.json")), "src/lib/index.ts");
17
+ return existsSync(src) ? src : null;
18
+ }
19
+ catch {
20
+ return null;
21
+ }
22
+ }
23
+ const tsSource = {
24
+ name: "knobkit:ts-source",
25
+ enforce: "pre",
26
+ resolveId(source, importer) {
27
+ if (!importer || !source.startsWith(".") || !source.endsWith(".js"))
28
+ return null;
29
+ const base = resolve(dirname(importer), source);
30
+ for (const cand of [base.replace(/\.js$/, ".tsx"), base.replace(/\.js$/, ".ts")]) {
31
+ if (existsSync(cand))
32
+ return cand;
33
+ }
34
+ return null;
35
+ },
36
+ };
37
+ export function indexHtml(entry) {
38
+ return `<!doctype html>
39
+ <html lang="en">
40
+ <head>
41
+ <meta charset="utf-8" />
42
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
43
+ <title>knobkit</title>
44
+ </head>
45
+ <body>
46
+ <div id="root"></div>
47
+ <script type="module" src="/${entry}"></script>
48
+ </body>
49
+ </html>
50
+ `;
51
+ }
52
+ function virtualIndex(entry) {
53
+ return {
54
+ name: "knobkit:index",
55
+ configureServer(server) {
56
+ server.middlewares.use(async (req, res, next) => {
57
+ const url = req.url?.split("?")[0];
58
+ if (url !== "/" && url !== "/index.html")
59
+ return next();
60
+ res.statusCode = 200;
61
+ res.setHeader("content-type", "text/html");
62
+ res.end(await server.transformIndexHtml(req.originalUrl ?? "/", indexHtml(entry)));
63
+ });
64
+ },
65
+ };
66
+ }
67
+ export function mountConfig(root, entry, ownHtml) {
68
+ const src = knobkitSource(root);
69
+ const entryRel = relative(root, entry);
70
+ return {
71
+ configFile: false,
72
+ root,
73
+ plugins: [tsSource, ...(ownHtml ? [] : [virtualIndex(entryRel)])],
74
+ esbuild: { jsx: "automatic" },
75
+ resolve: {
76
+ dedupe: ["react", "react-dom"],
77
+ ...(src ? { alias: [{ find: /^knobkit$/, replacement: src }] } : {}),
78
+ },
79
+ ...(ownHtml ? {} : { optimizeDeps: { entries: [entryRel] } }),
80
+ server: { fs: { allow: [searchForWorkspaceRoot(root)] } },
81
+ };
82
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};