@marimo-team/frontend 0.16.0-dev96986 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/dist/assets/ConnectedDataExplorerComponent-BErMbWvG.js +19 -0
  2. package/dist/assets/{ImageComparisonComponent-SX7fDaTK.js → ImageComparisonComponent-fTHv1Ih0.js} +1 -1
  3. package/dist/assets/{VegaLite-MJUW3b7C.js → VegaLite-Bdi-TyfY.js} +1 -1
  4. package/dist/assets/_baseEach-CNBxBxvS.js +1 -0
  5. package/dist/assets/_baseMap-D1WHjKrd.js +1 -0
  6. package/dist/assets/_baseUniq-CCgDNtZb.js +1 -0
  7. package/dist/assets/{_createAggregator-ZRm2b6Zm.js → _createAggregator-DcD0kTA5.js} +1 -1
  8. package/dist/assets/{agent-panel-BBd11wNX.js → agent-panel-Crv430aI.js} +57 -76
  9. package/dist/assets/{any-language-editor-DwAaEQfS.js → any-language-editor-CQh552Wu.js} +1 -1
  10. package/dist/assets/{architectureDiagram-W76B3OCA-BJmVXUoW.js → architectureDiagram-W76B3OCA-BAJeBxzt.js} +1 -1
  11. package/dist/assets/{between-horizontal-start-KiwU-a3C.js → between-horizontal-start-Boxgxbt_.js} +1 -1
  12. package/dist/assets/{blockDiagram-QIGZ2CNN-DzxZjE7B.js → blockDiagram-QIGZ2CNN-CL-1svEK.js} +1 -1
  13. package/dist/assets/{c4Diagram-FPNF74CW-DjmldG_J.js → c4Diagram-FPNF74CW-BbEqbCTl.js} +1 -1
  14. package/dist/assets/channel-_2eNSz0n.js +1 -0
  15. package/dist/assets/chat-panel-CXh5Wl6C.js +3 -0
  16. package/dist/assets/{chunk-4BX2VUAB-EUTQThiZ.js → chunk-4BX2VUAB-C--8TXeE.js} +1 -1
  17. package/dist/assets/{chunk-55IACEB6-DZAiDJxy.js → chunk-55IACEB6-Bj00HDqq.js} +1 -1
  18. package/dist/assets/{chunk-FMBD7UC4-Bd0Czs-J.js → chunk-FMBD7UC4-C-lhB6hN.js} +1 -1
  19. package/dist/assets/{chunk-K7UQS3LO-DEKMIknX.js → chunk-K7UQS3LO-B-pGTXPt.js} +1 -1
  20. package/dist/assets/{chunk-QN33PNHL-E0jwHU_n.js → chunk-QN33PNHL-DqUzGhvm.js} +1 -1
  21. package/dist/assets/{chunk-QZHKN3VN-BzaIHJbq.js → chunk-QZHKN3VN-TntJHfSk.js} +1 -1
  22. package/dist/assets/{chunk-TVAH2DTR-CZFYvqnm.js → chunk-TVAH2DTR-HUJb1psV.js} +1 -1
  23. package/dist/assets/{chunk-TZMSLE5B-BNqnFjtv.js → chunk-TZMSLE5B-BK3C__t3.js} +1 -1
  24. package/dist/assets/{circle-play-D3J_mYrF.js → circle-play-DBLOv1Yu.js} +1 -1
  25. package/dist/assets/classDiagram-KNZD7YFC-BGmh9POF.js +1 -0
  26. package/dist/assets/classDiagram-v2-RKCZMP56-BGmh9POF.js +1 -0
  27. package/dist/assets/{clear-button-ifzRuAR3.js → clear-button-BeoFbEKH.js} +1 -1
  28. package/dist/assets/clone-BFDSPAj3.js +1 -0
  29. package/dist/assets/{command-palette-D2fdVSET.js → command-palette-CXZiSv0I.js} +1 -1
  30. package/dist/assets/{common-Ku-cF_2J.js → common-C7oJcmCT.js} +1 -1
  31. package/dist/assets/{compile-BgZlHW1c.js → compile-7L0MwhyI.js} +1 -1
  32. package/dist/assets/{cose-bilkent-S5V4N54A-CVM83SqK.js → cose-bilkent-S5V4N54A-BMkGLcVC.js} +1 -1
  33. package/dist/assets/{dagre-5GWH7T2D-ouQPkxT3.js → dagre-5GWH7T2D-BJtRienS.js} +1 -1
  34. package/dist/assets/{data-grid-overlay-editor-B47j5GJJ.js → data-grid-overlay-editor-DBkmGtNs.js} +1 -1
  35. package/dist/assets/datasources-panel-B7FbYLiy.js +1 -0
  36. package/dist/assets/{dependency-graph-panel-CZC_B7pK.js → dependency-graph-panel-DEdOxp2X.js} +1 -1
  37. package/dist/assets/{diagram-N5W7TBWH-CQ817ZdR.js → diagram-N5W7TBWH-CmECY3nb.js} +1 -1
  38. package/dist/assets/{diagram-QEK2KX5R-DOK_psUO.js → diagram-QEK2KX5R-DMOVSNKD.js} +1 -1
  39. package/dist/assets/{diagram-S2PKOQOG-CVljmOW8.js → diagram-S2PKOQOG-BiJ96PNQ.js} +1 -1
  40. package/dist/assets/{documentation-panel-C7yIvGg1.js → documentation-panel-xULhaEv3.js} +1 -1
  41. package/dist/assets/edit-page-BrYda9VE.js +129 -0
  42. package/dist/assets/{ellipsis-vertical-C7FjlUsY.js → ellipsis-vertical-BBqXIlc2.js} +1 -1
  43. package/dist/assets/{empty-state-DIOGM_CU.js → empty-state-B3dA3G5P.js} +1 -1
  44. package/dist/assets/{erDiagram-AWTI2OKA-DYu8cEdc.js → erDiagram-AWTI2OKA-MP1DiFRo.js} +1 -1
  45. package/dist/assets/{error-panel-Ddb8RkFG.js → error-panel-Cc1sv-Ag.js} +1 -1
  46. package/dist/assets/file-explorer-panel-Bw59Kva1.js +1 -0
  47. package/dist/assets/{flowDiagram-PVAE7QVJ-CmvW5iTb.js → flowDiagram-PVAE7QVJ-BX7caPp7.js} +1 -1
  48. package/dist/assets/{ganttDiagram-OWAHRB6G-BaKQlCaT.js → ganttDiagram-OWAHRB6G-B462g4Yf.js} +4 -4
  49. package/dist/assets/{gitGraphDiagram-NY62KEGX-CWO24eP6.js → gitGraphDiagram-NY62KEGX-CGgvZ9-9.js} +1 -1
  50. package/dist/assets/{glide-data-editor-CNDLEJ9a.js → glide-data-editor-C0gUFZON.js} +11 -11
  51. package/dist/assets/{graph-BZKTtxsc.js → graph-CHRVBzY5.js} +1 -1
  52. package/dist/assets/home-page-Fb2osjys.js +9 -0
  53. package/dist/assets/{index-zrSUQXha.js → index-BVgAenPd.js} +1 -1
  54. package/dist/assets/{index-Brf2DwUM.js → index-BY93Ejhl.js} +1 -1
  55. package/dist/assets/{index-CerjupfZ.js → index-C-8WADat.js} +1 -1
  56. package/dist/assets/{index-DZhOPkOB.js → index-C-GhZ7ti.js} +1 -1
  57. package/dist/assets/{index-CZaurnA9.js → index-C1v_Z9et.js} +1 -1
  58. package/dist/assets/{index-0XOUPdwT.js → index-C4Tn5NvJ.js} +1 -1
  59. package/dist/assets/{index-B_d_JZGI.js → index-C77h_TXN.js} +1 -1
  60. package/dist/assets/{index-BJVyzkx5.js → index-CQDrxQ0j.js} +1 -1
  61. package/dist/assets/{index-DFrGFNW1.js → index-CWMgowgL.js} +1 -1
  62. package/dist/assets/{index-DmgwT3sx.js → index-Clbi_Yaq.js} +1 -1
  63. package/dist/assets/{index-D-tZfElD.js → index-CpTPJo4k.js} +1 -1
  64. package/dist/assets/index-Cx0bsY1w.css +1 -0
  65. package/dist/assets/{index-DkntzpX4.js → index-D1vmG6DS.js} +1 -1
  66. package/dist/assets/{index-D3PqGupX.js → index-D9UKkrr2.js} +1 -1
  67. package/dist/assets/{index-BgXbBA39.js → index-DEQvTChO.js} +1 -1
  68. package/dist/assets/index-DKEudB02.js +578 -0
  69. package/dist/assets/{index-DCkzth56.js → index-DRMm6SNo.js} +1 -1
  70. package/dist/assets/{index-WXJFkQHg.js → index-DoRmcrKM.js} +1 -1
  71. package/dist/assets/{index-qE8lHQ-N.js → index-lYa_leQE.js} +1 -1
  72. package/dist/assets/{index-CXrWwFX6.js → index-vmICa5KN.js} +1 -1
  73. package/dist/assets/{index-BH7f3aiU.js → index-z9bohSQJ.js} +1 -1
  74. package/dist/assets/infoDiagram-STP46IZ2-CVyrdLc8.js +2 -0
  75. package/dist/assets/{isEmpty-D1t7Gran.js → isEmpty-DU_ogP_D.js} +1 -1
  76. package/dist/assets/{journeyDiagram-BIP6EPQ6-D4Rp6H_h.js → journeyDiagram-BIP6EPQ6-C6EgLP_Q.js} +1 -1
  77. package/dist/assets/{kanban-definition-6OIFK2YF-DFt9DftA.js → kanban-definition-6OIFK2YF-BXzYO1yj.js} +1 -1
  78. package/dist/assets/{layout-D8WXi2_g.js → layout-jihVw5-i.js} +1 -1
  79. package/dist/assets/{linear-BwY8e5hA.js → linear-C4blANlC.js} +1 -1
  80. package/dist/assets/links-D59GIweI.js +7 -0
  81. package/dist/assets/{logs-panel-Dxiyt7dO.js → logs-panel-D401qzZh.js} +1 -1
  82. package/dist/assets/{markdown-renderer-VDu-NBKB.js → markdown-renderer-Cd9eYyaL.js} +20 -20
  83. package/dist/assets/{mermaid-B-O-Puyi.js → mermaid-BEVuRz_O.js} +1 -1
  84. package/dist/assets/{mermaid.core-BFFCqfOn.js → mermaid.core-CaSnaLH0.js} +4 -4
  85. package/dist/assets/min-DUMu_zeK.js +1 -0
  86. package/dist/assets/{mindmap-definition-Q6HEUPPD-kyvIY8Dg.js → mindmap-definition-Q6HEUPPD-BXUM5MT2.js} +1 -1
  87. package/dist/assets/{number-overlay-editor-GjLB2UK4.js → number-overlay-editor-4uWXGlPG.js} +1 -1
  88. package/dist/assets/outline-panel-DIzkvm2I.js +1 -0
  89. package/dist/assets/{packages-panel-nfXB-bKW.js → packages-panel-CJL0MVlj.js} +1 -1
  90. package/dist/assets/{pieDiagram-ADFJNKIX-D8JFQcWR.js → pieDiagram-ADFJNKIX-Dxt5PVNo.js} +1 -1
  91. package/dist/assets/{quadrantDiagram-LMRXKWRM-Nf8GzxXG.js → quadrantDiagram-LMRXKWRM-D4pUaA31.js} +1 -1
  92. package/dist/assets/{react-plotly-CnW9p7ZA.js → react-plotly-cJZ0VWBq.js} +1 -1
  93. package/dist/assets/{requirementDiagram-4UW4RH46-CCUxF8BZ.js → requirementDiagram-4UW4RH46-DVRTjgas.js} +1 -1
  94. package/dist/assets/{run-page-Bl4p3AbZ.js → run-page-BUEnMC9w.js} +1 -1
  95. package/dist/assets/{sankeyDiagram-GR3RE2ED-Sr8kDwP1.js → sankeyDiagram-GR3RE2ED-CVFnD9C-.js} +1 -1
  96. package/dist/assets/{scratchpad-panel-Ja1Mu-W3.js → scratchpad-panel-BIgRENkI.js} +1 -1
  97. package/dist/assets/{secrets-panel-B-3fcSyP.js → secrets-panel-xY5-V_BD.js} +1 -1
  98. package/dist/assets/{sequenceDiagram-C3RYC4MD-CBJ152Q3.js → sequenceDiagram-C3RYC4MD-_lY4ZN_S.js} +1 -1
  99. package/dist/assets/{slides-component-C-LoGC1U.css → slides-component-DMjQomc3.css} +1 -1
  100. package/dist/assets/{slides-component-DGtsVP5o.js → slides-component-Xjymwj7X.js} +1 -1
  101. package/dist/assets/snippets-panel-CTPYW41n.js +1 -0
  102. package/dist/assets/sortBy-BNZKwiq_.js +1 -0
  103. package/dist/assets/{state-B_RCHTH5.js → state-C4NiC9tO.js} +1 -1
  104. package/dist/assets/{stateDiagram-KXAO66HF-BlBFSAZr.js → stateDiagram-KXAO66HF-Da0JQWCn.js} +1 -1
  105. package/dist/assets/stateDiagram-v2-UMBNRL4Z-D5lYZOOt.js +1 -0
  106. package/dist/assets/storage-CMdLzB_c.js +26 -0
  107. package/dist/assets/{terminal-CATzv5Hd.js → terminal-BPwTkXae.js} +1 -1
  108. package/dist/assets/{time-CsYqILfB.js → time-Dv5_Ouz_.js} +1 -1
  109. package/dist/assets/{timeline-definition-XQNQX7LJ-CGrhjuAs.js → timeline-definition-XQNQX7LJ-Dxh5Zu2e.js} +1 -1
  110. package/dist/assets/tracing-BCIurUfa.js +2 -0
  111. package/dist/assets/{tracing-panel-DmzqPUtc.js → tracing-panel-DAzrzNmm.js} +2 -2
  112. package/dist/assets/{trash-rxdjLzkf.js → trash-Dc6DSjz_.js} +1 -1
  113. package/dist/assets/{tree-C2Ul1h1C.js → tree-jheoerAX.js} +1 -1
  114. package/dist/assets/{treemap-75Q7IDZK-N9hyUpyj.js → treemap-75Q7IDZK-IgpxeGaf.js} +27 -27
  115. package/dist/assets/variable-panel-DYAiLBmF.js +1 -0
  116. package/dist/assets/{vega-component-CR_MHOBT.js → vega-component-BpfpiPKI.js} +1 -1
  117. package/dist/assets/worker-X5rxzQGQ.js +1 -0
  118. package/dist/assets/{xychartDiagram-6GGTOJPD-jdLZsMb2.js → xychartDiagram-6GGTOJPD-CmNigJ31.js} +1 -1
  119. package/dist/index.html +2 -2
  120. package/package.json +2 -3
  121. package/src/components/app-config/user-config-form.tsx +1 -46
  122. package/src/components/chat/acp/__tests__/__snapshots__/prompt.test.ts.snap +43 -62
  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 +27 -24
  126. package/src/components/chat/acp/blocks.tsx +6 -6
  127. package/src/components/chat/acp/prompt.ts +43 -62
  128. package/src/components/chat/chat-panel.tsx +1 -5
  129. package/src/components/chat/markdown-renderer.tsx +10 -6
  130. package/src/components/chat/tool-call-accordion.tsx +20 -52
  131. package/src/components/data-table/SearchBar.tsx +7 -8
  132. package/src/components/data-table/__tests__/column_formatting.test.ts +35 -50
  133. package/src/components/data-table/__tests__/data-table.test.tsx +1 -39
  134. package/src/components/data-table/charts/components/form-fields.tsx +37 -41
  135. package/src/components/data-table/charts/forms/common-chart.tsx +2 -2
  136. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +2 -5
  137. package/src/components/data-table/column-formatting/feature.ts +29 -62
  138. package/src/components/data-table/column-formatting/types.ts +0 -1
  139. package/src/components/data-table/column-header.tsx +1 -3
  140. package/src/components/data-table/column-summary/chart-spec-model.tsx +7 -24
  141. package/src/components/data-table/column-summary/column-summary.tsx +9 -18
  142. package/src/components/data-table/columns.tsx +18 -42
  143. package/src/components/data-table/data-table.tsx +2 -10
  144. package/src/components/data-table/date-popover.tsx +75 -85
  145. package/src/components/data-table/filter-pills.tsx +9 -14
  146. package/src/components/data-table/header-items.tsx +1 -5
  147. package/src/components/data-table/pagination.tsx +13 -20
  148. package/src/components/data-table/renderers.tsx +0 -28
  149. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +8 -10
  150. package/src/components/datasources/column-preview.tsx +2 -6
  151. package/src/components/datasources/datasources.tsx +12 -8
  152. package/src/components/editor/ai/transport/chat-transport.tsx +1 -4
  153. package/src/components/editor/cell/CellStatus.tsx +20 -23
  154. package/src/components/editor/cell/CreateCellButton.tsx +4 -3
  155. package/src/components/editor/cell/code/language-toggle.tsx +4 -3
  156. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +28 -39
  157. package/src/components/editor/controls/notebook-menu-dropdown.tsx +2 -4
  158. package/src/components/editor/file-tree/requesting-tree.tsx +8 -14
  159. package/src/components/editor/renderers/CellArray.tsx +4 -3
  160. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +3 -3
  161. package/src/components/editor/renderers/slides-layout/types.ts +0 -1
  162. package/src/components/pages/home-page.tsx +1 -4
  163. package/src/components/slides/slides-component.tsx +1 -1
  164. package/src/components/slides/slides.css +0 -6
  165. package/src/components/terminal/theme.tsx +0 -1
  166. package/src/components/tracing/tracing-spec.ts +4 -5
  167. package/src/components/ui/range-slider.tsx +2 -4
  168. package/src/components/ui/slider.tsx +1 -3
  169. package/src/components/variables/variables-table.tsx +0 -3
  170. package/src/core/MarimoApp.tsx +6 -9
  171. package/src/core/ai/context/__tests__/registry.test.ts +4 -6
  172. package/src/core/ai/context/providers/cell-output.ts +2 -3
  173. package/src/core/ai/context/providers/error.ts +1 -3
  174. package/src/core/ai/context/providers/file.ts +2 -7
  175. package/src/core/ai/context/providers/tables.ts +2 -3
  176. package/src/core/ai/context/providers/variable.ts +4 -6
  177. package/src/core/cells/logs.ts +1 -1
  178. package/src/core/codemirror/find-replace/search-highlight.ts +1 -3
  179. package/src/core/codemirror/language/LanguageAdapters.ts +3 -9
  180. package/src/core/codemirror/lsp/notebook-lsp.ts +2 -8
  181. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  182. package/src/core/codemirror/rtc/loro/awareness.ts +17 -52
  183. package/src/core/codemirror/rtc/loro/sync.ts +4 -12
  184. package/src/core/config/config-schema.ts +0 -1
  185. package/src/core/config/config.ts +0 -4
  186. package/src/core/hotkeys/hotkeys.ts +4 -8
  187. package/src/core/islands/components/web-components.tsx +10 -13
  188. package/src/core/kernel/RuntimeState.ts +1 -4
  189. package/src/core/kernel/messages.ts +2 -2
  190. package/src/core/network/DeferredRequestRegistry.ts +4 -16
  191. package/src/core/runtime/runtime.ts +4 -5
  192. package/src/core/wasm/bridge.ts +1 -5
  193. package/src/core/wasm/store.ts +1 -4
  194. package/src/core/wasm/worker/message-buffer.ts +2 -3
  195. package/src/core/websocket/types.ts +16 -22
  196. package/src/hooks/useTimer.ts +5 -8
  197. package/src/plugins/core/registerReactComponent.tsx +10 -16
  198. package/src/plugins/impl/DataTablePlugin.tsx +0 -4
  199. package/src/plugins/impl/RangeSliderPlugin.tsx +3 -5
  200. package/src/plugins/impl/SliderPlugin.tsx +1 -3
  201. package/src/plugins/impl/anywidget/model.ts +5 -16
  202. package/src/plugins/impl/data-editor/types.ts +5 -7
  203. package/src/plugins/impl/data-explorer/components/column-summary.tsx +13 -20
  204. package/src/plugins/impl/panel/utils.ts +4 -6
  205. package/src/plugins/layout/StatPlugin.tsx +1 -4
  206. package/src/plugins/plugins.ts +0 -2
  207. package/src/utils/__tests__/dates.test.ts +24 -45
  208. package/src/utils/__tests__/numbers.test.ts +30 -42
  209. package/src/utils/dates.ts +10 -15
  210. package/src/utils/edit-distance.ts +6 -8
  211. package/src/utils/errors.ts +1 -1
  212. package/src/utils/id-tree.tsx +10 -21
  213. package/src/utils/localStorage.ts +4 -13
  214. package/src/utils/numbers.ts +11 -11
  215. package/src/utils/once.ts +0 -32
  216. package/src/utils/paths.ts +1 -4
  217. package/src/utils/pluralize.ts +5 -12
  218. package/src/utils/python-poet/poet.ts +15 -30
  219. package/src/utils/time.ts +1 -5
  220. package/dist/assets/ConnectedDataExplorerComponent-CNLoZkWr.js +0 -19
  221. package/dist/assets/_baseEach-9_logFrf.js +0 -1
  222. package/dist/assets/_baseMap-NzEbKt5c.js +0 -1
  223. package/dist/assets/_baseUniq-C5LFcyNC.js +0 -1
  224. package/dist/assets/channel-DHcKBVM4.js +0 -1
  225. package/dist/assets/chat-panel-DgJZr0eS.js +0 -3
  226. package/dist/assets/classDiagram-KNZD7YFC-D-xwLnlX.js +0 -1
  227. package/dist/assets/classDiagram-v2-RKCZMP56-D-xwLnlX.js +0 -1
  228. package/dist/assets/clone-CSxIll62.js +0 -1
  229. package/dist/assets/datasources-panel-Bt41Zir-.js +0 -1
  230. package/dist/assets/edit-page-CyTMQV2u.js +0 -129
  231. package/dist/assets/file-explorer-panel-Oy9DbyFP.js +0 -1
  232. package/dist/assets/home-page-Bvwppn9N.js +0 -9
  233. package/dist/assets/index-DadI618h.css +0 -1
  234. package/dist/assets/index-PmY0x4Zd.js +0 -578
  235. package/dist/assets/infoDiagram-STP46IZ2-CAuVVehw.js +0 -2
  236. package/dist/assets/links-4B6ldZ5P.js +0 -7
  237. package/dist/assets/min-DtVSfYKl.js +0 -1
  238. package/dist/assets/outline-panel-CMJjOoN7.js +0 -1
  239. package/dist/assets/snippets-panel-ClNnwKBM.js +0 -1
  240. package/dist/assets/sortBy-D47H6Vyl.js +0 -1
  241. package/dist/assets/stateDiagram-v2-UMBNRL4Z-DbA-iToo.js +0 -1
  242. package/dist/assets/storage-BNcWOH3-.js +0 -26
  243. package/dist/assets/tracing-DUbJtOyq.js +0 -2
  244. package/dist/assets/variable-panel-BbgupOdG.js +0 -1
  245. package/dist/assets/worker-fHbtoWvT.js +0 -1
  246. package/src/components/data-table/cell-hover-template/feature.ts +0 -14
  247. package/src/components/data-table/cell-hover-template/types.ts +0 -11
  248. package/src/core/i18n/__tests__/locale-provider.test.tsx +0 -176
  249. package/src/core/i18n/locale-provider.tsx +0 -35
  250. package/src/core/i18n/with-locale.tsx +0 -12
  251. package/src/hooks/useFormatting.ts +0 -97
  252. package/src/plugins/layout/OutlinePlugin.tsx +0 -69
  253. package/src/utils/__tests__/once.test.ts +0 -187
