@marimo-team/islands 0.17.2 → 0.17.4

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 (582) hide show
  1. package/dist/{Combination-De9yoNY5.js → Combination-DrSsMSEB.js} +860 -816
  2. package/dist/{ConnectedDataExplorerComponent-DuvpJOKp.js → ConnectedDataExplorerComponent-DY9cADKc.js} +2282 -2232
  3. package/dist/{ImageComparisonComponent--etUl2pp.js → ImageComparisonComponent-CJvR7Qzp.js} +3 -2
  4. package/dist/{_baseIsEqual-BFlyFUxC.js → _baseIsEqual-DbBiwJP8.js} +1 -1
  5. package/dist/{_basePickBy-gCCvtjgp.js → _basePickBy-ChFDiIEt.js} +3 -3
  6. package/dist/{_baseProperty-BuqBC0Ie.js → _baseProperty-Bf09f9Ee.js} +5 -5
  7. package/dist/_baseUniq-D5kohCWB.js +59 -0
  8. package/dist/any-language-editor-Bs2c1bKU.js +156 -0
  9. package/dist/apl-Bp8pgLcx.js +4 -0
  10. package/dist/{arc-C_O2hc-b.js → arc-DM-UhhIs.js} +2 -2
  11. package/dist/architecture-O4VJ6CD3-SVEfQWDz.js +24 -0
  12. package/dist/{architectureDiagram-W76B3OCA-CrK99pJi.js → architectureDiagram-W76B3OCA-GKSiVAlH.js} +41 -38
  13. package/dist/asciiarmor-IoNSjDv9.js +4 -0
  14. package/dist/asn1-B1GnbkOF.js +4 -0
  15. package/dist/{blockDiagram-QIGZ2CNN-BJOEyO6w.js → blockDiagram-QIGZ2CNN-wX8KWoV2.js} +30 -29
  16. package/dist/brainfuck-TRxEs4B5.js +4 -0
  17. package/dist/{button-ADXOb_gX.js → button-B8zS4Mtw.js} +5 -4
  18. package/dist/{c4Diagram-FPNF74CW-7Pz_X9wF.js → c4Diagram-FPNF74CW-Ns4C9pNn.js} +12 -12
  19. package/dist/{channel-X-wRUxX6.js → channel-Dgla_oqe.js} +1 -1
  20. package/dist/{check-COlaG7Ss.js → check-BZnPxXnd.js} +1 -1
  21. package/dist/{chunk-3AY6CYHV-BQH2fFpA.js → chunk-3AY6CYHV-HfZ-8MFM.js} +10 -10
  22. package/dist/{chunk-4BX2VUAB-D-QtDCKM.js → chunk-4BX2VUAB-CV5cUTmw.js} +1 -1
  23. package/dist/{chunk-4KMFLZZN-BirZvvJS.js → chunk-4KMFLZZN-Cbgb64pE.js} +17 -18
  24. package/dist/{chunk-55IACEB6-DjtPYZKs.js → chunk-55IACEB6--aEkhs1O.js} +1 -1
  25. package/dist/{chunk-6OXUPJBA-CTnnqlzw.js → chunk-6OXUPJBA-DQZp24uZ.js} +7 -7
  26. package/dist/{chunk-7GE3RBXV-CT47hCrL.js → chunk-7GE3RBXV-D0K_8mbM.js} +1 -1
  27. package/dist/{chunk-ABZYJK2D-B6ZsU6SR.js → chunk-ABZYJK2D-BwKkjFgF.js} +3 -3
  28. package/dist/{chunk-BN7GFLIU-DYWEsrG4.js → chunk-BN7GFLIU-93ktvOI2.js} +1 -1
  29. package/dist/{chunk-CVBHYZKI-BuzDGXz0.js → chunk-CVBHYZKI-tTpx9vm_.js} +1 -1
  30. package/dist/{chunk-CXMOBAN2-Bas2S5w1.js → chunk-CXMOBAN2-CagHnxl1.js} +6 -6
  31. package/dist/{chunk-EXTU4WIE-DXwNSukz.js → chunk-EXTU4WIE-Ve2vgn5X.js} +2 -2
  32. package/dist/{chunk-FMBD7UC4-CYKEpuPr.js → chunk-FMBD7UC4-CCvcIQpJ.js} +1 -1
  33. package/dist/{chunk-JA3XYJ7Z-DcxfkcDC.js → chunk-JA3XYJ7Z-CrQC4eYr.js} +4 -4
  34. package/dist/{chunk-JEIROHC2-C01ZIcIG.js → chunk-JEIROHC2-tuJLHPKk.js} +1 -1
  35. package/dist/{chunk-K7UQS3LO-CmbT97MV.js → chunk-K7UQS3LO-BzsTVREe.js} +7 -7
  36. package/dist/{chunk-KMC2YHZD-D64m-1E1.js → chunk-KMC2YHZD-CdKOlVi0.js} +1 -1
  37. package/dist/{chunk-QN33PNHL-DjB0j8Dr.js → chunk-QN33PNHL-CbdYySGk.js} +2 -2
  38. package/dist/{chunk-QYVHNE3D-VA4W4oxG.js → chunk-QYVHNE3D-BDj4udRH.js} +2 -2
  39. package/dist/{chunk-QZHKN3VN-KT0fl3Em.js → chunk-QZHKN3VN-E6VBm6ir.js} +1 -1
  40. package/dist/{chunk-S3R3BYOJ-C5zmcMvn.js → chunk-S3R3BYOJ-DuumGJ4u.js} +6 -6
  41. package/dist/{chunk-T44TD3VJ-BMOgu-Hk.js → chunk-T44TD3VJ-Bc-UhG4i.js} +1 -1
  42. package/dist/{chunk-TVAH2DTR-eKm8SKnH.js → chunk-TVAH2DTR-s8skdWqT.js} +6 -6
  43. package/dist/{chunk-TZMSLE5B-CQxFRiI2.js → chunk-TZMSLE5B-CUfRRoFb.js} +3 -3
  44. package/dist/{chunk-WFRQ32O7-Dg51o277.js → chunk-WFRQ32O7-BquRwCCj.js} +1 -1
  45. package/dist/{chunk-WFWHJNB7-DVLO98ge.js → chunk-WFWHJNB7-CHl0gCzu.js} +1 -1
  46. package/dist/{chunk-XRWGC2XP-UNFKdWQh.js → chunk-XRWGC2XP-CoSEoOcO.js} +1 -1
  47. package/dist/{chunk-ZPAFE4SF-DbCSwfLK.js → chunk-ZPAFE4SF-Bf1fn8cY.js} +1 -1
  48. package/dist/classDiagram-KNZD7YFC-ONLi1fgN.js +40 -0
  49. package/dist/classDiagram-v2-RKCZMP56-Ceij_i8m.js +40 -0
  50. package/dist/{clike-CytFO-kN.js → clike-Cbszc5XU.js} +1 -1
  51. package/dist/clojure-BNTL3o8Z.js +4 -0
  52. package/dist/{clone-CCgVUJ6x.js → clone-DE59DFkY.js} +1 -1
  53. package/dist/cmake-Bp6uEjiS.js +4 -0
  54. package/dist/cobol-CtS_R__A.js +4 -0
  55. package/dist/coffeescript-D5u5aYAu.js +4 -0
  56. package/dist/commonlisp-BvLWy9eh.js +4 -0
  57. package/dist/compiler-runtime-5MdCVm0X.js +13 -0
  58. package/dist/{constants-BaCMVd12.js → constants-BlvmN57i.js} +3 -3
  59. package/dist/{copy-GNcK40wy.js → copy-bxQOKABs.js} +2 -2
  60. package/dist/{cose-bilkent-S5V4N54A-BnvuJG6Y.js → cose-bilkent-S5V4N54A-DZE8LVzQ.js} +3 -3
  61. package/dist/crystal-CaTWnt-Z.js +4 -0
  62. package/dist/css-BMUPibQH.js +5 -0
  63. package/dist/cypher-PopjPg_G.js +4 -0
  64. package/dist/d-Ds7bO8W5.js +4 -0
  65. package/dist/{dagre-5GWH7T2D-rn7tZYaQ.js → dagre-5GWH7T2D-g2ShbPGy.js} +39 -37
  66. package/dist/{dagre-Bghq6VKO.js → dagre-TBn9HZB0.js} +14 -13
  67. package/dist/{data-grid-overlay-editor-B4_Caieu.js → data-grid-overlay-editor-BuhjNOgs.js} +4 -4
  68. package/dist/{diagram-N5W7TBWH-lbF94o-g.js → diagram-N5W7TBWH-BYhyeV0B.js} +44 -41
  69. package/dist/{diagram-QEK2KX5R-CKBhSzsO.js → diagram-QEK2KX5R-CiuUIBpl.js} +38 -35
  70. package/dist/{diagram-S2PKOQOG-161_1f53.js → diagram-S2PKOQOG-D0Z2Q5P-.js} +38 -35
  71. package/dist/diff-C_xR-pxD.js +4 -0
  72. package/dist/{dist-BSyYM1Gi.js → dist-7CqcJssH.js} +6 -6
  73. package/dist/{dist-C9-uHBqC.js → dist-8v4BI_h_.js} +1 -1
  74. package/dist/{dist-71jYYbWP.js → dist-B3CNaJau.js} +2 -2
  75. package/dist/dist-B9JCXzyv.js +6 -0
  76. package/dist/{dist-DzJem5xc.js → dist-BMhv6XDi.js} +1 -1
  77. package/dist/{dist-CWh5ZwcC.js → dist-BYS0EtbC.js} +2 -2
  78. package/dist/{dist-BaPjLM6s.js → dist-BgsDu-bU.js} +1 -1
  79. package/dist/{dist-CNAkUyxv.js → dist-BxmsyHv5.js} +1 -1
  80. package/dist/{dist-CWqB4bg8.js → dist-C02gS--y.js} +3 -3
  81. package/dist/{dist-C76MUPD3.js → dist-C5Iu9a3-.js} +2 -2
  82. package/dist/{dist-DxESp2-T.js → dist-C5Ns3q-m.js} +3 -3
  83. package/dist/dist-C6QrJGYr.js +10 -0
  84. package/dist/{dist-BAqp4Vtl.js → dist-CBu8cgzz.js} +8 -4
  85. package/dist/dist-CFZ32udY.js +6 -0
  86. package/dist/{dist-DaTVdKJa.js → dist-CXimnGhI.js} +2 -2
  87. package/dist/{dist-CtOeHDJp.js → dist-CawOxmKh.js} +5 -5
  88. package/dist/dist-CmgxQNWN.js +10 -0
  89. package/dist/dist-Cr6Cu8sC.js +6 -0
  90. package/dist/{dist-BBhmkni2.js → dist-CxRajUZ6.js} +1 -1
  91. package/dist/{dist-CPNnKuPh.js → dist-D08oiinq.js} +12 -10
  92. package/dist/{dist-BNRdMfJH.js → dist-D4LUTYHc.js} +2 -2
  93. package/dist/{dist-C2IEc8og.js → dist-DGKjHTv9.js} +5 -5
  94. package/dist/{dist-4dtbqf8A.js → dist-DGnWQOnS.js} +3 -3
  95. package/dist/{dist-BqdQPWpQ.js → dist-DSDOMDNR.js} +2 -2
  96. package/dist/{dist-_4cudra1.js → dist-DTNqkRGE.js} +3 -3
  97. package/dist/{dist-28HYzERB.js → dist-D_GkrgWD.js} +2 -2
  98. package/dist/{dist-Cw0F6l-7.js → dist-DbHWFmjZ.js} +1 -1
  99. package/dist/{dist-B_wjJqqS.js → dist-Dh7gw0Ay.js} +2 -2
  100. package/dist/{dist-B8Pbw5ln.js → dist-DiO9ni9a.js} +2 -2
  101. package/dist/{dist-BYHiiJB-.js → dist-DlSZED-1.js} +2 -2
  102. package/dist/{dist-Da046MhT.js → dist-DvsjKDQ4.js} +1 -1
  103. package/dist/{dist-O0zVziwn.js → dist-DzKKEoge.js} +3 -3
  104. package/dist/{dist-CwZcC4om.js → dist-HKzG1oF6.js} +1 -1
  105. package/dist/{dist-CJb8EiFO.js → dist-K_AqLCfS.js} +3 -3
  106. package/dist/dist-NxHLuq7w.js +6 -0
  107. package/dist/dist-S2JcqPPB.js +12 -0
  108. package/dist/{dist-CNvMOZu9.js → dist-XkGsOiy0.js} +2 -2
  109. package/dist/{dist-Drf3cyIW.js → dist-_tHnp24J.js} +3 -3
  110. package/dist/{dist-xLN9qCAp.js → dist-eSnWVS11.js} +3 -3
  111. package/dist/dist-hcPlrsR9.js +6 -0
  112. package/dist/{dist-DlK420ke.js → dist-owpR56zn.js} +1 -1
  113. package/dist/dist-poXa8G8m.js +6 -0
  114. package/dist/{dist-CTIyD_KU.js → dist-qGpLTiEi.js} +3 -3
  115. package/dist/{dockerfile-Cmlcqk35.js → dockerfile-CWWeWT3z.js} +1 -1
  116. package/dist/dtd-CGRYzaHQ.js +4 -0
  117. package/dist/dylan-Ctfki5HL.js +4 -0
  118. package/dist/ecl--gmEivzz.js +4 -0
  119. package/dist/eiffel-o31DRAP-.js +4 -0
  120. package/dist/elm-Dqa6TVIh.js +4 -0
  121. package/dist/{erDiagram-AWTI2OKA-BU7Qig7n.js → erDiagram-AWTI2OKA-BeadFjpg.js} +25 -25
  122. package/dist/erlang-BtVO_vQG.js +4 -0
  123. package/dist/error-banner-B7LmpmGT.js +1013 -0
  124. package/dist/{esm-Oo8OvZ6m.js → esm-CQIOyi5v.js} +579 -564
  125. package/dist/{factor-BZnBK3CG.js → factor-7tQNNEWF.js} +1 -1
  126. package/dist/factor-CNLvRc__.js +5 -0
  127. package/dist/{flowDiagram-PVAE7QVJ-JKJebWeY.js → flowDiagram-PVAE7QVJ-GgklUvqn.js} +27 -27
  128. package/dist/{formats-DOEuF6TR.js → formats-kyFd0DPJ.js} +23 -22
  129. package/dist/forth-Bp2zDfH-.js +4 -0
  130. package/dist/fortran-B3A-KieX.js +4 -0
  131. package/dist/{ganttDiagram-OWAHRB6G-BvWRfg05.js → ganttDiagram-OWAHRB6G-D5wYR6WK.js} +17 -17
  132. package/dist/gas-_Xt_kGOG.js +4 -0
  133. package/dist/gherkin-DzZpg8Ls.js +4 -0
  134. package/dist/gitGraph-ZV4HHKMB-DFGD7PPm.js +24 -0
  135. package/dist/{gitGraphDiagram-NY62KEGX-VEJJBf5L.js → gitGraphDiagram-NY62KEGX-DCwA-g9b.js} +38 -35
  136. package/dist/{glide-data-editor-Bne10icG.js → glide-data-editor-1bUl_mRe.js} +515 -515
  137. package/dist/graphlib-R11f1son.js +228 -0
  138. package/dist/groovy-BtD10jRQ.js +4 -0
  139. package/dist/haskell-C-JVWnIV.js +4 -0
  140. package/dist/haxe-Del5TcJQ.js +5 -0
  141. package/dist/idl-BLlRatde.js +4 -0
  142. package/dist/info-63CPKGFF-eZyiEu_4.js +24 -0
  143. package/dist/infoDiagram-STP46IZ2-CUr2vZlE.js +48 -0
  144. package/dist/{isEmpty-Do_v2sls.js → isEmpty-CIFmGKJN.js} +2 -2
  145. package/dist/isString-BsphYkXQ.js +9 -0
  146. package/dist/{isSymbol-CtkA8Y0a.js → isSymbol-BnxbuvDK.js} +1 -1
  147. package/dist/javascript-Bm7QL4E3.js +5 -0
  148. package/dist/jinja2-BxbImxq2.js +4 -0
  149. package/dist/{journeyDiagram-BIP6EPQ6-CsgEQgxh.js → journeyDiagram-BIP6EPQ6-DtjQC_m1.js} +10 -10
  150. package/dist/jsx-runtime-CvL6gNI-.js +22 -0
  151. package/dist/julia-DV1Vz9mw.js +4 -0
  152. package/dist/{kanban-definition-6OIFK2YF-Bi8Ete2P.js → kanban-definition-6OIFK2YF-U3q5gvb8.js} +19 -19
  153. package/dist/{katex-C-g3rKKt.js → katex-BWgzyQrl.js} +1 -1
  154. package/dist/{label-BiVIU_wb.js → label-Wr-xTlW7.js} +463 -453
  155. package/dist/{line-B7-GoF1m.js → line-C7OvOvNm.js} +3 -3
  156. package/dist/{linear-DeGGALuc.js → linear-CgANSWNu.js} +4 -4
  157. package/dist/livescript-9UMSMMrl.js +4 -0
  158. package/dist/{loader-BBqwtZWj.js → loader-Dj9XWZTh.js} +164 -4
  159. package/dist/lua-Bcbc7wWe.js +4 -0
  160. package/dist/main.js +40727 -41561
  161. package/dist/mathematica-DG4QUwYU.js +4 -0
  162. package/dist/mbox--auqAoPc.js +4 -0
  163. package/dist/{memoize-D7eDkf3R.js → memoize-XkDn33QI.js} +1 -1
  164. package/dist/{merge-C_6cGM6o.js → merge-dMlizkC5.js} +1 -1
  165. package/dist/{mermaid-BmtvsZ2m.js → mermaid-DIjoC4T4.js} +67 -66
  166. package/dist/{mermaid-parser.core-geyG_6o0.js → mermaid-parser.core-B433qyUL.js} +8 -8
  167. package/dist/{mhchem-OhAaJ0fA.js → mhchem-1x4KnXMF.js} +1 -1
  168. package/dist/min-WjLsUjBa.js +89 -0
  169. package/dist/{mindmap-definition-Q6HEUPPD-B-wmX1oG.js → mindmap-definition-Q6HEUPPD-LFgV4R8y.js} +24 -24
  170. package/dist/mirc-9dVcMicH.js +4 -0
  171. package/dist/mllike-Di9N4E3Q.js +6 -0
  172. package/dist/modelica-S3adENkL.js +4 -0
  173. package/dist/mscgen-DAG0zH4w.js +6 -0
  174. package/dist/mumps-afzuy08D.js +4 -0
  175. package/dist/{now-DumxsrcX.js → now-8WTe-KKa.js} +1 -1
  176. package/dist/nsis-Bzwy0lPH.js +5 -0
  177. package/dist/{nsis-D4bLR_Y1.js → nsis-CFb2Zrib.js} +1 -1
  178. package/dist/ntriples-D9oM8s3v.js +4 -0
  179. package/dist/{number-overlay-editor-D6r-48ka.js → number-overlay-editor-DYjnpjXo.js} +2 -2
  180. package/dist/octave-BMLCk2qM.js +4 -0
  181. package/dist/{once-3OSMKEsL.js → once-rI5AYku5.js} +1 -1
  182. package/dist/{ordinal-DpEbSVPc.js → ordinal-pQYxWJYN.js} +1 -1
  183. package/dist/oz-CX5JTWTK.js +4 -0
  184. package/dist/packet-HUATNLJX-BvWMmF9U.js +24 -0
  185. package/dist/pascal-BeZmsfFX.js +4 -0
  186. package/dist/perl-CZ_HryPN.js +4 -0
  187. package/dist/pie-WTHONI2E-BCXZJKz0.js +24 -0
  188. package/dist/{pieDiagram-ADFJNKIX-C3GvPNUL.js → pieDiagram-ADFJNKIX-CsZmho0o.js} +43 -40
  189. package/dist/pig-OPEEOu6V.js +4 -0
  190. package/dist/powershell-DyR-5LnA.js +4 -0
  191. package/dist/{precisionRound-7YYJq2rW.js → precisionRound-DMLkFNYv.js} +1 -1
  192. package/dist/properties-Cl4tecfb.js +4 -0
  193. package/dist/protobuf-B8X247vV.js +4 -0
  194. package/dist/pug-Kmpa-Pbv.js +5 -0
  195. package/dist/{pug-Dv3gE36O.js → pug-ZDYeT34w.js} +1 -1
  196. package/dist/puppet-Pl07qkSO.js +4 -0
  197. package/dist/python-DQgTXBpp.js +5 -0
  198. package/dist/q-D7uiP00h.js +4 -0
  199. package/dist/{quadrantDiagram-LMRXKWRM-DPXwGNVa.js → quadrantDiagram-LMRXKWRM-CY6GTOgM.js} +8 -8
  200. package/dist/r-DbUoToEd.js +4 -0
  201. package/dist/radar-NJJJXTRR-8kjOeCwx.js +24 -0
  202. package/dist/{range-CIbLpsrs.js → range-CTMc_Qhu.js} +3 -3
  203. package/dist/{react-plotly-DYyvxcRD.js → react-plotly-Cs07wkly.js} +2 -2
  204. package/dist/react-vega-B9eMrRW1.js +32035 -0
  205. package/dist/react-vega-DM3e8kar.js +25 -0
  206. package/dist/reduce-C-jV7KRY.js +268 -0
  207. package/dist/{requirementDiagram-4UW4RH46-Cs3Hqnm0.js → requirementDiagram-4UW4RH46-CfLWneBF.js} +24 -24
  208. package/dist/rpm-BjQFZZ1e.js +5 -0
  209. package/dist/ruby-BXpop5ZX.js +4 -0
  210. package/dist/{sankeyDiagram-GR3RE2ED-Be1d_Xf7.js → sankeyDiagram-GR3RE2ED-Dkxfzm6f.js} +7 -7
  211. package/dist/sas-CzFr9Hlz.js +4 -0
  212. package/dist/scheme-C6QRPvcm.js +4 -0
  213. package/dist/{sequenceDiagram-C3RYC4MD-lbtovKTa.js → sequenceDiagram-C3RYC4MD-hSi31Kfa.js} +14 -14
  214. package/dist/shell-Bs7FrcsL.js +4 -0
  215. package/dist/sieve-D39XRya9.js +4 -0
  216. package/dist/{slides-component-BoeQU7-s.js → slides-component-Ct11erUn.js} +9 -8
  217. package/dist/smalltalk-CdAwDOFE.js +4 -0
  218. package/dist/sparql-DsDWhEhN.js +4 -0
  219. package/dist/spec-rqRnkIf4.js +1256 -0
  220. package/dist/{src-BTqT1mA1.js → src-CKr0QbVy.js} +1 -1
  221. package/dist/{stateDiagram-KXAO66HF-BmbR-Rol.js → stateDiagram-KXAO66HF-DJsLA_DN.js} +42 -40
  222. package/dist/stateDiagram-v2-UMBNRL4Z-D-p_ngHt.js +39 -0
  223. package/dist/{step-2RJrMSSG.js → step-BsM8YHun.js} +1 -1
  224. package/dist/stex-DvqvBdH8.js +5 -0
  225. package/dist/style.css +1 -1
  226. package/dist/stylus-DxzxWmvV.js +4 -0
  227. package/dist/swift-DTC4Wg4z.js +4 -0
  228. package/dist/tcl-DantlS-i.js +4 -0
  229. package/dist/textile-pOphaahD.js +4 -0
  230. package/dist/{time-BB30r1tK.js → time-U9NHhrDC.js} +4 -4
  231. package/dist/{timeline-definition-XQNQX7LJ-1mv5caPW.js → timeline-definition-XQNQX7LJ-rojWjX6M.js} +7 -7
  232. package/dist/{toNumber-D3Ystr3y.js → toNumber-CUG0Hyhp.js} +2 -2
  233. package/dist/{toString-CbuxCRDG.js → toString-CT4n1k2E.js} +2 -2
  234. package/dist/toml-hgYsPM5p.js +4 -0
  235. package/dist/treemap-75Q7IDZK-Do1WIR9v.js +24 -0
  236. package/dist/troff-BwevrEUZ.js +4 -0
  237. package/dist/{dtd-RplB6hDg.js → ttcn-C5gJcxta.js} +2 -2
  238. package/dist/ttcn-cfg-CPKlfqST.js +4 -0
  239. package/dist/turtle-EH0lMhMf.js +4 -0
  240. package/dist/{types-BPohCsA7.js → types-Bt7p5SYB.js} +1028 -1038
  241. package/dist/uniq-DgSyegN3.js +8 -0
  242. package/dist/{useAsyncData-DHBqeb9a.js → useAsyncData-Dp2V69OV.js} +3 -3
  243. package/dist/{useIframeCapabilities-BEvvwlwt.js → useIframeCapabilities-B9u0SmJ4.js} +2 -2
  244. package/dist/{useTheme-CnMbo-iq.js → useTheme-D7vlj42b.js} +4 -4
  245. package/dist/vb-DNk7gts-.js +4 -0
  246. package/dist/vbscript-znK_5PUS.js +4 -0
  247. package/dist/vega-component-C58Jk3ub.js +633 -0
  248. package/dist/{vega-loader.browser.module-CFMtdrNw.js → vega-loader.browser-BK7-IO9k.js} +91 -99
  249. package/dist/velocity-DmPhlhdp.js +4 -0
  250. package/dist/verilog-CePnwf4S.js +4 -0
  251. package/dist/vhdl-Ckdh8uiO.js +4 -0
  252. package/dist/webidl-8N8qbzRd.js +4 -0
  253. package/dist/xquery-Cocyk-z0.js +4 -0
  254. package/dist/{xychartDiagram-6GGTOJPD-njc-naaw.js → xychartDiagram-6GGTOJPD-CiC1eONZ.js} +23 -23
  255. package/dist/yacas-CPmShRg-.js +4 -0
  256. package/dist/z80-B500UaFh.js +4 -0
  257. package/package.json +12 -9
  258. package/src/components/ai/ai-provider-icon.tsx +2 -1
  259. package/src/components/app-config/constants.ts +25 -1
  260. package/src/components/charts/lazy.tsx +7 -0
  261. package/src/components/charts/tooltip.ts +5 -0
  262. package/src/components/charts/types.ts +8 -0
  263. package/src/components/chat/acp/__tests__/state.test.ts +0 -13
  264. package/src/components/chat/acp/agent-panel.tsx +7 -1
  265. package/src/components/chat/acp/agent-selector.tsx +5 -0
  266. package/src/components/chat/acp/blocks.tsx +51 -8
  267. package/src/components/chat/acp/state.ts +8 -2
  268. package/src/components/chat/acp/thread.tsx +10 -3
  269. package/src/components/chat/chat-panel.tsx +7 -1
  270. package/src/components/data-table/__tests__/__snapshots__/chart-spec-model.test.ts.snap +473 -184
  271. package/src/components/data-table/__tests__/chart-spec-model.test.ts +32 -28
  272. package/src/components/data-table/charts/__tests__/__snapshots__/spec-snapshot.test.ts.snap +1 -1
  273. package/src/components/data-table/charts/__tests__/altair-generator.test.ts +162 -0
  274. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +1 -1
  275. package/src/components/data-table/charts/__tests__/spec.test.ts +145 -6
  276. package/src/components/data-table/charts/chart-spec/altair-generator.ts +6 -1
  277. package/src/components/data-table/charts/chart-spec/encodings.ts +11 -7
  278. package/src/components/data-table/charts/chart-spec/spec.ts +9 -8
  279. package/src/components/data-table/charts/chart-spec/tooltips.ts +4 -3
  280. package/src/components/data-table/charts/chart-spec/types.ts +1 -1
  281. package/src/components/data-table/charts/chart-spec/utils.ts +23 -0
  282. package/src/components/data-table/charts/components/form-fields.tsx +2 -2
  283. package/src/components/data-table/charts/constants.ts +7 -3
  284. package/src/components/data-table/charts/lazy-chart.tsx +15 -11
  285. package/src/components/data-table/charts/types.ts +6 -14
  286. package/src/components/data-table/column-summary/chart-spec-model.tsx +112 -269
  287. package/src/components/data-table/column-summary/column-summary.tsx +12 -12
  288. package/src/components/data-table/column-summary/legacy-chart-spec.ts +78 -2
  289. package/src/components/data-table/column-summary/utils.ts +1 -1
  290. package/src/components/datasources/__tests__/utils.test.ts +339 -138
  291. package/src/components/datasources/column-preview.tsx +9 -9
  292. package/src/components/datasources/datasources.tsx +4 -0
  293. package/src/components/datasources/utils.ts +94 -4
  294. package/src/components/editor/Output.tsx +9 -6
  295. package/src/components/editor/ai/ai-completion-editor.tsx +2 -2
  296. package/src/components/editor/code/readonly-diff.tsx +4 -0
  297. package/src/components/editor/output/ConsoleOutput.tsx +14 -11
  298. package/src/components/editor/renderers/slides-layout/types.ts +1 -1
  299. package/src/components/tracing/tracing-spec.ts +2 -2
  300. package/src/components/tracing/tracing.test.tsx +1 -1
  301. package/src/components/tracing/tracing.tsx +57 -74
  302. package/src/components/tracing/utils.ts +22 -0
  303. package/src/components/ui/query-param-preserving-link.tsx +48 -0
  304. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +12 -1
  305. package/src/core/ai/context/providers/cell-output.ts +2 -8
  306. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +1 -1
  307. package/src/core/ai/tools/edit-notebook-tool.ts +15 -7
  308. package/src/core/ai/tools/run-cells-tool.ts +60 -26
  309. package/src/core/cells/ids.ts +1 -1
  310. package/src/core/codemirror/language/__tests__/extension.test.ts +6 -12
  311. package/src/core/codemirror/language/__tests__/markdown.test.ts +23 -36
  312. package/src/core/codemirror/language/languages/python.ts +40 -6
  313. package/src/core/codemirror/language/languages/sql/completion-store.ts +2 -2
  314. package/src/core/codemirror/language/languages/sql/sql.ts +14 -0
  315. package/src/core/codemirror/language/languages/sql/utils.ts +54 -3
  316. package/src/core/codemirror/lsp/notebook-lsp.ts +52 -4
  317. package/src/core/codemirror/lsp/transports.ts +3 -0
  318. package/src/core/datasets/__tests__/data-source.test.ts +6 -0
  319. package/src/core/datasets/data-source-connections.ts +1 -0
  320. package/src/core/dom/__tests__/outline.test.ts +43 -0
  321. package/src/core/dom/outline.ts +1 -1
  322. package/src/core/islands/main.ts +2 -0
  323. package/src/core/lsp/__tests__/transport.test.ts +57 -0
  324. package/src/core/lsp/transport.ts +16 -0
  325. package/src/css/md.css +6 -0
  326. package/src/plugins/core/RenderHTML.tsx +26 -0
  327. package/src/plugins/core/__test__/sanitize.test.ts +27 -0
  328. package/src/plugins/core/sanitize.ts +9 -2
  329. package/src/plugins/impl/DataTablePlugin.tsx +21 -27
  330. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +26 -22
  331. package/src/plugins/impl/data-explorer/functions/function.ts +1 -2
  332. package/src/plugins/impl/data-explorer/functions/types.ts +65 -14
  333. package/src/plugins/impl/data-explorer/queries/queries.ts +9 -9
  334. package/src/plugins/impl/data-explorer/queries/types.ts +23 -5
  335. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +2 -1
  336. package/src/plugins/impl/vega/__tests__/__snapshots__/make-selectable.test.ts.snap +2309 -0
  337. package/src/plugins/impl/vega/__tests__/encodings.test.ts +93 -0
  338. package/src/plugins/impl/vega/__tests__/make-selectable.test.ts +621 -0
  339. package/src/plugins/impl/vega/__tests__/params.test.ts +121 -1
  340. package/src/plugins/impl/vega/encodings.ts +16 -2
  341. package/src/plugins/impl/vega/make-selectable.ts +339 -10
  342. package/src/plugins/impl/vega/params.ts +76 -14
  343. package/src/plugins/impl/vega/types.ts +32 -13
  344. package/src/plugins/impl/vega/vega-component.tsx +74 -26
  345. package/src/plugins/impl/vega/vega.css +1 -0
  346. package/src/stories/__fixtures__/vega.ts +1 -1
  347. package/src/utils/arrays.ts +16 -0
  348. package/dist/_baseUniq-CKN9mEDq.js +0 -324
  349. package/dist/any-language-editor-Du2Q_6IK.js +0 -156
  350. package/dist/apl-CUm2DGqh.js +0 -4
  351. package/dist/architecture-O4VJ6CD3-PFw3eFBY.js +0 -21
  352. package/dist/asciiarmor-lqJ78U01.js +0 -4
  353. package/dist/asn1-CjwpSTlW.js +0 -4
  354. package/dist/brainfuck-ClvDI1dq.js +0 -4
  355. package/dist/classDiagram-KNZD7YFC-HUFFxNdk.js +0 -40
  356. package/dist/classDiagram-v2-RKCZMP56-Dw7Acmuf.js +0 -40
  357. package/dist/clojure-8GefCgPe.js +0 -4
  358. package/dist/cmake-yAhT9H0F.js +0 -4
  359. package/dist/cobol-BmltueOY.js +0 -4
  360. package/dist/coffeescript-C7KEQBcH.js +0 -4
  361. package/dist/commonlisp-CNbiJRU-.js +0 -4
  362. package/dist/crystal-OdjZZ8bc.js +0 -4
  363. package/dist/css-DhTxMmL_.js +0 -5
  364. package/dist/cypher-CgN8E3YI.js +0 -4
  365. package/dist/d-g41sJcBC.js +0 -4
  366. package/dist/diff-ViRYYhhg.js +0 -4
  367. package/dist/dist-BfJO8Bm9.js +0 -12
  368. package/dist/dist-CLuF3AtO.js +0 -6
  369. package/dist/dist-CU04U4NL.js +0 -10
  370. package/dist/dist-DNUT6b47.js +0 -6
  371. package/dist/dist-DbAb2sY7.js +0 -6
  372. package/dist/dist-DiDFQ2Rk.js +0 -6
  373. package/dist/dist-SNAyAOJ-.js +0 -6
  374. package/dist/dist-cbW5xJNV.js +0 -6
  375. package/dist/dist-h8eGLSbK.js +0 -10
  376. package/dist/dylan-BX8KJufP.js +0 -4
  377. package/dist/ecl-CWtLaNMH.js +0 -4
  378. package/dist/eiffel-C-mlZPMn.js +0 -4
  379. package/dist/elm-CWp06vcb.js +0 -4
  380. package/dist/erlang-pfp22AZM.js +0 -4
  381. package/dist/error-banner-BAWlXn49.js +0 -1012
  382. package/dist/esm-B2pocBPL.js +0 -26
  383. package/dist/esm-YVnxJqkD.js +0 -33066
  384. package/dist/factor-CEn53jua.js +0 -5
  385. package/dist/forth-CL8vu_y8.js +0 -4
  386. package/dist/fortran-DsmXkYtE.js +0 -4
  387. package/dist/gas-mYt9Rtlx.js +0 -4
  388. package/dist/gherkin-DHNCKBNj.js +0 -4
  389. package/dist/gitGraph-ZV4HHKMB-Cpd6k0O8.js +0 -21
  390. package/dist/graphlib-DRS8CrjA.js +0 -227
  391. package/dist/groovy-DzRtOS5a.js +0 -4
  392. package/dist/haskell-Bl9iT_Mp.js +0 -4
  393. package/dist/haxe-DqA0ED6k.js +0 -5
  394. package/dist/idl-WU2hil4i.js +0 -4
  395. package/dist/info-63CPKGFF-CG-xzUJo.js +0 -21
  396. package/dist/infoDiagram-STP46IZ2-zoRBGoup.js +0 -45
  397. package/dist/javascript-QY2BGJeV.js +0 -5
  398. package/dist/jinja2-Czleq7Sk.js +0 -4
  399. package/dist/jsx-runtime-DZyWJV5b.js +0 -31
  400. package/dist/julia-Dru3Qi0y.js +0 -4
  401. package/dist/livescript-Dxqi_HLT.js +0 -4
  402. package/dist/lua-ByH1cUQZ.js +0 -4
  403. package/dist/mathematica-CWJIFuES.js +0 -4
  404. package/dist/mbox-qhPIGaUI.js +0 -4
  405. package/dist/min-Dwa_NbP6.js +0 -93
  406. package/dist/mirc-yYcXhXBY.js +0 -4
  407. package/dist/mllike-BfT_Nl9x.js +0 -6
  408. package/dist/modelica-lVDtz1Rm.js +0 -4
  409. package/dist/mscgen-DvwdD1QJ.js +0 -6
  410. package/dist/mumps-BiY3GwKd.js +0 -4
  411. package/dist/nsis-Dk18Sq_4.js +0 -5
  412. package/dist/ntriples-Cj-8VqKF.js +0 -4
  413. package/dist/octave-BgFAaYjU.js +0 -4
  414. package/dist/oz-IsEG1I1m.js +0 -4
  415. package/dist/packet-HUATNLJX-Cafuo3IG.js +0 -21
  416. package/dist/pascal-BVf7FtIE.js +0 -4
  417. package/dist/perl-BM0-y4mZ.js +0 -4
  418. package/dist/pie-WTHONI2E-BE0pHBwB.js +0 -21
  419. package/dist/pig-CLBjzQmc.js +0 -4
  420. package/dist/powershell-B_qvE33J.js +0 -4
  421. package/dist/properties-CUTpsH2y.js +0 -4
  422. package/dist/protobuf-DqCP8a-0.js +0 -4
  423. package/dist/pug-BvexKkw4.js +0 -5
  424. package/dist/puppet-CoIi0R3f.js +0 -4
  425. package/dist/python-C-11-YMh.js +0 -5
  426. package/dist/q-CCVgEip7.js +0 -4
  427. package/dist/r-CIdR0Sfs.js +0 -4
  428. package/dist/radar-NJJJXTRR-0adgjw0u.js +0 -21
  429. package/dist/rpm-Dwvm039g.js +0 -5
  430. package/dist/ruby-DpTnO5gb.js +0 -4
  431. package/dist/sas-CK9boxgv.js +0 -4
  432. package/dist/scheme-Y1aYL-Qq.js +0 -4
  433. package/dist/shell-D3eXGsHd.js +0 -4
  434. package/dist/sieve-BdwSFdWJ.js +0 -4
  435. package/dist/smalltalk-BTYJquCm.js +0 -4
  436. package/dist/sparql-CYF0g4Cc.js +0 -4
  437. package/dist/stateDiagram-v2-UMBNRL4Z-DdJ7qVWc.js +0 -39
  438. package/dist/stex-CyWhoWHt.js +0 -5
  439. package/dist/stylus-BBiKaI2h.js +0 -4
  440. package/dist/swift-COb15qFR.js +0 -4
  441. package/dist/tcl-Jik1LXu9.js +0 -4
  442. package/dist/textile-BFHPD3wr.js +0 -4
  443. package/dist/toml-Brp9fBXs.js +0 -4
  444. package/dist/treemap-75Q7IDZK-CyBT8_Wh.js +0 -21
  445. package/dist/troff-CcZRW4vg.js +0 -4
  446. package/dist/tslib.es6-3ZL768sZ.js +0 -49
  447. package/dist/ttcn-Bz_6ifRd.js +0 -4
  448. package/dist/ttcn-cfg-v-yi2rKc.js +0 -4
  449. package/dist/turtle-CDOsZYhB.js +0 -4
  450. package/dist/useDateFormatter-BkbjKw83.js +0 -543
  451. package/dist/vb-CL7fRwRw.js +0 -4
  452. package/dist/vbscript-CR2xfxpw.js +0 -4
  453. package/dist/vega-component-BfFcXZxw.js +0 -465
  454. package/dist/velocity-CfuZoxPt.js +0 -4
  455. package/dist/verilog-CySTkzw_.js +0 -4
  456. package/dist/vhdl-Dvcd8KHW.js +0 -4
  457. package/dist/webidl-tbJt7sKk.js +0 -4
  458. package/dist/xquery-DJQVztyc.js +0 -4
  459. package/dist/yacas-BbgBReEH.js +0 -4
  460. package/dist/z80-DPyb8VGz.js +0 -4
  461. /package/dist/{_arrayReduce-Cd9xQjbl.js → _arrayReduce-CmsTTAw1.js} +0 -0
  462. /package/dist/{_baseSlice-CE9WsQZm.js → _baseSlice-CAnpEJwx.js} +0 -0
  463. /package/dist/{_hasUnicode-DkEebvtD.js → _hasUnicode-CbmCTPAa.js} +0 -0
  464. /package/dist/{apl-aGhy11IM.js → apl-Css595_H.js} +0 -0
  465. /package/dist/{array-DYSXIreg.js → array-D3smvOQ_.js} +0 -0
  466. /package/dist/{asciiarmor-DJKJ3Gkn.js → asciiarmor-BTCuJwxh.js} +0 -0
  467. /package/dist/{asn1-C6f5IeNs.js → asn1-DXjhS5QI.js} +0 -0
  468. /package/dist/{asterisk-DB1poX9_.js → asterisk-5HlmsIaw.js} +0 -0
  469. /package/dist/{brainfuck-Ch9vjun0.js → brainfuck--WlEc-iG.js} +0 -0
  470. /package/dist/{chunk-57QY23SG-BpXU7ph4.js → chunk-57QY23SG-D7ymhFFp.js} +0 -0
  471. /package/dist/{click-outside-container-2BH589Bq.js → click-outside-container-DSVM9sZw.js} +0 -0
  472. /package/dist/{clike-Bc2PZzZQ.js → clike-DDIJB_R8.js} +0 -0
  473. /package/dist/{clojure-B_lpr3zt.js → clojure-Z-GPBZyY.js} +0 -0
  474. /package/dist/{cmake-DaocNF4I.js → cmake-DncBqspt.js} +0 -0
  475. /package/dist/{cobol-suTPtt7c.js → cobol-DqUe0gl7.js} +0 -0
  476. /package/dist/{coffeescript-CPLIvtqJ.js → coffeescript-CH5_OO0H.js} +0 -0
  477. /package/dist/{colors-BXlG8Lmz.js → colors-DQmMCNWX.js} +0 -0
  478. /package/dist/{common-keywords-Bhll7O3b.js → common-keywords-CAEsQSF5.js} +0 -0
  479. /package/dist/{commonlisp-BqM3qFK7.js → commonlisp-UmhR9BfE.js} +0 -0
  480. /package/dist/{crystal-AsSFu4ke.js → crystal-5Sqf7MXt.js} +0 -0
  481. /package/dist/{css-Df7Sdeyh.js → css-bDybSxwf.js} +0 -0
  482. /package/dist/{cypher-CaVKL6Gu.js → cypher-PIeAFhrd.js} +0 -0
  483. /package/dist/{cytoscape.esm-BFEMljQI.js → cytoscape.esm-DclyBJ4D.js} +0 -0
  484. /package/dist/{d-DCGWK7NQ.js → d-Bd8EVRQt.js} +0 -0
  485. /package/dist/{defaultLocale-Cto8YOmX.js → defaultLocale-BPzjWfXP.js} +0 -0
  486. /package/dist/{defaultLocale-CYgZlqDF.js → defaultLocale-Om7Wxg5c.js} +0 -0
  487. /package/dist/{diff-CsxOM4Tr.js → diff-CAQdgtD6.js} +0 -0
  488. /package/dist/{dtd-Dwr0Jmks.js → dtd-eKW3pZj_.js} +0 -0
  489. /package/dist/{duckdb-keywords-7wAWf848.js → duckdb-keywords-BC3kWZZM.js} +0 -0
  490. /package/dist/{dylan-A7-ZBSey.js → dylan-CIO7R9Tr.js} +0 -0
  491. /package/dist/{ebnf-9_SaGDUz.js → ebnf-Pr4a9I6n.js} +0 -0
  492. /package/dist/{ecl-BzJVIQDc.js → ecl-BqYW-aOJ.js} +0 -0
  493. /package/dist/{eiffel-CO9eC_Op.js → eiffel-BOKM91eM.js} +0 -0
  494. /package/dist/{elm-CVAWj8SB.js → elm-3sobs3PV.js} +0 -0
  495. /package/dist/{emotion-is-prop-valid.esm-C3Yi5GQt.js → emotion-is-prop-valid.esm-Cm1uulbm.js} +0 -0
  496. /package/dist/{erlang-DWbZP546.js → erlang-C5EBzhP1.js} +0 -0
  497. /package/dist/{esm-AtKNNGYO.js → esm-CopBBL2y.js} +0 -0
  498. /package/dist/{fcl-CM9t2iay.js → fcl-Brh8s8q_.js} +0 -0
  499. /package/dist/{forth-BTYqUuu3.js → forth-DneRHr4K.js} +0 -0
  500. /package/dist/{fortran-DgAjHcCq.js → fortran-DsdmZbwQ.js} +0 -0
  501. /package/dist/{gas-BjDSWPZd.js → gas-DaoJ65Z9.js} +0 -0
  502. /package/dist/{gherkin-ClRqqpKv.js → gherkin-DUP_UlW-.js} +0 -0
  503. /package/dist/{groovy-BzNjnc8x.js → groovy-Rvyan8yX.js} +0 -0
  504. /package/dist/{haskell-DLdk34Jq.js → haskell-DIvpY54L.js} +0 -0
  505. /package/dist/{haxe-l6gaY_IS.js → haxe-Da_5bBNs.js} +0 -0
  506. /package/dist/{http-6Qg7z_h2.js → http-CMvcwl3E.js} +0 -0
  507. /package/dist/{idl-hlWT4D26.js → idl-DvL3aO0N.js} +0 -0
  508. /package/dist/{init-tZ42Torz.js → init-BNp5RczD.js} +0 -0
  509. /package/dist/{invariant-D3JoRb4I.js → invariant-Cl2wkkjN.js} +0 -0
  510. /package/dist/{isArrayLikeObject-DU5MCuQM.js → isArrayLikeObject-1qkWxZbL.js} +0 -0
  511. /package/dist/{javascript-DGukg1sB.js → javascript-DoyAP8vn.js} +0 -0
  512. /package/dist/{jinja2-DI5k_Er3.js → jinja2-Veqp7mFj.js} +0 -0
  513. /package/dist/{julia-BvDZDiIT.js → julia-Gi684CX7.js} +0 -0
  514. /package/dist/{katex-DgfMWJY9.js → katex-U6RPAuWM.js} +0 -0
  515. /package/dist/{livescript-2YMQfkfI.js → livescript-BKj_Zhvo.js} +0 -0
  516. /package/dist/{lua-DIUrQRfA.js → lua-CDA7hreG.js} +0 -0
  517. /package/dist/{main-BMTpe7M0.js → main-63eIj2Yx.js} +0 -0
  518. /package/dist/{marked.esm-DkVwEwtO.js → marked.esm-DE8HU3tw.js} +0 -0
  519. /package/dist/{math-qsHyz2Eo.js → math-C2iLT5gz.js} +0 -0
  520. /package/dist/{mathematica-Dqmg_BwL.js → mathematica-GWfSHReY.js} +0 -0
  521. /package/dist/{mbox-Cng-P-F1.js → mbox-Dwsrc4Ak.js} +0 -0
  522. /package/dist/{mirc-CNDqOVhQ.js → mirc-B2JE5ype.js} +0 -0
  523. /package/dist/{mllike-C1n2UDyX.js → mllike-BkBh4PFX.js} +0 -0
  524. /package/dist/{modelica-QqQC2pFj.js → modelica-C0hNlKgR.js} +0 -0
  525. /package/dist/{mscgen-C3fl8uhp.js → mscgen-DWWpdZnb.js} +0 -0
  526. /package/dist/{mumps-BeCUbMej.js → mumps-CMePAlSe.js} +0 -0
  527. /package/dist/{nginx-ejv7DsBz.js → nginx-GurZbX0E.js} +0 -0
  528. /package/dist/{node-sql-parser-CoPWN4hn.js → node-sql-parser-IKID_dZE.js} +0 -0
  529. /package/dist/{ntriples-CUgUpcma.js → ntriples-BnE6tX0Y.js} +0 -0
  530. /package/dist/{octave-BD652tGl.js → octave-Dfu3PmNP.js} +0 -0
  531. /package/dist/{oz-DrRsFa0K.js → oz-DqNpAjpZ.js} +0 -0
  532. /package/dist/{pascal-hpcx9sVn.js → pascal-GP_8jbNL.js} +0 -0
  533. /package/dist/{path-Bbv2tLY1.js → path-BeMi_1Je.js} +0 -0
  534. /package/dist/{perl-DW8XHeFc.js → perl-DUDEqQOD.js} +0 -0
  535. /package/dist/{pig-Cv7Nxbfo.js → pig-Csr4LnKs.js} +0 -0
  536. /package/dist/{powershell-Dr7WZMDU.js → powershell-Cw4tDKZx.js} +0 -0
  537. /package/dist/{prop-types-Bd16OEUP.js → prop-types-CzOfzj9N.js} +0 -0
  538. /package/dist/{properties-D-qJDXAM.js → properties-CUhUGfHR.js} +0 -0
  539. /package/dist/{protobuf-B48QZbd3.js → protobuf-CPZe957V.js} +0 -0
  540. /package/dist/{puppet-15JDyiY2.js → puppet-BP1AOwo6.js} +0 -0
  541. /package/dist/{purify.es-CrfFzTyi.js → purify.es-CDFkadZl.js} +0 -0
  542. /package/dist/{python-DWkQA94h.js → python-BMcMimC3.js} +0 -0
  543. /package/dist/{q-BzRpKgfd.js → q-BNfSHUci.js} +0 -0
  544. /package/dist/{r-dcNRe_Q8.js → r-DiJzLRZc.js} +0 -0
  545. /package/dist/{range-CQvYp_qE.js → range-sX2tw-Jz.js} +0 -0
  546. /package/dist/{react-dom-CpBooCbY.js → react-dom-BTjywDxo.js} +0 -0
  547. /package/dist/{rpm-Djl3Dsf1.js → rpm-CywAxCKo.js} +0 -0
  548. /package/dist/{ruby-Dd2CZTip.js → ruby-B0a4mSSU.js} +0 -0
  549. /package/dist/{sas-DYF5_Iqu.js → sas-DTh30wZQ.js} +0 -0
  550. /package/dist/{scheme-YtWcji1H.js → scheme-CsOlAIFf.js} +0 -0
  551. /package/dist/{shell-C3uC3Y0Z.js → shell-7w75P-tg.js} +0 -0
  552. /package/dist/{sieve-DHB17sQG.js → sieve-BphUEMa4.js} +0 -0
  553. /package/dist/{simple-mode-BMmwP_vI.js → simple-mode-BcThS5Pa.js} +0 -0
  554. /package/dist/{smalltalk-Y5v1Np3H.js → smalltalk-CHwdNey_.js} +0 -0
  555. /package/dist/{solr-DvRJLlRD.js → solr-CuWbYJLt.js} +0 -0
  556. /package/dist/{sparql-BEt3GJwM.js → sparql-BtwCqUvT.js} +0 -0
  557. /package/dist/{spreadsheet-Dp4B9_rc.js → spreadsheet-C1JzeuKn.js} +0 -0
  558. /package/dist/{sql-DBsUs8nQ.js → sql-wv_2DQzf.js} +0 -0
  559. /package/dist/{stex-C6-x52ei.js → stex-BmcrV7cx.js} +0 -0
  560. /package/dist/{stylus-DroA8via.js → stylus-SVJ7TGPh.js} +0 -0
  561. /package/dist/{swift-DR0x1ESK.js → swift-f7KaABxm.js} +0 -0
  562. /package/dist/{tcl-BeuTFc_c.js → tcl-CbTFkeHJ.js} +0 -0
  563. /package/dist/{textile-C0ikhHN3.js → textile-CFn6QLRy.js} +0 -0
  564. /package/dist/{tiddlywiki-C_2Nvsgu.js → tiddlywiki-DBhMcdVM.js} +0 -0
  565. /package/dist/{tiki-CKQlhmQQ.js → tiki-CqcXr_YN.js} +0 -0
  566. /package/dist/{timer-CcUhugb0.js → timer-ly0jlpkr.js} +0 -0
  567. /package/dist/{toml-BqNUJWRI.js → toml-YgDIoI1n.js} +0 -0
  568. /package/dist/{treemap-BYLUKIzA.js → treemap-D5sUCpbF.js} +0 -0
  569. /package/dist/{troff-DkK0f2ZH.js → troff-CIp_4RXg.js} +0 -0
  570. /package/dist/{ttcn-Bf8vrg-_.js → ttcn-Yn_uOBYK.js} +0 -0
  571. /package/dist/{ttcn-cfg-DjCKzd95.js → ttcn-cfg-BVum2rmM.js} +0 -0
  572. /package/dist/{turtle-SSc84S9m.js → turtle-BeWx-YoQ.js} +0 -0
  573. /package/dist/{vb-CQ6DC3cL.js → vb-DKEmSA_2.js} +0 -0
  574. /package/dist/{vbscript-Dw0gFssg.js → vbscript-BPsxuP0n.js} +0 -0
  575. /package/dist/{velocity-BvJQyBmj.js → velocity-ycm1NvlO.js} +0 -0
  576. /package/dist/{verilog-CKGAvQjj.js → verilog-ogjm0Ytr.js} +0 -0
  577. /package/dist/{vhdl-B40_x6fM.js → vhdl-BvjyOM9y.js} +0 -0
  578. /package/dist/{webidl-Bi9hczCv.js → webidl-QdwcTYEu.js} +0 -0
  579. /package/dist/{xquery-DwWUXvP3.js → xquery-BErHIIc-.js} +0 -0
  580. /package/dist/{yacas-ClUs0mmH.js → yacas-BBBJNs0h.js} +0 -0
  581. /package/dist/{z80-DPC4UGzR.js → z80-nG9RRukG.js} +0 -0
  582. /package/dist/{zod-mAEs2ITo.js → zod-0AbTN3Cg.js} +0 -0
