@marimo-team/frontend 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/dist/assets/ConnectedDataExplorerComponent-2wVcyvDj.js +19 -0
  2. package/dist/assets/{ImageComparisonComponent-fTHv1Ih0.js → ImageComparisonComponent-D2j6i0hv.js} +1 -1
  3. package/dist/assets/{VegaLite-Bdi-TyfY.js → VegaLite-BckFaf2D.js} +1 -1
  4. package/dist/assets/_baseEach-CvTX9w0Y.js +1 -0
  5. package/dist/assets/_baseMap-CtlwA90f.js +1 -0
  6. package/dist/assets/_baseUniq-BKktIGQ1.js +1 -0
  7. package/dist/assets/{_createAggregator-DcD0kTA5.js → _createAggregator-C5CVY-0t.js} +1 -1
  8. package/dist/assets/{agent-panel-Crv430aI.js → agent-panel-RGLNjkYe.js} +76 -57
  9. package/dist/assets/{any-language-editor-CQh552Wu.js → any-language-editor-DjuXwGCA.js} +1 -1
  10. package/dist/assets/{architectureDiagram-W76B3OCA-BAJeBxzt.js → architectureDiagram-W76B3OCA-Dyj4ds_R.js} +1 -1
  11. package/dist/assets/{between-horizontal-start-Boxgxbt_.js → between-horizontal-start-Dt2aKpPf.js} +1 -1
  12. package/dist/assets/{blockDiagram-QIGZ2CNN-CL-1svEK.js → blockDiagram-QIGZ2CNN-o-i7DDvN.js} +1 -1
  13. package/dist/assets/{c4Diagram-FPNF74CW-BbEqbCTl.js → c4Diagram-FPNF74CW-DGHEwWrx.js} +1 -1
  14. package/dist/assets/channel-Co6iMgWq.js +1 -0
  15. package/dist/assets/chat-panel-9alr8FS4.js +3 -0
  16. package/dist/assets/{chunk-4BX2VUAB-C--8TXeE.js → chunk-4BX2VUAB-BJecb-Ri.js} +1 -1
  17. package/dist/assets/{chunk-55IACEB6-Bj00HDqq.js → chunk-55IACEB6-CAATkc4w.js} +1 -1
  18. package/dist/assets/{chunk-FMBD7UC4-C-lhB6hN.js → chunk-FMBD7UC4-DPuNbQ-f.js} +1 -1
  19. package/dist/assets/{chunk-K7UQS3LO-B-pGTXPt.js → chunk-K7UQS3LO-C8TWVLiH.js} +1 -1
  20. package/dist/assets/{chunk-QN33PNHL-DqUzGhvm.js → chunk-QN33PNHL-DiZZ09q4.js} +1 -1
  21. package/dist/assets/{chunk-QZHKN3VN-TntJHfSk.js → chunk-QZHKN3VN-BIUM7usu.js} +1 -1
  22. package/dist/assets/{chunk-TVAH2DTR-HUJb1psV.js → chunk-TVAH2DTR-vGTArPBG.js} +1 -1
  23. package/dist/assets/{chunk-TZMSLE5B-BK3C__t3.js → chunk-TZMSLE5B-D2KRqp_x.js} +1 -1
  24. package/dist/assets/{circle-play-DBLOv1Yu.js → circle-play-cjeNez0N.js} +1 -1
  25. package/dist/assets/classDiagram-KNZD7YFC-BbJ0rY3y.js +1 -0
  26. package/dist/assets/classDiagram-v2-RKCZMP56-BbJ0rY3y.js +1 -0
  27. package/dist/assets/{clear-button-BeoFbEKH.js → clear-button-C97JtAez.js} +1 -1
  28. package/dist/assets/clone-BMP0PsTa.js +1 -0
  29. package/dist/assets/{command-palette-CXZiSv0I.js → command-palette-B93Pjcky.js} +1 -1
  30. package/dist/assets/{common-C7oJcmCT.js → common-Du9rSOwD.js} +1 -1
  31. package/dist/assets/{compile-7L0MwhyI.js → compile-CZXqyOxa.js} +1 -1
  32. package/dist/assets/{cose-bilkent-S5V4N54A-BMkGLcVC.js → cose-bilkent-S5V4N54A-CqUN5Y9b.js} +1 -1
  33. package/dist/assets/{dagre-5GWH7T2D-BJtRienS.js → dagre-5GWH7T2D-RJqTI9DM.js} +1 -1
  34. package/dist/assets/{data-grid-overlay-editor-DBkmGtNs.js → data-grid-overlay-editor-DZN0q1LV.js} +1 -1
  35. package/dist/assets/datasources-panel-v7H3cR0p.js +1 -0
  36. package/dist/assets/{dependency-graph-panel-DEdOxp2X.js → dependency-graph-panel-CEog_O7V.js} +1 -1
  37. package/dist/assets/{diagram-N5W7TBWH-CmECY3nb.js → diagram-N5W7TBWH-D-l4zZ9d.js} +1 -1
  38. package/dist/assets/{diagram-QEK2KX5R-DMOVSNKD.js → diagram-QEK2KX5R-CCOmBUt-.js} +1 -1
  39. package/dist/assets/{diagram-S2PKOQOG-BiJ96PNQ.js → diagram-S2PKOQOG-C_I_9jnZ.js} +1 -1
  40. package/dist/assets/{documentation-panel-xULhaEv3.js → documentation-panel-C1BtMZ3M.js} +1 -1
  41. package/dist/assets/edit-page-B-oevUZ9.js +129 -0
  42. package/dist/assets/{ellipsis-vertical-BBqXIlc2.js → ellipsis-vertical-BEb-J8z6.js} +1 -1
  43. package/dist/assets/{empty-state-B3dA3G5P.js → empty-state-C99UyDE3.js} +1 -1
  44. package/dist/assets/{erDiagram-AWTI2OKA-MP1DiFRo.js → erDiagram-AWTI2OKA-BePOLi5M.js} +1 -1
  45. package/dist/assets/{error-panel-Cc1sv-Ag.js → error-panel-Bs34jXFh.js} +1 -1
  46. package/dist/assets/file-explorer-panel-Ck6UL861.js +1 -0
  47. package/dist/assets/{flowDiagram-PVAE7QVJ-BX7caPp7.js → flowDiagram-PVAE7QVJ-BgjFu5l7.js} +1 -1
  48. package/dist/assets/{ganttDiagram-OWAHRB6G-B462g4Yf.js → ganttDiagram-OWAHRB6G-YOPb3XSV.js} +4 -4
  49. package/dist/assets/{gitGraphDiagram-NY62KEGX-CGgvZ9-9.js → gitGraphDiagram-NY62KEGX-CGhqaDTy.js} +1 -1
  50. package/dist/assets/{glide-data-editor-C0gUFZON.js → glide-data-editor-9QUH6iso.js} +11 -11
  51. package/dist/assets/{graph-CHRVBzY5.js → graph-DQQFGrho.js} +1 -1
  52. package/dist/assets/home-page-DRKpPCrF.js +9 -0
  53. package/dist/assets/{index-C1v_Z9et.js → index-2252nrk6.js} +1 -1
  54. package/dist/assets/{index-CQDrxQ0j.js → index-Aeo6WiK7.js} +1 -1
  55. package/dist/assets/{index-C4Tn5NvJ.js → index-B8jXZ12t.js} +1 -1
  56. package/dist/assets/{index-DoRmcrKM.js → index-BAbIIxHU.js} +1 -1
  57. package/dist/assets/{index-BY93Ejhl.js → index-BJNCMUmG.js} +1 -1
  58. package/dist/assets/{index-CpTPJo4k.js → index-BW3k9Gss.js} +1 -1
  59. package/dist/assets/{index-D1vmG6DS.js → index-BjgnbONl.js} +1 -1
  60. package/dist/assets/{index-z9bohSQJ.js → index-BprjMYH5.js} +1 -1
  61. package/dist/assets/{index-BVgAenPd.js → index-C1ez98sk.js} +1 -1
  62. package/dist/assets/{index-D9UKkrr2.js → index-C2MD0vgD.js} +1 -1
  63. package/dist/assets/index-C7CoaNFb.js +578 -0
  64. package/dist/assets/{index-C-GhZ7ti.js → index-CFKO7WXI.js} +1 -1
  65. package/dist/assets/{index-lYa_leQE.js → index-CUFv_thQ.js} +1 -1
  66. package/dist/assets/{index-vmICa5KN.js → index-C_tkBKNO.js} +1 -1
  67. package/dist/assets/{index-C77h_TXN.js → index-CfaDbEdi.js} +1 -1
  68. package/dist/assets/{index-DEQvTChO.js → index-ClzeQrN7.js} +1 -1
  69. package/dist/assets/index-DadI618h.css +1 -0
  70. package/dist/assets/{index-DRMm6SNo.js → index-DdnKZNxM.js} +1 -1
  71. package/dist/assets/{index-CWMgowgL.js → index-G5QZppK2.js} +1 -1
  72. package/dist/assets/{index-Clbi_Yaq.js → index-SGLNXrGP.js} +1 -1
  73. package/dist/assets/{index-C-8WADat.js → index-aE43R74q.js} +1 -1
  74. package/dist/assets/infoDiagram-STP46IZ2-CJLOpSAf.js +2 -0
  75. package/dist/assets/{isEmpty-DU_ogP_D.js → isEmpty-D-4c7sMv.js} +1 -1
  76. package/dist/assets/{journeyDiagram-BIP6EPQ6-C6EgLP_Q.js → journeyDiagram-BIP6EPQ6-C94u3Mv3.js} +1 -1
  77. package/dist/assets/{kanban-definition-6OIFK2YF-BXzYO1yj.js → kanban-definition-6OIFK2YF-BEXYFzz7.js} +1 -1
  78. package/dist/assets/{layout-jihVw5-i.js → layout-Bz2BJ2ru.js} +1 -1
  79. package/dist/assets/{linear-C4blANlC.js → linear-D8s7K76e.js} +1 -1
  80. package/dist/assets/links-BpXlz1GG.js +7 -0
  81. package/dist/assets/{logs-panel-D401qzZh.js → logs-panel-DC7wpmPz.js} +1 -1
  82. package/dist/assets/{markdown-renderer-Cd9eYyaL.js → markdown-renderer-DRdSWR9X.js} +20 -20
  83. package/dist/assets/{mermaid-BEVuRz_O.js → mermaid-Y3x4hmD0.js} +1 -1
  84. package/dist/assets/{mermaid.core-CaSnaLH0.js → mermaid.core-DzthE35Y.js} +4 -4
  85. package/dist/assets/min-BBO3-1Hg.js +1 -0
  86. package/dist/assets/{mindmap-definition-Q6HEUPPD-BXUM5MT2.js → mindmap-definition-Q6HEUPPD-DktvuLe1.js} +1 -1
  87. package/dist/assets/{number-overlay-editor-4uWXGlPG.js → number-overlay-editor-BEfwI1IT.js} +1 -1
  88. package/dist/assets/outline-panel-CdsnAy2w.js +1 -0
  89. package/dist/assets/{packages-panel-CJL0MVlj.js → packages-panel-DiTA-d_D.js} +1 -1
  90. package/dist/assets/{pieDiagram-ADFJNKIX-Dxt5PVNo.js → pieDiagram-ADFJNKIX-DQDNQ-de.js} +1 -1
  91. package/dist/assets/{quadrantDiagram-LMRXKWRM-D4pUaA31.js → quadrantDiagram-LMRXKWRM-0kgIXc2-.js} +1 -1
  92. package/dist/assets/{react-plotly-cJZ0VWBq.js → react-plotly-DJqqfM7c.js} +1 -1
  93. package/dist/assets/{requirementDiagram-4UW4RH46-DVRTjgas.js → requirementDiagram-4UW4RH46-B5rb0ypd.js} +1 -1
  94. package/dist/assets/{run-page-BUEnMC9w.js → run-page-CFmLrv1R.js} +1 -1
  95. package/dist/assets/{sankeyDiagram-GR3RE2ED-CVFnD9C-.js → sankeyDiagram-GR3RE2ED-Dom7IlnF.js} +1 -1
  96. package/dist/assets/{scratchpad-panel-BIgRENkI.js → scratchpad-panel-CuHWpHO8.js} +1 -1
  97. package/dist/assets/{secrets-panel-xY5-V_BD.js → secrets-panel-CfHc5YD0.js} +1 -1
  98. package/dist/assets/{sequenceDiagram-C3RYC4MD-_lY4ZN_S.js → sequenceDiagram-C3RYC4MD-PNJWXQbw.js} +1 -1
  99. package/dist/assets/{slides-component-DMjQomc3.css → slides-component-C-LoGC1U.css} +1 -1
  100. package/dist/assets/{slides-component-Xjymwj7X.js → slides-component-CJgaTRZ0.js} +1 -1
  101. package/dist/assets/snippets-panel-B2EC1txM.js +1 -0
  102. package/dist/assets/sortBy-DZnlX29-.js +1 -0
  103. package/dist/assets/{state-C4NiC9tO.js → state-CWict9RU.js} +1 -1
  104. package/dist/assets/{stateDiagram-KXAO66HF-Da0JQWCn.js → stateDiagram-KXAO66HF-BE58aJnr.js} +1 -1
  105. package/dist/assets/stateDiagram-v2-UMBNRL4Z-CdThjimL.js +1 -0
  106. package/dist/assets/storage-DRaR04wR.js +26 -0
  107. package/dist/assets/{terminal-BPwTkXae.js → terminal-BX3Su5q7.js} +1 -1
  108. package/dist/assets/{time-Dv5_Ouz_.js → time-hUzZfpNE.js} +1 -1
  109. package/dist/assets/{timeline-definition-XQNQX7LJ-Dxh5Zu2e.js → timeline-definition-XQNQX7LJ-CqQP9t51.js} +1 -1
  110. package/dist/assets/tracing-B10Q1n-L.js +2 -0
  111. package/dist/assets/{tracing-panel-DAzrzNmm.js → tracing-panel-Du8WCnno.js} +2 -2
  112. package/dist/assets/{trash-Dc6DSjz_.js → trash-B81GTiv6.js} +1 -1
  113. package/dist/assets/{tree-jheoerAX.js → tree-6vW2ogkh.js} +1 -1
  114. package/dist/assets/{treemap-75Q7IDZK-IgpxeGaf.js → treemap-75Q7IDZK-CdwDwwsz.js} +27 -27
  115. package/dist/assets/variable-panel-D5qgJI7k.js +1 -0
  116. package/dist/assets/{vega-component-BpfpiPKI.js → vega-component-DJaJWMJM.js} +1 -1
  117. package/dist/assets/worker-fHbtoWvT.js +1 -0
  118. package/dist/assets/{xychartDiagram-6GGTOJPD-CmNigJ31.js → xychartDiagram-6GGTOJPD-WFtXqaM9.js} +1 -1
  119. package/dist/index.html +2 -2
  120. package/package.json +3 -2
  121. package/src/components/app-config/user-config-form.tsx +46 -1
  122. package/src/components/chat/acp/__tests__/__snapshots__/prompt.test.ts.snap +62 -43
  123. package/src/components/chat/acp/__tests__/atoms.test.ts +1 -1
  124. package/src/components/chat/acp/__tests__/state.test.ts +36 -36
  125. package/src/components/chat/acp/agent-panel.tsx +24 -27
  126. package/src/components/chat/acp/blocks.tsx +6 -6
  127. package/src/components/chat/acp/prompt.ts +62 -43
  128. package/src/components/chat/chat-panel.tsx +5 -1
  129. package/src/components/chat/markdown-renderer.tsx +6 -10
  130. package/src/components/chat/tool-call-accordion.tsx +52 -20
  131. package/src/components/data-table/SearchBar.tsx +8 -7
  132. package/src/components/data-table/__tests__/column_formatting.test.ts +50 -35
  133. package/src/components/data-table/__tests__/data-table.test.tsx +39 -1
  134. package/src/components/data-table/cell-hover-template/feature.ts +14 -0
  135. package/src/components/data-table/cell-hover-template/types.ts +11 -0
  136. package/src/components/data-table/charts/components/form-fields.tsx +41 -37
  137. package/src/components/data-table/charts/forms/common-chart.tsx +2 -2
  138. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +5 -2
  139. package/src/components/data-table/column-formatting/feature.ts +62 -29
  140. package/src/components/data-table/column-formatting/types.ts +1 -0
  141. package/src/components/data-table/column-header.tsx +3 -1
  142. package/src/components/data-table/column-summary/chart-spec-model.tsx +24 -7
  143. package/src/components/data-table/column-summary/column-summary.tsx +18 -9
  144. package/src/components/data-table/columns.tsx +42 -18
  145. package/src/components/data-table/data-table.tsx +10 -2
  146. package/src/components/data-table/date-popover.tsx +85 -75
  147. package/src/components/data-table/filter-pills.tsx +14 -9
  148. package/src/components/data-table/header-items.tsx +5 -1
  149. package/src/components/data-table/pagination.tsx +20 -13
  150. package/src/components/data-table/renderers.tsx +28 -0
  151. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +10 -8
  152. package/src/components/datasources/column-preview.tsx +6 -2
  153. package/src/components/datasources/datasources.tsx +8 -12
  154. package/src/components/editor/ai/transport/chat-transport.tsx +4 -1
  155. package/src/components/editor/cell/CellStatus.tsx +23 -20
  156. package/src/components/editor/cell/CreateCellButton.tsx +3 -4
  157. package/src/components/editor/cell/code/language-toggle.tsx +3 -4
  158. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +39 -28
  159. package/src/components/editor/controls/notebook-menu-dropdown.tsx +4 -2
  160. package/src/components/editor/file-tree/requesting-tree.tsx +14 -8
  161. package/src/components/editor/renderers/CellArray.tsx +3 -4
  162. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +3 -3
  163. package/src/components/editor/renderers/slides-layout/types.ts +1 -0
  164. package/src/components/pages/home-page.tsx +4 -1
  165. package/src/components/slides/slides-component.tsx +1 -1
  166. package/src/components/slides/slides.css +6 -0
  167. package/src/components/terminal/theme.tsx +1 -0
  168. package/src/components/tracing/tracing-spec.ts +5 -4
  169. package/src/components/ui/range-slider.tsx +4 -2
  170. package/src/components/ui/slider.tsx +3 -1
  171. package/src/components/variables/variables-table.tsx +3 -0
  172. package/src/core/MarimoApp.tsx +9 -6
  173. package/src/core/ai/context/__tests__/registry.test.ts +6 -4
  174. package/src/core/ai/context/providers/cell-output.ts +3 -2
  175. package/src/core/ai/context/providers/error.ts +3 -1
  176. package/src/core/ai/context/providers/file.ts +7 -2
  177. package/src/core/ai/context/providers/tables.ts +3 -2
  178. package/src/core/ai/context/providers/variable.ts +6 -4
  179. package/src/core/ai/staged-cells.ts +34 -1
  180. package/src/core/cells/__tests__/add-missing-import.test.ts +67 -22
  181. package/src/core/cells/add-missing-import.ts +24 -7
  182. package/src/core/cells/cells.ts +26 -27
  183. package/src/core/cells/logs.ts +1 -1
  184. package/src/core/codemirror/find-replace/search-highlight.ts +3 -1
  185. package/src/core/codemirror/language/LanguageAdapters.ts +9 -3
  186. package/src/core/codemirror/lsp/notebook-lsp.ts +8 -2
  187. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  188. package/src/core/codemirror/rtc/loro/awareness.ts +52 -17
  189. package/src/core/codemirror/rtc/loro/sync.ts +12 -4
  190. package/src/core/config/config-schema.ts +1 -0
  191. package/src/core/config/config.ts +4 -0
  192. package/src/core/hotkeys/hotkeys.ts +8 -4
  193. package/src/core/i18n/__tests__/locale-provider.test.tsx +176 -0
  194. package/src/core/i18n/locale-provider.tsx +35 -0
  195. package/src/core/i18n/with-locale.tsx +12 -0
  196. package/src/core/islands/components/web-components.tsx +13 -10
  197. package/src/core/kernel/RuntimeState.ts +4 -1
  198. package/src/core/kernel/messages.ts +2 -2
  199. package/src/core/network/DeferredRequestRegistry.ts +16 -4
  200. package/src/core/runtime/runtime.ts +5 -4
  201. package/src/core/wasm/bridge.ts +5 -1
  202. package/src/core/wasm/store.ts +4 -1
  203. package/src/core/wasm/worker/message-buffer.ts +3 -2
  204. package/src/core/websocket/types.ts +22 -16
  205. package/src/hooks/useFormatting.ts +97 -0
  206. package/src/hooks/useTimer.ts +8 -5
  207. package/src/plugins/core/registerReactComponent.tsx +16 -10
  208. package/src/plugins/impl/DataTablePlugin.tsx +4 -0
  209. package/src/plugins/impl/RangeSliderPlugin.tsx +5 -3
  210. package/src/plugins/impl/SliderPlugin.tsx +3 -1
  211. package/src/plugins/impl/anywidget/model.ts +16 -5
  212. package/src/plugins/impl/data-editor/types.ts +7 -5
  213. package/src/plugins/impl/data-explorer/components/column-summary.tsx +20 -13
  214. package/src/plugins/impl/panel/utils.ts +6 -4
  215. package/src/plugins/layout/OutlinePlugin.tsx +69 -0
  216. package/src/plugins/layout/StatPlugin.tsx +4 -1
  217. package/src/plugins/plugins.ts +2 -0
  218. package/src/utils/__tests__/dates.test.ts +45 -24
  219. package/src/utils/__tests__/numbers.test.ts +42 -30
  220. package/src/utils/__tests__/once.test.ts +187 -0
  221. package/src/utils/dates.ts +15 -10
  222. package/src/utils/edit-distance.ts +8 -6
  223. package/src/utils/errors.ts +1 -1
  224. package/src/utils/id-tree.tsx +21 -10
  225. package/src/utils/localStorage.ts +13 -4
  226. package/src/utils/numbers.ts +11 -11
  227. package/src/utils/once.ts +32 -0
  228. package/src/utils/paths.ts +4 -1
  229. package/src/utils/pluralize.ts +12 -5
  230. package/src/utils/python-poet/poet.ts +30 -15
  231. package/src/utils/time.ts +5 -1
  232. package/dist/assets/ConnectedDataExplorerComponent-BErMbWvG.js +0 -19
  233. package/dist/assets/_baseEach-CNBxBxvS.js +0 -1
  234. package/dist/assets/_baseMap-D1WHjKrd.js +0 -1
  235. package/dist/assets/_baseUniq-CCgDNtZb.js +0 -1
  236. package/dist/assets/channel-_2eNSz0n.js +0 -1
  237. package/dist/assets/chat-panel-CXh5Wl6C.js +0 -3
  238. package/dist/assets/classDiagram-KNZD7YFC-BGmh9POF.js +0 -1
  239. package/dist/assets/classDiagram-v2-RKCZMP56-BGmh9POF.js +0 -1
  240. package/dist/assets/clone-BFDSPAj3.js +0 -1
  241. package/dist/assets/datasources-panel-B7FbYLiy.js +0 -1
  242. package/dist/assets/edit-page-BrYda9VE.js +0 -129
  243. package/dist/assets/file-explorer-panel-Bw59Kva1.js +0 -1
  244. package/dist/assets/home-page-Fb2osjys.js +0 -9
  245. package/dist/assets/index-Cx0bsY1w.css +0 -1
  246. package/dist/assets/index-DKEudB02.js +0 -578
  247. package/dist/assets/infoDiagram-STP46IZ2-CVyrdLc8.js +0 -2
  248. package/dist/assets/links-D59GIweI.js +0 -7
  249. package/dist/assets/min-DUMu_zeK.js +0 -1
  250. package/dist/assets/outline-panel-DIzkvm2I.js +0 -1
  251. package/dist/assets/snippets-panel-CTPYW41n.js +0 -1
  252. package/dist/assets/sortBy-BNZKwiq_.js +0 -1
  253. package/dist/assets/stateDiagram-v2-UMBNRL4Z-D5lYZOOt.js +0 -1
  254. package/dist/assets/storage-CMdLzB_c.js +0 -26
  255. package/dist/assets/tracing-BCIurUfa.js +0 -2
  256. package/dist/assets/variable-panel-DYAiLBmF.js +0 -1
  257. package/dist/assets/worker-X5rxzQGQ.js +0 -1