@@ -1,19 +0,0 @@
1
- import{c as Gn,ai as zn,gt as po,j as x,gu as ho,gv as go,gw as mo,gx as yo,a as ve,r as Yn,dp as ke,gy as vo,gz as bo,T as xo,a_ as Qn,dt as pt,gA as Vn,dh as ht,di as Ke,dw as gt,L as Eo,f2 as To,M as So,av as wo,K as Kt,du as Kn,ef as No,gB as Jn,gC as Co,c3 as Ao,gD as Oo,gE as ko,gF as Mo,b as Io,u as Uo,dN as Fo,E as Do,aB as _o,gG as jo,ct as Po,_ as Ro,d as $o}from"./index-PmY0x4Zd.js";import{U as Bo,e as Lo,V as Wo}from"./compile-BgZlHW1c.js";import{a as Xn}from"./VegaLite-MJUW3b7C.js";import"./time-CsYqILfB.js";import"./timer-Bqd5yn_a.js";import"./linear-BwY8e5hA.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-0XOUPdwT.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 Ho=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"}]]),qo=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,Go={exports:{}};Zn||(Zn=1,(function(e){var t=(function(){function n(s,d){return d!=null&&s instanceof d}var o,i,c;try{o=Map}catch{o=function(){}}try{i=Set}catch{i=function(){}}try{c=Promise}catch{c=function(){}}function u(s,d,l,f,p){typeof d=="object"&&(l=d.depth,f=d.prototype,p=d.includeNonEnumerable,d=d.circular);var h=[],m=[],v=typeof Buffer<"u";return d===void 0&&(d=!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(te,V){y.then(function(le){te(b(le,E-1))},function(le){V(b(le,E-1))})});else if(u.__isArray(y))T=[];else if(u.__isRegExp(y))T=new RegExp(y.source,r(y)),y.lastIndex&&(T.lastIndex=y.lastIndex);else if(u.__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(d){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(te,V){var le=b(V,E-1),lt=b(te,E-1);T.set(le,lt)}),n(y,i)&&y.forEach(function(te){var V=b(te,E-1);T.add(V)}),y){var O;S&&(O=Object.getOwnPropertyDescriptor(S,C)),O&&O.set==null||(T[C]=b(y[C],E-1))}if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(y);for(C=0;C<I.length;C++){var k=I[C];(!(j=Object.getOwnPropertyDescriptor(y,k))||j.enumerable||p)&&(T[k]=b(y[k],E-1),j.enumerable||Object.defineProperty(T,k,{enumerable:!1}))}}if(p){var q=Object.getOwnPropertyNames(y);for(C=0;C<q.length;C++){var j,ye=q[C];(j=Object.getOwnPropertyDescriptor(y,ye))&&j.enumerable||(T[ye]=b(y[ye],E-1),Object.defineProperty(T,ye,{enumerable:!1}))}}return T})(s,l)}function a(s){return Object.prototype.toString.call(s)}function r(s){var d="";return s.global&&(d+="g"),s.ignoreCase&&(d+="i"),s.multiline&&(d+="m"),d}return u.clonePrototype=function(s){if(s===null)return null;var d=function(){};return d.prototype=s,new d},u.__objToStr=a,u.__isDate=function(s){return typeof s=="object"&&a(s)==="[object Date]"},u.__isArray=function(s){return typeof s=="object"&&a(s)==="[object Array]"},u.__isRegExp=function(s){return typeof s=="object"&&a(s)==="[object RegExp]"},u.__getRegExpFlags=r,u})();e.exports&&(e.exports=t)})(Go));var zo=(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(u){return function(a,r){var s={key:a,value:u[a]},d={key:r,value:u[r]};return n(s,d)}}),c=[];return(function u(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+=u(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 d=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=u(a[f]);p&&(s&&(s+=","),s+=JSON.stringify(f)+":"+p)}return c.splice(d,1),"{"+s+"}"}})(e)}),er);const nr=zn(zo);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,u=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,u=-1;else{if(c)continue;t===u&&o==='"'||t===u&&o==="'"?(t=n+1,c=o):o!=="."||u?o==="["?(n>t&&s(),u=t=n+1):o==="]"&&(u||Jt("Access path missing open bracket: "+e),u>0&&s(),u=0,t=n+1):n>t?s():t=n+1}return u&&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 J=nr;function Y(e,t){return e.indexOf(t)>-1}const pe=Object.keys,ie="row",ne="column",ir="facet",U="x",F="y",nn="x2",rn="y2",or="latitude",ar="longitude",sr="latitude2",cr="longitude2",he="color",vt="fill",bt="stroke",Xe="shape",Se="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}),Yo=pe(Ze),{order:Ec,detail:Tc}=Ze;$e(Ze,["order","detail"]);const{order:Sc,detail:wc,row:Nc,column:Cc,facet:Ac}=Ze;$e(Ze,["order","detail","row","column","facet"]);const{x:Oc,y:kc,x2:Mc,y2:Ic,latitude:Uc,longitude:Fc,latitude2:Dc,longitude2:_c}=sn,cn=$e(sn,["x","y","x2","y2","latitude","longitude","latitude2","longitude2"]),pr=pe(cn),{text:jc,tooltip:Pc,href:Rc,detail:$c,key:Bc,order:Lc}=cn,Qo=$e(cn,["text","tooltip","href","detail","key","order"]),Vo=Object.assign({},{x:1,y:1},Qo);function Ko(e,t){return(function(n){switch(n){case he: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 ie:case ne:return ln;case U:case F:case or:case ar:return Jo;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 Se: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:Wc}=ln,Jo=$e(ln,["geoshape"]);function un(e){switch(e){case U:case F:case Se:case St:case xt:case Et:case Tt:case nn:case rn:return;case ir:case ie:case ne:case Xe:case on:case dr:case fr:return"discrete";case he: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},Xo=Object.assign({},hr,{encoding:1});Object.assign({gridScale:1,scale:1},hr,{encode:1});const gr=pe(Xo),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=pe(mr),Zo=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 ${J(e)} as unioned domains only support boolean or op 'count'.`},droppedDay:function(e){return`Dropping day from datetime ${J(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 ${J(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}: ${J(t)}`},invalidTransformIgnored:function(e){return`Ignoring an invalid transform: ${J(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()}" (${J(n)} and ${J(o)}). Using the union of the two domains.`},mergeConflictingProperty:function(e,t,n,o){return`Conflicting ${t.toString()} property "${e.toString()}" (${J(n)} and ${J(o)}). Using ${J(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: ${J(n)}}.`},projectionOverridden:function(e){const{parentProjection:t,projection:n}=e;return`Layer's shared projection ${J(t)} is overridden by a child projection ${J(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 (${J(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 (${J(e)}).`},unrecognizedParse:function(e){return`Unrecognized parse "${e}".`}},Symbol.toStringTag,{value:"Module"})),oe=Zo;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 we(...e){vr.warn.apply(vr,arguments)}const ea={quantitative:1,ordinal:1,temporal:1,nominal:1,geojson:1},P="quantitative",de="ordinal",Q="temporal",ae="nominal";var D;(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"})(D||(D={}));const ta=pe({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"],na=Le(br),ra=Le(["quantile","quantize","threshold"]),ia=Le(br.concat(["quantile","quantize","threshold"])),oa=Le(["ordinal","bin-ordinal","point","band"]);function Ie(e){return e in oa}function We(e){return e in na}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=pe(dn),{type:Hc,domain:qc,range:Gc,rangeStep:zc,scheme:Yc}=dn;function fn(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!Y(["point","band","identity"],e);case"bins":return!Y(["point","band","identity","ordinal"],e);case"round":return We(e)||e==="band"||e==="point";case"padding":return We(e)||Y(["point","band"],e);case"paddingOuter":case"rangeStep":case"align":return Y(["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 ia})(e)&&!Y(["log","time","utc","threshold","quantile"],e)}}function aa(e,t){switch(t){case"interpolate":case"scheme":return wt(e)?void 0:oe.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 Y([de,ae],t)?e===void 0||Ie(e):t===Q?Y([D.TIME,D.UTC,void 0],e):t!==P||Y([D.LOG,D.POW,D.SQRT,D.SYMLOG,D.QUANTILE,D.QUANTIZE,D.THRESHOLD,D.LINEAR,void 0],e)}function Tr(e,t){switch(e){case U:case F:return We(t)||Y(["band","point"],t);case Se:case St:case xt:case Et:case Tt:return We(t)||(function(n){return n in ra})(t)||Y(["band","point"],t);case he:case vt:case bt:return t!=="band";case Xe:return t==="ordinal"}return!1}function sa(e,t){return e+"_"+t}$e(dn,["type","domain","range","rangeStep","scheme"]),(function(){const e={};for(const t of Yo)for(const n of pe(ea))for(const o of ta){const i=sa(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,d=1,l=arguments.length;d<l;++d)for(s in r=arguments[d])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,d){return s[r(d)]=1,s},{}):a.reduce(function(s,d){return s[d]=1,s},{})},e.keystr=function(a){var r=a.length;if(!r)return"";for(var s=String(a[0]),d=1;d<r;++d)s+="|"+String(a[d]);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,d="";for(s=0;s<a;++s)d+=r;return d}function c(a,r,s){var d=0,l=a.split(u);return(a=s?(l=l.reverse()).filter(function(f){return(d+=f.length)<=r}).reverse():l.filter(function(f){return(d+=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,d){for(var l=0;l<r.length-1;++l)s=s[r[l]];s[r[l]]=d}:function(s,d){s[a]=d}},e.$func=function(a,r){return function(s){s=e.$(s)||e.identity;var d=a+(e.name(s)?"_"+e.name(s):"");return e.namedfunc(d,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(d){return!!s[a(d)]}},e.comparator=function(a){var r=[];return a===void 0&&(a=[]),a=e.array(a).map(function(s){var d=1;return s[0]==="-"?(d=-1,s=s.slice(1)):s[0]==="+"&&(d=1,s=s.slice(1)),r.push(d),e.accessor(s)}),function(s,d){var l,f,p,h;for(l=0,f=a.length;l<f;++l)if(p=a[l],h=e.cmp(p(s),p(d)))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 d=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:d[s(l)]-d[s(f)]}),a},e.permute=function(a){for(var r,s,d=a.length;d;)s=Math.floor(Math.random()*d--),r=a[d],a[d]=a[s],a[s]=r},e.pad=function(a,r,s,d){d=d||" ";var l=r-a.length;if(l<=0)return a;switch(s){case"left":return i(l,d)+a;case"middle":case"center":return i(Math.floor(l/2),d)+a+i(Math.ceil(l/2),d);default:return a+i(l,d)}},e.truncate=function(a,r,s,d,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+(d?c(a,p,1):a.slice(f-p));case"middle":case"center":var h=Math.ceil(p/2),m=Math.floor(p/2);return(d?c(a,h):a.slice(0,h))+l+(d?c(a,m,1):a.slice(f-m));default:return(d?c(a,p):a.slice(0,p))+l}};var u=/([\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 M=et();function re(e,t){return e.indexOf(t)!==-1}function ge(e,t){for(let n=0;n<e.length;n++)if(!t(e[n],n))return!1;return!0}function K(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 be(e,t){let n,o=0;for(n in e)if(t(e[n],n,o++))return!0;return!1}function me(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 ca={bin:1,scale:1,sort:1,axis:1,legend:1};function hn(e){return ca[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 me(e)?e.parent+"."+e.child:e}const la=Ct.reduce((e,t)=>(e[t.parent]=e[t.parent]||[],e[t.parent][t.child]=t,e),{});function xe(e,t){return(la[e]||{})[t]}function Ir(e){return(function(t){return t in Nr})(e)||me(e)}const ua=[].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",Ee="bar",tt="line",nt="point",mn="rect",yn="rule",Ot="text",rt="tick",kt="circle",Mt="square";function da(e){return Y(["line","area","trail"],e)}Le(pe({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=pe(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},fa=Object.assign({},bn,Dr),pa=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),ha={year:"setFullYear",month:"setMonth",date:"setDate",hours:"setHours",minutes:"setMinutes",seconds:"setSeconds",milliseconds:"setMilliseconds",quarter:null,day:null};function ga(e,t){const n=!!fa[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:u}=_r("month",n);o[u](3*Math.floor(t[c]()/3));break}default:{const{getDateMethod:c,setDateMethod:u}=_r(i,n);o[u](t[c]())}}return o}function _r(e,t){const n=ha[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 _="?";function w(e){return It(e)||(function(t){return!(t===void 0||t==null||!t.enum&&!t.name||M.isArray(t))})(e)}function It(e){return e===_}function xn(e,t,n){return M.extend({},{name:t,enum:n},e===_?{}:e)}function En(e){let t={},n={};for(const o of e){const i=[0];for(let u=0;u<o.length;u++)o.charAt(u).toUpperCase()===o.charAt(u)&&i.push(u);let c=i.map(u=>o.charAt(u)).join("").toLowerCase();if(n[c])if(i[i.length-1]===o.length-1||(c=i.concat([o.length-1]).map(u=>o.charAt(u)).join("").toLowerCase(),n[c]))for(let u=1;!t[o];u++){let a=c+"_"+u;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(me(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 Z=[!1,!0],ma={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]},ya={field:[void 0],op:["min","mean"],order:["ascending","descending"]},va={type:[void 0,D.LOG],domain:[void 0],base:[void 0],exponent:[1,2],constant:[void 0],bins:[void 0],clamp:Z,nice:Z,reverse:Z,round:Z,zero:Z,padding:[void 0],paddingInner:[void 0],paddingOuter:[void 0],interpolate:[void 0],range:[void 0],rangeStep:[17,21],scheme:[void 0]},ba={zindex:[1,0],offset:[void 0],orient:[void 0],values:[void 0],bandPosition:[void 0],encoding:[void 0],domain:Z,domainColor:[void 0],domainDash:[void 0],domainDashOffset:[void 0],domainOpacity:[void 0],domainWidth:[void 0],formatType:[void 0],grid:Z,gridColor:[void 0],gridDash:[void 0],gridDashOffset:[void 0],gridOpacity:[void 0],gridWidth:[void 0],format:[void 0],labels:Z,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:Z,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]},xa={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]},Ea={mark:[nt,Ee,tt,Ue,mn,rt,Ot],channel:[U,F,ie,ne,Se,he],aggregate:[void 0,"mean"],autoCount:Z,bin:Z,hasFn:Z,timeUnit:[void 0,L.YEAR,L.MONTH,L.MINUTES,L.SECONDS],field:[void 0],type:[ae,de,P,Q],sort:["ascending","descending"],stack:["zero","normalize","center",null],value:[void 0],format:[void 0],title:[void 0],scale:[!0],axis:Z,legend:Z,binProps:ma,sortProps:ya,scaleProps:va,axisProps:ba,legendProps:xa};function Tn(e,t,n){if(e==="field"||me(e)&&e.parent==="sort"&&e.child==="field")return t.fieldNames();let o;if(o=me(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:Ea,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:U,preferredTemporalAxis:U,preferredOrdinalAxis:F,preferredNominalAxis:F,preferredFacet:ie,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},Ta={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 Sa(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"+pe(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 ie:case ne:case Se:case he: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)&&Ne(e.condition)}function Ne(e){return!(!e||!e.field&&e.aggregate!=="count")}function wn(e){return Ne(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:d}=e;Rr(r)?(a=Sa(r),i=(t.binSuffix||"")+(t.suffix||"")):s?(u=s)&&u.argmax?(c=`.${n}`,n=`argmax_${s.argmax}`):(function(l){return!!l&&!!l.argmin})(s)?(c=`.${n}`,n=`argmin_${s.argmin}`):a=String(s):d&&(a=String(d))}a&&(n=n?`${a}_${n}`:a)}var u;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(oe.invalidFieldType(e.type))}Le(["mean","average","median","q1","q3","min","max"]);const He={compatible:!0};function wa(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:oe.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!==P?{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 Y(["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 Na(e,t,n,o){const i=(function(u,a,r){switch(a.type){case"nominal":case"ordinal":return wt(u)||un(u)==="discrete"?(u==="shape"&&a.type==="ordinal"&&we(oe.discreteChannelCannotEncode(u,"ordinal")),"ordinal"):Y(["x","y"],u)&&Y(["rect","bar","rule"],r)?"band":"point";case"temporal":return wt(u)?"time":un(u)==="discrete"?(we(oe.discreteChannelCannotEncode(u,"temporal")),"ordinal"):"time";case"quantitative":return wt(u)?Rr(a.bin)?"bin-ordinal":"linear":un(u)==="discrete"?(we(oe.discreteChannelCannotEncode(u,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(oe.invalidFieldType(a.type))})(t,n,o),{type:c}=e;return(function(u){return!!Vo[u]})(t)?c!==void 0?Tr(t,c)?Er(c,n.type)?c:(we(oe.scaleTypeNotWorkWithFieldDef(c,i)),i):(we(oe.scaleTypeNotWorkWithChannel(t,c,i)),i):i:null}var fe;function Lr(e){return e===de||e===ae||e===fe.KEY}(function(e){e.QUANTITATIVE=P,e.ORDINAL=de,e.TEMPORAL=Q,e.NOMINAL=ae,e.KEY="key"})(fe||(fe={}));class X{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 X;for(const o in this.index)n.index[o]=t(this.index[o]);return n}size(){return M.keys(this.index).length}duplicate(){return new X(this.index)}}function Wr(e,t){const n=e&&e[t];return!!n&&(mt(n)?(function(o,i){let c=0;for(const[u,a]of o.entries())if(i(a,u,c++))return!0;return!1})(n,o=>!!o.field):Ne(n)||$r(n))}const Ca={zero:1,center:1,normalize:1},Aa=[Ee,Ue,yn,nt,kt,Mt,tt,Ot,rt],Oa=[Ee,Ue];function ka(e,t,n,o={}){const i=(function(p){return p.type})(e)?e.type:e;if(!Y(Aa,i))return null;const c=(function(p){const h=p.x,m=p.y;if(Ne(h)&&Ne(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(Ne(h)&&h.type==="quantitative")return"x";if(Ne(m)&&m.type==="quantitative")return"y"}})(t);if(!c)return null;const u=t[c],a=wn(u)?Nn(u,{}):void 0,r=c==="x"?"y":"x",s=t[r],d=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 Ne(E)?E:$r(E)?E.condition:void 0})(v);if(b.aggregate)return;const y=wn(b)?Nn(b,{}):void 0;(!y||y!==d&&y!==a)&&p.push({channel:h,fieldDef:b})})}return p},[]);let f;if(u.stack!==void 0?f=tn(u.stack)?u.stack?"zero":null:u.stack:l.length>0&&(f=Y(Oa,i)?(function(...p){for(const h of p)if(h!==void 0)return h})(n,"zero"):n),!f||!Ca[f])return null;if(u.scale&&u.scale.type&&u.scale.type!==D.LINEAR){if(o.disallowNonLinearStack)return null;we(oe.cannotStackNonLinearScale(u.scale.type))}return Wr(t,c===U?nn:rn)?(u.stack!==void 0&&we(oe.cannotStackRangedMark(c)),null):(u.aggregate&&!Y(Pr,u.aggregate)&&we(oe.stackNonSummativeAggregate(u.aggregate)),{groupbyChannel:s?r:void 0,fieldChannel:c,impute:da(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,xe("scale","type"),g.TYPE],i=M.toMap((u=ua,a=o,u.filter(function(r){return!re(a,r)}))),c=n.encodings.filter(r=>!ce(r));var u,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 ka(e.mark,t,void 0,{disallowNonLinearStack:!0})}function qr(e,t={}){if(!M.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 Ma(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?_+JSON.stringify(e.enum):_:t?t(e):e}function Ft(e,t){return t?t(e):e}const Cn=new X,An=[].concat(Ur,gn,[g.TRANSFORM,g.STACK],Mr).reduce((e,t)=>e.set(t,!0),new X),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((u,a)=>{if(!ce(a)){let r;r=i&&a.channel===i.fieldChannel?Gr(Object.assign({},a,{stack:i.offset}),t,n):Gr(a,t,n),r&&u.push(r)}return u},[]).sort().join("|");c&&o.push(c)}for(let c of Mr){const u=c.toString();if(t.get(c)&&e[u]){const a=e[u];o.push(`${u}=${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))),A(e)){const i=zr(e,t,n);i&&o.push(i)}else se(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)&&ce(e))return"-";const o=(function(u,a,r){if(a.get(g.AGGREGATE)&&u.aggregate&&!w(u.aggregate))return Ft(u.aggregate,r.get(g.AGGREGATE));if(a.get(g.AGGREGATE)&&Dt(u))return Ft("count",r.get(g.AGGREGATE));if(a.get(g.TIMEUNIT)&&u.timeUnit&&!w(u.timeUnit))return Ft(u.timeUnit,r.get(g.TIMEUNIT));if(a.get(g.BIN)&&u.bin&&!w(u.bin))return"bin";{let s=null;for(const d of[g.AGGREGATE,g.AUTOCOUNT,g.TIMEUNIT,g.BIN]){const l=u[d];a.get(d)&&u[d]&&w(l)&&(s=s||{},s[d]=It(l)?l:l.enum)}return s&&u.hasFn&&(s.hasFn=!0),s}})(e,t,n),i=(function(u,a,r){const s=[];if(!M.isBoolean(u.bin)&&!It(u.bin)){const d=u.bin;for(const l in d){const f=xe("bin",l);f&&a.get(f)&&d[l]!==void 0&&s.push({key:l,value:Fe(d[l],r.get(f))})}s.sort((l,f)=>l.key.localeCompare(f.key))}for(const d of[g.SCALE,g.SORT,g.STACK,g.AXIS,g.LEGEND])if((w(u.channel)||On[d][u.channel])&&a.get(d)&&u[d]!==void 0){const l=u[d];if(M.isBoolean(l)||l===null)s.push({key:d+"",value:l||!1});else if(M.isString(l))s.push({key:d+"",value:Ft(JSON.stringify(l),r.get(d))});else{let f=[];for(const p in l){const h=xe(d,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:d+"",value:JSON.stringify(p)})}}}return s})(e,t,n);let c;return A(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||P)+"").substr(0,1),n.get(g.TYPE))),c+=i.map(u=>{let a=u.value instanceof Array?"["+u.value+"]":u.value;return","+u.key+"="+a}).join("")):W(e)&&(c="*,q"),c?o?(M.isString(o)?o:_+(M.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 u=e.indexOf(t,i);if(u===-1)break;o.push(e.substring(i,u)),i=u+1}if(o.push(e.substr(i)),o.length!==n+1)for(;o.length!==n+1;)o.push("");return o}var Yr;function se(e){return e!=null&&e.value!==void 0}function A(e){return e!=null&&(e.field||e.aggregate==="count")}function W(e){return e!=null&&"autoCount"in e}function ce(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 P:return"quantitative";case"t":case Q:return"temporal";case"o":case de:return"ordinal";case"n":case ae:return"nominal";case"geojson":return"geojson"}})(i[1].toUpperCase())||"?";let u=i[2],a=0,r=0;for(;r<u.length;){let s,d=u.indexOf("=",r);if(d===-1)break;{let l=u.substring(r,d);if(u[r+l.length+1]==="{"){let f=r+l.length+1;a=n(f,u,"}");const p=u.substring(f,a+1);s=JSON.parse(p),r=a+2}else if(u[r+l.length+1]==="["){let f=r+l.length+1,p=n(f,u,"]");const h=u.substring(f,p+1);s=JSON.parse(h),r=p+2}else{let f=r,p=u.indexOf(",",r+l.length);p===-1&&(p=u.length),r=p+1,s=JSON.parse(u.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,u){for(let a=i;a<c.length;a++)if(c[a]===u)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)M.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(u=a)&&Ta[u])return Object.assign({aggregate:a},t(r));if(pa[a])return Object.assign({timeUnit:a},t(r));if(a==="bin")return Object.assign({bin:{}},t(r))}var u}e.encoding=function(i,c){let u=c.indexOf("(")!==-1?o(c):t(kn(c,",",2));return Object.assign({channel:i},u)},e.rawFieldDef=t,e.getClosingIndex=n,e.fn=o})(Yr||(Yr={}));const Ia=[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(ce(i))continue;const{channel:c}=i;if(w(c))throw new Error("Cannot convert wildcard channel to a fixed channel");const u=se(i)?Ua(i):Mn(i,t);if(u!==null)o[c]=u;else if(t.wildcardMode==="null")return null}return o}function Ua(e){const{value:t}=e;return w(t)?null:{value:t}}function Mn(e,t={}){const{props:n=Ia,schema:o,wildcardMode:i="skip"}=t;if(A(e)){const c={};for(const u of n){let a=e[u];if(w(a)){if(i==="skip")continue;return null}if(a!==void 0){if(!(!On[u]||On[u][e.channel]))continue;if(hn(u)&&M.isObject(a)){a=Object.assign({},a);for(const r in a)if(w(a[r])){if(i==="null")return null;delete a[r]}}if(u==="bin"&&a===!1)continue;u==="type"&&a==="key"?c.type="nominal":c[u]=a}if(u===g.SCALE&&o&&e.type===de){const r=e.scale,{ordinalDomain:s}=o.fieldSchema(e.field);r!==null&&s&&(c[g.SCALE]=Object.assign({domain:s},M.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 A(e)?!Ce(e)&&e.type!=="temporal":W(e)}function Ce(e){if(A(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===_?{}: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 u={type:n===fe.KEY?"nominal":n,bin:c};return Na({type:t.type},o,u,void 0)}var _t={exports:{}},In=new Date,Un=new Date;function G(e,t,n,o){function i(c){return e(c=new Date(+c)),c}return i.floor=i,i.round=function(c){var u=new Date(+c),a=new Date(c-1);return e(u),e(a),t(a,1),c-u<a-c?u:a},i.ceil=function(c){return e(c=new Date(c-1)),t(c,1),c},i.offset=function(c,u){return t(c=new Date(+c),u==null?1:Math.floor(u)),c},i.range=function(c,u,a){var r=[];if(c=new Date(c-1),u=new Date(+u),a=a==null?1:Math.floor(a),!(c<u&&a>0))return r;for(t(c,1),e(c),c<u&&r.push(new Date(+c));t(c,a),e(c),c<u;)r.push(new Date(+c));return r},i.filter=function(c){return G(function(u){for(;e(u),!c(u);)u.setTime(u-1)},function(u,a){for(;--a>=0;)for(;t(u,1),!c(u););})},n&&(i.count=function(c,u){return In.setTime(+c),Un.setTime(+u),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(u){return o(u)%c===0}:function(u){return i.count(0,u)%c===0}):i:null}),i}var st=G(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?G(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=G(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=G(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=G(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=G(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 G(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=G(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=G(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=G(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=G(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=G(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=G(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 G(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=G(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=G(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,Fa=Vr.range,Da=Kr.range,_a=Jr.range,ja=Xr.range,Pa=jt.range,Ra=Zr.range,$a=ei.range,Ba=ti.range,La=ni.range,Wa=ri.range,Ha=ii.range,qa=jt.range,Ga=oi.range,za=ai.range,Ya=st,Qa=bi,Va=si.range,Ka=ci.range,Ja=li.range,Xa=ui.range,Za=Pt.range,es=di.range,ts=fi.range,ns=pi.range,rs=hi.range,is=gi.range,os=mi.range,as=Pt.range,ss=yi.range,cs=vi.range;const ls=po(Object.freeze(Object.defineProperty({__proto__:null,day:Xr,days:ja,friday:ri,fridays:Wa,hour:Jr,hours:_a,interval:G,millisecond:st,milliseconds:bi,minute:Kr,minutes:Da,monday:Zr,mondays:Ra,month:oi,months:Ga,saturday:ii,saturdays:Ha,second:Vr,seconds:Fa,sunday:jt,sundays:Pa,thursday:ni,thursdays:La,tuesday:ei,tuesdays:$a,utcDay:ui,utcDays:Xa,utcFriday:gi,utcFridays:is,utcHour:li,utcHours:Ja,utcMillisecond:Ya,utcMilliseconds:Qa,utcMinute:ci,utcMinutes:Ka,utcMonday:di,utcMondays:es,utcMonth:yi,utcMonths:ss,utcSaturday:mi,utcSaturdays:os,utcSecond:si,utcSeconds:Va,utcSunday:Pt,utcSundays:Za,utcThursday:hi,utcThursdays:rs,utcTuesday:fi,utcTuesdays:ts,utcWednesday:pi,utcWednesdays:ns,utcWeek:Pt,utcWeeks:as,utcYear:vi,utcYears:cs,wednesday:ti,wednesdays:Ba,week:jt,weeks:qa,year:ai,years:za},Symbol.toStringTag,{value:"Module"})));var xi,Ei,Ti;function us(){if(xi)return _t.exports;xi=1;var e=ls,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 u(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=[u("second",e.second,n),u("minute",e.minute,n),u("hour",e.hour,n),u("day",e.day,n,[1,7]),u("month",e.month,n,[1,3,6]),u("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=[u("second",e.utcSecond,o),u("minute",e.utcMinute,o),u("hour",e.utcHour,o),u("day",e.utcDay,o,[1,7]),u("month",e.utcMonth,o,[1,3,6]),u("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 d(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,O,I=s[0];for(N=1,C=s.length;N<C;++N)if(E>(I=s[N])[0]){if((O=E/I[0])>S)return y[s[N-1][1]];if(O>=T)return y[I[1]]}return y[s[C-1][1]]})(l,m,v,b)},h}return _t.exports=d(a),_t.exports.utc=d(r),_t.exports}var ds=(function(){if(Ti)return Ei;Ti=1;var e=et(),t=us();function n(a){if(!a)throw Error("Missing binning options.");var r,s,d,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,O,I){for(;O<I;){var k=O+I>>>1;e.cmp(N[k],C)<0?O=k+1:I=k}return O})(a.steps,S/m,0,a.steps.length))];else{for(s=Math.ceil(Math.log(m)/b),d=a.minstep||0,r=Math.max(d,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])>=d&&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 u(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,d=a.max,l=a.maxbins||20,f=a.minbins||4,p=+d-+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(d),maxbins:l,minstep:h.minstep,steps:h.step});return m.unit=h,m.index=u,a.raw||(m.value=c),m},Ei=n})();const fs=zn(ds);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 u(r,s){var d,l,f;if(r=e.array(r),s=e.$(s),r[t]&&(d=s(r[t]),e.isString(d)))return d;for(l=0,f=r.length;!e.isValid(d)&&l<f;++l)d=s?s(r[l]):r[l];return e.isDate(d)?"date":e.isNumber(d)?"number":e.isBoolean(d)?"boolean":e.isString(d)?"string":null}function a(r,s){var d,l,f;r=e.array(r),s=e.$(s);var p=["boolean","integer","number","date"];for(d=0;d<r.length;++d){for(f=s?s(r[d]):r[d],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 u.annotation=function(r,s){if(!s)return r&&r[t]||null;r[t]=s},u.all=function(r,s){if(r.length){var d=s?e.identity:(s=i(r[0]),c);return s.reduce(function(l,f){return l[f]=u(r,d(f)),l},{})}},u.infer=a,u.inferAll=function(r,s){var d=s?e.identity:(s=i(r[0]),c);return s.reduce(function(l,f){return l[f]=a(r,d(f)),l},{})},u.parsers=n,Si=u}var Ci,Ai,ps=Ni(),Oi={exports:{}},ki={exports:{}},hs=(Ai||(Ai=1,(function(e){var t=et(),n=Ni(),o=(Ci||(Ci=1,(function(r){var s=et(),d=r.exports;d.repeat=function(l,f){var p,h=Array(f);for(p=0;p<f;++p)h[p]=l;return h},d.zeros=function(l){return d.repeat(0,l)},d.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},d.random={},d.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 d.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},d.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 d.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},d.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 d.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},d.random.bootstrap=function(l,f){var p=l.filter(s.isValid),h=p.length,m=f?d.random.normal(0,f):null,v=function(){return p[~~(Math.random()*h)]+(m?m():0)};return v.samples=function(b){return d.zeros(b).map(v)},v}})(ki)),ki.exports),i=e.exports;function c(r,s,d){var l=r&&r.nullh||0,f=o.random.normal(0,1),p=i.mean(s,d),h=i.stdev(s,d)/Math.sqrt(i.count.valid(s,d));if(h===0)return p-l===0?1:0;var m=(p-l)/h;return 2*f.cdf(-Math.abs(m))}function u(r,s,d,l){var f,p=l?s.map(t.$(d)):s,h=l?s.map(t.$(l)):d,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,d,l){var f=l?s.map(t.$(d)):s,p=l?s.map(t.$(l)):d,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,d){s=t.$(s),d=d||[];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,d.push(l));return d},i.count=function(r){return r&&r.length||0},i.count.valid=function(r,s){s=t.$(s);var d,l,f,p=0;for(l=0,f=r.length;l<f;++l)d=s?s(r[l]):r[l],t.isValid(d)&&(p+=1);return p},i.count.missing=function(r,s){s=t.$(s);var d,l,f=0;for(d=0,l=r.length;d<l;++d)(s?s(r[d]):r[d])==null&&(f+=1);return f},i.count.distinct=function(r,s){s=t.$(s);var d,l,f,p={},h=0;for(l=0,f=r.length;l<f;++l)(d=s?s(r[l]):r[l])in p||(p[d]=1,h+=1);return h},i.count.map=function(r,s){s=t.$(s);var d,l,f,p={};for(l=0,f=r.length;l<f;++l)p[d=s?s(r[l]):r[l]]=d in p?p[d]+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 d=i.quantile;return[d(r,.25),d(r,.5),d(r,.75)]},i.quantile=function(r,s,d){d===void 0&&(d=s,s=t.identity),s=t.$(s);var l=(r.length-1)*d+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 d,l=0,f=0,p=r.length;f<p;++f)d=s?s(r[f]):r[f],t.isValid(d)&&(l+=d);return l},i.mean=function(r,s){s=t.$(s);var d,l,f,p,h=0;for(d=0,f=0,l=r.length;d<l;++d)p=s?s(r[d]):r[d],t.isValid(p)&&(h+=(p-h)/++f);return h},i.mean.geometric=function(r,s){s=t.$(s);var d,l,f,p,h=1;for(p=0,d=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,++d}return h=d>0?Math.pow(h,1/d):0},i.mean.harmonic=function(r,s){s=t.$(s);var d,l,f,p,h=0;for(p=0,d=0,l=r.length;p<l;++p)f=s?s(r[p]):r[p],t.isValid(f)&&(h+=1/f,++d);return d/h},i.variance=function(r,s){if(s=t.$(s),!t.isArray(r)||r.length<2)return 0;var d,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+=(d=p-h)*(p-(h+=d/++f)));return m/=f-1},i.stdev=function(r,s){return Math.sqrt(i.variance(r,s))},i.modeskew=function(r,s){var d=i.mean(r,s),l=i.median(r,s),f=i.stdev(r,s);return f===0?0:(d-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 d,l,f,p,h=r.length;for(p=0;p<h;++p)if(f=s?s(r[p]):r[p],t.isValid(f)){d=l=f;break}for(;p<h;++p)f=s?s(r[p]):r[p],t.isValid(f)&&(f<d&&(d=f),f>l&&(l=f));return[d,l]},i.extent.index=function(r,s){s=t.$(s);var d,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)){d=l=f,h=m=p;break}for(;p<v;++p)f=s?s(r[p]):r[p],t.isValid(f)&&(f<d&&(d=f,h=p),f>l&&(l=f,m=p));return[h,m]},i.dot=function(r,s,d){var l,f,p=0;if(d)for(s=t.$(s),d=t.$(d),l=0;l<r.length;++l)(f=s(r[l])*d(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,d,l){var f,p,h=t.isFunction(d)||t.isString(d),m=r,v=h?r:s,b=h?l:d,y=b===2||b==null,E=r.length,T=0;for(h&&(s=t.$(s),d=t.$(d)),p=0;p<E;++p)f=h?s(m[p])-d(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,d){var l=d?r.map(t.$(s)):r,f=d?r.map(t.$(d)):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,d){var l,f,p,h,m,v=d?r.map(t.$(s)):r,b=d?r.map(t.$(d)):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 d,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(d=0;d<h;++d){if(l=p[d].val,v<0&&b===l)v=d-1;else if(v>-1&&b!==l){for(f=1+(d-1+v)/2;v<d;++v)m[p[v].idx]=f;v=-1}m[p[d].idx]=d+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,d){var l=d;d=l?r.map(t.$(d)):s,s=l?r.map(t.$(s)):r;var f=i.dot(s,d),p=i.mean(s),h=i.mean(d),m=i.stdev(s),v=i.stdev(d),b=r.length;return(f-b*p*h)/((b-1)*m*v)},i.cor.rank=function(r,s,d){var l,f,p,h=d?i.rank(r,s):i.rank(r),m=d?i.rank(r,d):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,d){var l,f,p,h,m=d?r.map(t.$(s)):r,v=d?r.map(t.$(d)):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,d){var l,f,p=d?r.map(t.$(s)):r,h=d?r.map(t.$(d)):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,d,l,f){var p,h,m,v,b,y,E;for(t.isFunction(s)||t.isString(s)?(p=r.map(t.$(s)),h=d,m=l,v=f):(p=r,h=s,m=d,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,d){var l=r,f=s;(t.isFunction(s)||t.isString(s))&&(l=r.map(t.$(s)),f=d);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,d,l){return t.isFunction(d)||t.isString(d)?(l&&l.paired?u:a)(l,r,s,d):t.isArray(s)?(d&&d.paired?u:a)(d,r,s):t.isFunction(s)||t.isString(s)?c(d,r,s):c(s,r)},i.dist.mat=function(r){var s,d,l,f=r.length,p=f*f,h=Array(p),m=o.zeros(f),v=0;for(d=0;d<f;++d)for(h[d*f+d]=0,l=d+1;l<f;++l)h[d*f+l]=s=Math.abs(r[d]-r[l]),h[l*f+d]=s,m[d]+=s,m[l]+=s;for(d=0;d<f;++d)v+=m[d],m[d]/=f;for(v/=p,d=0;d<f;++d)for(l=d;l<f;++l)h[d*f+l]+=v-m[d]-m[l],h[l*f+d]=h[d*f+l];return h},i.entropy=function(r,s){s=t.$(s);var d,l,f=0,p=0,h=r.length;for(d=0;d<h;++d)f+=s?s(r[d]):r[d];if(f===0)return 0;for(d=0;d<h;++d)(l=(s?s(r[d]):r[d])/f)&&(p+=l*Math.log(l));return-p/Math.LN2},i.mutual=function(r,s,d,l){var f,p,h,m=l?r.map(t.$(s)):r,v=l?r.map(t.$(d)):s,b=l?r.map(t.$(l)):d,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,d,l){return i.mutual(r,s,d,l)[0]},i.mutual.dist=function(r,s,d,l){return i.mutual(r,s,d,l)[1]},i.profile=function(r,s){var d,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+=(d=h-m)*(h-(m+=d/++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 d=(s=s||t.keys(r[0])).map(function(l){var f=i.profile(r,t.$(l));return f.field=l,f});return d.__summary__=!0,d}})(Oi)),Oi.exports);const gs=fs,Rt={nominal:0,key:1,ordinal:2,temporal:3,quantitative:4};class ms{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=M.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 u=c.maxbins;return i.binStats[u]||(i.binStats[u]=Mi(u,i.stats)),i.binStats[u].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,u=i.timeStats;return u&&u[c]||(u=Object.assign({},u,{[c]:Ii(t.timeUnit,i.stats)})),o?u[c].distinct-Ui(u[c].unique,["Invalid Date",null]):u[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=M.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=M.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=M.keys(n.stats.unique);return n.vlType===P?[+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(M.cmp)):n.vlType===de&&n.ordinalDomain?n.ordinalDomain:o.map(i=>i==="null"?null:i).sort(M.cmp)}stats(t){const n=this._fieldSchemaIndex[t.field];return n?n.stats:null}}function Mi(e,t){const n=gs({min:t.min,max:t.max,maxbins:e}),o=M.extend({},t);return o.unique=(function(i,c){const u={};for(let a in c){let r;r=a===null?null:isNaN(Number(a))?NaN:i.value(Number(a)),u[r]=(u[r]||0)+c[a]}return u})(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=M.extend({},t);let o={};return M.keys(t.unique).forEach(function(i){let c,u=i==="null"?null:new Date(i);c=u===null?null:isNaN(u.getTime())?"Invalid Date":(e===L.DAY?u.getDay():ga(e,u)).toString(),o[c]=(o[c]||0)+t.unique[i]}),n.unique=o,n.distinct=M.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 ge(this.constraint.properties,n=>{if(me(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===P){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===P},{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}=wa(i,e.channel);if(c)return!0;return!(e.channel!=="row"&&e.channel!=="column"||(u=i.timeUnit,!vn[u]&&!(function(a){return!!bn[a]})(i.timeUnit)));var u}},{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,xe("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)=>A(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===Q},{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!==Q||!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 u in i){if(u==="type"||u==="name"||u==="enum")continue;const a=u;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 u in c)if(c.hasOwnProperty(u)&&!(u==="type"||u==="name"||u==="enum")&&aa(i,u)!==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!==P&&c!==Q;case B.NUMBER:case B.INTEGER:return c!==Q;case B.DATETIME:return c===Q;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===P: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!==he||e.type!==ae&&e.type!==fe.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!==ie&&e.channel!==ne||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,xe("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===Q)return e.timeUnit?re([D.TIME,D.UTC,void 0],c)||Ie(c):re([D.TIME,D.UTC,void 0],c);if(i===P)return e.bin?re([D.LINEAR,void 0],c):re([D.LOG,D.POW,D.SQRT,D.QUANTILE,D.QUANTIZE,D.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===U||e.channel===F}].map(e=>new Di(e));_i.reduce((e,t)=>(e[t.name()]=t,e),{});const ys=_i.reduce((e,t)=>{for(const n of t.properties())e.set(n,e.get(n)||[]),e.get(n).push(t);return e},new X),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)=>!re(["row","column","x","y","detail","order"],e.channel)}].map(e=>new Di(e));ji.reduce((e,t)=>(e[t.name()]=t,e),{});const vs=ji.reduce((e,t)=>{for(const n of t.properties())e.set(n,e.get(n)||[]),e.get(n).push(t);return e},new X),bs=pr.reduce((e,t)=>(e[t]=!0,e),{});class xs extends Fi{constructor(t){super(t)}hasAllRequiredPropertiesSpecific(t){return ge(this.constraint.properties,n=>{if(n===g.MARK)return!w(t.getMark());if(me(n)){let o=n.parent,i=n.child;return ge(t.getEncodings(),c=>!c[o]||!w(c[o][i]))}if(!Ir(n))throw new Error("UNIMPLEMENTED");return ge(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 ge(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,xe("scale","zero"),g.CHANNEL,g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>{const o=e.getMark(),i=e.getEncodings();if(o===Ee){for(let c of i)if(A(c)&&(c.channel===U||c.channel===F)&&c.type===P&&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)=>be(e.getEncodings(),o=>Dt(o))?ge(e.getEncodings(),o=>{if(se(o)||W(o))return!0;switch(o.type){case P:return!!o.bin;case Q:return!!o.timeUnit;case de:case fe.KEY:case ae:return!0}throw new Error("Unsupported Type")}):ge(e.wildcardIndex.encodingIndicesByProperty.get("autoCount")||[],o=>{let i=e.getEncodingQueryByIndex(o);return W(i)&&!w(i.autoCount)})?be(e.getEncodings(),o=>(A(o)||W(o))&&o.type===P?!ce(o)&&A(o)&&(!o.bin||w(o.bin)):!(!A(o)||o.type!==Q)&&(!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)||ge(e.getEncodings(),i=>!!w(i.channel)||!!Ko(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(U)&&e.channelUsed(F);case Ot:return e.channelUsed(on);case Ee:case kt:case Mt:case rt:case yn:case mn:return e.channelUsed(U)||e.channelUsed(F);case nt:return!e.wildcardIndex.hasProperty(g.CHANNEL)||e.channelUsed(U)||e.channelUsed(F)}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((u,a)=>{se(u)||ce(u)||A(u)&&!u.aggregate&&(i=!0,re([ie,ne],u.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()||be(e.getEncodings(),o=>!!(Ce(o)||A(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)=>!re([Ee,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(re([rt,Ee],o)&&e.channelEncodingField(Se)){if(n.constraintManuallySpecifiedValue)return!1;{const i=e.specQuery.encodings;for(let c=0;c<i.length;c++)if(i[c].channel===Se)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,xe("scale","type"),g.TYPE],allowWildcardForProperties:!1,strict:!0,satisfy:(e,t,n)=>{const o=e.getMark(),i=e.getEncodings();if(o===Ue||o===Ee){for(let c of i)if(A(c)&&(c.channel===U||c.channel===F)&&c.scale&&De(c)===D.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 u=0;u<o.length;u++){const a=o[u];if(se(a)||ce(a))continue;const r=a.channel;if(!w(r)&&bs[r+""]&&(i+=1,e.wildcardIndex.hasEncodingProperty(u,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,u=!1,a=!1;for(let r=0;r<o.length;r++){const s=o[r];if(se(s)||ce(s))continue;const d=s.channel;d===U?u=!0:d===F?a=!0:w(d)||(i=!0,e.wildcardIndex.hasEncodingProperty(r,g.CHANNEL)&&(c=!0))}return!(c||n.constraintManuallySpecifiedValue&&i)||u&&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(!se(c)&&!ce(c)&&(A(c)&&c.type===Q&&!c.timeUnit&&(e.wildcardIndex.hasEncodingProperty(i,g.TIMEUNIT)||n.constraintManuallySpecifiedValue)||c.type===P&&A(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()||ge(e.specQuery.encodings,(o,i)=>!(!se(o)&&!ce(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 u=0;u<c.length;u++){const a=c[u];if(se(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(u,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!==F}},{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(U),f=e.getEncodingQueryByChannel(F),p=at(l),h=at(f);return l&&f&&p!==h&&!(A(l)&&!p&&re(["nominal","key"],l.type))&&!(A(f)&&!h&&re(["nominal","key"],f.type))}return!0;case Ot:return!0;case Ee:case rt:if(e.channelEncodingField(Se))return!1;{const l=e.getEncodingQueryByChannel(U),f=e.getEncodingQueryByChannel(F);return at(l)!==at(f)}case mn:const i=e.getEncodingQueryByChannel(U),c=e.getEncodingQueryByChannel(F),u=Ce(i),a=Ce(c),r=e.getEncodingQueryByChannel(he),s=at(r),d=!!A(r)&&r.type===de;return(u&&a||u&&!e.channelUsed(F)||a&&!e.channelUsed(U))&&(!r||r&&(s||d));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,xe("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,xe("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(!re(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((!A(o)||Ce(o))&&(!A(i)||Ce(i)))return!!e.isAggregate()&&ge(e.getEncodings(),c=>{let u=c.channel;return!(u!==U&&u!==F&&u!==ie&&u!==ne&&A(c)&&!c.aggregate)})}return!0}}].map(e=>new xs(e));Pi.reduce((e,t)=>(e[t.name()]=t,e),{});const Es=Pi.reduce((e,t)=>{for(const n of t.properties())e.set(n,e.get(n)||[]),e.get(n).push(t);return e},new X);function Ri(e,t,n,o,i){const c=Es.get(e)||[];for(const u of c)if((u.strict()||i[u.name()])&&!u.satisfy(n,o,i)){let a="(spec) "+u.name();return i.verbose&&console.log(a+" failed with "+n.toShorthand()+" for "+t.name),a}return null}const $t=new X;function $i(e){return(t,n,o)=>(i,c)=>{const u=t.encodingIndicesByProperty.get(e);return(function a(r){if(r===u.length)return void i.push(c.duplicate());const s=u[r],d=t.encodings[s].get(e),l=c.getEncodingQueryByIndex(s),f=c.getEncodingProperty(s,e);se(l)||ce(l)||!f?a(r+1):(d.enum.forEach(p=>{p===null&&(p=void 0),c.setEncodingProperty(s,e,p,d),!(function(m,v,b,y,E,T){const S=ys.get(m)||[],N=y.getEncodingQueryByIndex(b);for(const O of S)if((O.strict()||T[O.name()])&&!O.satisfy(N,E,y.wildcardIndex.encodings[b],T)){let I="(enc) "+O.name();return T.verbose&&console.log(I+" failed with "+y.toShorthand()+" for "+v.name),I}const C=vs.get(m)||[];for(const O of C)if((O.strict()||T[O.name()])&&se(N)&&!O.satisfy(N,E,y.wildcardIndex.encodings[b],T)){let I="(enc) "+O.name();return T.verbose&&console.log(I+" failed with "+y.toShorthand()+" for "+v.name),I}return null})(e,d,s,c,n,o)&&(Ri(e,d,c,n,o)||a(r+1))}),c.resetEncodingProperty(s,e,d))})(0),i}}function ct(e,t,n){return t=t||new X,n=n||new X,e.forEach(o=>{var i;i=o,M.isObject(i)&&i.property?(t.setByKey(o.property,!0),n.setByKey(o.property,o.replace)):t.setByKey(o,!0)}),{include:t,replaceIndex:n,replacer:Ma(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],Ts=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(Ts);Bt("encoding",e=>qe(e,Hi.include,Hi.replacer)),Bt("spec",e=>JSON.stringify(e));class Ss{constructor(){this._mark=void 0,this._encodings={},this._encodingIndicesByProperty=new X}setEncodingProperty(t,n,o){const i=this._encodings;(i[t]=i[t]||new X).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((u,a)=>(w(a.channel)||W(a)&&a.autoCount===!1||(u[a.channel+""]=1),u),{}),this._wildcardIndex=n,this._assignedWildcardIndex=c,this._opt=i,this._schema=o}static build(t,n,o){let i=new Ss;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,u)=>{W(c)&&(console.warn("A field with autoCount should not be included as autoCount meant to be an internal object."),c.type=P),A(c)&&c.type===void 0&&(c.type=_),pn.forEach(a=>{if(w(c[a])){const r=it(a)+u,s=Tn(a,n,o),d=c[a]=xn(c[a],r,s);i.setEncodingProperty(u,a,d)}}),Ct.forEach(a=>{const r=c[a.parent];if(r){const s=a.child;if(w(r[s])){const d=it(a)+u,l=Tn(a,n,o),f=r[s]=xn(r[s],d,l);i.setEncodingProperty(u,a,f)}}})}),o.autoAddCount){const c={name:it(g.CHANNEL)+t.encodings.length,enum:Tn(g.CHANNEL,n,o)},u={name:it(g.AUTOCOUNT)+t.encodings.length,enum:[!1,!0]},a={channel:c,autoCount:u,type:P};t.encodings.push(a);const r=t.encodings.length-1;i.setEncodingProperty(r,g.CHANNEL,c),i.setEncodingProperty(r,g.AUTOCOUNT,u)}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(M.duplicate(this._spec),this._wildcardIndex,this._schema,this._opt,M.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 me(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]--,me(n)?c[n.parent][n.child]=o:hn(n)&&o===!0?c[n]=M.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]--,me(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 A(this.getEncodingQueryByChannel(t))}getEncodings(){return this._spec.encodings.filter(t=>!ce(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 be(this._spec.encodings,t=>A(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(M.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=M.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 ee;(function(e){e[e.Q=P]="Q",e[e.BIN_Q="bin_"+P]="BIN_Q",e[e.T=Q]="T",e[e.TIMEUNIT_T="timeUnit_time"]="TIMEUNIT_T",e[e.TIMEUNIT_O="timeUnit_"+de]="TIMEUNIT_O",e[e.O=de]="O",e[e.N=ae]="N",e[e.K=fe.KEY]="K",e[e.NONE="-"]="NONE"})(ee||(ee={}));const Gi=ee.Q,Lt=ee.BIN_Q,_n=ee.T,ze=ee.TIMEUNIT_T,Wt=ee.TIMEUNIT_O,Ht=ee.O,qt=ee.N,jn=ee.K,Gt=ee.NONE;function zt(e){return e.bin?ee.BIN_Q:e.timeUnit?Ie(De(e))?ee.TIMEUNIT_O:ee.TIMEUNIT_T:e.type}const Pn=-10;function H(e,t,n,o){return e+"_"+t+"_"+n+"_"+o}const ws=[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]===U?t[n.feature+"_"+F]=-.01:e[n.opt]===F&&(t[n.feature+"_"+U]=-.01)}),t}featurize(e,t){return e+"_"+t}getScore(e,t,n){return e.getEncodings().reduce((o,i)=>{if(A(i)||W(i)){const c=zt(i),u=this.featurize(c,i.channel),a=this.getFeatureScore(u);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)||A(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===ie?t[ne]=-.01:e.preferredFacet===ne&&(t[ie]=-.01),t}getScore(e,t,n){return e.getEncodings().reduce((o,i)=>{if(A(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=>{K({point:0,text:-.2,tick:-.5,rect:-1,bar:-2,line:-2,area:-2,rule:-2.5},(c,u)=>{const a=H(o,i,!0,u);n[a]=c}),K({point:0,text:-.2,tick:-.5,bar:-2,line:-2,area:-2,rule:-2.5},(c,u)=>{const a=H(o,i,!1,u);n[a]=c})})}),e.forEach(o=>{t.forEach(i=>{K({tick:0,point:-.2,text:-.5,bar:-2,line:-2,area:-2,rule:-2.5},(c,u)=>{const a=H(o,i,!0,u);n[a]=c;const r=H(i,o,!0,u);n[r]=c})}),[ze].forEach(i=>{K({point:0,text:-.5,tick:-1,bar:-2,line:-2,area:-2,rule:-2.5},(c,u)=>{const a=H(o,i,!0,u);n[a]=c;const r=H(i,o,!0,u);n[r]=c})}),[Gt,qt,Ht,jn].forEach(i=>{K({bar:0,point:-.2,tick:-.25,text:-.3,line:-2,area:-2,rule:-2.5},(c,u)=>{const a=H(o,i,!1,u);n[a]=c;const r=H(i,o,!1,u);n[r]=c})}),[Lt].forEach(i=>{K({bar:0,point:-.2,tick:-.25,text:-.3,line:-.5,area:-.5,rule:-2.5},(c,u)=>{const a=H(o,i,!1,u);n[a]=c;const r=H(i,o,!1,u);n[r]=c})}),[ze,Wt].forEach(i=>{K({line:0,area:-.1,bar:-.2,point:-.3,tick:-.35,text:-.4,rule:-2.5},(c,u)=>{const a=H(o,i,!1,u);n[a]=c;const r=H(i,o,!1,u);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};K(c,(u,a)=>{const r=H(o,i,!0,a);n[r]=u}),K(c,(u,a)=>{const r=H(o,i,!1,a);n[r]=u})}),t.forEach(i=>{const c={tick:0,point:-.2,text:-.5,rect:-1,bar:-2,line:-2,area:-2,rule:-2.5};K(c,(u,a)=>{const r=H(o,i,!0,a);n[r]=u}),K(c,(u,a)=>{const r=H(i,o,!0,a);n[r]=u}),K(c,(u,a)=>{const r=H(o,i,!1,a);n[r]=u}),K(c,(u,a)=>{const r=H(i,o,!1,a);n[r]=u})})});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};K(c,(u,a)=>{const r=H(o,i,!0,a);n[r]=u}),K(c,(u,a)=>{const r=H(o,i,!1,a);n[r]=u})}return n})()}getScore(e,t,n){let o=e.getMark();o!==kt&&o!==Mt||(o=nt);const i=e.getEncodingQueryByChannel(U),c=i?zt(i):Gt,u=e.getEncodingQueryByChannel(F),a=c+"_"+(u?zt(u):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(A(c)||W(c)){const u=o+"_"+c.channel,a=this.getFeatureScore(u);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=>{M.keys(t).forEach(c=>{e[this.featurize(i,c)]=t[c]})});const n=M.extend({},t,{row:-.75,column:-.75,shape:-3.1,text:-3.2,detail:-4});[Lt,Wt,Ht].forEach(i=>{M.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 M.keys(o).forEach(i=>{e[this.featurize(qt,i)]=o[i],e[this.featurize(jn,i)]=re(["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,u)=>{if(A(u)||W(u)){const a=zr(u);(c[a]=c[a]||[]).push(u)}return c},{}),i=[];return K(o,c=>{const u=c.reduce((a,r)=>{if(A(r)||W(r)){const s=zt(r),d=this.featurize(s,r.channel),l=this.getFeatureScore(d);if(a===null||l.score>a.score)return l}return a},null);i.push(u)}),i}}],Ae="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,u){return(a,r)=>{const s=Dn(a),d=Dn(r);return Qi(i instanceof Array?i:[i],s,d,c,u)}})(t.nest[o].orderGroupBy,n,t.config))):(t.orderBy||t.chooseBy)&&(e.items.sort((function(i,c,u){return(a,r)=>Qi(i instanceof Array?i:[i],a,r,c,u)})(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 u=Vi(n,c,o,i).score-Vi(t,c,o,i).score;if(u!==0)return u}return 0}function Vi(e,t,n,o){if(e.getRankingScore(t)!==void 0)return e.getRankingScore(t);const i=(function(u){return zi[u]})(t),c=i(e,n,o);return e.setRankingScore(t,c),c}function Ns(e,t,n){let o={};return e=e.map(function(i){return n.smallRangeStepForHighCardinalityOrFacet&&(i=(function(c,u,a,r){[ie,F,ne,U].forEach(l=>{a[l]=c.getEncodingQueryByChannel(l)});const s=a[F];if(s!==void 0&&A(s)&&(a[ie]||u.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 d=a[U];if(A(d)&&(a[ne]||u.cardinality(d)>r.smallRangeStepForHighCardinalityOrFacet.maxCardinality)){d.scale===void 0&&(d.scale={});const l=De(d);d.scale&&(l===void 0||Ie(l))&&(d.scale.rangeStep||(d.scale.rangeStep=12))}return c})(i,t,o,n)),n.nominalColorScaleForHighCardinality&&(i=(function(c,u,a,r){a[he]=c.getEncodingQueryByChannel(he);const s=a[he];return A(s)&&s!==void 0&&(s.type===ae||s.type===fe.KEY)&&u.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,u,a,r){if([ne,U,F].forEach(s=>{a[s]=c.getEncodingQueryByChannel(s)}),a[ne]===void 0){const s=a[U],d=a[F];A(s)&&A(d)&&d!==void 0&&d.field&&Ie(De(d))&&s!==void 0&&u.cardinality(d)>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 Cs(e,t,n=ot){const o=Qt.build(e,t,n),i=o.wildcardIndex;let c=[o];return n.propertyPrecedence.forEach(u=>{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})(u);if(i.hasProperty(a)){const r=(function(d){return $t.get(d)})(a),s=r(i,t,n);c=c.reduce(s,[])}}),!n.stylize||n.nominalColorScaleForHighCardinality===null&&n.smallRangeStepForHighCardinalityOrFacet===null&&n.xAxisOnTopForHighYCardinalityWithoutColumn===null?c:Ns(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:M.duplicate(o.spec),nest:[i]};return o.chooseBy&&(c.chooseBy=o.chooseBy),o.config&&(c.config=o.config),c}return M.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 u={},a=[],r=[],s=[];for(let d=0;d<i.length;d++){a.push(d>0?a[d-1].duplicate():new X),r.push(d>0?r[d-1].duplicate():new X);const l=i[d].groupBy;if(M.isArray(l)){let f=ct(l,a[d],r[d]);s.push(f.replacer)}}return o.forEach(d=>{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=M.isArray(h)?qe(d.specQuery,a[p],s[p]):Fn[h](d.specQuery);l+="/"+m,u[l]||(u[l]={name:m,path:l,items:[]},f.items.push(u[l])),f=u[l]}f.items.push(d)}),c}return{name:"",path:"",items:o}})(Cs(e.spec,t,e.config),e.nest),e,t,0)}}Rn("effectiveness",function(e,t,n){const o=ws.reduce((i,c)=>{const u=c.getScore(e,t,n);return i.concat(u)},[]);return{score:o.reduce((i,c)=>i+c.score,0),features:o}}),Rn(Ae,function(e,t,n){const o=(function(i){const c=i.getEncodings();if(i.isAggregate()){if(be(c,u=>A(u)&&(u.type===P&&!u.bin&&!u.aggregate||u.type===Q&&!u.timeUnit)))return{type:Ae,score:.1,feature:"Aggregate with raw continuous"};if(be(c,u=>A(u)&&Ce(u))){let u=be(c,r=>A(r)&&r.aggregate==="count"||Dt(r)),a=be(c,r=>A(r)&&!!r.bin);return u?{type:Ae,score:.8,feature:"Aggregate with count"}:a?{type:Ae,score:.7,feature:"Aggregate with bin but without count"}:{type:Ae,score:.9,feature:"Aggregate without count and without bin"}}return{type:Ae,score:.3,feature:"Aggregate without dimension"}}return be(c,u=>A(u)&&!Ce(u))?{type:Ae,score:1,feature:"Raw with measure"}:{type:Ae,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,u=[];let a=0,r=1;for(let s=o.length-1;s>=0;s--){const d=o[s],l=i[d];let f;if(!A(l))continue;f=l.field;const p=e.wildcardIndex.encodings[d].get("field"),h=t.fieldSchema(f).index,m=-h*r;a+=m,u.push({score:m,type:"fieldOrder",feature:`field ${p.name} is ${f} (#${h} in the schema)`}),r*=c}return{score:a,features:u}});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(qo,{className:"h-5 w-5 inline-flex opacity-60"})},As=e=>{const t=ve.c(45),{schema:n}=e,[o,i]=Yn.useState(),[c,u]=Yn.useState();let a,r,s,d,l,f,p,h,m,v;if(t[0]!==n||t[1]!==o||t[2]!==c){let k,q;a=n.fieldNames(),t[11]!==n||t[12]!==o?(k=o?n.stats({field:o,channel:"x"}):void 0,t[11]=n,t[12]=o,t[13]=k):k=t[13],s=k,t[14]===Symbol.for("react.memo_cache_sentinel")?(q=x.jsx(Ho,{className:"text-muted-foreground",width:40,height:40,strokeWidth:1.5}),t[14]=q):q=t[14];const j=q,ye=c?a:a.slice(0,12);let te;r=a.length>12,f="flex flex-col justify-center items-center h-full flex-1 gap-2",p=j,h=x.jsxs("span",{className:"text-muted-foreground font-semibold",children:[a.length>0?a.length:"No"," fields"]}),d="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",t[15]!==n||t[16]!==o?(te=V=>{const le=n.cardinality({channel:"x",field:V});return x.jsxs("span",{className:xo("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===V&&"bg-muted"),onClick:()=>{i(o!==V?V:void 0)},children:[Ye[n.primitiveType(V)],V,le>1&&x.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",le,")"]})]},V)},t[15]=n,t[16]=o,t[17]=te):te=t[17],l=ye.map(te),t[0]=n,t[1]=o,t[2]=c,t[3]=a,t[4]=r,t[5]=s,t[6]=d,t[7]=l,t[8]=f,t[9]=p,t[10]=h}else a=t[3],r=t[4],s=t[5],d=t[6],l=t[7],f=t[8],p=t[9],h=t[10];t[18]!==r||t[19]!==c?(m=r&&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:()=>u(Ms),children:c?"Show less":"Show more"}),t[18]=r,t[19]=c,t[20]=m):m=t[20],t[21]!==d||t[22]!==l||t[23]!==m?(v=x.jsxs("div",{className:d,children:[l,m]}),t[21]=d,t[22]=l,t[23]=m,t[24]=v):v=t[24];const b=o||"",y=a.length===0;let E,T,S,N,C,O,I;return t[25]===Symbol.for("react.memo_cache_sentinel")?(E=k=>{i(k)},t[25]=E):E=t[25],t[26]===Symbol.for("react.memo_cache_sentinel")?(T=x.jsx(pt,{className:"min-w-[210px] h-full",children:x.jsx(Vn,{placeholder:"Select a column"})}),t[26]=T):T=t[26],t[27]!==n?(S=n.fieldNames().map(k=>x.jsx(ke,{value:k.toString(),children:x.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[Ye[n.primitiveType(k)],x.jsx("span",{className:"flex-1",children:k}),x.jsxs("span",{className:"text-muted-foreground text-xs font-semibold",children:["(",n.vlType(k),")"]})]})},k)),t[27]=n,t[28]=S):S=t[28],t[29]!==S?(N=x.jsx(ht,{children:x.jsx(Ke,{children:S})}),t[29]=S,t[30]=N):N=t[30],t[31]!==N||t[32]!==b||t[33]!==y?(C=x.jsx("div",{className:"lg:hidden",children:x.jsxs(gt,{"data-testid":"marimo-plugin-data-explorer-column-select",value:b,disabled:y,onValueChange:E,children:[T,N]})}),t[31]=N,t[32]=b,t[33]=y,t[34]=C):C=t[34],t[35]!==o||t[36]!==s?(O=o&&x.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-2 p-2 text-sm",children:Os.map(k=>x.jsxs("div",{className:"flex flex-row gap-2 min-w-[100px]",children:[x.jsx("span",{className:"font-semibold",children:k}),x.jsx("span",{children:x.jsx(ks,{value:s==null?void 0:s[k]})})]},k))}),t[35]=o,t[36]=s,t[37]=O):O=t[37],t[38]!==C||t[39]!==O||t[40]!==f||t[41]!==p||t[42]!==h||t[43]!==v?(I=x.jsxs("div",{className:f,children:[p,h,v,C,O]}),t[38]=C,t[39]=O,t[40]=f,t[41]=p,t[42]=h,t[43]=v,t[44]=I):I=t[44],I},Os=["distinct","min","max","mean","median","q1","q3","stdev"],ks=e=>{const t=ve.c(8),{value:n}=e;let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o={maximumFractionDigits:2},t[0]=o):o=t[0];const i=vo(o);let c;t[1]===Symbol.for("react.memo_cache_sentinel")?(c={year:"numeric",month:"short",day:"numeric"},t[1]=c):c=t[1];const u=bo(c);if(typeof n=="number"){let a;return t[2]!==i||t[3]!==n?(a=i.format(n),t[2]=i,t[3]=n,t[4]=a):a=t[4],a}if(typeof n=="string")return n;if(typeof n=="object"&&n instanceof Date){let a;return t[5]!==u||t[6]!==n?(a=u.format(n),t[5]=u,t[6]=n,t[7]=a):a=t[7],a}return String(n)};function Ms(e){return!e}function Is(e){return e?e==="bin"?{bin:!0}:Bo(e)?{aggregate:e}:(function(t){return t?Ji.includes(t)||Xi.includes(t):!1})(e)?{timeUnit:e}:{}:{}}const Us=["bin","min","max","mean","median","sum"],Ji=["year","month","date","day","hours","minutes","seconds","milliseconds"],Xi=["yearmonth","yearmonthdate","monthdate"],Fs=[_,"area","bar","circle","geoshape","line","point","rect","rule","square","text","tick","trail"],Ds={type:"histograms",limit:12,createQuery:e=>({spec:{data:e.spec.data,mark:_,transform:e.spec.transform,encodings:[{channel:_,bin:_,timeUnit:_,field:_,type:_},{channel:_,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 _s(e){const{aggregate:t,bin:n,timeUnit:o,field:i,scale:c,legend:u,axis:a,sort:r,description:s}=e;let{type:d}=e;if(w(d))throw new Error("Wildcard not support");d==="ordinal"&&(Eo.warn("Ordinal type is not supported. Using nominal type instead."),d="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 To(i!==void 0,"Field is required for fieldQ"),Zi({field:i,fn:l,type:d,sort:r,scale:c,axis:a,legend:u,description:s})}function js(e){return e?Object.entries(e).map(([t,n])=>(function(o,i){const{fn:c,...u}=o;return{channel:i,...Is(c),...u}})(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 Ps=$n({type:"addCategoricalField",limit:4,additionalFieldQuery:{channel:_,field:_,type:"nominal"}}),Rs=$n({type:"addQuantitativeField",limit:4,additionalFieldQuery:{channel:_,bin:_,aggregate:_,field:_,type:"quantitative"}}),$s=$n({type:"addTemporalField",limit:2,additionalFieldQuery:{channel:_,hasFn:!0,timeUnit:_,field:_,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)se(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 Bs(e,t){const n={},{hasOpenPosition:o,hasStyleChannel:i,hasOpenFacet:c}=(function(u){let a=!1,r=!1,s=!1;return u.encodings.forEach(d=>{d.channel==="x"||d.channel==="y"?a=!0:d.channel==="row"||d.channel==="column"?s=!0:typeof d.channel=="string"&&Lo(Wo,d.channel)&&(r=!0)}),{hasOpenPosition:a,hasStyleChannel:r,hasOpenFacet:s}})(e.spec);return(o||i)&&(n.addQuantitativeField=Yt(Rs,e,t)),(o||i||c)&&(n.addCategoricalField=Yt(Ps,e,t)),o&&(n.addTemporalField=Yt($s,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(A).map(n=>({fieldDef:_s(n),channel:n.channel})),spec:t.toSpec(e)}}function Ls(e){const{spec:t,autoAddCount:n}=e,o=(function(r){return{mark:r.mark,encodings:js(r.encoding),config:r.config}})(t),{hasAnyWildcard:i,hasWildcardFn:c,hasWildcardField:u}=to(o),a=(function(r){const{hasWildcardFn:s,hasWildcardField:d}=r;return s?"fieldTransform":d?"field":"encoding"})({hasWildcardFn:c,hasWildcardField:u});return{spec:o,groupBy:a,orderBy:["fieldOrder","aggregationQuality","effectiveness"],chooseBy:["aggregationQuality","effectiveness"],config:i?{autoAddCount:n}:void 0}}const{valueAtom:Qe,useActions:Ws}=So(function(){return{mark:_,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 Ws()}const Hs=wo(e=>{const t=e(Qe);if(!t.schema)return{};const n=Ls({spec:t,autoAddCount:!0});return eo(n.spec)?{main:Bn(n,t.schema),histograms:Yt(Ds,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)),u=["row","column"].some(a=>i.has(a));return c&&u})(n.spec)?{main:Bn(n,t.schema),...Bs(n,t.schema)}:{main:Bn(n,t.schema)}}),qs=["x","y","row","column"],Gs=["color","size","shape"],zs=e=>{const t=ve.c(26),{schema:n,mark:o}=e,i=Kt(Qe),c=oo(),u=i.encoding.x&&i.encoding.y;let a;t[0]!==c||t[1]!==u||t[2]!==n||t[3]!==i.encoding?(a=S=>{const N=(S==="row"||S==="column")&&!u;return x.jsx(Ys,{schema:n,label:S,disabled:N,fieldDefinition:i.encoding[S],onChange:C=>c.setEncoding({[S]:C})},S)},t[0]=c,t[1]=u,t[2]=n,t[3]=i.encoding,t[4]=a):a=t[4];const r=a;let s,d,l,f,p;t[5]!==o?(s=o.toString(),t[5]=o,t[6]=s):s=t[6],t[7]!==c?(d=S=>c.setMark(S),t[7]=c,t[8]=d):d=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"}),Fs.map(Vs)]})}),t[10]=f):f=t[10],t[11]!==s||t[12]!==d?(p=x.jsxs(gt,{"data-testid":"marimo-plugin-data-explorer-mark-select",value:s,onValueChange:d,children:[l,f]}),t[11]=s,t[12]=d,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=qs.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=Gs.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},Ys=e=>{const t=ve.c(43),{label:n,schema:o,fieldDefinition:i,disabled:c,onChange:u}=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 j=i.field.toString();return x.jsxs("span",{className:"flex gap-2 flex-1",children:[Ye[o.primitiveType(j)],x.jsx("span",{className:"text-left flex-1",children:i.fn?`${i.fn}(${i.field})`:j})]})},t[0]=i,t[1]=o,t[2]=a):a=t[2];const r=a;let s;t[3]!==u?(s=()=>{u(void 0)},t[3]=u,t[4]=s):s=t[4];const d=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(No,{className:"text-(--slate-11) font-semibold",children:n}),t[7]=n,t[8]=p):p=t[8],t[9]!==u||t[10]!==o?(h=j=>{u(j==="*"?{field:"*",fn:"count",type:"quantitative"}:{field:j,type:o.vlType(j)})},t[9]=u,t[10]=o,t[11]=h):h=t[11];const m=f?d:void 0;let v,b,y,E,T,S,N,C,O,I,k,q;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(j=>x.jsx(ke,{value:j.toString(),children:x.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[Ye[o.primitiveType(j)],x.jsx("span",{className:"flex-1",children:j}),x.jsxs("span",{className:"text-muted-foreground text-xs font-semibold",children:["(",o.vlType(j),")"]})]})},j)),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]!==u?(O=i&&x.jsx(Qs,{field:i,onChange:u}),t[32]=i,t[33]=u,t[34]=O):O=t[34],t[35]!==O?(I=x.jsx("div",{className:"w-[26px]",children:O}),t[35]=O,t[36]=I):I=t[36],t[37]!==C||t[38]!==I?(k=x.jsxs("div",{className:"flex flex-row gap-1 h-[26px]",children:[C,I]}),t[37]=C,t[38]=I,t[39]=k):k=t[39],t[40]!==k||t[41]!==p?(q=x.jsxs(x.Fragment,{children:[p,k]}),t[40]=k,t[41]=p,t[42]=q):q=t[42],q},Ln="__",Qs=e=>{const t=ve.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===fe.QUANTITATIVE&&(c=[["",Us]]),n.type===fe.TEMPORAL&&(c=[["Single",Ji],["Multi",Xi]]),c.length>0){const u=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(Ao,{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 d=x.jsxs(ht,{children:[r,s,c.map(Js)]});let l;t[6]!==n.fn||t[7]!==u||t[8]!==d?(l=x.jsxs(gt,{"data-testid":"marimo-plugin-data-explorer-field-options",value:n.fn,onValueChange:u,children:[a,d]}),t[6]=n.fn,t[7]=u,t[8]=d,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 Vs(e){return x.jsx(ke,{value:e,children:e===_?"auto":e},e)}function Ks(e){return x.jsx(ke,{value:e??Ln,children:Co(e)},e)}function Js(e){const[t,n]=e;return x.jsxs(Ke,{children:[t&&x.jsx(Kn,{children:t}),n.map(Ks)]},t)}const Xs=e=>{const t=ve.c(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Oo(),t[0]=n):n=t[0];const o=n;let i,c;return t[1]!==e?(i=()=>{const u=o.sub(Qe,()=>{const r=o.get(Qe),{schema:s,...d}=r;e.setValue(d)}),a=e.value;return a&&Object.keys(a).length>0&&o.set(Qe,a),u},t[1]=e,t[2]=i):i=t[2],ko(i),t[3]!==e?(c=x.jsx(Mo,{store:o,children:x.jsx(ao,{...e})}),t[3]=e,t[4]=c):c=t[4],c},Zs={export:{svg:!0,png:!0},source:!1,compiled:!1,editor:!1},ec={left:20,right:20,top:20,bottom:20},ao=e=>{var ye,te,V,le,lt,Wn;const t=ve.c(43),{data:n}=e,o=oo();let i,c;t[0]!==o||t[1]!==n?(i=async()=>{if(!n)return{};const R=await Fo(n,{type:"csv",parse:"auto"},{replacePeriod:!0}),Pe=(function(Te,z={},Ve={fields:[]}){z=M.extend({},ot,z);let so=hs.summary(Te),Hn=ps.inferAll(Te),co=Ve.fields.reduce(($,ue)=>($[ue.name]=ue,$),{}),qn=so.map(function($,ue){const Re=$.field,ut=Hn[Re]==="date"?B.DATETIME:Hn[Re];let Oe,Vt=$.distinct;if(ut===B.NUMBER)Oe=P;else if(ut===B.INTEGER)Oe=Vt<z.numberNominalLimit&&Vt/$.count<z.numberNominalProportion?ae:P;else if(ut===B.DATETIME){Oe=Q,$.min=new Date(Te[0][Re]),$.max=new Date(Te[0][Re]);for(const fo of Te){const ft=new Date(fo[Re]).getTime();ft<$.min.getTime()&&($.min=new Date(ft)),ft>$.max.getTime()&&($.max=new Date(ft))}}else Oe=ae;Oe===ae&&Vt/$.count>z.minPercentUniqueForKey&&$.count>z.minCardinalityForKey&&(Oe=fe.KEY);let dt={name:Re,originalIndex:ue,vlType:Oe,type:ut,stats:$,timeStats:{},binStats:{}};const uo=co[dt.name];return dt=M.extend(dt,uo),dt});for(let $ of qn)if($.vlType===P)for(let ue of z.enum.binProps.maxbins)$.binStats[ue]=Mi(ue,$.stats);else if($.vlType===Q)for(let ue of z.enum.timeUnit)ue!==void 0&&($.timeStats[ue]=Ii(ue,$.stats));const lo=Object.assign({},Ve,{fields:qn});return new ms(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:u,isPending:a,error:r}=Io(i,c),{mark:s}=Kt(Qe),d=Kt(Hs),{theme:l}=Uo();if(r){let R;return t[5]!==r?(R=x.jsx(Do,{error:r}),t[5]=r,t[6]=R):R=t[6],R}if(!u){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}=u;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=(te=(ye=d.main)==null?void 0:ye.plots)==null?void 0:te[0];let m;t[9]!==(h==null?void 0:h.fieldInfos)?(m=new Set(h==null?void 0:h.fieldInfos.map(ic)),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:ec,actions:Zs,spec:rc(h.spec),theme:l==="dark"?"dark":void 0})}):x.jsx(As,{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(zs,{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=(V=d.histograms)==null?void 0:V.plots,C=(le=d.addCategoricalField)==null?void 0:le.plots,O=(lt=d.addQuantitativeField)==null?void 0:lt.plots,I=(Wn=d.addTemporalField)==null?void 0:Wn.plots;let k,q,j;if(t[24]!==o||t[25]!==f||t[26]!==v||t[27]!==O||t[28]!==I||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,Te)=>x.jsx(nc,{title:x.jsx("div",{className:"flex flex-row gap-1",children:Pe.fieldInfos.map(z=>{const Ve=z.fieldDef.field==="*"?"Count":z.fieldDef.fn?`${z.fieldDef.fn}(${z.fieldDef.field})`:z.fieldDef.field.toString();return x.jsx(Ro,{variant:v.has(z.fieldDef.field)?"secondary":"defaultOutline",children:Ve},Ve)})}),actions:x.jsx(_o,{content:"Make main plot",children:x.jsx(Qn,{"data-testid":"marimo-plugin-data-explorer-make-main-plot",variant:"text",size:"icon",onClick:()=>{const z=Po.fromEntries(Pe.fieldInfos.map(oc));o.setEncoding(z)},children:x.jsx(jo,{className:"w-4 h-4"})})}),children:x.jsx(Xn,{data:{source:f},actions:!1,spec:Pe.spec,theme:l==="dark"?"dark":void 0},Te)},Te),t[33]=o,t[34]=f,t[35]=v,t[36]=l,t[37]=R):R=t[37],k=[N,C,O,I].filter(Boolean).flat().map(R),t[24]=o,t[25]=f,t[26]=v,t[27]=O,t[28]=I,t[29]=N,t[30]=C,t[31]=l,t[32]=k}else k=t[32];return t[38]!==k?(q=x.jsx(tc,{children:k}),t[38]=k,t[39]=q):q=t[39],t[40]!==q||t[41]!==S?(j=x.jsxs("div",{className:"flex flex-col gap-2",children:[S,q]}),t[40]=q,t[41]=S,t[42]=j):j=t[42],j},tc=e=>{const t=ve.c(2),{children:n}=e;if($o.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},nc=e=>{const t=ve.c(10),{title:n,children:o,actions:i}=e;let c,u,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?(u=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]=u):u=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]!==u||t[8]!==a?(r=x.jsxs("div",{className:"shrink-0 bg-card shadow-md border overflow-hidden rounded snap-start",children:[u,a]}),t[7]=u,t[8]=a,t[9]=r):r=t[9],r};function rc(e){var t,n;return(t=e.encoding)!=null&&t.row||(n=e.encoding)!=null&&n.column||(e.width="container"),e}function ic(e){return e.fieldDef.field}function oc(e){return[e.channel,e.fieldDef]}export{ao as DataExplorerComponent,Xs as default};
@@ -1 +0,0 @@
1
- import{eL as y,eM as l,eN as w,aO as b,eO as O,eP as g,eQ as A,eR as B,cF as F,eS as G,cG as L,B as M,eT as N,A as P}from"./index-PmY0x4Zd.js";function h(r){return r==r&&!w(r)}function j(r,e){return function(n){return n!=null&&n[r]===e&&(e!==void 0||r in Object(n))}}function Q(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,h(o)]}return t})(r);return e.length==1&&e[0][2]?j(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 R(r){return O(r)?G(g(r)):(function(e){return function(n){return F(n,e)}})(r)}function S(r){return typeof r=="function"?r:r==null?L:typeof r=="object"?M(r)?(e=r[0],n=r[1],O(e)&&h(n)?j(g(e),n):function(t){var u=A(t,e);return u===void 0&&u===n?B(t,e):l(n,u,3)}):Q(r):R(r);var e,n}function p(r,e){return r&&N(r,e,b)}var d,T=(d=p,function(r,e){if(r==null)return r;if(!P(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{S as a,T as b,p as c};
@@ -1 +0,0 @@
1
- import{b as m}from"./_baseEach-9_logFrf.js";import{A as s}from"./index-PmY0x4Zd.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{ft as p,aO as d,eH as m,fu as F,fv as Y,fw as Z,fx as _,fy as rr,fz as B,fA as D,fB as er,fC as M,H as O,cH as H,fD as A,eN as nr,fE as tr,D as cr,fF as or,fG as ar,eL as ur,fH as fr,B as g,fI as sr,cG as ir,fJ as br,cE as jr,fK as lr,fL as x,fM as I,fN as vr,fO as yr}from"./index-PmY0x4Zd.js";import{b as U,a as N}from"./_baseEach-9_logFrf.js";function C(){}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 L(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 k(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):L(r,pr,n)}function P(r,e){return!!(r!=null&&r.length)&&k(r,e,0)>-1}var R=Object.getOwnPropertySymbols?function(r){for(var e=[];r;)Z(e,F(r)),r=_(r);return e}:Y;function V(r){return rr(r,m,R)}var Ar=Object.prototype.hasOwnProperty,gr=/\w*$/,z=D?D.prototype:void 0,J=z?z.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,J?Object(J.call(u)):{}}}var K=A&&A.isMap,wr=K?H(K):function(r){return M(r)&&O(r)=="[object Map]"},W=A&&A.isSet,dr=W?H(W):function(r){return M(r)&&O(r)=="[object Set]"},$="[object Arguments]",q="[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=O(r),y=j==q||j=="[object GeneratorFunction]";if(cr(r))return or(r,f);if(j==Q||j==$||y&&!s){if(c=b||y?{}:ar(r),!f)return b?(function(t,i){return p(t,R(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 E=a.get(r);if(E)return E;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 S=l?void 0:(v?b?V:fr:b?m:d)(r);return G(S||r,function(t,i){S&&(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:U)(r,T(e))}function X(r,e){var n=[];return U(r,function(u,s,a){e(u,s,a)&&n.push(u)}),n}function Or(r,e){return(g(r)?br:X)(r,N(e))}function xr(r){return r==null?[]:(function(e,n){return jr(n,function(u){return e[u]})})(r,d(r))}function Ur(r){return r===void 0}function Er(r,e,n,u,s){return s(r,function(a,c,f){n=u?(u=!1,a):e(n,a,c,f)}),n}function Sr(r,e,n){var u=g(r)?lr:Er,s=arguments.length<3;return u(r,N(e),n,s,U)}o[$]=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[q]=o["[object WeakMap]"]=!1;var Fr=x&&1/I(new x([,-0]))[1]==1/0?function(r){return new x(r)}:C;function Br(r,e,n){var u=-1,s=P,a=r.length,c=!0,f=[],b=f;if(a>=200){var v=e?null:Fr(r);if(v)return I(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,L as d,T as e,Or as f,P as g,k as h,Ur as i,V as j,X as k,C as n,Sr as r,xr as v};
@@ -1 +0,0 @@
1
- import{U as r,C as s}from"./mermaid.core-BFFCqfOn.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,cT as ue,cU as mr,j as s,cV as pr,cW as fe,cX as Ie,cY as $,cZ as K,c_ as hr,c$ as xr,a as O,T as V,L as me,d0 as vt,d1 as qe,d2 as gt,d3 as bt,d4 as wt,d5 as fr,d6 as jt,d7 as Ve,d8 as vr,d9 as gr,c5 as br,da as yt,db as wr,K as Je,dc as jr,dd as yr,de as Nr,df as Sr,dg as _r,dh as Cr,di as Rr,cM as G,a_ as B,ay as Ar,cp as Tr,dj as Er,ax as Pr,dk as Lr,dl as zr,dm as Ir,dn as kr,dp as Dr,dq as Mr,dr as Fr,ds as Nt,C as Wr,dt as Hr,du as Or,dv as Ur,dw as Xr,dx as Yr,dy as Br,aB as pe,dz as qr,bQ as Vr,dA as Jr,dB as $r,dC as St,dD as Kr,a0 as Gr,dE as Qr,dF as _t,dG as Ct,dH as Zr,E as es,bW as ts,a2 as rs,dI as ss,al as os,am as ns,dJ as as,an as ls,dK as is,__tla as cs}from"./index-PmY0x4Zd.js";import{e as Rt,g as ds,__tla as us}from"./edit-page-CyTMQV2u.js";import{C as ms,u as At}from"./links-4B6ldZ5P.js";import{P as Tt}from"./empty-state-DIOGM_CU.js";import{M as $e,F as ps,A as hs,__tla as xs}from"./markdown-renderer-VDu-NBKB.js";import{i as fs}from"./isEmpty-D1t7Gran.js";import{__tla as vs}from"./storage-BNcWOH3-.js";import"./index-BJVyzkx5.js";import"./index-B_d_JZGI.js";import"./index-DkntzpX4.js";import"./index-qE8lHQ-N.js";import"./index-DCkzth56.js";import"./index-CXrWwFX6.js";import"./index-Brf2DwUM.js";import"./index-DZhOPkOB.js";import"./index-CerjupfZ.js";import"./index-WXJFkQHg.js";import"./index-BgXbBA39.js";import"./index-DFrGFNW1.js";import"./index-D3PqGupX.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-zrSUQXha.js";import"./trash-rxdjLzkf.js";import"./_createAggregator-ZRm2b6Zm.js";import"./_baseEach-9_logFrf.js";import{__tla as gs}from"./loro_wasm_bg-C1ks32Vm.js";import"./katex-LV4FpwlL.js";import"./between-horizontal-start-KiwU-a3C.js";let Et,bs=Promise.all([(()=>{try{return cs}catch{}})(),(()=>{try{return us}catch{}})(),(()=>{try{return xs}catch{}})(),(()=>{try{return vs}catch{}})(),(()=>{try{return gs}catch{}})()]).then(async()=>{var ke="ScrollArea",[Ke,ws]=pr(ke),[Pt,W]=Ke(ke),Ge=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:a=600,...l}=t,[i,c]=h.useState(null),[p,d]=h.useState(null),[u,m]=h.useState(null),[f,v]=h.useState(null),[w,C]=h.useState(null),[x,g]=h.useState(0),[_,y]=h.useState(0),[b,S]=h.useState(!1),[E,T]=h.useState(!1),N=ue(e,P=>c(P)),R=mr(o);return s.jsx(Pt,{scope:r,type:n,dir:R,scrollHideDelay:a,scrollArea:i,viewport:p,onViewportChange:d,content:u,onContentChange:m,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:b,onScrollbarXEnabledChange:S,scrollbarY:w,onScrollbarYChange:C,scrollbarYEnabled:E,onScrollbarYEnabledChange:T,onCornerWidthChange:g,onCornerHeightChange:y,children:s.jsx(fe.div,{dir:R,...l,ref:N,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":_+"px",...t.style}})})});Ge.displayName=ke;var Qe="ScrollAreaViewport",Ze=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,children:n,nonce:o,...a}=t,l=W(Qe,r),i=h.useRef(null),c=ue(e,i,l.onViewportChange);return s.jsxs(s.Fragment,{children:[s.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:o}),s.jsx(fe.div,{"data-radix-scroll-area-viewport":"",...a,ref:c,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...t.style},children:s.jsx("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Ze.displayName=Qe;var X="ScrollAreaScrollbar",De=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=W(X,t.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:l}=o,i=t.orientation==="horizontal";return h.useEffect(()=>(i?a(!0):l(!0),()=>{i?a(!1):l(!1)}),[i,a,l]),o.type==="hover"?s.jsx(Lt,{...n,ref:e,forceMount:r}):o.type==="scroll"?s.jsx(zt,{...n,ref:e,forceMount:r}):o.type==="auto"?s.jsx(et,{...n,ref:e,forceMount:r}):o.type==="always"?s.jsx(Me,{...n,ref:e}):null});De.displayName=X;var Lt=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=W(X,t.__scopeScrollArea),[a,l]=h.useState(!1);return h.useEffect(()=>{const i=o.scrollArea;let c=0;if(i){const p=()=>{window.clearTimeout(c),l(!0)},d=()=>{c=window.setTimeout(()=>l(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",p),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",p),i.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),s.jsx(Ie,{present:r||a,children:s.jsx(et,{"data-state":a?"visible":"hidden",...n,ref:e})})}),zt=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=W(X,t.__scopeScrollArea),a=t.orientation==="horizontal",l=we(()=>c("SCROLL_END"),100),[i,c]=(p="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,m)=>d[u][m]??u,p));var p,d;return h.useEffect(()=>{if(i==="idle"){const u=window.setTimeout(()=>c("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,o.scrollHideDelay,c]),h.useEffect(()=>{const u=o.viewport,m=a?"scrollLeft":"scrollTop";if(u){let f=u[m];const v=()=>{const w=u[m];f!==w&&(c("SCROLL"),l()),f=w};return u.addEventListener("scroll",v),()=>u.removeEventListener("scroll",v)}},[o.viewport,a,c,l]),s.jsx(Ie,{present:r||i!=="hidden",children:s.jsx(Me,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:e,onPointerEnter:$(t.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:$(t.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),et=h.forwardRef((t,e)=>{const r=W(X,t.__scopeScrollArea),{forceMount:n,...o}=t,[a,l]=h.useState(!1),i=t.orientation==="horizontal",c=we(()=>{if(r.viewport){const p=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;l(i?p:d)}},10);return Q(r.viewport,c),Q(r.content,c),s.jsx(Ie,{present:n||a,children:s.jsx(Me,{"data-state":a?"visible":"hidden",...o,ref:e})})}),Me=h.forwardRef((t,e)=>{const{orientation:r="vertical",...n}=t,o=W(X,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}}),p=nt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:p>0&&p<1,onThumbChange:m=>a.current=m,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:m=>l.current=m};function u(m,f){return(function(v,w,C,x="ltr"){const g=be(C),_=g/2,y=w||_,b=g-y,S=C.scrollbar.paddingStart+y,E=C.scrollbar.size-C.scrollbar.paddingEnd-b,T=C.content-C.viewport,N=x==="ltr"?[0,T]:[-1*T,0];return lt([S,E],N)(v)})(m,l.current,i,f)}return r==="horizontal"?s.jsx(It,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&a.current){const m=at(o.viewport.scrollLeft,i,o.dir);a.current.style.transform=`translate3d(${m}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=u(m,o.dir))}}):r==="vertical"?s.jsx(kt,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&a.current){const m=at(o.viewport.scrollTop,i);a.current.style.transform=`translate3d(0, ${m}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=u(m))}}):null}),It=h.forwardRef((t,e)=>{const{sizes:r,onSizesChange:n,...o}=t,a=W(X,t.__scopeScrollArea),[l,i]=h.useState(),c=h.useRef(null),p=ue(e,c,a.onScrollbarXChange);return h.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),s.jsx(rt,{"data-orientation":"horizontal",...o,ref:p,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 m=a.viewport.scrollLeft+d.deltaX;t.onWheelScroll(m),it(m,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,...o}=t,a=W(X,t.__scopeScrollArea),[l,i]=h.useState(),c=h.useRef(null),p=ue(e,c,a.onScrollbarYChange);return h.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),s.jsx(rt,{"data-orientation":"vertical",...o,ref:p,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 m=a.viewport.scrollTop+d.deltaY;t.onWheelScroll(m),it(m,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]=Ke(X),rt=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:a,onThumbPointerUp:l,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:p,onWheelScroll:d,onResize:u,...m}=t,f=W(X,r),[v,w]=h.useState(null),C=ue(e,N=>w(N)),x=h.useRef(null),g=h.useRef(""),_=f.viewport,y=n.content-n.viewport,b=K(d),S=K(c),E=we(u,10);function T(N){if(x.current){const R=N.clientX-x.current.left,P=N.clientY-x.current.top;p({x:R,y:P})}}return h.useEffect(()=>{const N=R=>{const P=R.target;(v==null?void 0:v.contains(P))&&b(R,y)};return document.addEventListener("wheel",N,{passive:!1}),()=>document.removeEventListener("wheel",N,{passive:!1})},[_,v,y,b]),h.useEffect(S,[n,S]),Q(v,E),Q(f.content,E),s.jsx(Dt,{scope:r,scrollbar:v,hasThumb:o,onThumbChange:K(a),onThumbPointerUp:K(l),onThumbPositionChange:S,onThumbPointerDown:K(i),children:s.jsx(fe.div,{...m,ref:C,style:{position:"absolute",...m.style},onPointerDown:$(t.onPointerDown,N=>{N.button===0&&(N.target.setPointerCapture(N.pointerId),x.current=v.getBoundingClientRect(),g.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),T(N))}),onPointerMove:$(t.onPointerMove,T),onPointerUp:$(t.onPointerUp,N=>{const R=N.target;R.hasPointerCapture(N.pointerId)&&R.releasePointerCapture(N.pointerId),document.body.style.webkitUserSelect=g.current,f.viewport&&(f.viewport.style.scrollBehavior=""),x.current=null})})})}),ve="ScrollAreaThumb",st=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=tt(ve,t.__scopeScrollArea);return s.jsx(Ie,{present:r||o.hasThumb,children:s.jsx(Mt,{ref:e,...n})})}),Mt=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,style:n,...o}=t,a=W(ve,r),l=tt(ve,r),{onThumbPositionChange:i}=l,c=ue(e,u=>l.onThumbChange(u)),p=h.useRef(void 0),d=we(()=>{p.current&&(p.current(),p.current=void 0)},100);return h.useEffect(()=>{const u=a.viewport;if(u){const m=()=>{if(d(),!p.current){const f=Wt(u,i);p.current=f,i()}};return i(),u.addEventListener("scroll",m),()=>u.removeEventListener("scroll",m)}},[a.viewport,d,i]),s.jsx(fe.div,{"data-state":l.hasThumb?"visible":"hidden",...o,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:$(t.onPointerDownCapture,u=>{const m=u.target.getBoundingClientRect(),f=u.clientX-m.left,v=u.clientY-m.top;l.onThumbPointerDown({x:f,y:v})}),onPointerUp:$(t.onPointerUp,l.onThumbPointerUp)})});st.displayName=ve;var Fe="ScrollAreaCorner",ot=h.forwardRef((t,e)=>{const r=W(Fe,t.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?s.jsx(Ft,{...t,ref:e}):null});ot.displayName=Fe;var Ft=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,...n}=t,o=W(Fe,r),[a,l]=h.useState(0),[i,c]=h.useState(0),p=!!(a&&i);return Q(o.scrollbarX,()=>{var u;const d=((u=o.scrollbarX)==null?void 0:u.offsetHeight)||0;o.onCornerHeightChange(d),c(d)}),Q(o.scrollbarY,()=>{var u;const d=((u=o.scrollbarY)==null?void 0:u.offsetWidth)||0;o.onCornerWidthChange(d),l(d)}),p?s.jsx(fe.div,{...n,ref:e,style:{width:a,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.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),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-o,l=e.content-e.viewport,i=a-n,c=xr(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 o(){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(o)})(),()=>window.cancelAnimationFrame(n)};function we(t,e){const r=K(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=K(e);hr(()=>{let n=0;if(t){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(t),()=>{window.cancelAnimationFrame(n),o.unobserve(t)}}},[t,r])}var ct=Ge,Ht=Ze,Ot=ot;const dt=h.forwardRef((t,e)=>{const r=O.c(15);let n,o,a,l,i,c,p,d;return r[0]!==t?({className:o,children:n,...a}=t,r[0]=t,r[1]=n,r[2]=o,r[3]=a):(n=r[1],o=r[2],a=r[3]),r[4]!==o?(l=V("relative overflow-hidden",o),r[4]=o,r[5]=l):l=r[5],r[6]!==n?(i=s.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=s.jsx(ut,{}),p=s.jsx(Ot,{}),r[8]=c,r[9]=p):(c=r[8],p=r[9]),r[10]!==a||r[11]!==e||r[12]!==l||r[13]!==i?(d=s.jsxs(ct,{ref:e,className:l,...a,children:[i,c,p]}),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=O.c(14);let n,o,a;r[0]!==t?({className:n,orientation:a,...o}=t,r[0]=t,r[1]=n,r[2]=o,r[3]=a):(n=r[1],o=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 p,d,u;return r[4]!==n||r[5]!==i||r[6]!==c?(p=V("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=p):p=r[7],r[8]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(st,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8],r[9]!==l||r[10]!==o||r[11]!==e||r[12]!==p?(u=s.jsx(De,{ref:e,orientation:l,className:p,...o,children:d}),r[9]=l,r[10]=o,r[11]=e,r[12]=p,r[13]=u):u=r[13],u});ut.displayName=De.displayName;const Ut=t=>{const e=O.c(13),{reasoning:r,index:n,isStreaming:o}=t,a=n===void 0?0:n,l=o!==void 0&&o,i=l?"reasoning":void 0;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(qe,{className:"h-3 w-3"}),e[0]=c):c=e[0];const p=l?"Thinking":"View reasoning";let d,u,m,f;return e[1]!==r.length||e[2]!==p?(d=s.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:s.jsxs("span",{className:"flex items-center gap-2",children:[c,p," (",r.length," ","chars)"]})}),e[1]=r.length,e[2]=p,e[3]=d):d=e[3],e[4]!==r?(u=s.jsx(gt,{className:"pb-2 px-2",children:s.jsx("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:s.jsx("div",{className:"pr-6",children:s.jsx($e,{content:r})})})}),e[4]=r,e[5]=u):u=e[5],e[6]!==d||e[7]!==u?(m=s.jsxs(bt,{value:"reasoning",className:"border-0",children:[d,u]}),e[6]=d,e[7]=u,e[8]=m):m=e[8],e[9]!==a||e[10]!==i||e[11]!==m?(f=s.jsx(wt,{type:"single",collapsible:!0,className:"w-full mb-2",value:i,children:m},a),e[9]=a,e[10]=i,e[11]=m,e[12]=f):f=e[12],f},Xt=fr({status:jt().default("success"),auth_required:vr().default(!1),action_url:Ve(),next_steps:Ve(),meta:Ve(),message:jt().nullish()}).passthrough(),Yt=t=>{const e=O.c(12),{data:r}=t;let n;if(e[0]!==r){const{status:o,auth_required:a,action_url:l,meta:i,next_steps:c,message:p,...d}=r;let u,m,f,v,w;e[2]===Symbol.for("react.memo_cache_sentinel")?(u=s.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=u):u=e[2],e[3]!==o?(m=s.jsx("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:o}),e[3]=o,e[4]=m):m=e[4],e[5]!==a?(f=a&&s.jsx("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=a,e[6]=f):f=e[6],e[7]!==m||e[8]!==f?(v=s.jsxs("div",{className:"flex items-center justify-between",children:[u,s.jsxs("div",{className:"flex items-center gap-2",children:[m,f]})]}),e[7]=m,e[8]=f,e[9]=v):v=e[9],e[10]!==p?(w=p&&s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(wr,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),s.jsx("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=w):w=e[11],n=s.jsxs("div",{className:"flex flex-col gap-1.5",children:[v,w,d&&s.jsx("div",{className:"space-y-3",children:Object.entries(d).map(Vt)})]}),e[0]=r,e[1]=n}else n=e[1];return n},Bt=t=>{const e=O.c(8),{result:r}=t;let n;e[0]!==r?(n=Xt.safeParse(r),e[0]=r,e[1]=n):n=e[1];const o=n;if(o.success){let i;return e[2]!==o.data?(i=s.jsx(Yt,{data:o.data}),e[2]=o.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=s.jsx("div",{className:"text-xs font-medium text-muted-foreground mb-1",children:a}),e[6]=a,e[7]=l):l=e[7],l},qt=t=>{const e=O.c(6),{input:r}=t;if(!(r&&r!==null))return null;const n=typeof r=="object"&&Object.keys(r).length>0;let o,a,l;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[0]=o):o=e[0],e[1]!==r||e[2]!==n?(a=n?JSON.stringify(r,null,2):String(r),e[1]=r,e[2]=n,e[3]=a):a=e[3],e[4]!==a?(l=s.jsxs("div",{className:"space-y-2",children:[o,s.jsx("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:a})]}),e[4]=a,e[5]=l):l=e[5],l},mt=t=>{const e=O.c(38),{toolName:r,result:n,error:o,index:a,state:l,className:i,input:c}=t,p=a===void 0?0:a,d=l==="output-available"&&(n||o),u=o?"error":d?"success":"loading";let m;e[0]!==u?(m=()=>{switch(u){case"loading":return s.jsx(yt,{className:"h-3 w-3 animate-spin"});case"error":return s.jsx(br,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return s.jsx(ms,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return s.jsx(gr,{className:"h-3 w-3"})}},e[0]=u,e[1]=m):m=e[1];const f=m;let v;e[2]!==o||e[3]!==d||e[4]!==u?(v=()=>u==="loading"?"Running":o?"Failed":d?"Done":"Tool call",e[2]=o,e[3]=d,e[4]=u,e[5]=v):v=e[5];const w=v,C=`tool-${p}`;let x;e[6]!==i?(x=V("w-full",i),e[6]=i,e[7]=x):x=e[7];const g=u==="error"&&"text-[var(--red-11)]/80",_=u==="success"&&"text-[var(--grass-11)]/80";let y,b;e[8]!==g||e[9]!==_?(y=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",g,_),e[8]=g,e[9]=_,e[10]=y):y=e[10],e[11]!==f?(b=f(),e[11]=f,e[12]=b):b=e[12];const S=w();let E,T,N,R,P,k,D,z;return e[13]!==r?(E=(function(F){return F.replace("tool-","")})(r),e[13]=r,e[14]=E):E=e[14],e[15]!==E?(T=s.jsx("code",{className:"font-mono text-xs",children:E}),e[15]=E,e[16]=T):T=e[16],e[17]!==S||e[18]!==T||e[19]!==b?(N=s.jsxs("span",{className:"flex items-center gap-1",children:[b,S,":",T]}),e[17]=S,e[18]=T,e[19]=b,e[20]=N):N=e[20],e[21]!==N||e[22]!==y?(R=s.jsx(vt,{className:y,children:N}),e[21]=N,e[22]=y,e[23]=R):R=e[23],e[24]!==o||e[25]!==d||e[26]!==c||e[27]!==n?(P=d&&s.jsxs("div",{className:"space-y-3",children:[s.jsx(qt,{input:c}),n!=null&&s.jsx(Bt,{result:n}),o&&s.jsxs("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[s.jsxs("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[s.jsx("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),s.jsx("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:o})]})]}),e[24]=o,e[25]=d,e[26]=c,e[27]=n,e[28]=P):P=e[28],e[29]!==P?(k=s.jsx(gt,{className:"py-2 px-2",children:P}),e[29]=P,e[30]=k):k=e[30],e[31]!==R||e[32]!==k?(D=s.jsxs(bt,{value:"tool-call",className:"border-0",children:[R,k]}),e[31]=R,e[32]=k,e[33]=D):D=e[33],e[34]!==D||e[35]!==C||e[36]!==x?(z=s.jsx(wt,{type:"single",collapsible:!0,className:x,children:D},C),e[34]=D,e[35]=C,e[36]=x,e[37]=z):z=e[37],z};function Vt(t){const[e,r]=t;return fs(r)?null:s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[s.jsx("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),s.jsx("pre",{className:"bg-[var(--slate-2)] p-2 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 Jt=new Set(["openai","google","anthropic"]),$t=["image/*","text/*"],Kt=({onNewChat:t,activeChatId:e,setActiveChat:r})=>{const{handleClick:n}=At(),o=Je(Rt),{locale:a}=ts(),l=h.useMemo(()=>[...o.chats.values()].sort((i,c)=>c.updatedAt-i.updatedAt),[o.chats]);return s.jsxs("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[s.jsx(pe,{content:"New chat",children:s.jsx(B,{variant:"text",size:"icon",onClick:t,children:s.jsx(rs,{className:"h-4 w-4"})})}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(pe,{content:"AI Settings",children:s.jsx(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:()=>n("ai"),children:s.jsx(ss,{className:"h-4 w-4"})})}),s.jsxs(os,{children:[s.jsx(pe,{content:"Previous chats",children:s.jsx(ns,{asChild:!0,children:s.jsx(B,{variant:"text",size:"icon",children:s.jsx(as,{className:"h-4 w-4"})})})}),s.jsx(ls,{className:"w-[520px] p-0",align:"start",side:"right",children:s.jsx(dt,{className:"h-[500px] p-4",children:s.jsxs("div",{className:"space-y-4",children:[l.length===0&&s.jsx(Tt,{title:"No chats yet",description:"Start a new chat to get started",icon:s.jsx(qe,{})}),l.map(i=>s.jsxs("button",{className:V("w-full p-3 rounded-md cursor-pointer hover:bg-accent text-left",i.id===e&&"bg-accent"),onClick:()=>{r(i.id)},type:"button",children:[s.jsx("div",{className:"font-medium",children:i.title}),s.jsx("div",{className:"text-sm text-muted-foreground",children:is(i.updatedAt,a)})]},i.id))]})})})]})]})]})},pt=h.memo(t=>{const e=O.c(15),{message:r,index:n,onEdit:o,isStreamingReasoning:a,isLast:l}=t;let i;e[0]!==n||e[1]!==o?(i=w=>{var _,y;const C=(_=w.parts)==null?void 0:_.filter(Gt),x=C==null?void 0:C.map(Qt).join(`
2
- `),g=(y=w.parts)==null?void 0:y.filter(Zt);return s.jsxs("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[g==null?void 0:g.map(er),s.jsx(Nt,{value:x,placeholder:"Type your message...",onChange:tr,onSubmit:(b,S)=>{S.trim()&&o(n,S)},onClose:rr},w.id)]})},e[0]=n,e[1]=o,e[2]=i):i=e[2];const c=i;let p;e[3]!==l||e[4]!==a?(p=w=>{const C=w.parts.filter(sr).map(or).join(`
3
- `);return s.jsxs("div",{className:"w-[95%] break-words",children:[s.jsx("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:s.jsx(Wr,{className:"h-3 w-3",value:C||""})}),w.parts.map((x,g)=>{if((function(_){return _.type.startsWith("tool-")})(x))return s.jsx(mt,{index:g,toolName:x.type,result:x.output,className:"my-2",state:x.state,input:x.input},g);switch(x.type){case"text":return s.jsx($e,{content:x.text},g);case"reasoning":return s.jsx(Ut,{reasoning:x.text,index:g,isStreaming:l&&a&&g===(w.parts.length||0)-1},g);case"dynamic-tool":return s.jsx(mt,{index:g,toolName:x.type,result:x.output,state:x.state,input:x.input,className:"my-2"},g);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 s.jsx("div",{className:"text-xs text-muted-foreground",children:s.jsx($e,{content:JSON.stringify(x,null,2)})},g)}catch(_){const y=_;return me.error("Error rendering part:",x.type,y),null}}})]})},e[3]=l,e[4]=a,e[5]=p):p=e[5];const d=p,u=r.role==="user"?"justify-end":"justify-start";let m,f,v;return e[6]!==u?(m=V("flex group relative",u),e[6]=u,e[7]=m):m=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]!==m||e[13]!==f?(v=s.jsx("div",{className:m,children:f}),e[12]=m,e[13]=f,e[14]=v):v=e[14],v});pt.displayName="ChatMessage";const ht=h.memo(t=>{var I;const e=O.c(37),{isEmpty:r,onSendClick:n,isLoading:o,onStop:a,fileInputRef:l,onAddFiles:i,onAddContext:c}=t,p=Je(yr),d=(p==null?void 0:p.mode)||"manual",u=((I=p==null?void 0:p.models)==null?void 0:I.chat_model)||Nr,m=Sr.parse(u).providerId,{saveModeChange:f}=_r();let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=[{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]=v):v=e[0];const w=v,C=Jt.has(m);let x,g,_,y,b,S,E,T,N;e[1]!==d?(x=s.jsx(Hr,{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")?(g=s.jsx(Or,{children:"AI Mode"}),e[3]=g):g=e[3],e[4]!==w?(_=s.jsx(Cr,{children:s.jsxs(Rr,{children:[g,w.map(nr)]})}),e[4]=w,e[5]=_):_=e[5],e[6]!==d||e[7]!==f||e[8]!==x||e[9]!==_?(y=s.jsx(Ur,{feature:"mcp_docs",children:s.jsxs(Xr,{value:d,onValueChange:f,children:[x,_]})}),e[6]=d,e[7]=f,e[8]=x,e[9]=_,e[10]=y):y=e[10],e[11]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx(Yr,{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]=b):b=e[11],e[12]!==y?(S=s.jsxs("div",{className:"flex items-center gap-2",children:[y,b]}),e[12]=y,e[13]=S):S=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(E=s.jsx(Br,{className:"h-3.5 w-3.5"}),e[14]=E):E=e[14],e[15]!==c?(T=s.jsx(pe,{content:"Add context",children:s.jsx(B,{variant:"text",size:"icon",onClick:c,children:E})}),e[15]=c,e[16]=T):T=e[16],e[17]!==l||e[18]!==C||e[19]!==i?(N=C&&s.jsxs(s.Fragment,{children:[s.jsx(pe,{content:"Attach a file",children:s.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:s.jsx(qr,{className:"h-3.5 w-3.5"})})}),s.jsx(Vr,{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]=C,e[19]=i,e[20]=N):N=e[20];const R=o?"Stop":"Submit",P=o?a:n,k=!o&&r;let D,z,F,U,q;return e[21]!==o?(D=o?s.jsx(Jr,{className:"h-3 w-3 fill-current"}):s.jsx($r,{className:"h-3 w-3"}),e[21]=o,e[22]=D):D=e[22],e[23]!==P||e[24]!==k||e[25]!==D?(z=s.jsx(B,{variant:"text",size:"sm",className:"h-6 w-6 p-0 hover:bg-muted/30 cursor-pointer",onClick:P,disabled:k,children:D}),e[23]=P,e[24]=k,e[25]=D,e[26]=z):z=e[26],e[27]!==R||e[28]!==z?(F=s.jsx(pe,{content:R,children:z}),e[27]=R,e[28]=z,e[29]=F):F=e[29],e[30]!==N||e[31]!==F||e[32]!==T?(U=s.jsxs("div",{className:"flex flex-row",children:[T,N,F]}),e[30]=N,e[31]=F,e[32]=T,e[33]=U):U=e[33],e[34]!==U||e[35]!==S?(q=s.jsx(St,{children:s.jsxs("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row items-center justify-between",children:[S,U]})}),e[34]=U,e[35]=S,e[36]=q):q=e[36],q});ht.displayName="ChatInputFooter";const We=h.memo(t=>{const e=O.c(29),{placeholder:r,input:n,inputClassName:o,setInput:a,onSubmit:l,inputRef:i,isLoading:c,onStop:p,fileInputRef:d,onAddFiles:u,onClose:m}=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 v=G(f);let w;e[3]!==o?(w=V("px-2 py-3 flex-1",o),e[3]=o,e[4]=w):w=e[4];const C=r||"Type your message...";let x,g;e[5]!==n||e[6]!==i||e[7]!==u||e[8]!==m||e[9]!==l||e[10]!==a||e[11]!==C?(x=s.jsx(Nt,{inputRef:i,value:n,onChange:a,onSubmit:l,onClose:m,onAddFiles:u,placeholder:C}),e[5]=n,e[6]=i,e[7]=u,e[8]=m,e[9]=l,e[10]=a,e[11]=C,e[12]=x):x=e[12],e[13]!==w||e[14]!==x?(g=s.jsx("div",{className:w,children:x}),e[13]=w,e[14]=x,e[15]=g):g=e[15];const _=!n.trim();let y,b,S;return e[16]!==i?(y=()=>Kr(i),e[16]=i,e[17]=y):y=e[17],e[18]!==d||e[19]!==v||e[20]!==c||e[21]!==u||e[22]!==p||e[23]!==_||e[24]!==y?(b=s.jsx(ht,{isEmpty:_,onAddContext:y,onSendClick:v,isLoading:c,onStop:p,fileInputRef:d,onAddFiles:u}),e[18]=d,e[19]=v,e[20]=c,e[21]=u,e[22]=p,e[23]=_,e[24]=y,e[25]=b):b=e[25],e[26]!==g||e[27]!==b?(S=s.jsxs("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[g,b]}),e[26]=g,e[27]=b,e[28]=S):S=e[28],S});We.displayName="ChatInput";let xt;Et=()=>{const t=O.c(6),e=Je(jr),{handleClick:r}=At();if(!e){let o,a,l;return t[0]!==r?(o=s.jsx(B,{variant:"outline",size:"sm",onClick:()=>r("ai"),children:"Edit AI settings"}),t[0]=r,t[1]=o):o=t[1],t[2]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(qe,{}),t[2]=a):a=t[2],t[3]!==o?(l=s.jsx(Tt,{title:"Chat with AI",description:"AI is currently disabled. Add your API key to enable.",action:o,icon:a}),t[3]=o,t[4]=l):l=t[4],l}let n;return t[5]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(xt,{}),t[5]=n):n=t[5],n},xt=()=>{const t=O.c(86),e=Ar(Rt),[r,n]=Tr(ds),[o,a]=h.useState(""),[l,i]=h.useState(""),[c,p]=h.useState(),d=h.useRef(null),u=h.useRef(null),m=h.useRef(null),f=h.useRef(null),v=h.useRef(null),w=Er(),{invokeAiTool:C}=Pr(),x=r==null?void 0:r.id;let g,_,y;t[0]!==(r==null?void 0:r.messages)?(g=(r==null?void 0:r.messages)||[],t[0]=r==null?void 0:r.messages,t[1]=g):g=t[1],t[2]!==w?(_=new Lr({api:w.getAiURL("chat").toString(),headers:w.headers(),prepareSendMessagesRequest:lr}),t[2]=w,t[3]=_):_=t[3],t[4]!==e?(y=j=>{const{messages:A}=j;e(L=>(({chatState:M,chatId:ce,messages:J})=>{if(!ce)return me.warn("No active chat"),M;const de=M.chats.get(ce);if(!de)return me.warn("No active chat"),M;const ft=new Map(M.chats),ur=Date.now();return ft.set(de.id,{...de,messages:J,updatedAt:ur}),{...M,chats:ft}})({chatState:L,chatId:L.activeChatId,messages:A}))},t[4]=e,t[5]=y):y=t[5];const{messages:b,sendMessage:S,error:E,status:T,regenerate:N,stop:R,addToolResult:P,id:k}=zr({id:x,sendAutomaticallyWhen:ar,messages:g,transport:_,onFinish:y,onToolCall:async j=>{const{toolCall:A}=j;await Ir({invokeAiTool:C,addToolResult:D,toolCall:{toolName:A.toolName,toolCallId:A.toolCallId,input:A.input}})},onError:ir}),D=P;let z;t[6]===Symbol.for("react.memo_cache_sentinel")?(z=j=>{if(j.length===0)return;let A=0;for(const L of j)A+=L.size;A>52428800?Gr({title:"File size exceeds 50MB limit",description:"Please remove some files and try again."}):p(L=>[...L??[],...j])},t[6]=z):z=t[6];const F=G(z);let U;t[7]!==c?(U=j=>{c&&p(c.filter(A=>A!==j))},t[7]=c,t[8]=U):U=t[8];const q=G(U),I=T==="submitted"||T==="streaming";let Y;t[9]!==I||t[10]!==b?(Y=I&&b.length>0&&kr(b),t[9]=I,t[10]=b,t[11]=Y):Y=t[11];const he=Y;let je,ye,Ne;t[12]===Symbol.for("react.memo_cache_sentinel")?(je=()=>{requestAnimationFrame(()=>{if(m.current){const j=m.current;j.scrollTop=j.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]!==k||t[16]!==S||t[17]!==e?(Ne=async(j,A)=>{const L=Date.now(),M={id:k,title:Qr(j),messages:[],createdAt:L,updatedAt:L};e(J=>{const de=new Map(J.chats);return de.set(M.id,M),{...J,chats:de,activeChatId:M.id}});const ce=A&&A.length>0?await _t(A):void 0;S({role:"user",parts:[{type:"text",text:j},...ce??[]]}),p(void 0),a("")},t[15]=k,t[16]=S,t[17]=e,t[18]=Ne):Ne=t[18];const He=Ne;let Se;t[19]!==n?(Se=()=>{n(null),a(""),i(""),p(void 0)},t[19]=n,t[20]=Se):Se=t[20];const Oe=G(Se);let _e;t[21]!==b||t[22]!==S?(_e=(j,A)=>{var J;const L=b[j],M=(J=L.parts)==null?void 0:J.filter(cr),ce=L.id;S({messageId:ce,role:"user",parts:[{type:"text",text:A},...M]})},t[21]=b,t[22]=S,t[23]=_e):_e=t[23];const xe=G(_e);let Ce;t[24]!==c||t[25]!==S?(Ce=async(j,A)=>{var M;if(!A.trim())return;(M=u.current)!=null&&M.view&&Ct(u.current.view);const L=c?await _t(c):void 0;j==null||j.preventDefault(),S({text:A,files:L}),a(""),p(void 0)},t[24]=c,t[25]=S,t[26]=Ce):Ce=t[26];const Ue=G(Ce);let Re;t[27]!==N?(Re=()=>{N()},t[27]=N,t[28]=Re):Re=t[28];const Xe=Re;let Ae;t[29]!==He||t[30]!==c||t[31]!==l?(Ae=()=>{var j;l.trim()&&((j=d.current)!=null&&j.view&&Ct(d.current.view),He(l.trim(),c))},t[29]=He,t[30]=c,t[31]=l,t[32]=Ae):Ae=t[32];const Ye=G(Ae);let Te;t[33]===Symbol.for("react.memo_cache_sentinel")?(Te=()=>{var j,A;return(A=(j=d.current)==null?void 0:j.editor)==null?void 0:A.blur()},t[33]=Te):Te=t[33];const dr=Te,H=b.length===0;let Ee;t[34]!==Ue||t[35]!==Ye||t[36]!==o||t[37]!==I||t[38]!==H||t[39]!==l||t[40]!==F||t[41]!==R?(Ee=H?s.jsx(We,{placeholder:`Ask anything, ${Zr} to include context about tables or dataframes`,input:l,inputRef:d,inputClassName:"px-1 py-0",setInput:i,onSubmit:Ye,isLoading:I,onStop:R,fileInputRef:f,onAddFiles:F,onClose:dr},"new-thread-input"):s.jsx(We,{input:o,setInput:a,onSubmit:Ue,inputRef:u,isLoading:I,onStop:R,onClose:()=>{var j,A;return(A=(j=u.current)==null?void 0:j.editor)==null?void 0:A.blur()},fileInputRef:f,onAddFiles:F}),t[34]=Ue,t[35]=Ye,t[36]=o,t[37]=I,t[38]=H,t[39]=l,t[40]=F,t[41]=R,t[42]=Ee):Ee=t[42];const Z=Ee;let Pe;t[43]!==c||t[44]!==H||t[45]!==q?(Pe=c&&c.length>0&&s.jsx("div",{className:V("flex flex-row gap-1 flex-wrap p-1",H&&"py-2 px-1"),children:c==null?void 0:c.map(j=>s.jsx(ps,{file:j,onRemove:()=>q(j)},j.name))}),t[43]=c,t[44]=H,t[45]=q,t[46]=Pe):Pe=t[46];const ee=Pe,Be=r==null?void 0:r.id;let te,re,se,oe,ne,Le,ae,le,ie,ze;if(t[47]!==Oe||t[48]!==n||t[49]!==Be?(te=s.jsx(St,{children:s.jsx(Kt,{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]!==H?(re=H&&s.jsxs("div",{className:"rounded-md border bg-background",children:[ee,Z]}),t[51]=Z,t[52]=ee,t[53]=H,t[54]=re):re=t[54],t[55]!==xe||t[56]!==he||t[57]!==b){let j;t[59]!==xe||t[60]!==he||t[61]!==b.length?(j=(A,L)=>s.jsx(pt,{message:A,index:L,onEdit:xe,isStreamingReasoning:he,isLast:L===b.length-1},A.id),t[59]=xe,t[60]=he,t[61]=b.length,t[62]=j):j=t[62],se=b.map(j),t[55]=xe,t[56]=he,t[57]=b,t[58]=se}else se=t[58];return t[63]!==I?(oe=I&&s.jsx("div",{className:"flex justify-center py-4",children:s.jsx(yt,{className:"h-4 w-4 animate-spin"})}),t[63]=I,t[64]=oe):oe=t[64],t[65]!==E||t[66]!==Xe?(ne=E&&s.jsxs("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[s.jsx(es,{error:E}),s.jsx(B,{variant:"outline",size:"sm",onClick:Xe,children:"Retry"})]}),t[65]=E,t[66]=Xe,t[67]=ne):ne=t[67],t[68]===Symbol.for("react.memo_cache_sentinel")?(Le=s.jsx("div",{ref:v}),t[68]=Le):Le=t[68],t[69]!==re||t[70]!==se||t[71]!==oe||t[72]!==ne?(ae=s.jsxs("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:m,children:[re,se,oe,ne,Le]}),t[69]=re,t[70]=se,t[71]=oe,t[72]=ne,t[73]=ae):ae=t[73],t[74]!==I||t[75]!==R?(le=I&&s.jsx("div",{className:"w-full flex justify-center items-center z-20 border-t",children:s.jsx(B,{variant:"linkDestructive",size:"sm",onClick:R,children:"Stop"})}),t[74]=I,t[75]=R,t[76]=le):le=t[76],t[77]!==Z||t[78]!==ee||t[79]!==H?(ie=!H&&s.jsxs(s.Fragment,{children:[ee,Z]}),t[77]=Z,t[78]=ee,t[79]=H,t[80]=ie):ie=t[80],t[81]!==te||t[82]!==ae||t[83]!==le||t[84]!==ie?(ze=s.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 Qt(t){return t.text}function Zt(t){return t.type==="file"}function er(t,e){return s.jsx(hs,{attachment:t},e)}function tr(){}function rr(){}function sr(t){return t.type==="text"}function or(t){return t.text}function nr(t){return s.jsx(Dr,{value:t.value,className:"text-xs",children:s.jsxs("div",{className:"flex flex-col",children:[t.label,s.jsx("div",{className:"text-muted-foreground text-xs pt-1 block",children:t.subtitle})]})},t.value)}function ar(t){const{messages:e}=t;return Mr(e)}async function lr(t){const e=await Fr(t.messages);return{body:{...t,...e}}}function ir(t){me.error("An error occurred:",t)}function cr(t){return t.type==="file"}});export{bs as __tla,Et as default};
@@ -1 +0,0 @@
1
- import{s,c as t,a,C as o}from"./chunk-K7UQS3LO-DEKMIknX.js";import{_ as i}from"./mermaid.core-BFFCqfOn.js";import"./transform-D9VCJYws.js";import"./chunk-FMBD7UC4-Bd0Czs-J.js";import"./chunk-55IACEB6-DZAiDJxy.js";import"./chunk-QN33PNHL-E0jwHU_n.js";import"./index-PmY0x4Zd.js";import"./step-BwsUM5iJ.js";import"./isEmpty-D1t7Gran.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-DEKMIknX.js";import{_ as i}from"./mermaid.core-BFFCqfOn.js";import"./transform-D9VCJYws.js";import"./chunk-FMBD7UC4-Bd0Czs-J.js";import"./chunk-55IACEB6-DZAiDJxy.js";import"./chunk-QN33PNHL-E0jwHU_n.js";import"./index-PmY0x4Zd.js";import"./step-BwsUM5iJ.js";import"./isEmpty-D1t7Gran.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-C5LFcyNC.js";function o(r){return n(r,4)}export{o as c};
@@ -1 +0,0 @@
1
- import{a as V,T as M,b8 as Pe,b9 as De,j as n,ba as Le,bb as ae,av as se,bc as Ae,bd as ze,be as Ee,bf as ne,bg as Ve,d as F,ay as re,bh as oe,K as X,bi as le,bj as Be,bk as me,b as ce,bl as ie,a_ as Y,a2 as de,bm as Ke,bn as Me,bo as Oe,bp as Ge,bq as He,ax as Je,br as Re,bs as Ue,aB as Z,bt as We,bu as pe,bv as ue,bw as Q,bx as Xe,by as Ye,S as Ze,bz as he,bA as be,bB as xe,bC as ee,bD as Qe,bE as et,bF as tt,aI as at,bG as st,bH as fe,bI as nt,bJ as rt,bK as ot,bL as lt,C as mt,bM as ct,bN as it,bO as dt,__tla as pt}from"./index-PmY0x4Zd.js";import{b as ut,d as ht,__tla as bt}from"./storage-BNcWOH3-.js";import{P as xt}from"./empty-state-DIOGM_CU.js";import{A as ge,__tla as ft}from"./edit-page-CyTMQV2u.js";import{s as je}from"./sortBy-D47H6Vyl.js";import"./index-BJVyzkx5.js";import"./index-B_d_JZGI.js";import"./index-DkntzpX4.js";import"./index-qE8lHQ-N.js";import"./index-DCkzth56.js";import"./index-CXrWwFX6.js";import"./index-Brf2DwUM.js";import"./index-DZhOPkOB.js";import"./index-CerjupfZ.js";import"./index-WXJFkQHg.js";import"./index-BgXbBA39.js";import"./index-DFrGFNW1.js";import"./index-D3PqGupX.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-zrSUQXha.js";import"./trash-rxdjLzkf.js";import"./links-4B6ldZ5P.js";import"./_createAggregator-ZRm2b6Zm.js";import"./_baseEach-9_logFrf.js";import{__tla as gt}from"./loro_wasm_bg-C1ks32Vm.js";import"./_baseMap-NzEbKt5c.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=V.c(8),{variableName:t,className:a}=s;let o;e[0]!==t?(o=()=>{const u=(function(f){const i=Le.get(ae)[f];if(i)return i.declaredBy[0]})(t);if(!u)return;const N=Pe(u);N&&De(N,t)},e[0]=t,e[1]=o):o=e[1];const c=o;let r,j;return e[2]!==a?(r=M("text-link opacity-80 hover:opacity-100 hover:underline",a),e[2]=a,e[3]=r):r=e[3],e[4]!==c||e[5]!==r||e[6]!==t?(j=n.jsx("button",{type:"button",onClick:c,className:r,children:t}),e[4]=c,e[5]=r,e[6]=t,e[7]=j):j=e[7],j},ye=se(s=>{const e=s(Ae),t=s(ae),a=s(ze);return je(e,o=>{if(!o.variable_name)return-1;const c=Object.values(t).find(j=>j.name===o.variable_name);if(!c)return 0;const r=a.inOrderIds.indexOf(c.declaredBy[0]);return r===-1?0:r})}),we=se(s=>{const e=new Map(s(Ee));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===Ve&&a.databases[0].schemas.length===0&&e.delete(t))}return je([...e.values()],t=>ne.has(t.name)?1:0)}),ve=()=>{const s=V.c(32),[e,t]=F.useState(""),a=re(oe),o=X(ye),c=X(we);if(o.length===0&&c.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 j,u,N,f,i,b,x,m,g,l;if(s[1]!==a?(j=d=>{a(d.length>0),t(d)},s[1]=a,s[2]=j):j=s[2],s[3]!==e||s[4]!==j?(u=n.jsx(Ke,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:j,rootClassName:"flex-1 border-r"}),s[3]=e,s[4]=j,s[5]=u):u=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(Me,{className:"h-4 w-4"})}),s[6]=r,s[7]=N):N=s[7],s[8]===Symbol.for("react.memo_cache_sentinel")?(f=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]=f):f=s[8],s[9]!==u||s[10]!==N?(i=n.jsxs("div",{className:"flex items-center w-full",children:[u,N,f]}),s[9]=u,s[10]=N,s[11]=i):i=s[11],s[12]!==c||s[13]!==r||s[14]!==e){let d;s[16]!==r||s[17]!==e?(d=h=>n.jsx(Se,{connection:h,hasChildren:h.databases.length>0,children:h.databases.map(p=>n.jsx(Ce,{engineName:h.name,database:p,hasSearch:r,children:n.jsx($e,{schemas:p.schemas,defaultSchema:h.default_schema,defaultDatabase:h.default_database,engineName:h.name,databaseName:p.name,hasSearch:r,searchValue:e})},p.name))},h.name),s[16]=r,s[17]=e,s[18]=d):d=s[18],b=c.map(d),s[12]=c,s[13]=r,s[14]=e,s[15]=b}else b=s[15];return s[19]!==c.length||s[20]!==o.length?(x=c.length>0&&o.length>0&&n.jsxs(le,{children:[n.jsx(Be,{className:"h-4 w-4 text-muted-foreground"}),n.jsx("span",{className:"text-xs",children:"Python"})]}),s[19]=c.length,s[20]=o.length,s[21]=x):x=s[21],s[22]!==e||s[23]!==o?(m=o.length>0&&n.jsx(te,{tables:o,searchValue:e}),s[22]=e,s[23]=o,s[24]=m):m=s[24],s[25]!==b||s[26]!==x||s[27]!==m?(g=n.jsxs(Oe,{className:"flex flex-col",children:[b,x,m]}),s[25]=b,s[26]=x,s[27]=m,s[28]=g):g=s[28],s[29]!==i||s[30]!==g?(l=n.jsxs(Ge,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[i,g]}),s[29]=i,s[30]=g,s[31]=l):l=s[31],l},Se=s=>{const e=V.c(26),{connection:t,children:a,hasChildren:o}=s,c=t.name===He,r=c?"In-Memory":t.name,{previewDataSourceConnection:j}=Je(),[u,N]=F.useState(!1);let f;e[0]!==t.name||e[1]!==j?(f=async()=>{N(!0),await j({engine:t.name}),setTimeout(()=>N(!1),500)},e[0]=t.name,e[1]=j,e[2]=f):f=e[2];const i=f;let b,x,m;e[3]!==t.dialect?(b=n.jsx(Re,{className:"h-4 w-4 text-muted-foreground",name:t.dialect}),e[3]=t.dialect,e[4]=b):b=e[4],e[5]!==t.dialect?(x=Ue(t.dialect),e[5]=t.dialect,e[6]=x):x=e[6],e[7]!==x?(m=n.jsx("span",{className:"text-xs",children:x}),e[7]=x,e[8]=m):m=e[8];const g=r;let l,d,h,p,_;return e[9]!==g?(l=n.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",n.jsx(_e,{variableName:g}),")"]}),e[9]=g,e[10]=l):l=e[10],e[11]!==i||e[12]!==c||e[13]!==u?(d=!c&&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(We,{className:M("h-4 w-4 text-muted-foreground hover:text-foreground",u&&"animate-[spin_0.5s]")})})}),e[11]=i,e[12]=c,e[13]=u,e[14]=d):d=e[14],e[15]!==b||e[16]!==m||e[17]!==l||e[18]!==d?(h=n.jsxs(le,{children:[b,m,l,d]}),e[15]=b,e[16]=m,e[17]=l,e[18]=d,e[19]=h):h=e[19],e[20]!==a||e[21]!==o?(p=o?a:n.jsx(Q,{content:"No databases available",className:"pl-2"}),e[20]=a,e[21]=o,e[22]=p):p=e[22],e[23]!==h||e[24]!==p?(_=n.jsxs(n.Fragment,{children:[h,p]}),e[23]=h,e[24]=p,e[25]=_):_=e[25],_},Ce=s=>{const e=V.c(25),{hasSearch:t,engineName:a,database:o,children:c}=s,[r,j]=F.useState(!1),[u,N]=F.useState(!1),[f,i]=F.useState(t);let b;f!==t&&(i(t),j(t)),e[0]!==r||e[1]!==u?(b=()=>{j(!r),N(!u)},e[0]=r,e[1]=u,e[2]=b):b=e[2];const x=`${a}:${o.name}`;let m;e[3]!==r?(m=n.jsx(xe,{isExpanded:r}),e[3]=r,e[4]=m):m=e[4];const g=u&&r?"text-foreground":"text-muted-foreground";let l,d;e[5]!==g?(l=M("h-4 w-4",g),e[5]=g,e[6]=l):l=e[6],e[7]!==l?(d=n.jsx(ie,{className:l}),e[7]=l,e[8]=d):d=e[8];const h=u&&r&&"font-semibold";let p,_,y,w;e[9]!==h?(p=M(h),e[9]=h,e[10]=p):p=e[10],e[11]!==o.name?(_=o.name===""?n.jsx("i",{children:"Not connected"}):o.name,e[11]=o.name,e[12]=_):_=e[12],e[13]!==p||e[14]!==_?(y=n.jsx("span",{className:p,children:_}),e[13]=p,e[14]=_,e[15]=y):y=e[15],e[16]!==b||e[17]!==y||e[18]!==x||e[19]!==m||e[20]!==d?(w=n.jsxs(ee,{className:"text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",onSelect:b,value:x,children:[m,d,y]}),e[16]=b,e[17]=y,e[18]=x,e[19]=m,e[20]=d,e[21]=w):w=e[21];const v=r&&c;let S;return e[22]!==w||e[23]!==v?(S=n.jsxs(n.Fragment,{children:[w,v]}),e[22]=w,e[23]=v,e[24]=S):S=e[24],S},$e=s=>{const e=V.c(20),{schemas:t,defaultSchema:a,defaultDatabase:o,engineName:c,databaseName:r,hasSearch:j,searchValue:u}=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,f;if(e[1]!==r||e[2]!==o||e[3]!==a||e[4]!==c||e[5]!==j||e[6]!==t||e[7]!==u){let i;e[9]!==u?(i=m=>!u||m.tables.some(g=>g.name.toLowerCase().includes(u.toLowerCase())),e[9]=u,e[10]=i):i=e[10];const b=t.filter(i);let x;e[11]!==r||e[12]!==o||e[13]!==a||e[14]!==c||e[15]!==j||e[16]!==u?(x=m=>n.jsx(ke,{databaseName:r,schema:m,hasSearch:j,children:n.jsx(te,{tables:m.tables,searchValue:u,sqlTableContext:{engine:c,database:r,schema:m.name,defaultSchema:a,defaultDatabase:o}})},m.name),e[11]=r,e[12]=o,e[13]=a,e[14]=c,e[15]=j,e[16]=u,e[17]=x):x=e[17],N=b.map(x),e[1]=r,e[2]=o,e[3]=a,e[4]=c,e[5]=j,e[6]=t,e[7]=u,e[8]=N}else N=e[8];return e[18]!==N?(f=n.jsx(n.Fragment,{children:N}),e[18]=N,e[19]=f):f=e[19],f},ke=s=>{const e=V.c(23),{databaseName:t,schema:a,children:o,hasSearch:c}=s,[r,j]=F.useState(c),[u,N]=F.useState(!1),f=`${t}:${a.name}`;if(be(a.name))return o;let i,b;e[0]!==r||e[1]!==u?(i=()=>{j(!r),N(!u)},e[0]=r,e[1]=u,e[2]=i):i=e[2],e[3]!==r?(b=n.jsx(xe,{isExpanded:r}),e[3]=r,e[4]=b):b=e[4];const x=u&&r&&"text-foreground";let m,g;e[5]!==x?(m=M("h-4 w-4 text-muted-foreground",x),e[5]=x,e[6]=m):m=e[6],e[7]!==m?(g=n.jsx(dt,{className:m}),e[7]=m,e[8]=g):g=e[8];const l=u&&r&&"font-semibold";let d,h,p;e[9]!==l?(d=M(l),e[9]=l,e[10]=d):d=e[10],e[11]!==a.name||e[12]!==d?(h=n.jsx("span",{className:d,children:a.name}),e[11]=a.name,e[12]=d,e[13]=h):h=e[13],e[14]!==i||e[15]!==b||e[16]!==g||e[17]!==h||e[18]!==f?(p=n.jsxs(ee,{className:"text-sm flex flex-row gap-1 items-center pl-5 cursor-pointer rounded-none",onSelect:i,value:f,children:[b,g,h]}),e[14]=i,e[15]=b,e[16]=g,e[17]=h,e[18]=f,e[19]=p):p=e[19];const _=r&&o;let y;return e[20]!==_||e[21]!==p?(y=n.jsxs(n.Fragment,{children:[p,_]}),e[20]=_,e[21]=p,e[22]=y):y=e[22],y},te=s=>{const e=V.c(24),{tables:t,sqlTableContext:a,searchValue:o}=s,{addTableList:c}=me(),[r,j]=F.useState(!1),[u,N]=F.useState(!1);let f,i;e[0]!==c||e[1]!==a||e[2]!==t.length||e[3]!==r?(f=async()=>{if(t.length===0&&a&&!r){j(!0),N(!0);const{engine:l,database:d,schema:h}=a,p=await ut.request({engine:l,database:d,schema:h});if(!(p!=null&&p.tables))throw N(!1),new Error("No tables available");c({tables:p.tables,sqlTableContext:a}),N(!1)}},e[0]=c,e[1]=a,e[2]=t.length,e[3]=r,e[4]=f):f=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:b,error:x}=ce(f,i);if(b||u){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(x){let l;return e[10]!==x?(l=n.jsx(ue,{error:x,className:"pl-12"}),e[10]=x,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 m,g;if(e[13]!==o||e[14]!==a||e[15]!==t){let l;e[17]!==o?(l=p=>!o||p.name.toLowerCase().includes(o.toLowerCase()),e[17]=o,e[18]=l):l=e[18];const d=t.filter(l);let h;e[19]!==o||e[20]!==a?(h=p=>n.jsx(Te,{table:p,sqlTableContext:a,isSearching:!!o},p.name),e[19]=o,e[20]=a,e[21]=h):h=e[21],m=d.map(h),e[13]=o,e[14]=a,e[15]=t,e[16]=m}else m=e[16];return e[22]!==m?(g=n.jsx(n.Fragment,{children:m}),e[22]=m,e[23]=g):g=e[23],g},Te=s=>{const e=V.c(64),{table:t,sqlTableContext:a,isSearching:o}=s,{addTable:c}=me(),[r,j]=F.useState(!1),[u,N]=F.useState(!1),f=t.columns.length>0;let i,b;e[0]!==c||e[1]!==r||e[2]!==a||e[3]!==t.name||e[4]!==f||e[5]!==u?(i=async()=>{if(r&&!f&&a&&!u){N(!0);const{engine:q,database:U,schema:Ie}=a,W=await ht.request({engine:q,database:U,schema:Ie,tableName:t.name});if(!(W!=null&&W.table))throw new Error("No table details available");c({table:W.table,sqlTableContext:a})}},e[0]=c,e[1]=r,e[2]=a,e[3]=t.name,e[4]=f,e[5]=u,e[6]=i):i=e[6],e[7]!==r||e[8]!==f?(b=[r,f],e[7]=r,e[8]=f,e[9]=b):b=e[9];const{isFetching:x,isPending:m,error:g}=ce(i,b),l=X(Xe),d=Ye(),{createNewCell:h}=Ze(),p=he();let _;e[10]!==p||e[11]!==l||e[12]!==h||e[13]!==d||e[14]!==a||e[15]!==t?(_=()=>{Qe({autoInstantiate:l,createNewCell:h,fromCellId:d}),p((()=>{if(t.source_type==="catalog"){const q=a!=null&&a.database?`${a.database}.${t.name}`:t.name;return`${t.engine}.load_table("${q}")`}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]=p,e[11]=l,e[12]=h,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 q=[];return t.num_rows!=null&&q.push(`${t.num_rows} rows`),t.num_columns!=null&&q.push(`${t.num_columns} columns`),q.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:q.join(", ")})})},e[17]=t.num_columns,e[18]=t.num_rows,e[19]=w):w=e[19];const v=w;let S;e[20]!==g||e[21]!==x||e[22]!==m||e[23]!==a||e[24]!==t?(S=()=>{if(m||x)return n.jsx(pe,{message:"Loading columns...",className:"pl-12"});if(g)return n.jsx(ue,{error:g,className:"pl-12"});const q=t.columns;return q.length===0?n.jsx(Q,{content:"No columns found",className:"pl-12"}):q.map(U=>n.jsx(qe,{table:t,column:U,sqlTableContext:a},U.name))},e[20]=g,e[21]=x,e[22]=m,e[23]=a,e[24]=t,e[25]=S):S=e[25];const D=S;let I;e[26]!==r||e[27]!==o||e[28]!==t.source_type||e[29]!==t.type?(I=()=>{if(t.source_type==="local")return;const q=t.type==="table"?et:tt;return n.jsx(q,{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]=I):I=e[30];const L=I,A=a?`${a.database}.${a.schema}.${t.name}`:t.name,z=a&&(be(a.schema)?"pl-9":"pl-12"),E=(r||o)&&"font-semibold";let C,$,k,P,B,K,T,J,O,G,H,R;return e[31]!==z||e[32]!==E?(C=M("rounded-none group h-8 cursor-pointer",z,E),e[31]=z,e[32]=E,e[33]=C):C=e[33],e[34]!==r?($=()=>j(!r),e[34]=r,e[35]=$):$=e[35],e[36]!==L?(k=L(),e[36]=L,e[37]=k):k=e[37],e[38]!==t.name?(P=n.jsx("span",{className:"text-sm",children:t.name}),e[38]=t.name,e[39]=P):P=e[39],e[40]!==k||e[41]!==P?(B=n.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[k,P]}),e[40]=k,e[41]=P,e[42]=B):B=e[42],e[43]!==v?(K=v(),e[43]=v,e[44]=K):K=e[44],e[45]!==y?(T=at.stopPropagation(()=>y()),e[45]=y,e[46]=T):T=e[46],e[47]===Symbol.for("react.memo_cache_sentinel")?(J=n.jsx(st,{className:"h-3 w-3"}),e[47]=J):J=e[47],e[48]!==T?(O=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:T,children:J})}),e[48]=T,e[49]=O):O=e[49],e[50]!==r||e[51]!==$||e[52]!==B||e[53]!==K||e[54]!==O||e[55]!==C||e[56]!==A?(G=n.jsxs(ee,{className:C,value:A,"aria-selected":r,forceMount:!0,onSelect:$,children:[B,K,O]}),e[50]=r,e[51]=$,e[52]=B,e[53]=K,e[54]=O,e[55]=C,e[56]=A,e[57]=G):G=e[57],e[58]!==r||e[59]!==D?(H=r&&D(),e[58]=r,e[59]=D,e[60]=H):H=e[60],e[61]!==G||e[62]!==H?(R=n.jsxs(n.Fragment,{children:[G,H]}),e[61]=G,e[62]=H,e[63]=R):R=e[63],R},qe=s=>{var B,K;const e=V.c(48),{table:t,column:a,sqlTableContext:o}=s,[c,r]=F.useState(!1),j=X(oe),u=re(rt);j&&c&&r(!1),u(c?T=>new Set([...T,`${t.name}:${a.name}`]):T=>(T.delete(`${t.name}:${a.name}`),new Set(T)));const N=he(),{columnsPreviews:f}=ot();let i;e[0]!==a.name||e[1]!==t.primary_keys?(i=((B=t.primary_keys)==null?void 0:B.includes(a.name))||!1,e[0]=a.name,e[1]=t.primary_keys,e[2]=i):i=e[2];const b=i;let x;e[3]!==a.name||e[4]!==t.indexes?(x=((K=t.indexes)==null?void 0:K.includes(a.name))||!1,e[3]=a.name,e[4]=t.indexes,e[5]=x):x=e[5];const m=x;let g;e[6]!==N?(g=T=>{N(T)},e[6]=N,e[7]=g):g=e[7];const l=g,d=Fe,h=c?"font-semibold":"";let p;e[8]!==a.name||e[9]!==h?(p=n.jsx("span",{className:h,children:a.name}),e[8]=a.name,e[9]=h,e[10]=p):p=e[10];const _=p,y=`${t.name}.${a.name}`,w=`${t.name}.${a.name}`;let v;e[11]!==c?(v=()=>r(!c),e[11]=c,e[12]=v):v=e[12];const S=o?"pl-14":"pl-7";let D,I,L,A,z,E,C,$,k,P;return e[13]!==S?(D=M("flex flex-row gap-2 items-center flex-1",S),e[13]=S,e[14]=D):D=e[14],e[15]!==a.type||e[16]!==_?(I=n.jsx(lt,{columnName:_,dataType:a.type}),e[15]=a.type,e[16]=_,e[17]=I):I=e[17],e[18]!==b?(L=b&&d({tooltipContent:"Primary key",content:"PK"}),e[18]=b,e[19]=L):L=e[19],e[20]!==m?(A=m&&d({tooltipContent:"Indexed",content:"IDX"}),e[20]=m,e[21]=A):A=e[21],e[22]!==D||e[23]!==I||e[24]!==L||e[25]!==A?(z=n.jsxs("div",{className:D,children:[I,L,A]}),e[22]=D,e[23]=I,e[24]=L,e[25]=A,e[26]=z):z=e[26],e[27]!==a.name?(E=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[27]=a.name,e[28]=E):E=e[28],e[29]!==a.external_type?(C=n.jsx("span",{className:"text-xs text-muted-foreground",children:a.external_type}),e[29]=a.external_type,e[30]=C):C=e[30],e[31]!==z||e[32]!==E||e[33]!==C||e[34]!==y||e[35]!==w||e[36]!==v?($=n.jsxs(ee,{className:"rounded-none py-1 group cursor-pointer",value:w,onSelect:v,children:[z,E,C]},y),e[31]=z,e[32]=E,e[33]=C,e[34]=y,e[35]=w,e[36]=v,e[37]=$):$=e[37],e[38]!==a||e[39]!==f||e[40]!==l||e[41]!==c||e[42]!==o||e[43]!==t?(k=c&&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:l,preview:f.get(o?`${o.database}.${o.schema}.${t.name}:${a.name}`:`${t.name}:${a.name}`),sqlTableContext:o})})}),e[38]=a,e[39]=f,e[40]=l,e[41]=c,e[42]=o,e[43]=t,e[44]=k):k=e[44],e[45]!==$||e[46]!==k?(P=n.jsxs(n.Fragment,{children:[$,k]}),e[45]=$,e[46]=k,e[47]=P):P=e[47],P};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=V.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};