@acronis-platform/ui-react 3.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +11 -0
  2. package/dist/components/ui/accordion/accordion.js +40 -53
  3. package/dist/components/ui/accordion/accordion.js.map +1 -1
  4. package/dist/components/ui/accordion-container/accordion-container.js +93 -141
  5. package/dist/components/ui/accordion-container/accordion-container.js.map +1 -1
  6. package/dist/components/ui/alert/alert.js +95 -156
  7. package/dist/components/ui/alert/alert.js.map +1 -1
  8. package/dist/components/ui/app-shell-chat/app-shell-chat.js +233 -332
  9. package/dist/components/ui/app-shell-chat/app-shell-chat.js.map +1 -1
  10. package/dist/components/ui/area-chart/area-chart.js +155 -238
  11. package/dist/components/ui/area-chart/area-chart.js.map +1 -1
  12. package/dist/components/ui/avatar/avatar.js +47 -84
  13. package/dist/components/ui/avatar/avatar.js.map +1 -1
  14. package/dist/components/ui/bar-chart/bar-chart.js +405 -613
  15. package/dist/components/ui/bar-chart/bar-chart.js.map +1 -1
  16. package/dist/components/ui/breadcrumb/breadcrumb.js +68 -116
  17. package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -1
  18. package/dist/components/ui/button/button.js +31 -40
  19. package/dist/components/ui/button/button.js.map +1 -1
  20. package/dist/components/ui/button-group/button-group.js +33 -55
  21. package/dist/components/ui/button-group/button-group.js.map +1 -1
  22. package/dist/components/ui/button-icon/button-icon.js +26 -35
  23. package/dist/components/ui/button-icon/button-icon.js.map +1 -1
  24. package/dist/components/ui/button-icon-input/button-icon-input.js +28 -35
  25. package/dist/components/ui/button-icon-input/button-icon-input.js.map +1 -1
  26. package/dist/components/ui/button-icon-menu/button-icon-menu.js +22 -26
  27. package/dist/components/ui/button-icon-menu/button-icon-menu.js.map +1 -1
  28. package/dist/components/ui/button-menu/button-menu.js +36 -52
  29. package/dist/components/ui/button-menu/button-menu.js.map +1 -1
  30. package/dist/components/ui/calendar/calendar.js +103 -202
  31. package/dist/components/ui/calendar/calendar.js.map +1 -1
  32. package/dist/components/ui/calendar-panel/calendar-panel-utils.js +46 -57
  33. package/dist/components/ui/calendar-panel/calendar-panel-utils.js.map +1 -1
  34. package/dist/components/ui/calendar-panel/calendar-panel.js +136 -257
  35. package/dist/components/ui/calendar-panel/calendar-panel.js.map +1 -1
  36. package/dist/components/ui/card/card.js +104 -168
  37. package/dist/components/ui/card/card.js.map +1 -1
  38. package/dist/components/ui/card-filter/card-filter.js +49 -76
  39. package/dist/components/ui/card-filter/card-filter.js.map +1 -1
  40. package/dist/components/ui/card-section/card-section.js +81 -111
  41. package/dist/components/ui/card-section/card-section.js.map +1 -1
  42. package/dist/components/ui/carousel-dialog/carousel-dialog.js +49 -87
  43. package/dist/components/ui/carousel-dialog/carousel-dialog.js.map +1 -1
  44. package/dist/components/ui/category-bar/category-bar.js +122 -145
  45. package/dist/components/ui/category-bar/category-bar.js.map +1 -1
  46. package/dist/components/ui/chart/chart-format.js +117 -153
  47. package/dist/components/ui/chart/chart-format.js.map +1 -1
  48. package/dist/components/ui/chart/chart-palette.js +69 -0
  49. package/dist/components/ui/chart/chart-palette.js.map +1 -0
  50. package/dist/components/ui/chart/chart.js +178 -259
  51. package/dist/components/ui/chart/chart.js.map +1 -1
  52. package/dist/components/ui/chart-state/chart-state-illustrations.js +412 -0
  53. package/dist/components/ui/chart-state/chart-state-illustrations.js.map +1 -0
  54. package/dist/components/ui/chart-state/chart-state.js +40 -42
  55. package/dist/components/ui/chart-state/chart-state.js.map +1 -1
  56. package/dist/components/ui/chart-widget/chart-widget.js +40 -0
  57. package/dist/components/ui/chart-widget/chart-widget.js.map +1 -0
  58. package/dist/components/ui/checkbox/checkbox.js +56 -69
  59. package/dist/components/ui/checkbox/checkbox.js.map +1 -1
  60. package/dist/components/ui/chip/chip.js +51 -70
  61. package/dist/components/ui/chip/chip.js.map +1 -1
  62. package/dist/components/ui/combobox/combobox.js +88 -151
  63. package/dist/components/ui/combobox/combobox.js.map +1 -1
  64. package/dist/components/ui/composed-chart/composed-chart.js +297 -432
  65. package/dist/components/ui/composed-chart/composed-chart.js.map +1 -1
  66. package/dist/components/ui/confidence-cone/confidence-cone.js +214 -324
  67. package/dist/components/ui/confidence-cone/confidence-cone.js.map +1 -1
  68. package/dist/components/ui/data-table/data-table-bulk-actions-bar.js +32 -37
  69. package/dist/components/ui/data-table/data-table-bulk-actions-bar.js.map +1 -1
  70. package/dist/components/ui/data-table/data-table-column-header.js +23 -38
  71. package/dist/components/ui/data-table/data-table-column-header.js.map +1 -1
  72. package/dist/components/ui/data-table/data-table-expand-trigger.js +23 -46
  73. package/dist/components/ui/data-table/data-table-expand-trigger.js.map +1 -1
  74. package/dist/components/ui/data-table/data-table-pagination.js +84 -89
  75. package/dist/components/ui/data-table/data-table-pagination.js.map +1 -1
  76. package/dist/components/ui/data-table/data-table-selection.js +7 -6
  77. package/dist/components/ui/data-table/data-table-selection.js.map +1 -1
  78. package/dist/components/ui/data-table/data-table-toolbar.js +51 -76
  79. package/dist/components/ui/data-table/data-table-toolbar.js.map +1 -1
  80. package/dist/components/ui/data-table/data-table-view-options.js +21 -28
  81. package/dist/components/ui/data-table/data-table-view-options.js.map +1 -1
  82. package/dist/components/ui/data-table/data-table.js +304 -438
  83. package/dist/components/ui/data-table/data-table.js.map +1 -1
  84. package/dist/components/ui/date-range-picker/date-range-picker-utils.js +16 -14
  85. package/dist/components/ui/date-range-picker/date-range-picker-utils.js.map +1 -1
  86. package/dist/components/ui/date-range-picker/date-range-picker.js +77 -111
  87. package/dist/components/ui/date-range-picker/date-range-picker.js.map +1 -1
  88. package/dist/components/ui/description-list/description-list.js +44 -54
  89. package/dist/components/ui/description-list/description-list.js.map +1 -1
  90. package/dist/components/ui/dialog/dialog.js +229 -310
  91. package/dist/components/ui/dialog/dialog.js.map +1 -1
  92. package/dist/components/ui/dialog-footer-carousel/dialog-footer-carousel.js +33 -57
  93. package/dist/components/ui/dialog-footer-carousel/dialog-footer-carousel.js.map +1 -1
  94. package/dist/components/ui/dialog-footer-default/dialog-footer-default.js +21 -26
  95. package/dist/components/ui/dialog-footer-default/dialog-footer-default.js.map +1 -1
  96. package/dist/components/ui/dialog-welcome/dialog-welcome.js +221 -267
  97. package/dist/components/ui/dialog-welcome/dialog-welcome.js.map +1 -1
  98. package/dist/components/ui/dropdown-menu/dropdown-menu.js +101 -168
  99. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -1
  100. package/dist/components/ui/empty/empty.js +49 -77
  101. package/dist/components/ui/empty/empty.js.map +1 -1
  102. package/dist/components/ui/empty-overlay/empty-overlay.js +43 -49
  103. package/dist/components/ui/empty-overlay/empty-overlay.js.map +1 -1
  104. package/dist/components/ui/field/field.js +95 -178
  105. package/dist/components/ui/field/field.js.map +1 -1
  106. package/dist/components/ui/filter-cards/filter-cards.js +16 -25
  107. package/dist/components/ui/filter-cards/filter-cards.js.map +1 -1
  108. package/dist/components/ui/filter-chips/filter-chips.js +36 -44
  109. package/dist/components/ui/filter-chips/filter-chips.js.map +1 -1
  110. package/dist/components/ui/filter-search/filter-search.js +139 -209
  111. package/dist/components/ui/filter-search/filter-search.js.map +1 -1
  112. package/dist/components/ui/fitted-actions/fitted-actions.js +87 -137
  113. package/dist/components/ui/fitted-actions/fitted-actions.js.map +1 -1
  114. package/dist/components/ui/form/form.js +14 -15
  115. package/dist/components/ui/form/form.js.map +1 -1
  116. package/dist/components/ui/funnel-chart/funnel-chart.js +190 -273
  117. package/dist/components/ui/funnel-chart/funnel-chart.js.map +1 -1
  118. package/dist/components/ui/grid/grid.js +61 -68
  119. package/dist/components/ui/grid/grid.js.map +1 -1
  120. package/dist/components/ui/histogram/histogram.js +107 -139
  121. package/dist/components/ui/histogram/histogram.js.map +1 -1
  122. package/dist/components/ui/input/input.js +14 -21
  123. package/dist/components/ui/input/input.js.map +1 -1
  124. package/dist/components/ui/input-date-picker/input-date-picker.js +70 -114
  125. package/dist/components/ui/input-date-picker/input-date-picker.js.map +1 -1
  126. package/dist/components/ui/input-num-picker/input-num-picker.js +48 -0
  127. package/dist/components/ui/input-num-picker/input-num-picker.js.map +1 -0
  128. package/dist/components/ui/input-otp/input-otp.js +75 -104
  129. package/dist/components/ui/input-otp/input-otp.js.map +1 -1
  130. package/dist/components/ui/input-password/input-password.js +71 -126
  131. package/dist/components/ui/input-password/input-password.js.map +1 -1
  132. package/dist/components/ui/input-search/input-search.js +32 -56
  133. package/dist/components/ui/input-search/input-search.js.map +1 -1
  134. package/dist/components/ui/input-select/input-select.js +225 -335
  135. package/dist/components/ui/input-select/input-select.js.map +1 -1
  136. package/dist/components/ui/input-text/input-text.js +54 -98
  137. package/dist/components/ui/input-text/input-text.js.map +1 -1
  138. package/dist/components/ui/input-text-area/input-text-area.js +41 -86
  139. package/dist/components/ui/input-text-area/input-text-area.js.map +1 -1
  140. package/dist/components/ui/label/label.js +6 -12
  141. package/dist/components/ui/label/label.js.map +1 -1
  142. package/dist/components/ui/line-chart/line-chart.js +175 -275
  143. package/dist/components/ui/line-chart/line-chart.js.map +1 -1
  144. package/dist/components/ui/link/link.js +34 -54
  145. package/dist/components/ui/link/link.js.map +1 -1
  146. package/dist/components/ui/loading/loading.js +51 -78
  147. package/dist/components/ui/loading/loading.js.map +1 -1
  148. package/dist/components/ui/meter/meter.js +79 -93
  149. package/dist/components/ui/meter/meter.js.map +1 -1
  150. package/dist/components/ui/metric/metric.js +83 -200
  151. package/dist/components/ui/metric/metric.js.map +1 -1
  152. package/dist/components/ui/number-field/number-field.js +36 -60
  153. package/dist/components/ui/number-field/number-field.js.map +1 -1
  154. package/dist/components/ui/page-content/page-content.js +15 -19
  155. package/dist/components/ui/page-content/page-content.js.map +1 -1
  156. package/dist/components/ui/page-header/page-header.js +120 -181
  157. package/dist/components/ui/page-header/page-header.js.map +1 -1
  158. package/dist/components/ui/pagination/pagination.js +58 -86
  159. package/dist/components/ui/pagination/pagination.js.map +1 -1
  160. package/dist/components/ui/pie-chart/pie-chart.js +189 -262
  161. package/dist/components/ui/pie-chart/pie-chart.js.map +1 -1
  162. package/dist/components/ui/popover/popover.js +51 -96
  163. package/dist/components/ui/popover/popover.js.map +1 -1
  164. package/dist/components/ui/progress/progress.js +23 -29
  165. package/dist/components/ui/progress/progress.js.map +1 -1
  166. package/dist/components/ui/progress-circle/progress-circle.js +97 -113
  167. package/dist/components/ui/progress-circle/progress-circle.js.map +1 -1
  168. package/dist/components/ui/radar-chart/radar-chart.js +127 -223
  169. package/dist/components/ui/radar-chart/radar-chart.js.map +1 -1
  170. package/dist/components/ui/radial-bar-chart/radial-bar-chart.js +267 -367
  171. package/dist/components/ui/radial-bar-chart/radial-bar-chart.js.map +1 -1
  172. package/dist/components/ui/radio/radio.js +22 -43
  173. package/dist/components/ui/radio/radio.js.map +1 -1
  174. package/dist/components/ui/resizable/resizable.js +20 -64
  175. package/dist/components/ui/resizable/resizable.js.map +1 -1
  176. package/dist/components/ui/sankey-chart/sankey-chart.js +155 -195
  177. package/dist/components/ui/sankey-chart/sankey-chart.js.map +1 -1
  178. package/dist/components/ui/scatter-chart/scatter-chart.js +95 -138
  179. package/dist/components/ui/scatter-chart/scatter-chart.js.map +1 -1
  180. package/dist/components/ui/scroll-area/scroll-area.js +43 -77
  181. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -1
  182. package/dist/components/ui/search/search.js +58 -92
  183. package/dist/components/ui/search/search.js.map +1 -1
  184. package/dist/components/ui/section/section.js +125 -37
  185. package/dist/components/ui/section/section.js.map +1 -1
  186. package/dist/components/ui/separator/separator.js +16 -22
  187. package/dist/components/ui/separator/separator.js.map +1 -1
  188. package/dist/components/ui/sheet/sheet-details.js +55 -78
  189. package/dist/components/ui/sheet/sheet-details.js.map +1 -1
  190. package/dist/components/ui/sheet/sheet.js +80 -136
  191. package/dist/components/ui/sheet/sheet.js.map +1 -1
  192. package/dist/components/ui/sidebar-primary/sidebar-primary.js +220 -364
  193. package/dist/components/ui/sidebar-primary/sidebar-primary.js.map +1 -1
  194. package/dist/components/ui/sidebar-secondary/sidebar-secondary.js +459 -641
  195. package/dist/components/ui/sidebar-secondary/sidebar-secondary.js.map +1 -1
  196. package/dist/components/ui/skeleton/skeleton.js +14 -21
  197. package/dist/components/ui/skeleton/skeleton.js.map +1 -1
  198. package/dist/components/ui/slider/slider.js +28 -42
  199. package/dist/components/ui/slider/slider.js.map +1 -1
  200. package/dist/components/ui/spinner/spinner.js +28 -37
  201. package/dist/components/ui/spinner/spinner.js.map +1 -1
  202. package/dist/components/ui/stack/stack.js +59 -61
  203. package/dist/components/ui/stack/stack.js.map +1 -1
  204. package/dist/components/ui/stepper/stepper.js +52 -70
  205. package/dist/components/ui/stepper/stepper.js.map +1 -1
  206. package/dist/components/ui/stepper-item/stepper-item.js +85 -97
  207. package/dist/components/ui/stepper-item/stepper-item.js.map +1 -1
  208. package/dist/components/ui/switch/switch.js +26 -40
  209. package/dist/components/ui/switch/switch.js.map +1 -1
  210. package/dist/components/ui/table/table-pagination.js +91 -106
  211. package/dist/components/ui/table/table-pagination.js.map +1 -1
  212. package/dist/components/ui/table/table-view-options.js +37 -53
  213. package/dist/components/ui/table/table-view-options.js.map +1 -1
  214. package/dist/components/ui/table/table.js +90 -177
  215. package/dist/components/ui/table/table.js.map +1 -1
  216. package/dist/components/ui/tabs/tabs.js +26 -43
  217. package/dist/components/ui/tabs/tabs.js.map +1 -1
  218. package/dist/components/ui/tag/tag.js +42 -47
  219. package/dist/components/ui/tag/tag.js.map +1 -1
  220. package/dist/components/ui/timeline/timeline.js +161 -239
  221. package/dist/components/ui/timeline/timeline.js.map +1 -1
  222. package/dist/components/ui/timer/timer.js +24 -47
  223. package/dist/components/ui/timer/timer.js.map +1 -1
  224. package/dist/components/ui/toast/toast.js +134 -189
  225. package/dist/components/ui/toast/toast.js.map +1 -1
  226. package/dist/components/ui/toggle-group/toggle-group.js +28 -46
  227. package/dist/components/ui/toggle-group/toggle-group.js.map +1 -1
  228. package/dist/components/ui/toolbar/toolbar.js +128 -201
  229. package/dist/components/ui/toolbar/toolbar.js.map +1 -1
  230. package/dist/components/ui/tooltip/tooltip.js +35 -57
  231. package/dist/components/ui/tooltip/tooltip.js.map +1 -1
  232. package/dist/components/ui/treemap/treemap.js +135 -204
  233. package/dist/components/ui/treemap/treemap.js.map +1 -1
  234. package/dist/components/ui/trend-indicator/trend-indicator.js +48 -97
  235. package/dist/components/ui/trend-indicator/trend-indicator.js.map +1 -1
  236. package/dist/components/ui/truncate-text/middle-truncate.js +19 -19
  237. package/dist/components/ui/truncate-text/middle-truncate.js.map +1 -1
  238. package/dist/components/ui/truncate-text/text-width.js +11 -10
  239. package/dist/components/ui/truncate-text/text-width.js.map +1 -1
  240. package/dist/components/ui/truncate-text/truncate-text.js +92 -152
  241. package/dist/components/ui/truncate-text/truncate-text.js.map +1 -1
  242. package/dist/components/ui/widget-placeholder/widget-placeholder.js +63 -106
  243. package/dist/components/ui/widget-placeholder/widget-placeholder.js.map +1 -1
  244. package/dist/components/ui/wizard/wizard.js +36 -0
  245. package/dist/components/ui/wizard/wizard.js.map +1 -0
  246. package/dist/hooks/use-intersection-observer.js +27 -25
  247. package/dist/hooks/use-intersection-observer.js.map +1 -1
  248. package/dist/hooks/use-sort-state.js +43 -33
  249. package/dist/hooks/use-sort-state.js.map +1 -1
  250. package/dist/hooks/use-table-url-state.js +100 -109
  251. package/dist/hooks/use-table-url-state.js.map +1 -1
  252. package/dist/hooks/use-wizard.js +61 -0
  253. package/dist/hooks/use-wizard.js.map +1 -0
  254. package/dist/index.js +124 -544
  255. package/dist/lib/breakpoints.js +8 -13
  256. package/dist/lib/breakpoints.js.map +1 -1
  257. package/dist/lib/deep-equal.js +14 -22
  258. package/dist/lib/deep-equal.js.map +1 -1
  259. package/dist/lib/portal-container.js +16 -12
  260. package/dist/lib/portal-container.js.map +1 -1
  261. package/dist/lib/use-doc-dir.js +11 -10
  262. package/dist/lib/use-doc-dir.js.map +1 -1
  263. package/dist/lib/utils.js +8 -7
  264. package/dist/lib/utils.js.map +1 -1
  265. package/dist/llms/accordion-container.md +181 -0
  266. package/dist/llms/accordion.md +124 -0
  267. package/dist/llms/alert.md +225 -0
  268. package/dist/llms/app-shell-chat.md +415 -0
  269. package/dist/llms/area-chart.md +355 -0
  270. package/dist/llms/avatar.md +208 -0
  271. package/dist/llms/bar-chart.md +406 -0
  272. package/dist/llms/breadcrumb.md +326 -0
  273. package/dist/llms/button-group.md +298 -0
  274. package/dist/llms/button-icon-input.md +142 -0
  275. package/dist/llms/button-icon-menu.md +209 -0
  276. package/dist/llms/button-icon.md +128 -0
  277. package/dist/llms/button-menu.md +172 -0
  278. package/dist/llms/button.md +185 -0
  279. package/dist/llms/calendar-panel.md +733 -0
  280. package/dist/llms/calendar.md +188 -0
  281. package/dist/llms/card-filter.md +214 -0
  282. package/dist/llms/card-section.md +293 -0
  283. package/dist/llms/card.md +447 -0
  284. package/dist/llms/carousel-dialog.md +156 -0
  285. package/dist/llms/category-bar.md +193 -0
  286. package/dist/llms/chart-state.md +190 -0
  287. package/dist/llms/chart-widget.md +209 -0
  288. package/dist/llms/chart.md +182 -0
  289. package/dist/llms/checkbox.md +257 -0
  290. package/dist/llms/chip.md +195 -0
  291. package/dist/llms/combobox.md +164 -0
  292. package/dist/llms/composed-chart.md +508 -0
  293. package/dist/llms/confidence-cone.md +277 -0
  294. package/dist/llms/data-table.md +474 -0
  295. package/dist/llms/date-range-picker.md +272 -0
  296. package/dist/llms/description-list.md +131 -0
  297. package/dist/llms/dialog-footer-carousel.md +147 -0
  298. package/dist/llms/dialog-footer-default.md +142 -0
  299. package/dist/llms/dialog-root.md +246 -0
  300. package/dist/llms/dialog-welcome.md +223 -0
  301. package/dist/llms/dialog.md +403 -0
  302. package/dist/llms/dropdown-menu.md +193 -0
  303. package/dist/llms/empty-overlay.md +146 -0
  304. package/dist/llms/empty.md +156 -0
  305. package/dist/llms/field.md +185 -0
  306. package/dist/llms/filter-cards.md +157 -0
  307. package/dist/llms/filter-chips.md +323 -0
  308. package/dist/llms/filter-search.md +512 -0
  309. package/dist/llms/form.md +154 -0
  310. package/dist/llms/funnel-chart.md +333 -0
  311. package/dist/llms/grid.md +80 -0
  312. package/dist/llms/histogram.md +190 -0
  313. package/dist/llms/input-date-picker.md +203 -0
  314. package/dist/llms/input-num-picker.md +180 -0
  315. package/dist/llms/input-otp.md +173 -0
  316. package/dist/llms/input-password.md +197 -0
  317. package/dist/llms/input-search.md +170 -0
  318. package/dist/llms/input-select.md +278 -0
  319. package/dist/llms/input-text-area.md +271 -0
  320. package/dist/llms/input-text.md +192 -0
  321. package/dist/llms/line-chart.md +369 -0
  322. package/dist/llms/link.md +209 -0
  323. package/dist/llms/loading.md +130 -0
  324. package/dist/llms/meter.md +177 -0
  325. package/dist/llms/metric.md +204 -0
  326. package/dist/llms/number-field.md +122 -0
  327. package/dist/llms/page-content.md +69 -0
  328. package/dist/llms/page-header.md +182 -0
  329. package/dist/llms/pagination.md +133 -0
  330. package/dist/llms/pie-chart.md +307 -0
  331. package/dist/llms/popover.md +252 -0
  332. package/dist/llms/progress-circle.md +126 -0
  333. package/dist/llms/progress.md +111 -0
  334. package/dist/llms/radar-chart.md +316 -0
  335. package/dist/llms/radial-bar-chart.md +319 -0
  336. package/dist/llms/radio.md +255 -0
  337. package/dist/llms/resizable.md +195 -0
  338. package/dist/llms/sankey-chart.md +208 -0
  339. package/dist/llms/scatter-chart.md +239 -0
  340. package/dist/llms/scroll-area.md +183 -0
  341. package/dist/llms/section.md +401 -0
  342. package/dist/llms/select.md +210 -0
  343. package/dist/llms/separator.md +87 -0
  344. package/dist/llms/sheet.md +202 -0
  345. package/dist/llms/sidebar-primary.md +360 -0
  346. package/dist/llms/sidebar-secondary.md +417 -0
  347. package/dist/llms/skeleton.md +81 -0
  348. package/dist/llms/slider.md +97 -0
  349. package/dist/llms/spinner.md +100 -0
  350. package/dist/llms/stack.md +80 -0
  351. package/dist/llms/stepper-item.md +309 -0
  352. package/dist/llms/stepper.md +251 -0
  353. package/dist/llms/switch.md +140 -0
  354. package/dist/llms/table.md +436 -0
  355. package/dist/llms/tabs.md +197 -0
  356. package/dist/llms/tag.md +139 -0
  357. package/dist/llms/timeline.md +361 -0
  358. package/dist/llms/timer.md +259 -0
  359. package/dist/llms/toast.md +241 -0
  360. package/dist/llms/toggle-group.md +121 -0
  361. package/dist/llms/toolbar.md +453 -0
  362. package/dist/llms/tooltip.md +164 -0
  363. package/dist/llms/treemap.md +254 -0
  364. package/dist/llms/trend-indicator.md +132 -0
  365. package/dist/llms/widget-placeholder.md +169 -0
  366. package/dist/llms/wizard.md +412 -0
  367. package/dist/llms.txt +143 -0
  368. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/index.js +58 -61
  369. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/index.js.map +1 -1
  370. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/mini.js +71 -85
  371. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/mini.js.map +1 -1
  372. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/index.js +6 -0
  373. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tz/index.js +1 -0
  374. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzName/index.js +11 -11
  375. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzName/index.js.map +1 -1
  376. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzOffset/index.js +22 -21
  377. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzOffset/index.js.map +1 -1
  378. package/dist/node_modules/.pnpm/@tanstack_react-table@8.21.3_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-table/build/lib/index.js +36 -99
  379. package/dist/node_modules/.pnpm/@tanstack_react-table@8.21.3_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-table/build/lib/index.js.map +1 -1
  380. package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js +1478 -1852
  381. package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js.map +1 -1
  382. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js +34 -35
  383. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js.map +1 -1
  384. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +18 -15
  385. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -1
  386. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/addLeadingZeros.js +7 -7
  387. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  388. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/defaultOptions.js +8 -7
  389. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  390. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/formatters.js +387 -580
  391. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  392. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/lightFormatters.js +44 -59
  393. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  394. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/longFormatters.js +39 -52
  395. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  396. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +9 -18
  397. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  398. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeDates.js +9 -11
  399. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeDates.js.map +1 -1
  400. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeInterval.js +12 -8
  401. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeInterval.js.map +1 -1
  402. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/protectedTokens.js +21 -17
  403. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/protectedTokens.js.map +1 -1
  404. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js +10 -9
  405. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js.map +1 -1
  406. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addMonths.js +13 -19
  407. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addMonths.js.map +1 -1
  408. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addWeeks.js +8 -7
  409. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addWeeks.js.map +1 -1
  410. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addYears.js +8 -7
  411. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addYears.js.map +1 -1
  412. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js +12 -7
  413. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js.map +1 -1
  414. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constructFrom.js +8 -7
  415. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constructFrom.js.map +1 -1
  416. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarDays.js +12 -15
  417. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
  418. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarMonths.js +9 -12
  419. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarMonths.js.map +1 -1
  420. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachMonthOfInterval.js +16 -16
  421. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
  422. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachYearOfInterval.js +16 -16
  423. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachYearOfInterval.js.map +1 -1
  424. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfISOWeek.js +11 -7
  425. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfISOWeek.js.map +1 -1
  426. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfMonth.js +9 -8
  427. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfMonth.js.map +1 -1
  428. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfWeek.js +10 -10
  429. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfWeek.js.map +1 -1
  430. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfYear.js +9 -8
  431. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfYear.js.map +1 -1
  432. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/format.js +59 -57
  433. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/format.js.map +1 -1
  434. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDayOfYear.js +11 -10
  435. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDayOfYear.js.map +1 -1
  436. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDaysInMonth.js +10 -9
  437. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDaysInMonth.js.map +1 -1
  438. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeek.js +12 -11
  439. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeek.js.map +1 -1
  440. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeekYear.js +15 -14
  441. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  442. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getMonth.js +8 -7
  443. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getMonth.js.map +1 -1
  444. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeek.js +12 -11
  445. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeek.js.map +1 -1
  446. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeekYear.js +16 -16
  447. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeekYear.js.map +1 -1
  448. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getYear.js +8 -7
  449. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getYear.js.map +1 -1
  450. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isAfter.js +8 -7
  451. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isAfter.js.map +1 -1
  452. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isBefore.js +8 -7
  453. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isBefore.js.map +1 -1
  454. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isDate.js +7 -6
  455. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isDate.js.map +1 -1
  456. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameDay.js +10 -13
  457. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameDay.js.map +1 -1
  458. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameMonth.js +9 -12
  459. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameMonth.js.map +1 -1
  460. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameYear.js +9 -12
  461. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameYear.js.map +1 -1
  462. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isValid.js +9 -8
  463. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isValid.js.map +1 -1
  464. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +10 -9
  465. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  466. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +18 -18
  467. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  468. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchFn.js +21 -29
  469. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  470. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +19 -15
  471. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  472. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +70 -70
  473. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  474. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js +33 -33
  475. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -1
  476. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +13 -12
  477. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -1
  478. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/localize.js +202 -154
  479. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  480. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/match.js +125 -110
  481. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -1
  482. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US.js +20 -19
  483. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US.js.map +1 -1
  484. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/max.js +14 -13
  485. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/max.js.map +1 -1
  486. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/min.js +14 -13
  487. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/min.js.map +1 -1
  488. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setMonth.js +13 -12
  489. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setMonth.js.map +1 -1
  490. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setYear.js +10 -9
  491. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setYear.js.map +1 -1
  492. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfDay.js +9 -8
  493. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfDay.js.map +1 -1
  494. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeek.js +11 -7
  495. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  496. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeekYear.js +11 -10
  497. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeekYear.js.map +1 -1
  498. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfMonth.js +9 -8
  499. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfMonth.js.map +1 -1
  500. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeek.js +10 -10
  501. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeek.js.map +1 -1
  502. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeekYear.js +12 -12
  503. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  504. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfYear.js +9 -8
  505. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfYear.js.map +1 -1
  506. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/toDate.js +8 -7
  507. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/toDate.js.map +1 -1
  508. package/dist/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.6/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js +25 -24
  509. package/dist/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.6/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js.map +1 -1
  510. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js +26 -30
  511. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map +1 -1
  512. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js +1016 -1202
  513. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +1 -1
  514. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/DayPicker.js +398 -246
  515. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/DayPicker.js.map +1 -1
  516. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/UI.js +16 -18
  517. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/UI.js.map +1 -1
  518. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js +13 -19
  519. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js.map +1 -1
  520. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js +9 -8
  521. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js.map +1 -1
  522. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js +9 -8
  523. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js.map +1 -1
  524. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/DateLib.js +107 -257
  525. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/DateLib.js.map +1 -1
  526. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js +8 -7
  527. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js.map +1 -1
  528. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Chevron.js +14 -14
  529. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Chevron.js.map +1 -1
  530. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Day.js +9 -8
  531. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Day.js.map +1 -1
  532. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DayButton.js +13 -10
  533. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DayButton.js.map +1 -1
  534. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Dropdown.js +30 -19
  535. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Dropdown.js.map +1 -1
  536. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DropdownNav.js +8 -7
  537. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DropdownNav.js.map +1 -1
  538. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Footer.js +8 -7
  539. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Footer.js.map +1 -1
  540. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Month.js +9 -8
  541. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Month.js.map +1 -1
  542. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthCaption.js +9 -8
  543. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthCaption.js.map +1 -1
  544. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthGrid.js +7 -6
  545. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthGrid.js.map +1 -1
  546. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Months.js +7 -6
  547. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Months.js.map +1 -1
  548. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js +10 -9
  549. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js.map +1 -1
  550. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Nav.js +41 -27
  551. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Nav.js.map +1 -1
  552. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js +7 -6
  553. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js.map +1 -1
  554. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Option.js +7 -6
  555. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Option.js.map +1 -1
  556. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js +7 -6
  557. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js.map +1 -1
  558. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Root.js +12 -8
  559. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Root.js.map +1 -1
  560. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Select.js +8 -7
  561. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Select.js.map +1 -1
  562. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Week.js +9 -8
  563. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Week.js.map +1 -1
  564. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumber.js +9 -8
  565. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumber.js.map +1 -1
  566. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js +8 -7
  567. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js.map +1 -1
  568. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekday.js +8 -7
  569. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekday.js.map +1 -1
  570. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekdays.js +7 -10
  571. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekdays.js.map +1 -1
  572. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weeks.js +8 -7
  573. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weeks.js.map +1 -1
  574. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js +10 -9
  575. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js.map +1 -1
  576. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/custom-components.js +57 -52
  577. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/custom-components.js.map +1 -1
  578. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js +8 -7
  579. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js.map +1 -1
  580. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatDay.js +8 -7
  581. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatDay.js.map +1 -1
  582. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js +8 -7
  583. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
  584. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js +8 -7
  585. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js.map +1 -1
  586. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js +6 -5
  587. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js.map +1 -1
  588. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js +8 -7
  589. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js.map +1 -1
  590. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js +8 -7
  591. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js.map +1 -1
  592. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/index.js +22 -17
  593. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/index.js.map +1 -1
  594. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js +18 -17
  595. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js.map +1 -1
  596. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js +36 -41
  597. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js.map +1 -1
  598. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js +10 -9
  599. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js.map +1 -1
  600. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js +7 -7
  601. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js.map +1 -1
  602. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js +8 -7
  603. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js.map +1 -1
  604. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getComponents.js +11 -10
  605. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getComponents.js.map +1 -1
  606. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js +17 -16
  607. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js.map +1 -1
  608. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDates.js +20 -19
  609. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDates.js.map +1 -1
  610. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDays.js +11 -10
  611. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDays.js.map +1 -1
  612. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js +12 -15
  613. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js.map +1 -1
  614. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js +13 -13
  615. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js.map +1 -1
  616. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js +15 -15
  617. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js.map +1 -1
  618. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js +11 -10
  619. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js.map +1 -1
  620. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js +8 -13
  621. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js.map +1 -1
  622. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getLabels.js +35 -35
  623. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getLabels.js.map +1 -1
  624. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js +18 -13
  625. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js.map +1 -1
  626. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonths.js +25 -24
  627. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonths.js.map +1 -1
  628. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js +8 -11
  629. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js.map +1 -1
  630. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js +12 -12
  631. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js.map +1 -1
  632. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js +9 -12
  633. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js.map +1 -1
  634. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js +9 -12
  635. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js.map +1 -1
  636. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js +14 -13
  637. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js.map +1 -1
  638. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js +12 -11
  639. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js.map +1 -1
  640. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js +7 -7
  641. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js.map +1 -1
  642. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js +19 -16
  643. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js.map +1 -1
  644. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js +8 -7
  645. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js.map +1 -1
  646. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js +9 -8
  647. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js.map +1 -1
  648. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/index.js +30 -25
  649. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/index.js.map +1 -1
  650. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js +9 -8
  651. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js.map +1 -1
  652. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGrid.js +7 -6
  653. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGrid.js.map +1 -1
  654. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js +9 -8
  655. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js.map +1 -1
  656. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js +7 -6
  657. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js.map +1 -1
  658. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNav.js +6 -5
  659. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNav.js.map +1 -1
  660. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNext.js +6 -7
  661. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNext.js.map +1 -1
  662. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js +7 -6
  663. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js.map +1 -1
  664. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js +7 -6
  665. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js.map +1 -1
  666. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js +7 -6
  667. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js.map +1 -1
  668. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js +8 -7
  669. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js.map +1 -1
  670. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js +7 -6
  671. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js.map +1 -1
  672. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/locale/en-US.js +50 -37
  673. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/locale/en-US.js.map +1 -1
  674. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/noonDateLib.js +101 -106
  675. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/noonDateLib.js.map +1 -1
  676. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useMulti.js +20 -21
  677. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useMulti.js.map +1 -1
  678. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useRange.js +29 -23
  679. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useRange.js.map +1 -1
  680. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useSingle.js +16 -15
  681. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useSingle.js.map +1 -1
  682. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useAnimation.js +50 -56
  683. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useAnimation.js.map +1 -1
  684. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useCalendar.js +71 -76
  685. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useCalendar.js.map +1 -1
  686. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useDayPicker.js +11 -12
  687. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useDayPicker.js.map +1 -1
  688. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useFocus.js +23 -23
  689. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useFocus.js.map +1 -1
  690. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useSelection.js +16 -19
  691. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useSelection.js.map +1 -1
  692. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/addToRange.js +60 -32
  693. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/addToRange.js.map +1 -1
  694. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js +24 -24
  695. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js.map +1 -1
  696. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js +22 -26
  697. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js.map +1 -1
  698. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js +13 -15
  699. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js.map +1 -1
  700. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js +29 -28
  701. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js.map +1 -1
  702. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js +9 -9
  703. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js.map +1 -1
  704. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js +9 -8
  705. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js.map +1 -1
  706. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js +9 -8
  707. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js.map +1 -1
  708. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/typeguards.js +15 -19
  709. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/typeguards.js.map +1 -1
  710. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/react-resizable-panels/dist/react-resizable-panels.js +1511 -2084
  711. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/react-resizable-panels/dist/react-resizable-panels.js.map +1 -1
  712. package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -2996
  713. package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  714. package/dist/react.js +124 -544
  715. package/dist/src/components/ui/area-chart/area-chart.d.ts +9 -4
  716. package/dist/src/components/ui/avatar/avatar.d.ts +1 -1
  717. package/dist/src/components/ui/bar-chart/bar-chart.d.ts +9 -4
  718. package/dist/src/components/ui/category-bar/category-bar.d.ts +10 -4
  719. package/dist/src/components/ui/chart/__stories__/palette-control.d.ts +48 -0
  720. package/dist/src/components/ui/chart/__tests__/chart-palette.test.d.ts +1 -0
  721. package/dist/src/components/ui/chart/chart-palette.d.ts +128 -0
  722. package/dist/src/components/ui/chart/chart.d.ts +66 -15
  723. package/dist/src/components/ui/chart/index.d.ts +4 -2
  724. package/dist/src/components/ui/chart-state/chart-state-illustrations.d.ts +6 -0
  725. package/dist/src/components/ui/chart-state/chart-state.d.ts +13 -2
  726. package/dist/src/components/ui/chart-state/index.d.ts +1 -0
  727. package/dist/src/components/ui/chart-widget/chart-widget.d.ts +64 -0
  728. package/dist/src/components/ui/chart-widget/index.d.ts +1 -0
  729. package/dist/src/components/ui/composed-chart/composed-chart.d.ts +12 -7
  730. package/dist/src/components/ui/confidence-cone/confidence-cone.d.ts +10 -5
  731. package/dist/src/components/ui/empty-overlay/empty-overlay.d.ts +1 -1
  732. package/dist/src/components/ui/funnel-chart/funnel-chart.d.ts +11 -5
  733. package/dist/src/components/ui/histogram/histogram.d.ts +10 -4
  734. package/dist/src/components/ui/input-num-picker/index.d.ts +1 -0
  735. package/dist/src/components/ui/input-num-picker/input-num-picker.d.ts +14 -0
  736. package/dist/src/components/ui/label/index.d.ts +1 -1
  737. package/dist/src/components/ui/label/label.d.ts +1 -5
  738. package/dist/src/components/ui/line-chart/line-chart.d.ts +9 -4
  739. package/dist/src/components/ui/metric/metric.d.ts +13 -14
  740. package/dist/src/components/ui/pie-chart/pie-chart.d.ts +17 -8
  741. package/dist/src/components/ui/radar-chart/radar-chart.d.ts +10 -5
  742. package/dist/src/components/ui/radial-bar-chart/radial-bar-chart.d.ts +17 -6
  743. package/dist/src/components/ui/sankey-chart/sankey-chart.d.ts +10 -5
  744. package/dist/src/components/ui/scatter-chart/scatter-chart.d.ts +10 -5
  745. package/dist/src/components/ui/section/index.d.ts +1 -1
  746. package/dist/src/components/ui/section/section.d.ts +75 -6
  747. package/dist/src/components/ui/stepper-item/stepper-item.d.ts +6 -5
  748. package/dist/src/components/ui/tag/tag.d.ts +1 -1
  749. package/dist/src/components/ui/treemap/treemap.d.ts +11 -5
  750. package/dist/src/components/ui/trend-indicator/trend-indicator.d.ts +3 -7
  751. package/dist/src/components/ui/wizard/index.d.ts +1 -0
  752. package/dist/src/components/ui/wizard/wizard.d.ts +6 -0
  753. package/dist/src/hooks/index.d.ts +1 -0
  754. package/dist/src/hooks/use-wizard.d.ts +80 -0
  755. package/dist/src/index.d.ts +3 -3
  756. package/dist/ui-react.css +2 -1
  757. package/package.json +14 -8
  758. package/dist/components/ui/app-shell/app-shell.js +0 -75
  759. package/dist/components/ui/app-shell/app-shell.js.map +0 -1
  760. package/dist/components/ui/auth-layout/auth-layout.js +0 -56
  761. package/dist/components/ui/auth-layout/auth-layout.js.map +0 -1
  762. package/dist/components/ui/collapsible/collapsible.js +0 -22
  763. package/dist/components/ui/collapsible/collapsible.js.map +0 -1
  764. package/dist/index.js.map +0 -1
  765. package/dist/react.js.map +0 -1
  766. package/dist/src/components/ui/app-shell/app-shell.d.ts +0 -8
  767. package/dist/src/components/ui/app-shell/index.d.ts +0 -1
  768. package/dist/src/components/ui/auth-layout/auth-layout.d.ts +0 -6
  769. package/dist/src/components/ui/auth-layout/index.d.ts +0 -1
  770. package/dist/src/components/ui/collapsible/collapsible.d.ts +0 -5
  771. package/dist/src/components/ui/collapsible/index.d.ts +0 -1
  772. package/dist/src/components/ui/label/label.docs.d.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../../../../../node_modules/.pnpm/@tanstack+table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.mjs"],"sourcesContent":["/**\n * table-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// createdAt: Date\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nfunction createColumnHelper() {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function' ? {\n ...column,\n accessorFn: accessor\n } : {\n ...column,\n accessorKey: accessor\n };\n },\n display: column => column,\n group: column => column\n };\n}\n\n// Is this type a tuple?\n\n// If this type is a tuple, what indices are allowed?\n\n///\n\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction noop() {\n //\n}\nfunction makeStateUpdater(key, instance) {\n return updater => {\n instance.setState(old => {\n return {\n ...old,\n [key]: functionalUpdate(updater, old[key])\n };\n });\n };\n}\nfunction isFunction(d) {\n return d instanceof Function;\n}\nfunction isNumberArray(d) {\n return Array.isArray(d) && d.every(val => typeof val === 'number');\n}\nfunction flattenBy(arr, getChildren) {\n const flat = [];\n const recurse = subArr => {\n subArr.forEach(item => {\n flat.push(item);\n const children = getChildren(item);\n if (children != null && children.length) {\n recurse(children);\n }\n });\n };\n recurse(arr);\n return flat;\n}\nfunction memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return depArgs => {\n let depTime;\n if (opts.key && opts.debug) depTime = Date.now();\n const newDeps = getDeps(depArgs);\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null || opts.onChange == null || opts.onChange(result);\n if (opts.key && opts.debug) {\n if (opts != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120))}deg 100% 31%);`, opts == null ? void 0 : opts.key);\n }\n }\n return result;\n };\n}\nfunction getMemoOptions(tableOptions, debugLevel, key, onChange) {\n return {\n debug: () => {\n var _tableOptions$debugAl;\n return (_tableOptions$debugAl = tableOptions == null ? void 0 : tableOptions.debugAll) != null ? _tableOptions$debugAl : tableOptions[debugLevel];\n },\n key: process.env.NODE_ENV === 'development' && key,\n onChange\n };\n}\n\nfunction createCell(table, row, column, columnId) {\n const getRenderValue = () => {\n var _cell$getValue;\n return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;\n };\n const cell = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(() => [table, column, row, cell], (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell,\n getValue: cell.getValue,\n renderValue: cell.renderValue\n }), getMemoOptions(table.options, 'debugCells', 'cell.getContext'))\n };\n table._features.forEach(feature => {\n feature.createCell == null || feature.createCell(cell, column, row, table);\n }, {});\n return cell;\n}\n\nfunction createColumn(table, columnDef, depth, parent) {\n var _ref, _resolvedColumnDef$id;\n const defaultColumn = table._getDefaultColumnDef();\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef\n };\n const accessorKey = resolvedColumnDef.accessorKey;\n let id = (_ref = (_resolvedColumnDef$id = resolvedColumnDef.id) != null ? _resolvedColumnDef$id : accessorKey ? typeof String.prototype.replaceAll === 'function' ? accessorKey.replaceAll('.', '_') : accessorKey.replace(/\\./g, '_') : undefined) != null ? _ref : typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined;\n let accessorFn;\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn;\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = originalRow => {\n let result = originalRow;\n for (const key of accessorKey.split('.')) {\n var _result;\n result = (_result = result) == null ? void 0 : _result[key];\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(`\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`);\n }\n }\n return result;\n };\n } else {\n accessorFn = originalRow => originalRow[resolvedColumnDef.accessorKey];\n }\n }\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`);\n }\n throw new Error();\n }\n let column = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent,\n depth,\n columnDef: resolvedColumnDef,\n columns: [],\n getFlatColumns: memo(() => [true], () => {\n var _column$columns;\n return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];\n }, getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')),\n getLeafColumns: memo(() => [table._getOrderColumnsFn()], orderColumns => {\n var _column$columns2;\n if ((_column$columns2 = column.columns) != null && _column$columns2.length) {\n let leafColumns = column.columns.flatMap(column => column.getLeafColumns());\n return orderColumns(leafColumns);\n }\n return [column];\n }, getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns'))\n };\n for (const feature of table._features) {\n feature.createColumn == null || feature.createColumn(column, table);\n }\n\n // Yes, we have to convert table to unknown, because we know more than the compiler here.\n return column;\n}\n\nconst debug = 'debugHeaders';\n//\n\nfunction createHeader(table, column, options) {\n var _options$id;\n const id = (_options$id = options.id) != null ? _options$id : column.id;\n let header = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null,\n getLeafHeaders: () => {\n const leafHeaders = [];\n const recurseHeader = h => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader);\n }\n leafHeaders.push(h);\n };\n recurseHeader(header);\n return leafHeaders;\n },\n getContext: () => ({\n table,\n header: header,\n column\n })\n };\n table._features.forEach(feature => {\n feature.createHeader == null || feature.createHeader(header, table);\n });\n return header;\n}\nconst Headers = {\n createTable: table => {\n // Header Groups\n\n table.getHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {\n var _left$map$filter, _right$map$filter;\n const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];\n const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];\n const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));\n const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);\n return headerGroups;\n }, getMemoOptions(table.options, debug, 'getHeaderGroups'));\n table.getCenterHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));\n return buildHeaderGroups(allColumns, leafColumns, table, 'center');\n }, getMemoOptions(table.options, debug, 'getCenterHeaderGroups'));\n table.getLeftHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {\n var _left$map$filter2;\n const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');\n }, getMemoOptions(table.options, debug, 'getLeftHeaderGroups'));\n table.getRightHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {\n var _right$map$filter2;\n const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');\n }, getMemoOptions(table.options, debug, 'getRightHeaderGroups'));\n\n // Footer Groups\n\n table.getFooterGroups = memo(() => [table.getHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getFooterGroups'));\n table.getLeftFooterGroups = memo(() => [table.getLeftHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getLeftFooterGroups'));\n table.getCenterFooterGroups = memo(() => [table.getCenterHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getCenterFooterGroups'));\n table.getRightFooterGroups = memo(() => [table.getRightHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getRightFooterGroups'));\n\n // Flat Headers\n\n table.getFlatHeaders = memo(() => [table.getHeaderGroups()], headerGroups => {\n return headerGroups.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getFlatHeaders'));\n table.getLeftFlatHeaders = memo(() => [table.getLeftHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getLeftFlatHeaders'));\n table.getCenterFlatHeaders = memo(() => [table.getCenterHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getCenterFlatHeaders'));\n table.getRightFlatHeaders = memo(() => [table.getRightHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getRightFlatHeaders'));\n\n // Leaf Headers\n\n table.getCenterLeafHeaders = memo(() => [table.getCenterFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders;\n return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);\n });\n }, getMemoOptions(table.options, debug, 'getCenterLeafHeaders'));\n table.getLeftLeafHeaders = memo(() => [table.getLeftFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders2;\n return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);\n });\n }, getMemoOptions(table.options, debug, 'getLeftLeafHeaders'));\n table.getRightLeafHeaders = memo(() => [table.getRightFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders3;\n return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);\n });\n }, getMemoOptions(table.options, debug, 'getRightLeafHeaders'));\n table.getLeafHeaders = memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {\n var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;\n return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {\n return header.getLeafHeaders();\n }).flat();\n }, getMemoOptions(table.options, debug, 'getLeafHeaders'));\n }\n};\nfunction buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {\n var _headerGroups$0$heade, _headerGroups$;\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0;\n const findMaxDepth = function (columns, depth) {\n if (depth === void 0) {\n depth = 1;\n }\n maxDepth = Math.max(maxDepth, depth);\n columns.filter(column => column.getIsVisible()).forEach(column => {\n var _column$columns;\n if ((_column$columns = column.columns) != null && _column$columns.length) {\n findMaxDepth(column.columns, depth + 1);\n }\n }, 0);\n };\n findMaxDepth(allColumns);\n let headerGroups = [];\n const createHeaderGroup = (headersToGroup, depth) => {\n // The header group we are creating\n const headerGroup = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: []\n };\n\n // The parent columns we're going to scan next\n const pendingParentHeaders = [];\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;\n let column;\n let isPlaceholder = false;\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent;\n } else {\n // The parent header is repeated\n column = headerToGroup.column;\n isPlaceholder = true;\n }\n if (latestPendingParentHeader && (latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup);\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder ? `${pendingParentHeaders.filter(d => d.column === column).length}` : undefined,\n depth,\n index: pendingParentHeaders.length\n });\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup);\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header);\n }\n headerGroup.headers.push(headerToGroup);\n headerToGroup.headerGroup = headerGroup;\n });\n headerGroups.push(headerGroup);\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1);\n }\n };\n const bottomHeaders = columnsToGroup.map((column, index) => createHeader(table, column, {\n depth: maxDepth,\n index\n }));\n createHeaderGroup(bottomHeaders, maxDepth - 1);\n headerGroups.reverse();\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = headers => {\n const filteredHeaders = headers.filter(header => header.column.getIsVisible());\n return filteredHeaders.map(header => {\n let colSpan = 0;\n let rowSpan = 0;\n let childRowSpans = [0];\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = [];\n recurseHeadersForSpans(header.subHeaders).forEach(_ref => {\n let {\n colSpan: childColSpan,\n rowSpan: childRowSpan\n } = _ref;\n colSpan += childColSpan;\n childRowSpans.push(childRowSpan);\n });\n } else {\n colSpan = 1;\n }\n const minChildRowSpan = Math.min(...childRowSpans);\n rowSpan = rowSpan + minChildRowSpan;\n header.colSpan = colSpan;\n header.rowSpan = rowSpan;\n return {\n colSpan,\n rowSpan\n };\n });\n };\n recurseHeadersForSpans((_headerGroups$0$heade = (_headerGroups$ = headerGroups[0]) == null ? void 0 : _headerGroups$.headers) != null ? _headerGroups$0$heade : []);\n return headerGroups;\n}\n\nconst createRow = (table, id, original, rowIndex, depth, subRows, parentId) => {\n let row = {\n id,\n index: rowIndex,\n original,\n depth,\n parentId,\n _valuesCache: {},\n _uniqueValuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.accessorFn)) {\n return undefined;\n }\n row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);\n return row._valuesCache[columnId];\n },\n getUniqueValues: columnId => {\n if (row._uniqueValuesCache.hasOwnProperty(columnId)) {\n return row._uniqueValuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.accessorFn)) {\n return undefined;\n }\n if (!column.columnDef.getUniqueValues) {\n row._uniqueValuesCache[columnId] = [row.getValue(columnId)];\n return row._uniqueValuesCache[columnId];\n }\n row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);\n return row._uniqueValuesCache[columnId];\n },\n renderValue: columnId => {\n var _row$getValue;\n return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;\n },\n subRows: subRows != null ? subRows : [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getParentRow: () => row.parentId ? table.getRow(row.parentId, true) : undefined,\n getParentRows: () => {\n let parentRows = [];\n let currentRow = row;\n while (true) {\n const parentRow = currentRow.getParentRow();\n if (!parentRow) break;\n parentRows.push(parentRow);\n currentRow = parentRow;\n }\n return parentRows.reverse();\n },\n getAllCells: memo(() => [table.getAllLeafColumns()], leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row, column, column.id);\n });\n }, getMemoOptions(table.options, 'debugRows', 'getAllCells')),\n _getAllCellsByColumnId: memo(() => [row.getAllCells()], allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell;\n return acc;\n }, {});\n }, getMemoOptions(table.options, 'debugRows', 'getAllCellsByColumnId'))\n };\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i];\n feature == null || feature.createRow == null || feature.createRow(row, table);\n }\n return row;\n};\n\n//\n\nconst ColumnFaceting = {\n createColumn: (column, table) => {\n column._getFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, column.id);\n column.getFacetedRowModel = () => {\n if (!column._getFacetedRowModel) {\n return table.getPreFilteredRowModel();\n }\n return column._getFacetedRowModel();\n };\n column._getFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, column.id);\n column.getFacetedUniqueValues = () => {\n if (!column._getFacetedUniqueValues) {\n return new Map();\n }\n return column._getFacetedUniqueValues();\n };\n column._getFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, column.id);\n column.getFacetedMinMaxValues = () => {\n if (!column._getFacetedMinMaxValues) {\n return undefined;\n }\n return column._getFacetedMinMaxValues();\n };\n }\n};\n\nconst includesString = (row, columnId, filterValue) => {\n var _filterValue$toString, _row$getValue;\n const search = filterValue == null || (_filterValue$toString = filterValue.toString()) == null ? void 0 : _filterValue$toString.toLowerCase();\n return Boolean((_row$getValue = row.getValue(columnId)) == null || (_row$getValue = _row$getValue.toString()) == null || (_row$getValue = _row$getValue.toLowerCase()) == null ? void 0 : _row$getValue.includes(search));\n};\nincludesString.autoRemove = val => testFalsey(val);\nconst includesStringSensitive = (row, columnId, filterValue) => {\n var _row$getValue2;\n return Boolean((_row$getValue2 = row.getValue(columnId)) == null || (_row$getValue2 = _row$getValue2.toString()) == null ? void 0 : _row$getValue2.includes(filterValue));\n};\nincludesStringSensitive.autoRemove = val => testFalsey(val);\nconst equalsString = (row, columnId, filterValue) => {\n var _row$getValue3;\n return ((_row$getValue3 = row.getValue(columnId)) == null || (_row$getValue3 = _row$getValue3.toString()) == null ? void 0 : _row$getValue3.toLowerCase()) === (filterValue == null ? void 0 : filterValue.toLowerCase());\n};\nequalsString.autoRemove = val => testFalsey(val);\nconst arrIncludes = (row, columnId, filterValue) => {\n var _row$getValue4;\n return (_row$getValue4 = row.getValue(columnId)) == null ? void 0 : _row$getValue4.includes(filterValue);\n};\narrIncludes.autoRemove = val => testFalsey(val);\nconst arrIncludesAll = (row, columnId, filterValue) => {\n return !filterValue.some(val => {\n var _row$getValue5;\n return !((_row$getValue5 = row.getValue(columnId)) != null && _row$getValue5.includes(val));\n });\n};\narrIncludesAll.autoRemove = val => testFalsey(val) || !(val != null && val.length);\nconst arrIncludesSome = (row, columnId, filterValue) => {\n return filterValue.some(val => {\n var _row$getValue6;\n return (_row$getValue6 = row.getValue(columnId)) == null ? void 0 : _row$getValue6.includes(val);\n });\n};\narrIncludesSome.autoRemove = val => testFalsey(val) || !(val != null && val.length);\nconst equals = (row, columnId, filterValue) => {\n return row.getValue(columnId) === filterValue;\n};\nequals.autoRemove = val => testFalsey(val);\nconst weakEquals = (row, columnId, filterValue) => {\n return row.getValue(columnId) == filterValue;\n};\nweakEquals.autoRemove = val => testFalsey(val);\nconst inNumberRange = (row, columnId, filterValue) => {\n let [min, max] = filterValue;\n const rowValue = row.getValue(columnId);\n return rowValue >= min && rowValue <= max;\n};\ninNumberRange.resolveFilterValue = val => {\n let [unsafeMin, unsafeMax] = val;\n let parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;\n let parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;\n let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;\n if (min > max) {\n const temp = min;\n min = max;\n max = temp;\n }\n return [min, max];\n};\ninNumberRange.autoRemove = val => testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);\n\n// Export\n\nconst filterFns = {\n includesString,\n includesStringSensitive,\n equalsString,\n arrIncludes,\n arrIncludesAll,\n arrIncludesSome,\n equals,\n weakEquals,\n inNumberRange\n};\n// Utils\n\nfunction testFalsey(val) {\n return val === undefined || val === null || val === '';\n}\n\n//\n\nconst ColumnFiltering = {\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto'\n };\n },\n getInitialState: state => {\n return {\n columnFilters: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100\n };\n },\n createColumn: (column, table) => {\n column.getAutoFilterFn = () => {\n const firstRow = table.getCoreRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'string') {\n return filterFns.includesString;\n }\n if (typeof value === 'number') {\n return filterFns.inNumberRange;\n }\n if (typeof value === 'boolean') {\n return filterFns.equals;\n }\n if (value !== null && typeof value === 'object') {\n return filterFns.equals;\n }\n if (Array.isArray(value)) {\n return filterFns.arrIncludes;\n }\n return filterFns.weakEquals;\n };\n column.getFilterFn = () => {\n var _table$options$filter, _table$options$filter2;\n return isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : // @ts-ignore\n (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[column.columnDef.filterFn]) != null ? _table$options$filter : filterFns[column.columnDef.filterFn];\n };\n column.getCanFilter = () => {\n var _column$columnDef$ena, _table$options$enable, _table$options$enable2;\n return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnFilters) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && !!column.accessorFn;\n };\n column.getIsFiltered = () => column.getFilterIndex() > -1;\n column.getFilterValue = () => {\n var _table$getState$colum;\n return (_table$getState$colum = table.getState().columnFilters) == null || (_table$getState$colum = _table$getState$colum.find(d => d.id === column.id)) == null ? void 0 : _table$getState$colum.value;\n };\n column.getFilterIndex = () => {\n var _table$getState$colum2, _table$getState$colum3;\n return (_table$getState$colum2 = (_table$getState$colum3 = table.getState().columnFilters) == null ? void 0 : _table$getState$colum3.findIndex(d => d.id === column.id)) != null ? _table$getState$colum2 : -1;\n };\n column.setFilterValue = value => {\n table.setColumnFilters(old => {\n const filterFn = column.getFilterFn();\n const previousFilter = old == null ? void 0 : old.find(d => d.id === column.id);\n const newFilter = functionalUpdate(value, previousFilter ? previousFilter.value : undefined);\n\n //\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n var _old$filter;\n return (_old$filter = old == null ? void 0 : old.filter(d => d.id !== column.id)) != null ? _old$filter : [];\n }\n const newFilterObj = {\n id: column.id,\n value: newFilter\n };\n if (previousFilter) {\n var _old$map;\n return (_old$map = old == null ? void 0 : old.map(d => {\n if (d.id === column.id) {\n return newFilterObj;\n }\n return d;\n })) != null ? _old$map : [];\n }\n if (old != null && old.length) {\n return [...old, newFilterObj];\n }\n return [newFilterObj];\n });\n };\n },\n createRow: (row, _table) => {\n row.columnFilters = {};\n row.columnFiltersMeta = {};\n },\n createTable: table => {\n table.setColumnFilters = updater => {\n const leafColumns = table.getAllLeafColumns();\n const updateFn = old => {\n var _functionalUpdate;\n return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id);\n if (column) {\n const filterFn = column.getFilterFn();\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false;\n }\n }\n return true;\n });\n };\n table.options.onColumnFiltersChange == null || table.options.onColumnFiltersChange(updateFn);\n };\n table.resetColumnFilters = defaultState => {\n var _table$initialState$c, _table$initialState;\n table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []);\n };\n table.getPreFilteredRowModel = () => table.getCoreRowModel();\n table.getFilteredRowModel = () => {\n if (!table._getFilteredRowModel && table.options.getFilteredRowModel) {\n table._getFilteredRowModel = table.options.getFilteredRowModel(table);\n }\n if (table.options.manualFiltering || !table._getFilteredRowModel) {\n return table.getPreFilteredRowModel();\n }\n return table._getFilteredRowModel();\n };\n }\n};\nfunction shouldAutoRemoveFilter(filterFn, value, column) {\n return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;\n}\n\nconst sum = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId);\n return sum + (typeof nextValue === 'number' ? nextValue : 0);\n }, 0);\n};\nconst min = (columnId, _leafRows, childRows) => {\n let min;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null && (min > value || min === undefined && value >= value)) {\n min = value;\n }\n });\n return min;\n};\nconst max = (columnId, _leafRows, childRows) => {\n let max;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n });\n return max;\n};\nconst extent = (columnId, _leafRows, childRows) => {\n let min;\n let max;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n });\n return [min, max];\n};\nconst mean = (columnId, leafRows) => {\n let count = 0;\n let sum = 0;\n leafRows.forEach(row => {\n let value = row.getValue(columnId);\n if (value != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n });\n if (count) return sum / count;\n return;\n};\nconst median = (columnId, leafRows) => {\n if (!leafRows.length) {\n return;\n }\n const values = leafRows.map(row => row.getValue(columnId));\n if (!isNumberArray(values)) {\n return;\n }\n if (values.length === 1) {\n return values[0];\n }\n const mid = Math.floor(values.length / 2);\n const nums = values.sort((a, b) => a - b);\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;\n};\nconst unique = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());\n};\nconst uniqueCount = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size;\n};\nconst count = (_columnId, leafRows) => {\n return leafRows.length;\n};\nconst aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count\n};\n\n//\n\nconst ColumnGrouping = {\n getDefaultColumnDef: () => {\n return {\n aggregatedCell: props => {\n var _toString, _props$getValue;\n return (_toString = (_props$getValue = props.getValue()) == null || _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _toString : null;\n },\n aggregationFn: 'auto'\n };\n },\n getInitialState: state => {\n return {\n grouping: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onGroupingChange: makeStateUpdater('grouping', table),\n groupedColumnMode: 'reorder'\n };\n },\n createColumn: (column, table) => {\n column.toggleGrouping = () => {\n table.setGrouping(old => {\n // Find any existing grouping for this column\n if (old != null && old.includes(column.id)) {\n return old.filter(d => d !== column.id);\n }\n return [...(old != null ? old : []), column.id];\n });\n };\n column.getCanGroup = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGrouping) != null ? _table$options$enable : true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue);\n };\n column.getIsGrouped = () => {\n var _table$getState$group;\n return (_table$getState$group = table.getState().grouping) == null ? void 0 : _table$getState$group.includes(column.id);\n };\n column.getGroupedIndex = () => {\n var _table$getState$group2;\n return (_table$getState$group2 = table.getState().grouping) == null ? void 0 : _table$getState$group2.indexOf(column.id);\n };\n column.getToggleGroupingHandler = () => {\n const canGroup = column.getCanGroup();\n return () => {\n if (!canGroup) return;\n column.toggleGrouping();\n };\n };\n column.getAutoAggregationFn = () => {\n const firstRow = table.getCoreRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'number') {\n return aggregationFns.sum;\n }\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent;\n }\n };\n column.getAggregationFn = () => {\n var _table$options$aggreg, _table$options$aggreg2;\n if (!column) {\n throw new Error();\n }\n return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : (_table$options$aggreg = (_table$options$aggreg2 = table.options.aggregationFns) == null ? void 0 : _table$options$aggreg2[column.columnDef.aggregationFn]) != null ? _table$options$aggreg : aggregationFns[column.columnDef.aggregationFn];\n };\n },\n createTable: table => {\n table.setGrouping = updater => table.options.onGroupingChange == null ? void 0 : table.options.onGroupingChange(updater);\n table.resetGrouping = defaultState => {\n var _table$initialState$g, _table$initialState;\n table.setGrouping(defaultState ? [] : (_table$initialState$g = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.grouping) != null ? _table$initialState$g : []);\n };\n table.getPreGroupedRowModel = () => table.getFilteredRowModel();\n table.getGroupedRowModel = () => {\n if (!table._getGroupedRowModel && table.options.getGroupedRowModel) {\n table._getGroupedRowModel = table.options.getGroupedRowModel(table);\n }\n if (table.options.manualGrouping || !table._getGroupedRowModel) {\n return table.getPreGroupedRowModel();\n }\n return table._getGroupedRowModel();\n };\n },\n createRow: (row, table) => {\n row.getIsGrouped = () => !!row.groupingColumnId;\n row.getGroupingValue = columnId => {\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.columnDef.getGroupingValue)) {\n return row.getValue(columnId);\n }\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original);\n return row._groupingValuesCache[columnId];\n };\n row._groupingValuesCache = {};\n },\n createCell: (cell, column, row, table) => {\n cell.getIsGrouped = () => column.getIsGrouped() && column.id === row.groupingColumnId;\n cell.getIsPlaceholder = () => !cell.getIsGrouped() && column.getIsGrouped();\n cell.getIsAggregated = () => {\n var _row$subRows;\n return !cell.getIsGrouped() && !cell.getIsPlaceholder() && !!((_row$subRows = row.subRows) != null && _row$subRows.length);\n };\n }\n};\nfunction orderColumns(leafColumns, grouping, groupedColumnMode) {\n if (!(grouping != null && grouping.length) || !groupedColumnMode) {\n return leafColumns;\n }\n const nonGroupingColumns = leafColumns.filter(col => !grouping.includes(col.id));\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns;\n }\n const groupingColumns = grouping.map(g => leafColumns.find(col => col.id === g)).filter(Boolean);\n return [...groupingColumns, ...nonGroupingColumns];\n}\n\n//\n\nconst ColumnOrdering = {\n getInitialState: state => {\n return {\n columnOrder: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table)\n };\n },\n createColumn: (column, table) => {\n column.getIndex = memo(position => [_getVisibleLeafColumns(table, position)], columns => columns.findIndex(d => d.id === column.id), getMemoOptions(table.options, 'debugColumns', 'getIndex'));\n column.getIsFirstColumn = position => {\n var _columns$;\n const columns = _getVisibleLeafColumns(table, position);\n return ((_columns$ = columns[0]) == null ? void 0 : _columns$.id) === column.id;\n };\n column.getIsLastColumn = position => {\n var _columns;\n const columns = _getVisibleLeafColumns(table, position);\n return ((_columns = columns[columns.length - 1]) == null ? void 0 : _columns.id) === column.id;\n };\n },\n createTable: table => {\n table.setColumnOrder = updater => table.options.onColumnOrderChange == null ? void 0 : table.options.onColumnOrderChange(updater);\n table.resetColumnOrder = defaultState => {\n var _table$initialState$c;\n table.setColumnOrder(defaultState ? [] : (_table$initialState$c = table.initialState.columnOrder) != null ? _table$initialState$c : []);\n };\n table._getOrderColumnsFn = memo(() => [table.getState().columnOrder, table.getState().grouping, table.options.groupedColumnMode], (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns = [];\n\n // If there is no order, return the normal columns\n if (!(columnOrder != null && columnOrder.length)) {\n orderedColumns = columns;\n } else {\n const columnOrderCopy = [...columnOrder];\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns];\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift();\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId);\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy];\n }\n return orderColumns(orderedColumns, grouping, groupedColumnMode);\n }, getMemoOptions(table.options, 'debugTable', '_getOrderColumnsFn'));\n }\n};\n\n//\n\nconst getDefaultColumnPinningState = () => ({\n left: [],\n right: []\n});\nconst ColumnPinning = {\n getInitialState: state => {\n return {\n columnPinning: getDefaultColumnPinningState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table)\n };\n },\n createColumn: (column, table) => {\n column.pin = position => {\n const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);\n table.setColumnPinning(old => {\n var _old$left3, _old$right3;\n if (position === 'right') {\n var _old$left, _old$right;\n return {\n left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(d => !(columnIds != null && columnIds.includes(d))),\n right: [...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds]\n };\n }\n if (position === 'left') {\n var _old$left2, _old$right2;\n return {\n left: [...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds],\n right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(d => !(columnIds != null && columnIds.includes(d)))\n };\n }\n return {\n left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(d => !(columnIds != null && columnIds.includes(d))),\n right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(d => !(columnIds != null && columnIds.includes(d)))\n };\n });\n };\n column.getCanPin = () => {\n const leafColumns = column.getLeafColumns();\n return leafColumns.some(d => {\n var _d$columnDef$enablePi, _ref, _table$options$enable;\n return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_ref = (_table$options$enable = table.options.enableColumnPinning) != null ? _table$options$enable : table.options.enablePinning) != null ? _ref : true);\n });\n };\n column.getIsPinned = () => {\n const leafColumnIds = column.getLeafColumns().map(d => d.id);\n const {\n left,\n right\n } = table.getState().columnPinning;\n const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));\n const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));\n return isLeft ? 'left' : isRight ? 'right' : false;\n };\n column.getPinnedIndex = () => {\n var _table$getState$colum, _table$getState$colum2;\n const position = column.getIsPinned();\n return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null || (_table$getState$colum2 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum2.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;\n };\n },\n createRow: (row, table) => {\n row.getCenterVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {\n const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];\n return allCells.filter(d => !leftAndRight.includes(d.column.id));\n }, getMemoOptions(table.options, 'debugRows', 'getCenterVisibleCells'));\n row.getLeftVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left], (allCells, left) => {\n const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({\n ...d,\n position: 'left'\n }));\n return cells;\n }, getMemoOptions(table.options, 'debugRows', 'getLeftVisibleCells'));\n row.getRightVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {\n const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({\n ...d,\n position: 'right'\n }));\n return cells;\n }, getMemoOptions(table.options, 'debugRows', 'getRightVisibleCells'));\n },\n createTable: table => {\n table.setColumnPinning = updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater);\n table.resetColumnPinning = defaultState => {\n var _table$initialState$c, _table$initialState;\n return table.setColumnPinning(defaultState ? getDefaultColumnPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultColumnPinningState());\n };\n table.getIsSomeColumnsPinned = position => {\n var _pinningState$positio;\n const pinningState = table.getState().columnPinning;\n if (!position) {\n var _pinningState$left, _pinningState$right;\n return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));\n }\n return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);\n };\n table.getLeftLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {\n return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);\n }, getMemoOptions(table.options, 'debugColumns', 'getLeftLeafColumns'));\n table.getRightLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {\n return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);\n }, getMemoOptions(table.options, 'debugColumns', 'getRightLeafColumns'));\n table.getCenterLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {\n const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];\n return allColumns.filter(d => !leftAndRight.includes(d.id));\n }, getMemoOptions(table.options, 'debugColumns', 'getCenterLeafColumns'));\n }\n};\n\nfunction safelyAccessDocument(_document) {\n return _document || (typeof document !== 'undefined' ? document : null);\n}\n\n//\n\n//\n\nconst defaultColumnSizing = {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER\n};\nconst getDefaultColumnSizingInfoState = () => ({\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: []\n});\nconst ColumnSizing = {\n getDefaultColumnDef: () => {\n return defaultColumnSizing;\n },\n getInitialState: state => {\n return {\n columnSizing: {},\n columnSizingInfo: getDefaultColumnSizingInfoState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n columnResizeMode: 'onEnd',\n columnResizeDirection: 'ltr',\n onColumnSizingChange: makeStateUpdater('columnSizing', table),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', table)\n };\n },\n createColumn: (column, table) => {\n column.getSize = () => {\n var _column$columnDef$min, _ref, _column$columnDef$max;\n const columnSize = table.getState().columnSizing[column.id];\n return Math.min(Math.max((_column$columnDef$min = column.columnDef.minSize) != null ? _column$columnDef$min : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.columnDef.size) != null ? _ref : defaultColumnSizing.size), (_column$columnDef$max = column.columnDef.maxSize) != null ? _column$columnDef$max : defaultColumnSizing.maxSize);\n };\n column.getStart = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(0, column.getIndex(position)).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getStart'));\n column.getAfter = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(column.getIndex(position) + 1).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getAfter'));\n column.resetSize = () => {\n table.setColumnSizing(_ref2 => {\n let {\n [column.id]: _,\n ...rest\n } = _ref2;\n return rest;\n });\n };\n column.getCanResize = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableResizing) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnResizing) != null ? _table$options$enable : true);\n };\n column.getIsResizing = () => {\n return table.getState().columnSizingInfo.isResizingColumn === column.id;\n };\n },\n createHeader: (header, table) => {\n header.getSize = () => {\n let sum = 0;\n const recurse = header => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse);\n } else {\n var _header$column$getSiz;\n sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;\n }\n };\n recurse(header);\n return sum;\n };\n header.getStart = () => {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup.headers[header.index - 1];\n return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();\n }\n return 0;\n };\n header.getResizeHandler = _contextDocument => {\n const column = table.getColumn(header.column.id);\n const canResize = column == null ? void 0 : column.getCanResize();\n return e => {\n if (!column || !canResize) {\n return;\n }\n e.persist == null || e.persist();\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return;\n }\n }\n const startSize = header.getSize();\n const columnSizingStart = header ? header.getLeafHeaders().map(d => [d.column.id, d.column.getSize()]) : [[column.id, column.getSize()]];\n const clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;\n const newColumnSizing = {};\n const updateOffset = (eventType, clientXPos) => {\n if (typeof clientXPos !== 'number') {\n return;\n }\n table.setColumnSizingInfo(old => {\n var _old$startOffset, _old$startSize;\n const deltaDirection = table.options.columnResizeDirection === 'rtl' ? -1 : 1;\n const deltaOffset = (clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0)) * deltaDirection;\n const deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);\n old.columnSizingStart.forEach(_ref3 => {\n let [columnId, headerSize] = _ref3;\n newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100;\n });\n return {\n ...old,\n deltaOffset,\n deltaPercentage\n };\n });\n if (table.options.columnResizeMode === 'onChange' || eventType === 'end') {\n table.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing\n }));\n }\n };\n const onMove = clientXPos => updateOffset('move', clientXPos);\n const onEnd = clientXPos => {\n updateOffset('end', clientXPos);\n table.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: []\n }));\n };\n const contextDocument = safelyAccessDocument(_contextDocument);\n const mouseEvents = {\n moveHandler: e => onMove(e.clientX),\n upHandler: e => {\n contextDocument == null || contextDocument.removeEventListener('mousemove', mouseEvents.moveHandler);\n contextDocument == null || contextDocument.removeEventListener('mouseup', mouseEvents.upHandler);\n onEnd(e.clientX);\n }\n };\n const touchEvents = {\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n onMove(e.touches[0].clientX);\n return false;\n },\n upHandler: e => {\n var _e$touches$;\n contextDocument == null || contextDocument.removeEventListener('touchmove', touchEvents.moveHandler);\n contextDocument == null || contextDocument.removeEventListener('touchend', touchEvents.upHandler);\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n onEnd((_e$touches$ = e.touches[0]) == null ? void 0 : _e$touches$.clientX);\n }\n };\n const passiveIfSupported = passiveEventSupported() ? {\n passive: false\n } : false;\n if (isTouchStartEvent(e)) {\n contextDocument == null || contextDocument.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);\n contextDocument == null || contextDocument.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);\n } else {\n contextDocument == null || contextDocument.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);\n contextDocument == null || contextDocument.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);\n }\n table.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id\n }));\n };\n };\n },\n createTable: table => {\n table.setColumnSizing = updater => table.options.onColumnSizingChange == null ? void 0 : table.options.onColumnSizingChange(updater);\n table.setColumnSizingInfo = updater => table.options.onColumnSizingInfoChange == null ? void 0 : table.options.onColumnSizingInfoChange(updater);\n table.resetColumnSizing = defaultState => {\n var _table$initialState$c;\n table.setColumnSizing(defaultState ? {} : (_table$initialState$c = table.initialState.columnSizing) != null ? _table$initialState$c : {});\n };\n table.resetHeaderSizeInfo = defaultState => {\n var _table$initialState$c2;\n table.setColumnSizingInfo(defaultState ? getDefaultColumnSizingInfoState() : (_table$initialState$c2 = table.initialState.columnSizingInfo) != null ? _table$initialState$c2 : getDefaultColumnSizingInfoState());\n };\n table.getTotalSize = () => {\n var _table$getHeaderGroup, _table$getHeaderGroup2;\n return (_table$getHeaderGroup = (_table$getHeaderGroup2 = table.getHeaderGroups()[0]) == null ? void 0 : _table$getHeaderGroup2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getHeaderGroup : 0;\n };\n table.getLeftTotalSize = () => {\n var _table$getLeftHeaderG, _table$getLeftHeaderG2;\n return (_table$getLeftHeaderG = (_table$getLeftHeaderG2 = table.getLeftHeaderGroups()[0]) == null ? void 0 : _table$getLeftHeaderG2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getLeftHeaderG : 0;\n };\n table.getCenterTotalSize = () => {\n var _table$getCenterHeade, _table$getCenterHeade2;\n return (_table$getCenterHeade = (_table$getCenterHeade2 = table.getCenterHeaderGroups()[0]) == null ? void 0 : _table$getCenterHeade2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getCenterHeade : 0;\n };\n table.getRightTotalSize = () => {\n var _table$getRightHeader, _table$getRightHeader2;\n return (_table$getRightHeader = (_table$getRightHeader2 = table.getRightHeaderGroups()[0]) == null ? void 0 : _table$getRightHeader2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getRightHeader : 0;\n };\n }\n};\nlet passiveSupported = null;\nfunction passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported;\n let supported = false;\n try {\n const options = {\n get passive() {\n supported = true;\n return false;\n }\n };\n const noop = () => {};\n window.addEventListener('test', noop, options);\n window.removeEventListener('test', noop);\n } catch (err) {\n supported = false;\n }\n passiveSupported = supported;\n return passiveSupported;\n}\nfunction isTouchStartEvent(e) {\n return e.type === 'touchstart';\n}\n\n//\n\nconst ColumnVisibility = {\n getInitialState: state => {\n return {\n columnVisibility: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', table)\n };\n },\n createColumn: (column, table) => {\n column.toggleVisibility = value => {\n if (column.getCanHide()) {\n table.setColumnVisibility(old => ({\n ...old,\n [column.id]: value != null ? value : !column.getIsVisible()\n }));\n }\n };\n column.getIsVisible = () => {\n var _ref, _table$getState$colum;\n const childColumns = column.columns;\n return (_ref = childColumns.length ? childColumns.some(c => c.getIsVisible()) : (_table$getState$colum = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum[column.id]) != null ? _ref : true;\n };\n column.getCanHide = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true);\n };\n column.getToggleVisibilityHandler = () => {\n return e => {\n column.toggleVisibility == null || column.toggleVisibility(e.target.checked);\n };\n };\n },\n createRow: (row, table) => {\n row._getAllVisibleCells = memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {\n return cells.filter(cell => cell.column.getIsVisible());\n }, getMemoOptions(table.options, 'debugRows', '_getAllVisibleCells'));\n row.getVisibleCells = memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], getMemoOptions(table.options, 'debugRows', 'getVisibleCells'));\n },\n createTable: table => {\n const makeVisibleColumnsMethod = (key, getColumns) => {\n return memo(() => [getColumns(), getColumns().filter(d => d.getIsVisible()).map(d => d.id).join('_')], columns => {\n return columns.filter(d => d.getIsVisible == null ? void 0 : d.getIsVisible());\n }, getMemoOptions(table.options, 'debugColumns', key));\n };\n table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns());\n table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns());\n table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => table.getLeftLeafColumns());\n table.getRightVisibleLeafColumns = makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => table.getRightLeafColumns());\n table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => table.getCenterLeafColumns());\n table.setColumnVisibility = updater => table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater);\n table.resetColumnVisibility = defaultState => {\n var _table$initialState$c;\n table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {});\n };\n table.toggleAllColumnsVisible = value => {\n var _value;\n value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible();\n table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column) => ({\n ...obj,\n [column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value\n }), {}));\n };\n table.getIsAllColumnsVisible = () => !table.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible()));\n table.getIsSomeColumnsVisible = () => table.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible());\n table.getToggleAllColumnsVisibilityHandler = () => {\n return e => {\n var _target;\n table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);\n };\n };\n }\n};\nfunction _getVisibleLeafColumns(table, position) {\n return !position ? table.getVisibleLeafColumns() : position === 'center' ? table.getCenterVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns();\n}\n\n//\n\nconst GlobalFaceting = {\n createTable: table => {\n table._getGlobalFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__');\n table.getGlobalFacetedRowModel = () => {\n if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {\n return table.getPreFilteredRowModel();\n }\n return table._getGlobalFacetedRowModel();\n };\n table._getGlobalFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, '__global__');\n table.getGlobalFacetedUniqueValues = () => {\n if (!table._getGlobalFacetedUniqueValues) {\n return new Map();\n }\n return table._getGlobalFacetedUniqueValues();\n };\n table._getGlobalFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, '__global__');\n table.getGlobalFacetedMinMaxValues = () => {\n if (!table._getGlobalFacetedMinMaxValues) {\n return;\n }\n return table._getGlobalFacetedMinMaxValues();\n };\n }\n};\n\n//\n\nconst GlobalFiltering = {\n getInitialState: state => {\n return {\n globalFilter: undefined,\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n var _table$getCoreRowMode;\n const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) == null || (_table$getCoreRowMode = _table$getCoreRowMode._getAllCellsByColumnId()[column.id]) == null ? void 0 : _table$getCoreRowMode.getValue();\n return typeof value === 'string' || typeof value === 'number';\n }\n };\n },\n createColumn: (column, table) => {\n column.getCanGlobalFilter = () => {\n var _column$columnDef$ena, _table$options$enable, _table$options$enable2, _table$options$getCol;\n return ((_column$columnDef$ena = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGlobalFilter) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && ((_table$options$getCol = table.options.getColumnCanGlobalFilter == null ? void 0 : table.options.getColumnCanGlobalFilter(column)) != null ? _table$options$getCol : true) && !!column.accessorFn;\n };\n },\n createTable: table => {\n table.getGlobalAutoFilterFn = () => {\n return filterFns.includesString;\n };\n table.getGlobalFilterFn = () => {\n var _table$options$filter, _table$options$filter2;\n const {\n globalFilterFn: globalFilterFn\n } = table.options;\n return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[globalFilterFn]) != null ? _table$options$filter : filterFns[globalFilterFn];\n };\n table.setGlobalFilter = updater => {\n table.options.onGlobalFilterChange == null || table.options.onGlobalFilterChange(updater);\n };\n table.resetGlobalFilter = defaultState => {\n table.setGlobalFilter(defaultState ? undefined : table.initialState.globalFilter);\n };\n }\n};\n\n//\n\nconst RowExpanding = {\n getInitialState: state => {\n return {\n expanded: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onExpandedChange: makeStateUpdater('expanded', table),\n paginateExpandedRows: true\n };\n },\n createTable: table => {\n let registered = false;\n let queued = false;\n table._autoResetExpanded = () => {\n var _ref, _table$options$autoRe;\n if (!registered) {\n table._queue(() => {\n registered = true;\n });\n return;\n }\n if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetExpanded) != null ? _ref : !table.options.manualExpanding) {\n if (queued) return;\n queued = true;\n table._queue(() => {\n table.resetExpanded();\n queued = false;\n });\n }\n };\n table.setExpanded = updater => table.options.onExpandedChange == null ? void 0 : table.options.onExpandedChange(updater);\n table.toggleAllRowsExpanded = expanded => {\n if (expanded != null ? expanded : !table.getIsAllRowsExpanded()) {\n table.setExpanded(true);\n } else {\n table.setExpanded({});\n }\n };\n table.resetExpanded = defaultState => {\n var _table$initialState$e, _table$initialState;\n table.setExpanded(defaultState ? {} : (_table$initialState$e = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.expanded) != null ? _table$initialState$e : {});\n };\n table.getCanSomeRowsExpand = () => {\n return table.getPrePaginationRowModel().flatRows.some(row => row.getCanExpand());\n };\n table.getToggleAllRowsExpandedHandler = () => {\n return e => {\n e.persist == null || e.persist();\n table.toggleAllRowsExpanded();\n };\n };\n table.getIsSomeRowsExpanded = () => {\n const expanded = table.getState().expanded;\n return expanded === true || Object.values(expanded).some(Boolean);\n };\n table.getIsAllRowsExpanded = () => {\n const expanded = table.getState().expanded;\n\n // If expanded is true, save some cycles and return true\n if (typeof expanded === 'boolean') {\n return expanded === true;\n }\n if (!Object.keys(expanded).length) {\n return false;\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {\n return false;\n }\n\n // They must all be expanded :shrug:\n return true;\n };\n table.getExpandedDepth = () => {\n let maxDepth = 0;\n const rowIds = table.getState().expanded === true ? Object.keys(table.getRowModel().rowsById) : Object.keys(table.getState().expanded);\n rowIds.forEach(id => {\n const splitId = id.split('.');\n maxDepth = Math.max(maxDepth, splitId.length);\n });\n return maxDepth;\n };\n table.getPreExpandedRowModel = () => table.getSortedRowModel();\n table.getExpandedRowModel = () => {\n if (!table._getExpandedRowModel && table.options.getExpandedRowModel) {\n table._getExpandedRowModel = table.options.getExpandedRowModel(table);\n }\n if (table.options.manualExpanding || !table._getExpandedRowModel) {\n return table.getPreExpandedRowModel();\n }\n return table._getExpandedRowModel();\n };\n },\n createRow: (row, table) => {\n row.toggleExpanded = expanded => {\n table.setExpanded(old => {\n var _expanded;\n const exists = old === true ? true : !!(old != null && old[row.id]);\n let oldExpanded = {};\n if (old === true) {\n Object.keys(table.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true;\n });\n } else {\n oldExpanded = old;\n }\n expanded = (_expanded = expanded) != null ? _expanded : !exists;\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true\n };\n }\n if (exists && !expanded) {\n const {\n [row.id]: _,\n ...rest\n } = oldExpanded;\n return rest;\n }\n return old;\n });\n };\n row.getIsExpanded = () => {\n var _table$options$getIsR;\n const expanded = table.getState().expanded;\n return !!((_table$options$getIsR = table.options.getIsRowExpanded == null ? void 0 : table.options.getIsRowExpanded(row)) != null ? _table$options$getIsR : expanded === true || (expanded == null ? void 0 : expanded[row.id]));\n };\n row.getCanExpand = () => {\n var _table$options$getRow, _table$options$enable, _row$subRows;\n return (_table$options$getRow = table.options.getRowCanExpand == null ? void 0 : table.options.getRowCanExpand(row)) != null ? _table$options$getRow : ((_table$options$enable = table.options.enableExpanding) != null ? _table$options$enable : true) && !!((_row$subRows = row.subRows) != null && _row$subRows.length);\n };\n row.getIsAllParentsExpanded = () => {\n let isFullyExpanded = true;\n let currentRow = row;\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = table.getRow(currentRow.parentId, true);\n isFullyExpanded = currentRow.getIsExpanded();\n }\n return isFullyExpanded;\n };\n row.getToggleExpandedHandler = () => {\n const canExpand = row.getCanExpand();\n return () => {\n if (!canExpand) return;\n row.toggleExpanded();\n };\n };\n }\n};\n\n//\n\nconst defaultPageIndex = 0;\nconst defaultPageSize = 10;\nconst getDefaultPaginationState = () => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize\n});\nconst RowPagination = {\n getInitialState: state => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...(state == null ? void 0 : state.pagination)\n }\n };\n },\n getDefaultOptions: table => {\n return {\n onPaginationChange: makeStateUpdater('pagination', table)\n };\n },\n createTable: table => {\n let registered = false;\n let queued = false;\n table._autoResetPageIndex = () => {\n var _ref, _table$options$autoRe;\n if (!registered) {\n table._queue(() => {\n registered = true;\n });\n return;\n }\n if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetPageIndex) != null ? _ref : !table.options.manualPagination) {\n if (queued) return;\n queued = true;\n table._queue(() => {\n table.resetPageIndex();\n queued = false;\n });\n }\n };\n table.setPagination = updater => {\n const safeUpdater = old => {\n let newState = functionalUpdate(updater, old);\n return newState;\n };\n return table.options.onPaginationChange == null ? void 0 : table.options.onPaginationChange(safeUpdater);\n };\n table.resetPagination = defaultState => {\n var _table$initialState$p;\n table.setPagination(defaultState ? getDefaultPaginationState() : (_table$initialState$p = table.initialState.pagination) != null ? _table$initialState$p : getDefaultPaginationState());\n };\n table.setPageIndex = updater => {\n table.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex);\n const maxPageIndex = typeof table.options.pageCount === 'undefined' || table.options.pageCount === -1 ? Number.MAX_SAFE_INTEGER : table.options.pageCount - 1;\n pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex));\n return {\n ...old,\n pageIndex\n };\n });\n };\n table.resetPageIndex = defaultState => {\n var _table$initialState$p2, _table$initialState;\n table.setPageIndex(defaultState ? defaultPageIndex : (_table$initialState$p2 = (_table$initialState = table.initialState) == null || (_table$initialState = _table$initialState.pagination) == null ? void 0 : _table$initialState.pageIndex) != null ? _table$initialState$p2 : defaultPageIndex);\n };\n table.resetPageSize = defaultState => {\n var _table$initialState$p3, _table$initialState2;\n table.setPageSize(defaultState ? defaultPageSize : (_table$initialState$p3 = (_table$initialState2 = table.initialState) == null || (_table$initialState2 = _table$initialState2.pagination) == null ? void 0 : _table$initialState2.pageSize) != null ? _table$initialState$p3 : defaultPageSize);\n };\n table.setPageSize = updater => {\n table.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize));\n const topRowIndex = old.pageSize * old.pageIndex;\n const pageIndex = Math.floor(topRowIndex / pageSize);\n return {\n ...old,\n pageIndex,\n pageSize\n };\n });\n };\n //deprecated\n table.setPageCount = updater => table.setPagination(old => {\n var _table$options$pageCo;\n let newPageCount = functionalUpdate(updater, (_table$options$pageCo = table.options.pageCount) != null ? _table$options$pageCo : -1);\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount);\n }\n return {\n ...old,\n pageCount: newPageCount\n };\n });\n table.getPageOptions = memo(() => [table.getPageCount()], pageCount => {\n let pageOptions = [];\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i);\n }\n return pageOptions;\n }, getMemoOptions(table.options, 'debugTable', 'getPageOptions'));\n table.getCanPreviousPage = () => table.getState().pagination.pageIndex > 0;\n table.getCanNextPage = () => {\n const {\n pageIndex\n } = table.getState().pagination;\n const pageCount = table.getPageCount();\n if (pageCount === -1) {\n return true;\n }\n if (pageCount === 0) {\n return false;\n }\n return pageIndex < pageCount - 1;\n };\n table.previousPage = () => {\n return table.setPageIndex(old => old - 1);\n };\n table.nextPage = () => {\n return table.setPageIndex(old => {\n return old + 1;\n });\n };\n table.firstPage = () => {\n return table.setPageIndex(0);\n };\n table.lastPage = () => {\n return table.setPageIndex(table.getPageCount() - 1);\n };\n table.getPrePaginationRowModel = () => table.getExpandedRowModel();\n table.getPaginationRowModel = () => {\n if (!table._getPaginationRowModel && table.options.getPaginationRowModel) {\n table._getPaginationRowModel = table.options.getPaginationRowModel(table);\n }\n if (table.options.manualPagination || !table._getPaginationRowModel) {\n return table.getPrePaginationRowModel();\n }\n return table._getPaginationRowModel();\n };\n table.getPageCount = () => {\n var _table$options$pageCo2;\n return (_table$options$pageCo2 = table.options.pageCount) != null ? _table$options$pageCo2 : Math.ceil(table.getRowCount() / table.getState().pagination.pageSize);\n };\n table.getRowCount = () => {\n var _table$options$rowCou;\n return (_table$options$rowCou = table.options.rowCount) != null ? _table$options$rowCou : table.getPrePaginationRowModel().rows.length;\n };\n }\n};\n\n//\n\nconst getDefaultRowPinningState = () => ({\n top: [],\n bottom: []\n});\nconst RowPinning = {\n getInitialState: state => {\n return {\n rowPinning: getDefaultRowPinningState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onRowPinningChange: makeStateUpdater('rowPinning', table)\n };\n },\n createRow: (row, table) => {\n row.pin = (position, includeLeafRows, includeParentRows) => {\n const leafRowIds = includeLeafRows ? row.getLeafRows().map(_ref => {\n let {\n id\n } = _ref;\n return id;\n }) : [];\n const parentRowIds = includeParentRows ? row.getParentRows().map(_ref2 => {\n let {\n id\n } = _ref2;\n return id;\n }) : [];\n const rowIds = new Set([...parentRowIds, row.id, ...leafRowIds]);\n table.setRowPinning(old => {\n var _old$top3, _old$bottom3;\n if (position === 'bottom') {\n var _old$top, _old$bottom;\n return {\n top: ((_old$top = old == null ? void 0 : old.top) != null ? _old$top : []).filter(d => !(rowIds != null && rowIds.has(d))),\n bottom: [...((_old$bottom = old == null ? void 0 : old.bottom) != null ? _old$bottom : []).filter(d => !(rowIds != null && rowIds.has(d))), ...Array.from(rowIds)]\n };\n }\n if (position === 'top') {\n var _old$top2, _old$bottom2;\n return {\n top: [...((_old$top2 = old == null ? void 0 : old.top) != null ? _old$top2 : []).filter(d => !(rowIds != null && rowIds.has(d))), ...Array.from(rowIds)],\n bottom: ((_old$bottom2 = old == null ? void 0 : old.bottom) != null ? _old$bottom2 : []).filter(d => !(rowIds != null && rowIds.has(d)))\n };\n }\n return {\n top: ((_old$top3 = old == null ? void 0 : old.top) != null ? _old$top3 : []).filter(d => !(rowIds != null && rowIds.has(d))),\n bottom: ((_old$bottom3 = old == null ? void 0 : old.bottom) != null ? _old$bottom3 : []).filter(d => !(rowIds != null && rowIds.has(d)))\n };\n });\n };\n row.getCanPin = () => {\n var _ref3;\n const {\n enableRowPinning,\n enablePinning\n } = table.options;\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row);\n }\n return (_ref3 = enableRowPinning != null ? enableRowPinning : enablePinning) != null ? _ref3 : true;\n };\n row.getIsPinned = () => {\n const rowIds = [row.id];\n const {\n top,\n bottom\n } = table.getState().rowPinning;\n const isTop = rowIds.some(d => top == null ? void 0 : top.includes(d));\n const isBottom = rowIds.some(d => bottom == null ? void 0 : bottom.includes(d));\n return isTop ? 'top' : isBottom ? 'bottom' : false;\n };\n row.getPinnedIndex = () => {\n var _ref4, _visiblePinnedRowIds$;\n const position = row.getIsPinned();\n if (!position) return -1;\n const visiblePinnedRowIds = (_ref4 = position === 'top' ? table.getTopRows() : table.getBottomRows()) == null ? void 0 : _ref4.map(_ref5 => {\n let {\n id\n } = _ref5;\n return id;\n });\n return (_visiblePinnedRowIds$ = visiblePinnedRowIds == null ? void 0 : visiblePinnedRowIds.indexOf(row.id)) != null ? _visiblePinnedRowIds$ : -1;\n };\n },\n createTable: table => {\n table.setRowPinning = updater => table.options.onRowPinningChange == null ? void 0 : table.options.onRowPinningChange(updater);\n table.resetRowPinning = defaultState => {\n var _table$initialState$r, _table$initialState;\n return table.setRowPinning(defaultState ? getDefaultRowPinningState() : (_table$initialState$r = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.rowPinning) != null ? _table$initialState$r : getDefaultRowPinningState());\n };\n table.getIsSomeRowsPinned = position => {\n var _pinningState$positio;\n const pinningState = table.getState().rowPinning;\n if (!position) {\n var _pinningState$top, _pinningState$bottom;\n return Boolean(((_pinningState$top = pinningState.top) == null ? void 0 : _pinningState$top.length) || ((_pinningState$bottom = pinningState.bottom) == null ? void 0 : _pinningState$bottom.length));\n }\n return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);\n };\n table._getPinnedRows = (visibleRows, pinnedRowIds, position) => {\n var _table$options$keepPi;\n const rows = ((_table$options$keepPi = table.options.keepPinnedRows) != null ? _table$options$keepPi : true) ?\n //get all rows that are pinned even if they would not be otherwise visible\n //account for expanded parent rows, but not pagination or filtering\n (pinnedRowIds != null ? pinnedRowIds : []).map(rowId => {\n const row = table.getRow(rowId, true);\n return row.getIsAllParentsExpanded() ? row : null;\n }) :\n //else get only visible rows that are pinned\n (pinnedRowIds != null ? pinnedRowIds : []).map(rowId => visibleRows.find(row => row.id === rowId));\n return rows.filter(Boolean).map(d => ({\n ...d,\n position\n }));\n };\n table.getTopRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.top], (allRows, topPinnedRowIds) => table._getPinnedRows(allRows, topPinnedRowIds, 'top'), getMemoOptions(table.options, 'debugRows', 'getTopRows'));\n table.getBottomRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.bottom], (allRows, bottomPinnedRowIds) => table._getPinnedRows(allRows, bottomPinnedRowIds, 'bottom'), getMemoOptions(table.options, 'debugRows', 'getBottomRows'));\n table.getCenterRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.top, table.getState().rowPinning.bottom], (allRows, top, bottom) => {\n const topAndBottom = new Set([...(top != null ? top : []), ...(bottom != null ? bottom : [])]);\n return allRows.filter(d => !topAndBottom.has(d.id));\n }, getMemoOptions(table.options, 'debugRows', 'getCenterRows'));\n }\n};\n\n//\n\nconst RowSelection = {\n getInitialState: state => {\n return {\n rowSelection: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n };\n },\n createTable: table => {\n table.setRowSelection = updater => table.options.onRowSelectionChange == null ? void 0 : table.options.onRowSelectionChange(updater);\n table.resetRowSelection = defaultState => {\n var _table$initialState$r;\n return table.setRowSelection(defaultState ? {} : (_table$initialState$r = table.initialState.rowSelection) != null ? _table$initialState$r : {});\n };\n table.toggleAllRowsSelected = value => {\n table.setRowSelection(old => {\n value = typeof value !== 'undefined' ? value : !table.getIsAllRowsSelected();\n const rowSelection = {\n ...old\n };\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach(row => {\n if (!row.getCanSelect()) {\n return;\n }\n rowSelection[row.id] = true;\n });\n } else {\n preGroupedFlatRows.forEach(row => {\n delete rowSelection[row.id];\n });\n }\n return rowSelection;\n });\n };\n table.toggleAllPageRowsSelected = value => table.setRowSelection(old => {\n const resolvedValue = typeof value !== 'undefined' ? value : !table.getIsAllPageRowsSelected();\n const rowSelection = {\n ...old\n };\n table.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table);\n });\n return rowSelection;\n });\n\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = table\n\n // const findSelectedRow = (rows: Row[]) => {\n // let found\n // rows.find(d => {\n // if (d.getIsSelected()) {\n // found = d\n // return true\n // }\n // const subFound = findSelectedRow(d.subRows || [])\n // if (subFound) {\n // found = subFound\n // return true\n // }\n // return false\n // })\n // return found\n // }\n\n // const firstRow = findSelectedRow(rows) || rows[0]\n // const lastRow = rowsById[rowId]\n\n // let include = false\n // const selectedRowIds = {}\n\n // const addRow = (row: Row) => {\n // mutateRowIsSelected(selectedRowIds, row.id, true, {\n // rowsById,\n // selectGroupingRows: selectGroupingRows!,\n // selectSubRows: selectSubRows!,\n // })\n // }\n\n // table.rows.forEach(row => {\n // const isFirstRow = row.id === firstRow.id\n // const isLastRow = row.id === lastRow.id\n\n // if (isFirstRow || isLastRow) {\n // if (!include) {\n // include = true\n // } else if (include) {\n // addRow(row)\n // include = false\n // }\n // }\n\n // if (include) {\n // addRow(row)\n // }\n // })\n\n // table.setRowSelection(selectedRowIds)\n // },\n table.getPreSelectedRowModel = () => table.getCoreRowModel();\n table.getSelectedRowModel = memo(() => [table.getState().rowSelection, table.getCoreRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getSelectedRowModel'));\n table.getFilteredSelectedRowModel = memo(() => [table.getState().rowSelection, table.getFilteredRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getFilteredSelectedRowModel'));\n table.getGroupedSelectedRowModel = memo(() => [table.getState().rowSelection, table.getSortedRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getGroupedSelectedRowModel'));\n\n ///\n\n // getGroupingRowCanSelect: rowId => {\n // const row = table.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof table.options.enableGroupingRowSelection === 'function') {\n // return table.options.enableGroupingRowSelection(row)\n // }\n\n // return table.options.enableGroupingRowSelection ?? false\n // },\n\n table.getIsAllRowsSelected = () => {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows;\n const {\n rowSelection\n } = table.getState();\n let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);\n if (isAllRowsSelected) {\n if (preGroupedFlatRows.some(row => row.getCanSelect() && !rowSelection[row.id])) {\n isAllRowsSelected = false;\n }\n }\n return isAllRowsSelected;\n };\n table.getIsAllPageRowsSelected = () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows.filter(row => row.getCanSelect());\n const {\n rowSelection\n } = table.getState();\n let isAllPageRowsSelected = !!paginationFlatRows.length;\n if (isAllPageRowsSelected && paginationFlatRows.some(row => !rowSelection[row.id])) {\n isAllPageRowsSelected = false;\n }\n return isAllPageRowsSelected;\n };\n table.getIsSomeRowsSelected = () => {\n var _table$getState$rowSe;\n const totalSelected = Object.keys((_table$getState$rowSe = table.getState().rowSelection) != null ? _table$getState$rowSe : {}).length;\n return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;\n };\n table.getIsSomePageRowsSelected = () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows;\n return table.getIsAllPageRowsSelected() ? false : paginationFlatRows.filter(row => row.getCanSelect()).some(d => d.getIsSelected() || d.getIsSomeSelected());\n };\n table.getToggleAllRowsSelectedHandler = () => {\n return e => {\n table.toggleAllRowsSelected(e.target.checked);\n };\n };\n table.getToggleAllPageRowsSelectedHandler = () => {\n return e => {\n table.toggleAllPageRowsSelected(e.target.checked);\n };\n };\n },\n createRow: (row, table) => {\n row.toggleSelected = (value, opts) => {\n const isSelected = row.getIsSelected();\n table.setRowSelection(old => {\n var _opts$selectChildren;\n value = typeof value !== 'undefined' ? value : !isSelected;\n if (row.getCanSelect() && isSelected === value) {\n return old;\n }\n const selectedRowIds = {\n ...old\n };\n mutateRowIsSelected(selectedRowIds, row.id, value, (_opts$selectChildren = opts == null ? void 0 : opts.selectChildren) != null ? _opts$selectChildren : true, table);\n return selectedRowIds;\n });\n };\n row.getIsSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isRowSelected(row, rowSelection);\n };\n row.getIsSomeSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isSubRowSelected(row, rowSelection) === 'some';\n };\n row.getIsAllSubRowsSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isSubRowSelected(row, rowSelection) === 'all';\n };\n row.getCanSelect = () => {\n var _table$options$enable;\n if (typeof table.options.enableRowSelection === 'function') {\n return table.options.enableRowSelection(row);\n }\n return (_table$options$enable = table.options.enableRowSelection) != null ? _table$options$enable : true;\n };\n row.getCanSelectSubRows = () => {\n var _table$options$enable2;\n if (typeof table.options.enableSubRowSelection === 'function') {\n return table.options.enableSubRowSelection(row);\n }\n return (_table$options$enable2 = table.options.enableSubRowSelection) != null ? _table$options$enable2 : true;\n };\n row.getCanMultiSelect = () => {\n var _table$options$enable3;\n if (typeof table.options.enableMultiRowSelection === 'function') {\n return table.options.enableMultiRowSelection(row);\n }\n return (_table$options$enable3 = table.options.enableMultiRowSelection) != null ? _table$options$enable3 : true;\n };\n row.getToggleSelectedHandler = () => {\n const canSelect = row.getCanSelect();\n return e => {\n var _target;\n if (!canSelect) return;\n row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);\n };\n };\n }\n};\nconst mutateRowIsSelected = (selectedRowIds, id, value, includeChildren, table) => {\n var _row$subRows;\n const row = table.getRow(id, true);\n\n // const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && table.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n if (!row.getCanMultiSelect()) {\n Object.keys(selectedRowIds).forEach(key => delete selectedRowIds[key]);\n }\n if (row.getCanSelect()) {\n selectedRowIds[id] = true;\n }\n } else {\n delete selectedRowIds[id];\n }\n // }\n\n if (includeChildren && (_row$subRows = row.subRows) != null && _row$subRows.length && row.getCanSelectSubRows()) {\n row.subRows.forEach(row => mutateRowIsSelected(selectedRowIds, row.id, value, includeChildren, table));\n }\n};\nfunction selectRowsFn(table, rowModel) {\n const rowSelection = table.getState().rowSelection;\n const newSelectedFlatRows = [];\n const newSelectedRowsById = {};\n\n // Filters top level and nested rows\n const recurseRows = function (rows, depth) {\n return rows.map(row => {\n var _row$subRows2;\n const isSelected = isRowSelected(row, rowSelection);\n if (isSelected) {\n newSelectedFlatRows.push(row);\n newSelectedRowsById[row.id] = row;\n }\n if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows)\n };\n }\n if (isSelected) {\n return row;\n }\n }).filter(Boolean);\n };\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById\n };\n}\nfunction isRowSelected(row, selection) {\n var _selection$row$id;\n return (_selection$row$id = selection[row.id]) != null ? _selection$row$id : false;\n}\nfunction isSubRowSelected(row, selection, table) {\n var _row$subRows3;\n if (!((_row$subRows3 = row.subRows) != null && _row$subRows3.length)) return false;\n let allChildrenSelected = true;\n let someSelected = false;\n row.subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n if (subRow.getCanSelect()) {\n if (isRowSelected(subRow, selection)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n }\n\n // Check row selection of nested subrows\n if (subRow.subRows && subRow.subRows.length) {\n const subRowChildrenSelected = isSubRowSelected(subRow, selection);\n if (subRowChildrenSelected === 'all') {\n someSelected = true;\n } else if (subRowChildrenSelected === 'some') {\n someSelected = true;\n allChildrenSelected = false;\n } else {\n allChildrenSelected = false;\n }\n }\n });\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false;\n}\n\nconst reSplitAlphaNumeric = /([0-9]+)/gm;\nconst alphanumeric = (rowA, rowB, columnId) => {\n return compareAlphanumeric(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());\n};\nconst alphanumericCaseSensitive = (rowA, rowB, columnId) => {\n return compareAlphanumeric(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));\n};\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst text = (rowA, rowB, columnId) => {\n return compareBasic(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());\n};\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst textCaseSensitive = (rowA, rowB, columnId) => {\n return compareBasic(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));\n};\nconst datetime = (rowA, rowB, columnId) => {\n const a = rowA.getValue(columnId);\n const b = rowB.getValue(columnId);\n\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n return a > b ? 1 : a < b ? -1 : 0;\n};\nconst basic = (rowA, rowB, columnId) => {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId));\n};\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1;\n}\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return '';\n }\n return String(a);\n }\n if (typeof a === 'string') {\n return a;\n }\n return '';\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr, bStr) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean);\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean);\n\n // While\n while (a.length && b.length) {\n const aa = a.shift();\n const bb = b.shift();\n const an = parseInt(aa, 10);\n const bn = parseInt(bb, 10);\n const combo = [an, bn].sort();\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1;\n }\n if (bb > aa) {\n return -1;\n }\n continue;\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1;\n }\n\n // Both are numbers\n if (an > bn) {\n return 1;\n }\n if (bn > an) {\n return -1;\n }\n }\n return a.length - b.length;\n}\n\n// Exports\n\nconst sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic\n};\n\n//\n\nconst RowSorting = {\n getInitialState: state => {\n return {\n sorting: [],\n ...state\n };\n },\n getDefaultColumnDef: () => {\n return {\n sortingFn: 'auto',\n sortUndefined: 1\n };\n },\n getDefaultOptions: table => {\n return {\n onSortingChange: makeStateUpdater('sorting', table),\n isMultiSortEvent: e => {\n return e.shiftKey;\n }\n };\n },\n createColumn: (column, table) => {\n column.getAutoSortingFn = () => {\n const firstRows = table.getFilteredRowModel().flatRows.slice(10);\n let isString = false;\n for (const row of firstRows) {\n const value = row == null ? void 0 : row.getValue(column.id);\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return sortingFns.datetime;\n }\n if (typeof value === 'string') {\n isString = true;\n if (value.split(reSplitAlphaNumeric).length > 1) {\n return sortingFns.alphanumeric;\n }\n }\n }\n if (isString) {\n return sortingFns.text;\n }\n return sortingFns.basic;\n };\n column.getAutoSortDir = () => {\n const firstRow = table.getFilteredRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'string') {\n return 'asc';\n }\n return 'desc';\n };\n column.getSortingFn = () => {\n var _table$options$sortin, _table$options$sortin2;\n if (!column) {\n throw new Error();\n }\n return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : (_table$options$sortin = (_table$options$sortin2 = table.options.sortingFns) == null ? void 0 : _table$options$sortin2[column.columnDef.sortingFn]) != null ? _table$options$sortin : sortingFns[column.columnDef.sortingFn];\n };\n column.toggleSorting = (desc, multi) => {\n // if (column.columns.length) {\n // column.columns.forEach((c, i) => {\n // if (c.id) {\n // table.toggleColumnSorting(c.id, undefined, multi || !!i)\n // }\n // })\n // return\n // }\n\n // this needs to be outside of table.setSorting to be in sync with rerender\n const nextSortingOrder = column.getNextSortingOrder();\n const hasManualValue = typeof desc !== 'undefined' && desc !== null;\n table.setSorting(old => {\n // Find any existing sorting for this column\n const existingSorting = old == null ? void 0 : old.find(d => d.id === column.id);\n const existingIndex = old == null ? void 0 : old.findIndex(d => d.id === column.id);\n let newSorting = [];\n\n // What should we do with this sort action?\n let sortAction;\n let nextDesc = hasManualValue ? desc : nextSortingOrder === 'desc';\n\n // Multi-mode\n if (old != null && old.length && column.getCanMultiSort() && multi) {\n if (existingSorting) {\n sortAction = 'toggle';\n } else {\n sortAction = 'add';\n }\n } else {\n // Normal mode\n if (old != null && old.length && existingIndex !== old.length - 1) {\n sortAction = 'replace';\n } else if (existingSorting) {\n sortAction = 'toggle';\n } else {\n sortAction = 'replace';\n }\n }\n\n // Handle toggle states that will remove the sorting\n if (sortAction === 'toggle') {\n // If we are \"actually\" toggling (not a manual set value), should we remove the sorting?\n if (!hasManualValue) {\n // Is our intention to remove?\n if (!nextSortingOrder) {\n sortAction = 'remove';\n }\n }\n }\n if (sortAction === 'add') {\n var _table$options$maxMul;\n newSorting = [...old, {\n id: column.id,\n desc: nextDesc\n }];\n // Take latest n columns\n newSorting.splice(0, newSorting.length - ((_table$options$maxMul = table.options.maxMultiSortColCount) != null ? _table$options$maxMul : Number.MAX_SAFE_INTEGER));\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSorting = old.map(d => {\n if (d.id === column.id) {\n return {\n ...d,\n desc: nextDesc\n };\n }\n return d;\n });\n } else if (sortAction === 'remove') {\n newSorting = old.filter(d => d.id !== column.id);\n } else {\n newSorting = [{\n id: column.id,\n desc: nextDesc\n }];\n }\n return newSorting;\n });\n };\n column.getFirstSortDir = () => {\n var _ref, _column$columnDef$sor;\n const sortDescFirst = (_ref = (_column$columnDef$sor = column.columnDef.sortDescFirst) != null ? _column$columnDef$sor : table.options.sortDescFirst) != null ? _ref : column.getAutoSortDir() === 'desc';\n return sortDescFirst ? 'desc' : 'asc';\n };\n column.getNextSortingOrder = multi => {\n var _table$options$enable, _table$options$enable2;\n const firstSortDirection = column.getFirstSortDir();\n const isSorted = column.getIsSorted();\n if (!isSorted) {\n return firstSortDirection;\n }\n if (isSorted !== firstSortDirection && ((_table$options$enable = table.options.enableSortingRemoval) != null ? _table$options$enable : true) && (\n // If enableSortRemove, enable in general\n multi ? (_table$options$enable2 = table.options.enableMultiRemove) != null ? _table$options$enable2 : true : true) // If multi, don't allow if enableMultiRemove))\n ) {\n return false;\n }\n return isSorted === 'desc' ? 'asc' : 'desc';\n };\n column.getCanSort = () => {\n var _column$columnDef$ena, _table$options$enable3;\n return ((_column$columnDef$ena = column.columnDef.enableSorting) != null ? _column$columnDef$ena : true) && ((_table$options$enable3 = table.options.enableSorting) != null ? _table$options$enable3 : true) && !!column.accessorFn;\n };\n column.getCanMultiSort = () => {\n var _ref2, _column$columnDef$ena2;\n return (_ref2 = (_column$columnDef$ena2 = column.columnDef.enableMultiSort) != null ? _column$columnDef$ena2 : table.options.enableMultiSort) != null ? _ref2 : !!column.accessorFn;\n };\n column.getIsSorted = () => {\n var _table$getState$sorti;\n const columnSort = (_table$getState$sorti = table.getState().sorting) == null ? void 0 : _table$getState$sorti.find(d => d.id === column.id);\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc';\n };\n column.getSortIndex = () => {\n var _table$getState$sorti2, _table$getState$sorti3;\n return (_table$getState$sorti2 = (_table$getState$sorti3 = table.getState().sorting) == null ? void 0 : _table$getState$sorti3.findIndex(d => d.id === column.id)) != null ? _table$getState$sorti2 : -1;\n };\n column.clearSorting = () => {\n //clear sorting for just 1 column\n table.setSorting(old => old != null && old.length ? old.filter(d => d.id !== column.id) : []);\n };\n column.getToggleSortingHandler = () => {\n const canSort = column.getCanSort();\n return e => {\n if (!canSort) return;\n e.persist == null || e.persist();\n column.toggleSorting == null || column.toggleSorting(undefined, column.getCanMultiSort() ? table.options.isMultiSortEvent == null ? void 0 : table.options.isMultiSortEvent(e) : false);\n };\n };\n },\n createTable: table => {\n table.setSorting = updater => table.options.onSortingChange == null ? void 0 : table.options.onSortingChange(updater);\n table.resetSorting = defaultState => {\n var _table$initialState$s, _table$initialState;\n table.setSorting(defaultState ? [] : (_table$initialState$s = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.sorting) != null ? _table$initialState$s : []);\n };\n table.getPreSortedRowModel = () => table.getGroupedRowModel();\n table.getSortedRowModel = () => {\n if (!table._getSortedRowModel && table.options.getSortedRowModel) {\n table._getSortedRowModel = table.options.getSortedRowModel(table);\n }\n if (table.options.manualSorting || !table._getSortedRowModel) {\n return table.getPreSortedRowModel();\n }\n return table._getSortedRowModel();\n };\n }\n};\n\nconst builtInFeatures = [Headers, ColumnVisibility, ColumnOrdering, ColumnPinning, ColumnFaceting, ColumnFiltering, GlobalFaceting,\n//depends on ColumnFaceting\nGlobalFiltering,\n//depends on ColumnFiltering\nRowSorting, ColumnGrouping,\n//depends on RowSorting\nRowExpanding, RowPagination, RowPinning, RowSelection, ColumnSizing];\n\n//\n\nfunction createTable(options) {\n var _options$_features, _options$initialState;\n if (process.env.NODE_ENV !== 'production' && (options.debugAll || options.debugTable)) {\n console.info('Creating Table Instance...');\n }\n const _features = [...builtInFeatures, ...((_options$_features = options._features) != null ? _options$_features : [])];\n let table = {\n _features\n };\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table));\n }, {});\n const mergeOptions = options => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options);\n }\n return {\n ...defaultOptions,\n ...options\n };\n };\n const coreInitialState = {};\n let initialState = {\n ...coreInitialState,\n ...((_options$initialState = options.initialState) != null ? _options$initialState : {})\n };\n table._features.forEach(feature => {\n var _feature$getInitialSt;\n initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;\n });\n const queued = [];\n let queuedTimeout = false;\n const coreInstance = {\n _features,\n options: {\n ...defaultOptions,\n ...options\n },\n initialState,\n _queue: cb => {\n queued.push(cb);\n if (!queuedTimeout) {\n queuedTimeout = true;\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve().then(() => {\n while (queued.length) {\n queued.shift()();\n }\n queuedTimeout = false;\n }).catch(error => setTimeout(() => {\n throw error;\n }));\n }\n },\n reset: () => {\n table.setState(table.initialState);\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options);\n table.options = mergeOptions(newOptions);\n },\n getState: () => {\n return table.options.state;\n },\n setState: updater => {\n table.options.onStateChange == null || table.options.onStateChange(updater);\n },\n _getRowId: (row, index, parent) => {\n var _table$options$getRow;\n return (_table$options$getRow = table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) != null ? _table$options$getRow : `${parent ? [parent.id, index].join('.') : index}`;\n },\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table);\n }\n return table._getCoreRowModel();\n },\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel();\n },\n //in next version, we should just pass in the row model as the optional 2nd arg\n getRow: (id, searchAll) => {\n let row = (searchAll ? table.getPrePaginationRowModel() : table.getRowModel()).rowsById[id];\n if (!row) {\n row = table.getCoreRowModel().rowsById[id];\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow could not find row with ID: ${id}`);\n }\n throw new Error();\n }\n }\n return row;\n },\n _getDefaultColumnDef: memo(() => [table.options.defaultColumn], defaultColumn => {\n var _defaultColumn;\n defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};\n return {\n header: props => {\n const resolvedColumnDef = props.header.column.columnDef;\n if (resolvedColumnDef.accessorKey) {\n return resolvedColumnDef.accessorKey;\n }\n if (resolvedColumnDef.accessorFn) {\n return resolvedColumnDef.id;\n }\n return null;\n },\n // footer: props => props.header.column.id,\n cell: props => {\n var _props$renderValue$to, _props$renderValue;\n return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null || _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;\n },\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());\n }, {}),\n ...defaultColumn\n };\n }, getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')),\n _getColumnDefs: () => table.options.columns,\n getAllColumns: memo(() => [table._getColumnDefs()], columnDefs => {\n const recurseColumns = function (columnDefs, parent, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent);\n const groupingColumnDef = columnDef;\n column.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column, depth + 1) : [];\n return column;\n });\n };\n return recurseColumns(columnDefs);\n }, getMemoOptions(options, 'debugColumns', 'getAllColumns')),\n getAllFlatColumns: memo(() => [table.getAllColumns()], allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns();\n });\n }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')),\n _getAllFlatColumnsById: memo(() => [table.getAllFlatColumns()], flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column;\n return acc;\n }, {});\n }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')),\n getAllLeafColumns: memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns());\n return orderColumns(leafColumns);\n }, getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')),\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId];\n if (process.env.NODE_ENV !== 'production' && !column) {\n console.error(`[Table] Column with id '${columnId}' does not exist.`);\n }\n return column;\n }\n };\n Object.assign(table, coreInstance);\n for (let index = 0; index < table._features.length; index++) {\n const feature = table._features[index];\n feature == null || feature.createTable == null || feature.createTable(table);\n }\n return table;\n}\n\nfunction getCoreRowModel() {\n return table => memo(() => [table.options.data], data => {\n const rowModel = {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n const accessRows = function (originalRows, depth, parentRow) {\n if (depth === void 0) {\n depth = 0;\n }\n const rows = [];\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\n // if (!id) {\n // if (process.env.NODE_ENV !== 'production') {\n // throw new Error(`getRowId expected an ID, but got ${id}`)\n // }\n // }\n\n // Make the row\n const row = createRow(table, table._getRowId(originalRows[i], i, parentRow), originalRows[i], i, depth, undefined, parentRow == null ? void 0 : parentRow.id);\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row);\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row;\n // Push table row into parent\n rows.push(row);\n\n // Get the original subrows\n if (table.options.getSubRows) {\n var _row$originalSubRows;\n row.originalSubRows = table.options.getSubRows(originalRows[i], i);\n\n // Then recursively access them\n if ((_row$originalSubRows = row.originalSubRows) != null && _row$originalSubRows.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row);\n }\n }\n }\n return rows;\n };\n rowModel.rows = accessRows(data);\n return rowModel;\n }, getMemoOptions(table.options, 'debugTable', 'getRowModel', () => table._autoResetPageIndex()));\n}\n\nfunction getExpandedRowModel() {\n return table => memo(() => [table.getState().expanded, table.getPreExpandedRowModel(), table.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {\n if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {\n return rowModel;\n }\n if (!paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel;\n }\n return expandRows(rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel'));\n}\nfunction expandRows(rowModel) {\n const expandedRows = [];\n const handleRow = row => {\n var _row$subRows;\n expandedRows.push(row);\n if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {\n row.subRows.forEach(handleRow);\n }\n };\n rowModel.rows.forEach(handleRow);\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById\n };\n}\n\nfunction getFacetedMinMaxValues() {\n return (table, columnId) => memo(() => {\n var _table$getColumn;\n return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];\n }, facetedRowModel => {\n if (!facetedRowModel) return undefined;\n const uniqueValues = facetedRowModel.flatRows.flatMap(flatRow => {\n var _flatRow$getUniqueVal;\n return (_flatRow$getUniqueVal = flatRow.getUniqueValues(columnId)) != null ? _flatRow$getUniqueVal : [];\n }).map(Number).filter(value => !Number.isNaN(value));\n if (!uniqueValues.length) return;\n let facetedMinValue = uniqueValues[0];\n let facetedMaxValue = uniqueValues[uniqueValues.length - 1];\n for (const value of uniqueValues) {\n if (value < facetedMinValue) facetedMinValue = value;else if (value > facetedMaxValue) facetedMaxValue = value;\n }\n return [facetedMinValue, facetedMaxValue];\n }, getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues'));\n}\n\nfunction filterRows(rows, filterRowImpl, table) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table);\n }\n return filterRowModelFromRoot(rows, filterRowImpl, table);\n}\nfunction filterRowModelFromLeafs(rowsToFilter, filterRow, table) {\n var _table$options$maxLea;\n const newFilteredFlatRows = [];\n const newFilteredRowsById = {};\n const maxDepth = (_table$options$maxLea = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea : 100;\n const recurseFilterRows = function (rowsToFilter, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n const rows = [];\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n var _row$subRows;\n let row = rowsToFilter[i];\n const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId);\n newRow.columnFilters = row.columnFilters;\n if ((_row$subRows = row.subRows) != null && _row$subRows.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1);\n row = newRow;\n if (filterRow(row) && !newRow.subRows.length) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n continue;\n }\n if (filterRow(row) || newRow.subRows.length) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n continue;\n }\n } else {\n row = newRow;\n if (filterRow(row)) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n }\n }\n }\n return rows;\n };\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById\n };\n}\nfunction filterRowModelFromRoot(rowsToFilter, filterRow, table) {\n var _table$options$maxLea2;\n const newFilteredFlatRows = [];\n const newFilteredRowsById = {};\n const maxDepth = (_table$options$maxLea2 = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea2 : 100;\n\n // Filters top level and nested rows\n const recurseFilterRows = function (rowsToFilter, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n // Filter from parents downward first\n\n const rows = [];\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i];\n const pass = filterRow(row);\n if (pass) {\n var _row$subRows2;\n if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length && depth < maxDepth) {\n const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId);\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1);\n row = newRow;\n }\n rows.push(row);\n newFilteredFlatRows.push(row);\n newFilteredRowsById[row.id] = row;\n }\n }\n return rows;\n };\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById\n };\n}\n\nfunction getFacetedRowModel() {\n return (table, columnId) => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter, table.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {\n if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {\n return preRowModel;\n }\n const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);\n const filterRowsImpl = row => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]] === false) {\n return false;\n }\n }\n return true;\n };\n return filterRows(preRowModel.rows, filterRowsImpl, table);\n }, getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel'));\n}\n\nfunction getFacetedUniqueValues() {\n return (table, columnId) => memo(() => {\n var _table$getColumn;\n return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];\n }, facetedRowModel => {\n if (!facetedRowModel) return new Map();\n let facetedUniqueValues = new Map();\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);\n for (let j = 0; j < values.length; j++) {\n const value = values[j];\n if (facetedUniqueValues.has(value)) {\n var _facetedUniqueValues$;\n facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);\n } else {\n facetedUniqueValues.set(value, 1);\n }\n }\n }\n return facetedUniqueValues;\n }, getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`));\n}\n\nfunction getFilteredRowModel() {\n return table => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {\n if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n rowModel.flatRows[i].columnFilters = {};\n rowModel.flatRows[i].columnFiltersMeta = {};\n }\n return rowModel;\n }\n const resolvedColumnFilters = [];\n const resolvedGlobalFilters = [];\n (columnFilters != null ? columnFilters : []).forEach(d => {\n var _filterFn$resolveFilt;\n const column = table.getColumn(d.id);\n if (!column) {\n return;\n }\n const filterFn = column.getFilterFn();\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);\n }\n return;\n }\n resolvedColumnFilters.push({\n id: d.id,\n filterFn,\n resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value\n });\n });\n const filterableIds = (columnFilters != null ? columnFilters : []).map(d => d.id);\n const globalFilterFn = table.getGlobalFilterFn();\n const globallyFilterableColumns = table.getAllLeafColumns().filter(column => column.getCanGlobalFilter());\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__');\n globallyFilterableColumns.forEach(column => {\n var _globalFilterFn$resol;\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter\n });\n });\n }\n let currentColumnFilter;\n let currentGlobalFilter;\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j];\n row.columnFilters = {};\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i];\n const id = currentColumnFilter.id;\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, filterMeta => {\n row.columnFiltersMeta[id] = filterMeta;\n });\n }\n }\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i];\n const id = currentGlobalFilter.id;\n // Tag the row with the first truthy global filter state\n if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, filterMeta => {\n row.columnFiltersMeta[id] = filterMeta;\n })) {\n row.columnFilters.__global__ = true;\n break;\n }\n }\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false;\n }\n }\n }\n const filterRowsImpl = row => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]] === false) {\n return false;\n }\n }\n return true;\n };\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl, table);\n }, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));\n}\n\nfunction getGroupedRowModel() {\n return table => memo(() => [table.getState().grouping, table.getPreGroupedRowModel()], (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n rowModel.rows.forEach(row => {\n row.depth = 0;\n row.parentId = undefined;\n });\n return rowModel;\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId => table.getColumn(columnId));\n const groupedFlatRows = [];\n const groupedRowsById = {};\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = function (rows, depth, parentId) {\n if (depth === void 0) {\n depth = 0;\n }\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth;\n groupedFlatRows.push(row);\n groupedRowsById[row.id] = row;\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);\n }\n return row;\n });\n }\n const columnId = existingGrouping[depth];\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId);\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map((_ref, index) => {\n let [groupingValue, groupedRows] = _ref;\n let id = `${columnId}:${groupingValue}`;\n id = parentId ? `${parentId}>${id}` : id;\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id);\n subRows.forEach(subRow => {\n subRow.parentId = id;\n });\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth ? flattenBy(groupedRows, row => row.subRows) : groupedRows;\n const row = createRow(table, id, leafRows[0].original, index, depth, undefined, parentId);\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: columnId => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId];\n }\n if (groupedRows[0]) {\n var _groupedRows$0$getVal;\n row._valuesCache[columnId] = (_groupedRows$0$getVal = groupedRows[0].getValue(columnId)) != null ? _groupedRows$0$getVal : undefined;\n }\n return row._valuesCache[columnId];\n }\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId];\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId);\n const aggregateFn = column == null ? void 0 : column.getAggregationFn();\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(columnId, leafRows, groupedRows);\n return row._groupingValuesCache[columnId];\n }\n }\n });\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n });\n return row;\n });\n return aggregatedGroupedRows;\n };\n const groupedRows = groupUpRecursively(rowModel.rows, 0);\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n });\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById\n };\n }, getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {\n table._queue(() => {\n table._autoResetExpanded();\n table._autoResetPageIndex();\n });\n }));\n}\nfunction groupBy(rows, columnId) {\n const groupMap = new Map();\n return rows.reduce((map, row) => {\n const resKey = `${row.getGroupingValue(columnId)}`;\n const previous = map.get(resKey);\n if (!previous) {\n map.set(resKey, [row]);\n } else {\n previous.push(row);\n }\n return map;\n }, groupMap);\n}\n\nfunction getPaginationRowModel(opts) {\n return table => memo(() => [table.getState().pagination, table.getPrePaginationRowModel(), table.options.paginateExpandedRows ? undefined : table.getState().expanded], (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel;\n }\n const {\n pageSize,\n pageIndex\n } = pagination;\n let {\n rows,\n flatRows,\n rowsById\n } = rowModel;\n const pageStart = pageSize * pageIndex;\n const pageEnd = pageStart + pageSize;\n rows = rows.slice(pageStart, pageEnd);\n let paginatedRowModel;\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows,\n flatRows,\n rowsById\n });\n } else {\n paginatedRowModel = {\n rows,\n flatRows,\n rowsById\n };\n }\n paginatedRowModel.flatRows = [];\n const handleRow = row => {\n paginatedRowModel.flatRows.push(row);\n if (row.subRows.length) {\n row.subRows.forEach(handleRow);\n }\n };\n paginatedRowModel.rows.forEach(handleRow);\n return paginatedRowModel;\n }, getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel'));\n}\n\nfunction getSortedRowModel() {\n return table => memo(() => [table.getState().sorting, table.getPreSortedRowModel()], (sorting, rowModel) => {\n if (!rowModel.rows.length || !(sorting != null && sorting.length)) {\n return rowModel;\n }\n const sortingState = table.getState().sorting;\n const sortedFlatRows = [];\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort => {\n var _table$getColumn;\n return (_table$getColumn = table.getColumn(sort.id)) == null ? void 0 : _table$getColumn.getCanSort();\n });\n const columnInfoById = {};\n availableSorting.forEach(sortEntry => {\n const column = table.getColumn(sortEntry.id);\n if (!column) return;\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortingFn: column.getSortingFn()\n };\n });\n const sortData = rows => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.map(row => ({\n ...row\n }));\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n var _sortEntry$desc;\n const sortEntry = availableSorting[i];\n const columnInfo = columnInfoById[sortEntry.id];\n const sortUndefined = columnInfo.sortUndefined;\n const isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;\n let sortInt = 0;\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id);\n const bValue = rowB.getValue(sortEntry.id);\n const aUndefined = aValue === undefined;\n const bUndefined = bValue === undefined;\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1;\n if (sortUndefined === 'last') return aUndefined ? 1 : -1;\n sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;\n }\n }\n if (sortInt === 0) {\n sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1;\n }\n if (columnInfo.invertSorting) {\n sortInt *= -1;\n }\n return sortInt;\n }\n }\n return rowA.index - rowB.index;\n });\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n var _row$subRows;\n sortedFlatRows.push(row);\n if ((_row$subRows = row.subRows) != null && _row$subRows.length) {\n row.subRows = sortData(row.subRows);\n }\n });\n return sortedData;\n };\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById\n };\n }, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));\n}\n\nexport { ColumnFaceting, ColumnFiltering, ColumnGrouping, ColumnOrdering, ColumnPinning, ColumnSizing, ColumnVisibility, GlobalFaceting, GlobalFiltering, Headers, RowExpanding, RowPagination, RowPinning, RowSelection, RowSorting, _getVisibleLeafColumns, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, createRow, createTable, defaultColumnSizing, expandRows, filterFns, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getMemoOptions, getPaginationRowModel, getSortedRowModel, isFunction, isNumberArray, isRowSelected, isSubRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, reSplitAlphaNumeric, selectRowsFn, shouldAutoRemoveFilter, sortingFns };\n//# sourceMappingURL=index.mjs.map\n"],"names":["functionalUpdate","updater","input","makeStateUpdater","key","instance","old","isFunction","d","isNumberArray","val","flattenBy","arr","getChildren","flat","recurse","subArr","item","children","memo","getDeps","fn","opts","deps","result","depArgs","depTime","newDeps","dep","index","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","str","num","getMemoOptions","tableOptions","debugLevel","onChange","_tableOptions$debugAl","createCell","table","row","column","columnId","getRenderValue","_cell$getValue","cell","feature","createColumn","columnDef","depth","parent","_ref","_resolvedColumnDef$id","resolvedColumnDef","accessorKey","id","accessorFn","originalRow","_result","_column$columns","orderColumns","_column$columns2","leafColumns","debug","createHeader","options","_options$id","header","leafHeaders","recurseHeader","h","Headers","allColumns","left","right","_left$map$filter","_right$map$filter","leftColumns","rightColumns","centerColumns","buildHeaderGroups","_left$map$filter2","orderedLeafColumns","_right$map$filter2","headerGroups","headerGroup","flatHeaders","_header$subHeaders","_header$subHeaders2","_header$subHeaders3","center","_left$0$headers","_left$","_center$0$headers","_center$","_right$0$headers","_right$","columnsToGroup","headerFamily","_headerGroups$0$heade","_headerGroups$","maxDepth","findMaxDepth","columns","createHeaderGroup","headersToGroup","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","isPlaceholder","bottomHeaders","recurseHeadersForSpans","headers","colSpan","rowSpan","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","createRow","original","rowIndex","subRows","parentId","_row$getValue","parentRows","currentRow","parentRow","allCells","acc","i","ColumnFaceting","includesString","filterValue","_filterValue$toString","search","testFalsey","includesStringSensitive","_row$getValue2","equalsString","_row$getValue3","arrIncludes","_row$getValue4","arrIncludesAll","_row$getValue5","arrIncludesSome","_row$getValue6","equals","weakEquals","inNumberRange","min","max","rowValue","unsafeMin","unsafeMax","parsedMin","parsedMax","temp","filterFns","ColumnFiltering","state","firstRow","value","_table$options$filter","_table$options$filter2","_column$columnDef$ena","_table$options$enable","_table$options$enable2","_table$getState$colum","_table$getState$colum2","_table$getState$colum3","filterFn","previousFilter","newFilter","shouldAutoRemoveFilter","_old$filter","newFilterObj","_old$map","_table","updateFn","_functionalUpdate","filter","defaultState","_table$initialState$c","_table$initialState","sum","_leafRows","childRows","next","nextValue","extent","mean","leafRows","count","median","values","mid","nums","a","b","unique","uniqueCount","_columnId","aggregationFns","ColumnGrouping","props","_toString","_props$getValue","_table$getState$group","_table$getState$group2","canGroup","_table$options$aggreg","_table$options$aggreg2","_table$initialState$g","_row$subRows","grouping","groupedColumnMode","nonGroupingColumns","col","g","ColumnOrdering","position","_getVisibleLeafColumns","_columns$","_columns","columnOrder","orderedColumns","columnOrderCopy","columnsCopy","targetColumnId","foundIndex","getDefaultColumnPinningState","ColumnPinning","columnIds","_old$left3","_old$right3","_old$left","_old$right","_old$left2","_old$right2","_d$columnDef$enablePi","leafColumnIds","isLeft","isRight","leftAndRight","_pinningState$positio","pinningState","_pinningState$left","_pinningState$right","safelyAccessDocument","_document","defaultColumnSizing","getDefaultColumnSizingInfoState","ColumnSizing","_column$columnDef$min","_column$columnDef$max","columnSize","_ref2","_","rest","_header$column$getSiz","prevSiblingHeader","_contextDocument","canResize","e","isTouchStartEvent","startSize","columnSizingStart","clientX","newColumnSizing","updateOffset","eventType","clientXPos","_old$startOffset","_old$startSize","deltaDirection","deltaOffset","deltaPercentage","_ref3","headerSize","onMove","onEnd","contextDocument","mouseEvents","touchEvents","_e$touches$","passiveIfSupported","passiveEventSupported","_table$initialState$c2","_table$getHeaderGroup","_table$getHeaderGroup2","_table$getLeftHeaderG","_table$getLeftHeaderG2","_table$getCenterHeade","_table$getCenterHeade2","_table$getRightHeader","_table$getRightHeader2","passiveSupported","supported","noop","ColumnVisibility","childColumns","c","cells","makeVisibleColumnsMethod","getColumns","_value","obj","_target","GlobalFaceting","GlobalFiltering","_table$getCoreRowMode","_table$options$getCol","globalFilterFn","RowExpanding","registered","queued","_table$options$autoRe","expanded","_table$initialState$e","splitId","_expanded","exists","oldExpanded","rowId","_table$options$getIsR","_table$options$getRow","isFullyExpanded","canExpand","defaultPageIndex","defaultPageSize","getDefaultPaginationState","RowPagination","safeUpdater","_table$initialState$p","pageIndex","maxPageIndex","_table$initialState$p2","_table$initialState$p3","_table$initialState2","pageSize","topRowIndex","_table$options$pageCo","newPageCount","pageCount","pageOptions","_table$options$pageCo2","_table$options$rowCou","getDefaultRowPinningState","RowPinning","includeLeafRows","includeParentRows","leafRowIds","parentRowIds","rowIds","_old$top3","_old$bottom3","_old$top","_old$bottom","_old$top2","_old$bottom2","enableRowPinning","enablePinning","top","bottom","isTop","isBottom","_ref4","_visiblePinnedRowIds$","visiblePinnedRowIds","_ref5","_table$initialState$r","_pinningState$top","_pinningState$bottom","visibleRows","pinnedRowIds","_table$options$keepPi","allRows","topPinnedRowIds","bottomPinnedRowIds","topAndBottom","RowSelection","rowSelection","preGroupedFlatRows","resolvedValue","mutateRowIsSelected","rowModel","selectRowsFn","isAllRowsSelected","paginationFlatRows","isAllPageRowsSelected","_table$getState$rowSe","totalSelected","isSelected","_opts$selectChildren","selectedRowIds","isRowSelected","isSubRowSelected","_table$options$enable3","canSelect","includeChildren","newSelectedFlatRows","newSelectedRowsById","recurseRows","rows","_row$subRows2","selection","_selection$row$id","_row$subRows3","allChildrenSelected","someSelected","subRow","subRowChildrenSelected","reSplitAlphaNumeric","alphanumeric","rowA","rowB","compareAlphanumeric","toString","alphanumericCaseSensitive","text","compareBasic","textCaseSensitive","datetime","basic","aStr","bStr","aa","bb","an","bn","combo","sortingFns","RowSorting","firstRows","isString","_table$options$sortin","_table$options$sortin2","desc","multi","nextSortingOrder","hasManualValue","existingSorting","existingIndex","newSorting","sortAction","nextDesc","_table$options$maxMul","_column$columnDef$sor","firstSortDirection","isSorted","_column$columnDef$ena2","_table$getState$sorti","columnSort","_table$getState$sorti2","_table$getState$sorti3","canSort","_table$initialState$s","builtInFeatures","createTable","_options$_features","_options$initialState","_features","defaultOptions","mergeOptions","initialState","_feature$getInitialSt","queuedTimeout","coreInstance","cb","error","newOptions","searchAll","defaultColumn","_defaultColumn","_props$renderValue$to","_props$renderValue","columnDefs","recurseColumns","groupingColumnDef","flatColumns","getCoreRowModel","data","accessRows","originalRows","_row$originalSubRows","getExpandedRowModel","paginateExpandedRows","expandRows","expandedRows","handleRow","filterRows","filterRowImpl","filterRowModelFromLeafs","filterRowModelFromRoot","rowsToFilter","filterRow","_table$options$maxLea","newFilteredFlatRows","newFilteredRowsById","recurseFilterRows","newRow","_table$options$maxLea2","getFilteredRowModel","columnFilters","globalFilter","resolvedColumnFilters","resolvedGlobalFilters","_filterFn$resolveFilt","filterableIds","globallyFilterableColumns","_globalFilterFn$resol","currentColumnFilter","currentGlobalFilter","j","filterMeta","filterRowsImpl","getPaginationRowModel","pagination","flatRows","rowsById","pageStart","pageEnd","paginatedRowModel","getSortedRowModel","sorting","sortingState","sortedFlatRows","availableSorting","sort","_table$getColumn","columnInfoById","sortEntry","sortData","sortedData","_sortEntry$desc","columnInfo","sortUndefined","isDesc","sortInt","aValue","bValue","aUndefined","bUndefined"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/@tanstack+table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.mjs"],"sourcesContent":["/**\n * table-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// createdAt: Date\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nfunction createColumnHelper() {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function' ? {\n ...column,\n accessorFn: accessor\n } : {\n ...column,\n accessorKey: accessor\n };\n },\n display: column => column,\n group: column => column\n };\n}\n\n// Is this type a tuple?\n\n// If this type is a tuple, what indices are allowed?\n\n///\n\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction noop() {\n //\n}\nfunction makeStateUpdater(key, instance) {\n return updater => {\n instance.setState(old => {\n return {\n ...old,\n [key]: functionalUpdate(updater, old[key])\n };\n });\n };\n}\nfunction isFunction(d) {\n return d instanceof Function;\n}\nfunction isNumberArray(d) {\n return Array.isArray(d) && d.every(val => typeof val === 'number');\n}\nfunction flattenBy(arr, getChildren) {\n const flat = [];\n const recurse = subArr => {\n subArr.forEach(item => {\n flat.push(item);\n const children = getChildren(item);\n if (children != null && children.length) {\n recurse(children);\n }\n });\n };\n recurse(arr);\n return flat;\n}\nfunction memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return depArgs => {\n let depTime;\n if (opts.key && opts.debug) depTime = Date.now();\n const newDeps = getDeps(depArgs);\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null || opts.onChange == null || opts.onChange(result);\n if (opts.key && opts.debug) {\n if (opts != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120))}deg 100% 31%);`, opts == null ? void 0 : opts.key);\n }\n }\n return result;\n };\n}\nfunction getMemoOptions(tableOptions, debugLevel, key, onChange) {\n return {\n debug: () => {\n var _tableOptions$debugAl;\n return (_tableOptions$debugAl = tableOptions == null ? void 0 : tableOptions.debugAll) != null ? _tableOptions$debugAl : tableOptions[debugLevel];\n },\n key: process.env.NODE_ENV === 'development' && key,\n onChange\n };\n}\n\nfunction createCell(table, row, column, columnId) {\n const getRenderValue = () => {\n var _cell$getValue;\n return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;\n };\n const cell = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(() => [table, column, row, cell], (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell,\n getValue: cell.getValue,\n renderValue: cell.renderValue\n }), getMemoOptions(table.options, 'debugCells', 'cell.getContext'))\n };\n table._features.forEach(feature => {\n feature.createCell == null || feature.createCell(cell, column, row, table);\n }, {});\n return cell;\n}\n\nfunction createColumn(table, columnDef, depth, parent) {\n var _ref, _resolvedColumnDef$id;\n const defaultColumn = table._getDefaultColumnDef();\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef\n };\n const accessorKey = resolvedColumnDef.accessorKey;\n let id = (_ref = (_resolvedColumnDef$id = resolvedColumnDef.id) != null ? _resolvedColumnDef$id : accessorKey ? typeof String.prototype.replaceAll === 'function' ? accessorKey.replaceAll('.', '_') : accessorKey.replace(/\\./g, '_') : undefined) != null ? _ref : typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined;\n let accessorFn;\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn;\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = originalRow => {\n let result = originalRow;\n for (const key of accessorKey.split('.')) {\n var _result;\n result = (_result = result) == null ? void 0 : _result[key];\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(`\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`);\n }\n }\n return result;\n };\n } else {\n accessorFn = originalRow => originalRow[resolvedColumnDef.accessorKey];\n }\n }\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`);\n }\n throw new Error();\n }\n let column = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent,\n depth,\n columnDef: resolvedColumnDef,\n columns: [],\n getFlatColumns: memo(() => [true], () => {\n var _column$columns;\n return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];\n }, getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')),\n getLeafColumns: memo(() => [table._getOrderColumnsFn()], orderColumns => {\n var _column$columns2;\n if ((_column$columns2 = column.columns) != null && _column$columns2.length) {\n let leafColumns = column.columns.flatMap(column => column.getLeafColumns());\n return orderColumns(leafColumns);\n }\n return [column];\n }, getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns'))\n };\n for (const feature of table._features) {\n feature.createColumn == null || feature.createColumn(column, table);\n }\n\n // Yes, we have to convert table to unknown, because we know more than the compiler here.\n return column;\n}\n\nconst debug = 'debugHeaders';\n//\n\nfunction createHeader(table, column, options) {\n var _options$id;\n const id = (_options$id = options.id) != null ? _options$id : column.id;\n let header = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null,\n getLeafHeaders: () => {\n const leafHeaders = [];\n const recurseHeader = h => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader);\n }\n leafHeaders.push(h);\n };\n recurseHeader(header);\n return leafHeaders;\n },\n getContext: () => ({\n table,\n header: header,\n column\n })\n };\n table._features.forEach(feature => {\n feature.createHeader == null || feature.createHeader(header, table);\n });\n return header;\n}\nconst Headers = {\n createTable: table => {\n // Header Groups\n\n table.getHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {\n var _left$map$filter, _right$map$filter;\n const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];\n const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];\n const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));\n const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);\n return headerGroups;\n }, getMemoOptions(table.options, debug, 'getHeaderGroups'));\n table.getCenterHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));\n return buildHeaderGroups(allColumns, leafColumns, table, 'center');\n }, getMemoOptions(table.options, debug, 'getCenterHeaderGroups'));\n table.getLeftHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {\n var _left$map$filter2;\n const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');\n }, getMemoOptions(table.options, debug, 'getLeftHeaderGroups'));\n table.getRightHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {\n var _right$map$filter2;\n const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');\n }, getMemoOptions(table.options, debug, 'getRightHeaderGroups'));\n\n // Footer Groups\n\n table.getFooterGroups = memo(() => [table.getHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getFooterGroups'));\n table.getLeftFooterGroups = memo(() => [table.getLeftHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getLeftFooterGroups'));\n table.getCenterFooterGroups = memo(() => [table.getCenterHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getCenterFooterGroups'));\n table.getRightFooterGroups = memo(() => [table.getRightHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getRightFooterGroups'));\n\n // Flat Headers\n\n table.getFlatHeaders = memo(() => [table.getHeaderGroups()], headerGroups => {\n return headerGroups.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getFlatHeaders'));\n table.getLeftFlatHeaders = memo(() => [table.getLeftHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getLeftFlatHeaders'));\n table.getCenterFlatHeaders = memo(() => [table.getCenterHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getCenterFlatHeaders'));\n table.getRightFlatHeaders = memo(() => [table.getRightHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getRightFlatHeaders'));\n\n // Leaf Headers\n\n table.getCenterLeafHeaders = memo(() => [table.getCenterFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders;\n return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);\n });\n }, getMemoOptions(table.options, debug, 'getCenterLeafHeaders'));\n table.getLeftLeafHeaders = memo(() => [table.getLeftFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders2;\n return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);\n });\n }, getMemoOptions(table.options, debug, 'getLeftLeafHeaders'));\n table.getRightLeafHeaders = memo(() => [table.getRightFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders3;\n return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);\n });\n }, getMemoOptions(table.options, debug, 'getRightLeafHeaders'));\n table.getLeafHeaders = memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {\n var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;\n return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {\n return header.getLeafHeaders();\n }).flat();\n }, getMemoOptions(table.options, debug, 'getLeafHeaders'));\n }\n};\nfunction buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {\n var _headerGroups$0$heade, _headerGroups$;\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0;\n const findMaxDepth = function (columns, depth) {\n if (depth === void 0) {\n depth = 1;\n }\n maxDepth = Math.max(maxDepth, depth);\n columns.filter(column => column.getIsVisible()).forEach(column => {\n var _column$columns;\n if ((_column$columns = column.columns) != null && _column$columns.length) {\n findMaxDepth(column.columns, depth + 1);\n }\n }, 0);\n };\n findMaxDepth(allColumns);\n let headerGroups = [];\n const createHeaderGroup = (headersToGroup, depth) => {\n // The header group we are creating\n const headerGroup = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: []\n };\n\n // The parent columns we're going to scan next\n const pendingParentHeaders = [];\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;\n let column;\n let isPlaceholder = false;\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent;\n } else {\n // The parent header is repeated\n column = headerToGroup.column;\n isPlaceholder = true;\n }\n if (latestPendingParentHeader && (latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup);\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder ? `${pendingParentHeaders.filter(d => d.column === column).length}` : undefined,\n depth,\n index: pendingParentHeaders.length\n });\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup);\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header);\n }\n headerGroup.headers.push(headerToGroup);\n headerToGroup.headerGroup = headerGroup;\n });\n headerGroups.push(headerGroup);\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1);\n }\n };\n const bottomHeaders = columnsToGroup.map((column, index) => createHeader(table, column, {\n depth: maxDepth,\n index\n }));\n createHeaderGroup(bottomHeaders, maxDepth - 1);\n headerGroups.reverse();\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = headers => {\n const filteredHeaders = headers.filter(header => header.column.getIsVisible());\n return filteredHeaders.map(header => {\n let colSpan = 0;\n let rowSpan = 0;\n let childRowSpans = [0];\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = [];\n recurseHeadersForSpans(header.subHeaders).forEach(_ref => {\n let {\n colSpan: childColSpan,\n rowSpan: childRowSpan\n } = _ref;\n colSpan += childColSpan;\n childRowSpans.push(childRowSpan);\n });\n } else {\n colSpan = 1;\n }\n const minChildRowSpan = Math.min(...childRowSpans);\n rowSpan = rowSpan + minChildRowSpan;\n header.colSpan = colSpan;\n header.rowSpan = rowSpan;\n return {\n colSpan,\n rowSpan\n };\n });\n };\n recurseHeadersForSpans((_headerGroups$0$heade = (_headerGroups$ = headerGroups[0]) == null ? void 0 : _headerGroups$.headers) != null ? _headerGroups$0$heade : []);\n return headerGroups;\n}\n\nconst createRow = (table, id, original, rowIndex, depth, subRows, parentId) => {\n let row = {\n id,\n index: rowIndex,\n original,\n depth,\n parentId,\n _valuesCache: {},\n _uniqueValuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.accessorFn)) {\n return undefined;\n }\n row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);\n return row._valuesCache[columnId];\n },\n getUniqueValues: columnId => {\n if (row._uniqueValuesCache.hasOwnProperty(columnId)) {\n return row._uniqueValuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.accessorFn)) {\n return undefined;\n }\n if (!column.columnDef.getUniqueValues) {\n row._uniqueValuesCache[columnId] = [row.getValue(columnId)];\n return row._uniqueValuesCache[columnId];\n }\n row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);\n return row._uniqueValuesCache[columnId];\n },\n renderValue: columnId => {\n var _row$getValue;\n return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;\n },\n subRows: subRows != null ? subRows : [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getParentRow: () => row.parentId ? table.getRow(row.parentId, true) : undefined,\n getParentRows: () => {\n let parentRows = [];\n let currentRow = row;\n while (true) {\n const parentRow = currentRow.getParentRow();\n if (!parentRow) break;\n parentRows.push(parentRow);\n currentRow = parentRow;\n }\n return parentRows.reverse();\n },\n getAllCells: memo(() => [table.getAllLeafColumns()], leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row, column, column.id);\n });\n }, getMemoOptions(table.options, 'debugRows', 'getAllCells')),\n _getAllCellsByColumnId: memo(() => [row.getAllCells()], allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell;\n return acc;\n }, {});\n }, getMemoOptions(table.options, 'debugRows', 'getAllCellsByColumnId'))\n };\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i];\n feature == null || feature.createRow == null || feature.createRow(row, table);\n }\n return row;\n};\n\n//\n\nconst ColumnFaceting = {\n createColumn: (column, table) => {\n column._getFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, column.id);\n column.getFacetedRowModel = () => {\n if (!column._getFacetedRowModel) {\n return table.getPreFilteredRowModel();\n }\n return column._getFacetedRowModel();\n };\n column._getFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, column.id);\n column.getFacetedUniqueValues = () => {\n if (!column._getFacetedUniqueValues) {\n return new Map();\n }\n return column._getFacetedUniqueValues();\n };\n column._getFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, column.id);\n column.getFacetedMinMaxValues = () => {\n if (!column._getFacetedMinMaxValues) {\n return undefined;\n }\n return column._getFacetedMinMaxValues();\n };\n }\n};\n\nconst includesString = (row, columnId, filterValue) => {\n var _filterValue$toString, _row$getValue;\n const search = filterValue == null || (_filterValue$toString = filterValue.toString()) == null ? void 0 : _filterValue$toString.toLowerCase();\n return Boolean((_row$getValue = row.getValue(columnId)) == null || (_row$getValue = _row$getValue.toString()) == null || (_row$getValue = _row$getValue.toLowerCase()) == null ? void 0 : _row$getValue.includes(search));\n};\nincludesString.autoRemove = val => testFalsey(val);\nconst includesStringSensitive = (row, columnId, filterValue) => {\n var _row$getValue2;\n return Boolean((_row$getValue2 = row.getValue(columnId)) == null || (_row$getValue2 = _row$getValue2.toString()) == null ? void 0 : _row$getValue2.includes(filterValue));\n};\nincludesStringSensitive.autoRemove = val => testFalsey(val);\nconst equalsString = (row, columnId, filterValue) => {\n var _row$getValue3;\n return ((_row$getValue3 = row.getValue(columnId)) == null || (_row$getValue3 = _row$getValue3.toString()) == null ? void 0 : _row$getValue3.toLowerCase()) === (filterValue == null ? void 0 : filterValue.toLowerCase());\n};\nequalsString.autoRemove = val => testFalsey(val);\nconst arrIncludes = (row, columnId, filterValue) => {\n var _row$getValue4;\n return (_row$getValue4 = row.getValue(columnId)) == null ? void 0 : _row$getValue4.includes(filterValue);\n};\narrIncludes.autoRemove = val => testFalsey(val);\nconst arrIncludesAll = (row, columnId, filterValue) => {\n return !filterValue.some(val => {\n var _row$getValue5;\n return !((_row$getValue5 = row.getValue(columnId)) != null && _row$getValue5.includes(val));\n });\n};\narrIncludesAll.autoRemove = val => testFalsey(val) || !(val != null && val.length);\nconst arrIncludesSome = (row, columnId, filterValue) => {\n return filterValue.some(val => {\n var _row$getValue6;\n return (_row$getValue6 = row.getValue(columnId)) == null ? void 0 : _row$getValue6.includes(val);\n });\n};\narrIncludesSome.autoRemove = val => testFalsey(val) || !(val != null && val.length);\nconst equals = (row, columnId, filterValue) => {\n return row.getValue(columnId) === filterValue;\n};\nequals.autoRemove = val => testFalsey(val);\nconst weakEquals = (row, columnId, filterValue) => {\n return row.getValue(columnId) == filterValue;\n};\nweakEquals.autoRemove = val => testFalsey(val);\nconst inNumberRange = (row, columnId, filterValue) => {\n let [min, max] = filterValue;\n const rowValue = row.getValue(columnId);\n return rowValue >= min && rowValue <= max;\n};\ninNumberRange.resolveFilterValue = val => {\n let [unsafeMin, unsafeMax] = val;\n let parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;\n let parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;\n let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;\n if (min > max) {\n const temp = min;\n min = max;\n max = temp;\n }\n return [min, max];\n};\ninNumberRange.autoRemove = val => testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);\n\n// Export\n\nconst filterFns = {\n includesString,\n includesStringSensitive,\n equalsString,\n arrIncludes,\n arrIncludesAll,\n arrIncludesSome,\n equals,\n weakEquals,\n inNumberRange\n};\n// Utils\n\nfunction testFalsey(val) {\n return val === undefined || val === null || val === '';\n}\n\n//\n\nconst ColumnFiltering = {\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto'\n };\n },\n getInitialState: state => {\n return {\n columnFilters: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100\n };\n },\n createColumn: (column, table) => {\n column.getAutoFilterFn = () => {\n const firstRow = table.getCoreRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'string') {\n return filterFns.includesString;\n }\n if (typeof value === 'number') {\n return filterFns.inNumberRange;\n }\n if (typeof value === 'boolean') {\n return filterFns.equals;\n }\n if (value !== null && typeof value === 'object') {\n return filterFns.equals;\n }\n if (Array.isArray(value)) {\n return filterFns.arrIncludes;\n }\n return filterFns.weakEquals;\n };\n column.getFilterFn = () => {\n var _table$options$filter, _table$options$filter2;\n return isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : // @ts-ignore\n (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[column.columnDef.filterFn]) != null ? _table$options$filter : filterFns[column.columnDef.filterFn];\n };\n column.getCanFilter = () => {\n var _column$columnDef$ena, _table$options$enable, _table$options$enable2;\n return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnFilters) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && !!column.accessorFn;\n };\n column.getIsFiltered = () => column.getFilterIndex() > -1;\n column.getFilterValue = () => {\n var _table$getState$colum;\n return (_table$getState$colum = table.getState().columnFilters) == null || (_table$getState$colum = _table$getState$colum.find(d => d.id === column.id)) == null ? void 0 : _table$getState$colum.value;\n };\n column.getFilterIndex = () => {\n var _table$getState$colum2, _table$getState$colum3;\n return (_table$getState$colum2 = (_table$getState$colum3 = table.getState().columnFilters) == null ? void 0 : _table$getState$colum3.findIndex(d => d.id === column.id)) != null ? _table$getState$colum2 : -1;\n };\n column.setFilterValue = value => {\n table.setColumnFilters(old => {\n const filterFn = column.getFilterFn();\n const previousFilter = old == null ? void 0 : old.find(d => d.id === column.id);\n const newFilter = functionalUpdate(value, previousFilter ? previousFilter.value : undefined);\n\n //\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n var _old$filter;\n return (_old$filter = old == null ? void 0 : old.filter(d => d.id !== column.id)) != null ? _old$filter : [];\n }\n const newFilterObj = {\n id: column.id,\n value: newFilter\n };\n if (previousFilter) {\n var _old$map;\n return (_old$map = old == null ? void 0 : old.map(d => {\n if (d.id === column.id) {\n return newFilterObj;\n }\n return d;\n })) != null ? _old$map : [];\n }\n if (old != null && old.length) {\n return [...old, newFilterObj];\n }\n return [newFilterObj];\n });\n };\n },\n createRow: (row, _table) => {\n row.columnFilters = {};\n row.columnFiltersMeta = {};\n },\n createTable: table => {\n table.setColumnFilters = updater => {\n const leafColumns = table.getAllLeafColumns();\n const updateFn = old => {\n var _functionalUpdate;\n return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id);\n if (column) {\n const filterFn = column.getFilterFn();\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false;\n }\n }\n return true;\n });\n };\n table.options.onColumnFiltersChange == null || table.options.onColumnFiltersChange(updateFn);\n };\n table.resetColumnFilters = defaultState => {\n var _table$initialState$c, _table$initialState;\n table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []);\n };\n table.getPreFilteredRowModel = () => table.getCoreRowModel();\n table.getFilteredRowModel = () => {\n if (!table._getFilteredRowModel && table.options.getFilteredRowModel) {\n table._getFilteredRowModel = table.options.getFilteredRowModel(table);\n }\n if (table.options.manualFiltering || !table._getFilteredRowModel) {\n return table.getPreFilteredRowModel();\n }\n return table._getFilteredRowModel();\n };\n }\n};\nfunction shouldAutoRemoveFilter(filterFn, value, column) {\n return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;\n}\n\nconst sum = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId);\n return sum + (typeof nextValue === 'number' ? nextValue : 0);\n }, 0);\n};\nconst min = (columnId, _leafRows, childRows) => {\n let min;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null && (min > value || min === undefined && value >= value)) {\n min = value;\n }\n });\n return min;\n};\nconst max = (columnId, _leafRows, childRows) => {\n let max;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n });\n return max;\n};\nconst extent = (columnId, _leafRows, childRows) => {\n let min;\n let max;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n });\n return [min, max];\n};\nconst mean = (columnId, leafRows) => {\n let count = 0;\n let sum = 0;\n leafRows.forEach(row => {\n let value = row.getValue(columnId);\n if (value != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n });\n if (count) return sum / count;\n return;\n};\nconst median = (columnId, leafRows) => {\n if (!leafRows.length) {\n return;\n }\n const values = leafRows.map(row => row.getValue(columnId));\n if (!isNumberArray(values)) {\n return;\n }\n if (values.length === 1) {\n return values[0];\n }\n const mid = Math.floor(values.length / 2);\n const nums = values.sort((a, b) => a - b);\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;\n};\nconst unique = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());\n};\nconst uniqueCount = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size;\n};\nconst count = (_columnId, leafRows) => {\n return leafRows.length;\n};\nconst aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count\n};\n\n//\n\nconst ColumnGrouping = {\n getDefaultColumnDef: () => {\n return {\n aggregatedCell: props => {\n var _toString, _props$getValue;\n return (_toString = (_props$getValue = props.getValue()) == null || _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _toString : null;\n },\n aggregationFn: 'auto'\n };\n },\n getInitialState: state => {\n return {\n grouping: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onGroupingChange: makeStateUpdater('grouping', table),\n groupedColumnMode: 'reorder'\n };\n },\n createColumn: (column, table) => {\n column.toggleGrouping = () => {\n table.setGrouping(old => {\n // Find any existing grouping for this column\n if (old != null && old.includes(column.id)) {\n return old.filter(d => d !== column.id);\n }\n return [...(old != null ? old : []), column.id];\n });\n };\n column.getCanGroup = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGrouping) != null ? _table$options$enable : true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue);\n };\n column.getIsGrouped = () => {\n var _table$getState$group;\n return (_table$getState$group = table.getState().grouping) == null ? void 0 : _table$getState$group.includes(column.id);\n };\n column.getGroupedIndex = () => {\n var _table$getState$group2;\n return (_table$getState$group2 = table.getState().grouping) == null ? void 0 : _table$getState$group2.indexOf(column.id);\n };\n column.getToggleGroupingHandler = () => {\n const canGroup = column.getCanGroup();\n return () => {\n if (!canGroup) return;\n column.toggleGrouping();\n };\n };\n column.getAutoAggregationFn = () => {\n const firstRow = table.getCoreRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'number') {\n return aggregationFns.sum;\n }\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent;\n }\n };\n column.getAggregationFn = () => {\n var _table$options$aggreg, _table$options$aggreg2;\n if (!column) {\n throw new Error();\n }\n return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : (_table$options$aggreg = (_table$options$aggreg2 = table.options.aggregationFns) == null ? void 0 : _table$options$aggreg2[column.columnDef.aggregationFn]) != null ? _table$options$aggreg : aggregationFns[column.columnDef.aggregationFn];\n };\n },\n createTable: table => {\n table.setGrouping = updater => table.options.onGroupingChange == null ? void 0 : table.options.onGroupingChange(updater);\n table.resetGrouping = defaultState => {\n var _table$initialState$g, _table$initialState;\n table.setGrouping(defaultState ? [] : (_table$initialState$g = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.grouping) != null ? _table$initialState$g : []);\n };\n table.getPreGroupedRowModel = () => table.getFilteredRowModel();\n table.getGroupedRowModel = () => {\n if (!table._getGroupedRowModel && table.options.getGroupedRowModel) {\n table._getGroupedRowModel = table.options.getGroupedRowModel(table);\n }\n if (table.options.manualGrouping || !table._getGroupedRowModel) {\n return table.getPreGroupedRowModel();\n }\n return table._getGroupedRowModel();\n };\n },\n createRow: (row, table) => {\n row.getIsGrouped = () => !!row.groupingColumnId;\n row.getGroupingValue = columnId => {\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.columnDef.getGroupingValue)) {\n return row.getValue(columnId);\n }\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original);\n return row._groupingValuesCache[columnId];\n };\n row._groupingValuesCache = {};\n },\n createCell: (cell, column, row, table) => {\n cell.getIsGrouped = () => column.getIsGrouped() && column.id === row.groupingColumnId;\n cell.getIsPlaceholder = () => !cell.getIsGrouped() && column.getIsGrouped();\n cell.getIsAggregated = () => {\n var _row$subRows;\n return !cell.getIsGrouped() && !cell.getIsPlaceholder() && !!((_row$subRows = row.subRows) != null && _row$subRows.length);\n };\n }\n};\nfunction orderColumns(leafColumns, grouping, groupedColumnMode) {\n if (!(grouping != null && grouping.length) || !groupedColumnMode) {\n return leafColumns;\n }\n const nonGroupingColumns = leafColumns.filter(col => !grouping.includes(col.id));\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns;\n }\n const groupingColumns = grouping.map(g => leafColumns.find(col => col.id === g)).filter(Boolean);\n return [...groupingColumns, ...nonGroupingColumns];\n}\n\n//\n\nconst ColumnOrdering = {\n getInitialState: state => {\n return {\n columnOrder: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table)\n };\n },\n createColumn: (column, table) => {\n column.getIndex = memo(position => [_getVisibleLeafColumns(table, position)], columns => columns.findIndex(d => d.id === column.id), getMemoOptions(table.options, 'debugColumns', 'getIndex'));\n column.getIsFirstColumn = position => {\n var _columns$;\n const columns = _getVisibleLeafColumns(table, position);\n return ((_columns$ = columns[0]) == null ? void 0 : _columns$.id) === column.id;\n };\n column.getIsLastColumn = position => {\n var _columns;\n const columns = _getVisibleLeafColumns(table, position);\n return ((_columns = columns[columns.length - 1]) == null ? void 0 : _columns.id) === column.id;\n };\n },\n createTable: table => {\n table.setColumnOrder = updater => table.options.onColumnOrderChange == null ? void 0 : table.options.onColumnOrderChange(updater);\n table.resetColumnOrder = defaultState => {\n var _table$initialState$c;\n table.setColumnOrder(defaultState ? [] : (_table$initialState$c = table.initialState.columnOrder) != null ? _table$initialState$c : []);\n };\n table._getOrderColumnsFn = memo(() => [table.getState().columnOrder, table.getState().grouping, table.options.groupedColumnMode], (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns = [];\n\n // If there is no order, return the normal columns\n if (!(columnOrder != null && columnOrder.length)) {\n orderedColumns = columns;\n } else {\n const columnOrderCopy = [...columnOrder];\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns];\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift();\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId);\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy];\n }\n return orderColumns(orderedColumns, grouping, groupedColumnMode);\n }, getMemoOptions(table.options, 'debugTable', '_getOrderColumnsFn'));\n }\n};\n\n//\n\nconst getDefaultColumnPinningState = () => ({\n left: [],\n right: []\n});\nconst ColumnPinning = {\n getInitialState: state => {\n return {\n columnPinning: getDefaultColumnPinningState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table)\n };\n },\n createColumn: (column, table) => {\n column.pin = position => {\n const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);\n table.setColumnPinning(old => {\n var _old$left3, _old$right3;\n if (position === 'right') {\n var _old$left, _old$right;\n return {\n left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(d => !(columnIds != null && columnIds.includes(d))),\n right: [...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds]\n };\n }\n if (position === 'left') {\n var _old$left2, _old$right2;\n return {\n left: [...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds],\n right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(d => !(columnIds != null && columnIds.includes(d)))\n };\n }\n return {\n left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(d => !(columnIds != null && columnIds.includes(d))),\n right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(d => !(columnIds != null && columnIds.includes(d)))\n };\n });\n };\n column.getCanPin = () => {\n const leafColumns = column.getLeafColumns();\n return leafColumns.some(d => {\n var _d$columnDef$enablePi, _ref, _table$options$enable;\n return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_ref = (_table$options$enable = table.options.enableColumnPinning) != null ? _table$options$enable : table.options.enablePinning) != null ? _ref : true);\n });\n };\n column.getIsPinned = () => {\n const leafColumnIds = column.getLeafColumns().map(d => d.id);\n const {\n left,\n right\n } = table.getState().columnPinning;\n const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));\n const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));\n return isLeft ? 'left' : isRight ? 'right' : false;\n };\n column.getPinnedIndex = () => {\n var _table$getState$colum, _table$getState$colum2;\n const position = column.getIsPinned();\n return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null || (_table$getState$colum2 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum2.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;\n };\n },\n createRow: (row, table) => {\n row.getCenterVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {\n const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];\n return allCells.filter(d => !leftAndRight.includes(d.column.id));\n }, getMemoOptions(table.options, 'debugRows', 'getCenterVisibleCells'));\n row.getLeftVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left], (allCells, left) => {\n const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({\n ...d,\n position: 'left'\n }));\n return cells;\n }, getMemoOptions(table.options, 'debugRows', 'getLeftVisibleCells'));\n row.getRightVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {\n const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({\n ...d,\n position: 'right'\n }));\n return cells;\n }, getMemoOptions(table.options, 'debugRows', 'getRightVisibleCells'));\n },\n createTable: table => {\n table.setColumnPinning = updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater);\n table.resetColumnPinning = defaultState => {\n var _table$initialState$c, _table$initialState;\n return table.setColumnPinning(defaultState ? getDefaultColumnPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultColumnPinningState());\n };\n table.getIsSomeColumnsPinned = position => {\n var _pinningState$positio;\n const pinningState = table.getState().columnPinning;\n if (!position) {\n var _pinningState$left, _pinningState$right;\n return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));\n }\n return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);\n };\n table.getLeftLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {\n return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);\n }, getMemoOptions(table.options, 'debugColumns', 'getLeftLeafColumns'));\n table.getRightLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {\n return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);\n }, getMemoOptions(table.options, 'debugColumns', 'getRightLeafColumns'));\n table.getCenterLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {\n const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];\n return allColumns.filter(d => !leftAndRight.includes(d.id));\n }, getMemoOptions(table.options, 'debugColumns', 'getCenterLeafColumns'));\n }\n};\n\nfunction safelyAccessDocument(_document) {\n return _document || (typeof document !== 'undefined' ? document : null);\n}\n\n//\n\n//\n\nconst defaultColumnSizing = {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER\n};\nconst getDefaultColumnSizingInfoState = () => ({\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: []\n});\nconst ColumnSizing = {\n getDefaultColumnDef: () => {\n return defaultColumnSizing;\n },\n getInitialState: state => {\n return {\n columnSizing: {},\n columnSizingInfo: getDefaultColumnSizingInfoState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n columnResizeMode: 'onEnd',\n columnResizeDirection: 'ltr',\n onColumnSizingChange: makeStateUpdater('columnSizing', table),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', table)\n };\n },\n createColumn: (column, table) => {\n column.getSize = () => {\n var _column$columnDef$min, _ref, _column$columnDef$max;\n const columnSize = table.getState().columnSizing[column.id];\n return Math.min(Math.max((_column$columnDef$min = column.columnDef.minSize) != null ? _column$columnDef$min : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.columnDef.size) != null ? _ref : defaultColumnSizing.size), (_column$columnDef$max = column.columnDef.maxSize) != null ? _column$columnDef$max : defaultColumnSizing.maxSize);\n };\n column.getStart = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(0, column.getIndex(position)).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getStart'));\n column.getAfter = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(column.getIndex(position) + 1).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getAfter'));\n column.resetSize = () => {\n table.setColumnSizing(_ref2 => {\n let {\n [column.id]: _,\n ...rest\n } = _ref2;\n return rest;\n });\n };\n column.getCanResize = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableResizing) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnResizing) != null ? _table$options$enable : true);\n };\n column.getIsResizing = () => {\n return table.getState().columnSizingInfo.isResizingColumn === column.id;\n };\n },\n createHeader: (header, table) => {\n header.getSize = () => {\n let sum = 0;\n const recurse = header => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse);\n } else {\n var _header$column$getSiz;\n sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;\n }\n };\n recurse(header);\n return sum;\n };\n header.getStart = () => {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup.headers[header.index - 1];\n return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();\n }\n return 0;\n };\n header.getResizeHandler = _contextDocument => {\n const column = table.getColumn(header.column.id);\n const canResize = column == null ? void 0 : column.getCanResize();\n return e => {\n if (!column || !canResize) {\n return;\n }\n e.persist == null || e.persist();\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return;\n }\n }\n const startSize = header.getSize();\n const columnSizingStart = header ? header.getLeafHeaders().map(d => [d.column.id, d.column.getSize()]) : [[column.id, column.getSize()]];\n const clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;\n const newColumnSizing = {};\n const updateOffset = (eventType, clientXPos) => {\n if (typeof clientXPos !== 'number') {\n return;\n }\n table.setColumnSizingInfo(old => {\n var _old$startOffset, _old$startSize;\n const deltaDirection = table.options.columnResizeDirection === 'rtl' ? -1 : 1;\n const deltaOffset = (clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0)) * deltaDirection;\n const deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);\n old.columnSizingStart.forEach(_ref3 => {\n let [columnId, headerSize] = _ref3;\n newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100;\n });\n return {\n ...old,\n deltaOffset,\n deltaPercentage\n };\n });\n if (table.options.columnResizeMode === 'onChange' || eventType === 'end') {\n table.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing\n }));\n }\n };\n const onMove = clientXPos => updateOffset('move', clientXPos);\n const onEnd = clientXPos => {\n updateOffset('end', clientXPos);\n table.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: []\n }));\n };\n const contextDocument = safelyAccessDocument(_contextDocument);\n const mouseEvents = {\n moveHandler: e => onMove(e.clientX),\n upHandler: e => {\n contextDocument == null || contextDocument.removeEventListener('mousemove', mouseEvents.moveHandler);\n contextDocument == null || contextDocument.removeEventListener('mouseup', mouseEvents.upHandler);\n onEnd(e.clientX);\n }\n };\n const touchEvents = {\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n onMove(e.touches[0].clientX);\n return false;\n },\n upHandler: e => {\n var _e$touches$;\n contextDocument == null || contextDocument.removeEventListener('touchmove', touchEvents.moveHandler);\n contextDocument == null || contextDocument.removeEventListener('touchend', touchEvents.upHandler);\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n onEnd((_e$touches$ = e.touches[0]) == null ? void 0 : _e$touches$.clientX);\n }\n };\n const passiveIfSupported = passiveEventSupported() ? {\n passive: false\n } : false;\n if (isTouchStartEvent(e)) {\n contextDocument == null || contextDocument.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);\n contextDocument == null || contextDocument.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);\n } else {\n contextDocument == null || contextDocument.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);\n contextDocument == null || contextDocument.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);\n }\n table.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id\n }));\n };\n };\n },\n createTable: table => {\n table.setColumnSizing = updater => table.options.onColumnSizingChange == null ? void 0 : table.options.onColumnSizingChange(updater);\n table.setColumnSizingInfo = updater => table.options.onColumnSizingInfoChange == null ? void 0 : table.options.onColumnSizingInfoChange(updater);\n table.resetColumnSizing = defaultState => {\n var _table$initialState$c;\n table.setColumnSizing(defaultState ? {} : (_table$initialState$c = table.initialState.columnSizing) != null ? _table$initialState$c : {});\n };\n table.resetHeaderSizeInfo = defaultState => {\n var _table$initialState$c2;\n table.setColumnSizingInfo(defaultState ? getDefaultColumnSizingInfoState() : (_table$initialState$c2 = table.initialState.columnSizingInfo) != null ? _table$initialState$c2 : getDefaultColumnSizingInfoState());\n };\n table.getTotalSize = () => {\n var _table$getHeaderGroup, _table$getHeaderGroup2;\n return (_table$getHeaderGroup = (_table$getHeaderGroup2 = table.getHeaderGroups()[0]) == null ? void 0 : _table$getHeaderGroup2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getHeaderGroup : 0;\n };\n table.getLeftTotalSize = () => {\n var _table$getLeftHeaderG, _table$getLeftHeaderG2;\n return (_table$getLeftHeaderG = (_table$getLeftHeaderG2 = table.getLeftHeaderGroups()[0]) == null ? void 0 : _table$getLeftHeaderG2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getLeftHeaderG : 0;\n };\n table.getCenterTotalSize = () => {\n var _table$getCenterHeade, _table$getCenterHeade2;\n return (_table$getCenterHeade = (_table$getCenterHeade2 = table.getCenterHeaderGroups()[0]) == null ? void 0 : _table$getCenterHeade2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getCenterHeade : 0;\n };\n table.getRightTotalSize = () => {\n var _table$getRightHeader, _table$getRightHeader2;\n return (_table$getRightHeader = (_table$getRightHeader2 = table.getRightHeaderGroups()[0]) == null ? void 0 : _table$getRightHeader2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getRightHeader : 0;\n };\n }\n};\nlet passiveSupported = null;\nfunction passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported;\n let supported = false;\n try {\n const options = {\n get passive() {\n supported = true;\n return false;\n }\n };\n const noop = () => {};\n window.addEventListener('test', noop, options);\n window.removeEventListener('test', noop);\n } catch (err) {\n supported = false;\n }\n passiveSupported = supported;\n return passiveSupported;\n}\nfunction isTouchStartEvent(e) {\n return e.type === 'touchstart';\n}\n\n//\n\nconst ColumnVisibility = {\n getInitialState: state => {\n return {\n columnVisibility: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', table)\n };\n },\n createColumn: (column, table) => {\n column.toggleVisibility = value => {\n if (column.getCanHide()) {\n table.setColumnVisibility(old => ({\n ...old,\n [column.id]: value != null ? value : !column.getIsVisible()\n }));\n }\n };\n column.getIsVisible = () => {\n var _ref, _table$getState$colum;\n const childColumns = column.columns;\n return (_ref = childColumns.length ? childColumns.some(c => c.getIsVisible()) : (_table$getState$colum = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum[column.id]) != null ? _ref : true;\n };\n column.getCanHide = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true);\n };\n column.getToggleVisibilityHandler = () => {\n return e => {\n column.toggleVisibility == null || column.toggleVisibility(e.target.checked);\n };\n };\n },\n createRow: (row, table) => {\n row._getAllVisibleCells = memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {\n return cells.filter(cell => cell.column.getIsVisible());\n }, getMemoOptions(table.options, 'debugRows', '_getAllVisibleCells'));\n row.getVisibleCells = memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], getMemoOptions(table.options, 'debugRows', 'getVisibleCells'));\n },\n createTable: table => {\n const makeVisibleColumnsMethod = (key, getColumns) => {\n return memo(() => [getColumns(), getColumns().filter(d => d.getIsVisible()).map(d => d.id).join('_')], columns => {\n return columns.filter(d => d.getIsVisible == null ? void 0 : d.getIsVisible());\n }, getMemoOptions(table.options, 'debugColumns', key));\n };\n table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns());\n table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns());\n table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => table.getLeftLeafColumns());\n table.getRightVisibleLeafColumns = makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => table.getRightLeafColumns());\n table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => table.getCenterLeafColumns());\n table.setColumnVisibility = updater => table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater);\n table.resetColumnVisibility = defaultState => {\n var _table$initialState$c;\n table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {});\n };\n table.toggleAllColumnsVisible = value => {\n var _value;\n value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible();\n table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column) => ({\n ...obj,\n [column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value\n }), {}));\n };\n table.getIsAllColumnsVisible = () => !table.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible()));\n table.getIsSomeColumnsVisible = () => table.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible());\n table.getToggleAllColumnsVisibilityHandler = () => {\n return e => {\n var _target;\n table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);\n };\n };\n }\n};\nfunction _getVisibleLeafColumns(table, position) {\n return !position ? table.getVisibleLeafColumns() : position === 'center' ? table.getCenterVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns();\n}\n\n//\n\nconst GlobalFaceting = {\n createTable: table => {\n table._getGlobalFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__');\n table.getGlobalFacetedRowModel = () => {\n if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {\n return table.getPreFilteredRowModel();\n }\n return table._getGlobalFacetedRowModel();\n };\n table._getGlobalFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, '__global__');\n table.getGlobalFacetedUniqueValues = () => {\n if (!table._getGlobalFacetedUniqueValues) {\n return new Map();\n }\n return table._getGlobalFacetedUniqueValues();\n };\n table._getGlobalFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, '__global__');\n table.getGlobalFacetedMinMaxValues = () => {\n if (!table._getGlobalFacetedMinMaxValues) {\n return;\n }\n return table._getGlobalFacetedMinMaxValues();\n };\n }\n};\n\n//\n\nconst GlobalFiltering = {\n getInitialState: state => {\n return {\n globalFilter: undefined,\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n var _table$getCoreRowMode;\n const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) == null || (_table$getCoreRowMode = _table$getCoreRowMode._getAllCellsByColumnId()[column.id]) == null ? void 0 : _table$getCoreRowMode.getValue();\n return typeof value === 'string' || typeof value === 'number';\n }\n };\n },\n createColumn: (column, table) => {\n column.getCanGlobalFilter = () => {\n var _column$columnDef$ena, _table$options$enable, _table$options$enable2, _table$options$getCol;\n return ((_column$columnDef$ena = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGlobalFilter) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && ((_table$options$getCol = table.options.getColumnCanGlobalFilter == null ? void 0 : table.options.getColumnCanGlobalFilter(column)) != null ? _table$options$getCol : true) && !!column.accessorFn;\n };\n },\n createTable: table => {\n table.getGlobalAutoFilterFn = () => {\n return filterFns.includesString;\n };\n table.getGlobalFilterFn = () => {\n var _table$options$filter, _table$options$filter2;\n const {\n globalFilterFn: globalFilterFn\n } = table.options;\n return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[globalFilterFn]) != null ? _table$options$filter : filterFns[globalFilterFn];\n };\n table.setGlobalFilter = updater => {\n table.options.onGlobalFilterChange == null || table.options.onGlobalFilterChange(updater);\n };\n table.resetGlobalFilter = defaultState => {\n table.setGlobalFilter(defaultState ? undefined : table.initialState.globalFilter);\n };\n }\n};\n\n//\n\nconst RowExpanding = {\n getInitialState: state => {\n return {\n expanded: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onExpandedChange: makeStateUpdater('expanded', table),\n paginateExpandedRows: true\n };\n },\n createTable: table => {\n let registered = false;\n let queued = false;\n table._autoResetExpanded = () => {\n var _ref, _table$options$autoRe;\n if (!registered) {\n table._queue(() => {\n registered = true;\n });\n return;\n }\n if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetExpanded) != null ? _ref : !table.options.manualExpanding) {\n if (queued) return;\n queued = true;\n table._queue(() => {\n table.resetExpanded();\n queued = false;\n });\n }\n };\n table.setExpanded = updater => table.options.onExpandedChange == null ? void 0 : table.options.onExpandedChange(updater);\n table.toggleAllRowsExpanded = expanded => {\n if (expanded != null ? expanded : !table.getIsAllRowsExpanded()) {\n table.setExpanded(true);\n } else {\n table.setExpanded({});\n }\n };\n table.resetExpanded = defaultState => {\n var _table$initialState$e, _table$initialState;\n table.setExpanded(defaultState ? {} : (_table$initialState$e = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.expanded) != null ? _table$initialState$e : {});\n };\n table.getCanSomeRowsExpand = () => {\n return table.getPrePaginationRowModel().flatRows.some(row => row.getCanExpand());\n };\n table.getToggleAllRowsExpandedHandler = () => {\n return e => {\n e.persist == null || e.persist();\n table.toggleAllRowsExpanded();\n };\n };\n table.getIsSomeRowsExpanded = () => {\n const expanded = table.getState().expanded;\n return expanded === true || Object.values(expanded).some(Boolean);\n };\n table.getIsAllRowsExpanded = () => {\n const expanded = table.getState().expanded;\n\n // If expanded is true, save some cycles and return true\n if (typeof expanded === 'boolean') {\n return expanded === true;\n }\n if (!Object.keys(expanded).length) {\n return false;\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {\n return false;\n }\n\n // They must all be expanded :shrug:\n return true;\n };\n table.getExpandedDepth = () => {\n let maxDepth = 0;\n const rowIds = table.getState().expanded === true ? Object.keys(table.getRowModel().rowsById) : Object.keys(table.getState().expanded);\n rowIds.forEach(id => {\n const splitId = id.split('.');\n maxDepth = Math.max(maxDepth, splitId.length);\n });\n return maxDepth;\n };\n table.getPreExpandedRowModel = () => table.getSortedRowModel();\n table.getExpandedRowModel = () => {\n if (!table._getExpandedRowModel && table.options.getExpandedRowModel) {\n table._getExpandedRowModel = table.options.getExpandedRowModel(table);\n }\n if (table.options.manualExpanding || !table._getExpandedRowModel) {\n return table.getPreExpandedRowModel();\n }\n return table._getExpandedRowModel();\n };\n },\n createRow: (row, table) => {\n row.toggleExpanded = expanded => {\n table.setExpanded(old => {\n var _expanded;\n const exists = old === true ? true : !!(old != null && old[row.id]);\n let oldExpanded = {};\n if (old === true) {\n Object.keys(table.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true;\n });\n } else {\n oldExpanded = old;\n }\n expanded = (_expanded = expanded) != null ? _expanded : !exists;\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true\n };\n }\n if (exists && !expanded) {\n const {\n [row.id]: _,\n ...rest\n } = oldExpanded;\n return rest;\n }\n return old;\n });\n };\n row.getIsExpanded = () => {\n var _table$options$getIsR;\n const expanded = table.getState().expanded;\n return !!((_table$options$getIsR = table.options.getIsRowExpanded == null ? void 0 : table.options.getIsRowExpanded(row)) != null ? _table$options$getIsR : expanded === true || (expanded == null ? void 0 : expanded[row.id]));\n };\n row.getCanExpand = () => {\n var _table$options$getRow, _table$options$enable, _row$subRows;\n return (_table$options$getRow = table.options.getRowCanExpand == null ? void 0 : table.options.getRowCanExpand(row)) != null ? _table$options$getRow : ((_table$options$enable = table.options.enableExpanding) != null ? _table$options$enable : true) && !!((_row$subRows = row.subRows) != null && _row$subRows.length);\n };\n row.getIsAllParentsExpanded = () => {\n let isFullyExpanded = true;\n let currentRow = row;\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = table.getRow(currentRow.parentId, true);\n isFullyExpanded = currentRow.getIsExpanded();\n }\n return isFullyExpanded;\n };\n row.getToggleExpandedHandler = () => {\n const canExpand = row.getCanExpand();\n return () => {\n if (!canExpand) return;\n row.toggleExpanded();\n };\n };\n }\n};\n\n//\n\nconst defaultPageIndex = 0;\nconst defaultPageSize = 10;\nconst getDefaultPaginationState = () => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize\n});\nconst RowPagination = {\n getInitialState: state => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...(state == null ? void 0 : state.pagination)\n }\n };\n },\n getDefaultOptions: table => {\n return {\n onPaginationChange: makeStateUpdater('pagination', table)\n };\n },\n createTable: table => {\n let registered = false;\n let queued = false;\n table._autoResetPageIndex = () => {\n var _ref, _table$options$autoRe;\n if (!registered) {\n table._queue(() => {\n registered = true;\n });\n return;\n }\n if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetPageIndex) != null ? _ref : !table.options.manualPagination) {\n if (queued) return;\n queued = true;\n table._queue(() => {\n table.resetPageIndex();\n queued = false;\n });\n }\n };\n table.setPagination = updater => {\n const safeUpdater = old => {\n let newState = functionalUpdate(updater, old);\n return newState;\n };\n return table.options.onPaginationChange == null ? void 0 : table.options.onPaginationChange(safeUpdater);\n };\n table.resetPagination = defaultState => {\n var _table$initialState$p;\n table.setPagination(defaultState ? getDefaultPaginationState() : (_table$initialState$p = table.initialState.pagination) != null ? _table$initialState$p : getDefaultPaginationState());\n };\n table.setPageIndex = updater => {\n table.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex);\n const maxPageIndex = typeof table.options.pageCount === 'undefined' || table.options.pageCount === -1 ? Number.MAX_SAFE_INTEGER : table.options.pageCount - 1;\n pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex));\n return {\n ...old,\n pageIndex\n };\n });\n };\n table.resetPageIndex = defaultState => {\n var _table$initialState$p2, _table$initialState;\n table.setPageIndex(defaultState ? defaultPageIndex : (_table$initialState$p2 = (_table$initialState = table.initialState) == null || (_table$initialState = _table$initialState.pagination) == null ? void 0 : _table$initialState.pageIndex) != null ? _table$initialState$p2 : defaultPageIndex);\n };\n table.resetPageSize = defaultState => {\n var _table$initialState$p3, _table$initialState2;\n table.setPageSize(defaultState ? defaultPageSize : (_table$initialState$p3 = (_table$initialState2 = table.initialState) == null || (_table$initialState2 = _table$initialState2.pagination) == null ? void 0 : _table$initialState2.pageSize) != null ? _table$initialState$p3 : defaultPageSize);\n };\n table.setPageSize = updater => {\n table.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize));\n const topRowIndex = old.pageSize * old.pageIndex;\n const pageIndex = Math.floor(topRowIndex / pageSize);\n return {\n ...old,\n pageIndex,\n pageSize\n };\n });\n };\n //deprecated\n table.setPageCount = updater => table.setPagination(old => {\n var _table$options$pageCo;\n let newPageCount = functionalUpdate(updater, (_table$options$pageCo = table.options.pageCount) != null ? _table$options$pageCo : -1);\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount);\n }\n return {\n ...old,\n pageCount: newPageCount\n };\n });\n table.getPageOptions = memo(() => [table.getPageCount()], pageCount => {\n let pageOptions = [];\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i);\n }\n return pageOptions;\n }, getMemoOptions(table.options, 'debugTable', 'getPageOptions'));\n table.getCanPreviousPage = () => table.getState().pagination.pageIndex > 0;\n table.getCanNextPage = () => {\n const {\n pageIndex\n } = table.getState().pagination;\n const pageCount = table.getPageCount();\n if (pageCount === -1) {\n return true;\n }\n if (pageCount === 0) {\n return false;\n }\n return pageIndex < pageCount - 1;\n };\n table.previousPage = () => {\n return table.setPageIndex(old => old - 1);\n };\n table.nextPage = () => {\n return table.setPageIndex(old => {\n return old + 1;\n });\n };\n table.firstPage = () => {\n return table.setPageIndex(0);\n };\n table.lastPage = () => {\n return table.setPageIndex(table.getPageCount() - 1);\n };\n table.getPrePaginationRowModel = () => table.getExpandedRowModel();\n table.getPaginationRowModel = () => {\n if (!table._getPaginationRowModel && table.options.getPaginationRowModel) {\n table._getPaginationRowModel = table.options.getPaginationRowModel(table);\n }\n if (table.options.manualPagination || !table._getPaginationRowModel) {\n return table.getPrePaginationRowModel();\n }\n return table._getPaginationRowModel();\n };\n table.getPageCount = () => {\n var _table$options$pageCo2;\n return (_table$options$pageCo2 = table.options.pageCount) != null ? _table$options$pageCo2 : Math.ceil(table.getRowCount() / table.getState().pagination.pageSize);\n };\n table.getRowCount = () => {\n var _table$options$rowCou;\n return (_table$options$rowCou = table.options.rowCount) != null ? _table$options$rowCou : table.getPrePaginationRowModel().rows.length;\n };\n }\n};\n\n//\n\nconst getDefaultRowPinningState = () => ({\n top: [],\n bottom: []\n});\nconst RowPinning = {\n getInitialState: state => {\n return {\n rowPinning: getDefaultRowPinningState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onRowPinningChange: makeStateUpdater('rowPinning', table)\n };\n },\n createRow: (row, table) => {\n row.pin = (position, includeLeafRows, includeParentRows) => {\n const leafRowIds = includeLeafRows ? row.getLeafRows().map(_ref => {\n let {\n id\n } = _ref;\n return id;\n }) : [];\n const parentRowIds = includeParentRows ? row.getParentRows().map(_ref2 => {\n let {\n id\n } = _ref2;\n return id;\n }) : [];\n const rowIds = new Set([...parentRowIds, row.id, ...leafRowIds]);\n table.setRowPinning(old => {\n var _old$top3, _old$bottom3;\n if (position === 'bottom') {\n var _old$top, _old$bottom;\n return {\n top: ((_old$top = old == null ? void 0 : old.top) != null ? _old$top : []).filter(d => !(rowIds != null && rowIds.has(d))),\n bottom: [...((_old$bottom = old == null ? void 0 : old.bottom) != null ? _old$bottom : []).filter(d => !(rowIds != null && rowIds.has(d))), ...Array.from(rowIds)]\n };\n }\n if (position === 'top') {\n var _old$top2, _old$bottom2;\n return {\n top: [...((_old$top2 = old == null ? void 0 : old.top) != null ? _old$top2 : []).filter(d => !(rowIds != null && rowIds.has(d))), ...Array.from(rowIds)],\n bottom: ((_old$bottom2 = old == null ? void 0 : old.bottom) != null ? _old$bottom2 : []).filter(d => !(rowIds != null && rowIds.has(d)))\n };\n }\n return {\n top: ((_old$top3 = old == null ? void 0 : old.top) != null ? _old$top3 : []).filter(d => !(rowIds != null && rowIds.has(d))),\n bottom: ((_old$bottom3 = old == null ? void 0 : old.bottom) != null ? _old$bottom3 : []).filter(d => !(rowIds != null && rowIds.has(d)))\n };\n });\n };\n row.getCanPin = () => {\n var _ref3;\n const {\n enableRowPinning,\n enablePinning\n } = table.options;\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row);\n }\n return (_ref3 = enableRowPinning != null ? enableRowPinning : enablePinning) != null ? _ref3 : true;\n };\n row.getIsPinned = () => {\n const rowIds = [row.id];\n const {\n top,\n bottom\n } = table.getState().rowPinning;\n const isTop = rowIds.some(d => top == null ? void 0 : top.includes(d));\n const isBottom = rowIds.some(d => bottom == null ? void 0 : bottom.includes(d));\n return isTop ? 'top' : isBottom ? 'bottom' : false;\n };\n row.getPinnedIndex = () => {\n var _ref4, _visiblePinnedRowIds$;\n const position = row.getIsPinned();\n if (!position) return -1;\n const visiblePinnedRowIds = (_ref4 = position === 'top' ? table.getTopRows() : table.getBottomRows()) == null ? void 0 : _ref4.map(_ref5 => {\n let {\n id\n } = _ref5;\n return id;\n });\n return (_visiblePinnedRowIds$ = visiblePinnedRowIds == null ? void 0 : visiblePinnedRowIds.indexOf(row.id)) != null ? _visiblePinnedRowIds$ : -1;\n };\n },\n createTable: table => {\n table.setRowPinning = updater => table.options.onRowPinningChange == null ? void 0 : table.options.onRowPinningChange(updater);\n table.resetRowPinning = defaultState => {\n var _table$initialState$r, _table$initialState;\n return table.setRowPinning(defaultState ? getDefaultRowPinningState() : (_table$initialState$r = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.rowPinning) != null ? _table$initialState$r : getDefaultRowPinningState());\n };\n table.getIsSomeRowsPinned = position => {\n var _pinningState$positio;\n const pinningState = table.getState().rowPinning;\n if (!position) {\n var _pinningState$top, _pinningState$bottom;\n return Boolean(((_pinningState$top = pinningState.top) == null ? void 0 : _pinningState$top.length) || ((_pinningState$bottom = pinningState.bottom) == null ? void 0 : _pinningState$bottom.length));\n }\n return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);\n };\n table._getPinnedRows = (visibleRows, pinnedRowIds, position) => {\n var _table$options$keepPi;\n const rows = ((_table$options$keepPi = table.options.keepPinnedRows) != null ? _table$options$keepPi : true) ?\n //get all rows that are pinned even if they would not be otherwise visible\n //account for expanded parent rows, but not pagination or filtering\n (pinnedRowIds != null ? pinnedRowIds : []).map(rowId => {\n const row = table.getRow(rowId, true);\n return row.getIsAllParentsExpanded() ? row : null;\n }) :\n //else get only visible rows that are pinned\n (pinnedRowIds != null ? pinnedRowIds : []).map(rowId => visibleRows.find(row => row.id === rowId));\n return rows.filter(Boolean).map(d => ({\n ...d,\n position\n }));\n };\n table.getTopRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.top], (allRows, topPinnedRowIds) => table._getPinnedRows(allRows, topPinnedRowIds, 'top'), getMemoOptions(table.options, 'debugRows', 'getTopRows'));\n table.getBottomRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.bottom], (allRows, bottomPinnedRowIds) => table._getPinnedRows(allRows, bottomPinnedRowIds, 'bottom'), getMemoOptions(table.options, 'debugRows', 'getBottomRows'));\n table.getCenterRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.top, table.getState().rowPinning.bottom], (allRows, top, bottom) => {\n const topAndBottom = new Set([...(top != null ? top : []), ...(bottom != null ? bottom : [])]);\n return allRows.filter(d => !topAndBottom.has(d.id));\n }, getMemoOptions(table.options, 'debugRows', 'getCenterRows'));\n }\n};\n\n//\n\nconst RowSelection = {\n getInitialState: state => {\n return {\n rowSelection: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n };\n },\n createTable: table => {\n table.setRowSelection = updater => table.options.onRowSelectionChange == null ? void 0 : table.options.onRowSelectionChange(updater);\n table.resetRowSelection = defaultState => {\n var _table$initialState$r;\n return table.setRowSelection(defaultState ? {} : (_table$initialState$r = table.initialState.rowSelection) != null ? _table$initialState$r : {});\n };\n table.toggleAllRowsSelected = value => {\n table.setRowSelection(old => {\n value = typeof value !== 'undefined' ? value : !table.getIsAllRowsSelected();\n const rowSelection = {\n ...old\n };\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach(row => {\n if (!row.getCanSelect()) {\n return;\n }\n rowSelection[row.id] = true;\n });\n } else {\n preGroupedFlatRows.forEach(row => {\n delete rowSelection[row.id];\n });\n }\n return rowSelection;\n });\n };\n table.toggleAllPageRowsSelected = value => table.setRowSelection(old => {\n const resolvedValue = typeof value !== 'undefined' ? value : !table.getIsAllPageRowsSelected();\n const rowSelection = {\n ...old\n };\n table.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table);\n });\n return rowSelection;\n });\n\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = table\n\n // const findSelectedRow = (rows: Row[]) => {\n // let found\n // rows.find(d => {\n // if (d.getIsSelected()) {\n // found = d\n // return true\n // }\n // const subFound = findSelectedRow(d.subRows || [])\n // if (subFound) {\n // found = subFound\n // return true\n // }\n // return false\n // })\n // return found\n // }\n\n // const firstRow = findSelectedRow(rows) || rows[0]\n // const lastRow = rowsById[rowId]\n\n // let include = false\n // const selectedRowIds = {}\n\n // const addRow = (row: Row) => {\n // mutateRowIsSelected(selectedRowIds, row.id, true, {\n // rowsById,\n // selectGroupingRows: selectGroupingRows!,\n // selectSubRows: selectSubRows!,\n // })\n // }\n\n // table.rows.forEach(row => {\n // const isFirstRow = row.id === firstRow.id\n // const isLastRow = row.id === lastRow.id\n\n // if (isFirstRow || isLastRow) {\n // if (!include) {\n // include = true\n // } else if (include) {\n // addRow(row)\n // include = false\n // }\n // }\n\n // if (include) {\n // addRow(row)\n // }\n // })\n\n // table.setRowSelection(selectedRowIds)\n // },\n table.getPreSelectedRowModel = () => table.getCoreRowModel();\n table.getSelectedRowModel = memo(() => [table.getState().rowSelection, table.getCoreRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getSelectedRowModel'));\n table.getFilteredSelectedRowModel = memo(() => [table.getState().rowSelection, table.getFilteredRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getFilteredSelectedRowModel'));\n table.getGroupedSelectedRowModel = memo(() => [table.getState().rowSelection, table.getSortedRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getGroupedSelectedRowModel'));\n\n ///\n\n // getGroupingRowCanSelect: rowId => {\n // const row = table.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof table.options.enableGroupingRowSelection === 'function') {\n // return table.options.enableGroupingRowSelection(row)\n // }\n\n // return table.options.enableGroupingRowSelection ?? false\n // },\n\n table.getIsAllRowsSelected = () => {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows;\n const {\n rowSelection\n } = table.getState();\n let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);\n if (isAllRowsSelected) {\n if (preGroupedFlatRows.some(row => row.getCanSelect() && !rowSelection[row.id])) {\n isAllRowsSelected = false;\n }\n }\n return isAllRowsSelected;\n };\n table.getIsAllPageRowsSelected = () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows.filter(row => row.getCanSelect());\n const {\n rowSelection\n } = table.getState();\n let isAllPageRowsSelected = !!paginationFlatRows.length;\n if (isAllPageRowsSelected && paginationFlatRows.some(row => !rowSelection[row.id])) {\n isAllPageRowsSelected = false;\n }\n return isAllPageRowsSelected;\n };\n table.getIsSomeRowsSelected = () => {\n var _table$getState$rowSe;\n const totalSelected = Object.keys((_table$getState$rowSe = table.getState().rowSelection) != null ? _table$getState$rowSe : {}).length;\n return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;\n };\n table.getIsSomePageRowsSelected = () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows;\n return table.getIsAllPageRowsSelected() ? false : paginationFlatRows.filter(row => row.getCanSelect()).some(d => d.getIsSelected() || d.getIsSomeSelected());\n };\n table.getToggleAllRowsSelectedHandler = () => {\n return e => {\n table.toggleAllRowsSelected(e.target.checked);\n };\n };\n table.getToggleAllPageRowsSelectedHandler = () => {\n return e => {\n table.toggleAllPageRowsSelected(e.target.checked);\n };\n };\n },\n createRow: (row, table) => {\n row.toggleSelected = (value, opts) => {\n const isSelected = row.getIsSelected();\n table.setRowSelection(old => {\n var _opts$selectChildren;\n value = typeof value !== 'undefined' ? value : !isSelected;\n if (row.getCanSelect() && isSelected === value) {\n return old;\n }\n const selectedRowIds = {\n ...old\n };\n mutateRowIsSelected(selectedRowIds, row.id, value, (_opts$selectChildren = opts == null ? void 0 : opts.selectChildren) != null ? _opts$selectChildren : true, table);\n return selectedRowIds;\n });\n };\n row.getIsSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isRowSelected(row, rowSelection);\n };\n row.getIsSomeSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isSubRowSelected(row, rowSelection) === 'some';\n };\n row.getIsAllSubRowsSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isSubRowSelected(row, rowSelection) === 'all';\n };\n row.getCanSelect = () => {\n var _table$options$enable;\n if (typeof table.options.enableRowSelection === 'function') {\n return table.options.enableRowSelection(row);\n }\n return (_table$options$enable = table.options.enableRowSelection) != null ? _table$options$enable : true;\n };\n row.getCanSelectSubRows = () => {\n var _table$options$enable2;\n if (typeof table.options.enableSubRowSelection === 'function') {\n return table.options.enableSubRowSelection(row);\n }\n return (_table$options$enable2 = table.options.enableSubRowSelection) != null ? _table$options$enable2 : true;\n };\n row.getCanMultiSelect = () => {\n var _table$options$enable3;\n if (typeof table.options.enableMultiRowSelection === 'function') {\n return table.options.enableMultiRowSelection(row);\n }\n return (_table$options$enable3 = table.options.enableMultiRowSelection) != null ? _table$options$enable3 : true;\n };\n row.getToggleSelectedHandler = () => {\n const canSelect = row.getCanSelect();\n return e => {\n var _target;\n if (!canSelect) return;\n row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);\n };\n };\n }\n};\nconst mutateRowIsSelected = (selectedRowIds, id, value, includeChildren, table) => {\n var _row$subRows;\n const row = table.getRow(id, true);\n\n // const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && table.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n if (!row.getCanMultiSelect()) {\n Object.keys(selectedRowIds).forEach(key => delete selectedRowIds[key]);\n }\n if (row.getCanSelect()) {\n selectedRowIds[id] = true;\n }\n } else {\n delete selectedRowIds[id];\n }\n // }\n\n if (includeChildren && (_row$subRows = row.subRows) != null && _row$subRows.length && row.getCanSelectSubRows()) {\n row.subRows.forEach(row => mutateRowIsSelected(selectedRowIds, row.id, value, includeChildren, table));\n }\n};\nfunction selectRowsFn(table, rowModel) {\n const rowSelection = table.getState().rowSelection;\n const newSelectedFlatRows = [];\n const newSelectedRowsById = {};\n\n // Filters top level and nested rows\n const recurseRows = function (rows, depth) {\n return rows.map(row => {\n var _row$subRows2;\n const isSelected = isRowSelected(row, rowSelection);\n if (isSelected) {\n newSelectedFlatRows.push(row);\n newSelectedRowsById[row.id] = row;\n }\n if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows)\n };\n }\n if (isSelected) {\n return row;\n }\n }).filter(Boolean);\n };\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById\n };\n}\nfunction isRowSelected(row, selection) {\n var _selection$row$id;\n return (_selection$row$id = selection[row.id]) != null ? _selection$row$id : false;\n}\nfunction isSubRowSelected(row, selection, table) {\n var _row$subRows3;\n if (!((_row$subRows3 = row.subRows) != null && _row$subRows3.length)) return false;\n let allChildrenSelected = true;\n let someSelected = false;\n row.subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n if (subRow.getCanSelect()) {\n if (isRowSelected(subRow, selection)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n }\n\n // Check row selection of nested subrows\n if (subRow.subRows && subRow.subRows.length) {\n const subRowChildrenSelected = isSubRowSelected(subRow, selection);\n if (subRowChildrenSelected === 'all') {\n someSelected = true;\n } else if (subRowChildrenSelected === 'some') {\n someSelected = true;\n allChildrenSelected = false;\n } else {\n allChildrenSelected = false;\n }\n }\n });\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false;\n}\n\nconst reSplitAlphaNumeric = /([0-9]+)/gm;\nconst alphanumeric = (rowA, rowB, columnId) => {\n return compareAlphanumeric(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());\n};\nconst alphanumericCaseSensitive = (rowA, rowB, columnId) => {\n return compareAlphanumeric(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));\n};\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst text = (rowA, rowB, columnId) => {\n return compareBasic(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());\n};\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst textCaseSensitive = (rowA, rowB, columnId) => {\n return compareBasic(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));\n};\nconst datetime = (rowA, rowB, columnId) => {\n const a = rowA.getValue(columnId);\n const b = rowB.getValue(columnId);\n\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n return a > b ? 1 : a < b ? -1 : 0;\n};\nconst basic = (rowA, rowB, columnId) => {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId));\n};\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1;\n}\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return '';\n }\n return String(a);\n }\n if (typeof a === 'string') {\n return a;\n }\n return '';\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr, bStr) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean);\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean);\n\n // While\n while (a.length && b.length) {\n const aa = a.shift();\n const bb = b.shift();\n const an = parseInt(aa, 10);\n const bn = parseInt(bb, 10);\n const combo = [an, bn].sort();\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1;\n }\n if (bb > aa) {\n return -1;\n }\n continue;\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1;\n }\n\n // Both are numbers\n if (an > bn) {\n return 1;\n }\n if (bn > an) {\n return -1;\n }\n }\n return a.length - b.length;\n}\n\n// Exports\n\nconst sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic\n};\n\n//\n\nconst RowSorting = {\n getInitialState: state => {\n return {\n sorting: [],\n ...state\n };\n },\n getDefaultColumnDef: () => {\n return {\n sortingFn: 'auto',\n sortUndefined: 1\n };\n },\n getDefaultOptions: table => {\n return {\n onSortingChange: makeStateUpdater('sorting', table),\n isMultiSortEvent: e => {\n return e.shiftKey;\n }\n };\n },\n createColumn: (column, table) => {\n column.getAutoSortingFn = () => {\n const firstRows = table.getFilteredRowModel().flatRows.slice(10);\n let isString = false;\n for (const row of firstRows) {\n const value = row == null ? void 0 : row.getValue(column.id);\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return sortingFns.datetime;\n }\n if (typeof value === 'string') {\n isString = true;\n if (value.split(reSplitAlphaNumeric).length > 1) {\n return sortingFns.alphanumeric;\n }\n }\n }\n if (isString) {\n return sortingFns.text;\n }\n return sortingFns.basic;\n };\n column.getAutoSortDir = () => {\n const firstRow = table.getFilteredRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'string') {\n return 'asc';\n }\n return 'desc';\n };\n column.getSortingFn = () => {\n var _table$options$sortin, _table$options$sortin2;\n if (!column) {\n throw new Error();\n }\n return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : (_table$options$sortin = (_table$options$sortin2 = table.options.sortingFns) == null ? void 0 : _table$options$sortin2[column.columnDef.sortingFn]) != null ? _table$options$sortin : sortingFns[column.columnDef.sortingFn];\n };\n column.toggleSorting = (desc, multi) => {\n // if (column.columns.length) {\n // column.columns.forEach((c, i) => {\n // if (c.id) {\n // table.toggleColumnSorting(c.id, undefined, multi || !!i)\n // }\n // })\n // return\n // }\n\n // this needs to be outside of table.setSorting to be in sync with rerender\n const nextSortingOrder = column.getNextSortingOrder();\n const hasManualValue = typeof desc !== 'undefined' && desc !== null;\n table.setSorting(old => {\n // Find any existing sorting for this column\n const existingSorting = old == null ? void 0 : old.find(d => d.id === column.id);\n const existingIndex = old == null ? void 0 : old.findIndex(d => d.id === column.id);\n let newSorting = [];\n\n // What should we do with this sort action?\n let sortAction;\n let nextDesc = hasManualValue ? desc : nextSortingOrder === 'desc';\n\n // Multi-mode\n if (old != null && old.length && column.getCanMultiSort() && multi) {\n if (existingSorting) {\n sortAction = 'toggle';\n } else {\n sortAction = 'add';\n }\n } else {\n // Normal mode\n if (old != null && old.length && existingIndex !== old.length - 1) {\n sortAction = 'replace';\n } else if (existingSorting) {\n sortAction = 'toggle';\n } else {\n sortAction = 'replace';\n }\n }\n\n // Handle toggle states that will remove the sorting\n if (sortAction === 'toggle') {\n // If we are \"actually\" toggling (not a manual set value), should we remove the sorting?\n if (!hasManualValue) {\n // Is our intention to remove?\n if (!nextSortingOrder) {\n sortAction = 'remove';\n }\n }\n }\n if (sortAction === 'add') {\n var _table$options$maxMul;\n newSorting = [...old, {\n id: column.id,\n desc: nextDesc\n }];\n // Take latest n columns\n newSorting.splice(0, newSorting.length - ((_table$options$maxMul = table.options.maxMultiSortColCount) != null ? _table$options$maxMul : Number.MAX_SAFE_INTEGER));\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSorting = old.map(d => {\n if (d.id === column.id) {\n return {\n ...d,\n desc: nextDesc\n };\n }\n return d;\n });\n } else if (sortAction === 'remove') {\n newSorting = old.filter(d => d.id !== column.id);\n } else {\n newSorting = [{\n id: column.id,\n desc: nextDesc\n }];\n }\n return newSorting;\n });\n };\n column.getFirstSortDir = () => {\n var _ref, _column$columnDef$sor;\n const sortDescFirst = (_ref = (_column$columnDef$sor = column.columnDef.sortDescFirst) != null ? _column$columnDef$sor : table.options.sortDescFirst) != null ? _ref : column.getAutoSortDir() === 'desc';\n return sortDescFirst ? 'desc' : 'asc';\n };\n column.getNextSortingOrder = multi => {\n var _table$options$enable, _table$options$enable2;\n const firstSortDirection = column.getFirstSortDir();\n const isSorted = column.getIsSorted();\n if (!isSorted) {\n return firstSortDirection;\n }\n if (isSorted !== firstSortDirection && ((_table$options$enable = table.options.enableSortingRemoval) != null ? _table$options$enable : true) && (\n // If enableSortRemove, enable in general\n multi ? (_table$options$enable2 = table.options.enableMultiRemove) != null ? _table$options$enable2 : true : true) // If multi, don't allow if enableMultiRemove))\n ) {\n return false;\n }\n return isSorted === 'desc' ? 'asc' : 'desc';\n };\n column.getCanSort = () => {\n var _column$columnDef$ena, _table$options$enable3;\n return ((_column$columnDef$ena = column.columnDef.enableSorting) != null ? _column$columnDef$ena : true) && ((_table$options$enable3 = table.options.enableSorting) != null ? _table$options$enable3 : true) && !!column.accessorFn;\n };\n column.getCanMultiSort = () => {\n var _ref2, _column$columnDef$ena2;\n return (_ref2 = (_column$columnDef$ena2 = column.columnDef.enableMultiSort) != null ? _column$columnDef$ena2 : table.options.enableMultiSort) != null ? _ref2 : !!column.accessorFn;\n };\n column.getIsSorted = () => {\n var _table$getState$sorti;\n const columnSort = (_table$getState$sorti = table.getState().sorting) == null ? void 0 : _table$getState$sorti.find(d => d.id === column.id);\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc';\n };\n column.getSortIndex = () => {\n var _table$getState$sorti2, _table$getState$sorti3;\n return (_table$getState$sorti2 = (_table$getState$sorti3 = table.getState().sorting) == null ? void 0 : _table$getState$sorti3.findIndex(d => d.id === column.id)) != null ? _table$getState$sorti2 : -1;\n };\n column.clearSorting = () => {\n //clear sorting for just 1 column\n table.setSorting(old => old != null && old.length ? old.filter(d => d.id !== column.id) : []);\n };\n column.getToggleSortingHandler = () => {\n const canSort = column.getCanSort();\n return e => {\n if (!canSort) return;\n e.persist == null || e.persist();\n column.toggleSorting == null || column.toggleSorting(undefined, column.getCanMultiSort() ? table.options.isMultiSortEvent == null ? void 0 : table.options.isMultiSortEvent(e) : false);\n };\n };\n },\n createTable: table => {\n table.setSorting = updater => table.options.onSortingChange == null ? void 0 : table.options.onSortingChange(updater);\n table.resetSorting = defaultState => {\n var _table$initialState$s, _table$initialState;\n table.setSorting(defaultState ? [] : (_table$initialState$s = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.sorting) != null ? _table$initialState$s : []);\n };\n table.getPreSortedRowModel = () => table.getGroupedRowModel();\n table.getSortedRowModel = () => {\n if (!table._getSortedRowModel && table.options.getSortedRowModel) {\n table._getSortedRowModel = table.options.getSortedRowModel(table);\n }\n if (table.options.manualSorting || !table._getSortedRowModel) {\n return table.getPreSortedRowModel();\n }\n return table._getSortedRowModel();\n };\n }\n};\n\nconst builtInFeatures = [Headers, ColumnVisibility, ColumnOrdering, ColumnPinning, ColumnFaceting, ColumnFiltering, GlobalFaceting,\n//depends on ColumnFaceting\nGlobalFiltering,\n//depends on ColumnFiltering\nRowSorting, ColumnGrouping,\n//depends on RowSorting\nRowExpanding, RowPagination, RowPinning, RowSelection, ColumnSizing];\n\n//\n\nfunction createTable(options) {\n var _options$_features, _options$initialState;\n if (process.env.NODE_ENV !== 'production' && (options.debugAll || options.debugTable)) {\n console.info('Creating Table Instance...');\n }\n const _features = [...builtInFeatures, ...((_options$_features = options._features) != null ? _options$_features : [])];\n let table = {\n _features\n };\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table));\n }, {});\n const mergeOptions = options => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options);\n }\n return {\n ...defaultOptions,\n ...options\n };\n };\n const coreInitialState = {};\n let initialState = {\n ...coreInitialState,\n ...((_options$initialState = options.initialState) != null ? _options$initialState : {})\n };\n table._features.forEach(feature => {\n var _feature$getInitialSt;\n initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;\n });\n const queued = [];\n let queuedTimeout = false;\n const coreInstance = {\n _features,\n options: {\n ...defaultOptions,\n ...options\n },\n initialState,\n _queue: cb => {\n queued.push(cb);\n if (!queuedTimeout) {\n queuedTimeout = true;\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve().then(() => {\n while (queued.length) {\n queued.shift()();\n }\n queuedTimeout = false;\n }).catch(error => setTimeout(() => {\n throw error;\n }));\n }\n },\n reset: () => {\n table.setState(table.initialState);\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options);\n table.options = mergeOptions(newOptions);\n },\n getState: () => {\n return table.options.state;\n },\n setState: updater => {\n table.options.onStateChange == null || table.options.onStateChange(updater);\n },\n _getRowId: (row, index, parent) => {\n var _table$options$getRow;\n return (_table$options$getRow = table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) != null ? _table$options$getRow : `${parent ? [parent.id, index].join('.') : index}`;\n },\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table);\n }\n return table._getCoreRowModel();\n },\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel();\n },\n //in next version, we should just pass in the row model as the optional 2nd arg\n getRow: (id, searchAll) => {\n let row = (searchAll ? table.getPrePaginationRowModel() : table.getRowModel()).rowsById[id];\n if (!row) {\n row = table.getCoreRowModel().rowsById[id];\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow could not find row with ID: ${id}`);\n }\n throw new Error();\n }\n }\n return row;\n },\n _getDefaultColumnDef: memo(() => [table.options.defaultColumn], defaultColumn => {\n var _defaultColumn;\n defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};\n return {\n header: props => {\n const resolvedColumnDef = props.header.column.columnDef;\n if (resolvedColumnDef.accessorKey) {\n return resolvedColumnDef.accessorKey;\n }\n if (resolvedColumnDef.accessorFn) {\n return resolvedColumnDef.id;\n }\n return null;\n },\n // footer: props => props.header.column.id,\n cell: props => {\n var _props$renderValue$to, _props$renderValue;\n return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null || _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;\n },\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());\n }, {}),\n ...defaultColumn\n };\n }, getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')),\n _getColumnDefs: () => table.options.columns,\n getAllColumns: memo(() => [table._getColumnDefs()], columnDefs => {\n const recurseColumns = function (columnDefs, parent, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent);\n const groupingColumnDef = columnDef;\n column.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column, depth + 1) : [];\n return column;\n });\n };\n return recurseColumns(columnDefs);\n }, getMemoOptions(options, 'debugColumns', 'getAllColumns')),\n getAllFlatColumns: memo(() => [table.getAllColumns()], allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns();\n });\n }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')),\n _getAllFlatColumnsById: memo(() => [table.getAllFlatColumns()], flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column;\n return acc;\n }, {});\n }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')),\n getAllLeafColumns: memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns());\n return orderColumns(leafColumns);\n }, getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')),\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId];\n if (process.env.NODE_ENV !== 'production' && !column) {\n console.error(`[Table] Column with id '${columnId}' does not exist.`);\n }\n return column;\n }\n };\n Object.assign(table, coreInstance);\n for (let index = 0; index < table._features.length; index++) {\n const feature = table._features[index];\n feature == null || feature.createTable == null || feature.createTable(table);\n }\n return table;\n}\n\nfunction getCoreRowModel() {\n return table => memo(() => [table.options.data], data => {\n const rowModel = {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n const accessRows = function (originalRows, depth, parentRow) {\n if (depth === void 0) {\n depth = 0;\n }\n const rows = [];\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\n // if (!id) {\n // if (process.env.NODE_ENV !== 'production') {\n // throw new Error(`getRowId expected an ID, but got ${id}`)\n // }\n // }\n\n // Make the row\n const row = createRow(table, table._getRowId(originalRows[i], i, parentRow), originalRows[i], i, depth, undefined, parentRow == null ? void 0 : parentRow.id);\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row);\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row;\n // Push table row into parent\n rows.push(row);\n\n // Get the original subrows\n if (table.options.getSubRows) {\n var _row$originalSubRows;\n row.originalSubRows = table.options.getSubRows(originalRows[i], i);\n\n // Then recursively access them\n if ((_row$originalSubRows = row.originalSubRows) != null && _row$originalSubRows.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row);\n }\n }\n }\n return rows;\n };\n rowModel.rows = accessRows(data);\n return rowModel;\n }, getMemoOptions(table.options, 'debugTable', 'getRowModel', () => table._autoResetPageIndex()));\n}\n\nfunction getExpandedRowModel() {\n return table => memo(() => [table.getState().expanded, table.getPreExpandedRowModel(), table.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {\n if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {\n return rowModel;\n }\n if (!paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel;\n }\n return expandRows(rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel'));\n}\nfunction expandRows(rowModel) {\n const expandedRows = [];\n const handleRow = row => {\n var _row$subRows;\n expandedRows.push(row);\n if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {\n row.subRows.forEach(handleRow);\n }\n };\n rowModel.rows.forEach(handleRow);\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById\n };\n}\n\nfunction getFacetedMinMaxValues() {\n return (table, columnId) => memo(() => {\n var _table$getColumn;\n return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];\n }, facetedRowModel => {\n if (!facetedRowModel) return undefined;\n const uniqueValues = facetedRowModel.flatRows.flatMap(flatRow => {\n var _flatRow$getUniqueVal;\n return (_flatRow$getUniqueVal = flatRow.getUniqueValues(columnId)) != null ? _flatRow$getUniqueVal : [];\n }).map(Number).filter(value => !Number.isNaN(value));\n if (!uniqueValues.length) return;\n let facetedMinValue = uniqueValues[0];\n let facetedMaxValue = uniqueValues[uniqueValues.length - 1];\n for (const value of uniqueValues) {\n if (value < facetedMinValue) facetedMinValue = value;else if (value > facetedMaxValue) facetedMaxValue = value;\n }\n return [facetedMinValue, facetedMaxValue];\n }, getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues'));\n}\n\nfunction filterRows(rows, filterRowImpl, table) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table);\n }\n return filterRowModelFromRoot(rows, filterRowImpl, table);\n}\nfunction filterRowModelFromLeafs(rowsToFilter, filterRow, table) {\n var _table$options$maxLea;\n const newFilteredFlatRows = [];\n const newFilteredRowsById = {};\n const maxDepth = (_table$options$maxLea = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea : 100;\n const recurseFilterRows = function (rowsToFilter, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n const rows = [];\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n var _row$subRows;\n let row = rowsToFilter[i];\n const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId);\n newRow.columnFilters = row.columnFilters;\n if ((_row$subRows = row.subRows) != null && _row$subRows.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1);\n row = newRow;\n if (filterRow(row) && !newRow.subRows.length) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n continue;\n }\n if (filterRow(row) || newRow.subRows.length) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n continue;\n }\n } else {\n row = newRow;\n if (filterRow(row)) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n }\n }\n }\n return rows;\n };\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById\n };\n}\nfunction filterRowModelFromRoot(rowsToFilter, filterRow, table) {\n var _table$options$maxLea2;\n const newFilteredFlatRows = [];\n const newFilteredRowsById = {};\n const maxDepth = (_table$options$maxLea2 = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea2 : 100;\n\n // Filters top level and nested rows\n const recurseFilterRows = function (rowsToFilter, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n // Filter from parents downward first\n\n const rows = [];\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i];\n const pass = filterRow(row);\n if (pass) {\n var _row$subRows2;\n if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length && depth < maxDepth) {\n const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId);\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1);\n row = newRow;\n }\n rows.push(row);\n newFilteredFlatRows.push(row);\n newFilteredRowsById[row.id] = row;\n }\n }\n return rows;\n };\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById\n };\n}\n\nfunction getFacetedRowModel() {\n return (table, columnId) => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter, table.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {\n if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {\n return preRowModel;\n }\n const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);\n const filterRowsImpl = row => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]] === false) {\n return false;\n }\n }\n return true;\n };\n return filterRows(preRowModel.rows, filterRowsImpl, table);\n }, getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel'));\n}\n\nfunction getFacetedUniqueValues() {\n return (table, columnId) => memo(() => {\n var _table$getColumn;\n return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];\n }, facetedRowModel => {\n if (!facetedRowModel) return new Map();\n let facetedUniqueValues = new Map();\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);\n for (let j = 0; j < values.length; j++) {\n const value = values[j];\n if (facetedUniqueValues.has(value)) {\n var _facetedUniqueValues$;\n facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);\n } else {\n facetedUniqueValues.set(value, 1);\n }\n }\n }\n return facetedUniqueValues;\n }, getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`));\n}\n\nfunction getFilteredRowModel() {\n return table => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {\n if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n rowModel.flatRows[i].columnFilters = {};\n rowModel.flatRows[i].columnFiltersMeta = {};\n }\n return rowModel;\n }\n const resolvedColumnFilters = [];\n const resolvedGlobalFilters = [];\n (columnFilters != null ? columnFilters : []).forEach(d => {\n var _filterFn$resolveFilt;\n const column = table.getColumn(d.id);\n if (!column) {\n return;\n }\n const filterFn = column.getFilterFn();\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);\n }\n return;\n }\n resolvedColumnFilters.push({\n id: d.id,\n filterFn,\n resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value\n });\n });\n const filterableIds = (columnFilters != null ? columnFilters : []).map(d => d.id);\n const globalFilterFn = table.getGlobalFilterFn();\n const globallyFilterableColumns = table.getAllLeafColumns().filter(column => column.getCanGlobalFilter());\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__');\n globallyFilterableColumns.forEach(column => {\n var _globalFilterFn$resol;\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter\n });\n });\n }\n let currentColumnFilter;\n let currentGlobalFilter;\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j];\n row.columnFilters = {};\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i];\n const id = currentColumnFilter.id;\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, filterMeta => {\n row.columnFiltersMeta[id] = filterMeta;\n });\n }\n }\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i];\n const id = currentGlobalFilter.id;\n // Tag the row with the first truthy global filter state\n if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, filterMeta => {\n row.columnFiltersMeta[id] = filterMeta;\n })) {\n row.columnFilters.__global__ = true;\n break;\n }\n }\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false;\n }\n }\n }\n const filterRowsImpl = row => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]] === false) {\n return false;\n }\n }\n return true;\n };\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl, table);\n }, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));\n}\n\nfunction getGroupedRowModel() {\n return table => memo(() => [table.getState().grouping, table.getPreGroupedRowModel()], (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n rowModel.rows.forEach(row => {\n row.depth = 0;\n row.parentId = undefined;\n });\n return rowModel;\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId => table.getColumn(columnId));\n const groupedFlatRows = [];\n const groupedRowsById = {};\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = function (rows, depth, parentId) {\n if (depth === void 0) {\n depth = 0;\n }\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth;\n groupedFlatRows.push(row);\n groupedRowsById[row.id] = row;\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);\n }\n return row;\n });\n }\n const columnId = existingGrouping[depth];\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId);\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map((_ref, index) => {\n let [groupingValue, groupedRows] = _ref;\n let id = `${columnId}:${groupingValue}`;\n id = parentId ? `${parentId}>${id}` : id;\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id);\n subRows.forEach(subRow => {\n subRow.parentId = id;\n });\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth ? flattenBy(groupedRows, row => row.subRows) : groupedRows;\n const row = createRow(table, id, leafRows[0].original, index, depth, undefined, parentId);\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: columnId => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId];\n }\n if (groupedRows[0]) {\n var _groupedRows$0$getVal;\n row._valuesCache[columnId] = (_groupedRows$0$getVal = groupedRows[0].getValue(columnId)) != null ? _groupedRows$0$getVal : undefined;\n }\n return row._valuesCache[columnId];\n }\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId];\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId);\n const aggregateFn = column == null ? void 0 : column.getAggregationFn();\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(columnId, leafRows, groupedRows);\n return row._groupingValuesCache[columnId];\n }\n }\n });\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n });\n return row;\n });\n return aggregatedGroupedRows;\n };\n const groupedRows = groupUpRecursively(rowModel.rows, 0);\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n });\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById\n };\n }, getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {\n table._queue(() => {\n table._autoResetExpanded();\n table._autoResetPageIndex();\n });\n }));\n}\nfunction groupBy(rows, columnId) {\n const groupMap = new Map();\n return rows.reduce((map, row) => {\n const resKey = `${row.getGroupingValue(columnId)}`;\n const previous = map.get(resKey);\n if (!previous) {\n map.set(resKey, [row]);\n } else {\n previous.push(row);\n }\n return map;\n }, groupMap);\n}\n\nfunction getPaginationRowModel(opts) {\n return table => memo(() => [table.getState().pagination, table.getPrePaginationRowModel(), table.options.paginateExpandedRows ? undefined : table.getState().expanded], (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel;\n }\n const {\n pageSize,\n pageIndex\n } = pagination;\n let {\n rows,\n flatRows,\n rowsById\n } = rowModel;\n const pageStart = pageSize * pageIndex;\n const pageEnd = pageStart + pageSize;\n rows = rows.slice(pageStart, pageEnd);\n let paginatedRowModel;\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows,\n flatRows,\n rowsById\n });\n } else {\n paginatedRowModel = {\n rows,\n flatRows,\n rowsById\n };\n }\n paginatedRowModel.flatRows = [];\n const handleRow = row => {\n paginatedRowModel.flatRows.push(row);\n if (row.subRows.length) {\n row.subRows.forEach(handleRow);\n }\n };\n paginatedRowModel.rows.forEach(handleRow);\n return paginatedRowModel;\n }, getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel'));\n}\n\nfunction getSortedRowModel() {\n return table => memo(() => [table.getState().sorting, table.getPreSortedRowModel()], (sorting, rowModel) => {\n if (!rowModel.rows.length || !(sorting != null && sorting.length)) {\n return rowModel;\n }\n const sortingState = table.getState().sorting;\n const sortedFlatRows = [];\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort => {\n var _table$getColumn;\n return (_table$getColumn = table.getColumn(sort.id)) == null ? void 0 : _table$getColumn.getCanSort();\n });\n const columnInfoById = {};\n availableSorting.forEach(sortEntry => {\n const column = table.getColumn(sortEntry.id);\n if (!column) return;\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortingFn: column.getSortingFn()\n };\n });\n const sortData = rows => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.map(row => ({\n ...row\n }));\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n var _sortEntry$desc;\n const sortEntry = availableSorting[i];\n const columnInfo = columnInfoById[sortEntry.id];\n const sortUndefined = columnInfo.sortUndefined;\n const isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;\n let sortInt = 0;\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id);\n const bValue = rowB.getValue(sortEntry.id);\n const aUndefined = aValue === undefined;\n const bUndefined = bValue === undefined;\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1;\n if (sortUndefined === 'last') return aUndefined ? 1 : -1;\n sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;\n }\n }\n if (sortInt === 0) {\n sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1;\n }\n if (columnInfo.invertSorting) {\n sortInt *= -1;\n }\n return sortInt;\n }\n }\n return rowA.index - rowB.index;\n });\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n var _row$subRows;\n sortedFlatRows.push(row);\n if ((_row$subRows = row.subRows) != null && _row$subRows.length) {\n row.subRows = sortData(row.subRows);\n }\n });\n return sortedData;\n };\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById\n };\n }, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));\n}\n\nexport { ColumnFaceting, ColumnFiltering, ColumnGrouping, ColumnOrdering, ColumnPinning, ColumnSizing, ColumnVisibility, GlobalFaceting, GlobalFiltering, Headers, RowExpanding, RowPagination, RowPinning, RowSelection, RowSorting, _getVisibleLeafColumns, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, createRow, createTable, defaultColumnSizing, expandRows, filterFns, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getMemoOptions, getPaginationRowModel, getSortedRowModel, isFunction, isNumberArray, isRowSelected, isSubRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, reSplitAlphaNumeric, selectRowsFn, shouldAutoRemoveFilter, sortingFns };\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0],"mappings":"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"}