@@ -1,19 +0,0 @@
1
- import{c as Gn,ai as zn,gp as po,j as x,gq as ho,gr as go,gs as mo,gt as yo,a as Ee,r as Yn,dk as ke,T as vo,aX as Qn,dp as pt,gu as Vn,dd as ht,de as Ke,ds as gt,L as bo,e_ as xo,M as Eo,as as To,K as Kt,dq as Kn,eb as So,gv as Jn,gw as wo,b$ as No,gx as Co,gy as Ao,gz as Oo,b as ko,u as Mo,dJ as Io,E as Uo,ay as Fo,gA as Do,cp as _o,_ as jo,d as Po}from"./index-DKEudB02.js";import{U as Ro,e as $o,V as Bo}from"./compile-7L0MwhyI.js";import{a as Xn}from"./VegaLite-Bdi-TyfY.js";import"./time-Dv5_Ouz_.js";import"./timer-Bqd5yn_a.js";import"./linear-C4blANlC.js";import"./init-DLRA0X12.js";import"./range-CtcPcB_L.js";import"./zoom-COrs4lFh.js";import"./ordinal-DDUp3AbE.js";import"./colors-bszWmPJw.js";import"./step-BwsUM5iJ.js";import"./arc-Cuwikxov.js";import"./index-BEQfoZiP.js";import"./index-C4Tn5NvJ.js";/**
2
- * @license lucide-react v0.542.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const Lo=Gn("chart-column-big",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["rect",{x:"15",y:"5",width:"4",height:"12",rx:"1",key:"q8uenq"}],["rect",{x:"7",y:"8",width:"4",height:"9",rx:"1",key:"sr5ea"}]]),Wo=Gn("list-ordered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/*! *****************************************************************************
7
- Copyright (c) Microsoft Corporation. All rights reserved.
8
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
9
- this file except in compliance with the License. You may obtain a copy of the
10
- License at http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
13
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
14
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
15
- MERCHANTABLITY OR NON-INFRINGEMENT.
16
-
17
- See the Apache Version 2.0 License for specific language governing permissions
18
- and limitations under the License.
19
- ***************************************************************************** */function $e(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(o=Object.getOwnPropertySymbols(e);i<o.length;i++)t.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(n[o[i]]=e[o[i]])}return n}var Zn,er,tr,Ho={exports:{}};Zn||(Zn=1,(function(e){var t=(function(){function n(s,u){return u!=null&&s instanceof u}var o,i,c;try{o=Map}catch{o=function(){}}try{i=Set}catch{i=function(){}}try{c=Promise}catch{c=function(){}}function d(s,u,l,f,p){typeof u=="object"&&(l=u.depth,f=u.prototype,p=u.includeNonEnumerable,u=u.circular);var h=[],m=[],v=typeof Buffer<"u";return u===void 0&&(u=!0),l===void 0&&(l=1/0),(function b(y,E){if(y===null)return null;if(E===0)return y;var T,S;if(typeof y!="object")return y;if(n(y,o))T=new o;else if(n(y,i))T=new i;else if(n(y,c))T=new c(function(ye,ve){y.then(function(be){ye(b(be,E-1))},function(be){ve(b(be,E-1))})});else if(d.__isArray(y))T=[];else if(d.__isRegExp(y))T=new RegExp(y.source,r(y)),y.lastIndex&&(T.lastIndex=y.lastIndex);else if(d.__isDate(y))T=new Date(y.getTime());else{if(v&&Buffer.isBuffer(y))return T=Buffer.allocUnsafe?Buffer.allocUnsafe(y.length):new Buffer(y.length),y.copy(T),T;n(y,Error)?T=Object.create(y):f===void 0?(S=Object.getPrototypeOf(y),T=Object.create(S)):(T=Object.create(f),S=f)}if(u){var N=h.indexOf(y);if(N!=-1)return m[N];h.push(y),m.push(T)}for(var C in n(y,o)&&y.forEach(function(ye,ve){var be=b(ve,E-1),lt=b(ye,E-1);T.set(be,lt)}),n(y,i)&&y.forEach(function(ye){var ve=b(ye,E-1);T.add(ve)}),y){var M;S&&(M=Object.getOwnPropertyDescriptor(S,C)),M&&M.set==null||(T[C]=b(y[C],E-1))}if(Object.getOwnPropertySymbols){var A=Object.getOwnPropertySymbols(y);for(C=0;C<A.length;C++){var _=A[C];(!(P=Object.getOwnPropertyDescriptor(y,_))||P.enumerable||p)&&(T[_]=b(y[_],E-1),P.enumerable||Object.defineProperty(T,_,{enumerable:!1}))}}if(p){var J=Object.getOwnPropertyNames(y);for(C=0;C<J.length;C++){var P,Ae=J[C];(P=Object.getOwnPropertyDescriptor(y,Ae))&&P.enumerable||(T[Ae]=b(y[Ae],E-1),Object.defineProperty(T,Ae,{enumerable:!1}))}}return T})(s,l)}function a(s){return Object.prototype.toString.call(s)}function r(s){var u="";return s.global&&(u+="g"),s.ignoreCase&&(u+="i"),s.multiline&&(u+="m"),u}return d.clonePrototype=function(s){if(s===null)return null;var u=function(){};return u.prototype=s,new u},d.__objToStr=a,d.__isDate=function(s){return typeof s=="object"&&a(s)==="[object Date]"},d.__isArray=function(s){return typeof s=="object"&&a(s)==="[object Array]"},d.__isRegExp=function(s){return typeof s=="object"&&a(s)==="[object RegExp]"},d.__getRegExpFlags=r,d})();e.exports&&(e.exports=t)})(Ho));var qo=(tr||(tr=1,er=function(e,t){t||(t={}),typeof t=="function"&&(t={cmp:t});var n,o=typeof t.cycles=="boolean"&&t.cycles,i=t.cmp&&(n=t.cmp,function(d){return function(a,r){var s={key:a,value:d[a]},u={key:r,value:d[r]};return n(s,u)}}),c=[];return(function d(a){if(a&&a.toJSON&&typeof a.toJSON=="function"&&(a=a.toJSON()),a!==void 0){if(typeof a=="number")return isFinite(a)?""+a:"null";if(typeof a!="object")return JSON.stringify(a);var r,s;if(Array.isArray(a)){for(s="[",r=0;r<a.length;r++)r&&(s+=","),s+=d(a[r])||"null";return s+"]"}if(a===null)return"null";if(c.indexOf(a)!==-1){if(o)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var u=c.push(a)-1,l=Object.keys(a).sort(i&&i(a));for(s="",r=0;r<l.length;r++){var f=l[r],p=d(a[f]);p&&(s&&(s+=","),s+=JSON.stringify(f)+":"+p)}return c.splice(u,1),"{"+s+"}"}})(e)}),er);const nr=zn(qo);function Be(e,t,n){return e.fields=t||[],e.fname=n,e}function Jt(e){throw Error(e)}function Xt(e){var t,n,o,i=[],c=null,d=0,a=e.length,r="";function s(){i.push(r+e.substring(t,n)),r="",t=n+1}for(e+="",t=n=0;n<a;++n)if((o=e[n])==="\\")r+=e.substring(t,n),t=++n;else if(o===c)s(),c=null,d=-1;else{if(c)continue;t===d&&o==='"'||t===d&&o==="'"?(t=n+1,c=o):o!=="."||d?o==="["?(n>t&&s(),d=t=n+1):o==="]"&&(d||Jt("Access path missing open bracket: "+e),d>0&&s(),d=0,t=n+1):n>t?s():t=n+1}return d&&Jt("Access path missing closing bracket: "+e),c&&Jt("Access path missing closing quote: "+e),n>t&&(n++,s()),i}const mt=Array.isArray;function rr(e){return e===Object(e)}function Zt(e){return typeof e=="string"}function en(e){return mt(e)?"["+e.map(en)+"]":rr(e)||Zt(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}var Je=[];function yt(e,t,n){var o=[t].concat([].slice.call(n));console[e](...o)}(function(e){var t=Xt(e),n="return _["+t.map(en).join("][")+"];";Be(Function("_",n),[e=t.length===1?t[0]:e],e)})("id"),Be(function(e){return e},Je,"identity"),Be(function(){return 0},Je,"zero"),Be(function(){return 1},Je,"one"),Be(function(){return!0},Je,"true"),Be(function(){return!1},Je,"false");function tn(e){return typeof e=="boolean"}function Le(e){for(var t={},n=0,o=e.length;n<o;++n)t[e[n]]=!0;return t}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>nr(e)).join(",")})`};const V=nr;function z(e,t){return e.indexOf(t)>-1}const ue=Object.keys,ne="row",ee="column",ir="facet",I="x",U="y",nn="x2",rn="y2",or="latitude",ar="longitude",sr="latitude2",cr="longitude2",de="color",vt="fill",bt="stroke",Xe="shape",Te="size",xt="opacity",Et="fillOpacity",Tt="strokeOpacity",St="strokeWidth",on="text",lr="order",an="detail",ur="key",dr="tooltip",fr="href",sn=Object.assign({},{x:1,y:1,x2:1,y2:1},{longitude:1,longitude2:1,latitude:1,latitude2:1},{color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,size:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1});function wt(e){return e==="color"||e==="fill"||e==="stroke"}const Ze=Object.assign({},sn,{row:1,column:1,facet:1}),Go=ue(Ze),{order:bc,detail:xc}=Ze;$e(Ze,["order","detail"]);const{order:Ec,detail:Tc,row:Sc,column:wc,facet:Nc}=Ze;$e(Ze,["order","detail","row","column","facet"]);const{x:Cc,y:Ac,x2:Oc,y2:kc,latitude:Mc,longitude:Ic,latitude2:Uc,longitude2:Fc}=sn,cn=$e(sn,["x","y","x2","y2","latitude","longitude","latitude2","longitude2"]),pr=ue(cn),{text:Dc,tooltip:_c,href:jc,detail:Pc,key:Rc,order:$c}=cn,zo=$e(cn,["text","tooltip","href","detail","key","order"]),Yo=Object.assign({},{x:1,y:1},zo);function Qo(e,t){return(function(n){switch(n){case de:case vt:case bt:case an:case ur:case dr:case fr:case lr:case xt:case Et:case Tt:case St:case ir:case ne:case ee:return ln;case I:case U:case or:case ar:return Vo;case nn:case rn:case sr:case cr:return{rule:"always",bar:"always",rect:"always",area:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Te:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Xe:return{point:"always",geoshape:"always"};case on:return{text:"always"}}})(e)[t]}const ln={area:"always",bar:"always",circle:"always",geoshape:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},{geoshape:Bc}=ln,Vo=$e(ln,["geoshape"]);function un(e){switch(e){case I:case U:case Te:case St:case xt:case Et:case Tt:case nn:case rn:return;case ir:case ne:case ee:case Xe:case on:case dr:case fr:return"discrete";case de:case vt:case bt:return"flexible";case or:case ar:case sr:case cr:case an:case ur:case lr:return}throw new Error("rangeType not implemented for "+e)}const hr={orient:1,bandPosition:1,domain:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,values:1,zindex:1},Ko=Object.assign({},hr,{encoding:1});Object.assign({gridScale:1,scale:1},hr,{encode:1});const gr=ue(Ko),mr={clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1};Object.assign({},mr,{opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,encode:1});const yr=ue(mr),Jo=Object.freeze(Object.defineProperty({__proto__:null,BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL:"Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.",CANNOT_FIX_RANGE_STEP_WITH_FIT:'Cannot use a fixed value of "rangeStep" when "autosize" is "fit".',CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN:"custom domain scale cannot be unioned with default field-based domain",CONCAT_CANNOT_SHARE_AXIS:"Axes cannot be shared in concatenated views yet (https://github.com/vega/vega-lite/issues/2415).",FIT_NON_SINGLE:'Autosize "fit" only works for single views and layered views.',INVALID_CHANNEL_FOR_AXIS:"Invalid channel for axis.",INVALID_SPEC:"Invalid spec",LINE_WITH_VARYING_SIZE:"Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.",MORE_THAN_ONE_SORT:"Domains that should be unioned has conflicting sort properties. Sort will be set to true.",NO_FIELDS_NEEDS_AS:'If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.',NO_INIT_SCALE_BINDINGS:"Selections bound to scales cannot be separately initialized.",REPEAT_CANNOT_SHARE_AXIS:"Axes cannot be shared in repeated views yet (https://github.com/vega/vega-lite/issues/2415).",SCALE_BINDINGS_CONTINUOUS:"Scale bindings are currently only supported for scales with unbinned, continuous domains.",UNABLE_TO_MERGE_DOMAINS:"Unable to merge domains",cannotApplySizeToNonOrientedMark:function(e){return`Cannot apply size to non-oriented mark "${e}".`},cannotProjectOnChannelWithoutField:function(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`},cannotStackNonLinearScale:function(e){return`Cannot stack non-linear scale (${e})`},cannotStackRangedMark:function(e){return`Cannot stack "${e}" if there is already "${e}2"`},cannotUseScalePropertyWithNonColor:function(e){return`Cannot use the scale property "${e}" with non-color channel.`},channelRequiredForBinned:function(e){return`Channel ${e} is required for "binned" bin`},columnsNotSupportByRowCol:function(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`},dayReplacedWithDate:function(e){return`Time unit "${e}" is not supported. We are replacing it with ${e.replace("day","date")}.`},differentParse:function(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`},discreteChannelCannotEncode:function(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${t==="ordinal"?"order":"magnitude"}.`},domainRequiredForThresholdScale:function(e){return`Domain for ${e} is required for threshold scale`},domainSortDropped:function(e){return`Dropping sort property ${V(e)} as unioned domains only support boolean or op 'count'.`},droppedDay:function(e){return`Dropping day from datetime ${V(e)} as day cannot be combined with other units.`},droppingColor:function(e,t){const{fill:n,stroke:o}=t;return`Dropping color ${e} as the plot also has `+(n&&o?"fill and stroke":n?"fill":"stroke")},emptyFieldDef:function(e,t){return`Dropping ${V(e)} from channel "${t}" since it does not contain data field or value.`},encodingOverridden:function(e){return`Layer's shared ${e.join(",")} channel ${e.length===1?"is":"are"} overriden`},errorBand1DNotSupport:function(e){return`1D error band does not support ${e}`},errorBarCenterAndExtentAreNotNeeded:function(e,t){return`${t?"extent ":""}${t&&e?"and ":""}${e?"center ":""}${t&&e?"are ":"is "}not needed when data are aggregated.`},errorBarCenterIsNotNeeded:function(e,t){return`Center is not needed to be specified in ${t} when extent is ${e}.`},errorBarCenterIsUsedWithWrongExtent:function(e,t,n){return`${e} is not usually used with ${t} for ${n}.`},errorBarContinuousAxisHasCustomizedAggregate:function(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`},facetChannelDropped:function(e){return`Facet encoding dropped as ${e.join(" and ")} ${e.length>1?"are":"is"} also specified.`},facetChannelShouldBeDiscrete:function(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`},incompatibleChannel:function(e,t,n){return`${e} dropped as it is incompatible with "${t}"${n?` when ${n}`:""}.`},independentScaleMeansIndependentGuide:function(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`},invalidAggregate:function(e){return`Invalid aggregation operator "${e}"`},invalidEncodingChannel:function(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`},invalidFieldType:function(e){return`Invalid field type "${e}"`},invalidFieldTypeForCountAggregate:function(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`},invalidTimeUnit:function(e,t){return`Invalid ${e}: ${V(t)}`},invalidTransformIgnored:function(e){return`Ignoring an invalid transform: ${V(e)}.`},latLongDeprecated:function(e,t,n){return`${e}-encoding with type ${t} is deprecated. Replacing with ${n}-encoding.`},lineWithRange:function(e,t){return`Line mark is for continuous lines and thus cannot be used with ${e&&t?"x2 and y2":e?"x2":"y2"}. We will use the rule mark (line segments) instead.`},mergeConflictingDomainProperty:function(e,t,n,o){return`Conflicting ${t.toString()} property "${e.toString()}" (${V(n)} and ${V(o)}). Using the union of the two domains.`},mergeConflictingProperty:function(e,t,n,o){return`Conflicting ${t.toString()} property "${e.toString()}" (${V(n)} and ${V(o)}). Using ${V(n)}.`},missingFieldType:function(e,t){return`Missing type for channel "${e}", using "${t}" instead.`},nearestNotSupportForContinuous:function(e){return`The "nearest" transform is not supported for ${e} marks.`},noSuchRepeatedValue:function(e){return`Unknown repeated value "${e}".`},nonZeroScaleUsedWithLengthMark:function(e,t,n){return`A ${n.scaleType?`${n.scaleType} scale`:n.zeroFalse?"scale with zero=false":"scale with custom domain that excludes zero"} is used to encode ${e}'s ${t}. This can be misleading as the ${t==="x"?"width":"height"} of the ${e} can be arbitrary based on the scale domain. You may want to use point mark instead.`},orientOverridden:function(e,t){return`Specified orient "${e}" overridden with "${t}"`},primitiveChannelDef:function(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${V(n)}}.`},projectionOverridden:function(e){const{parentProjection:t,projection:n}=e;return`Layer's shared projection ${V(t)} is overridden by a child projection ${V(n)}.`},rangeStepDropped:function(e){return`rangeStep for "${e}" is dropped as top-level ${e==="x"?"width":"height"} is provided.`},scalePropertyNotWorkWithScaleType:function(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`},scaleTypeNotWorkWithChannel:function(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`},scaleTypeNotWorkWithFieldDef:function(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`},scaleTypeNotWorkWithMark:function(e,t){return`Scale type "${t}" does not work with mark "${e}".`},selectionNotFound:function(e){return`Cannot find a selection named "${e}"`},selectionNotSupported:function(e){return`Selection not supported for ${e} yet`},stackNonSummativeAggregate:function(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}")`},unaggregateDomainHasNoEffectForRawField:function(e){return`Using unaggregated domain with raw field has no effect (${V(e)}).`},unaggregateDomainWithNonSharedDomainOp:function(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`},unaggregatedDomainWithLogScale:function(e){return`Unaggregated domain is currently unsupported for log scale (${V(e)}).`},unrecognizedParse:function(e){return`Unrecognized parse "${e}".`}},Symbol.toStringTag,{value:"Module"})),re=Jo;var Me;let vr=(Me=2,{level:function(e){return arguments.length?(Me=+e,this):Me},error:function(){return Me>=1&&yt("error","ERROR",arguments),this},warn:function(){return Me>=2&&yt("warn","WARN",arguments),this},info:function(){return Me>=3&&yt("log","INFO",arguments),this},debug:function(){return Me>=4&&yt("log","DEBUG",arguments),this}});function Se(...e){vr.warn.apply(vr,arguments)}const Xo={quantitative:1,ordinal:1,temporal:1,nominal:1,geojson:1},j="quantitative",ce="ordinal",Y="temporal",ie="nominal";var F;(function(e){e.LINEAR="linear",e.LOG="log",e.POW="pow",e.SQRT="sqrt",e.SYMLOG="symlog",e.TIME="time",e.UTC="utc",e.QUANTILE="quantile",e.QUANTIZE="quantize",e.THRESHOLD="threshold",e.BIN_ORDINAL="bin-ordinal",e.ORDINAL="ordinal",e.POINT="point",e.BAND="band"})(F||(F={}));const Zo=ue({linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"}),br=["linear","log","pow","sqrt","symlog","time","utc"],ea=Le(br),ta=Le(["quantile","quantize","threshold"]),na=Le(br.concat(["quantile","quantize","threshold"])),ra=Le(["ordinal","bin-ordinal","point","band"]);function Ie(e){return e in ra}function We(e){return e in ea}const dn={type:1,domain:1,align:1,range:1,rangeStep:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},xr=ue(dn),{type:Lc,domain:Wc,range:Hc,rangeStep:qc,scheme:Gc}=dn;function fn(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!z(["point","band","identity"],e);case"bins":return!z(["point","band","identity","ordinal"],e);case"round":return We(e)||e==="band"||e==="point";case"padding":return We(e)||z(["point","band"],e);case"paddingOuter":case"rangeStep":case"align":return z(["point","band"],e);case"paddingInner":return e==="band";case"clamp":return We(e);case"nice":return We(e)||e==="quantize"||e==="threshold";case"exponent":return e==="pow";case"base":return e==="log";case"constant":return e==="symlog";case"zero":return(function(n){return n in na})(e)&&!z(["log","time","utc","threshold","quantile"],e)}}function ia(e,t){switch(t){case"interpolate":case"scheme":return wt(e)?void 0:re.cannotUseScalePropertyWithNonColor(e);case"align":case"type":case"bins":case"domain":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeStep":case"reverse":case"round":case"clamp":case"zero":return}}function Er(e,t){return z([ce,ie],t)?e===void 0||Ie(e):t===Y?z([F.TIME,F.UTC,void 0],e):t!==j||z([F.LOG,F.POW,F.SQRT,F.SYMLOG,F.QUANTILE,F.QUANTIZE,F.THRESHOLD,F.LINEAR,void 0],e)}function Tr(e,t){switch(e){case I:case U:return We(t)||z(["band","point"],t);case Te:case St:case xt:case Et:case Tt:return We(t)||(function(n){return n in ta})(t)||z(["band","point"],t);case de:case vt:case bt:return t!=="band";case Xe:return t==="ordinal"}return!1}function oa(e,t){return e+"_"+t}$e(dn,["type","domain","range","rangeStep","scheme"]),(function(){const e={};for(const t of Go)for(const n of ue(Xo))for(const o of Zo){const i=oa(t,n);Tr(t,o)&&Er(o,n)&&(e[i]=e[i]||[],e[i].push(o))}})();var Sr,wr={exports:{}};function et(){return Sr||(Sr=1,(function(){var e=wr.exports,t="__name__";e.namedfunc=function(a,r){return r[t]=a,r},e.name=function(a){return a==null?null:a[t]},e.identity=function(a){return a},e.true=e.namedfunc("true",function(){return!0}),e.false=e.namedfunc("false",function(){return!1}),e.duplicate=function(a){return JSON.parse(JSON.stringify(a))},e.equal=function(a,r){return JSON.stringify(a)===JSON.stringify(r)},e.extend=function(a){for(var r,s,u=1,l=arguments.length;u<l;++u)for(s in r=arguments[u])a[s]=r[s];return a},e.length=function(a){return a!=null&&a.length!=null?a.length:null},e.keys=function(a){var r,s=[];for(r in a)s.push(r);return s},e.vals=function(a){var r,s=[];for(r in a)s.push(a[r]);return s},e.toMap=function(a,r){return(r=e.$(r))?a.reduce(function(s,u){return s[r(u)]=1,s},{}):a.reduce(function(s,u){return s[u]=1,s},{})},e.keystr=function(a){var r=a.length;if(!r)return"";for(var s=String(a[0]),u=1;u<r;++u)s+="|"+String(a[u]);return s};var n=Object.prototype.toString;e.isObject=function(a){return a===Object(a)},e.isFunction=function(a){return n.call(a)==="[object Function]"},e.isString=function(a){return typeof value=="string"||n.call(a)==="[object String]"},e.isArray=Array.isArray||function(a){return n.call(a)==="[object Array]"},e.isNumber=function(a){return typeof a=="number"||n.call(a)==="[object Number]"},e.isBoolean=function(a){return a===!0||a===!1||n.call(a)=="[object Boolean]"},e.isDate=function(a){return n.call(a)==="[object Date]"},e.isValid=function(a){return a!=null&&a==a},e.isBuffer=typeof Buffer=="function"&&Buffer.isBuffer||e.false,e.number=function(a){return a==null||a===""?null:+a},e.boolean=function(a){return a==null||a===""?null:a!=="false"&&!!a},e.date=function(a,r){var s=r||Date;return a==null||a===""?null:s.parse(a)},e.array=function(a){return a!=null?e.isArray(a)?a:[a]:[]},e.str=function(a){return e.isArray(a)?"["+a.map(e.str)+"]":e.isObject(a)||e.isString(a)?JSON.stringify(a).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):a};var o=/\[(.*?)\]|[^.\[]+/g;function i(a,r){var s,u="";for(s=0;s<a;++s)u+=r;return u}function c(a,r,s){var u=0,l=a.split(d);return(a=s?(l=l.reverse()).filter(function(f){return(u+=f.length)<=r}).reverse():l.filter(function(f){return(u+=f.length)<=r})).length?a.join("").trim():l[0].slice(0,r)}e.field=function(a){return String(a).match(o).map(function(r){return r[0]!=="["?r:r[1]!=="'"&&r[1]!=='"'?r.slice(1,-1):r.slice(2,-2).replace(/\\(["'])/g,"$1")})},e.accessor=function(a){return a==null||e.isFunction(a)?a:e.namedfunc(a,Function("x","return x["+e.field(a).map(e.str).join("][")+"];"))},e.$=e.accessor,e.mutator=function(a){var r;return e.isString(a)&&(r=e.field(a)).length>1?function(s,u){for(var l=0;l<r.length-1;++l)s=s[r[l]];s[r[l]]=u}:function(s,u){s[a]=u}},e.$func=function(a,r){return function(s){s=e.$(s)||e.identity;var u=a+(e.name(s)?"_"+e.name(s):"");return e.namedfunc(u,function(l){return r(s(l))})}},e.$valid=e.$func("valid",e.isValid),e.$length=e.$func("length",e.length),e.$in=function(a,r){a=e.$(a);var s=e.isArray(r)?e.toMap(r):r;return function(u){return!!s[a(u)]}},e.comparator=function(a){var r=[];return a===void 0&&(a=[]),a=e.array(a).map(function(s){var u=1;return s[0]==="-"?(u=-1,s=s.slice(1)):s[0]==="+"&&(u=1,s=s.slice(1)),r.push(u),e.accessor(s)}),function(s,u){var l,f,p,h;for(l=0,f=a.length;l<f;++l)if(p=a[l],h=e.cmp(p(s),p(u)))return h*r[l];return 0}},e.cmp=function(a,r){return(a<r||a==null)&&r!=null?-1:(a>r||r==null)&&a!=null?1:(r=r instanceof Date?+r:r,(a=a instanceof Date?+a:a)!==a&&r==r?-1:r!=r&&a==a?1:0)},e.numcmp=function(a,r){return a-r},e.stablesort=function(a,r,s){var u=a.reduce(function(l,f,p){return l[s(f)]=p,l},{});return a.sort(function(l,f){var p=r(l),h=r(f);return p<h?-1:p>h?1:u[s(l)]-u[s(f)]}),a},e.permute=function(a){for(var r,s,u=a.length;u;)s=Math.floor(Math.random()*u--),r=a[u],a[u]=a[s],a[s]=r},e.pad=function(a,r,s,u){u=u||" ";var l=r-a.length;if(l<=0)return a;switch(s){case"left":return i(l,u)+a;case"middle":case"center":return i(Math.floor(l/2),u)+a+i(Math.ceil(l/2),u);default:return a+i(l,u)}},e.truncate=function(a,r,s,u,l){var f=a.length;if(f<=r)return a;l=l!==void 0?String(l):"\u2026";var p=Math.max(0,r-l.length);switch(s){case"left":return l+(u?c(a,p,1):a.slice(f-p));case"middle":case"center":var h=Math.ceil(p/2),m=Math.floor(p/2);return(u?c(a,h):a.slice(0,h))+l+(u?c(a,m,1):a.slice(f-m));default:return(u?c(a,p):a.slice(0,p))+l}};var d=/([\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u2028\u2029\u3000\uFEFF])/})()),wr.exports}var k=et();function te(e,t){return e.indexOf(t)!==-1}function fe(e,t){for(let n=0;n<e.length;n++)if(!t(e[n],n))return!1;return!0}function Q(e,t,n){if(e.forEach)e.forEach.call(n,t);else for(let o in e)t.call(n,e[o],o,e)}function he(e,t){let n,o=0;for(n in e)if(t(e[n],n,o++))return!0;return!1}function pe(e){return!!e.parent}const Nr={channel:1,aggregate:1,autoCount:1,bin:1,timeUnit:1,hasFn:1,sort:1,stack:1,field:1,type:1,format:1,scale:1,axis:1,legend:1,value:1},pn=(Cr=Nr,Object.keys(Cr));var Cr;const aa={bin:1,scale:1,sort:1,axis:1,legend:1};function hn(e){return aa[e]}const Ar=["maxbins","divide","extent","base","step","steps","minstep"].map(e=>({parent:"bin",child:e})),gn=["field","op","order"].map(e=>({parent:"sort",child:e})),Nt=xr.map(e=>({parent:"scale",child:e})),Or=gr.map(e=>({parent:"axis",child:e})),kr=yr.map(e=>({parent:"legend",child:e})),Ct=[].concat(Ar,gn,Nt,Or,kr),Mr=["width","height","background","padding","title"];function At(e){return pe(e)?e.parent+"."+e.child:e}const sa=Ct.reduce((e,t)=>(e[t.parent]=e[t.parent]||[],e[t.parent][t.child]=t,e),{});function ge(e,t){return(sa[e]||{})[t]}function Ir(e){return(function(t){return t in Nr})(e)||pe(e)}const ca=[].concat(pn,Ct),Ur=["type","field","bin","timeUnit","aggregate","autoCount","channel","mark","stack","scale","sort","axis","legend"].concat(Ar,Nt,Or,kr,gn);var g;(function(e){e.MARK="mark",e.TRANSFORM="transform",e.STACK="stack",e.FORMAT="format",e.CHANNEL="channel",e.AGGREGATE="aggregate",e.AUTOCOUNT="autoCount",e.BIN="bin",e.HAS_FN="hasFn",e.TIMEUNIT="timeUnit",e.FIELD="field",e.TYPE="type",e.SORT="sort",e.SCALE="scale",e.AXIS="axis",e.LEGEND="legend",e.WIDTH="width",e.HEIGHT="height",e.BACKGROUND="background",e.PADDING="padding",e.TITLE="title"})(g||(g={}));const Ue="area",me="bar",tt="line",nt="point",mn="rect",yn="rule",Ot="text",rt="tick",kt="circle",Mt="square";function la(e){return z(["line","area","trail"],e)}Le(ue({area:1,bar:1,line:1,point:1,text:1,tick:1,trail:1,rect:1,geoshape:1,rule:1,circle:1,square:1})),["january","february","march","april","may","june","july","august","september","october","november","december"].map(e=>e.substr(0,3));var L;["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].map(e=>e.substr(0,3)),(function(e){e.YEAR="year",e.MONTH="month",e.DAY="day",e.DATE="date",e.HOURS="hours",e.MINUTES="minutes",e.SECONDS="seconds",e.MILLISECONDS="milliseconds",e.YEARMONTH="yearmonth",e.YEARMONTHDATE="yearmonthdate",e.YEARMONTHDATEHOURS="yearmonthdatehours",e.YEARMONTHDATEHOURSMINUTES="yearmonthdatehoursminutes",e.YEARMONTHDATEHOURSMINUTESSECONDS="yearmonthdatehoursminutesseconds",e.MONTHDATE="monthdate",e.MONTHDATEHOURS="monthdatehours",e.HOURSMINUTES="hoursminutes",e.HOURSMINUTESSECONDS="hoursminutesseconds",e.MINUTESSECONDS="minutesseconds",e.SECONDSMILLISECONDS="secondsmilliseconds",e.QUARTER="quarter",e.YEARQUARTER="yearquarter",e.QUARTERMONTH="quartermonth",e.YEARQUARTERMONTH="yearquartermonth",e.UTCYEAR="utcyear",e.UTCMONTH="utcmonth",e.UTCDAY="utcday",e.UTCDATE="utcdate",e.UTCHOURS="utchours",e.UTCMINUTES="utcminutes",e.UTCSECONDS="utcseconds",e.UTCMILLISECONDS="utcmilliseconds",e.UTCYEARMONTH="utcyearmonth",e.UTCYEARMONTHDATE="utcyearmonthdate",e.UTCYEARMONTHDATEHOURS="utcyearmonthdatehours",e.UTCYEARMONTHDATEHOURSMINUTES="utcyearmonthdatehoursminutes",e.UTCYEARMONTHDATEHOURSMINUTESSECONDS="utcyearmonthdatehoursminutesseconds",e.UTCMONTHDATE="utcmonthdate",e.UTCMONTHDATEHOURS="utcmonthdatehours",e.UTCHOURSMINUTES="utchoursminutes",e.UTCHOURSMINUTESSECONDS="utchoursminutesseconds",e.UTCMINUTESSECONDS="utcminutesseconds",e.UTCSECONDSMILLISECONDS="utcsecondsmilliseconds",e.UTCQUARTER="utcquarter",e.UTCYEARQUARTER="utcyearquarter",e.UTCQUARTERMONTH="utcquartermonth",e.UTCYEARQUARTERMONTH="utcyearquartermonth"})(L||(L={}));const vn={year:1,quarter:1,month:1,day:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},Fr=ue(vn),bn={utcyear:1,utcquarter:1,utcmonth:1,utcday:1,utcdate:1,utchours:1,utcminutes:1,utcseconds:1,utcmilliseconds:1},Dr={utcyearquarter:1,utcyearquartermonth:1,utcyearmonth:1,utcyearmonthdate:1,utcyearmonthdatehours:1,utcyearmonthdatehoursminutes:1,utcyearmonthdatehoursminutesseconds:1,utcquartermonth:1,utcmonthdate:1,utcmonthdatehours:1,utchoursminutes:1,utchoursminutesseconds:1,utcminutesseconds:1,utcsecondsmilliseconds:1},ua=Object.assign({},bn,Dr),da=Object.assign({},vn,bn,{yearquarter:1,yearquartermonth:1,yearmonth:1,yearmonthdate:1,yearmonthdatehours:1,yearmonthdatehoursminutes:1,yearmonthdatehoursminutesseconds:1,quartermonth:1,monthdate:1,monthdatehours:1,hoursminutes:1,hoursminutesseconds:1,minutesseconds:1,secondsmilliseconds:1},Dr),fa={year:"setFullYear",month:"setMonth",date:"setDate",hours:"setHours",minutes:"setMinutes",seconds:"setSeconds",milliseconds:"setMilliseconds",quarter:null,day:null};function pa(e,t){const n=!!ua[e],o=n?new Date(Date.UTC(1972,0,1,0,0,0,0)):new Date(1972,0,1,0,0,0,0);for(const i of Fr)if(jr(e,i))switch(i){case L.DAY:throw new Error("Cannot convert to TimeUnits containing 'day'");case L.QUARTER:{const{getDateMethod:c,setDateMethod:d}=_r("month",n);o[d](3*Math.floor(t[c]()/3));break}default:{const{getDateMethod:c,setDateMethod:d}=_r(i,n);o[d](t[c]())}}return o}function _r(e,t){const n=fa[e];return{setDateMethod:t?"setUTC"+n.substr(3):n,getDateMethod:"get"+(t?"UTC":"")+n.substr(3)}}function jr(e,t){const n=e.indexOf(t);return n>-1&&(t!==L.SECONDS||n===0||e.charAt(n-1)!=="i")}const D="?";function w(e){return It(e)||(function(t){return!(t===void 0||t==null||!t.enum&&!t.name||k.isArray(t))})(e)}function It(e){return e===D}function xn(e,t,n){return k.extend({},{name:t,enum:n},e===D?{}:e)}function En(e){let t={},n={};for(const o of e){const i=[0];for(let d=0;d<o.length;d++)o.charAt(d).toUpperCase()===o.charAt(d)&&i.push(d);let c=i.map(d=>o.charAt(d)).join("").toLowerCase();if(n[c])if(i[i.length-1]===o.length-1||(c=i.concat([o.length-1]).map(d=>o.charAt(d)).join("").toLowerCase(),n[c]))for(let d=1;!t[o];d++){let a=c+"_"+d;if(!n[a]){t[o]=a,n[a]=!0;break}}else t[o]=c,n[c]=!0;else t[o]=c,n[c]=!0}return t}const Ut={mark:"m",channel:"c",aggregate:"a",autoCount:"#",hasFn:"h",bin:"b",sort:"so",stack:"st",scale:"s",format:"f",axis:"ax",legend:"l",value:"v",timeUnit:"tu",field:"f",type:"t",binProps:{maxbins:"mb",min:"mi",max:"ma",base:"b",step:"s",steps:"ss",minstep:"ms",divide:"d"},sortProps:{field:"f",op:"o",order:"or"},scaleProps:En(xr),axisProps:En(gr),legendProps:En(yr)};function it(e){if(pe(e))return Ut[e.parent]+"-"+Ut[e.parent+"Props"][e.child];if(Ut[e])return Ut[e];throw new Error("Default name undefined for "+e)}const X=[!1,!0],ha={maxbins:[5,10,20],extent:[void 0],base:[10],step:[void 0],steps:[void 0],minstep:[void 0],divide:[[5,2]],binned:[!1],anchor:[void 0],nice:[!0]},ga={field:[void 0],op:["min","mean"],order:["ascending","descending"]},ma={type:[void 0,F.LOG],domain:[void 0],base:[void 0],exponent:[1,2],constant:[void 0],bins:[void 0],clamp:X,nice:X,reverse:X,round:X,zero:X,padding:[void 0],paddingInner:[void 0],paddingOuter:[void 0],interpolate:[void 0],range:[void 0],rangeStep:[17,21],scheme:[void 0]},ya={zindex:[1,0],offset:[void 0],orient:[void 0],values:[void 0],bandPosition:[void 0],encoding:[void 0],domain:X,domainColor:[void 0],domainDash:[void 0],domainDashOffset:[void 0],domainOpacity:[void 0],domainWidth:[void 0],formatType:[void 0],grid:X,gridColor:[void 0],gridDash:[void 0],gridDashOffset:[void 0],gridOpacity:[void 0],gridWidth:[void 0],format:[void 0],labels:X,labelAlign:[void 0],labelAngle:[void 0],labelBaseline:[void 0],labelColor:[void 0],labelFlushOffset:[void 0],labelFont:[void 0],labelFontSize:[void 0],labelFontStyle:[void 0],labelFontWeight:[void 0],labelLimit:[void 0],labelOpacity:[void 0],labelSeparation:[void 0],labelOverlap:[void 0],labelPadding:[void 0],labelBound:[void 0],labelFlush:[void 0],maxExtent:[void 0],minExtent:[void 0],position:[void 0],ticks:X,tickColor:[void 0],tickCount:[void 0],tickDash:[void 0],tickExtra:[void 0],tickDashOffset:[void 0],tickMinStep:[void 0],tickOffset:[void 0],tickOpacity:[void 0],tickRound:[void 0],tickSize:[void 0],tickWidth:[void 0],title:[void 0],titleAlign:[void 0],titleAnchor:[void 0],titleAngle:[void 0],titleBaseline:[void 0],titleColor:[void 0],titleFont:[void 0],titleFontSize:[void 0],titleFontStyle:[void 0],titleFontWeight:[void 0],titleLimit:[void 0],titleOpacity:[void 0],titlePadding:[void 0],titleX:[void 0],titleY:[void 0]},va={orient:["left","right"],format:[void 0],type:[void 0],values:[void 0],zindex:[void 0],clipHeight:[void 0],columnPadding:[void 0],columns:[void 0],cornerRadius:[void 0],direction:[void 0],encoding:[void 0],fillColor:[void 0],formatType:[void 0],gridAlign:[void 0],offset:[void 0],padding:[void 0],rowPadding:[void 0],strokeColor:[void 0],labelAlign:[void 0],labelBaseline:[void 0],labelColor:[void 0],labelFont:[void 0],labelFontSize:[void 0],labelFontStyle:[void 0],labelFontWeight:[void 0],labelLimit:[void 0],labelOffset:[void 0],labelOpacity:[void 0],labelOverlap:[void 0],labelPadding:[void 0],labelSeparation:[void 0],legendX:[void 0],legendY:[void 0],gradientLength:[void 0],gradientOpacity:[void 0],gradientStrokeColor:[void 0],gradientStrokeWidth:[void 0],gradientThickness:[void 0],symbolDash:[void 0],symbolDashOffset:[void 0],symbolFillColor:[void 0],symbolOffset:[void 0],symbolOpacity:[void 0],symbolSize:[void 0],symbolStrokeColor:[void 0],symbolStrokeWidth:[void 0],symbolType:[void 0],tickCount:[void 0],tickMinStep:[void 0],title:[void 0],titleAnchor:[void 0],titleAlign:[void 0],titleBaseline:[void 0],titleColor:[void 0],titleFont:[void 0],titleFontSize:[void 0],titleFontStyle:[void 0],titleFontWeight:[void 0],titleLimit:[void 0],titleOpacity:[void 0],titleOrient:[void 0],titlePadding:[void 0]},ba={mark:[nt,me,tt,Ue,mn,rt,Ot],channel:[I,U,ne,ee,Te,de],aggregate:[void 0,"mean"],autoCount:X,bin:X,hasFn:X,timeUnit:[void 0,L.YEAR,L.MONTH,L.MINUTES,L.SECONDS],field:[void 0],type:[ie,ce,j,Y],sort:["ascending","descending"],stack:["zero","normalize","center",null],value:[void 0],format:[void 0],title:[void 0],scale:[!0],axis:X,legend:X,binProps:ha,sortProps:ga,scaleProps:ma,axisProps:ya,legendProps:va};function Tn(e,t,n){if(e==="field"||pe(e)&&e.parent==="sort"&&e.child==="field")return t.fieldNames();let o;if(o=pe(e)?n.enum[e.parent+"Props"][e.child]:n.enum[e],o!==void 0)return o;throw new Error("No default enumValues for "+JSON.stringify(e))}const ot={verbose:!1,defaultSpecConfig:{line:{point:!0},scale:{useUnaggregatedDomain:!0}},propertyPrecedence:Ur.map(At),enum:ba,numberNominalProportion:.05,numberNominalLimit:40,constraintManuallySpecifiedValue:!1,autoAddCount:!1,hasAppropriateGraphicTypeForMark:!0,omitAggregate:!1,omitAggregatePlotWithDimensionOnlyOnFacet:!0,omitAggregatePlotWithoutDimension:!1,omitBarLineAreaWithOcclusion:!0,omitBarTickWithSize:!0,omitMultipleNonPositionalChannels:!0,omitRaw:!1,omitRawContinuousFieldForAggregatePlot:!0,omitRepeatedField:!0,omitNonPositionalOrFacetOverPositionalChannels:!0,omitTableWithOcclusionIfAutoAddCount:!0,omitVerticalDotPlot:!1,omitInvalidStackSpec:!0,omitNonSumStack:!0,preferredBinAxis:I,preferredTemporalAxis:I,preferredOrdinalAxis:U,preferredNominalAxis:U,preferredFacet:ne,minCardinalityForBin:15,maxCardinalityForCategoricalColor:20,maxCardinalityForFacet:20,maxCardinalityForShape:6,timeUnitShouldHaveVariation:!0,typeMatchesSchemaType:!0,stylize:!0,smallRangeStepForHighCardinalityOrFacet:{maxCardinality:10,rangeStep:12},nominalColorScaleForHighCardinality:{maxCardinality:10,palette:"category20"},xAxisOnTopForHighYCardinalityWithoutColumn:{maxCardinality:30},maxGoodCardinalityForFacet:5,maxGoodCardinalityForColor:7,minPercentUniqueForKey:.8,minCardinalityForKey:50},xa={argmax:1,argmin:1,average:1,count:1,distinct:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},Pr=["count","sum","distinct","valid","missing"];function Ea(e){return tn(e)&&(e=(function(t,n){return tn(t)?{maxbins:Sn(n)}:t==="binned"?{binned:!0}:t.maxbins||t.step?t:Object.assign({},t,{maxbins:Sn(n)})})(e,void 0)),"bin"+ue(e).map(t=>(function(n){const o=n.replace(/\W/g,"_");return(n.match(/^\d+/)?"_":"")+o})(`_${t}_${e[t]}`)).join("")}function Rr(e){return e===!0||(function(t){return rr(t)})(e)&&!e.binned}function Sn(e){switch(e){case ne:case ee:case Te:case de:case vt:case bt:case St:case xt:case Et:case Tt:case Xe:return 6;default:return 10}}function $r(e){return!!e&&!!e.condition&&!mt(e.condition)&&we(e.condition)}function we(e){return!(!e||!e.field&&e.aggregate!=="count")}function wn(e){return we(e)&&Zt(e.field)}function Nn(e,t={}){let n=e.field;const o=t.prefix;let i=t.suffix,c="";if((function(a){return a.aggregate==="count"})(e))n=(function(a){return(function(r){return r.indexOf("__")===0})(a)?a:`__${a}`})("count");else{let a;if(!t.nofn)if((function(r){return!!r.op})(e))a=e.op;else{const{bin:r,aggregate:s,timeUnit:u}=e;Rr(r)?(a=Ea(r),i=(t.binSuffix||"")+(t.suffix||"")):s?(d=s)&&d.argmax?(c=`.${n}`,n=`argmax_${s.argmax}`):(function(l){return!!l&&!!l.argmin})(s)?(c=`.${n}`,n=`argmin_${s.argmin}`):a=String(s):u&&(a=String(u))}a&&(n=n?`${a}_${n}`:a)}var d;return i&&(n=`${n}_${i}`),o&&(n=`${o}_${n}`),t.forAs?n:t.expr?(function(a,r="datum"){return`${r}[${en(Xt(a).join("."))}]`})(n,t.expr)+c:`${Xt(n).map(a=>a.replace(".","\\.")).join("\\.")}`+c}function Br(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return!!e.bin;case"temporal":return!1}throw new Error(re.invalidFieldType(e.type))}Le(["mean","average","median","q1","q3","min","max"]);const He={compatible:!0};function Ta(e,t){const n=e.type;if(n==="geojson"&&t!=="shape")return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case"row":case"column":case"facet":return(function(o){return!Br(o)})(e)?{compatible:!1,warning:re.facetChannelShouldBeDiscrete(t)}:He;case"x":case"y":case"color":case"fill":case"stroke":case"text":case"detail":case"key":case"tooltip":case"href":return He;case"longitude":case"longitude2":case"latitude":case"latitude2":return n!==j?{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`}:He;case"opacity":case"fillOpacity":case"strokeOpacity":case"strokeWidth":case"size":case"x2":case"y2":return n!=="nominal"||e.sort?He:{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`};case"shape":return z(["ordinal","nominal","geojson"],e.type)?He:{compatible:!1,warning:"Shape channel should be used with only either discrete or geojson data."};case"order":return e.type!=="nominal"||"sort"in e?He:{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}}throw new Error("channelCompatability not implemented for channel "+t)}function Sa(e,t,n,o){const i=(function(d,a,r){switch(a.type){case"nominal":case"ordinal":return wt(d)||un(d)==="discrete"?(d==="shape"&&a.type==="ordinal"&&Se(re.discreteChannelCannotEncode(d,"ordinal")),"ordinal"):z(["x","y"],d)&&z(["rect","bar","rule"],r)?"band":"point";case"temporal":return wt(d)?"time":un(d)==="discrete"?(Se(re.discreteChannelCannotEncode(d,"temporal")),"ordinal"):"time";case"quantitative":return wt(d)?Rr(a.bin)?"bin-ordinal":"linear":un(d)==="discrete"?(Se(re.discreteChannelCannotEncode(d,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(re.invalidFieldType(a.type))})(t,n,o),{type:c}=e;return(function(d){return!!Yo[d]})(t)?c!==void 0?Tr(t,c)?Er(c,n.type)?c:(Se(re.scaleTypeNotWorkWithFieldDef(c,i)),i):(Se(re.scaleTypeNotWorkWithChannel(t,c,i)),i):i:null}var le;function Lr(e){return e===ce||e===ie||e===le.KEY}(function(e){e.QUANTITATIVE=j,e.ORDINAL=ce,e.TEMPORAL=Y,e.NOMINAL=ie,e.KEY="key"})(le||(le={}));class K{constructor(t=null){this.index=t?Object.assign({},t):{}}has(t){return At(t)in this.index}get(t){return this.index[At(t)]}set(t,n){return this.index[At(t)]=n,this}setByKey(t,n){this.index[t]=n}map(t){const n=new K;for(const o in this.index)n.index[o]=t(this.index[o]);return n}size(){return k.keys(this.index).length}duplicate(){return new K(this.index)}}function Wr(e,t){const n=e&&e[t];return!!n&&(mt(n)?(function(o,i){let c=0;for(const[d,a]of o.entries())if(i(a,d,c++))return!0;return!1})(n,o=>!!o.field):we(n)||$r(n))}const wa={zero:1,center:1,normalize:1},Na=[me,Ue,yn,nt,kt,Mt,tt,Ot,rt],Ca=[me,Ue];function Aa(e,t,n,o={}){const i=(function(p){return p.type})(e)?e.type:e;if(!z(Na,i))return null;const c=(function(p){const h=p.x,m=p.y;if(we(h)&&we(m))if(h.type==="quantitative"&&m.type==="quantitative"){if(h.stack)return"x";if(m.stack)return"y";if(!!h.aggregate!=!!m.aggregate)return h.aggregate?"x":"y"}else{if(h.type==="quantitative")return"x";if(m.type==="quantitative")return"y"}else{if(we(h)&&h.type==="quantitative")return"x";if(we(m)&&m.type==="quantitative")return"y"}})(t);if(!c)return null;const d=t[c],a=wn(d)?Nn(d,{}):void 0,r=c==="x"?"y":"x",s=t[r],u=wn(s)?Nn(s,{}):void 0,l=pr.reduce((p,h)=>{if(h!=="tooltip"&&Wr(t,h)){const m=t[h];(mt(m)?m:[m]).forEach(v=>{const b=(function(E){return we(E)?E:$r(E)?E.condition:void 0})(v);if(b.aggregate)return;const y=wn(b)?Nn(b,{}):void 0;(!y||y!==u&&y!==a)&&p.push({channel:h,fieldDef:b})})}return p},[]);let f;if(d.stack!==void 0?f=tn(d.stack)?d.stack?"zero":null:d.stack:l.length>0&&(f=z(Ca,i)?(function(...p){for(const h of p)if(h!==void 0)return h})(n,"zero"):n),!f||!wa[f])return null;if(d.scale&&d.scale.type&&d.scale.type!==F.LINEAR){if(o.disallowNonLinearStack)return null;Se(re.cannotStackNonLinearScale(d.scale.type))}return Wr(t,c===I?nn:rn)?(d.stack!==void 0&&Se(re.cannotStackRangedMark(c)),null):(d.aggregate&&!z(Pr,d.aggregate)&&Se(re.stackNonSummativeAggregate(d.aggregate)),{groupbyChannel:s?r:void 0,fieldChannel:c,impute:la(i),stackBy:l,offset:f})}function Hr(e){if(!(function(n){if(w(n.mark))return!1;const o=[g.STACK,g.CHANNEL,g.MARK,g.FIELD,g.AGGREGATE,g.AUTOCOUNT,g.SCALE,ge("scale","type"),g.TYPE],i=k.toMap((d=ca,a=o,d.filter(function(r){return!te(a,r)}))),c=n.encodings.filter(r=>!ae(r));var d,a;for(const r of c)if(qr(r,{exclude:i}))return!1;return!0})(e))return null;const t=Qr(e.encodings,{schema:null,wildcardMode:"null"});return Aa(e.mark,t,void 0,{disallowNonLinearStack:!0})}function qr(e,t={}){if(!k.isObject(e))return!1;for(const n in e)if(e.hasOwnProperty(n)&&(w(e[n])&&(!t.exclude||!t.exclude[n])||qr(e[n],t)))return!0;return!1}function Oa(e){return e.map(t=>(function(n){return o=>n[o]!==void 0?n[o]:o})(t))}function Fe(e,t){return w(e)?!It(e)&&e.enum?D+JSON.stringify(e.enum):D:t?t(e):e}function Ft(e,t){return t?t(e):e}const Cn=new K,An=[].concat(Ur,gn,[g.TRANSFORM,g.STACK],Mr).reduce((e,t)=>e.set(t,!0),new K),On={axis:{x:!0,y:!0,row:!0,column:!0},legend:{color:!0,opacity:!0,size:!0,shape:!0},scale:{x:!0,y:!0,color:!0,opacity:!0,row:!0,column:!0,size:!0,shape:!0},sort:{x:!0,y:!0,path:!0,order:!0},stack:{x:!0,y:!0}};function qe(e,t=An,n=Cn){const o=[];let i;if(t.get(g.MARK)&&o.push(Fe(e.mark,n.get(g.MARK))),e.transform&&e.transform.length>0&&o.push("transform:"+JSON.stringify(e.transform)),t.get(g.STACK)&&(i=Hr(e)),e.encodings){const c=e.encodings.reduce((d,a)=>{if(!ae(a)){let r;r=i&&a.channel===i.fieldChannel?Gr(Object.assign({},a,{stack:i.offset}),t,n):Gr(a,t,n),r&&d.push(r)}return d},[]).sort().join("|");c&&o.push(c)}for(let c of Mr){const d=c.toString();if(t.get(c)&&e[d]){const a=e[d];o.push(`${d}=${JSON.stringify(a)}`)}}return o.join("|")}function Gr(e,t=An,n=Cn){const o=[];if(t.get(g.CHANNEL)&&o.push(Fe(e.channel,n.get(g.CHANNEL))),O(e)){const i=zr(e,t,n);i&&o.push(i)}else oe(e)?o.push(e.value):W(e)&&o.push("autocount()");return o.join(":")}function zr(e,t=An,n=Cn){if(t.get(g.AGGREGATE)&&ae(e))return"-";const o=(function(d,a,r){if(a.get(g.AGGREGATE)&&d.aggregate&&!w(d.aggregate))return Ft(d.aggregate,r.get(g.AGGREGATE));if(a.get(g.AGGREGATE)&&Dt(d))return Ft("count",r.get(g.AGGREGATE));if(a.get(g.TIMEUNIT)&&d.timeUnit&&!w(d.timeUnit))return Ft(d.timeUnit,r.get(g.TIMEUNIT));if(a.get(g.BIN)&&d.bin&&!w(d.bin))return"bin";{let s=null;for(const u of[g.AGGREGATE,g.AUTOCOUNT,g.TIMEUNIT,g.BIN]){const l=d[u];a.get(u)&&d[u]&&w(l)&&(s=s||{},s[u]=It(l)?l:l.enum)}return s&&d.hasFn&&(s.hasFn=!0),s}})(e,t,n),i=(function(d,a,r){const s=[];if(!k.isBoolean(d.bin)&&!It(d.bin)){const u=d.bin;for(const l in u){const f=ge("bin",l);f&&a.get(f)&&u[l]!==void 0&&s.push({key:l,value:Fe(u[l],r.get(f))})}s.sort((l,f)=>l.key.localeCompare(f.key))}for(const u of[g.SCALE,g.SORT,g.STACK,g.AXIS,g.LEGEND])if((w(d.channel)||On[u][d.channel])&&a.get(u)&&d[u]!==void 0){const l=d[u];if(k.isBoolean(l)||l===null)s.push({key:u+"",value:l||!1});else if(k.isString(l))s.push({key:u+"",value:Ft(JSON.stringify(l),r.get(u))});else{let f=[];for(const p in l){const h=ge(u,p);h&&a.get(h)&&l[p]!==void 0&&f.push({key:p,value:Fe(l[p],r.get(h))})}if(f.length>0){const p=f.sort((h,m)=>h.key.localeCompare(m.key)).reduce((h,m)=>(h[m.key]=m.value,h),{});s.push({key:u+"",value:JSON.stringify(p)})}}}return s})(e,t,n);let c;return O(e)?(c=t.get("field")?Fe(e.field,n.get("field")):"...",t.get(g.TYPE)&&(w(e.type)?c+=","+Fe(e.type,n.get(g.TYPE)):c+=","+Fe(((e.type||j)+"").substr(0,1),n.get(g.TYPE))),c+=i.map(d=>{let a=d.value instanceof Array?"["+d.value+"]":d.value;return","+d.key+"="+a}).join("")):W(e)&&(c="*,q"),c?o?(k.isString(o)?o:D+(k.keys(o).length>0?JSON.stringify(o):""))+"("+c+")":c:null}function kn(e,t,n){let o=[],i=0;for(let c=0;c<n;c++){let d=e.indexOf(t,i);if(d===-1)break;o.push(e.substring(i,d)),i=d+1}if(o.push(e.substr(i)),o.length!==n+1)for(;o.length!==n+1;)o.push("");return o}var Yr;function oe(e){return e!=null&&e.value!==void 0}function O(e){return e!=null&&(e.field||e.aggregate==="count")}function W(e){return e!=null&&"autoCount"in e}function ae(e){return W(e)&&e.autoCount===!1}function Dt(e){return W(e)&&e.autoCount===!0}(function(e){function t(i){const c={};c.field=i[0],c.type=(function(s){if(s)switch(s=s.toLowerCase()){case"q":case j:return"quantitative";case"t":case Y:return"temporal";case"o":case ce:return"ordinal";case"n":case ie:return"nominal";case"geojson":return"geojson"}})(i[1].toUpperCase())||"?";let d=i[2],a=0,r=0;for(;r<d.length;){let s,u=d.indexOf("=",r);if(u===-1)break;{let l=d.substring(r,u);if(d[r+l.length+1]==="{"){let f=r+l.length+1;a=n(f,d,"}");const p=d.substring(f,a+1);s=JSON.parse(p),r=a+2}else if(d[r+l.length+1]==="["){let f=r+l.length+1,p=n(f,d,"]");const h=d.substring(f,p+1);s=JSON.parse(h),r=p+2}else{let f=r,p=d.indexOf(",",r+l.length);p===-1&&(p=d.length),r=p+1,s=JSON.parse(d.substring(f+l.length+1,p))}hn(l)?c[l]=s:(c.bin=c.bin||{},c.bin[l]=s)}}return c}function n(i,c,d){for(let a=i;a<c.length;a++)if(c[a]===d)return a}function o(i){const c={};if(i[0]==="?"){let a=n(1,i,"}"),r=JSON.parse(i.substring(1,a+1));for(let s in r)k.isArray(r[s])?c[s]={enum:r[s]}:c[s]=r[s];return Object.assign({},c,t(kn(i.substring(a+2,i.length-1),",",2)))}{let a=i.substring(0,i.indexOf("(")),r=kn(i.substring(a.length+1,i.length-1),",",2);if(Zt(d=a)&&xa[d])return Object.assign({aggregate:a},t(r));if(da[a])return Object.assign({timeUnit:a},t(r));if(a==="bin")return Object.assign({bin:{}},t(r))}var d}e.encoding=function(i,c){let d=c.indexOf("(")!==-1?o(c):t(kn(c,",",2));return Object.assign({channel:i},d)},e.rawFieldDef=t,e.getClosingIndex=n,e.fn=o})(Yr||(Yr={}));const ka=[g.AGGREGATE,g.BIN,g.TIMEUNIT,g.FIELD,g.TYPE,g.SCALE,g.SORT,g.AXIS,g.LEGEND,g.STACK,g.FORMAT];function Qr(e,t){const{wildcardMode:n="skip"}=t;let o={};for(const i of e){if(ae(i))continue;const{channel:c}=i;if(w(c))throw new Error("Cannot convert wildcard channel to a fixed channel");const d=oe(i)?Ma(i):Mn(i,t);if(d!==null)o[c]=d;else if(t.wildcardMode==="null")return null}return o}function Ma(e){const{value:t}=e;return w(t)?null:{value:t}}function Mn(e,t={}){const{props:n=ka,schema:o,wildcardMode:i="skip"}=t;if(O(e)){const c={};for(const d of n){let a=e[d];if(w(a)){if(i==="skip")continue;return null}if(a!==void 0){if(!(!On[d]||On[d][e.channel]))continue;if(hn(d)&&k.isObject(a)){a=Object.assign({},a);for(const r in a)if(w(a[r])){if(i==="null")return null;delete a[r]}}if(d==="bin"&&a===!1)continue;d==="type"&&a==="key"?c.type="nominal":c[d]=a}if(d===g.SCALE&&o&&e.type===ce){const r=e.scale,{ordinalDomain:s}=o.fieldSchema(e.field);r!==null&&s&&(c[g.SCALE]=Object.assign({domain:s},k.isObject(r)?r:{}))}}return c}if(e.autoCount===!1)throw new Error("Cannot convert {autoCount: false} into a field def");return{aggregate:"count",field:"*",type:"quantitative"}}function at(e){return O(e)?!Ne(e)&&e.type!=="temporal":W(e)}function Ne(e){if(O(e)){const t=Mn(e,{props:["bin","timeUnit","type"]});return Br(t)||!!t.timeUnit}return!1}function De(e){const t=e.scale===!0||e.scale===D?{}:e.scale||{},{type:n,channel:o,timeUnit:i,bin:c}=e;if(w(t.type)||w(n)||w(o)||w(c))return;if(t.type)return t.type;if(n==="temporal"&&w(i)||n==="quantitative"&&w(c))return;const d={type:n===le.KEY?"nominal":n,bin:c};return Sa({type:t.type},o,d,void 0)}var _t={exports:{}},In=new Date,Un=new Date;function q(e,t,n,o){function i(c){return e(c=new Date(+c)),c}return i.floor=i,i.round=function(c){var d=new Date(+c),a=new Date(c-1);return e(d),e(a),t(a,1),c-d<a-c?d:a},i.ceil=function(c){return e(c=new Date(c-1)),t(c,1),c},i.offset=function(c,d){return t(c=new Date(+c),d==null?1:Math.floor(d)),c},i.range=function(c,d,a){var r=[];if(c=new Date(c-1),d=new Date(+d),a=a==null?1:Math.floor(a),!(c<d&&a>0))return r;for(t(c,1),e(c),c<d&&r.push(new Date(+c));t(c,a),e(c),c<d;)r.push(new Date(+c));return r},i.filter=function(c){return q(function(d){for(;e(d),!c(d);)d.setTime(d-1)},function(d,a){for(;--a>=0;)for(;t(d,1),!c(d););})},n&&(i.count=function(c,d){return In.setTime(+c),Un.setTime(+d),e(In),e(Un),Math.floor(n(In,Un))},i.every=function(c){return c=Math.floor(c),isFinite(c)&&c>0?c>1?i.filter(o?function(d){return o(d)%c===0}:function(d){return i.count(0,d)%c===0}):i:null}),i}var st=q(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});st.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?q(function(t){t.setTime(Math.floor(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):st:null};const Vr=q(function(e){e.setMilliseconds(0)},function(e,t){e.setTime(+e+1e3*t)},function(e,t){return(t-e)/1e3},function(e){return e.getSeconds()}),Kr=q(function(e){e.setSeconds(0,0)},function(e,t){e.setTime(+e+6e4*t)},function(e,t){return(t-e)/6e4},function(e){return e.getMinutes()}),Jr=q(function(e){e.setMinutes(0,0,0)},function(e,t){e.setTime(+e+36e5*t)},function(e,t){return(t-e)/36e5},function(e){return e.getHours()}),Xr=q(function(e){e.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+t)},function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5},function(e){return e.getDate()-1});function _e(e){return q(function(t){t.setHours(0,0,0,0),t.setDate(t.getDate()-(t.getDay()+7-e)%7)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5})}var jt=_e(0),Zr=_e(1),ei=_e(2),ti=_e(3),ni=_e(4),ri=_e(5),ii=_e(6);const oi=q(function(e){e.setHours(0,0,0,0),e.setDate(1)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())},function(e){return e.getMonth()}),ai=q(function(e){e.setHours(0,0,0,0),e.setMonth(0,1)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()}),si=q(function(e){e.setUTCMilliseconds(0)},function(e,t){e.setTime(+e+1e3*t)},function(e,t){return(t-e)/1e3},function(e){return e.getUTCSeconds()}),ci=q(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+6e4*t)},function(e,t){return(t-e)/6e4},function(e){return e.getUTCMinutes()}),li=q(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+36e5*t)},function(e,t){return(t-e)/36e5},function(e){return e.getUTCHours()}),ui=q(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/864e5},function(e){return e.getUTCDate()-1});function je(e){return q(function(t){t.setUTCHours(0,0,0,0),t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/6048e5})}var Pt=je(0),di=je(1),fi=je(2),pi=je(3),hi=je(4),gi=je(5),mi=je(6);const yi=q(function(e){e.setUTCHours(0,0,0,0),e.setUTCDate(1)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())},function(e){return e.getUTCMonth()}),vi=q(function(e){e.setUTCHours(0,0,0,0),e.setUTCMonth(0,1)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});var bi=st.range,Ia=Vr.range,Ua=Kr.range,Fa=Jr.range,Da=Xr.range,_a=jt.range,ja=Zr.range,Pa=ei.range,Ra=ti.range,$a=ni.range,Ba=ri.range,La=ii.range,Wa=jt.range,Ha=oi.range,qa=ai.range,Ga=st,za=bi,Ya=si.range,Qa=ci.range,Va=li.range,Ka=ui.range,Ja=Pt.range,Xa=di.range,Za=fi.range,es=pi.range,ts=hi.range,ns=gi.range,rs=mi.range,is=Pt.range,os=yi.range,as=vi.range;const ss=po(Object.freeze(Object.defineProperty({__proto__:null,day:Xr,days:Da,friday:ri,fridays:Ba,hour:Jr,hours:Fa,interval:q,millisecond:st,milliseconds:bi,minute:Kr,minutes:Ua,monday:Zr,mondays:ja,month:oi,months:Ha,saturday:ii,saturdays:La,second:Vr,seconds:Ia,sunday:jt,sundays:_a,thursday:ni,thursdays:$a,tuesday:ei,tuesdays:Pa,utcDay:ui,utcDays:Ka,utcFriday:gi,utcFridays:ns,utcHour:li,utcHours:Va,utcMillisecond:Ga,utcMilliseconds:za,utcMinute:ci,utcMinutes:Qa,utcMonday:di,utcMondays:Xa,utcMonth:yi,utcMonths:os,utcSaturday:mi,utcSaturdays:rs,utcSecond:si,utcSeconds:Ya,utcSunday:Pt,utcSundays:Ja,utcThursday:hi,utcThursdays:ts,utcTuesday:fi,utcTuesdays:Za,utcWednesday:pi,utcWednesdays:es,utcWeek:Pt,utcWeeks:is,utcYear:vi,utcYears:as,wednesday:ti,wednesdays:Ra,week:jt,weeks:Wa,year:ai,years:qa},Symbol.toStringTag,{value:"Module"})));var xi,Ei,Ti;function cs(){if(xi)return _t.exports;xi=1;var e=ss,t=new Date,n=new Date(0,0,1).setFullYear(0),o=new Date(Date.UTC(0,0,1)).setUTCFullYear(0);function i(l){return t.setTime(+l),t}function c(l,f,p,h,m,v){var b={type:l,date:f,unit:p};return h?b.step=h:b.minstep=1,m!=null&&(b.min=m),v!=null&&(b.max=v),b}function d(l,f,p,h,m,v){return c(l,function(b){return f.offset(p,b)},function(b){return f.count(p,b)},h,m,v)}var a=[d("second",e.second,n),d("minute",e.minute,n),d("hour",e.hour,n),d("day",e.day,n,[1,7]),d("month",e.month,n,[1,3,6]),d("year",e.year,n),c("seconds",function(l){return new Date(1970,0,1,0,0,l)},function(l){return i(l).getSeconds()},null,0,59),c("minutes",function(l){return new Date(1970,0,1,0,l)},function(l){return i(l).getMinutes()},null,0,59),c("hours",function(l){return new Date(1970,0,1,l)},function(l){return i(l).getHours()},null,0,23),c("weekdays",function(l){return new Date(1970,0,4+l)},function(l){return i(l).getDay()},[1],0,6),c("dates",function(l){return new Date(1970,0,l)},function(l){return i(l).getDate()},[1],1,31),c("months",function(l){return new Date(1970,l%12,1)},function(l){return i(l).getMonth()},[1],0,11)],r=[d("second",e.utcSecond,o),d("minute",e.utcMinute,o),d("hour",e.utcHour,o),d("day",e.utcDay,o,[1,7]),d("month",e.utcMonth,o,[1,3,6]),d("year",e.utcYear,o),c("seconds",function(l){return new Date(Date.UTC(1970,0,1,0,0,l))},function(l){return i(l).getUTCSeconds()},null,0,59),c("minutes",function(l){return new Date(Date.UTC(1970,0,1,0,l))},function(l){return i(l).getUTCMinutes()},null,0,59),c("hours",function(l){return new Date(Date.UTC(1970,0,1,l))},function(l){return i(l).getUTCHours()},null,0,23),c("weekdays",function(l){return new Date(Date.UTC(1970,0,4+l))},function(l){return i(l).getUTCDay()},[1],0,6),c("dates",function(l){return new Date(Date.UTC(1970,0,l))},function(l){return i(l).getUTCDate()},[1],1,31),c("months",function(l){return new Date(Date.UTC(1970,l%12,1))},function(l){return i(l).getUTCMonth()},[1],0,11)],s=[[31536e6,5],[7776e6,4],[2592e6,4],[12096e5,3],[6048e5,3],[1728e5,3],[864e5,3],[432e5,2],[216e5,2],[108e5,2],[36e5,2],[18e5,1],[9e5,1],[3e5,1],[6e4,1],[3e4,0],[15e3,0],[5e3,0],[1e3,0]];function u(l){var f,p,h={};for(f=0,p=l.length;f<p;++f)h[l[f].type]=l[f];return h.find=function(m,v,b){return(function(y,E,T,S){var N,C,M,A=s[0];for(N=1,C=s.length;N<C;++N)if(E>(A=s[N])[0]){if((M=E/A[0])>S)return y[s[N-1][1]];if(M>=T)return y[A[1]]}return y[s[C-1][1]]})(l,m,v,b)},h}return _t.exports=u(a),_t.exports.utc=u(r),_t.exports}var ls=(function(){if(Ti)return Ei;Ti=1;var e=et(),t=cs();function n(a){if(!a)throw Error("Missing binning options.");var r,s,u,l,f,p,h,m=a.maxbins||15,v=a.base||10,b=Math.log(v),y=a.div||[5,2],E=a.min,T=a.max,S=T-E;if(a.step)r=a.step;else if(a.steps)r=a.steps[Math.min(a.steps.length-1,(function(N,C,M,A){for(;M<A;){var _=M+A>>>1;e.cmp(N[_],C)<0?M=_+1:A=_}return M})(a.steps,S/m,0,a.steps.length))];else{for(s=Math.ceil(Math.log(m)/b),u=a.minstep||0,r=Math.max(u,Math.pow(v,Math.round(Math.log(S)/b)-s));Math.ceil(S/r)>m;)r*=v;for(p=0;p<y.length;++p)(f=r/y[p])>=u&&S/f<=m&&(r=f)}return l=(f=Math.log(r))>=0?0:1+~~(-f/b),h=Math.pow(v,-l-1),{start:E=Math.min(E,Math.floor(E/r+h)*r),stop:T=Math.ceil(T/r)*r,step:r,unit:{precision:l},value:o,index:i}}function o(a){return this.step*Math.floor(a/this.step+1e-15)}function i(a){return Math.floor((a-this.start)/this.step+1e-15)}function c(a){return this.unit.date(o.call(this,a))}function d(a){return i.call(this,this.unit.unit(a))}return n.date=function(a){if(!a)throw Error("Missing date binning options.");var r=a.utc?t.utc:t,s=a.min,u=a.max,l=a.maxbins||20,f=a.minbins||4,p=+u-+s,h=a.unit?r[a.unit]:r.find(p,f,l),m=n({min:h.min!=null?h.min:h.unit(s),max:h.max!=null?h.max:h.unit(u),maxbins:l,minstep:h.minstep,steps:h.step});return m.unit=h,m.index=d,a.raw||(m.value=c),m},Ei=n})();const us=zn(ls);var Si,wi;function Ni(){if(wi)return Si;wi=1;var e=et(),t="__types__",n={boolean:e.boolean,integer:e.number,number:e.number,date:e.date,string:function(r){return r==null||r===""?null:r+""}},o={boolean:function(r){return r==="true"||r==="false"||e.isBoolean(r)},integer:function(r){return o.number(r)&&(r=+r)===~~r},number:function(r){return!isNaN(+r)&&!e.isDate(r)},date:function(r){return!isNaN(Date.parse(r))}};function i(r){return e.keys(r)}function c(r){return"["+r+"]"}function d(r,s){var u,l,f;if(r=e.array(r),s=e.$(s),r[t]&&(u=s(r[t]),e.isString(u)))return u;for(l=0,f=r.length;!e.isValid(u)&&l<f;++l)u=s?s(r[l]):r[l];return e.isDate(u)?"date":e.isNumber(u)?"number":e.isBoolean(u)?"boolean":e.isString(u)?"string":null}function a(r,s){var u,l,f;r=e.array(r),s=e.$(s);var p=["boolean","integer","number","date"];for(u=0;u<r.length;++u){for(f=s?s(r[u]):r[u],l=0;l<p.length;++l)e.isValid(f)&&!o[p[l]](f)&&(p.splice(l,1),l-=1);if(p.length===0)return"string"}return p[0]}return d.annotation=function(r,s){if(!s)return r&&r[t]||null;r[t]=s},d.all=function(r,s){if(r.length){var u=s?e.identity:(s=i(r[0]),c);return s.reduce(function(l,f){return l[f]=d(r,u(f)),l},{})}},d.infer=a,d.inferAll=function(r,s){var u=s?e.identity:(s=i(r[0]),c);return s.reduce(function(l,f){return l[f]=a(r,u(f)),l},{})},d.parsers=n,Si=d}var Ci,Ai,ds=Ni(),Oi={exports:{}},ki={exports:{}},fs=(Ai||(Ai=1,(function(e){var t=et(),n=Ni(),o=(Ci||(Ci=1,(function(r){var s=et(),u=r.exports;u.repeat=function(l,f){var p,h=Array(f);for(p=0;p<f;++p)h[p]=l;return h},u.zeros=function(l){return u.repeat(0,l)},u.range=function(l,f,p){if(arguments.length<3&&(p=1,arguments.length<2&&(f=l,l=0)),(f-l)/p==1/0)throw new Error("Infinite range");var h,m=[],v=-1;if(p<0)for(;(h=l+p*++v)>f;)m.push(h);else for(;(h=l+p*++v)<f;)m.push(h);return m},u.random={},u.random.uniform=function(l,f){f===void 0&&(f=l===void 0?1:l,l=0);var p=f-l,h=function(){return l+p*Math.random()};return h.samples=function(m){return u.zeros(m).map(h)},h.pdf=function(m){return m>=l&&m<=f?1/p:0},h.cdf=function(m){return m<l?0:m>f?1:(m-l)/p},h.icdf=function(m){return m>=0&&m<=1?l+m*p:NaN},h},u.random.integer=function(l,f){f===void 0&&(f=l,l=0);var p=f-l,h=function(){return l+Math.floor(p*Math.random())};return h.samples=function(m){return u.zeros(m).map(h)},h.pdf=function(m){return m===Math.floor(m)&&m>=l&&m<f?1/p:0},h.cdf=function(m){var v=Math.floor(m);return v<l?0:v>=f?1:(v-l+1)/p},h.icdf=function(m){return m>=0&&m<=1?l-1+Math.floor(m*p):NaN},h},u.random.normal=function(l,f){var p;l=l||0,f=f||1;var h=function(){var m,v,b=0,y=0;if(p!==void 0)return b=p,p=void 0,b;do m=(b=2*Math.random()-1)*b+(y=2*Math.random()-1)*y;while(m===0||m>1);return v=Math.sqrt(-2*Math.log(m)/m),p=l+y*v*f,l+b*v*f};return h.samples=function(m){return u.zeros(m).map(h)},h.pdf=function(m){var v=Math.exp(Math.pow(m-l,2)/(-2*Math.pow(f,2)));return 1/(f*Math.sqrt(2*Math.PI))*v},h.cdf=function(m){var v,b=(m-l)/f,y=Math.abs(b);if(y>37)v=0;else{var E=Math.exp(-y*y/2);y<7.07106781186547?(v=E*((((((.0352624965998911*y+.700383064443688)*y+6.37396220353165)*y+33.912866078383)*y+112.079291497871)*y+221.213596169931)*y+220.206867912376),v/=((((((.0883883476483184*y+1.75566716318264)*y+16.064177579207)*y+86.7807322029461)*y+296.564248779674)*y+637.333633378831)*y+793.826512519948)*y+440.413735824752):v=E/(y+1/(y+2/(y+3/(y+4/(y+.65)))))/2.506628274631}return b>0?1-v:v},h.icdf=function(m){if(m<=0||m>=1)return NaN;var v=2*m-1,b=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),y=2/(Math.PI*b)+Math.log(1-Math.pow(v,2))/2,E=Math.log(1-v*v)/b,T=(v>0?1:-1)*Math.sqrt(Math.sqrt(y*y-E)-y);return l+f*Math.SQRT2*T},h},u.random.bootstrap=function(l,f){var p=l.filter(s.isValid),h=p.length,m=f?u.random.normal(0,f):null,v=function(){return p[~~(Math.random()*h)]+(m?m():0)};return v.samples=function(b){return u.zeros(b).map(v)},v}})(ki)),ki.exports),i=e.exports;function c(r,s,u){var l=r&&r.nullh||0,f=o.random.normal(0,1),p=i.mean(s,u),h=i.stdev(s,u)/Math.sqrt(i.count.valid(s,u));if(h===0)return p-l===0?1:0;var m=(p-l)/h;return 2*f.cdf(-Math.abs(m))}function d(r,s,u,l){var f,p=l?s.map(t.$(u)):s,h=l?s.map(t.$(l)):u,m=i.count(p),v=i.count(h),b=Array();if(m!==v)throw Error("Array lengths must match.");for(f=0;f<m;++f)t.isValid(p[f])&&t.isValid(h[f])&&b.push(p[f]-h[f]);return i.z.test(b,r&&r.nullh||0)}function a(r,s,u,l){var f=l?s.map(t.$(u)):s,p=l?s.map(t.$(l)):u,h=i.count.valid(f),m=i.count.valid(p),v=o.random.normal(0,1),b=i.mean(f)-i.mean(p)-(r&&r.nullh||0),y=Math.sqrt(i.variance(f)/h+i.variance(p)/m);if(y===0)return b===0?1:0;var E=b/y;return 2*v.cdf(-Math.abs(E))}i.unique=function(r,s,u){s=t.$(s),u=u||[];var l,f,p,h={};for(f=0,p=r.length;f<p;++f)(l=s?s(r[f]):r[f])in h||(h[l]=1,u.push(l));return u},i.count=function(r){return r&&r.length||0},i.count.valid=function(r,s){s=t.$(s);var u,l,f,p=0;for(l=0,f=r.length;l<f;++l)u=s?s(r[l]):r[l],t.isValid(u)&&(p+=1);return p},i.count.missing=function(r,s){s=t.$(s);var u,l,f=0;for(u=0,l=r.length;u<l;++u)(s?s(r[u]):r[u])==null&&(f+=1);return f},i.count.distinct=function(r,s){s=t.$(s);var u,l,f,p={},h=0;for(l=0,f=r.length;l<f;++l)(u=s?s(r[l]):r[l])in p||(p[u]=1,h+=1);return h},i.count.map=function(r,s){s=t.$(s);var u,l,f,p={};for(l=0,f=r.length;l<f;++l)p[u=s?s(r[l]):r[l]]=u in p?p[u]+1:1;return p},i.median=function(r,s){return s&&(r=r.map(t.$(s))),r=r.filter(t.isValid).sort(t.cmp),i.quantile(r,.5)},i.quartile=function(r,s){s&&(r=r.map(t.$(s))),r=r.filter(t.isValid).sort(t.cmp);var u=i.quantile;return[u(r,.25),u(r,.5),u(r,.75)]},i.quantile=function(r,s,u){u===void 0&&(u=s,s=t.identity),s=t.$(s);var l=(r.length-1)*u+1,f=Math.floor(l),p=+s(r[f-1]),h=l-f;return h?p+h*(s(r[f])-p):p},i.sum=function(r,s){s=t.$(s);for(var u,l=0,f=0,p=r.length;f<p;++f)u=s?s(r[f]):r[f],t.isValid(u)&&(l+=u);return l},i.mean=function(r,s){s=t.$(s);var u,l,f,p,h=0;for(u=0,f=0,l=r.length;u<l;++u)p=s?s(r[u]):r[u],t.isValid(p)&&(h+=(p-h)/++f);return h},i.mean.geometric=function(r,s){s=t.$(s);var u,l,f,p,h=1;for(p=0,u=0,l=r.length;p<l;++p)if(f=s?s(r[p]):r[p],t.isValid(f)){if(f<=0)throw Error("Geometric mean only defined for positive values.");h*=f,++u}return h=u>0?Math.pow(h,1/u):0},i.mean.harmonic=function(r,s){s=t.$(s);var u,l,f,p,h=0;for(p=0,u=0,l=r.length;p<l;++p)f=s?s(r[p]):r[p],t.isValid(f)&&(h+=1/f,++u);return u/h},i.variance=function(r,s){if(s=t.$(s),!t.isArray(r)||r.length<2)return 0;var u,l,f,p,h=0,m=0;for(l=0,f=0;l<r.length;++l)p=s?s(r[l]):r[l],t.isValid(p)&&(m+=(u=p-h)*(p-(h+=u/++f)));return m/=f-1},i.stdev=function(r,s){return Math.sqrt(i.variance(r,s))},i.modeskew=function(r,s){var u=i.mean(r,s),l=i.median(r,s),f=i.stdev(r,s);return f===0?0:(u-l)/f},i.min=function(r,s){return i.extent(r,s)[0]},i.max=function(r,s){return i.extent(r,s)[1]},i.extent=function(r,s){s=t.$(s);var u,l,f,p,h=r.length;for(p=0;p<h;++p)if(f=s?s(r[p]):r[p],t.isValid(f)){u=l=f;break}for(;p<h;++p)f=s?s(r[p]):r[p],t.isValid(f)&&(f<u&&(u=f),f>l&&(l=f));return[u,l]},i.extent.index=function(r,s){s=t.$(s);var u,l,f,p,h=-1,m=-1,v=r.length;for(p=0;p<v;++p)if(f=s?s(r[p]):r[p],t.isValid(f)){u=l=f,h=m=p;break}for(;p<v;++p)f=s?s(r[p]):r[p],t.isValid(f)&&(f<u&&(u=f,h=p),f>l&&(l=f,m=p));return[h,m]},i.dot=function(r,s,u){var l,f,p=0;if(u)for(s=t.$(s),u=t.$(u),l=0;l<r.length;++l)(f=s(r[l])*u(r[l]))==f&&(p+=f);else{if(r.length!==s.length)throw Error("Array lengths must match.");for(l=0;l<r.length;++l)(f=r[l]*s[l])==f&&(p+=f)}return p},i.dist=function(r,s,u,l){var f,p,h=t.isFunction(u)||t.isString(u),m=r,v=h?r:s,b=h?l:u,y=b===2||b==null,E=r.length,T=0;for(h&&(s=t.$(s),u=t.$(u)),p=0;p<E;++p)f=h?s(m[p])-u(v[p]):m[p]-v[p],T+=y?f*f:Math.pow(Math.abs(f),b);return y?Math.sqrt(T):Math.pow(T,1/b)},i.cohensd=function(r,s,u){var l=u?r.map(t.$(s)):r,f=u?r.map(t.$(u)):s,p=i.mean(l),h=i.mean(f),m=i.count.valid(l),v=i.count.valid(f);if(m+v-2<=0)return 0;var b=i.variance(l),y=i.variance(f),E=Math.sqrt(((m-1)*b+(v-1)*y)/(m+v-2));return E===0?0:(p-h)/E},i.covariance=function(r,s,u){var l,f,p,h,m,v=u?r.map(t.$(s)):r,b=u?r.map(t.$(u)):s,y=v.length,E=i.mean(v),T=i.mean(b),S=0,N=0;if(y!==b.length)throw Error("Input lengths must match.");for(l=0;l<y;++l)if(f=v[l],h=t.isValid(f),p=b[l],m=t.isValid(p),h&&m)S+=(f-E)*(p-T),++N;else if(h||m)throw Error("Valid values must align.");return S/(N-1)},i.rank=function(r,s){s=t.$(s)||t.identity;var u,l,f,p=r.map(function(y,E){return{idx:E,val:s(y)}}).sort(t.comparator("val")),h=r.length,m=Array(h),v=-1,b={};for(u=0;u<h;++u){if(l=p[u].val,v<0&&b===l)v=u-1;else if(v>-1&&b!==l){for(f=1+(u-1+v)/2;v<u;++v)m[p[v].idx]=f;v=-1}m[p[u].idx]=u+1,b=l}if(v>-1)for(f=1+(h-1+v)/2;v<h;++v)m[p[v].idx]=f;return m},i.cor=function(r,s,u){var l=u;u=l?r.map(t.$(u)):s,s=l?r.map(t.$(s)):r;var f=i.dot(s,u),p=i.mean(s),h=i.mean(u),m=i.stdev(s),v=i.stdev(u),b=r.length;return(f-b*p*h)/((b-1)*m*v)},i.cor.rank=function(r,s,u){var l,f,p,h=u?i.rank(r,s):i.rank(r),m=u?i.rank(r,u):i.rank(s),v=r.length;for(l=0,f=0;l<v;++l)f+=(p=h[l]-m[l])*p;return 1-6*f/(v*(v*v-1))},i.cor.dist=function(r,s,u){var l,f,p,h,m=u?r.map(t.$(s)):r,v=u?r.map(t.$(u)):s,b=i.dist.mat(m),y=i.dist.mat(v),E=b.length;for(l=0,f=0,p=0,h=0;l<E;++l)f+=b[l]*b[l],p+=y[l]*y[l],h+=b[l]*y[l];return Math.sqrt(h/Math.sqrt(f*p))},i.linearRegression=function(r,s,u){var l,f,p=u?r.map(t.$(s)):r,h=u?r.map(t.$(u)):s,m=p.length,v=i.covariance(p,h),b=i.stdev(p),y=i.stdev(h),E=v/(b*b),T=i.mean(h)-E*i.mean(p),S={slope:E,intercept:T,R:v/(b*y),rss:0};for(f=0;f<m;++f)t.isValid(p[f])&&t.isValid(h[f])&&(l=E*p[f]+T-h[f],S.rss+=l*l);return S},i.bootstrap={},i.bootstrap.ci=function(r,s,u,l,f){var p,h,m,v,b,y,E;for(t.isFunction(s)||t.isString(s)?(p=r.map(t.$(s)),h=u,m=l,v=f):(p=r,h=s,m=u,v=l),h=h?+h:1e3,m=m||.05,b=o.random.bootstrap(p,v),E=0,y=Array(h);E<h;++E)y[E]=i.mean(b.samples(p.length));return y.sort(t.numcmp),[i.quantile(y,m/2),i.quantile(y,1-m/2)]},i.z={},i.z.ci=function(r,s,u){var l=r,f=s;(t.isFunction(s)||t.isString(s))&&(l=r.map(t.$(s)),f=u);var p=(f=f||.05)===.05?1.96:o.random.normal(0,1).icdf(1-f/2),h=i.mean(l),m=i.stdev(l)/Math.sqrt(i.count.valid(l));return[h-p*m,h+p*m]},i.z.test=function(r,s,u,l){return t.isFunction(u)||t.isString(u)?(l&&l.paired?d:a)(l,r,s,u):t.isArray(s)?(u&&u.paired?d:a)(u,r,s):t.isFunction(s)||t.isString(s)?c(u,r,s):c(s,r)},i.dist.mat=function(r){var s,u,l,f=r.length,p=f*f,h=Array(p),m=o.zeros(f),v=0;for(u=0;u<f;++u)for(h[u*f+u]=0,l=u+1;l<f;++l)h[u*f+l]=s=Math.abs(r[u]-r[l]),h[l*f+u]=s,m[u]+=s,m[l]+=s;for(u=0;u<f;++u)v+=m[u],m[u]/=f;for(v/=p,u=0;u<f;++u)for(l=u;l<f;++l)h[u*f+l]+=v-m[u]-m[l],h[l*f+u]=h[u*f+l];return h},i.entropy=function(r,s){s=t.$(s);var u,l,f=0,p=0,h=r.length;for(u=0;u<h;++u)f+=s?s(r[u]):r[u];if(f===0)return 0;for(u=0;u<h;++u)(l=(s?s(r[u]):r[u])/f)&&(p+=l*Math.log(l));return-p/Math.LN2},i.mutual=function(r,s,u,l){var f,p,h,m=l?r.map(t.$(s)):r,v=l?r.map(t.$(u)):s,b=l?r.map(t.$(l)):u,y={},E={},T=b.length,S=0,N=0,C=0;for(h=0;h<T;++h)y[m[h]]=0,E[v[h]]=0;for(h=0;h<T;++h)y[m[h]]+=b[h],E[v[h]]+=b[h],S+=b[h];for(p=1/(S*Math.LN2),h=0;h<T;++h)b[h]!==0&&(f=S*b[h]/(y[m[h]]*E[v[h]]),N+=b[h]*p*Math.log(f),C+=b[h]*p*Math.log(b[h]/S));return[N,1+N/C]},i.mutual.info=function(r,s,u,l){return i.mutual(r,s,u,l)[0]},i.mutual.dist=function(r,s,u,l){return i.mutual(r,s,u,l)[1]},i.profile=function(r,s){var u,l,f,p,h,m=0,v=0,b=0,y=0,E=null,T=null,S=0,N=[],C={};for(f=0;f<r.length;++f)C[p=s?s(r[f]):r[f]]=p in C?C[p]+1:(y+=1,1),p==null?++b:t.isValid(p)&&(h=typeof p=="string"?p.length:p,(E===null||h<E)&&(E=h),(T===null||h>T)&&(T=h),S+=(u=h-m)*(h-(m+=u/++v)),N.push(h));return S/=v-1,l=Math.sqrt(S),N.sort(t.cmp),{type:n(r,s),unique:C,count:r.length,valid:v,missing:b,distinct:y,min:E,max:T,mean:m,stdev:l,median:p=i.quantile(N,.5),q1:i.quantile(N,.25),q3:i.quantile(N,.75),modeskew:l===0?0:(m-p)/l}},i.summary=function(r,s){var u=(s=s||t.keys(r[0])).map(function(l){var f=i.profile(r,t.$(l));return f.field=l,f});return u.__summary__=!0,u}})(Oi)),Oi.exports);const ps=us,Rt={nominal:0,key:1,ordinal:2,temporal:3,quantitative:4};class hs{constructor(t){this._tableSchema=t,t.fields.sort(function(n,o){return Rt[n.vlType]<Rt[o.vlType]?-1:Rt[n.vlType]>Rt[o.vlType]?1:n.name.localeCompare(o.name)}),t.fields.forEach((n,o)=>n.index=o),this._fieldSchemaIndex=t.fields.reduce((n,o)=>(n[o.name]=o,n),{})}fieldNames(){return this._tableSchema.fields.map(t=>t.name)}get fieldSchemas(){return this._tableSchema.fields}fieldSchema(t){return this._fieldSchemaIndex[t]}tableSchema(){const t=k.duplicate(this._tableSchema);return t.fields.sort((n,o)=>n.originalIndex-o.originalIndex),t}primitiveType(t){return this._fieldSchemaIndex[t]?this._fieldSchemaIndex[t].type:null}vlType(t){return this._fieldSchemaIndex[t]?this._fieldSchemaIndex[t].vlType:null}cardinality(t,n=!0,o=!1){const i=this._fieldSchemaIndex[t.field];if(t.aggregate||W(t)&&t.autoCount)return 1;if(t.bin){let c;c=typeof t.bin=="boolean"?{maxbins:Sn(t.channel)}:t.bin==="?"?{enum:[!0,!1]}:t.bin;const d=c.maxbins;return i.binStats[d]||(i.binStats[d]=Mi(d,i.stats)),i.binStats[d].distinct}if(t.timeUnit){if(n)switch(t.timeUnit){case L.SECONDS:case L.MINUTES:return 60;case L.HOURS:return 24;case L.DAY:return 7;case L.DATE:return 31;case L.MONTH:return 12;case L.QUARTER:return 4;case L.MILLISECONDS:return 1e3}let c=t.timeUnit,d=i.timeStats;return d&&d[c]||(d=Object.assign({},d,{[c]:Ii(t.timeUnit,i.stats)})),o?d[c].distinct-Ui(d[c].unique,["Invalid Date",null]):d[c].distinct}return i?o?i.stats.distinct-Ui(i.stats.unique,[NaN,null]):i.stats.distinct:null}timeUnitHasVariation(t){if(!t.timeUnit)return;if(t.timeUnit===L.DAY){const o=k.extend({},t,{timeUnit:L.DATE});if(this.cardinality(o,!1,!0)<=1)return!1}let n=t.timeUnit;for(let o of Fr)if(jr(n,o)){const i=k.extend({},t,{timeUnit:o});if(this.cardinality(i,!1,!0)<=1)return!1}return!0}domain(t){const n=this._fieldSchemaIndex[t.field];let o=k.keys(n.stats.unique);return n.vlType===j?[+n.stats.min,+n.stats.max]:n.type===B.DATETIME?[n.stats.min,n.stats.max]:n.type===B.INTEGER||n.type===B.NUMBER?(o=o.map(i=>+i),o.sort(k.cmp)):n.vlType===ce&&n.ordinalDomain?n.ordinalDomain:o.map(i=>i==="null"?null:i).sort(k.cmp)}stats(t){const n=this._fieldSchemaIndex[t.field];return n?n.stats:null}}function Mi(e,t){const n=ps({min:t.min,max:t.max,maxbins:e}),o=k.extend({},t);return o.unique=(function(i,c){const d={};for(let a in c){let r;r=a===null?null:isNaN(Number(a))?NaN:i.value(Number(a)),d[r]=(d[r]||0)+c[a]}return d})(n,t.unique),o.distinct=(n.stop-n.start)/n.step,o.min=n.start,o.max=n.stop,o}function Ii(e,t){const n=k.extend({},t);let o={};return k.keys(t.unique).forEach(function(i){let c,d=i==="null"?null:new Date(i);c=d===null?null:isNaN(d.getTime())?"Invalid Date":(e===L.DAY?d.getDay():pa(e,d)).toString(),o[c]=(o[c]||0)+t.unique[i]}),n.unique=o,n.distinct=k.keys(o).length,n}function Ui(e,t){return t.reduce(function(n,o){return e[o]?n+1:n},0)}var B;(function(e){e[e.STRING="string"]="STRING",e[e.NUMBER="number"]="NUMBER",e[e.INTEGER="integer"]="INTEGER",e[e.BOOLEAN="boolean"]="BOOLEAN",e[e.DATETIME="datetime"]="DATETIME"})(B||(B={}));class Fi{constructor(t){this.constraint=t}name(){return this.constraint.name}description(){return this.constraint.description}properties(){return this.constraint.properties}strict(){return this.constraint.strict}}class Di extends Fi{constructor(t){super(t)}hasAllRequiredPropertiesSpecific(t){return fe(this.constraint.properties,n=>{if(pe(n)){let o=n.parent,i=n.child;return!t[o]||!w(t[o][i])}return!t[n]||!w(t[n])})}satisfy(t,n,o,i){return!this.constraint.allowWildcardForProperties&&!this.hasAllRequiredPropertiesSpecific(t)||this.constraint.satisfy(t,n,o,i)}}const _i=[{name:"aggregateOpSupportedByType",description:"Aggregate function should be supported by data type.",properties:[g.TYPE,g.AGGREGATE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>!e.aggregate||!Lr(e.type)},{name:"asteriskFieldWithCountOnly",description:'Field="*" should be disallowed except aggregate="count"',properties:[g.FIELD,g.AGGREGATE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>e.field==="*"==(e.aggregate==="count")},{name:"minCardinalityForBin",description:"binned quantitative field should not have too low cardinality",properties:[g.BIN,g.FIELD,g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>{if(e.bin&&e.type===j){let i={channel:e.channel,field:e.field,type:e.type};return t.cardinality(i)>=o.minCardinalityForBin}return!0}},{name:"binAppliedForQuantitative",description:"bin should be applied to quantitative field only.",properties:[g.TYPE,g.BIN],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>!e.bin||e.type===j},{name:"channelFieldCompatible",description:"encoding channel's range type be compatible with channel type.",properties:[g.CHANNEL,g.TYPE,g.BIN,g.TIMEUNIT],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>{const i=Object.assign({field:"f"},Mn(e,{schema:t,props:["bin","timeUnit","type"]})),{compatible:c}=Ta(i,e.channel);if(c)return!0;return!(e.channel!=="row"&&e.channel!=="column"||(d=i.timeUnit,!vn[d]&&!(function(a){return!!bn[a]})(i.timeUnit)));var d}},{name:"hasFn",description:"A field with as hasFn flag should have one of aggregate, timeUnit, or bin.",properties:[g.AGGREGATE,g.BIN,g.TIMEUNIT],allowWildcardForProperties:!0,strict:!0,satisfy:(e,t,n,o)=>!e.hasFn||!!e.aggregate||!!e.bin||!!e.timeUnit},{name:"omitScaleZeroWithBinnedField",description:"Do not use scale zero with binned field",properties:[g.SCALE,ge("scale","zero"),g.BIN],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>!e.bin||!e.scale||e.scale.zero!==!0},{name:"onlyOneTypeOfFunction",description:"Only of of aggregate, autoCount, timeUnit, or bin should be applied at the same time.",properties:[g.AGGREGATE,g.AUTOCOUNT,g.TIMEUNIT,g.BIN],allowWildcardForProperties:!0,strict:!0,satisfy:(e,t,n,o)=>O(e)?(!w(e.aggregate)&&e.aggregate?1:0)+(!w(e.bin)&&e.bin?1:0)+(!w(e.timeUnit)&&e.timeUnit?1:0)<=1:!0},{name:"timeUnitAppliedForTemporal",description:"Time unit should be applied to temporal field only.",properties:[g.TYPE,g.TIMEUNIT],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>!e.timeUnit||e.type===Y},{name:"timeUnitShouldHaveVariation",description:"A particular time unit should be applied only if they produce unique values.",properties:[g.TIMEUNIT,g.TYPE],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n,o)=>!e.timeUnit||e.type!==Y||!n.has("timeUnit")&&!o.constraintManuallySpecifiedValue||t.timeUnitHasVariation(e)},{name:"scalePropertiesSupportedByScaleType",description:"Scale properties must be supported by correct scale type",properties:[].concat(Nt,[g.SCALE,g.TYPE]),allowWildcardForProperties:!0,strict:!0,satisfy:(e,t,n,o)=>{if(e.scale){const i=e.scale,c=De(e);if(c==null)return!0;for(let d in i){if(d==="type"||d==="name"||d==="enum")continue;const a=d;if(c==="point"){if(!fn("point",a)&&!fn("band",a))return!1}else if(!fn(c,a))return!1}}return!0}},{name:"scalePropertiesSupportedByChannel",description:"Not all scale properties are supported by all encoding channels",properties:[].concat(Nt,[g.SCALE,g.CHANNEL]),allowWildcardForProperties:!0,strict:!0,satisfy:(e,t,n,o)=>{if(e){let i=e.channel,c=e.scale;if(i&&!w(i)&&c){if(i==="row"||i==="column")return!1;for(let d in c)if(c.hasOwnProperty(d)&&!(d==="type"||d==="name"||d==="enum")&&ia(i,d)!==void 0)return!1}}return!0}},{name:"typeMatchesPrimitiveType",description:"Data type should be supported by field's primitive type.",properties:[g.FIELD,g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>{if(e.field==="*")return!0;const i=t.primitiveType(e.field),c=e.type;if(!n.has("field")&&!n.has("type")&&!o.constraintManuallySpecifiedValue)return!0;switch(i){case B.BOOLEAN:case B.STRING:return c!==j&&c!==Y;case B.NUMBER:case B.INTEGER:return c!==Y;case B.DATETIME:return c===Y;case null:return!1}throw new Error("Not implemented")}},{name:"typeMatchesSchemaType",description:"Enumerated data type of a field should match the field's type in the schema.",properties:[g.FIELD,g.TYPE],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n,o)=>!(n.has("field")||n.has("type")||o.constraintManuallySpecifiedValue)||(e.field==="*"?e.type===j:t.vlType(e.field)===e.type)},{name:"maxCardinalityForCategoricalColor",description:"Categorical channel should not have too high cardinality",properties:[g.CHANNEL,g.FIELD],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n,o)=>e.channel!==de||e.type!==ie&&e.type!==le.KEY||t.cardinality(e)<=o.maxCardinalityForCategoricalColor},{name:"maxCardinalityForFacet",description:"Row/column channel should not have too high cardinality",properties:[g.CHANNEL,g.FIELD,g.BIN,g.TIMEUNIT],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n,o)=>e.channel!==ne&&e.channel!==ee||t.cardinality(e)<=o.maxCardinalityForFacet},{name:"maxCardinalityForShape",description:"Shape channel should not have too high cardinality",properties:[g.CHANNEL,g.FIELD,g.BIN,g.TIMEUNIT],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n,o)=>e.channel!==Xe||t.cardinality(e)<=o.maxCardinalityForShape},{name:"dataTypeAndFunctionMatchScaleType",description:"Scale type must match data type",properties:[g.TYPE,g.SCALE,ge("scale","type"),g.TIMEUNIT,g.BIN],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>{if(e.scale){const i=e.type,c=De(e);if(Lr(i))return c===void 0||Ie(c);if(i===Y)return e.timeUnit?te([F.TIME,F.UTC,void 0],c)||Ie(c):te([F.TIME,F.UTC,void 0],c);if(i===j)return e.bin?te([F.LINEAR,void 0],c):te([F.LOG,F.POW,F.SQRT,F.QUANTILE,F.QUANTIZE,F.LINEAR,void 0],c)}return!0}},{name:"stackIsOnlyUsedWithXY",description:"stack should only be allowed for x and y channels",properties:[g.STACK,g.CHANNEL],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>!e.stack||e.channel===I||e.channel===U}].map(e=>new Di(e));_i.reduce((e,t)=>(e[t.name()]=t,e),{});const gs=_i.reduce((e,t)=>{for(const n of t.properties())e.set(n,e.get(n)||[]),e.get(n).push(t);return e},new K),ji=[{name:"doesNotSupportConstantValue",description:"row, column, x, y, order, and detail should not work with constant values.",properties:[g.TYPE,g.AGGREGATE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n,o)=>!te(["row","column","x","y","detail","order"],e.channel)}].map(e=>new Di(e));ji.reduce((e,t)=>(e[t.name()]=t,e),{});const ms=ji.reduce((e,t)=>{for(const n of t.properties())e.set(n,e.get(n)||[]),e.get(n).push(t);return e},new K),ys=pr.reduce((e,t)=>(e[t]=!0,e),{});class vs extends Fi{constructor(t){super(t)}hasAllRequiredPropertiesSpecific(t){return fe(this.constraint.properties,n=>{if(n===g.MARK)return!w(t.getMark());if(pe(n)){let o=n.parent,i=n.child;return fe(t.getEncodings(),c=>!c[o]||!w(c[o][i]))}if(!Ir(n))throw new Error("UNIMPLEMENTED");return fe(t.getEncodings(),o=>!o[n]||!w(o[n]))})}satisfy(t,n,o){return!this.constraint.allowWildcardForProperties&&!this.hasAllRequiredPropertiesSpecific(t)||this.constraint.satisfy(t,n,o)}}const Pi=[{name:"noRepeatedChannel",description:"Each encoding channel should only be used once.",properties:[g.CHANNEL],allowWildcardForProperties:!0,strict:!0,satisfy:(e,t,n)=>{let o={};return fe(e.getEncodings(),i=>!!w(i.channel)||!o[i.channel]&&(o[i.channel]=!0,!0))}},{name:"alwaysIncludeZeroInScaleWithBarMark",description:"Do not recommend bar mark if scale does not start at zero",properties:[g.MARK,g.SCALE,ge("scale","zero"),g.CHANNEL,g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>{const o=e.getMark(),i=e.getEncodings();if(o===me){for(let c of i)if(O(c)&&(c.channel===I||c.channel===U)&&c.type===j&&c.scale&&c.scale.zero===!1)return!1}return!0}},{name:"autoAddCount",description:"Automatically adding count only for plots with only ordinal, binned quantitative, or temporal with timeunit fields.",properties:[g.BIN,g.TIMEUNIT,g.TYPE,g.AUTOCOUNT],allowWildcardForProperties:!0,strict:!1,satisfy:(e,t,n)=>he(e.getEncodings(),o=>Dt(o))?fe(e.getEncodings(),o=>{if(oe(o)||W(o))return!0;switch(o.type){case j:return!!o.bin;case Y:return!!o.timeUnit;case ce:case le.KEY:case ie:return!0}throw new Error("Unsupported Type")}):fe(e.wildcardIndex.encodingIndicesByProperty.get("autoCount")||[],o=>{let i=e.getEncodingQueryByIndex(o);return W(i)&&!w(i.autoCount)})?he(e.getEncodings(),o=>(O(o)||W(o))&&o.type===j?!ae(o)&&O(o)&&(!o.bin||w(o.bin)):!(!O(o)||o.type!==Y)&&(!o.timeUnit||w(o.timeUnit))):!0},{name:"channelPermittedByMarkType",description:"Each encoding channel should be supported by the mark type",properties:[g.CHANNEL,g.MARK],allowWildcardForProperties:!0,strict:!0,satisfy:(e,t,n)=>{const o=e.getMark();return!!w(o)||fe(e.getEncodings(),i=>!!w(i.channel)||!!Qo(i.channel,o))}},{name:"hasAllRequiredChannelsForMark",description:"All required channels for the specified mark should be specified",properties:[g.CHANNEL,g.MARK],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>{const o=e.getMark();switch(o){case Ue:case tt:return e.channelUsed(I)&&e.channelUsed(U);case Ot:return e.channelUsed(on);case me:case kt:case Mt:case rt:case yn:case mn:return e.channelUsed(I)||e.channelUsed(U);case nt:return!e.wildcardIndex.hasProperty(g.CHANNEL)||e.channelUsed(I)||e.channelUsed(U)}throw new Error("hasAllRequiredChannelsForMark not implemented for mark"+JSON.stringify(o))}},{name:"omitAggregate",description:"Omit aggregate plots.",properties:[g.AGGREGATE,g.AUTOCOUNT],allowWildcardForProperties:!0,strict:!1,satisfy:(e,t,n)=>!e.isAggregate()},{name:"omitAggregatePlotWithDimensionOnlyOnFacet",description:"Omit aggregate plots with dimensions only on facets as that leads to inefficient use of space.",properties:[g.CHANNEL,g.AGGREGATE,g.AUTOCOUNT],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n)=>{if(e.isAggregate()){let o=!1,i=!1,c=!1;if(e.specQuery.encodings.forEach((d,a)=>{oe(d)||ae(d)||O(d)&&!d.aggregate&&(i=!0,te([ne,ee],d.channel)?e.wildcardIndex.hasEncodingProperty(a,g.CHANNEL)&&(c=!0):o=!0)}),i&&!o&&(c||n.constraintManuallySpecifiedValue))return!1}return!0}},{name:"omitAggregatePlotWithoutDimension",description:"Aggregate plots without dimension should be omitted",properties:[g.AGGREGATE,g.AUTOCOUNT,g.BIN,g.TIMEUNIT,g.TYPE],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n)=>!e.isAggregate()||he(e.getEncodings(),o=>!!(Ne(o)||O(o)&&o.type==="temporal"))},{name:"omitBarLineAreaWithOcclusion",description:"Don't use bar, line or area to visualize raw plot as they often lead to occlusion.",properties:[g.MARK,g.AGGREGATE,g.AUTOCOUNT],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n)=>!te([me,tt,Ue],e.getMark())||e.isAggregate()},{name:"omitBarTickWithSize",description:"Do not map field to size channel with bar and tick mark",properties:[g.CHANNEL,g.MARK],allowWildcardForProperties:!0,strict:!1,satisfy:(e,t,n)=>{const o=e.getMark();if(te([rt,me],o)&&e.channelEncodingField(Te)){if(n.constraintManuallySpecifiedValue)return!1;{const i=e.specQuery.encodings;for(let c=0;c<i.length;c++)if(i[c].channel===Te)return!e.wildcardIndex.hasEncodingProperty(c,g.CHANNEL)}}return!0}},{name:"omitBarAreaForLogScale",description:"Do not use bar and area mark for x and y's log scale",properties:[g.MARK,g.CHANNEL,g.SCALE,ge("scale","type"),g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>{const o=e.getMark(),i=e.getEncodings();if(o===Ue||o===me){for(let c of i)if(O(c)&&(c.channel===I||c.channel===U)&&c.scale&&De(c)===F.LOG)return!1}return!0}},{name:"omitMultipleNonPositionalChannels",description:"Unless manually specified, do not use multiple non-positional encoding channel to avoid over-encoding.",properties:[g.CHANNEL],allowWildcardForProperties:!0,strict:!1,satisfy:(e,t,n)=>{const o=e.specQuery.encodings;let i=0,c=!1;for(let d=0;d<o.length;d++){const a=o[d];if(oe(a)||ae(a))continue;const r=a.channel;if(!w(r)&&ys[r+""]&&(i+=1,e.wildcardIndex.hasEncodingProperty(d,g.CHANNEL)&&(c=!0),i>1&&(c||n.constraintManuallySpecifiedValue)))return!1}return!0}},{name:"omitNonPositionalOrFacetOverPositionalChannels",description:"Do not use non-positional channels unless all positional channels are used",properties:[g.CHANNEL],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n)=>{const o=e.specQuery.encodings;let i=!1,c=!1,d=!1,a=!1;for(let r=0;r<o.length;r++){const s=o[r];if(oe(s)||ae(s))continue;const u=s.channel;u===I?d=!0:u===U?a=!0:w(u)||(i=!0,e.wildcardIndex.hasEncodingProperty(r,g.CHANNEL)&&(c=!0))}return!(c||n.constraintManuallySpecifiedValue&&i)||d&&a}},{name:"omitRaw",description:"Omit raw plots.",properties:[g.AGGREGATE,g.AUTOCOUNT],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n)=>!!e.isAggregate()},{name:"omitRawContinuousFieldForAggregatePlot",description:"Aggregate plot should not use raw continuous field as group by values. (Quantitative should be binned. Temporal should have time unit.)",properties:[g.AGGREGATE,g.AUTOCOUNT,g.TIMEUNIT,g.BIN,g.TYPE],allowWildcardForProperties:!0,strict:!1,satisfy:(e,t,n)=>{if(e.isAggregate()){const o=e.specQuery.encodings;for(let i=0;i<o.length;i++){const c=o[i];if(!oe(c)&&!ae(c)&&(O(c)&&c.type===Y&&!c.timeUnit&&(e.wildcardIndex.hasEncodingProperty(i,g.TIMEUNIT)||n.constraintManuallySpecifiedValue)||c.type===j&&O(c)&&!c.bin&&!c.aggregate&&(e.wildcardIndex.hasEncodingProperty(i,g.BIN)||e.wildcardIndex.hasEncodingProperty(i,g.AGGREGATE)||e.wildcardIndex.hasEncodingProperty(i,g.AUTOCOUNT)||n.constraintManuallySpecifiedValue)))return!1}}return!0}},{name:"omitRawDetail",description:"Do not use detail channel with raw plot.",properties:[g.CHANNEL,g.AGGREGATE,g.AUTOCOUNT],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>!!e.isAggregate()||fe(e.specQuery.encodings,(o,i)=>!(!oe(o)&&!ae(o))||o.channel!==an||!e.wildcardIndex.hasEncodingProperty(i,g.CHANNEL)&&!n.constraintManuallySpecifiedValue)},{name:"omitRepeatedField",description:"Each field should be mapped to only one channel",properties:[g.FIELD],allowWildcardForProperties:!0,strict:!1,satisfy:(e,t,n)=>{let o={},i={};const c=e.specQuery.encodings;for(let d=0;d<c.length;d++){const a=c[d];if(oe(a)||W(a))continue;let r;if(a.field&&!w(a.field)&&(r=a.field),W(a)&&!w(a.autoCount)&&(r="count_*"),r){if(e.wildcardIndex.hasEncodingProperty(d,g.FIELD)&&(i[r]=!0),o[r]&&(i[r]||n.constraintManuallySpecifiedValue))return!1;o[r]=!0}}return!0}},{name:"omitVerticalDotPlot",description:"Do not output vertical dot plot.",properties:[g.CHANNEL],allowWildcardForProperties:!0,strict:!1,satisfy:(e,t,n)=>{const o=e.getEncodings();return o.length!==1||o[0].channel!==U}},{name:"hasAppropriateGraphicTypeForMark",description:"Has appropriate graphic type for mark",properties:[g.CHANNEL,g.MARK,g.TYPE,g.TIMEUNIT,g.BIN,g.AGGREGATE,g.AUTOCOUNT],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n)=>{const o=e.getMark();switch(o){case Ue:case tt:if(e.isAggregate()){const l=e.getEncodingQueryByChannel(I),f=e.getEncodingQueryByChannel(U),p=at(l),h=at(f);return l&&f&&p!==h&&!(O(l)&&!p&&te(["nominal","key"],l.type))&&!(O(f)&&!h&&te(["nominal","key"],f.type))}return!0;case Ot:return!0;case me:case rt:if(e.channelEncodingField(Te))return!1;{const l=e.getEncodingQueryByChannel(I),f=e.getEncodingQueryByChannel(U);return at(l)!==at(f)}case mn:const i=e.getEncodingQueryByChannel(I),c=e.getEncodingQueryByChannel(U),d=Ne(i),a=Ne(c),r=e.getEncodingQueryByChannel(de),s=at(r),u=!!O(r)&&r.type===ce;return(d&&a||d&&!e.channelUsed(U)||a&&!e.channelUsed(I))&&(!r||r&&(s||u));case kt:case nt:case Mt:case yn:return!0}throw new Error("hasAllRequiredChannelsForMark not implemented for mark"+o)}},{name:"omitInvalidStackSpec",description:"If stack is specified, must follow Vega-Lite stack rules",properties:[g.STACK,g.FIELD,g.CHANNEL,g.MARK,g.AGGREGATE,g.AUTOCOUNT,g.SCALE,ge("scale","type"),g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>{if(!e.wildcardIndex.hasProperty(g.STACK))return!0;const o=e.getVlStack();return(o!==null||e.getStackOffset()===null)&&o.fieldChannel===e.getStackChannel()}},{name:"omitNonSumStack",description:"Stack specifications that use non-summative aggregates should be omitted (even implicit ones)",properties:[g.CHANNEL,g.MARK,g.AGGREGATE,g.AUTOCOUNT,g.SCALE,ge("scale","type"),g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>{const o=e.getVlStack();if(o!=null){const i=e.getEncodingQueryByChannel(o.fieldChannel);if(!te(Pr,i.aggregate))return!1}return!0}},{name:"omitTableWithOcclusionIfAutoAddCount",description:"Plots without aggregation or autocount where x and y are both discrete should be omitted if autoAddCount is enabled as they often lead to occlusion",properties:[g.CHANNEL,g.TYPE,g.TIMEUNIT,g.BIN,g.AGGREGATE,g.AUTOCOUNT],allowWildcardForProperties:!1,strict:!1,satisfy:(e,t,n)=>{if(n.autoAddCount){const o=e.getEncodingQueryByChannel("x"),i=e.getEncodingQueryByChannel("y");if((!O(o)||Ne(o))&&(!O(i)||Ne(i)))return!!e.isAggregate()&&fe(e.getEncodings(),c=>{let d=c.channel;return!(d!==I&&d!==U&&d!==ne&&d!==ee&&O(c)&&!c.aggregate)})}return!0}}].map(e=>new vs(e));Pi.reduce((e,t)=>(e[t.name()]=t,e),{});const bs=Pi.reduce((e,t)=>{for(const n of t.properties())e.set(n,e.get(n)||[]),e.get(n).push(t);return e},new K);function Ri(e,t,n,o,i){const c=bs.get(e)||[];for(const d of c)if((d.strict()||i[d.name()])&&!d.satisfy(n,o,i)){let a="(spec) "+d.name();return i.verbose&&console.log(a+" failed with "+n.toShorthand()+" for "+t.name),a}return null}const $t=new K;function $i(e){return(t,n,o)=>(i,c)=>{const d=t.encodingIndicesByProperty.get(e);return(function a(r){if(r===d.length)return void i.push(c.duplicate());const s=d[r],u=t.encodings[s].get(e),l=c.getEncodingQueryByIndex(s),f=c.getEncodingProperty(s,e);oe(l)||ae(l)||!f?a(r+1):(u.enum.forEach(p=>{p===null&&(p=void 0),c.setEncodingProperty(s,e,p,u),!(function(m,v,b,y,E,T){const S=gs.get(m)||[],N=y.getEncodingQueryByIndex(b);for(const M of S)if((M.strict()||T[M.name()])&&!M.satisfy(N,E,y.wildcardIndex.encodings[b],T)){let A="(enc) "+M.name();return T.verbose&&console.log(A+" failed with "+y.toShorthand()+" for "+v.name),A}const C=ms.get(m)||[];for(const M of C)if((M.strict()||T[M.name()])&&oe(N)&&!M.satisfy(N,E,y.wildcardIndex.encodings[b],T)){let A="(enc) "+M.name();return T.verbose&&console.log(A+" failed with "+y.toShorthand()+" for "+v.name),A}return null})(e,u,s,c,n,o)&&(Ri(e,u,c,n,o)||a(r+1))}),c.resetEncodingProperty(s,e,u))})(0),i}}function ct(e,t,n){return t=t||new K,n=n||new K,e.forEach(o=>{var i;i=o,k.isObject(i)&&i.property?(t.setByKey(o.property,!0),n.setByKey(o.property,o.replace)):t.setByKey(o,!0)}),{include:t,replaceIndex:n,replacer:Oa(n)}}$t.set("mark",(e,t,n)=>(o,i)=>(i.getMark().enum.forEach(c=>{i.setMark(c),Ri("mark",e.mark,i,t,n)||o.push(i.duplicate())}),i.resetMark(),o)),pn.forEach(e=>{$t.set(e,$i(e))}),Ct.forEach(e=>{$t.set(e,$i(e))});const Bi=[g.FIELD,g.TYPE,g.AGGREGATE,g.BIN,g.TIMEUNIT,g.STACK],xs=Bi.concat([{property:g.CHANNEL,replace:{x:"xy",y:"xy",color:"style",size:"style",shape:"style",opacity:"style",row:"facet",column:"facet"}}]);let Fn={};function Bt(e,t){Fn[e]=t}const Li=ct([g.FIELD]);Bt("field",e=>qe(e,Li.include,Li.replacer));const Wi=ct(Bi);Bt("fieldTransform",e=>qe(e,Wi.include,Wi.replacer));const Hi=ct(xs);Bt("encoding",e=>qe(e,Hi.include,Hi.replacer)),Bt("spec",e=>JSON.stringify(e));class Es{constructor(){this._mark=void 0,this._encodings={},this._encodingIndicesByProperty=new K}setEncodingProperty(t,n,o){const i=this._encodings;(i[t]=i[t]||new K).set(n,o);const c=this._encodingIndicesByProperty;return c.set(n,c.get(n)||[]),c.get(n).push(t),this}hasEncodingProperty(t,n){return!!this._encodings[t]&&this._encodings[t].has(n)}hasProperty(t){if(Ir(t))return this.encodingIndicesByProperty.has(t);if(t==="mark")return!!this.mark;throw new Error("Unimplemented for property "+t)}isEmpty(){return!this.mark&&this.encodingIndicesByProperty.size()===0}setMark(t){return this._mark=t,this}get mark(){return this._mark}get encodings(){return this._encodings}get encodingIndicesByProperty(){return this._encodingIndicesByProperty}}class Qt{constructor(t,n,o,i,c){this._rankingScore={},this._spec=t,this._channelFieldCount=t.encodings.reduce((d,a)=>(w(a.channel)||W(a)&&a.autoCount===!1||(d[a.channel+""]=1),d),{}),this._wildcardIndex=n,this._assignedWildcardIndex=c,this._opt=i,this._schema=o}static build(t,n,o){let i=new Es;if(w(t.mark)){const c=it(g.MARK);t.mark=xn(t.mark,c,o.enum.mark),i.setMark(t.mark)}if(t.encodings.forEach((c,d)=>{W(c)&&(console.warn("A field with autoCount should not be included as autoCount meant to be an internal object."),c.type=j),O(c)&&c.type===void 0&&(c.type=D),pn.forEach(a=>{if(w(c[a])){const r=it(a)+d,s=Tn(a,n,o),u=c[a]=xn(c[a],r,s);i.setEncodingProperty(d,a,u)}}),Ct.forEach(a=>{const r=c[a.parent];if(r){const s=a.child;if(w(r[s])){const u=it(a)+d,l=Tn(a,n,o),f=r[s]=xn(r[s],u,l);i.setEncodingProperty(d,a,f)}}})}),o.autoAddCount){const c={name:it(g.CHANNEL)+t.encodings.length,enum:Tn(g.CHANNEL,n,o)},d={name:it(g.AUTOCOUNT)+t.encodings.length,enum:[!1,!0]},a={channel:c,autoCount:d,type:j};t.encodings.push(a);const r=t.encodings.length-1;i.setEncodingProperty(r,g.CHANNEL,c),i.setEncodingProperty(r,g.AUTOCOUNT,d)}return new Qt(t,i,n,o,{})}get wildcardIndex(){return this._wildcardIndex}get schema(){return this._schema}get specQuery(){return this._spec}duplicate(){return new Qt(k.duplicate(this._spec),this._wildcardIndex,this._schema,this._opt,k.duplicate(this._assignedWildcardIndex))}setMark(t){const n=this._wildcardIndex.mark.name;this._assignedWildcardIndex[n]=this._spec.mark=t}resetMark(){const t=this._spec.mark=this._wildcardIndex.mark;delete this._assignedWildcardIndex[t.name]}getMark(){return this._spec.mark}getEncodingProperty(t,n){const o=this._spec.encodings[t];return pe(n)?o[n.parent][n.child]:o[n]}setEncodingProperty(t,n,o,i){const c=this._spec.encodings[t];n===g.CHANNEL&&c.channel&&!w(c.channel)&&this._channelFieldCount[c.channel]--,pe(n)?c[n.parent][n.child]=o:hn(n)&&o===!0?c[n]=k.extend({},c[n],{enum:void 0,name:void 0}):c[n]=o,this._assignedWildcardIndex[i.name]=o,n===g.CHANNEL&&(this._channelFieldCount[o]=(this._channelFieldCount[o]||0)+1)}resetEncodingProperty(t,n,o){const i=this._spec.encodings[t];n===g.CHANNEL&&this._channelFieldCount[i.channel]--,pe(n)?i[n.parent][n.child]=o:i[n]=o,delete this._assignedWildcardIndex[o.name]}channelUsed(t){return this._channelFieldCount[t]>0}channelEncodingField(t){return O(this.getEncodingQueryByChannel(t))}getEncodings(){return this._spec.encodings.filter(t=>!ae(t))}getEncodingQueryByChannel(t){for(let n of this._spec.encodings)if(n.channel===t)return n}getEncodingQueryByIndex(t){return this._spec.encodings[t]}isAggregate(){return he(this._spec.encodings,t=>O(t)&&!w(t.aggregate)&&!!t.aggregate||Dt(t))}getVlStack(){return Hr(this._spec)}getStackOffset(){return(function(t){for(const n of t.encodings)if(n[g.STACK]!==void 0&&!w(n[g.STACK]))return n[g.STACK]})(this._spec)}getStackChannel(){return(function(t){for(const n of t.encodings)if(n[g.STACK]!==void 0&&!w(n.channel))return n.channel;return null})(this._spec)}toShorthand(t){if(t){if(k.isString(t))return(function(o,i){return Fn[i](o)})(this.specQuery,t);const n=ct(t);return qe(this._spec,n.include,n.replacer)}return qe(this._spec)}toSpec(t){if(w(this._spec.mark))return null;let n={};return(t=t||this._spec.data)&&(n.data=t),this._spec.transform&&(n.transform=this._spec.transform),n.mark=this._spec.mark,n.encoding=Qr(this.specQuery.encodings,{schema:this._schema,wildcardMode:"null"}),this._spec.width&&(n.width=this._spec.width),this._spec.height&&(n.height=this._spec.height),this._spec.background&&(n.background=this._spec.background),this._spec.padding&&(n.padding=this._spec.padding),this._spec.title&&(n.title=this._spec.title),n.encoding===null?null:((this._spec.config||this._opt.defaultSpecConfig)&&(n.config=k.extend({},this._opt.defaultSpecConfig,this._spec.config)),n)}getRankingScore(t){return this._rankingScore[t]}setRankingScore(t,n){this._rankingScore[t]=n}}function qi(e){return e.items!==void 0}function Dn(e){let t=e.items[0];for(;t&&qi(t);)t=t.items[0];return t}class Ge{constructor(t){this.type=t,this.scoreIndex=this.initScore()}getFeatureScore(t){const n=this.type,o=this.scoreIndex[t];if(o!==void 0)return{type:n,feature:t,score:o}}}var Z;(function(e){e[e.Q=j]="Q",e[e.BIN_Q="bin_"+j]="BIN_Q",e[e.T=Y]="T",e[e.TIMEUNIT_T="timeUnit_time"]="TIMEUNIT_T",e[e.TIMEUNIT_O="timeUnit_"+ce]="TIMEUNIT_O",e[e.O=ce]="O",e[e.N=ie]="N",e[e.K=le.KEY]="K",e[e.NONE="-"]="NONE"})(Z||(Z={}));const Gi=Z.Q,Lt=Z.BIN_Q,_n=Z.T,ze=Z.TIMEUNIT_T,Wt=Z.TIMEUNIT_O,Ht=Z.O,qt=Z.N,jn=Z.K,Gt=Z.NONE;function zt(e){return e.bin?Z.BIN_Q:e.timeUnit?Ie(De(e))?Z.TIMEUNIT_O:Z.TIMEUNIT_T:e.type}const Pn=-10;function H(e,t,n,o){return e+"_"+t+"_"+n+"_"+o}const Ts=[new class extends Ge{constructor(){super("Axis")}initScore(e={}){e=Object.assign({},ot,e);let t={};return[{feature:Lt,opt:"preferredBinAxis"},{feature:_n,opt:"preferredTemporalAxis"},{feature:ze,opt:"preferredTemporalAxis"},{feature:Wt,opt:"preferredTemporalAxis"},{feature:Ht,opt:"preferredOrdinalAxis"},{feature:qt,opt:"preferredNominalAxis"}].forEach(n=>{e[n.opt]===I?t[n.feature+"_"+U]=-.01:e[n.opt]===U&&(t[n.feature+"_"+I]=-.01)}),t}featurize(e,t){return e+"_"+t}getScore(e,t,n){return e.getEncodings().reduce((o,i)=>{if(O(i)||W(i)){const c=zt(i),d=this.featurize(c,i.channel),a=this.getFeatureScore(d);a&&o.push(a)}return o},[])}},new class extends Ge{constructor(){super("Dimension")}initScore(){return{row:-2,column:-2,color:0,opacity:0,size:0,shape:0}}getScore(e,t,n){return e.isAggregate()&&e.getEncodings().reduce((o,i)=>{if(W(i)||O(i)&&!i.aggregate){const c=this.getFeatureScore(i.channel+"");if(c&&c.score>o.score)return c}return o},{type:"Dimension",feature:"No Dimension",score:-5}),[]}},new class extends Ge{constructor(){super("Facet")}initScore(e){let t={};return(e=Object.assign({},ot,e)).preferredFacet===ne?t[ee]=-.01:e.preferredFacet===ee&&(t[ne]=-.01),t}getScore(e,t,n){return e.getEncodings().reduce((o,i)=>{if(O(i)||W(i)){const c=this.getFeatureScore(i.channel);c&&o.push(c)}return o},[])}},new class extends Ge{constructor(){super("Mark")}initScore(){return(function(){const e=[Gi,_n],t=[Lt,Wt,Ht,qt,jn].concat([Gt]);let n={};e.forEach(o=>{e.forEach(i=>{Q({point:0,text:-.2,tick:-.5,rect:-1,bar:-2,line:-2,area:-2,rule:-2.5},(c,d)=>{const a=H(o,i,!0,d);n[a]=c}),Q({point:0,text:-.2,tick:-.5,bar:-2,line:-2,area:-2,rule:-2.5},(c,d)=>{const a=H(o,i,!1,d);n[a]=c})})}),e.forEach(o=>{t.forEach(i=>{Q({tick:0,point:-.2,text:-.5,bar:-2,line:-2,area:-2,rule:-2.5},(c,d)=>{const a=H(o,i,!0,d);n[a]=c;const r=H(i,o,!0,d);n[r]=c})}),[ze].forEach(i=>{Q({point:0,text:-.5,tick:-1,bar:-2,line:-2,area:-2,rule:-2.5},(c,d)=>{const a=H(o,i,!0,d);n[a]=c;const r=H(i,o,!0,d);n[r]=c})}),[Gt,qt,Ht,jn].forEach(i=>{Q({bar:0,point:-.2,tick:-.25,text:-.3,line:-2,area:-2,rule:-2.5},(c,d)=>{const a=H(o,i,!1,d);n[a]=c;const r=H(i,o,!1,d);n[r]=c})}),[Lt].forEach(i=>{Q({bar:0,point:-.2,tick:-.25,text:-.3,line:-.5,area:-.5,rule:-2.5},(c,d)=>{const a=H(o,i,!1,d);n[a]=c;const r=H(i,o,!1,d);n[r]=c})}),[ze,Wt].forEach(i=>{Q({line:0,area:-.1,bar:-.2,point:-.3,tick:-.35,text:-.4,rule:-2.5},(c,d)=>{const a=H(o,i,!1,d);n[a]=c;const r=H(i,o,!1,d);n[r]=c})})}),[ze].forEach(o=>{[ze].forEach(i=>{const c={point:0,rect:-.1,text:-.5,tick:-1,bar:-2,line:-2,area:-2,rule:-2.5};Q(c,(d,a)=>{const r=H(o,i,!0,a);n[r]=d}),Q(c,(d,a)=>{const r=H(o,i,!1,a);n[r]=d})}),t.forEach(i=>{const c={tick:0,point:-.2,text:-.5,rect:-1,bar:-2,line:-2,area:-2,rule:-2.5};Q(c,(d,a)=>{const r=H(o,i,!0,a);n[r]=d}),Q(c,(d,a)=>{const r=H(i,o,!0,a);n[r]=d}),Q(c,(d,a)=>{const r=H(o,i,!1,a);n[r]=d}),Q(c,(d,a)=>{const r=H(i,o,!1,a);n[r]=d})})});for(const o of t)for(const i of t){const c={point:0,rect:0,text:-.1,tick:-1,bar:-2,line:-2,area:-2,rule:-2.5};Q(c,(d,a)=>{const r=H(o,i,!0,a);n[r]=d}),Q(c,(d,a)=>{const r=H(o,i,!1,a);n[r]=d})}return n})()}getScore(e,t,n){let o=e.getMark();o!==kt&&o!==Mt||(o=nt);const i=e.getEncodingQueryByChannel(I),c=i?zt(i):Gt,d=e.getEncodingQueryByChannel(U),a=c+"_"+(d?zt(d):Gt)+"_"+!e.isAggregate()+"_"+o,r=this.getFeatureScore(a);return r?[r]:(console.error("feature score missing for",a),[])}},new class extends Ge{constructor(){super("SizeChannel")}initScore(){return{bar_size:-2,tick_size:-2}}getScore(e,t,n){const o=e.getMark();return e.getEncodings().reduce((i,c)=>{if(O(c)||W(c)){const d=o+"_"+c.channel,a=this.getFeatureScore(d);a&&i.push(a)}return i},[])}},new class extends Ge{constructor(){super("TypeChannel")}initScore(){let e={};const t={x:0,y:0,size:-.575,color:-.725,text:-2,opacity:-3,shape:Pn,row:Pn,column:Pn,detail:-20};[Gi,_n,ze].forEach(i=>{k.keys(t).forEach(c=>{e[this.featurize(i,c)]=t[c]})});const n=k.extend({},t,{row:-.75,column:-.75,shape:-3.1,text:-3.2,detail:-4});[Lt,Wt,Ht].forEach(i=>{k.keys(n).forEach(c=>{e[this.featurize(i,c)]=n[c]})});const o={x:0,y:0,color:-.6,shape:-.65,row:-.7,column:-.7,text:-.8,detail:-2,size:-3,opacity:-3.1};return k.keys(o).forEach(i=>{e[this.featurize(qt,i)]=o[i],e[this.featurize(jn,i)]=te(["x","y","detail"],i)?-1:o[i]-2}),e}featurize(e,t){return e+"_"+t}getScore(e,t,n){const o=e.getEncodings().reduce((c,d)=>{if(O(d)||W(d)){const a=zr(d);(c[a]=c[a]||[]).push(d)}return c},{}),i=[];return Q(o,c=>{const d=c.reduce((a,r)=>{if(O(r)||W(r)){const s=zt(r),u=this.featurize(s,r.channel),l=this.getFeatureScore(u);if(a===null||l.score>a.score)return l}return a},null);i.push(d)}),i}}],Ce="aggregationQuality";let zi={};function Rn(e,t){zi[e]=t}function Yi(e,t,n,o){return t.nest&&o!==t.nest.length?(e.items.forEach(i=>{Yi(i,t,n,o+1)}),t.nest[o].orderGroupBy&&e.items.sort((function(i,c,d){return(a,r)=>{const s=Dn(a),u=Dn(r);return Qi(i instanceof Array?i:[i],s,u,c,d)}})(t.nest[o].orderGroupBy,n,t.config))):(t.orderBy||t.chooseBy)&&(e.items.sort((function(i,c,d){return(a,r)=>Qi(i instanceof Array?i:[i],a,r,c,d)})(t.orderBy||t.chooseBy,n,t.config)),t.chooseBy&&e.items.length>0&&e.items.splice(1)),e}function Qi(e,t,n,o,i){for(let c of e){let d=Vi(n,c,o,i).score-Vi(t,c,o,i).score;if(d!==0)return d}return 0}function Vi(e,t,n,o){if(e.getRankingScore(t)!==void 0)return e.getRankingScore(t);const i=(function(d){return zi[d]})(t),c=i(e,n,o);return e.setRankingScore(t,c),c}function Ss(e,t,n){let o={};return e=e.map(function(i){return n.smallRangeStepForHighCardinalityOrFacet&&(i=(function(c,d,a,r){[ne,U,ee,I].forEach(l=>{a[l]=c.getEncodingQueryByChannel(l)});const s=a[U];if(s!==void 0&&O(s)&&(a[ne]||d.cardinality(s)>r.smallRangeStepForHighCardinalityOrFacet.maxCardinality)){s.scale===void 0&&(s.scale={});const l=De(s);s.scale&&(l===void 0||Ie(l))&&(s.scale.rangeStep||(s.scale.rangeStep=12))}const u=a[I];if(O(u)&&(a[ee]||d.cardinality(u)>r.smallRangeStepForHighCardinalityOrFacet.maxCardinality)){u.scale===void 0&&(u.scale={});const l=De(u);u.scale&&(l===void 0||Ie(l))&&(u.scale.rangeStep||(u.scale.rangeStep=12))}return c})(i,t,o,n)),n.nominalColorScaleForHighCardinality&&(i=(function(c,d,a,r){a[de]=c.getEncodingQueryByChannel(de);const s=a[de];return O(s)&&s!==void 0&&(s.type===ie||s.type===le.KEY)&&d.cardinality(s)>r.nominalColorScaleForHighCardinality.maxCardinality&&(s.scale===void 0&&(s.scale={}),s.scale&&(s.scale.range||(s.scale.scheme=r.nominalColorScaleForHighCardinality.palette))),c})(i,t,o,n)),n.xAxisOnTopForHighYCardinalityWithoutColumn&&(i=(function(c,d,a,r){if([ee,I,U].forEach(s=>{a[s]=c.getEncodingQueryByChannel(s)}),a[ee]===void 0){const s=a[I],u=a[U];O(s)&&O(u)&&u!==void 0&&u.field&&Ie(De(u))&&s!==void 0&&d.cardinality(u)>r.xAxisOnTopForHighYCardinalityWithoutColumn.maxCardinality&&(s.axis===void 0&&(s.axis={}),s.axis&&!s.axis.orient&&(s.axis.orient="top"))}return c})(i,t,o,n)),i}),e}function ws(e,t,n=ot){const o=Qt.build(e,t,n),i=o.wildcardIndex;let c=[o];return n.propertyPrecedence.forEach(d=>{const a=(function(r){const s=r.split(".");if(s.length===1)return r;if(s.length===2)return{parent:s[0],child:s[1]};throw"Invalid property key with "+s.length+" dots: "+r})(d);if(i.hasProperty(a)){const r=(function(u){return $t.get(u)})(a),s=r(i,t,n);c=c.reduce(s,[])}}),!n.stylize||n.nominalColorScaleForHighCardinality===null&&n.smallRangeStepForHighCardinalityOrFacet===null&&n.xAxisOnTopForHighYCardinalityWithoutColumn===null?c:Ss(c,t,n)}function Ki(e,t,n){return e=Object.assign({},(function(o){if(o.groupBy){let i={groupBy:o.groupBy};o.orderBy&&(i.orderGroupBy=o.orderBy);let c={spec:k.duplicate(o.spec),nest:[i]};return o.chooseBy&&(c.chooseBy=o.chooseBy),o.config&&(c.config=o.config),c}return k.duplicate(o)})(e),{config:Object.assign({},ot,n,e.config)}),{query:e,result:Yi((function(o,i){if(i){const c={name:"",path:"",items:[]};let d={},a=[],r=[],s=[];for(let u=0;u<i.length;u++){a.push(u>0?a[u-1].duplicate():new K),r.push(u>0?r[u-1].duplicate():new K);const l=i[u].groupBy;if(k.isArray(l)){let f=ct(l,a[u],r[u]);s.push(f.replacer)}}return o.forEach(u=>{let l="",f=c;for(let p=0;p<i.length;p++){const h=f.groupBy=i[p].groupBy;f.orderGroupBy=i[p].orderGroupBy;const m=k.isArray(h)?qe(u.specQuery,a[p],s[p]):Fn[h](u.specQuery);l+="/"+m,d[l]||(d[l]={name:m,path:l,items:[]},f.items.push(d[l])),f=d[l]}f.items.push(u)}),c}return{name:"",path:"",items:o}})(ws(e.spec,t,e.config),e.nest),e,t,0)}}Rn("effectiveness",function(e,t,n){const o=Ts.reduce((i,c)=>{const d=c.getScore(e,t,n);return i.concat(d)},[]);return{score:o.reduce((i,c)=>i+c.score,0),features:o}}),Rn(Ce,function(e,t,n){const o=(function(i){const c=i.getEncodings();if(i.isAggregate()){if(he(c,d=>O(d)&&(d.type===j&&!d.bin&&!d.aggregate||d.type===Y&&!d.timeUnit)))return{type:Ce,score:.1,feature:"Aggregate with raw continuous"};if(he(c,d=>O(d)&&Ne(d))){let d=he(c,r=>O(r)&&r.aggregate==="count"||Dt(r)),a=he(c,r=>O(r)&&!!r.bin);return d?{type:Ce,score:.8,feature:"Aggregate with count"}:a?{type:Ce,score:.7,feature:"Aggregate with bin but without count"}:{type:Ce,score:.9,feature:"Aggregate without count and without bin"}}return{type:Ce,score:.3,feature:"Aggregate without dimension"}}return he(c,d=>O(d)&&!Ne(d))?{type:Ce,score:1,feature:"Raw with measure"}:{type:Ce,score:.2,feature:"Raw without measure"}})(e);return{score:o.score,features:[o]}}),Rn("fieldOrder",function(e,t,n){const o=e.wildcardIndex.encodingIndicesByProperty.get("field");if(!o)return{score:0,features:[]};const i=e.specQuery.encodings,c=t.fieldSchemas.length,d=[];let a=0,r=1;for(let s=o.length-1;s>=0;s--){const u=o[s],l=i[u];let f;if(!O(l))continue;f=l.field;const p=e.wildcardIndex.encodings[u].get("field"),h=t.fieldSchema(f).index,m=-h*r;a+=m,d.push({score:m,type:"fieldOrder",feature:`field ${p.name} is ${f} (#${h} in the schema)`}),r*=c}return{score:a,features:d}});const Ye={[B.BOOLEAN]:x.jsx(yo,{className:"h-5 w-5 inline-flex opacity-60"}),[B.DATETIME]:x.jsx(mo,{className:"h-5 w-5 inline-flex opacity-60"}),[B.NUMBER]:x.jsx(go,{className:"h-5 w-5 inline-flex opacity-60"}),[B.STRING]:x.jsx(ho,{className:"h-5 w-5 inline-flex opacity-60"}),[B.INTEGER]:x.jsx(Wo,{className:"h-5 w-5 inline-flex opacity-60"})},Ns=e=>{const t=Ee.c(24),{schema:n}=e,[o,i]=Yn.useState(),[c,d]=Yn.useState();let a;if(t[0]!==n||t[1]!==o||t[2]!==c){const r=n.fieldNames(),s=o?n.stats({field:o,channel:"x"}):void 0;let u;t[4]===Symbol.for("react.memo_cache_sentinel")?(u=x.jsx(Lo,{className:"text-muted-foreground",width:40,height:40,strokeWidth:1.5}),t[4]=u):u=t[4];const l=u,f=c?r:r.slice(0,12),p=r.length>12;let h;t[5]!==n||t[6]!==o?(h=A=>{const _=n.cardinality({channel:"x",field:A});return x.jsxs("span",{className:vo("hover:bg-muted self-start px-2 py-2 rounded flex flex-row gap-1 items-center cursor-pointer lg:justify-center text-sm truncate shrink-0 overflow-hidden",o===A&&"bg-muted"),onClick:()=>{i(o!==A?A:void 0)},children:[Ye[n.primitiveType(A)],A,_>1&&x.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",_,")"]})]},A)},t[5]=n,t[6]=o,t[7]=h):h=t[7];const m=f.map(h);let v,b;t[8]!==p||t[9]!==c?(v=p&&x.jsx(Qn,{"data-testid":"marimo-plugin-data-explorer-show-more-columns",variant:"link",size:"sm",className:"self-center col-span-3 -mt-1",onClick:()=>d(Os),children:c?"Show less":"Show more"}),t[8]=p,t[9]=c,t[10]=v):v=t[10],t[11]!==m||t[12]!==v?(b=x.jsxs("div",{className:"hidden lg:grid grid-cols-2 xl:grid-cols-3 gap-2 p-2 bg-(--slate-1) border rounded lg:items-center items-start w-fit grid-flow-dense max-h-[300px] overflow-auto",children:[m,v]}),t[11]=m,t[12]=v,t[13]=b):b=t[13];const y=o||"",E=r.length===0;let T,S,N,C,M;t[14]===Symbol.for("react.memo_cache_sentinel")?(T=A=>{i(A)},t[14]=T):T=t[14],t[15]===Symbol.for("react.memo_cache_sentinel")?(S=x.jsx(pt,{className:"min-w-[210px] h-full",children:x.jsx(Vn,{placeholder:"Select a column"})}),t[15]=S):S=t[15],t[16]!==n?(N=n.fieldNames().map(A=>x.jsx(ke,{value:A.toString(),children:x.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[Ye[n.primitiveType(A)],x.jsx("span",{className:"flex-1",children:A}),x.jsxs("span",{className:"text-muted-foreground text-xs font-semibold",children:["(",n.vlType(A),")"]})]})},A)),t[16]=n,t[17]=N):N=t[17],t[18]!==N?(C=x.jsx(ht,{children:x.jsx(Ke,{children:N})}),t[18]=N,t[19]=C):C=t[19],t[20]!==C||t[21]!==y||t[22]!==E?(M=x.jsx("div",{className:"lg:hidden",children:x.jsxs(gt,{"data-testid":"marimo-plugin-data-explorer-column-select",value:y,disabled:E,onValueChange:T,children:[S,C]})}),t[20]=C,t[21]=y,t[22]=E,t[23]=M):M=t[23],a=x.jsxs("div",{className:"flex flex-col justify-center items-center h-full flex-1 gap-2",children:[l,x.jsxs("span",{className:"text-muted-foreground font-semibold",children:[r.length>0?r.length:"No"," fields"]}),b,M,o&&x.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-2 p-2 text-sm",children:Cs.map(A=>x.jsxs("div",{className:"flex flex-row gap-2 min-w-[100px]",children:[x.jsx("span",{className:"font-semibold",children:A}),x.jsx("span",{children:As(s==null?void 0:s[A])})]},A))})]}),t[0]=n,t[1]=o,t[2]=c,t[3]=a}else a=t[3];return a},Cs=["distinct","min","max","mean","median","q1","q3","stdev"];function As(e){return typeof e=="number"?new Intl.NumberFormat("en-US",{maximumFractionDigits:2}).format(e):typeof e=="string"?e:typeof e=="object"&&e instanceof Date?new Intl.DateTimeFormat("en-US",{year:"numeric",month:"short",day:"numeric"}).format(e):String(e)}function Os(e){return!e}function ks(e){return e?e==="bin"?{bin:!0}:Ro(e)?{aggregate:e}:(function(t){return t?Ji.includes(t)||Xi.includes(t):!1})(e)?{timeUnit:e}:{}:{}}const Ms=["bin","min","max","mean","median","sum"],Ji=["year","month","date","day","hours","minutes","seconds","milliseconds"],Xi=["yearmonth","yearmonthdate","monthdate"],Is=[D,"area","bar","circle","geoshape","line","point","rect","rule","square","text","tick","trail"],Us={type:"histograms",limit:12,createQuery:e=>({spec:{data:e.spec.data,mark:D,transform:e.spec.transform,encodings:[{channel:D,bin:D,timeUnit:D,field:D,type:D},{channel:D,aggregate:"count",field:"*",type:"quantitative"}]},groupBy:"fieldTransform",orderBy:["fieldOrder","aggregationQuality","effectiveness"],chooseBy:["aggregationQuality","effectiveness"],config:{autoAddCount:!1}})};function Zi(e){const t={};for(const n in e)e[n]!==void 0&&(t[n]=e[n]);return t}function Fs(e){const{aggregate:t,bin:n,timeUnit:o,field:i,scale:c,legend:d,axis:a,sort:r,description:s}=e;let{type:u}=e;if(w(u))throw new Error("Wildcard not support");u==="ordinal"&&(bo.warn("Ordinal type is not supported. Using nominal type instead."),u="nominal");const l=(function(f){const{aggregate:p,bin:h,timeUnit:m}=f;return h?"bin":p?p.toString():m?m.toString():void 0})({aggregate:t,bin:n,timeUnit:o});return xo(i!==void 0,"Field is required for fieldQ"),Zi({field:i,fn:l,type:u,sort:r,scale:c,axis:a,legend:d,description:s})}function Ds(e){return e?Object.entries(e).map(([t,n])=>(function(o,i){const{fn:c,...d}=o;return{channel:i,...ks(c),...d}})(n,t)):[]}function $n(e){const{type:t,limit:n,additionalFieldQuery:o}=e;return{type:t,limit:n,createQuery:i=>({spec:{...i.spec,encodings:[...i.spec.encodings,o]},groupBy:"field",orderBy:["fieldOrder","aggregationQuality","effectiveness"],chooseBy:["aggregationQuality","effectiveness"],config:{autoAddCount:!0}})}}const _s=$n({type:"addCategoricalField",limit:4,additionalFieldQuery:{channel:D,field:D,type:"nominal"}}),js=$n({type:"addQuantitativeField",limit:4,additionalFieldQuery:{channel:D,bin:D,aggregate:D,field:D,type:"quantitative"}}),Ps=$n({type:"addTemporalField",limit:2,additionalFieldQuery:{channel:D,hasFn:!0,timeUnit:D,field:D,type:"temporal"}});function eo(e){return e.encodings.length===0}function to(e){let t=!1,n=!1,o=!1;for(const i of e.encodings)oe(i)||(W(i)?w(i.autoCount)&&(n=!0):(w(i.field)&&(t=!0),(w(i.aggregate)||w(i.bin)||w(i.timeUnit))&&(n=!0),w(i.channel)&&(o=!0)));return{hasAnyWildcard:o||t||n,hasWildcardField:t,hasWildcardFn:n,hasWildcardChannel:o}}const no={name:"source"};function Rs(e,t){const n={},{hasOpenPosition:o,hasStyleChannel:i,hasOpenFacet:c}=(function(d){let a=!1,r=!1,s=!1;return d.encodings.forEach(u=>{u.channel==="x"||u.channel==="y"?a=!0:u.channel==="row"||u.channel==="column"?s=!0:typeof u.channel=="string"&&$o(Bo,u.channel)&&(r=!0)}),{hasOpenPosition:a,hasStyleChannel:r,hasOpenFacet:s}})(e.spec);return(o||i)&&(n.addQuantitativeField=Yt(js,e,t)),(o||i||c)&&(n.addCategoricalField=Yt(_s,e,t)),o&&(n.addTemporalField=Yt(Ps,e,t)),n}function Bn(e,t){return eo(e.spec)?{plots:[],query:e,limit:1}:{plots:[ro(Ki(e,t).result,no)[0]],query:e,limit:1}}function Yt(e,t,n){const o=e.createQuery(t);return{plots:ro(Ki(o,n).result,no),query:o,limit:e.limit}}function ro(e,t){return e.items.map(n=>qi(n)?io(t,Dn(n)):io(t,n))}function io(e,t){return{fieldInfos:t.getEncodings().filter(O).map(n=>({fieldDef:Fs(n),channel:n.channel})),spec:t.toSpec(e)}}function $s(e){const{spec:t,autoAddCount:n}=e,o=(function(r){return{mark:r.mark,encodings:Ds(r.encoding),config:r.config}})(t),{hasAnyWildcard:i,hasWildcardFn:c,hasWildcardField:d}=to(o),a=(function(r){const{hasWildcardFn:s,hasWildcardField:u}=r;return s?"fieldTransform":u?"field":"encoding"})({hasWildcardFn:c,hasWildcardField:d});return{spec:o,groupBy:a,orderBy:["fieldOrder","aggregationQuality","effectiveness"],chooseBy:["aggregationQuality","effectiveness"],config:i?{autoAddCount:n}:void 0}}const{valueAtom:Qe,useActions:Bs}=Eo(function(){return{mark:D,encoding:{},config:{},schema:null}},{setSchema:(e,t)=>({...e,schema:t}),setMark:(e,t)=>({...e,mark:t}),setEncoding:(e,t)=>{const n=Zi({...e.encoding,...t});return{...e,encoding:n}},set:(e,t)=>{const{schema:n,...o}=t;return{...e,...o}}});function oo(){return Bs()}const Ls=To(e=>{const t=e(Qe);if(!t.schema)return{};const n=$s({spec:t,autoAddCount:!0});return eo(n.spec)?{main:Bn(n,t.schema),histograms:Yt(Us,n,t.schema)}:(function(o){return!to(o).hasAnyWildcard})(n.spec)&&!(function(o){const i=new Set(o.encodings.map(a=>a.channel)),c=["x","y","color"].every(a=>i.has(a)),d=["row","column"].some(a=>i.has(a));return c&&d})(n.spec)?{main:Bn(n,t.schema),...Rs(n,t.schema)}:{main:Bn(n,t.schema)}}),Ws=["x","y","row","column"],Hs=["color","size","shape"],qs=e=>{const t=Ee.c(26),{schema:n,mark:o}=e,i=Kt(Qe),c=oo(),d=i.encoding.x&&i.encoding.y;let a;t[0]!==c||t[1]!==d||t[2]!==n||t[3]!==i.encoding?(a=S=>{const N=(S==="row"||S==="column")&&!d;return x.jsx(Gs,{schema:n,label:S,disabled:N,fieldDefinition:i.encoding[S],onChange:C=>c.setEncoding({[S]:C})},S)},t[0]=c,t[1]=d,t[2]=n,t[3]=i.encoding,t[4]=a):a=t[4];const r=a;let s,u,l,f,p;t[5]!==o?(s=o.toString(),t[5]=o,t[6]=s):s=t[6],t[7]!==c?(u=S=>c.setMark(S),t[7]=c,t[8]=u):u=t[8],t[9]===Symbol.for("react.memo_cache_sentinel")?(l=x.jsx(pt,{children:x.jsx(Vn,{placeholder:"Mark"})}),t[9]=l):l=t[9],t[10]===Symbol.for("react.memo_cache_sentinel")?(f=x.jsx(ht,{children:x.jsxs(Ke,{children:[x.jsx(Kn,{children:"Mark"}),Is.map(Ys)]})}),t[10]=f):f=t[10],t[11]!==s||t[12]!==u?(p=x.jsxs(gt,{"data-testid":"marimo-plugin-data-explorer-mark-select",value:s,onValueChange:u,children:[l,f]}),t[11]=s,t[12]=u,t[13]=p):p=t[13];const h=p;let m,v,b,y,E,T;return t[14]===Symbol.for("react.memo_cache_sentinel")?(m=x.jsx("span",{className:"col-span-2 flex items-center justify-between w-full",children:x.jsx("div",{className:"text-sm font-semibold",children:"Encodings"})}),t[14]=m):m=t[14],t[15]!==r?(v=Ws.map(r),t[15]=r,t[16]=v):v=t[16],t[17]===Symbol.for("react.memo_cache_sentinel")?(b=x.jsx("div",{children:"Mark"}),t[17]=b):b=t[17],t[18]!==h?(y=x.jsxs("span",{className:"col-span-2 text-sm font-semibold w-full border-t border-divider flex items-center justify-between pt-2 pr-[30px]",children:[b,h]}),t[18]=h,t[19]=y):y=t[19],t[20]!==r?(E=Hs.map(r),t[20]=r,t[21]=E):E=t[21],t[22]!==y||t[23]!==E||t[24]!==v?(T=x.jsxs("div",{className:"grid gap-x-2 gap-y-4 justify-items-start py-3 pl-4 pr-2 bg-(--slate-1) border rounded items-center grid-template-columns-[repeat(2,_minmax(0,_min-content))] self-start",children:[m,v,y,E]}),t[22]=y,t[23]=E,t[24]=v,t[25]=T):T=t[25],T},Gs=e=>{const t=Ee.c(43),{label:n,schema:o,fieldDefinition:i,disabled:c,onChange:d}=e;let a;t[0]!==i||t[1]!==o?(a=()=>{if(!i)return"--";if(i.field==="*")return x.jsxs("span",{className:"flex gap-2 flex-1",children:[Ye[B.NUMBER],x.jsx("span",{className:"text-left flex-1",children:"Count"})]});const P=i.field.toString();return x.jsxs("span",{className:"flex gap-2 flex-1",children:[Ye[o.primitiveType(P)],x.jsx("span",{className:"text-left flex-1",children:i.fn?`${i.fn}(${i.field})`:P})]})},t[0]=i,t[1]=o,t[2]=a):a=t[2];const r=a;let s;t[3]!==d?(s=()=>{d(void 0)},t[3]=d,t[4]=s):s=t[4];const u=s;let l;t[5]!==(i==null?void 0:i.field)?(l=(i==null?void 0:i.field.toString())??"",t[5]=i==null?void 0:i.field,t[6]=l):l=t[6];const f=l;let p,h;t[7]!==n?(p=x.jsx(So,{className:"text-(--slate-11) font-semibold",children:n}),t[7]=n,t[8]=p):p=t[8],t[9]!==d||t[10]!==o?(h=P=>{d(P==="*"?{field:"*",fn:"count",type:"quantitative"}:{field:P,type:o.vlType(P)})},t[9]=d,t[10]=o,t[11]=h):h=t[11];const m=f?u:void 0;let v,b,y,E,T,S,N,C,M,A,_,J;return t[12]!==r?(v=r(),t[12]=r,t[13]=v):v=t[13],t[14]!==m||t[15]!==v?(b=x.jsx(pt,{className:"min-w-[140px] lg:min-w-[210px] h-full",onClear:m,children:v}),t[14]=m,t[15]=v,t[16]=b):b=t[16],t[17]!==o?(y=o.fieldNames().map(P=>x.jsx(ke,{value:P.toString(),children:x.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[Ye[o.primitiveType(P)],x.jsx("span",{className:"flex-1",children:P}),x.jsxs("span",{className:"text-muted-foreground text-xs font-semibold",children:["(",o.vlType(P),")"]})]})},P)),t[17]=o,t[18]=y):y=t[18],t[19]!==o?(E=o.fieldNames().length===0&&x.jsx(ke,{disabled:!0,value:"--",children:"No columns"}),t[19]=o,t[20]=E):E=t[20],t[21]===Symbol.for("react.memo_cache_sentinel")?(T=x.jsx(Jn,{}),t[21]=T):T=t[21],t[22]===Symbol.for("react.memo_cache_sentinel")?(S=x.jsx(ke,{value:"*",children:x.jsxs("span",{className:"flex items-center gap-1 flex-1",children:[Ye[B.NUMBER],x.jsx("span",{className:"flex-1",children:"Count"})]})},"*"),t[22]=S):S=t[22],t[23]!==E||t[24]!==y?(N=x.jsx(ht,{children:x.jsxs(Ke,{children:[y,E,T,S]})}),t[23]=E,t[24]=y,t[25]=N):N=t[25],t[26]!==c||t[27]!==f||t[28]!==N||t[29]!==h||t[30]!==b?(C=x.jsxs(gt,{value:f,disabled:c,onValueChange:h,children:[b,N]}),t[26]=c,t[27]=f,t[28]=N,t[29]=h,t[30]=b,t[31]=C):C=t[31],t[32]!==i||t[33]!==d?(M=i&&x.jsx(zs,{field:i,onChange:d}),t[32]=i,t[33]=d,t[34]=M):M=t[34],t[35]!==M?(A=x.jsx("div",{className:"w-[26px]",children:M}),t[35]=M,t[36]=A):A=t[36],t[37]!==C||t[38]!==A?(_=x.jsxs("div",{className:"flex flex-row gap-1 h-[26px]",children:[C,A]}),t[37]=C,t[38]=A,t[39]=_):_=t[39],t[40]!==_||t[41]!==p?(J=x.jsxs(x.Fragment,{children:[p,_]}),t[40]=_,t[41]=p,t[42]=J):J=t[42],J},Ln="__",zs=e=>{const t=Ee.c(10),{field:n,onChange:o}=e;if(n.field==="*")return null;let i;if(t[0]!==n||t[1]!==o){i=Symbol.for("react.early_return_sentinel");e:{let c=[];if(n.type===le.QUANTITATIVE&&(c=[["",Ms]]),n.type===le.TEMPORAL&&(c=[["Single",Ji],["Multi",Xi]]),c.length>0){const d=f=>{o({...n,fn:f===Ln?void 0:f})};let a,r,s;t[3]===Symbol.for("react.memo_cache_sentinel")?(a=x.jsx(pt,{className:"h-full px-1",hideChevron:!0,variant:"ghost",children:x.jsx(No,{size:14,strokeWidth:1.5})}),t[3]=a):a=t[3],t[4]===Symbol.for("react.memo_cache_sentinel")?(r=x.jsx(Ke,{children:x.jsx(ke,{value:Ln,children:"None"})}),s=x.jsx(Jn,{}),t[4]=r,t[5]=s):(r=t[4],s=t[5]);const u=x.jsxs(ht,{children:[r,s,c.map(Vs)]});let l;t[6]!==n.fn||t[7]!==d||t[8]!==u?(l=x.jsxs(gt,{"data-testid":"marimo-plugin-data-explorer-field-options",value:n.fn,onValueChange:d,children:[a,u]}),t[6]=n.fn,t[7]=d,t[8]=u,t[9]=l):l=t[9],i=l;break e}}t[0]=n,t[1]=o,t[2]=i}else i=t[2];return i!==Symbol.for("react.early_return_sentinel")?i:null};function Ys(e){return x.jsx(ke,{value:e,children:e===D?"auto":e},e)}function Qs(e){return x.jsx(ke,{value:e??Ln,children:wo(e)},e)}function Vs(e){const[t,n]=e;return x.jsxs(Ke,{children:[t&&x.jsx(Kn,{children:t}),n.map(Qs)]},t)}const Ks=e=>{const t=Ee.c(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Co(),t[0]=n):n=t[0];const o=n;let i,c;return t[1]!==e?(i=()=>{const d=o.sub(Qe,()=>{const r=o.get(Qe),{schema:s,...u}=r;e.setValue(u)}),a=e.value;return a&&Object.keys(a).length>0&&o.set(Qe,a),d},t[1]=e,t[2]=i):i=t[2],Ao(i),t[3]!==e?(c=x.jsx(Oo,{store:o,children:x.jsx(ao,{...e})}),t[3]=e,t[4]=c):c=t[4],c},Js={export:{svg:!0,png:!0},source:!1,compiled:!1,editor:!1},Xs={left:20,right:20,top:20,bottom:20},ao=e=>{var Ae,ye,ve,be,lt,Wn;const t=Ee.c(43),{data:n}=e,o=oo();let i,c;t[0]!==o||t[1]!==n?(i=async()=>{if(!n)return{};const R=await Io(n,{type:"csv",parse:"auto"},{replacePeriod:!0}),Pe=(function(xe,G={},Ve={fields:[]}){G=k.extend({},ot,G);let so=fs.summary(xe),Hn=ds.inferAll(xe),co=Ve.fields.reduce(($,se)=>($[se.name]=se,$),{}),qn=so.map(function($,se){const Re=$.field,ut=Hn[Re]==="date"?B.DATETIME:Hn[Re];let Oe,Vt=$.distinct;if(ut===B.NUMBER)Oe=j;else if(ut===B.INTEGER)Oe=Vt<G.numberNominalLimit&&Vt/$.count<G.numberNominalProportion?ie:j;else if(ut===B.DATETIME){Oe=Y,$.min=new Date(xe[0][Re]),$.max=new Date(xe[0][Re]);for(const fo of xe){const ft=new Date(fo[Re]).getTime();ft<$.min.getTime()&&($.min=new Date(ft)),ft>$.max.getTime()&&($.max=new Date(ft))}}else Oe=ie;Oe===ie&&Vt/$.count>G.minPercentUniqueForKey&&$.count>G.minCardinalityForKey&&(Oe=le.KEY);let dt={name:Re,originalIndex:se,vlType:Oe,type:ut,stats:$,timeStats:{},binStats:{}};const uo=co[dt.name];return dt=k.extend(dt,uo),dt});for(let $ of qn)if($.vlType===j)for(let se of G.enum.binProps.maxbins)$.binStats[se]=Mi(se,$.stats);else if($.vlType===Y)for(let se of G.enum.timeUnit)se!==void 0&&($.timeStats[se]=Ii(se,$.stats));const lo=Object.assign({},Ve,{fields:qn});return new hs(lo)})(R);return o.setSchema(Pe),{chartData:R,schema:Pe}},t[0]=o,t[1]=n,t[2]=i):i=t[2],t[3]!==n?(c=[n],t[3]=n,t[4]=c):c=t[4];const{data:d,isPending:a,error:r}=ko(i,c),{mark:s}=Kt(Qe),u=Kt(Ls),{theme:l}=Mo();if(r){let R;return t[5]!==r?(R=x.jsx(Uo,{error:r}),t[5]=r,t[6]=R):R=t[6],R}if(!d){let R;return t[7]===Symbol.for("react.memo_cache_sentinel")?(R=x.jsx("div",{}),t[7]=R):R=t[7],R}const{chartData:f,schema:p}=d;if(a||!p){let R;return t[8]===Symbol.for("react.memo_cache_sentinel")?(R=x.jsx("div",{}),t[8]=R):R=t[8],R}const h=(ye=(Ae=u.main)==null?void 0:Ae.plots)==null?void 0:ye[0];let m;t[9]!==(h==null?void 0:h.fieldInfos)?(m=new Set(h==null?void 0:h.fieldInfos.map(nc)),t[9]=h==null?void 0:h.fieldInfos,t[10]=m):m=t[10];const v=m;let b;t[11]!==f||t[12]!==h||t[13]!==p||t[14]!==l?(b=()=>h?x.jsx("div",{className:"flex overflow-y-auto justify-center items-center flex-1 w-[90%]",children:x.jsx(Xn,{data:{source:f},padding:Xs,actions:Js,spec:tc(h.spec),theme:l==="dark"?"dark":void 0})}):x.jsx(Ns,{schema:p}),t[11]=f,t[12]=h,t[13]=p,t[14]=l,t[15]=b):b=t[15];const y=b;let E,T,S;t[16]!==s||t[17]!==p?(E=x.jsx(qs,{mark:s,schema:p}),t[16]=s,t[17]=p,t[18]=E):E=t[18],t[19]!==y?(T=y(),t[19]=y,t[20]=T):T=t[20],t[21]!==E||t[22]!==T?(S=x.jsxs("div",{className:"flex items-center gap-2",children:[E,T]}),t[21]=E,t[22]=T,t[23]=S):S=t[23];const N=(ve=u.histograms)==null?void 0:ve.plots,C=(be=u.addCategoricalField)==null?void 0:be.plots,M=(lt=u.addQuantitativeField)==null?void 0:lt.plots,A=(Wn=u.addTemporalField)==null?void 0:Wn.plots;let _,J,P;if(t[24]!==o||t[25]!==f||t[26]!==v||t[27]!==M||t[28]!==A||t[29]!==N||t[30]!==C||t[31]!==l){let R;t[33]!==o||t[34]!==f||t[35]!==v||t[36]!==l?(R=(Pe,xe)=>x.jsx(ec,{title:x.jsx("div",{className:"flex flex-row gap-1",children:Pe.fieldInfos.map(G=>{const Ve=G.fieldDef.field==="*"?"Count":G.fieldDef.fn?`${G.fieldDef.fn}(${G.fieldDef.field})`:G.fieldDef.field.toString();return x.jsx(jo,{variant:v.has(G.fieldDef.field)?"secondary":"defaultOutline",children:Ve},Ve)})}),actions:x.jsx(Fo,{content:"Make main plot",children:x.jsx(Qn,{"data-testid":"marimo-plugin-data-explorer-make-main-plot",variant:"text",size:"icon",onClick:()=>{const G=_o.fromEntries(Pe.fieldInfos.map(rc));o.setEncoding(G)},children:x.jsx(Do,{className:"w-4 h-4"})})}),children:x.jsx(Xn,{data:{source:f},actions:!1,spec:Pe.spec,theme:l==="dark"?"dark":void 0},xe)},xe),t[33]=o,t[34]=f,t[35]=v,t[36]=l,t[37]=R):R=t[37],_=[N,C,M,A].filter(Boolean).flat().map(R),t[24]=o,t[25]=f,t[26]=v,t[27]=M,t[28]=A,t[29]=N,t[30]=C,t[31]=l,t[32]=_}else _=t[32];return t[38]!==_?(J=x.jsx(Zs,{children:_}),t[38]=_,t[39]=J):J=t[39],t[40]!==J||t[41]!==S?(P=x.jsxs("div",{className:"flex flex-col gap-2",children:[S,J]}),t[40]=J,t[41]=S,t[42]=P):P=t[42],P},Zs=e=>{const t=Ee.c(2),{children:n}=e;if(Po.Children.count(n)===0)return null;let o;return t[0]!==n?(o=x.jsx("div",{className:"flex flex-row overflow-x-auto overflow-y-hidden gap-4 snap-x pb-4",children:n}),t[0]=n,t[1]=o):o=t[1],o},ec=e=>{const t=Ee.c(10),{title:n,children:o,actions:i}=e;let c,d,a,r;return t[0]!==n?(c=x.jsx("div",{className:"text-sm font-medium",children:n}),t[0]=n,t[1]=c):c=t[1],t[2]!==i||t[3]!==c?(d=x.jsxs("div",{className:"flex flex-row justify-between items-center bg-(--slate-3) py-0.5 px-2",children:[c,i]}),t[2]=i,t[3]=c,t[4]=d):d=t[4],t[5]!==o?(a=x.jsx("div",{className:"px-6 pt-2 max-h-[280px] overflow-y-auto",children:o}),t[5]=o,t[6]=a):a=t[6],t[7]!==d||t[8]!==a?(r=x.jsxs("div",{className:"shrink-0 bg-card shadow-md border overflow-hidden rounded snap-start",children:[d,a]}),t[7]=d,t[8]=a,t[9]=r):r=t[9],r};function tc(e){var t,n;return(t=e.encoding)!=null&&t.row||(n=e.encoding)!=null&&n.column||(e.width="container"),e}function nc(e){return e.fieldDef.field}function rc(e){return[e.channel,e.fieldDef]}export{ao as DataExplorerComponent,Ks as default};
@@ -1 +0,0 @@
1
- import{eH as y,eI as l,eJ as B,aL as b,eK as g,eL as h,eM as L,eN as w,cB as A,eO as C,cC as H,B as I,eP as J,A as K}from"./index-DKEudB02.js";function j(r){return r==r&&!B(r)}function p(r,e){return function(n){return n!=null&&n[r]===e&&(e!==void 0||r in Object(n))}}function M(r){var e=(function(n){for(var t=b(n),u=t.length;u--;){var i=t[u],o=n[i];t[u]=[i,o,j(o)]}return t})(r);return e.length==1&&e[0][2]?p(e[0][0],e[0][1]):function(n){return n===r||(function(t,u,i,o){var a=i.length,c=a;if(t==null)return!c;for(t=Object(t);a--;){var f=i[a];if(f[2]?f[1]!==t[f[0]]:!(f[0]in t))return!1}for(;++a<c;){var s=(f=i[a])[0],v=t[s],m=f[1];if(f[2]){if(v===void 0&&!(s in t))return!1}else{var x=new y;if(!l(m,v,3,o,x))return!1}}return!0})(n,0,e)}}function N(r){return g(r)?C(h(r)):(function(e){return function(n){return A(n,e)}})(r)}function P(r){return typeof r=="function"?r:r==null?H:typeof r=="object"?I(r)?(e=r[0],n=r[1],g(e)&&j(n)?p(h(e),n):function(t){var u=L(t,e);return u===void 0&&u===n?w(t,e):l(n,u,3)}):M(r):N(r);var e,n}function O(r,e){return r&&J(r,e,b)}var d,k=(d=O,function(r,e){if(r==null)return r;if(!K(r))return d(r,e);for(var n=r.length,t=-1,u=Object(r);++t<n&&e(u[t],t,u)!==!1;);return r});export{P as a,k as b,O as c};
@@ -1 +0,0 @@
1
- import{b as m}from"./_baseEach-CNBxBxvS.js";import{A as s}from"./index-DKEudB02.js";function e(r,o){var a=-1,t=s(r)?Array(r.length):[];return m(r,function(n,f,i){t[++a]=o(n,f,i)}),t}export{e as b};
@@ -1 +0,0 @@
1
- import{fp as p,aL as d,eD as m,fq as F,fr as Y,fs as Z,ft as _,fu as rr,fv as B,fw as E,fx as er,fy as M,H as x,cD as C,fz as A,eJ as nr,fA as tr,D as cr,fB as or,fC as ar,eH as ur,fD as fr,B as g,fE as sr,cC as ir,fF as br,cA as jr,fG as lr,fH as I,fI as S,fJ as vr,fK as yr}from"./index-DKEudB02.js";import{b as O,a as H}from"./_baseEach-CNBxBxvS.js";function k(){}function G(r,e){for(var n=-1,u=r==null?0:r.length;++n<u&&e(r[n],n,r)!==!1;);return r}function J(r,e,n,u){for(var s=r.length,a=n+-1;++a<s;)if(e(r[a],a,r))return a;return-1}function pr(r){return r!=r}function L(r,e,n){return e==e?(function(u,s,a){for(var c=a-1,f=u.length;++c<f;)if(u[c]===s)return c;return-1})(r,e,n):J(r,pr,n)}function N(r,e){return!!(r!=null&&r.length)&&L(r,e,0)>-1}var P=Object.getOwnPropertySymbols?function(r){for(var e=[];r;)Z(e,F(r)),r=_(r);return e}:Y;function R(r){return rr(r,m,P)}var Ar=Object.prototype.hasOwnProperty,gr=/\w*$/,V=E?E.prototype:void 0,q=V?V.valueOf:void 0;function hr(r,e,n){var u,s,a,c=r.constructor;switch(e){case"[object ArrayBuffer]":return B(r);case"[object Boolean]":case"[object Date]":return new c(+r);case"[object DataView]":return(function(f,b){var v=b?B(f.buffer):f.buffer;return new f.constructor(v,f.byteOffset,f.byteLength)})(r,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return er(r,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(r);case"[object RegExp]":return(a=new(s=r).constructor(s.source,gr.exec(s))).lastIndex=s.lastIndex,a;case"[object Symbol]":return u=r,q?Object(q.call(u)):{}}}var z=A&&A.isMap,wr=z?C(z):function(r){return M(r)&&x(r)=="[object Map]"},K=A&&A.isSet,dr=K?C(K):function(r){return M(r)&&x(r)=="[object Set]"},W="[object Arguments]",$="[object Function]",Q="[object Object]",o={};function h(r,e,n,u,s,a){var c,f=1&e,b=2&e,v=4&e;if(c!==void 0)return c;if(!nr(r))return r;var l=g(r);if(l){if(c=(function(t){var i=t.length,w=new t.constructor(i);return i&&typeof t[0]=="string"&&Ar.call(t,"index")&&(w.index=t.index,w.input=t.input),w})(r),!f)return tr(r,c)}else{var j=x(r),y=j==$||j=="[object GeneratorFunction]";if(cr(r))return or(r,f);if(j==Q||j==W||y&&!s){if(c=b||y?{}:ar(r),!f)return b?(function(t,i){return p(t,P(t),i)})(r,(function(t,i){return t&&p(i,m(i),t)})(c,r)):(function(t,i){return p(t,F(t),i)})(r,(function(t,i){return t&&p(i,d(i),t)})(c,r))}else{if(!o[j])return s?r:{};c=hr(r,j,f)}}a||(a=new ur);var U=a.get(r);if(U)return U;a.set(r,c),dr(r)?r.forEach(function(t){c.add(h(t,e,n,t,r,a))}):wr(r)&&r.forEach(function(t,i){c.set(i,h(t,e,n,i,r,a))});var D=l?void 0:(v?b?R:fr:b?m:d)(r);return G(D||r,function(t,i){D&&(t=r[i=t]),sr(c,i,h(t,e,n,i,r,a))}),c}function T(r){return typeof r=="function"?r:ir}function mr(r,e){return(g(r)?G:O)(r,T(e))}function X(r,e){var n=[];return O(r,function(u,s,a){e(u,s,a)&&n.push(u)}),n}function xr(r,e){return(g(r)?br:X)(r,H(e))}function Ir(r){return r==null?[]:(function(e,n){return jr(n,function(u){return e[u]})})(r,d(r))}function Or(r){return r===void 0}function Ur(r,e,n,u,s){return s(r,function(a,c,f){n=u?(u=!1,a):e(n,a,c,f)}),n}function Dr(r,e,n){var u=g(r)?lr:Ur,s=arguments.length<3;return u(r,H(e),n,s,O)}o[W]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object DataView]"]=o["[object Boolean]"]=o["[object Date]"]=o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Map]"]=o["[object Number]"]=o[Q]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object Symbol]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Error]"]=o[$]=o["[object WeakMap]"]=!1;var Fr=I&&1/S(new I([,-0]))[1]==1/0?function(r){return new I(r)}:k;function Br(r,e,n){var u=-1,s=N,a=r.length,c=!0,f=[],b=f;if(a>=200){var v=e?null:Fr(r);if(v)return S(v);c=!1,s=yr,b=new vr}else b=e?[]:f;r:for(;++u<a;){var l=r[u],j=e?e(l):l;if(l=l!==0?l:0,c&&j==j){for(var y=b.length;y--;)if(b[y]===j)continue r;e&&b.push(j),f.push(l)}else s(b,j,n)||(b!==f&&b.push(j),f.push(l))}return f}export{Br as a,h as b,mr as c,J as d,T as e,xr as f,N as g,L as h,Or as i,R as j,X as k,k as n,Dr as r,Ir as v};
@@ -1 +0,0 @@
1
- import{U as r,C as s}from"./mermaid.core-CaSnaLH0.js";const n=(a,o)=>r.lang.round(s.parse(a)[o]);export{n as c};
@@ -1,3 +0,0 @@
1
- import{r as h,cP as ue,cQ as ur,j as o,cR as mr,cS as xe,cT as Ie,cU as J,cV as G,cW as pr,cX as hr,a as X,T as V,L as me,cY as vt,cZ as qe,c_ as gt,c$ as bt,d0 as wt,d1 as fr,d2 as jt,d3 as Ve,d4 as xr,d5 as vr,c1 as gr,d6 as yt,d7 as br,K as $e,d8 as wr,d9 as jr,da as yr,db as Sr,dc as Nr,dd as Cr,de as _r,cI as K,aX as B,av as Rr,cl as Ar,df as Er,au as Tr,dg as Pr,dh as Lr,di as zr,dj as Ir,dk as kr,dl as Dr,dm as Mr,dn as St,C as Fr,dp as Wr,dq as Hr,dr as Or,ds as Xr,dt as Ur,du as Yr,ay as pe,dv as Br,bN as qr,dw as Vr,dx as $r,dy as Nt,dz as Jr,a0 as Gr,dA as Kr,dB as Ct,dC as _t,dD as Qr,E as Zr,a2 as eo,dE as to,al as ro,am as oo,dF as so,an as no,dG as ao,__tla as lo}from"./index-DKEudB02.js";import{e as Rt,g as io,__tla as co}from"./edit-page-BrYda9VE.js";import{C as uo,u as At}from"./links-D59GIweI.js";import{P as Et}from"./empty-state-B3dA3G5P.js";import{M as Je,F as mo,A as po,__tla as ho}from"./markdown-renderer-Cd9eYyaL.js";import{i as fo}from"./isEmpty-DU_ogP_D.js";import{__tla as xo}from"./storage-CMdLzB_c.js";import"./index-CQDrxQ0j.js";import"./index-C77h_TXN.js";import"./index-D1vmG6DS.js";import"./index-lYa_leQE.js";import"./index-DRMm6SNo.js";import"./index-vmICa5KN.js";import"./index-BY93Ejhl.js";import"./index-C-GhZ7ti.js";import"./index-C-8WADat.js";import"./index-DoRmcrKM.js";import"./index-DEQvTChO.js";import"./index-CWMgowgL.js";import"./index-D9UKkrr2.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-BVgAenPd.js";import"./trash-Dc6DSjz_.js";import"./_createAggregator-DcD0kTA5.js";import"./_baseEach-CNBxBxvS.js";import{__tla as vo}from"./loro_wasm_bg-C1ks32Vm.js";import"./katex-LV4FpwlL.js";import"./between-horizontal-start-Boxgxbt_.js";let Tt,go=Promise.all([(()=>{try{return lo}catch{}})(),(()=>{try{return co}catch{}})(),(()=>{try{return ho}catch{}})(),(()=>{try{return xo}catch{}})(),(()=>{try{return vo}catch{}})()]).then(async()=>{var ke="ScrollArea",[Ge,bo]=mr(ke),[Pt,F]=Ge(ke),Ke=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,type:n="hover",dir:s,scrollHideDelay:a=600,...l}=t,[i,c]=h.useState(null),[m,d]=h.useState(null),[u,p]=h.useState(null),[f,g]=h.useState(null),[N,_]=h.useState(null),[x,v]=h.useState(0),[C,j]=h.useState(0),[y,b]=h.useState(!1),[T,E]=h.useState(!1),S=ue(e,P=>c(P)),R=ur(s);return o.jsx(Pt,{scope:r,type:n,dir:R,scrollHideDelay:a,scrollArea:i,viewport:m,onViewportChange:d,content:u,onContentChange:p,scrollbarX:f,onScrollbarXChange:g,scrollbarXEnabled:y,onScrollbarXEnabledChange:b,scrollbarY:N,onScrollbarYChange:_,scrollbarYEnabled:T,onScrollbarYEnabledChange:E,onCornerWidthChange:v,onCornerHeightChange:j,children:o.jsx(xe.div,{dir:R,...l,ref:S,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":C+"px",...t.style}})})});Ke.displayName=ke;var Qe="ScrollAreaViewport",Ze=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,children:n,nonce:s,...a}=t,l=F(Qe,r),i=h.useRef(null),c=ue(e,i,l.onViewportChange);return o.jsxs(o.Fragment,{children:[o.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),o.jsx(xe.div,{"data-radix-scroll-area-viewport":"",...a,ref:c,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...t.style},children:o.jsx("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Ze.displayName=Qe;var U="ScrollAreaScrollbar",De=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,s=F(U,t.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:l}=s,i=t.orientation==="horizontal";return h.useEffect(()=>(i?a(!0):l(!0),()=>{i?a(!1):l(!1)}),[i,a,l]),s.type==="hover"?o.jsx(Lt,{...n,ref:e,forceMount:r}):s.type==="scroll"?o.jsx(zt,{...n,ref:e,forceMount:r}):s.type==="auto"?o.jsx(et,{...n,ref:e,forceMount:r}):s.type==="always"?o.jsx(Me,{...n,ref:e}):null});De.displayName=U;var Lt=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,s=F(U,t.__scopeScrollArea),[a,l]=h.useState(!1);return h.useEffect(()=>{const i=s.scrollArea;let c=0;if(i){const m=()=>{window.clearTimeout(c),l(!0)},d=()=>{c=window.setTimeout(()=>l(!1),s.scrollHideDelay)};return i.addEventListener("pointerenter",m),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",m),i.removeEventListener("pointerleave",d)}}},[s.scrollArea,s.scrollHideDelay]),o.jsx(Ie,{present:r||a,children:o.jsx(et,{"data-state":a?"visible":"hidden",...n,ref:e})})}),zt=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,s=F(U,t.__scopeScrollArea),a=t.orientation==="horizontal",l=we(()=>c("SCROLL_END"),100),[i,c]=(m="hidden",d={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},h.useReducer((u,p)=>d[u][p]??u,m));var m,d;return h.useEffect(()=>{if(i==="idle"){const u=window.setTimeout(()=>c("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,s.scrollHideDelay,c]),h.useEffect(()=>{const u=s.viewport,p=a?"scrollLeft":"scrollTop";if(u){let f=u[p];const g=()=>{const N=u[p];f!==N&&(c("SCROLL"),l()),f=N};return u.addEventListener("scroll",g),()=>u.removeEventListener("scroll",g)}},[s.viewport,a,c,l]),o.jsx(Ie,{present:r||i!=="hidden",children:o.jsx(Me,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:e,onPointerEnter:J(t.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:J(t.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),et=h.forwardRef((t,e)=>{const r=F(U,t.__scopeScrollArea),{forceMount:n,...s}=t,[a,l]=h.useState(!1),i=t.orientation==="horizontal",c=we(()=>{if(r.viewport){const m=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;l(i?m:d)}},10);return Q(r.viewport,c),Q(r.content,c),o.jsx(Ie,{present:n||a,children:o.jsx(Me,{"data-state":a?"visible":"hidden",...s,ref:e})})}),Me=h.forwardRef((t,e)=>{const{orientation:r="vertical",...n}=t,s=F(U,t.__scopeScrollArea),a=h.useRef(null),l=h.useRef(0),[i,c]=h.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),m=nt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:m>0&&m<1,onThumbChange:p=>a.current=p,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:p=>l.current=p};function u(p,f){return(function(g,N,_,x="ltr"){const v=be(_),C=v/2,j=N||C,y=v-j,b=_.scrollbar.paddingStart+j,T=_.scrollbar.size-_.scrollbar.paddingEnd-y,E=_.content-_.viewport,S=x==="ltr"?[0,E]:[-1*E,0];return lt([b,T],S)(g)})(p,l.current,i,f)}return r==="horizontal"?o.jsx(It,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){const p=at(s.viewport.scrollLeft,i,s.dir);a.current.style.transform=`translate3d(${p}px, 0, 0)`}},onWheelScroll:p=>{s.viewport&&(s.viewport.scrollLeft=p)},onDragScroll:p=>{s.viewport&&(s.viewport.scrollLeft=u(p,s.dir))}}):r==="vertical"?o.jsx(kt,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){const p=at(s.viewport.scrollTop,i);a.current.style.transform=`translate3d(0, ${p}px, 0)`}},onWheelScroll:p=>{s.viewport&&(s.viewport.scrollTop=p)},onDragScroll:p=>{s.viewport&&(s.viewport.scrollTop=u(p))}}):null}),It=h.forwardRef((t,e)=>{const{sizes:r,onSizesChange:n,...s}=t,a=F(U,t.__scopeScrollArea),[l,i]=h.useState(),c=h.useRef(null),m=ue(e,c,a.onScrollbarXChange);return h.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),o.jsx(rt,{"data-orientation":"horizontal",...s,ref:m,sizes:r,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":be(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.x),onDragScroll:d=>t.onDragScroll(d.x),onWheelScroll:(d,u)=>{if(a.viewport){const p=a.viewport.scrollLeft+d.deltaX;t.onWheelScroll(p),it(p,u)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&l&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ge(l.paddingLeft),paddingEnd:ge(l.paddingRight)}})}})}),kt=h.forwardRef((t,e)=>{const{sizes:r,onSizesChange:n,...s}=t,a=F(U,t.__scopeScrollArea),[l,i]=h.useState(),c=h.useRef(null),m=ue(e,c,a.onScrollbarYChange);return h.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),o.jsx(rt,{"data-orientation":"vertical",...s,ref:m,sizes:r,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":be(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.y),onDragScroll:d=>t.onDragScroll(d.y),onWheelScroll:(d,u)=>{if(a.viewport){const p=a.viewport.scrollTop+d.deltaY;t.onWheelScroll(p),it(p,u)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&l&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ge(l.paddingTop),paddingEnd:ge(l.paddingBottom)}})}})}),[Dt,tt]=Ge(U),rt=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:s,onThumbChange:a,onThumbPointerUp:l,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:m,onWheelScroll:d,onResize:u,...p}=t,f=F(U,r),[g,N]=h.useState(null),_=ue(e,S=>N(S)),x=h.useRef(null),v=h.useRef(""),C=f.viewport,j=n.content-n.viewport,y=G(d),b=G(c),T=we(u,10);function E(S){if(x.current){const R=S.clientX-x.current.left,P=S.clientY-x.current.top;m({x:R,y:P})}}return h.useEffect(()=>{const S=R=>{const P=R.target;(g==null?void 0:g.contains(P))&&y(R,j)};return document.addEventListener("wheel",S,{passive:!1}),()=>document.removeEventListener("wheel",S,{passive:!1})},[C,g,j,y]),h.useEffect(b,[n,b]),Q(g,T),Q(f.content,T),o.jsx(Dt,{scope:r,scrollbar:g,hasThumb:s,onThumbChange:G(a),onThumbPointerUp:G(l),onThumbPositionChange:b,onThumbPointerDown:G(i),children:o.jsx(xe.div,{...p,ref:_,style:{position:"absolute",...p.style},onPointerDown:J(t.onPointerDown,S=>{S.button===0&&(S.target.setPointerCapture(S.pointerId),x.current=g.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),E(S))}),onPointerMove:J(t.onPointerMove,E),onPointerUp:J(t.onPointerUp,S=>{const R=S.target;R.hasPointerCapture(S.pointerId)&&R.releasePointerCapture(S.pointerId),document.body.style.webkitUserSelect=v.current,f.viewport&&(f.viewport.style.scrollBehavior=""),x.current=null})})})}),ve="ScrollAreaThumb",ot=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,s=tt(ve,t.__scopeScrollArea);return o.jsx(Ie,{present:r||s.hasThumb,children:o.jsx(Mt,{ref:e,...n})})}),Mt=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,style:n,...s}=t,a=F(ve,r),l=tt(ve,r),{onThumbPositionChange:i}=l,c=ue(e,u=>l.onThumbChange(u)),m=h.useRef(void 0),d=we(()=>{m.current&&(m.current(),m.current=void 0)},100);return h.useEffect(()=>{const u=a.viewport;if(u){const p=()=>{if(d(),!m.current){const f=Wt(u,i);m.current=f,i()}};return i(),u.addEventListener("scroll",p),()=>u.removeEventListener("scroll",p)}},[a.viewport,d,i]),o.jsx(xe.div,{"data-state":l.hasThumb?"visible":"hidden",...s,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:J(t.onPointerDownCapture,u=>{const p=u.target.getBoundingClientRect(),f=u.clientX-p.left,g=u.clientY-p.top;l.onThumbPointerDown({x:f,y:g})}),onPointerUp:J(t.onPointerUp,l.onThumbPointerUp)})});ot.displayName=ve;var Fe="ScrollAreaCorner",st=h.forwardRef((t,e)=>{const r=F(Fe,t.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?o.jsx(Ft,{...t,ref:e}):null});st.displayName=Fe;var Ft=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,...n}=t,s=F(Fe,r),[a,l]=h.useState(0),[i,c]=h.useState(0),m=!!(a&&i);return Q(s.scrollbarX,()=>{var u;const d=((u=s.scrollbarX)==null?void 0:u.offsetHeight)||0;s.onCornerHeightChange(d),c(d)}),Q(s.scrollbarY,()=>{var u;const d=((u=s.scrollbarY)==null?void 0:u.offsetWidth)||0;s.onCornerWidthChange(d),l(d)}),m?o.jsx(xe.div,{...n,ref:e,style:{width:a,height:i,position:"absolute",right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function ge(t){return t?parseInt(t,10):0}function nt(t,e){const r=t/e;return isNaN(r)?0:r}function be(t){const e=nt(t.viewport,t.content),r=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=(t.scrollbar.size-r)*e;return Math.max(n,18)}function at(t,e,r="ltr"){const n=be(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-s,l=e.content-e.viewport,i=a-n,c=hr(t,r==="ltr"?[0,l]:[-1*l,0]);return lt([0,l],[0,i])(c)}function lt(t,e){return r=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const n=(e[1]-e[0])/(t[1]-t[0]);return e[0]+n*(r-t[0])}}function it(t,e){return t>0&&t<e}var Wt=(t,e=()=>{})=>{let r={left:t.scrollLeft,top:t.scrollTop},n=0;return(function s(){const a={left:t.scrollLeft,top:t.scrollTop},l=r.left!==a.left,i=r.top!==a.top;(l||i)&&e(),r=a,n=window.requestAnimationFrame(s)})(),()=>window.cancelAnimationFrame(n)};function we(t,e){const r=G(t),n=h.useRef(0);return h.useEffect(()=>()=>window.clearTimeout(n.current),[]),h.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,e)},[r,e])}function Q(t,e){const r=G(e);pr(()=>{let n=0;if(t){const s=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return s.observe(t),()=>{window.cancelAnimationFrame(n),s.unobserve(t)}}},[t,r])}var ct=Ke,Ht=Ze,Ot=st;const dt=h.forwardRef((t,e)=>{const r=X.c(15);let n,s,a,l,i,c,m,d;return r[0]!==t?({className:s,children:n,...a}=t,r[0]=t,r[1]=n,r[2]=s,r[3]=a):(n=r[1],s=r[2],a=r[3]),r[4]!==s?(l=V("relative overflow-hidden",s),r[4]=s,r[5]=l):l=r[5],r[6]!==n?(i=o.jsx(Ht,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i):i=r[7],r[8]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx(ut,{}),m=o.jsx(Ot,{}),r[8]=c,r[9]=m):(c=r[8],m=r[9]),r[10]!==a||r[11]!==e||r[12]!==l||r[13]!==i?(d=o.jsxs(ct,{ref:e,className:l,...a,children:[i,c,m]}),r[10]=a,r[11]=e,r[12]=l,r[13]=i,r[14]=d):d=r[14],d});dt.displayName=ct.displayName;const ut=h.forwardRef((t,e)=>{const r=X.c(14);let n,s,a;r[0]!==t?({className:n,orientation:a,...s}=t,r[0]=t,r[1]=n,r[2]=s,r[3]=a):(n=r[1],s=r[2],a=r[3]);const l=a===void 0?"vertical":a,i=l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px";let m,d,u;return r[4]!==n||r[5]!==i||r[6]!==c?(m=V("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=m):m=r[7],r[8]===Symbol.for("react.memo_cache_sentinel")?(d=o.jsx(ot,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8],r[9]!==l||r[10]!==s||r[11]!==e||r[12]!==m?(u=o.jsx(De,{ref:e,orientation:l,className:m,...s,children:d}),r[9]=l,r[10]=s,r[11]=e,r[12]=m,r[13]=u):u=r[13],u});ut.displayName=De.displayName;const Xt=t=>{const e=X.c(13),{reasoning:r,index:n,isStreaming:s}=t,a=n===void 0?0:n,l=s!==void 0&&s,i=l?"reasoning":void 0;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx(qe,{className:"h-3 w-3"}),e[0]=c):c=e[0];const m=l?"Thinking":"View reasoning";let d,u,p,f;return e[1]!==r.length||e[2]!==m?(d=o.jsx(vt,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:o.jsxs("span",{className:"flex items-center gap-2",children:[c,m," (",r.length," ","chars)"]})}),e[1]=r.length,e[2]=m,e[3]=d):d=e[3],e[4]!==r?(u=o.jsx(gt,{className:"pb-2 px-2",children:o.jsx("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:o.jsx("div",{className:"pr-6",children:o.jsx(Je,{content:r})})})}),e[4]=r,e[5]=u):u=e[5],e[6]!==d||e[7]!==u?(p=o.jsxs(bt,{value:"reasoning",className:"border-0",children:[d,u]}),e[6]=d,e[7]=u,e[8]=p):p=e[8],e[9]!==a||e[10]!==i||e[11]!==p?(f=o.jsx(wt,{type:"single",collapsible:!0,className:"w-full mb-2",value:i,children:p},a),e[9]=a,e[10]=i,e[11]=p,e[12]=f):f=e[12],f},Ut=fr({status:jt().default("success"),auth_required:xr().default(!1),action_url:Ve(),next_steps:Ve(),meta:Ve(),message:jt().nullish()}).passthrough(),Yt=t=>{const e=X.c(11),{data:r}=t;let n;if(e[0]!==r){const{status:s,auth_required:a,action_url:l,meta:i,next_steps:c,message:m,...d}=r;let u,p,f,g;e[2]!==s?(u=o.jsx("span",{className:"text-xs font-medium text-[var(--grass-11)] capitalize",children:s}),e[2]=s,e[3]=u):u=e[3],e[4]!==a?(p=a&&o.jsx("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[4]=a,e[5]=p):p=e[5],e[6]!==u||e[7]!==p?(f=o.jsxs("div",{className:"flex items-center gap-2",children:[u,p]}),e[6]=u,e[7]=p,e[8]=f):f=e[8],e[9]!==m?(g=m&&o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(br,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),o.jsx("div",{className:"text-xs text-foreground",children:m})]}),e[9]=m,e[10]=g):g=e[10],n=o.jsxs("div",{className:"py-1 flex flex-col gap-1",children:[f,g,d&&o.jsx("div",{className:"flex flex-col gap-1",children:Object.entries(d).map(qt)})]}),e[0]=r,e[1]=n}else n=e[1];return n},Bt=t=>{const e=X.c(8),{result:r}=t;let n;e[0]!==r?(n=Ut.safeParse(r),e[0]=r,e[1]=n):n=e[1];const s=n;if(s.success){let i;return e[2]!==s.data?(i=o.jsx(Yt,{data:s.data}),e[2]=s.data,e[3]=i):i=e[3],i}let a,l;return e[4]!==r?(a=typeof r=="string"?r:JSON.stringify(r,null,2),e[4]=r,e[5]=a):a=e[5],e[6]!==a?(l=o.jsx("div",{className:"text-xs font-medium text-muted-foreground mb-1",children:a}),e[6]=a,e[7]=l):l=e[7],l},mt=t=>{const e=X.c(37),{toolName:r,result:n,error:s,index:a,state:l,className:i}=t,c=a===void 0?0:a,m=l==="output-available"&&(n||s),d=s?"error":m?"success":"loading";let u;e[0]!==d?(u=()=>{switch(d){case"loading":return o.jsx(yt,{className:"h-3 w-3 animate-spin"});case"error":return o.jsx(gr,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return o.jsx(uo,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return o.jsx(vr,{className:"h-3 w-3"})}},e[0]=d,e[1]=u):u=e[1];const p=u;let f;e[2]!==s||e[3]!==m||e[4]!==d?(f=()=>d==="loading"?"Running":s?"Failed":m?"Done":"Tool call",e[2]=s,e[3]=m,e[4]=d,e[5]=f):f=e[5];const g=f,N=`tool-${c}`;let _;e[6]!==i?(_=V("w-full",i),e[6]=i,e[7]=_):_=e[7];const x=d==="error"&&"text-[var(--red-11)]/80",v=d==="success"&&"text-[var(--grass-11)]/80";let C,j;e[8]!==x||e[9]!==v?(C=V("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",x,v),e[8]=x,e[9]=v,e[10]=C):C=e[10],e[11]!==p?(j=p(),e[11]=p,e[12]=j):j=e[12];const y=g();let b,T,E,S,R,P,I,D;return e[13]!==r?(b=(function(M){return M.replace("tool-","")})(r),e[13]=r,e[14]=b):b=e[14],e[15]!==b?(T=o.jsx("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=T):T=e[16],e[17]!==y||e[18]!==T||e[19]!==j?(E=o.jsxs("span",{className:"flex items-center gap-1",children:[j,y,":",T]}),e[17]=y,e[18]=T,e[19]=j,e[20]=E):E=e[20],e[21]!==E||e[22]!==C?(S=o.jsx(vt,{className:C,children:E}),e[21]=E,e[22]=C,e[23]=S):S=e[23],e[24]!==s||e[25]!==m||e[26]!==n?(R=m&&o.jsxs("div",{className:"space-y-3",children:[n!=null&&o.jsx(Bt,{result:n}),s&&o.jsxs("div",{children:[o.jsx("div",{className:"text-xs font-medium text-[var(--red-11)] mb-1",children:"Error:"}),o.jsx("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-md p-3 text-sm text-[var(--red-11)]",children:s})]})]}),e[24]=s,e[25]=m,e[26]=n,e[27]=R):R=e[27],e[28]!==R?(P=o.jsx(gt,{className:"pb-2 px-2",children:R}),e[28]=R,e[29]=P):P=e[29],e[30]!==S||e[31]!==P?(I=o.jsxs(bt,{value:"tool-call",className:"border-0",children:[S,P]}),e[30]=S,e[31]=P,e[32]=I):I=e[32],e[33]!==I||e[34]!==N||e[35]!==_?(D=o.jsx(wt,{type:"single",collapsible:!0,className:_,children:I},N),e[33]=I,e[34]=N,e[35]=_,e[36]=D):D=e[36],D};function qt(t){const[e,r]=t;return fo(r)?null:o.jsxs("div",{children:[o.jsxs("div",{className:"text-xs font-medium text-muted-foreground mb-1 capitalize",children:[e,":"]}),o.jsx("pre",{className:"bg-[var(--slate-2)] p-1 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(r,null,2)})]},e)}const Vt=new Set(["openai","google","anthropic"]),$t=["image/*","text/*"],Jt=({onNewChat:t,activeChatId:e,setActiveChat:r})=>{const{handleClick:n}=At(),s=$e(Rt),a=h.useMemo(()=>[...s.chats.values()].sort((l,i)=>i.updatedAt-l.updatedAt),[s.chats]);return o.jsxs("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[o.jsx(pe,{content:"New chat",children:o.jsx(B,{variant:"text",size:"icon",onClick:t,children:o.jsx(eo,{className:"h-4 w-4"})})}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(pe,{content:"AI Settings",children:o.jsx(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:()=>n("ai"),children:o.jsx(to,{className:"h-4 w-4"})})}),o.jsxs(ro,{children:[o.jsx(pe,{content:"Previous chats",children:o.jsx(oo,{asChild:!0,children:o.jsx(B,{variant:"text",size:"icon",children:o.jsx(so,{className:"h-4 w-4"})})})}),o.jsx(no,{className:"w-[520px] p-0",align:"start",side:"right",children:o.jsx(dt,{className:"h-[500px] p-4",children:o.jsxs("div",{className:"space-y-4",children:[a.length===0&&o.jsx(Et,{title:"No chats yet",description:"Start a new chat to get started",icon:o.jsx(qe,{})}),a.map(l=>o.jsxs("button",{className:V("w-full p-3 rounded-md cursor-pointer hover:bg-accent text-left",l.id===e&&"bg-accent"),onClick:()=>{r(l.id)},type:"button",children:[o.jsx("div",{className:"font-medium",children:l.title}),o.jsx("div",{className:"text-sm text-muted-foreground",children:ao(l.updatedAt)})]},l.id))]})})})]})]})]})},pt=h.memo(t=>{const e=X.c(15),{message:r,index:n,onEdit:s,isStreamingReasoning:a,isLast:l}=t;let i;e[0]!==n||e[1]!==s?(i=N=>{var C,j;const _=(C=N.parts)==null?void 0:C.filter(Gt),x=_==null?void 0:_.map(Kt).join(`
2
- `),v=(j=N.parts)==null?void 0:j.filter(Qt);return o.jsxs("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[v==null?void 0:v.map(Zt),o.jsx(St,{value:x,placeholder:"Type your message...",onChange:er,onSubmit:(y,b)=>{b.trim()&&s(n,b)},onClose:tr},N.id)]})},e[0]=n,e[1]=s,e[2]=i):i=e[2];const c=i;let m;e[3]!==l||e[4]!==a?(m=N=>{const _=N.parts.filter(rr).map(or).join(`
3
- `);return o.jsxs("div",{className:"w-[95%] break-words",children:[o.jsx("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(Fr,{className:"h-3 w-3",value:_||""})}),N.parts.map((x,v)=>{if((function(C){return C.type.startsWith("tool-")})(x))return o.jsx(mt,{index:v,toolName:x.type,result:x.output,className:"my-2",state:x.state},v);switch(x.type){case"text":return o.jsx(Je,{content:x.text},v);case"reasoning":return o.jsx(Xt,{reasoning:x.text,index:v,isStreaming:l&&a&&v===(N.parts.length||0)-1},v);case"dynamic-tool":return o.jsx(mt,{index:v,toolName:x.type,result:x.output,state:x.state,className:"my-2"},v);case"data-reasoning-signature":return null;default:if(x.type.startsWith("data-"))return me.log("Found data part",x),null;me.error("Unhandled part type:",x.type);try{return o.jsx("div",{className:"text-xs text-muted-foreground",children:o.jsx(Je,{content:JSON.stringify(x,null,2)})},v)}catch(C){const j=C;return me.error("Error rendering part:",x.type,j),null}}})]})},e[3]=l,e[4]=a,e[5]=m):m=e[5];const d=m,u=r.role==="user"?"justify-end":"justify-start";let p,f,g;return e[6]!==u?(p=V("flex group relative",u),e[6]=u,e[7]=p):p=e[7],e[8]!==r||e[9]!==d||e[10]!==c?(f=r.role==="user"?c(r):d(r),e[8]=r,e[9]=d,e[10]=c,e[11]=f):f=e[11],e[12]!==p||e[13]!==f?(g=o.jsx("div",{className:p,children:f}),e[12]=p,e[13]=f,e[14]=g):g=e[14],g});pt.displayName="ChatMessage";const ht=h.memo(t=>{var z;const e=X.c(37),{isEmpty:r,onSendClick:n,isLoading:s,onStop:a,fileInputRef:l,onAddFiles:i,onAddContext:c}=t,m=$e(jr),d=(m==null?void 0:m.mode)||"manual",u=((z=m==null?void 0:m.models)==null?void 0:z.chat_model)||yr,p=Sr.parse(u).providerId,{saveModeChange:f}=Nr();let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=[{value:"ask",label:"Ask",subtitle:"Use AI with access to read-only tools like documentation search"},{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage"}],e[0]=g):g=e[0];const N=g,_=Vt.has(p);let x,v,C,j,y,b,T,E,S;e[1]!==d?(x=o.jsx(Wr,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1 capitalize",children:d}),e[1]=d,e[2]=x):x=e[2],e[3]===Symbol.for("react.memo_cache_sentinel")?(v=o.jsx(Hr,{children:"AI Mode"}),e[3]=v):v=e[3],e[4]!==N?(C=o.jsx(Cr,{children:o.jsxs(_r,{children:[v,N.map(sr)]})}),e[4]=N,e[5]=C):C=e[5],e[6]!==d||e[7]!==f||e[8]!==x||e[9]!==C?(j=o.jsx(Or,{feature:"mcp_docs",children:o.jsxs(Xr,{value:d,onValueChange:f,children:[x,C]})}),e[6]=d,e[7]=f,e[8]=x,e[9]=C,e[10]=j):j=e[10],e[11]===Symbol.for("react.memo_cache_sentinel")?(y=o.jsx(Ur,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),e[11]=y):y=e[11],e[12]!==j?(b=o.jsxs("div",{className:"flex items-center gap-2",children:[j,y]}),e[12]=j,e[13]=b):b=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(T=o.jsx(Yr,{className:"h-3.5 w-3.5"}),e[14]=T):T=e[14],e[15]!==c?(E=o.jsx(pe,{content:"Add context",children:o.jsx(B,{variant:"text",size:"icon",onClick:c,children:T})}),e[15]=c,e[16]=E):E=e[16],e[17]!==l||e[18]!==_||e[19]!==i?(S=_&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{content:"Attach a file",children:o.jsx(B,{variant:"text",size:"icon",className:"cursor-pointer",onClick:()=>{var Y;return(Y=l.current)==null?void 0:Y.click()},title:"Attach a file",children:o.jsx(Br,{className:"h-3.5 w-3.5"})})}),o.jsx(qr,{ref:l,type:"file",multiple:!0,hidden:!0,onChange:Y=>{Y.target.files&&i([...Y.target.files])},accept:$t.join(",")})]}),e[17]=l,e[18]=_,e[19]=i,e[20]=S):S=e[20];const R=s?"Stop":"Submit",P=s?a:n,I=!s&&r;let D,M,H,O,q;return e[21]!==s?(D=s?o.jsx(Vr,{className:"h-3 w-3 fill-current"}):o.jsx($r,{className:"h-3 w-3"}),e[21]=s,e[22]=D):D=e[22],e[23]!==P||e[24]!==I||e[25]!==D?(M=o.jsx(B,{variant:"text",size:"sm",className:"h-6 w-6 p-0 hover:bg-muted/30 cursor-pointer",onClick:P,disabled:I,children:D}),e[23]=P,e[24]=I,e[25]=D,e[26]=M):M=e[26],e[27]!==R||e[28]!==M?(H=o.jsx(pe,{content:R,children:M}),e[27]=R,e[28]=M,e[29]=H):H=e[29],e[30]!==S||e[31]!==H||e[32]!==E?(O=o.jsxs("div",{className:"flex flex-row",children:[E,S,H]}),e[30]=S,e[31]=H,e[32]=E,e[33]=O):O=e[33],e[34]!==O||e[35]!==b?(q=o.jsx(Nt,{children:o.jsxs("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row items-center justify-between",children:[b,O]})}),e[34]=O,e[35]=b,e[36]=q):q=e[36],q});ht.displayName="ChatInputFooter";const We=h.memo(t=>{const e=X.c(29),{placeholder:r,input:n,inputClassName:s,setInput:a,onSubmit:l,inputRef:i,isLoading:c,onStop:m,fileInputRef:d,onAddFiles:u,onClose:p}=t;let f;e[0]!==n||e[1]!==l?(f=()=>{n.trim()&&l(void 0,n)},e[0]=n,e[1]=l,e[2]=f):f=e[2];const g=K(f);let N;e[3]!==s?(N=V("px-2 py-3 flex-1",s),e[3]=s,e[4]=N):N=e[4];const _=r||"Type your message...";let x,v;e[5]!==n||e[6]!==i||e[7]!==u||e[8]!==p||e[9]!==l||e[10]!==a||e[11]!==_?(x=o.jsx(St,{inputRef:i,value:n,onChange:a,onSubmit:l,onClose:p,onAddFiles:u,placeholder:_}),e[5]=n,e[6]=i,e[7]=u,e[8]=p,e[9]=l,e[10]=a,e[11]=_,e[12]=x):x=e[12],e[13]!==N||e[14]!==x?(v=o.jsx("div",{className:N,children:x}),e[13]=N,e[14]=x,e[15]=v):v=e[15];const C=!n.trim();let j,y,b;return e[16]!==i?(j=()=>Jr(i),e[16]=i,e[17]=j):j=e[17],e[18]!==d||e[19]!==g||e[20]!==c||e[21]!==u||e[22]!==m||e[23]!==C||e[24]!==j?(y=o.jsx(ht,{isEmpty:C,onAddContext:j,onSendClick:g,isLoading:c,onStop:m,fileInputRef:d,onAddFiles:u}),e[18]=d,e[19]=g,e[20]=c,e[21]=u,e[22]=m,e[23]=C,e[24]=j,e[25]=y):y=e[25],e[26]!==v||e[27]!==y?(b=o.jsxs("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[v,y]}),e[26]=v,e[27]=y,e[28]=b):b=e[28],b});We.displayName="ChatInput";let ft;Tt=()=>{const t=X.c(6),e=$e(wr),{handleClick:r}=At();if(!e){let s,a,l;return t[0]!==r?(s=o.jsx(B,{variant:"outline",size:"sm",onClick:()=>r("ai"),children:"Edit AI settings"}),t[0]=r,t[1]=s):s=t[1],t[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsx(qe,{}),t[2]=a):a=t[2],t[3]!==s?(l=o.jsx(Et,{title:"Chat with AI",description:"AI is currently disabled. Add your API key to enable.",action:s,icon:a}),t[3]=s,t[4]=l):l=t[4],l}let n;return t[5]===Symbol.for("react.memo_cache_sentinel")?(n=o.jsx(ft,{}),t[5]=n):n=t[5],n},ft=()=>{const t=X.c(86),e=Rr(Rt),[r,n]=Ar(io),[s,a]=h.useState(""),[l,i]=h.useState(""),[c,m]=h.useState(),d=h.useRef(null),u=h.useRef(null),p=h.useRef(null),f=h.useRef(null),g=h.useRef(null),N=Er(),{invokeAiTool:_}=Tr(),x=r==null?void 0:r.id;let v,C,j;t[0]!==(r==null?void 0:r.messages)?(v=(r==null?void 0:r.messages)||[],t[0]=r==null?void 0:r.messages,t[1]=v):v=t[1],t[2]!==N?(C=new Pr({api:N.getAiURL("chat").toString(),headers:N.headers(),prepareSendMessagesRequest:ar}),t[2]=N,t[3]=C):C=t[3],t[4]!==e?(j=w=>{const{messages:A}=w;e(L=>(({chatState:k,chatId:ce,messages:$})=>{if(!ce)return me.warn("No active chat"),k;const de=k.chats.get(ce);if(!de)return me.warn("No active chat"),k;const xt=new Map(k.chats),dr=Date.now();return xt.set(de.id,{...de,messages:$,updatedAt:dr}),{...k,chats:xt}})({chatState:L,chatId:L.activeChatId,messages:A}))},t[4]=e,t[5]=j):j=t[5];const{messages:y,sendMessage:b,error:T,status:E,regenerate:S,stop:R,addToolResult:P,id:I}=Lr({id:x,sendAutomaticallyWhen:nr,messages:v,transport:C,onFinish:j,onToolCall:async w=>{const{toolCall:A}=w;await zr({invokeAiTool:_,addToolResult:D,toolCall:{toolName:A.toolName,toolCallId:A.toolCallId,input:A.input}})},onError:lr}),D=P;let M;t[6]===Symbol.for("react.memo_cache_sentinel")?(M=w=>{if(w.length===0)return;let A=0;for(const L of w)A+=L.size;A>52428800?Gr({title:"File size exceeds 50MB limit",description:"Please remove some files and try again."}):m(L=>[...L??[],...w])},t[6]=M):M=t[6];const H=K(M);let O;t[7]!==c?(O=w=>{c&&m(c.filter(A=>A!==w))},t[7]=c,t[8]=O):O=t[8];const q=K(O),z=E==="submitted"||E==="streaming";let Y;t[9]!==z||t[10]!==y?(Y=z&&y.length>0&&Ir(y),t[9]=z,t[10]=y,t[11]=Y):Y=t[11];const he=Y;let je,ye,Se;t[12]===Symbol.for("react.memo_cache_sentinel")?(je=()=>{requestAnimationFrame(()=>{if(p.current){const w=p.current;w.scrollTop=w.scrollHeight}})},t[12]=je):je=t[12],t[13]!==x?(ye=[x],t[13]=x,t[14]=ye):ye=t[14],h.useEffect(je,ye),t[15]!==I||t[16]!==b||t[17]!==e?(Se=async(w,A)=>{const L=Date.now(),k={id:I,title:Kr(w),messages:[],createdAt:L,updatedAt:L};e($=>{const de=new Map($.chats);return de.set(k.id,k),{...$,chats:de,activeChatId:k.id}});const ce=A&&A.length>0?await Ct(A):void 0;b({role:"user",parts:[{type:"text",text:w},...ce??[]]}),m(void 0),a("")},t[15]=I,t[16]=b,t[17]=e,t[18]=Se):Se=t[18];const He=Se;let Ne;t[19]!==n?(Ne=()=>{n(null),a(""),i(""),m(void 0)},t[19]=n,t[20]=Ne):Ne=t[20];const Oe=K(Ne);let Ce;t[21]!==y||t[22]!==b?(Ce=(w,A)=>{var $;const L=y[w],k=($=L.parts)==null?void 0:$.filter(ir),ce=L.id;b({messageId:ce,role:"user",parts:[{type:"text",text:A},...k]})},t[21]=y,t[22]=b,t[23]=Ce):Ce=t[23];const fe=K(Ce);let _e;t[24]!==c||t[25]!==b?(_e=async(w,A)=>{var k;if(!A.trim())return;(k=u.current)!=null&&k.view&&_t(u.current.view);const L=c?await Ct(c):void 0;w==null||w.preventDefault(),b({text:A,files:L}),a(""),m(void 0)},t[24]=c,t[25]=b,t[26]=_e):_e=t[26];const Xe=K(_e);let Re;t[27]!==S?(Re=()=>{S()},t[27]=S,t[28]=Re):Re=t[28];const Ue=Re;let Ae;t[29]!==He||t[30]!==c||t[31]!==l?(Ae=()=>{var w;l.trim()&&((w=d.current)!=null&&w.view&&_t(d.current.view),He(l.trim(),c))},t[29]=He,t[30]=c,t[31]=l,t[32]=Ae):Ae=t[32];const Ye=K(Ae);let Ee;t[33]===Symbol.for("react.memo_cache_sentinel")?(Ee=()=>{var w,A;return(A=(w=d.current)==null?void 0:w.editor)==null?void 0:A.blur()},t[33]=Ee):Ee=t[33];const cr=Ee,W=y.length===0;let Te;t[34]!==Xe||t[35]!==Ye||t[36]!==s||t[37]!==z||t[38]!==W||t[39]!==l||t[40]!==H||t[41]!==R?(Te=W?o.jsx(We,{placeholder:`Ask anything, ${Qr} to include context about tables or dataframes`,input:l,inputRef:d,inputClassName:"px-1 py-0",setInput:i,onSubmit:Ye,isLoading:z,onStop:R,fileInputRef:f,onAddFiles:H,onClose:cr},"new-thread-input"):o.jsx(We,{input:s,setInput:a,onSubmit:Xe,inputRef:u,isLoading:z,onStop:R,onClose:()=>{var w,A;return(A=(w=u.current)==null?void 0:w.editor)==null?void 0:A.blur()},fileInputRef:f,onAddFiles:H}),t[34]=Xe,t[35]=Ye,t[36]=s,t[37]=z,t[38]=W,t[39]=l,t[40]=H,t[41]=R,t[42]=Te):Te=t[42];const Z=Te;let Pe;t[43]!==c||t[44]!==W||t[45]!==q?(Pe=c&&c.length>0&&o.jsx("div",{className:V("flex flex-row gap-1 flex-wrap p-1",W&&"py-2 px-1"),children:c==null?void 0:c.map(w=>o.jsx(mo,{file:w,onRemove:()=>q(w)},w.name))}),t[43]=c,t[44]=W,t[45]=q,t[46]=Pe):Pe=t[46];const ee=Pe,Be=r==null?void 0:r.id;let te,re,oe,se,ne,Le,ae,le,ie,ze;if(t[47]!==Oe||t[48]!==n||t[49]!==Be?(te=o.jsx(Nt,{children:o.jsx(Jt,{onNewChat:Oe,activeChatId:Be,setActiveChat:n})}),t[47]=Oe,t[48]=n,t[49]=Be,t[50]=te):te=t[50],t[51]!==Z||t[52]!==ee||t[53]!==W?(re=W&&o.jsxs("div",{className:"rounded-md border bg-background",children:[ee,Z]}),t[51]=Z,t[52]=ee,t[53]=W,t[54]=re):re=t[54],t[55]!==fe||t[56]!==he||t[57]!==y){let w;t[59]!==fe||t[60]!==he||t[61]!==y.length?(w=(A,L)=>o.jsx(pt,{message:A,index:L,onEdit:fe,isStreamingReasoning:he,isLast:L===y.length-1},A.id),t[59]=fe,t[60]=he,t[61]=y.length,t[62]=w):w=t[62],oe=y.map(w),t[55]=fe,t[56]=he,t[57]=y,t[58]=oe}else oe=t[58];return t[63]!==z?(se=z&&o.jsx("div",{className:"flex justify-center py-4",children:o.jsx(yt,{className:"h-4 w-4 animate-spin"})}),t[63]=z,t[64]=se):se=t[64],t[65]!==T||t[66]!==Ue?(ne=T&&o.jsxs("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[o.jsx(Zr,{error:T}),o.jsx(B,{variant:"outline",size:"sm",onClick:Ue,children:"Retry"})]}),t[65]=T,t[66]=Ue,t[67]=ne):ne=t[67],t[68]===Symbol.for("react.memo_cache_sentinel")?(Le=o.jsx("div",{ref:g}),t[68]=Le):Le=t[68],t[69]!==re||t[70]!==oe||t[71]!==se||t[72]!==ne?(ae=o.jsxs("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:p,children:[re,oe,se,ne,Le]}),t[69]=re,t[70]=oe,t[71]=se,t[72]=ne,t[73]=ae):ae=t[73],t[74]!==z||t[75]!==R?(le=z&&o.jsx("div",{className:"w-full flex justify-center items-center z-20 border-t",children:o.jsx(B,{variant:"linkDestructive",size:"sm",onClick:R,children:"Stop"})}),t[74]=z,t[75]=R,t[76]=le):le=t[76],t[77]!==Z||t[78]!==ee||t[79]!==W?(ie=!W&&o.jsxs(o.Fragment,{children:[ee,Z]}),t[77]=Z,t[78]=ee,t[79]=W,t[80]=ie):ie=t[80],t[81]!==te||t[82]!==ae||t[83]!==le||t[84]!==ie?(ze=o.jsxs("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[te,ae,le,ie]}),t[81]=te,t[82]=ae,t[83]=le,t[84]=ie,t[85]=ze):ze=t[85],ze};function Gt(t){return t.type==="text"}function Kt(t){return t.text}function Qt(t){return t.type==="file"}function Zt(t,e){return o.jsx(po,{attachment:t},e)}function er(){}function tr(){}function rr(t){return t.type==="text"}function or(t){return t.text}function sr(t){return o.jsx(kr,{value:t.value,className:"text-xs",children:o.jsxs("div",{className:"flex flex-col",children:[t.label,o.jsx("div",{className:"text-muted-foreground text-xs pt-1 block",children:t.subtitle})]})},t.value)}function nr(t){const{messages:e}=t;return Dr(e)}async function ar(t){const e=await Mr(t.messages);return{body:{...t,...e}}}function lr(t){me.error("An error occurred:",t)}function ir(t){return t.type==="file"}});export{go as __tla,Tt as default};
@@ -1 +0,0 @@
1
- import{s,c as t,a,C as o}from"./chunk-K7UQS3LO-B-pGTXPt.js";import{_ as i}from"./mermaid.core-CaSnaLH0.js";import"./transform-D9VCJYws.js";import"./chunk-FMBD7UC4-C-lhB6hN.js";import"./chunk-55IACEB6-Bj00HDqq.js";import"./chunk-QN33PNHL-DqUzGhvm.js";import"./index-DKEudB02.js";import"./step-BwsUM5iJ.js";import"./isEmpty-DU_ogP_D.js";import"./timer-Bqd5yn_a.js";var e={parser:a,get db(){return new o},renderer:t,styles:s,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{e as diagram};
@@ -1 +0,0 @@
1
- import{s,c as t,a,C as o}from"./chunk-K7UQS3LO-B-pGTXPt.js";import{_ as i}from"./mermaid.core-CaSnaLH0.js";import"./transform-D9VCJYws.js";import"./chunk-FMBD7UC4-C-lhB6hN.js";import"./chunk-55IACEB6-Bj00HDqq.js";import"./chunk-QN33PNHL-DqUzGhvm.js";import"./index-DKEudB02.js";import"./step-BwsUM5iJ.js";import"./isEmpty-DU_ogP_D.js";import"./timer-Bqd5yn_a.js";var e={parser:a,get db(){return new o},renderer:t,styles:s,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{e as diagram};
@@ -1 +0,0 @@
1
- import{b as n}from"./_baseUniq-CCgDNtZb.js";function o(r){return n(r,4)}export{o as c};
@@ -1 +0,0 @@
1
- import{a as M,T as O,b5 as Pe,b6 as De,j as n,b7 as Le,b8 as ae,as as se,b9 as Ie,ba as Ae,bb as Ve,bc as ne,bd as ze,d as S,av as re,be as oe,K as W,bf as le,bg as Me,bh as me,b as ce,bi as ie,aX as Y,a2 as de,bj as Ke,bk as Be,bl as Oe,bm as Xe,bn as Ge,au as He,bo as Je,bp as Re,ay as Z,bq as Ue,br as pe,bs as ue,bt as Q,bu as We,bv as Ye,S as Ze,bw as he,bx as be,by as xe,bz as ee,bA as Qe,bB as et,bC as tt,aF as at,bD as st,bE as fe,bF as nt,bG as rt,bH as ot,bI as lt,C as mt,bJ as ct,bK as it,bL as dt,__tla as pt}from"./index-DKEudB02.js";import{d as ut,e as ht,__tla as bt}from"./storage-CMdLzB_c.js";import{P as xt}from"./empty-state-B3dA3G5P.js";import{A as ge,__tla as ft}from"./edit-page-BrYda9VE.js";import{s as je}from"./sortBy-BNZKwiq_.js";import"./index-CQDrxQ0j.js";import"./index-C77h_TXN.js";import"./index-D1vmG6DS.js";import"./index-lYa_leQE.js";import"./index-DRMm6SNo.js";import"./index-vmICa5KN.js";import"./index-BY93Ejhl.js";import"./index-C-GhZ7ti.js";import"./index-C-8WADat.js";import"./index-DoRmcrKM.js";import"./index-DEQvTChO.js";import"./index-CWMgowgL.js";import"./index-D9UKkrr2.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-BVgAenPd.js";import"./trash-Dc6DSjz_.js";import"./links-D59GIweI.js";import"./_createAggregator-DcD0kTA5.js";import"./_baseEach-CNBxBxvS.js";import{__tla as gt}from"./loro_wasm_bg-C1ks32Vm.js";import"./_baseMap-D1WHjKrd.js";let Ne,jt=Promise.all([(()=>{try{return pt}catch{}})(),(()=>{try{return bt}catch{}})(),(()=>{try{return ft}catch{}})(),(()=>{try{return gt}catch{}})()]).then(async()=>{const _e=s=>{const e=M.c(8),{variableName:t,className:a}=s;let o;e[0]!==t?(o=()=>{const p=(function(h){const i=Le.get(ae)[h];if(i)return i.declaredBy[0]})(t);if(!p)return;const N=Pe(p);N&&De(N,t)},e[0]=t,e[1]=o):o=e[1];const m=o;let r,x;return e[2]!==a?(r=O("text-link opacity-80 hover:opacity-100 hover:underline",a),e[2]=a,e[3]=r):r=e[3],e[4]!==m||e[5]!==r||e[6]!==t?(x=n.jsx("button",{type:"button",onClick:m,className:r,children:t}),e[4]=m,e[5]=r,e[6]=t,e[7]=x):x=e[7],x},ye=se(s=>{const e=s(Ie),t=s(ae),a=s(Ae);return je(e,o=>{if(!o.variable_name)return-1;const m=Object.values(t).find(x=>x.name===o.variable_name);if(!m)return 0;const r=a.inOrderIds.indexOf(m.declaredBy[0]);return r===-1?0:r})}),we=se(s=>{const e=new Map(s(Ve));for(const t of ne){const a=e.get(t);a&&(a.databases.length===0&&e.delete(t),a.databases.length===1&&a.databases[0].name===ze&&a.databases[0].schemas.length===0&&e.delete(t))}return je([...e.values()],t=>ne.has(t.name)?1:0)}),ve=()=>{const s=M.c(32),[e,t]=S.useState(""),a=re(oe),o=W(ye),m=W(we);if(o.length===0&&m.length===0){let d;return s[0]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(xt,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:n.jsx(ge,{children:n.jsxs(Y,{variant:"outline",size:"sm",children:["Add database or catalog",n.jsx(de,{className:"h-4 w-4 ml-2"})]})}),icon:n.jsx(ie,{})}),s[0]=d):d=s[0],d}const r=!!e.trim();let x,p,N,h,i,f,u,c,j,l;if(s[1]!==a?(x=d=>{a(d.length>0),t(d)},s[1]=a,s[2]=x):x=s[2],s[3]!==e||s[4]!==x?(p=n.jsx(Ke,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:x,rootClassName:"flex-1 border-r"}),s[3]=e,s[4]=x,s[5]=p):p=s[5],s[6]!==r?(N=r&&n.jsx("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",onClick:()=>t(""),children:n.jsx(Be,{className:"h-4 w-4"})}),s[6]=r,s[7]=N):N=s[7],s[8]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx(ge,{children:n.jsx("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",children:n.jsx(de,{className:"h-4 w-4"})})}),s[8]=h):h=s[8],s[9]!==p||s[10]!==N?(i=n.jsxs("div",{className:"flex items-center w-full",children:[p,N,h]}),s[9]=p,s[10]=N,s[11]=i):i=s[11],s[12]!==m||s[13]!==r||s[14]!==e){let d;s[16]!==r||s[17]!==e?(d=g=>n.jsx(Se,{connection:g,hasChildren:g.databases.length>0,children:g.databases.map(b=>n.jsx(Ce,{engineName:g.name,database:b,hasSearch:r,children:n.jsx($e,{schemas:b.schemas,defaultSchema:g.default_schema,defaultDatabase:g.default_database,engineName:g.name,databaseName:b.name,hasSearch:r,searchValue:e})},b.name))},g.name),s[16]=r,s[17]=e,s[18]=d):d=s[18],f=m.map(d),s[12]=m,s[13]=r,s[14]=e,s[15]=f}else f=s[15];return s[19]!==m.length||s[20]!==o.length?(u=m.length>0&&o.length>0&&n.jsxs(le,{children:[n.jsx(Me,{className:"h-4 w-4 text-muted-foreground"}),n.jsx("span",{className:"text-xs",children:"Python"})]}),s[19]=m.length,s[20]=o.length,s[21]=u):u=s[21],s[22]!==e||s[23]!==o?(c=o.length>0&&n.jsx(te,{tables:o,searchValue:e}),s[22]=e,s[23]=o,s[24]=c):c=s[24],s[25]!==f||s[26]!==u||s[27]!==c?(j=n.jsxs(Oe,{className:"flex flex-col",children:[f,u,c]}),s[25]=f,s[26]=u,s[27]=c,s[28]=j):j=s[28],s[29]!==i||s[30]!==j?(l=n.jsxs(Xe,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[i,j]}),s[29]=i,s[30]=j,s[31]=l):l=s[31],l},Se=s=>{const e=M.c(26),{connection:t,children:a,hasChildren:o}=s,m=t.name===Ge,r=m?"In-Memory":t.name,{previewDataSourceConnection:x}=He(),[p,N]=S.useState(!1);let h;e[0]!==t.name||e[1]!==x?(h=async()=>{N(!0),await x({engine:t.name}),setTimeout(()=>N(!1),500)},e[0]=t.name,e[1]=x,e[2]=h):h=e[2];const i=h;let f,u,c;e[3]!==t.dialect?(f=n.jsx(Je,{className:"h-4 w-4 text-muted-foreground",name:t.dialect}),e[3]=t.dialect,e[4]=f):f=e[4],e[5]!==t.dialect?(u=Re(t.dialect),e[5]=t.dialect,e[6]=u):u=e[6],e[7]!==u?(c=n.jsx("span",{className:"text-xs",children:u}),e[7]=u,e[8]=c):c=e[8];const j=r;let l,d,g,b,_;return e[9]!==j?(l=n.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",n.jsx(_e,{variableName:j}),")"]}),e[9]=j,e[10]=l):l=e[10],e[11]!==i||e[12]!==m||e[13]!==p?(d=!m&&n.jsx(Z,{content:"Refresh connection",children:n.jsx(Y,{variant:"ghost",size:"icon",className:"ml-auto hover:bg-transparent hover:shadow-none",onClick:i,children:n.jsx(Ue,{className:O("h-4 w-4 text-muted-foreground hover:text-foreground",p&&"animate-[spin_0.5s]")})})}),e[11]=i,e[12]=m,e[13]=p,e[14]=d):d=e[14],e[15]!==f||e[16]!==c||e[17]!==l||e[18]!==d?(g=n.jsxs(le,{children:[f,c,l,d]}),e[15]=f,e[16]=c,e[17]=l,e[18]=d,e[19]=g):g=e[19],e[20]!==a||e[21]!==o?(b=o?a:n.jsx(Q,{content:"No databases available",className:"pl-2"}),e[20]=a,e[21]=o,e[22]=b):b=e[22],e[23]!==g||e[24]!==b?(_=n.jsxs(n.Fragment,{children:[g,b]}),e[23]=g,e[24]=b,e[25]=_):_=e[25],_},Ce=s=>{const e=M.c(28),{hasSearch:t,engineName:a,database:o,children:m}=s,[r,x]=S.useState(!1),[p,N]=S.useState(!1);let h,i,f;e[0]!==t?(h=()=>{x(t)},i=[t],e[0]=t,e[1]=h,e[2]=i):(h=e[1],i=e[2]),S.useEffect(h,i),e[3]!==r||e[4]!==p?(f=()=>{x(!r),N(!p)},e[3]=r,e[4]=p,e[5]=f):f=e[5];const u=`${a}:${o.name}`;let c;e[6]!==r?(c=n.jsx(xe,{isExpanded:r}),e[6]=r,e[7]=c):c=e[7];const j=p&&r?"text-foreground":"text-muted-foreground";let l,d;e[8]!==j?(l=O("h-4 w-4",j),e[8]=j,e[9]=l):l=e[9],e[10]!==l?(d=n.jsx(ie,{className:l}),e[10]=l,e[11]=d):d=e[11];const g=p&&r&&"font-semibold";let b,_,y,w;e[12]!==g?(b=O(g),e[12]=g,e[13]=b):b=e[13],e[14]!==o.name?(_=o.name===""?n.jsx("i",{children:"Not connected"}):o.name,e[14]=o.name,e[15]=_):_=e[15],e[16]!==b||e[17]!==_?(y=n.jsx("span",{className:b,children:_}),e[16]=b,e[17]=_,e[18]=y):y=e[18],e[19]!==y||e[20]!==f||e[21]!==u||e[22]!==c||e[23]!==d?(w=n.jsxs(ee,{className:"text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",onSelect:f,value:u,children:[c,d,y]}),e[19]=y,e[20]=f,e[21]=u,e[22]=c,e[23]=d,e[24]=w):w=e[24];const v=r&&m;let C;return e[25]!==w||e[26]!==v?(C=n.jsxs(n.Fragment,{children:[w,v]}),e[25]=w,e[26]=v,e[27]=C):C=e[27],C},$e=s=>{const e=M.c(20),{schemas:t,defaultSchema:a,defaultDatabase:o,engineName:m,databaseName:r,hasSearch:x,searchValue:p}=s;if(t.length===0){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(Q,{content:"No schemas available",className:"pl-6"}),e[0]=i):i=e[0],i}let N,h;if(e[1]!==r||e[2]!==o||e[3]!==a||e[4]!==m||e[5]!==x||e[6]!==t||e[7]!==p){let i;e[9]!==p?(i=c=>!p||c.tables.some(j=>j.name.toLowerCase().includes(p.toLowerCase())),e[9]=p,e[10]=i):i=e[10];const f=t.filter(i);let u;e[11]!==r||e[12]!==o||e[13]!==a||e[14]!==m||e[15]!==x||e[16]!==p?(u=c=>n.jsx(ke,{databaseName:r,schema:c,hasSearch:x,children:n.jsx(te,{tables:c.tables,searchValue:p,sqlTableContext:{engine:m,database:r,schema:c.name,defaultSchema:a,defaultDatabase:o}})},c.name),e[11]=r,e[12]=o,e[13]=a,e[14]=m,e[15]=x,e[16]=p,e[17]=u):u=e[17],N=f.map(u),e[1]=r,e[2]=o,e[3]=a,e[4]=m,e[5]=x,e[6]=t,e[7]=p,e[8]=N}else N=e[8];return e[18]!==N?(h=n.jsx(n.Fragment,{children:N}),e[18]=N,e[19]=h):h=e[19],h},ke=s=>{const e=M.c(26),{databaseName:t,schema:a,children:o,hasSearch:m}=s,[r,x]=S.useState(!1),[p,N]=S.useState(!1),h=`${t}:${a.name}`;let i,f,u,c;if(e[0]!==m?(i=()=>{x(m)},f=[m],e[0]=m,e[1]=i,e[2]=f):(i=e[1],f=e[2]),S.useEffect(i,f),be(a.name))return o;e[3]!==r||e[4]!==p?(u=()=>{x(!r),N(!p)},e[3]=r,e[4]=p,e[5]=u):u=e[5],e[6]!==r?(c=n.jsx(xe,{isExpanded:r}),e[6]=r,e[7]=c):c=e[7];const j=p&&r&&"text-foreground";let l,d;e[8]!==j?(l=O("h-4 w-4 text-muted-foreground",j),e[8]=j,e[9]=l):l=e[9],e[10]!==l?(d=n.jsx(dt,{className:l}),e[10]=l,e[11]=d):d=e[11];const g=p&&r&&"font-semibold";let b,_,y;e[12]!==g?(b=O(g),e[12]=g,e[13]=b):b=e[13],e[14]!==a.name||e[15]!==b?(_=n.jsx("span",{className:b,children:a.name}),e[14]=a.name,e[15]=b,e[16]=_):_=e[16],e[17]!==_||e[18]!==u||e[19]!==c||e[20]!==d||e[21]!==h?(y=n.jsxs(ee,{className:"text-sm flex flex-row gap-1 items-center pl-5 cursor-pointer rounded-none",onSelect:u,value:h,children:[c,d,_]}),e[17]=_,e[18]=u,e[19]=c,e[20]=d,e[21]=h,e[22]=y):y=e[22];const w=r&&o;let v;return e[23]!==y||e[24]!==w?(v=n.jsxs(n.Fragment,{children:[y,w]}),e[23]=y,e[24]=w,e[25]=v):v=e[25],v},te=s=>{const e=M.c(24),{tables:t,sqlTableContext:a,searchValue:o}=s,{addTableList:m}=me(),[r,x]=S.useState(!1),[p,N]=S.useState(!1);let h,i;e[0]!==m||e[1]!==a||e[2]!==t.length||e[3]!==r?(h=async()=>{if(t.length===0&&a&&!r){x(!0),N(!0);const{engine:l,database:d,schema:g}=a,b=await ut.request({engine:l,database:d,schema:g});if(!(b!=null&&b.tables))throw N(!1),new Error("No tables available");m({tables:b.tables,sqlTableContext:a}),N(!1)}},e[0]=m,e[1]=a,e[2]=t.length,e[3]=r,e[4]=h):h=e[4],e[5]!==a||e[6]!==t.length||e[7]!==r?(i=[t.length,a,r],e[5]=a,e[6]=t.length,e[7]=r,e[8]=i):i=e[8];const{isPending:f,error:u}=ce(h,i);if(f||p){let l;return e[9]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(pe,{message:"Loading tables...",className:"pl-12"}),e[9]=l):l=e[9],l}if(u){let l;return e[10]!==u?(l=n.jsx(ue,{error:u,className:"pl-12"}),e[10]=u,e[11]=l):l=e[11],l}if(t.length===0){let l;return e[12]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(Q,{content:"No tables found",className:"pl-9"}),e[12]=l):l=e[12],l}let c,j;if(e[13]!==o||e[14]!==a||e[15]!==t){let l;e[17]!==o?(l=b=>!o||b.name.toLowerCase().includes(o.toLowerCase()),e[17]=o,e[18]=l):l=e[18];const d=t.filter(l);let g;e[19]!==o||e[20]!==a?(g=b=>n.jsx(Te,{table:b,sqlTableContext:a,isSearching:!!o},b.name),e[19]=o,e[20]=a,e[21]=g):g=e[21],c=d.map(g),e[13]=o,e[14]=a,e[15]=t,e[16]=c}else c=e[16];return e[22]!==c?(j=n.jsx(n.Fragment,{children:c}),e[22]=c,e[23]=j):j=e[23],j},Te=s=>{const e=M.c(64),{table:t,sqlTableContext:a,isSearching:o}=s,{addTable:m}=me(),[r,x]=S.useState(!1),[p,N]=S.useState(!1),h=t.columns.length>0;let i,f;e[0]!==m||e[1]!==r||e[2]!==a||e[3]!==t.name||e[4]!==h||e[5]!==p?(i=async()=>{if(r&&!h&&a&&!p){N(!0);const{engine:P,database:R,schema:Ee}=a,U=await ht.request({engine:P,database:R,schema:Ee,tableName:t.name});if(!(U!=null&&U.table))throw new Error("No table details available");m({table:U.table,sqlTableContext:a})}},e[0]=m,e[1]=r,e[2]=a,e[3]=t.name,e[4]=h,e[5]=p,e[6]=i):i=e[6],e[7]!==r||e[8]!==h?(f=[r,h],e[7]=r,e[8]=h,e[9]=f):f=e[9];const{isFetching:u,isPending:c,error:j}=ce(i,f),l=W(We),d=Ye(),{createNewCell:g}=Ze(),b=he();let _;e[10]!==b||e[11]!==l||e[12]!==g||e[13]!==d||e[14]!==a||e[15]!==t?(_=()=>{Qe({autoInstantiate:l,createNewCell:g,fromCellId:d}),b((()=>{if(t.source_type==="catalog"){const P=a!=null&&a.database?`${a.database}.${t.name}`:t.name;return`${t.engine}.load_table("${P}")`}if(a)return fe({table:t,columnName:"*",sqlTableContext:a});switch(t.source_type){case"local":return`mo.ui.table(${t.name})`;case"duckdb":case"connection":return fe({table:t,columnName:"*",sqlTableContext:a});default:return nt(t.source_type),""}})())},e[10]=b,e[11]=l,e[12]=g,e[13]=d,e[14]=a,e[15]=t,e[16]=_):_=e[16];const y=_;let w;e[17]!==t.num_columns||e[18]!==t.num_rows?(w=()=>{const P=[];return t.num_rows!=null&&P.push(`${t.num_rows} rows`),t.num_columns!=null&&P.push(`${t.num_columns} columns`),P.length===0?null:n.jsx("div",{className:"flex flex-row gap-2 items-center pl-6 group-hover:hidden",children:n.jsx("span",{className:"text-xs text-muted-foreground",children:P.join(", ")})})},e[17]=t.num_columns,e[18]=t.num_rows,e[19]=w):w=e[19];const v=w;let C;e[20]!==j||e[21]!==u||e[22]!==c||e[23]!==a||e[24]!==t?(C=()=>{if(c||u)return n.jsx(pe,{message:"Loading columns...",className:"pl-12"});if(j)return n.jsx(ue,{error:j,className:"pl-12"});const P=t.columns;return P.length===0?n.jsx(Q,{content:"No columns found",className:"pl-12"}):P.map(R=>n.jsx(qe,{table:t,column:R,sqlTableContext:a},R.name))},e[20]=j,e[21]=u,e[22]=c,e[23]=a,e[24]=t,e[25]=C):C=e[25];const L=C;let B;e[26]!==r||e[27]!==o||e[28]!==t.source_type||e[29]!==t.type?(B=()=>{if(t.source_type==="local")return;const P=t.type==="table"?et:tt;return n.jsx(P,{className:"h-3 w-3",strokeWidth:r||o?2.5:void 0})},e[26]=r,e[27]=o,e[28]=t.source_type,e[29]=t.type,e[30]=B):B=e[30];const I=B,A=a?`${a.database}.${a.schema}.${t.name}`:t.name,V=a&&(be(a.schema)?"pl-9":"pl-12"),z=(r||o)&&"font-semibold";let $,k,T,q,F,D,K,X,E,G,H,J;return e[31]!==V||e[32]!==z?($=O("rounded-none group h-8 cursor-pointer",V,z),e[31]=V,e[32]=z,e[33]=$):$=e[33],e[34]!==r?(k=()=>x(!r),e[34]=r,e[35]=k):k=e[35],e[36]!==I?(T=I(),e[36]=I,e[37]=T):T=e[37],e[38]!==t.name?(q=n.jsx("span",{className:"text-sm",children:t.name}),e[38]=t.name,e[39]=q):q=e[39],e[40]!==T||e[41]!==q?(F=n.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[T,q]}),e[40]=T,e[41]=q,e[42]=F):F=e[42],e[43]!==v?(D=v(),e[43]=v,e[44]=D):D=e[44],e[45]!==y?(K=at.stopPropagation(()=>y()),e[45]=y,e[46]=K):K=e[46],e[47]===Symbol.for("react.memo_cache_sentinel")?(X=n.jsx(st,{className:"h-3 w-3"}),e[47]=X):X=e[47],e[48]!==K?(E=n.jsx(Z,{content:"Add table to notebook",delayDuration:400,children:n.jsx(Y,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:K,children:X})}),e[48]=K,e[49]=E):E=e[49],e[50]!==r||e[51]!==k||e[52]!==F||e[53]!==D||e[54]!==E||e[55]!==$||e[56]!==A?(G=n.jsxs(ee,{className:$,value:A,"aria-selected":r,forceMount:!0,onSelect:k,children:[F,D,E]}),e[50]=r,e[51]=k,e[52]=F,e[53]=D,e[54]=E,e[55]=$,e[56]=A,e[57]=G):G=e[57],e[58]!==r||e[59]!==L?(H=r&&L(),e[58]=r,e[59]=L,e[60]=H):H=e[60],e[61]!==G||e[62]!==H?(J=n.jsxs(n.Fragment,{children:[G,H]}),e[61]=G,e[62]=H,e[63]=J):J=e[63],J},qe=s=>{var K,X;const e=M.c(51),{table:t,column:a,sqlTableContext:o}=s,[m,r]=S.useState(!1),x=W(oe),p=re(rt);let N,h;e[0]!==x?(N=()=>{x&&r(!1)},h=[x],e[0]=x,e[1]=N,e[2]=h):(N=e[1],h=e[2]),S.useEffect(N,h),p(m?E=>new Set([...E,`${t.name}:${a.name}`]):E=>(E.delete(`${t.name}:${a.name}`),new Set(E)));const i=he(),{columnsPreviews:f}=ot();let u;e[3]!==a.name||e[4]!==t.primary_keys?(u=((K=t.primary_keys)==null?void 0:K.includes(a.name))||!1,e[3]=a.name,e[4]=t.primary_keys,e[5]=u):u=e[5];const c=u;let j;e[6]!==a.name||e[7]!==t.indexes?(j=((X=t.indexes)==null?void 0:X.includes(a.name))||!1,e[6]=a.name,e[7]=t.indexes,e[8]=j):j=e[8];const l=j;let d;e[9]!==i?(d=E=>{i(E)},e[9]=i,e[10]=d):d=e[10];const g=d,b=Fe,_=m?"font-semibold":"";let y;e[11]!==a.name||e[12]!==_?(y=n.jsx("span",{className:_,children:a.name}),e[11]=a.name,e[12]=_,e[13]=y):y=e[13];const w=y,v=`${t.name}.${a.name}`,C=`${t.name}.${a.name}`;let L;e[14]!==m?(L=()=>r(!m),e[14]=m,e[15]=L):L=e[15];const B=o?"pl-14":"pl-7";let I,A,V,z,$,k,T,q,F,D;return e[16]!==B?(I=O("flex flex-row gap-2 items-center flex-1",B),e[16]=B,e[17]=I):I=e[17],e[18]!==a.type||e[19]!==w?(A=n.jsx(lt,{columnName:w,dataType:a.type}),e[18]=a.type,e[19]=w,e[20]=A):A=e[20],e[21]!==c?(V=c&&b({tooltipContent:"Primary key",content:"PK"}),e[21]=c,e[22]=V):V=e[22],e[23]!==l?(z=l&&b({tooltipContent:"Indexed",content:"IDX"}),e[23]=l,e[24]=z):z=e[24],e[25]!==I||e[26]!==A||e[27]!==V||e[28]!==z?($=n.jsxs("div",{className:I,children:[A,V,z]}),e[25]=I,e[26]=A,e[27]=V,e[28]=z,e[29]=$):$=e[29],e[30]!==a.name?(k=n.jsx(Z,{content:"Copy column name",delayDuration:400,children:n.jsx(Y,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:n.jsx(mt,{tooltip:!1,value:a.name,className:"h-3 w-3"})})}),e[30]=a.name,e[31]=k):k=e[31],e[32]!==a.external_type?(T=n.jsx("span",{className:"text-xs text-muted-foreground",children:a.external_type}),e[32]=a.external_type,e[33]=T):T=e[33],e[34]!==L||e[35]!==$||e[36]!==k||e[37]!==T||e[38]!==v||e[39]!==C?(q=n.jsxs(ee,{className:"rounded-none py-1 group cursor-pointer",value:C,onSelect:L,children:[$,k,T]},v),e[34]=L,e[35]=$,e[36]=k,e[37]=T,e[38]=v,e[39]=C,e[40]=q):q=e[40],e[41]!==a||e[42]!==f||e[43]!==g||e[44]!==m||e[45]!==o||e[46]!==t?(F=m&&n.jsx("div",{className:"pl-10 pr-2 py-2 bg-(--slate-1) shadow-inner border-b",children:n.jsx(ct,{children:n.jsx(it,{table:t,column:a,onAddColumnChart:g,preview:f.get(o?`${o.database}.${o.schema}.${t.name}:${a.name}`:`${t.name}:${a.name}`),sqlTableContext:o})})}),e[41]=a,e[42]=f,e[43]=g,e[44]=m,e[45]=o,e[46]=t,e[47]=F):F=e[47],e[48]!==q||e[49]!==F?(D=n.jsxs(n.Fragment,{children:[q,F]}),e[48]=q,e[49]=F,e[50]=D):D=e[50],D};function Fe(s){const{tooltipContent:e,content:t}=s;return n.jsx(Z,{content:e,delayDuration:100,children:n.jsx("span",{className:"text-xs text-black bg-gray-100 dark:invert rounded px-1",children:t})})}Ne=()=>{const s=M.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(ve,{}),s[0]=e):e=s[0],e}});export{jt as __tla,Ne as default};