@@ -2,20 +2,9 @@
2
2
 
3
3
  import { mint, orange, slate } from "@radix-ui/colors";
4
4
  import type { TopLevelSpec } from "vega-lite";
5
- import type { StringFieldDef } from "vega-lite/build/src/channeldef";
6
- // @ts-expect-error vega-typings does not include formats
7
- import { formats } from "vega-loader";
8
- import { asRemoteURL } from "@/core/runtime/config";
5
+ import type { StringFieldDef } from "vega-lite/types_unstable/channeldef.js";
9
6
  import type { TopLevelFacetedUnitSpec } from "@/plugins/impl/data-explorer/queries/types";
10
- import { arrow } from "@/plugins/impl/vega/formats";
11
- import { parseCsvData } from "@/plugins/impl/vega/loader";
12
7
  import { logNever } from "@/utils/assertNever";
13
- import {
14
- byteStringToBinary,
15
- extractBase64FromDataURL,
16
- isDataURLString,
17
- typedAtob,
18
- } from "@/utils/json/base64";
19
8
  import type {
20
9
  BinValues,
21
10
  ColumnHeaderStats,
@@ -24,9 +13,11 @@ import type {
24
13
  ValueCounts,
25
14
  } from "../types";
26
15
  import {
16
+ getDataSpecAndSourceName,
27
17
  getLegacyBooleanSpec,
28
18
  getLegacyNumericSpec,
29
19
  getLegacyTemporalSpec,
20
+ getScale,
30
21
  } from "./legacy-chart-spec";
31
22
  import { calculateBinStep, getPartialTimeTooltip } from "./utils";
32
23
 
@@ -34,15 +25,13 @@ import { calculateBinStep, getPartialTimeTooltip } from "./utils";
34
25
  const MAX_BAR_HEIGHT = 20; // px
35
26
 
36
27
  // If we are concatenating charts, we need to specify each chart's height and width.
37
- const CHART_HEIGHT = 30;
38
- const CHART_WIDTH = 70;
39
- const NULL_BAR_WIDTH = 5;
40
-
41
- // Arrow formats have a magic number at the beginning of the file.
42
- const ARROW_MAGIC_NUMBER = "ARROW1";
28
+ const CONCAT_CHART_HEIGHT = 30;
29
+ const CONCAT_CHART_WIDTH = 70;
30
+ const CONCAT_NULL_BAR_WIDTH = 5;
43
31
 
44
- // register arrow reader under type 'arrow'
45
- formats("arrow", arrow);
32
+ const BAR_COLOR = mint.mint11;
33
+ const UNHOVERED_BAR_OPACITY = 0.6;
34
+ const NULL_BAR_COLOR = orange.orange11;
46
35
 
47
36
  export class ColumnChartSpecModel<T> {
48
37
  private columnStats = new Map<ColumnName, Partial<ColumnHeaderStats>>();
@@ -57,21 +46,21 @@ export class ColumnChartSpecModel<T> {
57
46
  {},
58
47
  {
59
48
  includeCharts: false,
60
- usePreComputedValues: false,
61
49
  },
62
50
  );
63
51
 
64
52
  private dataSpec: TopLevelSpec["data"];
65
- private sourceName: "data_0" | "source_0";
66
53
 
67
- private readonly data: T[] | string;
54
+ // Legacy data spec for fallback
55
+ private legacyDataSpec: TopLevelSpec["data"];
56
+ private legacySourceName: "data_0" | "source_0";
57
+
68
58
  private readonly fieldTypes: FieldTypes;
69
59
  readonly stats: Record<ColumnName, Partial<ColumnHeaderStats>>;
70
60
  readonly binValues: Record<ColumnName, BinValues>;
71
61
  readonly valueCounts: Record<ColumnName, ValueCounts>;
72
62
  private readonly opts: {
73
63
  includeCharts: boolean;
74
- usePreComputedValues?: boolean;
75
64
  };
76
65
 
77
66
  constructor(
@@ -82,56 +71,22 @@ export class ColumnChartSpecModel<T> {
82
71
  valueCounts: Record<ColumnName, ValueCounts>,
83
72
  opts: {
84
73
  includeCharts: boolean;
85
- usePreComputedValues?: boolean;
86
74
  },
87
75
  ) {
88
- this.data = data;
89
76
  this.fieldTypes = fieldTypes;
90
77
  this.stats = stats;
91
78
  this.binValues = binValues;
92
79
  this.valueCounts = valueCounts;
93
80
  this.opts = opts;
94
81
 
95
- // Data may come in from a few different sources:
96
- // - A URL
97
- // - A CSV data URI (e.g. "data:text/csv;base64,...")
98
- // - A CSV string (e.g. "a,b,c\n1,2,3\n4,5,6")
99
- // - An array of objects
100
- // For each case, we need to set up the data spec and source name appropriately.
101
- // If its a file, the source name will be "source_0", otherwise it will be "data_0".
102
- // We have a few snapshot tests to ensure that the spec is correct for each case.
103
- if (typeof this.data === "string") {
104
- if (this.data.startsWith("./@file") || this.data.startsWith("/@file")) {
105
- this.dataSpec = { url: asRemoteURL(this.data).href };
106
- this.sourceName = "source_0";
107
- } else if (isDataURLString(this.data)) {
108
- this.sourceName = "data_0";
109
- const base64 = extractBase64FromDataURL(this.data);
110
- const decoded = typedAtob(base64);
111
-
112
- if (decoded.startsWith(ARROW_MAGIC_NUMBER)) {
113
- // @ts-expect-error vega-typings does not include arrow format
114
- this.dataSpec = {
115
- values: byteStringToBinary(decoded),
116
- format: { type: "arrow" },
117
- };
118
- } else {
119
- // Assume it's a CSV string
120
- this.parseCsv(decoded);
121
- }
122
- } else {
123
- // Assume it's a CSV string
124
- this.parseCsv(this.data);
125
- this.sourceName = "data_0";
126
- }
127
- } else {
128
- this.dataSpec = { values: this.data };
129
- this.sourceName = "source_0";
130
- }
131
-
132
82
  this.columnBinValues = new Map(Object.entries(binValues));
133
83
  this.columnValueCounts = new Map(Object.entries(valueCounts));
134
84
  this.columnStats = new Map(Object.entries(stats));
85
+
86
+ const { dataSpec, sourceName } = getDataSpecAndSourceName(data);
87
+ this.dataSpec = dataSpec;
88
+ this.legacyDataSpec = dataSpec;
89
+ this.legacySourceName = sourceName;
135
90
  }
136
91
 
137
92
  public getColumnStats(column: string) {
@@ -146,42 +101,8 @@ export class ColumnChartSpecModel<T> {
146
101
  };
147
102
  }
148
103
 
149
- private parseCsv(data: string) {
150
- this.dataSpec = {
151
- values: parseCsvData(data) as T[],
152
- };
153
- }
154
-
155
- private getVegaSpec(column: string): TopLevelFacetedUnitSpec | null {
156
- if (!this.data) {
157
- return null;
158
- }
159
-
160
- const usePreComputedValues = this.opts.usePreComputedValues;
161
- const binValues = this.columnBinValues.get(column);
162
- const valueCounts = this.columnValueCounts.get(column);
163
- const hasValueCounts = valueCounts && valueCounts.length > 0;
164
-
165
- let data = this.dataSpec as TopLevelFacetedUnitSpec["data"];
166
- const stats = this.columnStats.get(column);
167
-
168
- if (usePreComputedValues) {
169
- if (hasValueCounts) {
170
- data = { values: valueCounts, name: "value_counts" };
171
- } else {
172
- // Bin values can be empty if all values are nulls
173
- if (stats?.nulls) {
174
- binValues?.push({
175
- bin_start: null,
176
- bin_end: null,
177
- count: stats.nulls as number,
178
- });
179
- }
180
- data = { values: binValues, name: "bin_values" };
181
- }
182
- }
183
-
184
- const base: TopLevelFacetedUnitSpec = {
104
+ private createBase(data: TopLevelSpec["data"]): TopLevelFacetedUnitSpec {
105
+ return {
185
106
  background: "transparent",
186
107
  data,
187
108
  config: {
@@ -194,7 +115,31 @@ export class ColumnChartSpecModel<T> {
194
115
  },
195
116
  height: 100,
196
117
  } as TopLevelFacetedUnitSpec;
118
+ }
119
+
120
+ private getVegaSpec(column: string): TopLevelFacetedUnitSpec | null {
121
+ const binValues = this.columnBinValues.get(column);
122
+ const valueCounts = this.columnValueCounts.get(column);
123
+ const hasValueCounts = valueCounts && valueCounts.length > 0;
124
+
125
+ let data = this.dataSpec as TopLevelFacetedUnitSpec["data"];
126
+ const stats = this.columnStats.get(column);
197
127
 
128
+ if (hasValueCounts) {
129
+ data = { values: valueCounts, name: "value_counts" };
130
+ } else {
131
+ // Bin values can be empty if all values are nulls
132
+ if (stats?.nulls) {
133
+ binValues?.push({
134
+ bin_start: null,
135
+ bin_end: null,
136
+ count: stats.nulls as number,
137
+ });
138
+ }
139
+ data = { values: binValues, name: "bin_values" };
140
+ }
141
+
142
+ const base = this.createBase(data);
198
143
  const type = this.fieldTypes[column];
199
144
 
200
145
  // https://github.com/vega/altair/blob/32990a597af7c09586904f40b3f5e6787f752fa5/doc/user_guide/encodings/index.rst#escaping-special-characters-in-column-names
@@ -205,18 +150,16 @@ export class ColumnChartSpecModel<T> {
205
150
  // escape colons in column names
206
151
  column = column.replaceAll(":", "\\:");
207
152
 
208
- const scale = this.getScale();
209
-
210
153
  switch (type) {
211
154
  case "date":
212
155
  case "datetime":
213
156
  case "time": {
214
- if (!usePreComputedValues) {
215
- return getLegacyTemporalSpec(column, type, base, scale);
157
+ if (!binValues) {
158
+ const legacyBase = this.createBase(this.legacyDataSpec);
159
+ const scale = getScale(this.legacySourceName);
160
+ return getLegacyTemporalSpec(column, type, legacyBase, scale);
216
161
  }
217
162
 
218
- const binStep = calculateBinStep(binValues || []);
219
-
220
163
  const tooltip = getPartialTimeTooltip(binValues || []);
221
164
  const singleValue = binValues?.length === 1;
222
165
 
@@ -224,7 +167,7 @@ export class ColumnChartSpecModel<T> {
224
167
  if (singleValue) {
225
168
  return {
226
169
  ...base,
227
- mark: { type: "bar", color: mint.mint11 },
170
+ mark: { type: "bar", color: BAR_COLOR },
228
171
  encoding: {
229
172
  x: {
230
173
  field: "bin_start",
@@ -255,16 +198,12 @@ export class ColumnChartSpecModel<T> {
255
198
  }
256
199
 
257
200
  const histogram: TopLevelFacetedUnitSpec = {
258
- height: CHART_HEIGHT,
259
- width: CHART_WIDTH,
260
201
  // @ts-expect-error 'layer' property not in TopLevelFacetedUnitSpec
261
202
  layer: [
262
203
  {
263
204
  mark: {
264
205
  type: "bar",
265
- color: mint.mint11,
266
- stroke: mint.mint11,
267
- strokeWidth: 0,
206
+ color: BAR_COLOR,
268
207
  },
269
208
  params: [
270
209
  {
@@ -279,13 +218,7 @@ export class ColumnChartSpecModel<T> {
279
218
  encoding: {
280
219
  x: {
281
220
  field: "bin_start",
282
- type: "temporal",
283
- bin: { binned: true, step: binStep },
284
- axis: null,
285
- },
286
- x2: {
287
- field: "bin_end",
288
- type: "temporal",
221
+ type: "ordinal",
289
222
  axis: null,
290
223
  },
291
224
  y: {
@@ -293,13 +226,21 @@ export class ColumnChartSpecModel<T> {
293
226
  type: "quantitative",
294
227
  axis: null,
295
228
  },
296
- strokeWidth: {
229
+ color: {
297
230
  condition: {
298
- param: "hover",
299
- empty: false,
300
- value: 0.5,
231
+ test: "datum['bin_start'] === null && datum['bin_end'] === null",
232
+ value: NULL_BAR_COLOR,
301
233
  },
302
- value: 0,
234
+ value: BAR_COLOR,
235
+ },
236
+ opacity: {
237
+ condition: [
238
+ {
239
+ param: "hover",
240
+ value: 1,
241
+ },
242
+ ],
243
+ value: UNHOVERED_BAR_OPACITY,
303
244
  },
304
245
  },
305
246
  },
@@ -309,18 +250,13 @@ export class ColumnChartSpecModel<T> {
309
250
  mark: {
310
251
  type: "bar",
311
252
  opacity: 0,
253
+ // Wider bars to cover gaps between bars, prevents flickering when hovering over bars
254
+ width: { band: 1.2 },
312
255
  },
313
256
  encoding: {
314
257
  x: {
315
258
  field: "bin_start",
316
- type: "temporal",
317
- bin: { binned: true, step: binStep },
318
- axis: null,
319
- },
320
- x2: {
321
- field: "bin_end",
322
- type: "temporal",
323
- bin: { binned: true, step: binStep },
259
+ type: "ordinal",
324
260
  axis: null,
325
261
  },
326
262
  y: {
@@ -353,130 +289,33 @@ export class ColumnChartSpecModel<T> {
353
289
  ],
354
290
  };
355
291
 
356
- const nullBar: TopLevelFacetedUnitSpec = {
357
- height: CHART_HEIGHT,
358
- width: NULL_BAR_WIDTH,
359
- // @ts-expect-error 'layer' property not in TopLevelFacetedUnitSpec
360
- layer: [
361
- {
362
- mark: {
363
- type: "bar",
364
- color: orange.orange11,
365
- },
366
- encoding: {
367
- x: {
368
- field: "bin_start",
369
- type: "nominal",
370
- axis: null,
371
- },
372
- y: {
373
- field: "count",
374
- type: "quantitative",
375
- axis: null,
376
- },
377
- },
378
- },
379
-
380
- // Invisible tooltip layer with max-height
381
- {
382
- mark: {
383
- type: "bar",
384
- opacity: 0,
385
- },
386
- encoding: {
387
- x: {
388
- field: "bin_start",
389
- type: "nominal",
390
- axis: null,
391
- },
392
- y: {
393
- aggregate: "max",
394
- type: "quantitative",
395
- axis: null,
396
- },
397
- tooltip: [
398
- {
399
- field: "count",
400
- type: "quantitative",
401
- title: "nulls",
402
- format: ",d",
403
- },
404
- ],
405
- },
406
- },
407
- ],
408
- transform: [
409
- {
410
- filter:
411
- "datum['bin_start'] === null && datum['bin_end'] === null",
412
- },
413
- ],
414
- };
415
-
416
- let chart: TopLevelFacetedUnitSpec = histogram;
417
- let timeBase = base;
418
-
419
- if (stats?.nulls) {
420
- timeBase = {
421
- ...base,
422
- config: {
423
- ...base.config,
424
- concat: {
425
- spacing: 0,
426
- },
427
- },
428
- resolve: {
429
- scale: {
430
- y: "shared",
431
- },
432
- },
433
- };
434
- chart = {
435
- // Temporal axis will not show nulls, so we concat 2 charts
436
- // @ts-expect-error 'hconcat' property not in TopLevelFacetedUnitSpec
437
- hconcat: [nullBar, histogram],
438
- };
439
- }
440
-
441
292
  return {
442
- ...timeBase,
443
- ...chart,
293
+ ...base,
294
+ ...histogram,
444
295
  };
445
296
  }
446
297
  case "integer":
447
298
  case "number": {
448
299
  // Create a histogram spec that properly handles null values
449
300
  const format = type === "integer" ? ",d" : ".2f";
450
- const binStep = calculateBinStep(binValues || []);
451
301
 
452
- if (!usePreComputedValues) {
453
- return getLegacyNumericSpec(column, format, base);
302
+ if (!binValues) {
303
+ const legacyBase = this.createBase(this.legacyDataSpec);
304
+ return getLegacyNumericSpec(column, format, legacyBase);
454
305
  }
455
306
 
456
- const stats = this.columnStats.get(column);
307
+ const binStep = calculateBinStep(binValues || []);
457
308
 
458
309
  const histogram: TopLevelFacetedUnitSpec = {
459
- height: CHART_HEIGHT,
460
- width: CHART_WIDTH,
310
+ height: CONCAT_CHART_HEIGHT,
311
+ width: CONCAT_CHART_WIDTH,
461
312
  // @ts-expect-error 'layer' property not in TopLevelFacetedUnitSpec
462
313
  layer: [
463
314
  {
464
315
  mark: {
465
316
  type: "bar",
466
- color: mint.mint11,
467
- stroke: mint.mint11,
468
- strokeWidth: 0,
317
+ color: BAR_COLOR,
469
318
  },
470
- params: [
471
- {
472
- name: "hover",
473
- select: {
474
- type: "point",
475
- on: "mouseover",
476
- clear: "mouseout",
477
- },
478
- },
479
- ],
480
319
  encoding: {
481
320
  x: {
482
321
  field: "bin_start",
@@ -492,13 +331,14 @@ export class ColumnChartSpecModel<T> {
492
331
  type: "quantitative",
493
332
  axis: null,
494
333
  },
495
- strokeWidth: {
496
- condition: {
497
- param: "hover",
498
- empty: false,
499
- value: 0.5,
500
- },
501
- value: 0,
334
+ opacity: {
335
+ condition: [
336
+ {
337
+ param: "hover",
338
+ value: 1,
339
+ },
340
+ ],
341
+ value: UNHOVERED_BAR_OPACITY,
502
342
  },
503
343
  },
504
344
  },
@@ -509,6 +349,17 @@ export class ColumnChartSpecModel<T> {
509
349
  type: "bar",
510
350
  opacity: 0,
511
351
  },
352
+ params: [
353
+ {
354
+ name: "hover",
355
+ select: {
356
+ type: "point",
357
+ on: "mouseover",
358
+ clear: "mouseout",
359
+ nearest: true, // Nearest avoids flickering when hovering over bars, but it's not perfect
360
+ },
361
+ },
362
+ ],
512
363
  encoding: {
513
364
  x: {
514
365
  field: "bin_start",
@@ -564,14 +415,14 @@ export class ColumnChartSpecModel<T> {
564
415
  };
565
416
 
566
417
  const nullBar: TopLevelFacetedUnitSpec = {
567
- height: CHART_HEIGHT,
568
- width: NULL_BAR_WIDTH,
418
+ height: CONCAT_CHART_HEIGHT,
419
+ width: CONCAT_NULL_BAR_WIDTH,
569
420
  // @ts-expect-error 'layer' property not in TopLevelFacetedUnitSpec
570
421
  layer: [
571
422
  {
572
423
  mark: {
573
424
  type: "bar",
574
- color: orange.orange11,
425
+ color: NULL_BAR_COLOR,
575
426
  },
576
427
  encoding: {
577
428
  x: {
@@ -652,7 +503,7 @@ export class ColumnChartSpecModel<T> {
652
503
  };
653
504
  }
654
505
  case "boolean": {
655
- if (!usePreComputedValues || !stats?.true || !stats?.false) {
506
+ if (!stats?.true || !stats?.false) {
656
507
  return getLegacyBooleanSpec(column, base, MAX_BAR_HEIGHT);
657
508
  }
658
509
 
@@ -699,7 +550,7 @@ export class ColumnChartSpecModel<T> {
699
550
  },
700
551
  mark: {
701
552
  type: "bar",
702
- color: mint.mint11,
553
+ color: BAR_COLOR,
703
554
  },
704
555
  encoding: {
705
556
  y: {
@@ -726,7 +577,7 @@ export class ColumnChartSpecModel<T> {
726
577
  type: "nominal",
727
578
  scale: {
728
579
  domain: ["true", "false", "null"],
729
- range: [mint.mint11, mint.mint11, orange.orange11],
580
+ range: [BAR_COLOR, BAR_COLOR, NULL_BAR_COLOR],
730
581
  },
731
582
  legend: null,
732
583
  },
@@ -740,7 +591,7 @@ export class ColumnChartSpecModel<T> {
740
591
  {
741
592
  mark: {
742
593
  type: "bar",
743
- color: mint.mint11,
594
+ color: BAR_COLOR,
744
595
  height: BAR_HEIGHT,
745
596
  },
746
597
  },
@@ -764,7 +615,7 @@ export class ColumnChartSpecModel<T> {
764
615
  } as TopLevelFacetedUnitSpec; // "layer" not in TopLevelFacetedUnitSpec
765
616
  }
766
617
  case "string": {
767
- if (!usePreComputedValues || !hasValueCounts) {
618
+ if (!hasValueCounts) {
768
619
  return null;
769
620
  }
770
621
 
@@ -840,18 +691,20 @@ export class ColumnChartSpecModel<T> {
840
691
  type: "quantitative",
841
692
  },
842
693
  color: {
694
+ condition: {
695
+ test: `datum.${yField} == "None" || datum.${yField} == "null"`,
696
+ value: NULL_BAR_COLOR,
697
+ },
698
+ value: BAR_COLOR,
699
+ },
700
+ opacity: {
843
701
  condition: [
844
702
  {
845
703
  param: "hover_bar",
846
- value: mint.mint11,
847
- },
848
- {
849
- test: `datum.${yField} == "None" || datum.${yField} == "null"`,
850
- value: orange.orange11,
704
+ value: 1,
851
705
  },
852
706
  ],
853
- value: mint.mint8,
854
- legend: null,
707
+ value: UNHOVERED_BAR_OPACITY,
855
708
  },
856
709
  tooltip: [
857
710
  {
@@ -920,14 +773,4 @@ export class ColumnChartSpecModel<T> {
920
773
  return null;
921
774
  }
922
775
  }
923
-
924
- private getScale() {
925
- return {
926
- align: 0,
927
- paddingInner: 0,
928
- paddingOuter: {
929
- expr: `length(data('${this.sourceName}')) == 2 ? 1 : length(data('${this.sourceName}')) == 3 ? 0.5 : length(data('${this.sourceName}')) == 4 ? 0 : 0`,
930
- },
931
- };
932
- }
933
776
  }
@@ -1,6 +1,7 @@
1
1
  /* Copyright 2024 Marimo. All rights reserved. */
2
2
  import React, { Suspense } from "react";
3
3
  import { useLocale } from "react-aria";
4
+ import { LazyVegaEmbed } from "@/components/charts/lazy";
4
5
  import { createBatchedLoader } from "@/plugins/impl/vega/batched";
5
6
  import { useTheme } from "@/theme/useTheme";
6
7
  import { logNever } from "@/utils/assertNever";
@@ -19,10 +20,6 @@ interface Props<TData, TValue> {
19
20
  columnId: string;
20
21
  }
21
22
 
22
- const LazyVegaLite = React.lazy(() =>
23
- import("react-vega").then((m) => ({ default: m.VegaLite })),
24
- );
25
-
26
23
  // We batch multiple calls to the same URL returning the same promise
27
24
  // for all calls with the same key.
28
25
  const batchedLoader = createBatchedLoader();
@@ -46,16 +43,19 @@ export const TableColumnSummary = <TData, TValue>({
46
43
  fallback={skeleton}
47
44
  >
48
45
  <Suspense fallback={skeleton}>
49
- <LazyVegaLite
46
+ <LazyVegaEmbed
50
47
  spec={spec}
51
- width={70}
52
- height={30}
53
- renderer="svg"
54
- // @ts-expect-error - Our `loader.load` method is broader than VegaLite's typings but is functionally supported.
55
- loader={batchedLoader}
48
+ options={{
49
+ width: 80,
50
+ height: 30,
51
+ renderer: "svg",
52
+ actions: false,
53
+ theme: theme === "dark" ? "dark" : "vox",
54
+ // @ts-expect-error - Our `loader.load` method is broader than VegaLite's typings but is functionally supported.
55
+ loader: batchedLoader,
56
+ mode: "vega-lite",
57
+ }}
56
58
  style={{ minWidth: "unset", maxHeight: "40px" }}
57
- actions={false}
58
- theme={theme === "dark" ? "dark" : "vox"}
59
59
  />
60
60
  </Suspense>
61
61
  </DelayMount>