@marimo-team/islands 0.25.3-dev34 → 0.25.3-dev349

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 (1055) hide show
  1. package/dist/{ConnectedDataExplorerComponent-7EaP9VWb.js → ConnectedDataExplorerComponent-xliyyXNO.js} +188 -212
  2. package/dist/{ErrorBoundary-CkPa08Bb.js → ErrorBoundary-kxPR3skp.js} +79 -85
  3. package/dist/{ImageComparisonComponent-uU8FSKZE.js → ImageComparisonComponent-CoiwlCwG.js} +20 -20
  4. package/dist/{Plot-DdYOe1UK.js → Plot-BHJLG4xm.js} +2474 -3107
  5. package/dist/_baseSet-Bd5zh2yg.js +327 -0
  6. package/dist/{abnfDiagram-VCTEODGH-z_OSynK8.js → abnfDiagram-VCTEODGH-Dl9Nrtbf.js} +5 -5
  7. package/dist/any-language-editor-CBHhdCC0.js +75 -0
  8. package/dist/{apl-GEW9-ZP1.js → apl-stFrI2NB.js} +1 -1
  9. package/dist/{arc-7ra3iNdN.js → arc-4W6H62B5.js} +1 -1
  10. package/dist/architecture-7GRP2DOG-GlkXha5_.js +2 -0
  11. package/dist/{architectureDiagram-5GKGNRK7-Cs8J8BZr.js → architectureDiagram-5GKGNRK7-DTg032fQ.js} +48 -64
  12. package/dist/{arrays-CN1djC4k.js → arrays-DoQ-AILx.js} +15 -27
  13. package/dist/{asciiarmor-BWNxzkG7.js → asciiarmor-DHwFuaIC.js} +1 -1
  14. package/dist/{asn1-Bcn2QutK.js → asn1-KIH4fwAq.js} +1 -1
  15. package/dist/assertNever-ie77PjMn.js +507 -0
  16. package/dist/assets/__vite-browser-external-Ci3vRqC9.js +1 -0
  17. package/dist/assets/worker-D9NGcZWK.js +171 -0
  18. package/dist/{blockDiagram-I7D4REHJ-Cg25UrxT.js → blockDiagram-I7D4REHJ-BoCyD5KO.js} +28 -39
  19. package/dist/{brainfuck-BQCYDheZ.js → brainfuck-UPAij4U9.js} +1 -1
  20. package/dist/{button-CvjkwdSk.js → button-qQhINE7z.js} +64 -64
  21. package/dist/{c4Diagram-7LVT6UL2-BxFgrnNV.js → c4Diagram-7LVT6UL2-DmcTtm4p.js} +8 -8
  22. package/dist/{capabilities-CQ5IjhzL.js → capabilities-DKqMqBzm.js} +2 -2
  23. package/dist/{channel-CPObtJXj.js → channel-B9eaiezW.js} +1 -1
  24. package/dist/{chat-ui-BeKQyQQI.js → chat-ui-BV0qyfru.js} +2551 -2390
  25. package/dist/{check-BMKBBrdc.js → check-DTIv5ZZ3.js} +1 -1
  26. package/dist/{chunk-4HAMMTFA-D4eFPyFh.js → chunk-4HAMMTFA-qKgadZwy.js} +6 -6
  27. package/dist/{chunk-75Z2AOVW-D7gxIs2Q.js → chunk-75Z2AOVW-76L6My3P.js} +4 -4
  28. package/dist/{chunk-YOKDWASO-DKplTrBY.js → chunk-7TTQLYRW-DBSfUUe5.js} +6253 -5835
  29. package/dist/{chunk-DU6HZSFF-BwiyaNpg.js → chunk-DU6HZSFF-4SDIhUTY.js} +14 -22
  30. package/dist/{chunk-F27PBJKO-ufseIn5y.js → chunk-F27PBJKO-COH2t-FO.js} +3 -3
  31. package/dist/{chunk-FOHPRMQF-BpYR8RqP.js → chunk-FOHPRMQF-ezmr_yWy.js} +49 -58
  32. package/dist/{chunk-GMAD6QVW-BhaJx0X3.js → chunk-GMAD6QVW-BJGF8QZL.js} +16 -75
  33. package/dist/{chunk-GVQU2GXP-Cwbt-lF0.js → chunk-GVQU2GXP-BkolpSXU.js} +3 -3
  34. package/dist/{chunk-IMKFNOWR-aoSFasqF.js → chunk-IMKFNOWR-CsFB-2LW.js} +8 -8
  35. package/dist/{chunk-L3NEJ4N5-n-zgIVSy.js → chunk-L3NEJ4N5-B-BFQp9t.js} +6 -6
  36. package/dist/{chunk-OSK3NFVY-DXa-Cxbn.js → chunk-OSK3NFVY-BzfZ4VBG.js} +8 -8
  37. package/dist/{chunk-P2QGCYS3-B_Zd3-X0.js → chunk-P2QGCYS3-DJApLVdt.js} +1 -1
  38. package/dist/{chunk-POPQ4Y6H-hYOXbYH_.js → chunk-POPQ4Y6H-BFSZel4w.js} +2 -2
  39. package/dist/{chunk-PWAF6VOD-CQw5qATZ.js → chunk-PWAF6VOD-CRu_RGP2.js} +2 -2
  40. package/dist/{chunk-SHT3W25Y-CMaybO3O.js → chunk-SHT3W25Y-ByuJHeBL.js} +10 -10
  41. package/dist/{chunk-SVP7TREG-BNBrTAw1.js → chunk-SVP7TREG-9oBZhbrr.js} +3 -3
  42. package/dist/{chunk-TICWLB2K-DXNxvUJn.js → chunk-TICWLB2K-Bx4m0cJ1.js} +10 -10
  43. package/dist/{chunk-XXDRQBXY-Dnl5VBqG.js → chunk-XXDRQBXY-BM-YIt-_.js} +1 -1
  44. package/dist/classDiagram-ZZMXUADV-Cms37-C9.js +30 -0
  45. package/dist/classDiagram-v2-VYDZK3BY-qAom4Bi7.js +30 -0
  46. package/dist/{clike-CxK9W55Z.js → clike-xU8sCVU1.js} +2 -6
  47. package/dist/{clojure-Dzcvwpxk.js → clojure-psoSEo36.js} +1 -1
  48. package/dist/{cmake-DYr-71zp.js → cmake-DDHBwlE7.js} +1 -1
  49. package/dist/{cobol-DC3g37Kq.js → cobol-C4qjDcIq.js} +1 -1
  50. package/dist/code-visibility-D8Fumu_H.js +130 -0
  51. package/dist/{coffeescript-C-eFwH5N.js → coffeescript-D6UgrGgo.js} +1 -1
  52. package/dist/{common-DCeV59yz.js → common-BwaJX-Um.js} +11323 -10613
  53. package/dist/{commonlisp-CyaNXrJR.js → commonlisp-B0ChVjnu.js} +1 -1
  54. package/dist/{compiler-runtime-CldRdSsv.js → compiler-runtime-C5KHtL5D.js} +3 -3
  55. package/dist/config-CvBnR945.js +618 -0
  56. package/dist/{copy-icon-BgUO8jsi.js → copy-icon-DmtNidSa.js} +21 -22
  57. package/dist/{cose-bilkent-JH36ORCC-_LyRKVqm.js → cose-bilkent-JH36ORCC-B_Oz4vMP.js} +58 -71
  58. package/dist/createReducer-BxBCTvKn.js +67 -0
  59. package/dist/{crystal-ih5ax5tQ.js → crystal-DZsc9Ue0.js} +1 -1
  60. package/dist/{css-CN_wP7_R.js → css-DkYRnQ9U.js} +1 -1
  61. package/dist/{cubic-OaEBhQPK.js → cubic-CA80xY_e.js} +6 -7
  62. package/dist/cynefin-OW5HDTMX-0-HehVvH.js +2 -0
  63. package/dist/{cynefinDiagram-5FMLGOSQ-DWHuKJs8.js → cynefinDiagram-5FMLGOSQ-BjJZwMEz.js} +5 -5
  64. package/dist/{cypher-CqGRcmZo.js → cypher-CpWPqgvy.js} +1 -1
  65. package/dist/{cytoscape.esm-jJhXJpLB.js → cytoscape.esm-BbeMznK5.js} +411 -512
  66. package/dist/{d-Cj0sOW2z.js → d-Bx2ggfYO.js} +1 -1
  67. package/dist/{dagre-BGSfXNEb.js → dagre-CpjuekF1.js} +550 -700
  68. package/dist/{dagre-GXQ25YYZ-DYLu-OCU.js → dagre-GXQ25YYZ-Bohu7_09.js} +14 -16
  69. package/dist/{data-grid-overlay-editor-DOGpF5cl.js → data-grid-overlay-editor-xN2CoaW7.js} +8 -8
  70. package/dist/{data-grid-types-0PJ-9N5n.js → data-grid-types-DIX_pCco.js} +2 -2
  71. package/dist/{debounce-C3jyATpc.js → debounce-DrhhziJv.js} +2 -2
  72. package/dist/{diagram-S7CK7UJ4-PwwcUOHP.js → diagram-S7CK7UJ4-Chl0n835.js} +7 -15
  73. package/dist/{diagram-UQ7AKVKN-CvJbL_IM.js → diagram-UQ7AKVKN-DHx8nzy7.js} +5 -5
  74. package/dist/{diagram-VSXAHHWV-BJWcVVJY.js → diagram-VSXAHHWV-LXjisZoM.js} +6 -6
  75. package/dist/{diagram-VX7I27RA-B5RkqnzN.js → diagram-VX7I27RA-CKdpv1U4.js} +7 -7
  76. package/dist/{diagram-Z3DM3KII-CyijwTR2.js → diagram-Z3DM3KII-sY-sI--2.js} +5 -5
  77. package/dist/{dialog-Cc479ZEH.js → dialog-Cqu5Hp5U.js} +32 -32
  78. package/dist/{diff-B_hUkiat.js → diff-DNXaJS8v.js} +1 -1
  79. package/dist/{dist-D6d86eNJ.js → dist-B-Id1kt3.js} +48 -47
  80. package/dist/{dist-DiDibOYr.js → dist-BDw9g6PC.js} +152 -151
  81. package/dist/{dist-diIx5qJW.js → dist-B_EswY8r.js} +33 -32
  82. package/dist/{dist-DoE4XJBC.js → dist-B_xgcU0N.js} +9800 -10654
  83. package/dist/{dist-CLdpGQVr.js → dist-BcGGwW1q.js} +119 -121
  84. package/dist/dist-BdZQUzPS.js +850 -0
  85. package/dist/{dist-CN_BeG2I.js → dist-Bj8s59mu.js} +59 -58
  86. package/dist/{dist-CkTTIdBe.js → dist-C3dYgyiI.js} +337 -337
  87. package/dist/{dist-PXYI_yuP.js → dist-C6ttp2Iy.js} +24 -23
  88. package/dist/{dist-DUAh96QY.js → dist-CB9MzCXv.js} +1 -1
  89. package/dist/{dist-CSbh1PNP.js → dist-CCYz0qJ2.js} +24 -23
  90. package/dist/{dist-BMQf5zIS.js → dist-CDjivQ67.js} +124 -123
  91. package/dist/{dist-D-wwqlzJ.js → dist-CNT4u03u.js} +159 -158
  92. package/dist/{dist-Lm-D-Vr6.js → dist-CiSkXlAO.js} +3 -3
  93. package/dist/{dist-F8Ep36rk.js → dist-DVVzH9mP.js} +60 -59
  94. package/dist/{dist-OR1OnN-y.js → dist-DlniJvh2.js} +32 -31
  95. package/dist/{dist-CSJ0MDRw.js → dist-Dq-hanx8.js} +57 -56
  96. package/dist/{dist-C8fAKSH1.js → dist-FakvNY2e.js} +54 -53
  97. package/dist/{dist-BuaRHxOc.js → dist-K-qmZv0f.js} +45 -44
  98. package/dist/{dist-Cg7gzw-a.js → dist-NPImE_g9.js} +79 -78
  99. package/dist/{dist-CN8zI-XC.js → dist-PKX4HaX5.js} +239 -239
  100. package/dist/{dist-CrSP_H1M.js → dist-U4WlxEDL.js} +243 -243
  101. package/dist/{dist-BK4Oj99o.js → dist-UKKHsqHo.js} +19 -18
  102. package/dist/{dist-Bvs24R_E.js → dist-VRN9rDqa.js} +32 -31
  103. package/dist/{dist-BorMD-uX.js → dist-f1h5p-fp.js} +76 -75
  104. package/dist/{dist-BLfKmR-l.js → dist-h8Te4SvD.js} +17 -16
  105. package/dist/{dist-DBtSl3sf.js → dist-ymIUQ4tH.js} +48 -50
  106. package/dist/dropdown-menu-DXEYk99S.js +5982 -0
  107. package/dist/{dtd-B8FGSWWe.js → dtd-D1YZQCVT.js} +1 -1
  108. package/dist/{dylan-DbIBYIrw.js → dylan-CxbG-PUm.js} +2 -2
  109. package/dist/{ebnfDiagram-PWID7BFC-DG90ELFp.js → ebnfDiagram-PWID7BFC-CD0P2xeH.js} +5 -5
  110. package/dist/{ecl-DBmkdWAd.js → ecl-DIXH6vul.js} +1 -1
  111. package/dist/{eiffel-CcWSDDzK.js → eiffel-D0de-eQr.js} +1 -1
  112. package/dist/{elm-MC-b8a6C.js → elm-DrQrn4VD.js} +1 -1
  113. package/dist/{erDiagram-RLTQ6QDP-FMo_SpyX.js → erDiagram-RLTQ6QDP-BaKQuYxC.js} +14 -14
  114. package/dist/{erlang-AdO1-xtV.js → erlang-2KpKpfC7.js} +1 -1
  115. package/dist/{error-banner-CFPHFw4h.js → error-banner-DUB_qUeL.js} +140 -140
  116. package/dist/error-entries-CTb_cxXY.js +2651 -0
  117. package/dist/{esm-G4Fhsgng.js → esm-DQtHTnHn.js} +640 -660
  118. package/dist/{esm-AMFssoNp.js → esm-Dc_RPXvZ.js} +335 -335
  119. package/dist/{esm-D2gTsXEV.js → esm-wKplZtOX.js} +580 -581
  120. package/dist/eventmodeling-NTZA5JFV-DoBvB4Lj.js +2 -0
  121. package/dist/{factor-Ys-13HOP.js → factor-Bwu3ZGOk.js} +1 -1
  122. package/dist/{feedback-button-HmgYHka9.js → feedback-button-C1UwtVjl.js} +105 -114
  123. package/dist/flowDiagram-HODETNUW-BcCpHh7-.js +15 -0
  124. package/dist/{formats-DRHUWwSK.js → formats-hF6fETr6.js} +9 -9
  125. package/dist/{forth-DiMuIXFe.js → forth-DYatDpr6.js} +2 -3
  126. package/dist/{fortran-hkrF2eM4.js → fortran-n8mcQPkL.js} +1 -1
  127. package/dist/{ganttDiagram-EL5Y4UJY-Dh_4cBJZ.js → ganttDiagram-EL5Y4UJY-YzTghq1V.js} +17 -17
  128. package/dist/{gas-DlhqN9k8.js → gas-BUZOHBVw.js} +1 -1
  129. package/dist/{gherkin-0SlhEZ3t.js → gherkin-CrSjX26K.js} +1 -1
  130. package/dist/gitGraph-4MIJSDKK-Ch7kj-d2.js +2 -0
  131. package/dist/{gitGraphDiagram-WWUBYQGX-D5nSIzdE.js → gitGraphDiagram-WWUBYQGX-CK66dT35.js} +4 -4
  132. package/dist/{glide-data-editor-ChLxq3bk.js → glide-data-editor-o_BhuAJB.js} +6732 -2978
  133. package/dist/{glide-utils-pisbYVjH.js → glide-utils-Bnd_k48H.js} +109 -78
  134. package/dist/{globals-CP_-MiOh.js → globals-HTpXpd2Q.js} +3 -3
  135. package/dist/{graphlib-BmY_CCV9.js → graphlib-nlwT3Wvy.js} +177 -220
  136. package/dist/{groovy-YhcTMyvX.js → groovy-IgGNjeU9.js} +1 -1
  137. package/dist/hasIn-C20JsQ2m.js +28 -0
  138. package/dist/{haskell-CodLxrtT.js → haskell-Bs1k3a9s.js} +1 -1
  139. package/dist/{haxe-CiRWNFkH.js → haxe-CQ8Yb3XF.js} +1 -1
  140. package/dist/highlighted-body-JLMTFACH-yt0ZZn80.js +42 -0
  141. package/dist/{error-entries-CnqKxhU9.js → html-to-image-Bbl0PeC7.js} +26184 -26482
  142. package/dist/{idl-DZgBq75I.js → idl-DjnxoAWx.js} +1 -1
  143. package/dist/info-A6RAGUB7-DCz_Egh9.js +2 -0
  144. package/dist/{infoDiagram-27XIBGKW-CRSDtRrd.js → infoDiagram-27XIBGKW-DWltseIa.js} +4 -4
  145. package/dist/isArrayLikeObject-B-HXCsex.js +626 -0
  146. package/dist/isEmpty-CdX7MTE1.js +14 -0
  147. package/dist/{ishikawaDiagram-5VMMS53U-DxLEUldB.js → ishikawaDiagram-5VMMS53U-DHgepBPo.js} +5 -7
  148. package/dist/{javascript-BfNytHiM.js → javascript-BQtCoAFy.js} +2 -2
  149. package/dist/{journeyDiagram-3NMN7TZE-BaLqn-dZ.js → journeyDiagram-3NMN7TZE-CYXsL3IE.js} +4 -4
  150. package/dist/{jsx-runtime-3BD1kT0s.js → jsx-runtime-D8btoEHk.js} +2 -2
  151. package/dist/{julia--tLIAG7q.js → julia-BfgtHJE5.js} +1 -1
  152. package/dist/{kanban-definition-UXKFOSKX-BLhvu8o4.js → kanban-definition-UXKFOSKX-B2_BIjBq.js} +10 -10
  153. package/dist/{katex-BIdZGsyO.js → katex-wAapZGrX.js} +793 -724
  154. package/dist/linear-TJTTbHM9.js +203 -0
  155. package/dist/{livescript-CVPfYnY_.js → livescript-gIdRPKtg.js} +1 -1
  156. package/dist/{loader-BPdQhmlq.js → loader-Bin_dutt.js} +13 -13
  157. package/dist/{lua-4Fa-T-qq.js → lua-CxFpWvnv.js} +2 -2
  158. package/dist/main.js +10930 -8473
  159. package/dist/{mathematica-CtYAy6GG.js → mathematica-QSveeEoW.js} +1 -1
  160. package/dist/{mbox-D0w9Ah1C.js → mbox-2JtaCPNT.js} +1 -1
  161. package/dist/{mermaid-Bjm6C1qN.js → mermaid--2K0cmt9.js} +170 -176
  162. package/dist/mermaid-WFAXDIZX-DHB2z13u.js +1 -0
  163. package/dist/{mermaid-parser.core-DxuSfYwJ.js → mermaid-parser.core-DtOnl7m4.js} +19 -25
  164. package/dist/{mhchem-CdWPJK6g.js → mhchem-CX8M7Ktl.js} +1 -1
  165. package/dist/{micromark-factory-space-DGxAzmw8.js → micromark-factory-space-C5soVmaM.js} +1 -1
  166. package/dist/{mindmap-definition-YA3MSWOX-g2LwxnYQ.js → mindmap-definition-YA3MSWOX-DNebycIP.js} +13 -13
  167. package/dist/{mirc-De9aSAZM.js → mirc-BqD6ade4.js} +1 -1
  168. package/dist/{mllike-BbugeaY_.js → mllike-CT0hgEOO.js} +1 -1
  169. package/dist/{modelica-BjJwWw1F.js → modelica-DKKebcvq.js} +1 -1
  170. package/dist/{mscgen-DwiRH5ma.js → mscgen-BJCCsWjR.js} +1 -1
  171. package/dist/{mumps--plbDM9o.js → mumps-DVQAXZkU.js} +1 -1
  172. package/dist/{nginx-C4Df7REc.js → nginx-AP4LH2NN.js} +1 -1
  173. package/dist/{node-sql-parser-BiZOJ-FS.js → node-sql-parser-C9dndbfr.js} +7184 -7195
  174. package/dist/{now-jM8-M7IR.js → now-BKZCLE5P.js} +12 -13
  175. package/dist/{nsis-fiiOqLc3.js → nsis-Cah9xkdT.js} +1 -1
  176. package/dist/{ntriples-jV77I4k8.js → ntriples-CQoaLOV6.js} +2 -2
  177. package/dist/{number-overlay-editor-CCm8xv1J.js → number-overlay-editor-Dmo99-rX.js} +17 -22
  178. package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
  179. package/dist/{octave-Cztd01tF.js → octave-CeDj2bTn.js} +1 -1
  180. package/dist/{once-BtE-wKRL.js → once-NnpX_HnX.js} +1 -1
  181. package/dist/{oz-Bl8o3BDl.js → oz-BksQrg3k.js} +1 -1
  182. package/dist/packet-AYTQ26CC-DEMHgLPq.js +2 -0
  183. package/dist/{pascal-BO5JqysR.js → pascal-BKL17mpl.js} +1 -1
  184. package/dist/{pegDiagram-XKGWAZYB-CpMAt3Qs.js → pegDiagram-XKGWAZYB-CH4U3II-.js} +5 -5
  185. package/dist/pencil-MMnw1YQh.js +10 -0
  186. package/dist/{perl-Drlh9s6m.js → perl-CacqJ-Ss.js} +1 -1
  187. package/dist/pick-DgpAbcwP.js +35 -0
  188. package/dist/pie-WAS4IAKB-DMjTEeHd.js +2 -0
  189. package/dist/{pieDiagram-E7YTZNPT-CVTthoZo.js → pieDiagram-E7YTZNPT-pfcrdUCa.js} +7 -7
  190. package/dist/{pig-BWGR8wZw.js → pig-CXSGZ_K9.js} +1 -1
  191. package/dist/{powershell-DT99xlz_.js → powershell-DY_yIxBM.js} +3 -6
  192. package/dist/precisionRound-DMIVQrt2.js +97 -0
  193. package/dist/{process-output-DgQrilBD.js → process-output-Dw_sI4Xp.js} +6 -6
  194. package/dist/{properties-Q-rkxld0.js → properties-Om0IDE07.js} +1 -1
  195. package/dist/{protobuf-DKyWZbs7.js → protobuf-B8nxxb4Q.js} +1 -1
  196. package/dist/{pug-42ZJUbEC.js → pug-lkUBPvVS.js} +3 -7
  197. package/dist/{puppet-B4UozHhh.js → puppet-DMkXsi4d.js} +1 -1
  198. package/dist/purify.es-DmnrIjg4.js +877 -0
  199. package/dist/{python-DREjAV__.js → python-JQVycMgr.js} +1 -1
  200. package/dist/{q-Bi63IpBO.js → q-DqE__nNB.js} +1 -1
  201. package/dist/{quadrantDiagram-AXDQQJYC-Blrm7V7_.js → quadrantDiagram-AXDQQJYC-nGFBFig7.js} +3 -3
  202. package/dist/{r-DSwXWKMR.js → r-Cbliap7Q.js} +1 -1
  203. package/dist/radar-RG4KPBEZ-9PwdCvai.js +2 -0
  204. package/dist/railroad-74A4TZTK-8N9kF5jl.js +2 -0
  205. package/dist/railroad-abnf-HS5TGJTU-Sg6YmzlR.js +2 -0
  206. package/dist/railroad-ebnf-LZEXJU2U-CYwp2Oee.js +2 -0
  207. package/dist/railroad-peg-WCYAUIDC-BfDkAuQ3.js +2 -0
  208. package/dist/{railroadDiagram-O6MQD6OU-ao8cqqFB.js → railroadDiagram-O6MQD6OU-BZKpAbNG.js} +5 -5
  209. package/dist/{react-sHtZdjeP.js → react-Bgs_wQh3.js} +3 -3
  210. package/dist/{react-dom-DUmH0GXv.js → react-dom-DdqGVp5N.js} +5 -5
  211. package/dist/{react-vega-BDpbvBCb.js → react-vega-CGgQEf0O.js} +13800 -17236
  212. package/dist/{requirementDiagram-BXWQKSXE--J8vyfm-.js → requirementDiagram-BXWQKSXE-DnyfIHe3.js} +13 -13
  213. package/dist/{reveal-component-C3tSBdGZ.js → reveal-component-SAEDhB8R.js} +1172 -1285
  214. package/dist/{rolldown-runtime-Cb76FRpK.js → rolldown-runtime-BPCzCO3I.js} +1 -1
  215. package/dist/{rpm-DPb1DeKM.js → rpm-DmT_LNpE.js} +1 -1
  216. package/dist/{ruby-U7fZA4DP.js → ruby-BHVZTtLW.js} +1 -1
  217. package/dist/{sankeyDiagram-P5KCCOFB-ELvOcnZH.js → sankeyDiagram-P5KCCOFB-CrOfyc2n.js} +2 -2
  218. package/dist/{sas-CLk1JpTn.js → sas-CrG5N1he.js} +1 -1
  219. package/dist/{scheme-CT-2k2Tl.js → scheme-BHUnz-IB.js} +1 -1
  220. package/dist/select-suaAxFuo.js +1200 -0
  221. package/dist/{semaphore-89jsoHtS.js → semaphore-8KhQouXt.js} +4 -5
  222. package/dist/{sequenceDiagram-WJ2MYXX4-CiQbn62x.js → sequenceDiagram-WJ2MYXX4-BeYuWX7N.js} +6 -6
  223. package/dist/{shell-BLO7fcsk.js → shell-C5IBmRU5.js} +1 -1
  224. package/dist/{sieve-nG3C7WNH.js → sieve-BzCnt_E6.js} +2 -2
  225. package/dist/{sizeCapture-INFHLROL-Dx5SpkQF.js → sizeCapture-INFHLROL-DBeZ20mI.js} +1 -1
  226. package/dist/{smalltalk-BROcZybA.js → smalltalk-DQFAQul3.js} +1 -1
  227. package/dist/{solr-mVltHNc5.js → solr-BiapYPCk.js} +1 -1
  228. package/dist/{sparql-Cv1Ksr4v.js → sparql-BcUKO1is.js} +1 -1
  229. package/dist/{spec-D_u2ipzF.js → spec-BQNx2-D7.js} +42 -12
  230. package/dist/{src-CA_m4ONl.js → src-D5uZaZib.js} +8 -14
  231. package/dist/{stateDiagram-D77RDMKH-DVEeGs5b.js → stateDiagram-D77RDMKH-B8FxwAM2.js} +18 -18
  232. package/dist/stateDiagram-v2-MP3YSRHH-CzWLBqm1.js +30 -0
  233. package/dist/static-state-Al_hmf1n.js +68 -0
  234. package/dist/{stex-Btf3omL8.js → stex-CQ_aCGTF.js} +1 -1
  235. package/dist/style.css +1 -1
  236. package/dist/{stylus-Dt4VvLXL.js → stylus-D4gHF5lg.js} +1 -1
  237. package/dist/{swift-DHsn_CVI.js → swift-CnvIBnbt.js} +1 -1
  238. package/dist/{swimlanes-42K2YHIH-CqkGoGqn.js → swimlanes-42K2YHIH-CzKmGMts.js} +37 -59
  239. package/dist/swimlanesDiagram-VR7AAH4N-DnWIUN_9.js +30 -0
  240. package/dist/{swiper-component-DKntyn8p.js → swiper-component-DTdNB9wg.js} +45 -78
  241. package/dist/{tcl-CV0OLBOl.js → tcl-DkOjjZYO.js} +1 -1
  242. package/dist/{textile-D320oKVM.js → textile-DgzBVSEW.js} +1 -1
  243. package/dist/{tiki-BF2aDPlB.js → tiki-MighF8A_.js} +1 -1
  244. package/dist/{time-BaMbJs4z.js → time-BlOl70lB.js} +19 -19
  245. package/dist/{timeline-definition-24CTP7MA-DLRUNVAx.js → timeline-definition-24CTP7MA-Czf2QN2R.js} +5 -5
  246. package/dist/toast-CsJa1nGj.js +491 -0
  247. package/dist/{toml-CaUN7UHo.js → toml-B0B7UAba.js} +1 -1
  248. package/dist/{tooltip-CtBZ5q8p.js → tooltip-BVbJPkcl.js} +321 -297
  249. package/dist/treeView-Q6P3EWNA-BQywp0E1.js +2 -0
  250. package/dist/treemap-WGGIJYW6-P2ZJnldw.js +2 -0
  251. package/dist/{troff-DQUFcClZ.js → troff-B4IRX71y.js} +1 -1
  252. package/dist/{ttcn-CQL1duJS.js → ttcn-B4tpvdJD.js} +1 -1
  253. package/dist/{ttcn-cfg-BMmEFJPu.js → ttcn-cfg-pfE-1FV8.js} +1 -1
  254. package/dist/{turtle-C3esgsRr.js → turtle-Bc97ufp6.js} +1 -1
  255. package/dist/use-restore-focus-tPmARo1Q.js +7641 -0
  256. package/dist/{use-vega-container-remeasure-Bz4PZMtt.js → use-vega-container-remeasure-BrUpWQfF.js} +4 -8
  257. package/dist/{useAsyncData-BneN349z.js → useAsyncData-P5-Oovhq.js} +21 -20
  258. package/dist/{useDateFormatter-DkajGwwd.js → useDateFormatter-B4ygYuUU.js} +5 -5
  259. package/dist/{useDeepCompareMemoize-Z_7R8wTt.js → useDeepCompareMemoize-Bcu0DkCS.js} +3 -3
  260. package/dist/useEvent-BoN7U38T.js +19 -0
  261. package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-HTZiVlGV.js} +2 -2
  262. package/dist/useLifecycle-MTdtnR3-.js +112 -0
  263. package/dist/{vb-RK1eDXRl.js → vb-C5kpOY_q.js} +1 -1
  264. package/dist/{vbscript-BCOeM0de.js → vbscript-Ck0hgOg5.js} +1 -1
  265. package/dist/{vega-component-1lFfDE_8.js → vega-component-BhBbP4S7.js} +167 -172
  266. package/dist/{vega-embed-container-BgKnsDbB.js → vega-embed-container-DgpACsCB.js} +7 -7
  267. package/dist/{vega-loader.browser-CpbZAXub.js → vega-loader.browser-Co9gYE8Z.js} +638 -295
  268. package/dist/{velocity-CZKOFbOI.js → velocity-2Doc6dgJ.js} +1 -1
  269. package/dist/{vennDiagram-4TSXK5OY-CypgoBVZ.js → vennDiagram-4TSXK5OY-BrHqWB1U.js} +4 -4
  270. package/dist/{verilog-DqQTzVn8.js → verilog-CmZmYe4R.js} +2 -2
  271. package/dist/{vhdl-vQr2bfmi.js → vhdl-esMnUHZm.js} +1 -1
  272. package/dist/wardley-WFR3VGLG-CIBJ6O2G.js +2 -0
  273. package/dist/{wardleyDiagram-VM6X3IG4-B6xjiQ_g.js → wardleyDiagram-VM6X3IG4-Cms1K_3v.js} +5 -5
  274. package/dist/{webidl-DzX7N40e.js → webidl-G_RlXG7G.js} +1 -1
  275. package/dist/{xquery-Cw_Q_hGR.js → xquery-IUQpMoMl.js} +1 -1
  276. package/dist/{xychartDiagram-S5SC5T6Z-e0PefDVs.js → xychartDiagram-S5SC5T6Z-_kUiODzS.js} +8 -8
  277. package/dist/{yacas-DiC4jJBE.js → yacas-ObL0t2h9.js} +1 -1
  278. package/dist/{z80-CUOQDEJO.js → z80-jyuJhy0k.js} +1 -1
  279. package/package.json +37 -42
  280. package/src/__mocks__/document.tsx +63 -0
  281. package/src/__mocks__/executions.ts +219 -0
  282. package/src/__mocks__/notebook.ts +3 -7
  283. package/src/__mocks__/partial.ts +26 -0
  284. package/src/__mocks__/requests.ts +1 -7
  285. package/src/__tests__/CellStatus.test.tsx +25 -26
  286. package/src/__tests__/fixtures/pair-config.ts +1 -1
  287. package/src/__tests__/main.test.tsx +24 -1
  288. package/src/__tests__/module-entry.test.ts +44 -0
  289. package/src/__tests__/mount.test.ts +17 -78
  290. package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
  291. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  292. package/src/components/ai/__tests__/ai-utils.test.ts +8 -0
  293. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  294. package/src/components/app-config/__tests__/state.test.tsx +50 -0
  295. package/src/components/app-config/ai-config.tsx +154 -150
  296. package/src/components/app-config/app-config-button.tsx +6 -5
  297. package/src/components/app-config/app-config-form.tsx +5 -9
  298. package/src/components/app-config/common.tsx +7 -9
  299. package/src/components/app-config/data-form.tsx +113 -116
  300. package/src/components/app-config/get-dirty-values.ts +4 -4
  301. package/src/components/app-config/mcp-config.tsx +30 -53
  302. package/src/components/app-config/user-config-form.css +91 -0
  303. package/src/components/app-config/user-config-form.tsx +266 -349
  304. package/src/components/chat/__tests__/capabilities-popover.test.tsx +0 -1
  305. package/src/components/chat/__tests__/chat-display.test.tsx +196 -0
  306. package/src/components/chat/__tests__/chat-markdown.test.tsx +43 -0
  307. package/src/components/chat/__tests__/chat-utils.test.ts +93 -1
  308. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  309. package/src/components/chat/__tests__/notebook-access-selector.test.tsx +64 -0
  310. package/src/components/chat/__tests__/notebook-context.test.ts +199 -0
  311. package/src/components/chat/__tests__/turn-timing.test.ts +84 -0
  312. package/src/components/chat/__tests__/use-assistant-turn.test.ts +95 -0
  313. package/src/components/chat/__tests__/user-message.test.tsx +27 -0
  314. package/src/components/chat/acp/__tests__/agent-panel-initialization.test.tsx +1 -1
  315. package/src/components/chat/acp/__tests__/agent-panel.test.tsx +22 -17
  316. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  317. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  318. package/src/components/chat/acp/agent-panel.tsx +6 -3
  319. package/src/components/chat/acp/blocks.tsx +13 -12
  320. package/src/components/chat/acp/common.tsx +4 -5
  321. package/src/components/chat/acp/model-selector.tsx +1 -1
  322. package/src/components/chat/acp/session-tabs.tsx +8 -3
  323. package/src/components/chat/agent-activity.tsx +132 -0
  324. package/src/components/chat/capabilities-popover.tsx +2 -11
  325. package/src/components/chat/chat-components.tsx +9 -4
  326. package/src/components/chat/chat-display.tsx +131 -57
  327. package/src/components/chat/chat-history-popover.tsx +6 -1
  328. package/src/components/chat/chat-markdown.tsx +15 -0
  329. package/src/components/chat/chat-panel.tsx +249 -309
  330. package/src/components/chat/chat-typography.css +108 -0
  331. package/src/components/chat/chat-utils.ts +24 -35
  332. package/src/components/chat/notebook-access-selector.stories.tsx +22 -0
  333. package/src/components/chat/notebook-access-selector.tsx +100 -0
  334. package/src/components/chat/notebook-context.ts +80 -0
  335. package/src/components/chat/tool-call/__tests__/tool-labels.test.ts +76 -0
  336. package/src/components/chat/tool-call/__tests__/tool-step.test.tsx +57 -0
  337. package/src/components/chat/tool-call/shared.ts +6 -0
  338. package/src/components/chat/tool-call/tool-call-view.tsx +22 -76
  339. package/src/components/chat/tool-call/tool-labels.ts +172 -0
  340. package/src/components/chat/tool-call/tool-result.tsx +1 -1
  341. package/src/components/chat/tool-call/tool-step.tsx +145 -0
  342. package/src/components/chat/turn-timing.ts +73 -0
  343. package/src/components/chat/use-assistant-turn.ts +65 -0
  344. package/src/components/chat/use-chat-generation.ts +20 -0
  345. package/src/components/chat/user-message.tsx +145 -0
  346. package/src/components/data-table/TableBottomBar.tsx +4 -1
  347. package/src/components/data-table/TableTopBar.tsx +2 -0
  348. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  349. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  350. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  351. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  352. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  353. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  354. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  355. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  356. package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
  357. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  358. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  359. package/src/components/data-table/cell-selection/feature.ts +2 -2
  360. package/src/components/data-table/cell-selection/types.ts +2 -2
  361. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  362. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  363. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  364. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  365. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  366. package/src/components/data-table/charts/charts.tsx +40 -30
  367. package/src/components/data-table/charts/storage.ts +16 -5
  368. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  369. package/src/components/data-table/column-formatting/types.ts +1 -2
  370. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  371. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  372. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  373. package/src/components/data-table/columns.tsx +45 -46
  374. package/src/components/data-table/context-menu.tsx +36 -20
  375. package/src/components/data-table/data-table.tsx +17 -1
  376. package/src/components/data-table/date-popover.tsx +6 -4
  377. package/src/components/data-table/export-actions.tsx +76 -48
  378. package/src/components/data-table/pagination.tsx +44 -33
  379. package/src/components/data-table/range-focus/atoms.ts +4 -6
  380. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  381. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  382. package/src/components/data-table/renderers.tsx +16 -7
  383. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  384. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  385. package/src/components/data-table/search-highlight.tsx +79 -0
  386. package/src/components/data-table/types.ts +1 -0
  387. package/src/components/data-table/url-detector.tsx +49 -9
  388. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  389. package/src/components/datasources/__tests__/column-preview.test.tsx +96 -5
  390. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  391. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  392. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  393. package/src/components/datasources/column-preview.tsx +17 -12
  394. package/src/components/datasources/datasources.tsx +56 -43
  395. package/src/components/datasources/utils.ts +32 -23
  396. package/src/components/debugger/debugger-code.tsx +5 -0
  397. package/src/components/dependency-graph/custom-node.tsx +1 -1
  398. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  399. package/src/components/dependency-graph/elements.ts +24 -21
  400. package/src/components/dependency-graph/minimap-content.tsx +15 -20
  401. package/src/components/dependency-graph/panels.tsx +4 -2
  402. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  403. package/src/components/editor/SortableCell.tsx +1 -3
  404. package/src/components/editor/__tests__/Output.test.tsx +50 -32
  405. package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
  406. package/src/components/editor/__tests__/data-attributes.test.tsx +38 -26
  407. package/src/components/editor/__tests__/output-persistence.test.tsx +28 -9
  408. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  409. package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
  410. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +21 -40
  411. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +41 -14
  412. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +6 -24
  413. package/src/components/editor/actions/__tests__/useCellActionButton.test.tsx +131 -0
  414. package/src/components/editor/actions/__tests__/useSetOutputsExpanded.test.ts +2 -1
  415. package/src/components/editor/actions/name-cell-input.tsx +4 -3
  416. package/src/components/editor/actions/pair-with-agent-commands.ts +10 -7
  417. package/src/components/editor/actions/pair-with-agent-modal.tsx +29 -30
  418. package/src/components/editor/actions/pair-with-agent.tsx +16 -39
  419. package/src/components/editor/actions/useCellActionButton.tsx +47 -35
  420. package/src/components/editor/actions/useConfigActions.tsx +3 -4
  421. package/src/components/editor/actions/useNotebookActions.tsx +25 -29
  422. package/src/components/editor/actions/useRestartKernel.tsx +0 -5
  423. package/src/components/editor/actions/useSetCodeVisibility.ts +11 -12
  424. package/src/components/editor/actions/useSetOutputsExpanded.ts +15 -23
  425. package/src/components/editor/ai/ai-completion-editor.tsx +2 -1
  426. package/src/components/editor/ai/completion-handlers.tsx +0 -37
  427. package/src/components/editor/ai/prompt-input.tsx +189 -0
  428. package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
  429. package/src/components/editor/alerts/connection-notice.tsx +1 -1
  430. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  431. package/src/components/editor/alerts/stdin-blocking-alert.tsx +4 -2
  432. package/src/components/editor/app-container.tsx +1 -1
  433. package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
  434. package/src/components/editor/cell/CellStatus.tsx +28 -23
  435. package/src/components/editor/cell/CreateCellButton.tsx +15 -21
  436. package/src/components/editor/cell/DeleteButton.tsx +3 -2
  437. package/src/components/editor/cell/RunButton.tsx +18 -8
  438. package/src/components/editor/cell/StagedAICell.tsx +52 -137
  439. package/src/components/editor/cell/StopButton.tsx +5 -5
  440. package/src/components/editor/cell/__tests__/useRunCells.test.tsx +151 -0
  441. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  442. package/src/components/editor/cell/cell-actions.tsx +12 -1
  443. package/src/components/editor/cell/cell-context-menu.tsx +22 -3
  444. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +91 -0
  445. package/src/components/editor/cell/code/cell-editor.tsx +67 -170
  446. package/src/components/editor/cell/code/language-toggle.tsx +14 -11
  447. package/src/components/editor/cell/collapse.tsx +16 -6
  448. package/src/components/editor/cell/useAddCell.ts +4 -8
  449. package/src/components/editor/cell/useDeleteCell.tsx +10 -36
  450. package/src/components/editor/cell/useRunCells.ts +72 -58
  451. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  452. package/src/components/editor/cell/useSplitCell.tsx +10 -6
  453. package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
  454. package/src/components/editor/chrome/components/feedback-button.tsx +2 -8
  455. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
  456. package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
  457. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
  458. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  459. package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +1 -1
  460. package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
  461. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  462. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  463. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  464. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  465. package/src/components/editor/chrome/panels/panel-header.tsx +13 -0
  466. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  467. package/src/components/editor/chrome/panels/session-panel.tsx +1 -1
  468. package/src/components/editor/chrome/panels/snippets-panel.tsx +10 -12
  469. package/src/components/editor/chrome/panels/variable-panel.tsx +1 -5
  470. package/src/components/editor/chrome/types.ts +1 -1
  471. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +7 -9
  472. package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +95 -0
  473. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +265 -37
  474. package/src/components/editor/chrome/wrapper/__tests__/useAskAiAboutCell.test.tsx +58 -0
  475. package/src/components/editor/chrome/wrapper/app-chrome.tsx +91 -74
  476. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
  477. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +3 -17
  478. package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
  479. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
  480. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
  481. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  482. package/src/components/editor/chrome/wrapper/footer.tsx +2 -2
  483. package/src/components/editor/chrome/wrapper/minimap-state.ts +1 -1
  484. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +143 -72
  485. package/src/components/editor/chrome/wrapper/pending-ai-changes-badge.tsx +25 -0
  486. package/src/components/editor/chrome/wrapper/sidebar.tsx +8 -4
  487. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  488. package/src/components/editor/chrome/wrapper/useAskAiAboutCell.ts +36 -0
  489. package/src/components/editor/columns/__tests__/cell-column.test.tsx +1 -1
  490. package/src/components/editor/columns/cell-column.tsx +1 -1
  491. package/src/components/editor/columns/sortable-column.tsx +2 -2
  492. package/src/components/editor/connections/components.tsx +5 -10
  493. package/src/components/editor/controls/Controls.tsx +4 -4
  494. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  495. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +10 -4
  496. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  497. package/src/components/editor/documentation.css +34 -11
  498. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +26 -22
  499. package/src/components/editor/errors/auto-fix.tsx +4 -8
  500. package/src/components/editor/errors/send-error-report-button.tsx +3 -6
  501. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  502. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  503. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  504. package/src/components/editor/file-tree/file-explorer.tsx +48 -15
  505. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  506. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  507. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  508. package/src/components/editor/header/__tests__/filename-form.test.tsx +1 -4
  509. package/src/components/editor/header/__tests__/status.test.tsx +5 -3
  510. package/src/components/editor/header/app-header.tsx +1 -1
  511. package/src/components/editor/header/filename-form.tsx +1 -1
  512. package/src/components/editor/header/status.tsx +44 -22
  513. package/src/components/editor/links/__tests__/cell-link.test.tsx +148 -0
  514. package/src/components/editor/links/cell-link-list.tsx +1 -1
  515. package/src/components/editor/links/cell-link.tsx +21 -11
  516. package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
  517. package/src/components/editor/navigation/__tests__/navigation.test.ts +109 -85
  518. package/src/components/editor/navigation/__tests__/selection.test.ts +43 -21
  519. package/src/components/editor/navigation/clipboard.ts +17 -14
  520. package/src/components/editor/navigation/focus-utils.ts +23 -4
  521. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +17 -33
  522. package/src/components/editor/navigation/navigation.ts +74 -72
  523. package/src/components/editor/navigation/selection.ts +30 -29
  524. package/src/components/editor/notebook-banner.tsx +1 -0
  525. package/src/components/editor/notebook-cell.tsx +158 -172
  526. package/src/components/editor/output/MarimoErrorOutput.tsx +41 -4
  527. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  528. package/src/components/editor/output/Outputs.css +8 -0
  529. package/src/components/editor/output/VideoOutput.tsx +6 -0
  530. package/src/components/editor/output/__tests__/VideoOutput.test.tsx +131 -0
  531. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  532. package/src/components/editor/output/ansi-reduce.ts +40 -20
  533. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  534. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
  535. package/src/components/editor/package-alert.tsx +14 -7
  536. package/src/components/editor/renderers/__tests__/add-cell-buttons.test.tsx +18 -0
  537. package/src/components/editor/renderers/cell-array.tsx +31 -102
  538. package/src/components/editor/renderers/grid-layout/__tests__/grid-layout.test.tsx +75 -0
  539. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +28 -22
  540. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +0 -4
  541. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +1 -1
  542. package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +4 -4
  543. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  544. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +1 -1
  545. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +19 -37
  546. package/src/components/editor/stdin-blocking-alert.tsx +4 -2
  547. package/src/components/home/components.tsx +17 -31
  548. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  549. package/src/components/icons/large-spinner.tsx +3 -14
  550. package/src/components/icons/spinner.tsx +1 -1
  551. package/src/components/markdown/__tests__/markdown-renderer.test.tsx +32 -2
  552. package/src/components/markdown/markdown-renderer.tsx +43 -28
  553. package/src/components/mcp/mcp-status-indicator.tsx +18 -14
  554. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  555. package/src/components/pages/edit-page.tsx +19 -17
  556. package/src/components/pages/home-page.tsx +164 -91
  557. package/src/components/scratchpad/scratchpad.test.tsx +89 -0
  558. package/src/components/scratchpad/scratchpad.tsx +47 -33
  559. package/src/components/scratchpad/state.ts +7 -0
  560. package/src/components/slides/__tests__/minimap-actions.test.tsx +22 -29
  561. package/src/components/slides/__tests__/minimap.test.ts +38 -19
  562. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +37 -0
  563. package/src/components/slides/minimap.tsx +22 -14
  564. package/src/components/slides/reveal-component.tsx +73 -36
  565. package/src/components/slides/reveal-slides.css +5 -4
  566. package/src/components/slides/slide-cell-view.tsx +39 -35
  567. package/src/components/slides/slide-form.tsx +1 -0
  568. package/src/components/slides/slide-scroll-hint.tsx +3 -1
  569. package/src/components/slides/slide.tsx +3 -4
  570. package/src/components/sort/SortableCellsProvider.tsx +8 -25
  571. package/src/components/static-html/__tests__/static-banner.test.tsx +1 -1
  572. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  573. package/src/components/tracing/tracing.tsx +46 -42
  574. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  575. package/src/components/ui/__tests__/fullscreen.test.tsx +99 -2
  576. package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
  577. package/src/components/ui/alert-dialog.tsx +1 -1
  578. package/src/components/ui/draggable-popover.tsx +24 -2
  579. package/src/components/ui/fullscreen.tsx +43 -3
  580. package/src/components/ui/range-slider.tsx +22 -9
  581. package/src/components/ui/slider.tsx +6 -2
  582. package/src/components/ui/toast.tsx +1 -1
  583. package/src/core/MarimoApp.tsx +3 -1
  584. package/src/core/ai/__tests__/staged-cells.test.ts +90 -609
  585. package/src/core/ai/context/context.ts +2 -0
  586. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +8 -12
  587. package/src/core/ai/context/providers/__tests__/cell.test.ts +49 -0
  588. package/src/core/ai/context/providers/cell-output.ts +2 -2
  589. package/src/core/ai/context/providers/cell.ts +54 -0
  590. package/src/core/ai/context/providers/datasource.ts +6 -2
  591. package/src/core/ai/staged-cells.ts +56 -323
  592. package/src/core/ai/state.ts +3 -0
  593. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +47 -91
  594. package/src/core/ai/tools/__tests__/registry.test.ts +17 -0
  595. package/src/core/ai/tools/base.ts +18 -15
  596. package/src/core/ai/tools/edit-notebook-tool.ts +86 -80
  597. package/src/core/ai/tools/registry.ts +13 -10
  598. package/src/core/ai/tools/sample-tool.ts +6 -7
  599. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +6 -529
  600. package/src/core/cells/__tests__/actions.test.ts +623 -35
  601. package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
  602. package/src/core/cells/__tests__/arrange.test.ts +432 -0
  603. package/src/core/cells/__tests__/cell.test.ts +148 -150
  604. package/src/core/cells/__tests__/cells.test.ts +384 -2930
  605. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +69 -0
  606. package/src/core/cells/__tests__/document.test.ts +158 -0
  607. package/src/core/cells/__tests__/editor.test.ts +57 -0
  608. package/src/core/cells/__tests__/flush-document.test.ts +40 -0
  609. package/src/core/cells/__tests__/harness.ts +109 -0
  610. package/src/core/cells/__tests__/layout.test.ts +176 -0
  611. package/src/core/cells/__tests__/logs.test.ts +0 -13
  612. package/src/core/cells/__tests__/notebook-outline.test.ts +23 -14
  613. package/src/core/cells/__tests__/outputs.test.tsx +71 -53
  614. package/src/core/cells/__tests__/pending-delete-service.test.tsx +11 -20
  615. package/src/core/cells/__tests__/session.test.ts +546 -211
  616. package/src/core/cells/__tests__/utils.test.ts +135 -337
  617. package/src/core/cells/actions.ts +677 -6
  618. package/src/core/cells/add-missing-import.ts +48 -47
  619. package/src/core/cells/arrange.ts +529 -0
  620. package/src/core/cells/cell.ts +79 -146
  621. package/src/core/cells/cells.ts +106 -1459
  622. package/src/core/cells/columns.ts +38 -0
  623. package/src/core/cells/document.ts +167 -0
  624. package/src/core/cells/edit.ts +30 -0
  625. package/src/core/cells/editor.ts +82 -0
  626. package/src/core/cells/focus.ts +27 -6
  627. package/src/core/cells/layout.ts +221 -0
  628. package/src/core/cells/outputs.ts +12 -28
  629. package/src/core/cells/pending-delete-service.ts +8 -14
  630. package/src/core/cells/scrollCellIntoView.ts +6 -0
  631. package/src/core/cells/session.ts +166 -68
  632. package/src/core/cells/types.ts +21 -51
  633. package/src/core/cells/utils.ts +85 -87
  634. package/src/core/codemirror/__tests__/format.test.ts +4 -35
  635. package/src/core/codemirror/__tests__/setup.test.ts +67 -33
  636. package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
  637. package/src/core/codemirror/ai/resources.ts +1 -1
  638. package/src/core/codemirror/cells/__tests__/extensions.test.ts +2 -6
  639. package/src/core/codemirror/cells/extensions.ts +18 -30
  640. package/src/core/codemirror/cells/state.ts +2 -6
  641. package/src/core/codemirror/cm.ts +5 -1
  642. package/src/core/codemirror/config/types.ts +1 -1
  643. package/src/core/codemirror/copilot/__tests__/completion-integration.test.ts +4 -0
  644. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +13 -10
  645. package/src/core/codemirror/copilot/getCodes.ts +3 -3
  646. package/src/core/codemirror/format.ts +6 -23
  647. package/src/core/codemirror/keymaps/vim.ts +4 -8
  648. package/src/core/codemirror/language/__tests__/extension.test.ts +7 -3
  649. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  650. package/src/core/codemirror/language/__tests__/utils.test.ts +194 -17
  651. package/src/core/codemirror/language/cell-code.ts +114 -0
  652. package/src/core/codemirror/language/extension.ts +52 -35
  653. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  654. package/src/core/codemirror/language/languages/python.ts +19 -13
  655. package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
  656. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  657. package/src/core/codemirror/language/types.ts +7 -7
  658. package/src/core/codemirror/language/utils.ts +9 -39
  659. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +1 -2
  660. package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
  661. package/src/core/codemirror/lsp/utils.ts +1 -1
  662. package/src/core/codemirror/misc/__tests__/paste.test.ts +3 -1
  663. package/src/core/codemirror/misc/paste.ts +1 -1
  664. package/src/core/codemirror/placeholder/__tests__/extensions.test.ts +75 -0
  665. package/src/core/codemirror/placeholder/extensions.ts +80 -19
  666. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  667. package/src/core/codemirror/readonly/extension.ts +2 -2
  668. package/src/core/codemirror/utils.ts +1 -0
  669. package/src/core/config/__tests__/app-config.test.ts +64 -0
  670. package/src/core/config/__tests__/config-schema.test.ts +177 -17
  671. package/src/core/config/config-schema.ts +116 -18
  672. package/src/core/config/config.ts +65 -20
  673. package/src/core/config/feature-flag.tsx +0 -2
  674. package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
  675. package/src/core/datasets/data-source-discovery.ts +4 -6
  676. package/src/core/documentation/doc-lookup.ts +1 -1
  677. package/src/core/dom/outline.ts +4 -1
  678. package/src/core/edit-app.tsx +28 -38
  679. package/src/core/errors/__tests__/error-entries.test.ts +40 -1
  680. package/src/core/errors/error-entries.ts +6 -4
  681. package/src/core/executions/__tests__/atoms.test.ts +282 -0
  682. package/src/core/executions/__tests__/freshness.test.ts +482 -0
  683. package/src/core/executions/__tests__/hooks.test.tsx +150 -0
  684. package/src/core/executions/__tests__/input.test.ts +86 -0
  685. package/src/core/executions/__tests__/interrupt.test.ts +200 -0
  686. package/src/core/executions/__tests__/output.test.ts +266 -0
  687. package/src/core/executions/__tests__/run.test.ts +387 -0
  688. package/src/core/executions/__tests__/select.test.ts +343 -0
  689. package/src/core/executions/atoms.ts +378 -0
  690. package/src/core/executions/freshness.ts +171 -0
  691. package/src/core/executions/hooks.ts +86 -0
  692. package/src/core/executions/index.ts +50 -0
  693. package/src/core/executions/input.ts +55 -0
  694. package/src/core/executions/interrupt.ts +49 -0
  695. package/src/core/executions/output.ts +242 -0
  696. package/src/core/executions/run.ts +107 -0
  697. package/src/core/executions/select.ts +210 -0
  698. package/src/core/export/__tests__/hooks.test.ts +0 -5
  699. package/src/core/export/hooks.ts +1 -1
  700. package/src/core/export/layout.ts +2 -2
  701. package/src/core/hotkeys/actions.ts +2 -4
  702. package/src/core/hotkeys/hotkeys.ts +2 -1
  703. package/src/core/islands/__tests__/bootstrap.test.ts +69 -17
  704. package/src/core/islands/__tests__/bridge.test.ts +104 -65
  705. package/src/core/islands/bootstrap.ts +53 -55
  706. package/src/core/islands/bridge.ts +88 -43
  707. package/src/core/islands/components/IslandControls.tsx +15 -7
  708. package/src/core/islands/components/__tests__/IslandControls.test.tsx +36 -51
  709. package/src/core/islands/components/__tests__/web-components.test.tsx +63 -0
  710. package/src/core/islands/components/output-wrapper.tsx +5 -5
  711. package/src/core/islands/components/web-components.tsx +12 -1
  712. package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
  713. package/src/core/islands/worker/controller.ts +4 -10
  714. package/src/core/islands/worker/worker.tsx +78 -52
  715. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  716. package/src/core/kernel/__tests__/handlers.test.ts +7 -157
  717. package/src/core/kernel/handlers.ts +13 -79
  718. package/src/core/kernel/state.ts +0 -15
  719. package/src/core/lifecycle/render-policy.ts +12 -26
  720. package/src/core/meta/__tests__/code-visibility.test.tsx +78 -70
  721. package/src/core/meta/code-visibility.ts +18 -9
  722. package/src/core/network/__tests__/connection.test.ts +1 -1
  723. package/src/core/network/__tests__/requests-network.test.ts +0 -16
  724. package/src/core/network/__tests__/requests-toasting.test.tsx +7 -7
  725. package/src/core/network/connection-notice.ts +1 -1
  726. package/src/core/network/connection.ts +1 -6
  727. package/src/core/network/requests-network.ts +5 -55
  728. package/src/core/network/requests-static.ts +1 -7
  729. package/src/core/network/requests-toasting.tsx +2 -56
  730. package/src/core/network/resolve.ts +1 -5
  731. package/src/core/network/types.ts +6 -19
  732. package/src/core/network/useConnectionNotice.ts +8 -2
  733. package/src/core/notebook/__tests__/operations.test.ts +51 -0
  734. package/src/core/notebook/attachments.ts +38 -0
  735. package/src/core/notebook/document/__tests__/codemirror.test.ts +765 -0
  736. package/src/core/notebook/document/__tests__/draft.test.ts +363 -0
  737. package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
  738. package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
  739. package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  740. package/src/core/notebook/document/__tests__/model.test.ts +247 -0
  741. package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
  742. package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
  743. package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
  744. package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
  745. package/src/core/notebook/document/__tests__/state.test.ts +459 -0
  746. package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
  747. package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
  748. package/src/core/notebook/document/__tests__/test-host.ts +243 -0
  749. package/src/core/notebook/document/__tests__/test-notebook.ts +150 -0
  750. package/src/core/notebook/document/__tests__/user.ts +61 -0
  751. package/src/core/notebook/document/codemirror.ts +216 -0
  752. package/src/core/notebook/document/draft.ts +502 -0
  753. package/src/core/notebook/document/hooks.tsx +118 -0
  754. package/src/core/notebook/document/index.ts +24 -0
  755. package/src/core/notebook/document/model.ts +102 -0
  756. package/src/core/notebook/document/select.ts +41 -0
  757. package/src/core/notebook/document/state.ts +378 -0
  758. package/src/core/notebook/document/sync.ts +376 -0
  759. package/src/core/notebook/index.ts +19 -0
  760. package/src/core/notebook/operations.ts +30 -0
  761. package/src/core/notebook/replica/AGENTS.md +11 -0
  762. package/src/core/{host → notebook/replica}/__tests__/attachments.test.ts +9 -10
  763. package/src/core/{host → notebook/replica}/__tests__/document.test.ts +18 -16
  764. package/src/core/notebook/replica/__tests__/executions.test.ts +200 -0
  765. package/src/core/notebook/replica/__tests__/fixtures.ts +103 -0
  766. package/src/core/notebook/replica/__tests__/replica.test.ts +559 -0
  767. package/src/core/notebook/replica/__tests__/results.test.ts +193 -0
  768. package/src/core/notebook/replica/__tests__/runtime.test.ts +78 -0
  769. package/src/core/notebook/replica/backend.ts +21 -0
  770. package/src/core/notebook/replica/connection.ts +38 -0
  771. package/src/core/notebook/replica/index.ts +20 -0
  772. package/src/core/notebook/replica/replica.ts +336 -0
  773. package/src/core/{host → notebook/replica}/resources/attachments.ts +6 -3
  774. package/src/core/{host → notebook/replica}/resources/document.ts +3 -3
  775. package/src/core/notebook/replica/resources/executions.ts +157 -0
  776. package/src/core/notebook/replica/resources/results.ts +48 -0
  777. package/src/core/notebook/replica/resources/runtime.ts +14 -0
  778. package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
  779. package/src/core/packages/useSandboxController.ts +1 -1
  780. package/src/core/run-app.tsx +49 -51
  781. package/src/core/runtime/__tests__/adapter.test.ts +4 -4
  782. package/src/core/runtime/__tests__/createWsUrl.test.ts +70 -12
  783. package/src/core/runtime/__tests__/runtime.test.ts +82 -198
  784. package/src/core/runtime/adapter.ts +6 -13
  785. package/src/core/runtime/config.ts +4 -24
  786. package/src/core/runtime/runtime.ts +35 -58
  787. package/src/core/runtime/types.ts +0 -7
  788. package/src/core/saving/__tests__/document.test.tsx +123 -0
  789. package/src/core/saving/__tests__/state.test.ts +111 -0
  790. package/src/core/saving/__tests__/useAutoSave.test.tsx +67 -0
  791. package/src/core/saving/document.ts +33 -0
  792. package/src/core/saving/filename.ts +1 -1
  793. package/src/core/saving/save-component.tsx +39 -60
  794. package/src/core/saving/state.ts +38 -39
  795. package/src/core/saving/useAutoSave.ts +17 -53
  796. package/src/core/session/__tests__/backend.test.ts +236 -0
  797. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +186 -0
  798. package/src/core/{websocket → session}/__tests__/useNotebookSession.hook.test.tsx +354 -275
  799. package/src/core/session/active-notebook.ts +28 -0
  800. package/src/core/session/backend.ts +123 -0
  801. package/src/core/{websocket → session}/connection-utils.ts +2 -14
  802. package/src/core/session/embedded.ts +7 -0
  803. package/src/core/{websocket → session}/types.ts +2 -2
  804. package/src/core/session/useNotebookReplica.ts +74 -0
  805. package/src/core/{websocket → session}/useNotebookSession.tsx +97 -77
  806. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  807. package/src/core/state/jotai.ts +1 -1
  808. package/src/core/static/__tests__/files.test.ts +38 -10
  809. package/src/core/static/files.ts +2 -0
  810. package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
  811. package/src/core/transports/__tests__/server.test.ts +408 -0
  812. package/src/core/transports/__tests__/static.test.ts +340 -0
  813. package/src/core/transports/__tests__/wasm.test.ts +166 -0
  814. package/src/core/{websocket → transports}/connection-state.ts +9 -16
  815. package/src/core/transports/server.ts +152 -0
  816. package/src/core/transports/static.ts +180 -0
  817. package/src/core/transports/wasm.ts +95 -0
  818. package/src/core/vscode/__tests__/vscode-bindings.test.ts +125 -0
  819. package/src/core/vscode/vscode-bindings.ts +14 -2
  820. package/src/core/wasm/__tests__/bridge.test.ts +354 -64
  821. package/src/core/wasm/__tests__/worker.test.ts +191 -0
  822. package/src/core/wasm/bridge.ts +167 -92
  823. package/src/core/wasm/rpc.ts +15 -3
  824. package/src/core/wasm/store.ts +3 -3
  825. package/src/core/wasm/worker/bootstrap.ts +55 -51
  826. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  827. package/src/core/wasm/worker/save-worker.ts +9 -10
  828. package/src/core/wasm/worker/types.ts +31 -19
  829. package/src/core/wasm/worker/worker.ts +120 -72
  830. package/src/css/app/Cell.css +7 -36
  831. package/src/css/app/codemirror.css +1 -1
  832. package/src/css/common.css +1 -1
  833. package/src/css/globals.css +72 -24
  834. package/src/css/katex.min.css +1 -1
  835. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  836. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  837. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  838. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  839. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  840. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  841. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  842. package/src/hooks/useAsyncData.ts +3 -3
  843. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  844. package/src/hooks/useDebounce.ts +6 -10
  845. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  846. package/src/hooks/useDelayElapsed.ts +14 -10
  847. package/src/hooks/useElapsedTime.ts +3 -3
  848. package/src/hooks/useEventListener.ts +1 -2
  849. package/src/hooks/useInputHistory.ts +4 -7
  850. package/src/hooks/useInternalStateWithSync.ts +6 -6
  851. package/src/hooks/useResizeObserver.ts +4 -7
  852. package/src/hooks/useScript.ts +67 -70
  853. package/src/hooks/useStateForKey.ts +93 -0
  854. package/src/mount.tsx +22 -23
  855. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  856. package/src/plugins/core/RenderHTML.tsx +3 -5
  857. package/src/plugins/core/__test__/PluginSlot.test.tsx +202 -0
  858. package/src/plugins/core/__test__/RenderHTML-copy.test.tsx +60 -0
  859. package/src/plugins/core/__test__/registerReactComponent.test.ts +45 -0
  860. package/src/plugins/core/__test__/sanitize.test.ts +8 -0
  861. package/src/plugins/core/registerReactComponent.tsx +29 -29
  862. package/src/plugins/core/sanitize-html.ts +6 -0
  863. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  864. package/src/plugins/impl/DataEditorPlugin.tsx +60 -28
  865. package/src/plugins/impl/DataTablePlugin.tsx +69 -37
  866. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  867. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  868. package/src/plugins/impl/FormPlugin.tsx +1 -1
  869. package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
  870. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  871. package/src/plugins/impl/SliderPlugin.tsx +41 -11
  872. package/src/plugins/impl/__test__/slider-labels.test.tsx +30 -0
  873. package/src/plugins/impl/__tests__/DataEditorPlugin.test.ts +190 -10
  874. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
  875. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  876. package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
  877. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +64 -3
  878. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
  879. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  880. package/src/plugins/impl/anywidget/model.ts +3 -1
  881. package/src/plugins/impl/anywidget/registry.ts +18 -14
  882. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  883. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  884. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  885. package/src/plugins/impl/chat/chat-ui.tsx +17 -15
  886. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  887. package/src/plugins/impl/common/error-banner.tsx +5 -3
  888. package/src/plugins/impl/data-editor/__tests__/column-types.test.ts +42 -0
  889. package/src/plugins/impl/data-editor/__tests__/editor-state.test.ts +52 -1
  890. package/src/plugins/impl/data-editor/__tests__/glide-data-editor.test.tsx +278 -7
  891. package/src/plugins/impl/data-editor/__tests__/glide-utils.test.ts +116 -0
  892. package/src/plugins/impl/data-editor/column-types.ts +55 -0
  893. package/src/plugins/impl/data-editor/editor-state.ts +18 -2
  894. package/src/plugins/impl/data-editor/glide-data-editor.tsx +104 -22
  895. package/src/plugins/impl/data-editor/glide-portal.tsx +5 -3
  896. package/src/plugins/impl/data-editor/glide-utils.ts +39 -38
  897. package/src/plugins/impl/data-editor/types.ts +5 -0
  898. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  899. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  900. package/src/plugins/impl/data-explorer/functions/types.ts +1 -5
  901. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  902. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  903. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  904. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  905. package/src/plugins/impl/data-frames/panel.tsx +44 -16
  906. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  907. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  908. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  909. package/src/plugins/impl/panel/utils.ts +17 -0
  910. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  911. package/src/plugins/impl/plotly/selection.ts +25 -19
  912. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  913. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  914. package/src/plugins/layout/AccordionPlugin.tsx +2 -1
  915. package/src/plugins/layout/DownloadPlugin.tsx +7 -11
  916. package/src/plugins/layout/LazyPlugin.tsx +7 -4
  917. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  918. package/src/plugins/layout/TexPlugin.tsx +0 -1
  919. package/src/plugins/layout/__test__/DownloadPlugin.test.tsx +205 -0
  920. package/src/plugins/layout/__tests__/AccordionPlugin.test.tsx +21 -0
  921. package/src/plugins/layout/__tests__/LazyPlugin.test.tsx +98 -0
  922. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  923. package/src/stories/button.stories.tsx +1 -0
  924. package/src/stories/cell-status.stories.tsx +29 -24
  925. package/src/stories/cell.stories.tsx +46 -46
  926. package/src/stories/data-table.stories.tsx +31 -0
  927. package/src/stories/editor.stories.tsx +28 -17
  928. package/src/stories/form-wrapper.stories.tsx +2 -2
  929. package/src/stories/layout/vertical/one-column.stories.tsx +28 -42
  930. package/src/stories/runtime-story.tsx +23 -17
  931. package/src/stories/select.stories.tsx +2 -2
  932. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  933. package/src/stories/theme.stories.tsx +4 -1
  934. package/src/theme/__tests__/islands-theme.test.tsx +276 -0
  935. package/src/theme/namespace.tsx +4 -3
  936. package/src/theme/useTheme.ts +71 -41
  937. package/src/utils/__tests__/arrays.test.ts +35 -0
  938. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  939. package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +127 -1
  940. package/src/utils/__tests__/download.test.tsx +183 -23
  941. package/src/utils/__tests__/numbers.test.ts +105 -1
  942. package/src/utils/__tests__/objects.test.ts +21 -0
  943. package/src/utils/arrays.ts +11 -2
  944. package/src/utils/blob.ts +1 -1
  945. package/src/utils/createReducer.ts +115 -79
  946. package/src/utils/download.ts +67 -6
  947. package/src/utils/errors.ts +0 -7
  948. package/src/utils/maps.ts +0 -3
  949. package/src/utils/numbers.ts +79 -18
  950. package/src/utils/objects.ts +4 -9
  951. package/src/utils/time.ts +10 -0
  952. package/src/utils/tracer.ts +9 -5
  953. package/src/utils/zod-utils.ts +1 -3
  954. package/dist/_baseMerge-BiGRwuqv.js +0 -165
  955. package/dist/any-language-editor-D4q-IFcM.js +0 -76
  956. package/dist/architecture-7GRP2DOG-BWLylgiA.js +0 -3
  957. package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
  958. package/dist/assets/worker-HPY9fbhz.js +0 -114
  959. package/dist/classDiagram-ZZMXUADV-DXdCCDOg.js +0 -30
  960. package/dist/classDiagram-v2-VYDZK3BY-DyZqrtLP.js +0 -30
  961. package/dist/code-visibility-A6NQ-XVM.js +0 -138
  962. package/dist/cynefin-OW5HDTMX-obq-i80l.js +0 -3
  963. package/dist/dropdown-menu-BuE2b8Yb.js +0 -4678
  964. package/dist/eventmodeling-NTZA5JFV-D7nP7Uyu.js +0 -3
  965. package/dist/flowDiagram-HODETNUW-DQ4JuadE.js +0 -16
  966. package/dist/gitGraph-4MIJSDKK-Dy9uQXGh.js +0 -3
  967. package/dist/hasIn-o2Us0uVx.js +0 -132
  968. package/dist/highlighted-body-KPVGNVTW-3Ziwfz-V.js +0 -38
  969. package/dist/html-to-image-BsG_zyNW.js +0 -3251
  970. package/dist/info-A6RAGUB7-DKoayiHY.js +0 -3
  971. package/dist/isArrayLikeObject-BZl-15ir.js +0 -450
  972. package/dist/isEmpty-BSZ1LaUo.js +0 -35
  973. package/dist/isSymbol-kQcfYbNX.js +0 -8
  974. package/dist/label-DoysmLMW.js +0 -281
  975. package/dist/linear-DWERh7eI.js +0 -252
  976. package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +0 -2
  977. package/dist/packet-AYTQ26CC-Yw7ajchJ.js +0 -3
  978. package/dist/pick-CJeoxYOS.js +0 -51
  979. package/dist/pie-WAS4IAKB-BKdKOAkL.js +0 -3
  980. package/dist/precisionRound-DhAzeRcm.js +0 -49
  981. package/dist/purify.es-DMv5zIkJ.js +0 -866
  982. package/dist/radar-RG4KPBEZ-ScR_D_Ts.js +0 -3
  983. package/dist/railroad-74A4TZTK-DQvPSdo5.js +0 -3
  984. package/dist/railroad-abnf-HS5TGJTU-CsJQG2O8.js +0 -3
  985. package/dist/railroad-ebnf-LZEXJU2U-BgEobkSn.js +0 -3
  986. package/dist/railroad-peg-WCYAUIDC-DjLAjofI.js +0 -3
  987. package/dist/select-DemoKT4G.js +0 -1344
  988. package/dist/stateDiagram-v2-MP3YSRHH-1OQRe6iA.js +0 -30
  989. package/dist/swimlanesDiagram-VR7AAH4N-CszjkrKo.js +0 -30
  990. package/dist/toDate-gyi35XS2.js +0 -1185
  991. package/dist/toast-PkdZraM8.js +0 -1830
  992. package/dist/treeView-Q6P3EWNA-DuRV97YF.js +0 -3
  993. package/dist/treemap-WGGIJYW6-AsLq-uwC.js +0 -3
  994. package/dist/use-restore-focus-CKjfFjLM.js +0 -6369
  995. package/dist/useLifecycle-Dfq8UD-b.js +0 -169
  996. package/dist/useTheme-Bu5bBgrh.js +0 -904
  997. package/dist/wardley-WFR3VGLG-Na-tFhQJ.js +0 -3
  998. package/src/components/chat/reasoning-accordion.tsx +0 -61
  999. package/src/components/chat/tool-call/tool-error-card.tsx +0 -81
  1000. package/src/components/chat/tool-call/tool-history-row.tsx +0 -174
  1001. package/src/components/editor/ai/__tests__/staged-cell-submission.test.ts +0 -106
  1002. package/src/components/editor/ai/add-cell-with-ai.tsx +0 -506
  1003. package/src/components/editor/ai/staged-cell-submission.ts +0 -46
  1004. package/src/components/editor/alerts/connecting-alert.tsx +0 -27
  1005. package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +0 -64
  1006. package/src/components/editor/cell/code/__tests__/rtc-editor-config.test.ts +0 -50
  1007. package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +0 -65
  1008. package/src/components/editor/navigation/__tests__/state.test.ts +0 -81
  1009. package/src/components/editor/navigation/state.ts +0 -65
  1010. package/src/components/icons/loading-ellipsis.tsx +0 -46
  1011. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +0 -656
  1012. package/src/core/ai/tools/run-cells-tool.ts +0 -303
  1013. package/src/core/attachments/state.ts +0 -18
  1014. package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
  1015. package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
  1016. package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
  1017. package/src/core/cells/document-changes.ts +0 -944
  1018. package/src/core/codemirror/rtc/extension.ts +0 -453
  1019. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +0 -52
  1020. package/src/core/codemirror/rtc/loro/awareness.ts +0 -531
  1021. package/src/core/codemirror/rtc/loro/colors.ts +0 -38
  1022. package/src/core/codemirror/rtc/loro/sync.ts +0 -168
  1023. package/src/core/host/AGENTS.md +0 -11
  1024. package/src/core/host/__tests__/events.test.ts +0 -46
  1025. package/src/core/host/__tests__/fixtures.ts +0 -39
  1026. package/src/core/host/__tests__/notebook-client.test.ts +0 -433
  1027. package/src/core/host/__tests__/protocol.test.ts +0 -229
  1028. package/src/core/host/__tests__/stream.test.ts +0 -209
  1029. package/src/core/host/connection.ts +0 -81
  1030. package/src/core/host/events.ts +0 -61
  1031. package/src/core/host/notebook-client.ts +0 -290
  1032. package/src/core/host/protocol.ts +0 -1948
  1033. package/src/core/host/resources/resource.ts +0 -47
  1034. package/src/core/host/stream.ts +0 -211
  1035. package/src/core/network/__tests__/requests-lazy.test.ts +0 -334
  1036. package/src/core/network/requests-lazy.ts +0 -226
  1037. package/src/core/rtc/state.ts +0 -34
  1038. package/src/core/state/__tests__/jotai.test.ts +0 -25
  1039. package/src/core/wasm/worker/message-buffer.ts +0 -33
  1040. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  1041. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -170
  1042. package/src/core/websocket/state.ts +0 -7
  1043. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  1044. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  1045. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  1046. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  1047. package/src/core/websocket/transports/basic.ts +0 -102
  1048. package/src/core/websocket/transports/create.ts +0 -31
  1049. package/src/core/websocket/transports/sse.ts +0 -308
  1050. package/src/core/websocket/transports/transport.ts +0 -50
  1051. package/src/core/websocket/transports/ws.ts +0 -98
  1052. package/src/core/websocket/useNotebookClient.ts +0 -88
  1053. package/src/utils/__tests__/id-tree.test.ts +0 -2145
  1054. package/src/utils/id-tree.tsx +0 -1134
  1055. /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
@@ -171,7 +171,7 @@ var b = g(""), x = g({}), S = g(function() {}), C = typeof HTMLElement > "u" ? "
171
171
  }, R = function(e) {
172
172
  return w(e) === "event";
173
173
  }, z = function(e) {
174
- return e == null || !!(e === "" || e.match(/^\s+$/));
174
+ return !!(e == null || e === "" || e.match(/^\s+$/));
175
175
  }, B = function(e) {
176
176
  return typeof HTMLElement > "u" ? !1 : e instanceof HTMLElement;
177
177
  }, V = function(e) {
@@ -1044,7 +1044,7 @@ function xe() {
1044
1044
  }
1045
1045
  var Se, Ce;
1046
1046
  function we() {
1047
- return Ce ? Se : (Ce = 1, Se = typeof _e == "object" && _e && _e.Object === Object && _e, Se);
1047
+ return Ce || (Ce = 1, Se = typeof _e == "object" && _e && _e.Object === Object && _e), Se;
1048
1048
  }
1049
1049
  var Te, Ee;
1050
1050
  function De() {
@@ -1085,7 +1085,7 @@ function Ie() {
1085
1085
  }
1086
1086
  var Le, Re;
1087
1087
  function ze() {
1088
- return Re ? Le : (Re = 1, Le = De().Symbol, Le);
1088
+ return Re || (Re = 1, Le = De().Symbol), Le;
1089
1089
  }
1090
1090
  var Be, Ve;
1091
1091
  function He() {
@@ -1434,90 +1434,88 @@ var kt = !0, At = console.warn != null, jt = console.trace != null, Mt = 2 ** 53
1434
1434
  ]);
1435
1435
  }(), tn = (typeof Set > "u" ? "undefined" : g(Set)) === $t ? en : Set, nn = function(e, t) {
1436
1436
  var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
1437
- if (e === void 0 || t === void 0 || !I(e)) {
1438
- Lt("An element must have a core reference and parameters set");
1439
- return;
1440
- }
1441
- var r = t.group;
1442
- if (r ??= t.data && t.data.source != null && t.data.target != null ? "edges" : "nodes", r !== "nodes" && r !== "edges") {
1443
- Lt("An element must be of type `nodes` or `edges`; you specified `" + r + "`");
1444
- return;
1445
- }
1446
- this.length = 1, this[0] = this;
1447
- var i = this._private = {
1448
- cy: e,
1449
- single: !0,
1450
- data: t.data || {},
1451
- position: t.position || {
1452
- x: 0,
1453
- y: 0
1454
- },
1455
- autoWidth: void 0,
1456
- autoHeight: void 0,
1457
- autoPadding: void 0,
1458
- compoundBoundsClean: !1,
1459
- listeners: [],
1460
- group: r,
1461
- style: {},
1462
- rstyle: {},
1463
- styleCxts: [],
1464
- styleKeys: {},
1465
- removed: !0,
1466
- selected: !!t.selected,
1467
- selectable: t.selectable === void 0 || !!t.selectable,
1468
- locked: !!t.locked,
1469
- grabbed: !1,
1470
- grabbable: t.grabbable === void 0 || !!t.grabbable,
1471
- pannable: t.pannable === void 0 ? r === "edges" : !!t.pannable,
1472
- active: !1,
1473
- classes: new tn(),
1474
- animation: {
1475
- current: [],
1476
- queue: []
1477
- },
1478
- rscratch: {},
1479
- scratch: t.scratch || {},
1480
- edges: [],
1481
- children: [],
1482
- parent: t.parent && t.parent.isNode() ? t.parent : null,
1483
- traversalCache: {},
1484
- backgrounding: !1,
1485
- bbCache: null,
1486
- bbCacheShift: {
1487
- x: 0,
1488
- y: 0
1489
- },
1490
- bodyBounds: null,
1491
- overlayBounds: null,
1492
- labelBounds: {
1493
- all: null,
1494
- source: null,
1495
- target: null,
1496
- main: null
1497
- },
1498
- arrowBounds: {
1499
- source: null,
1500
- target: null,
1501
- "mid-source": null,
1502
- "mid-target": null
1437
+ if (e === void 0 || t === void 0 || !I(e)) Lt("An element must have a core reference and parameters set");
1438
+ else {
1439
+ var r = t.group;
1440
+ if (r ??= t.data && t.data.source != null && t.data.target != null ? "edges" : "nodes", r !== "nodes" && r !== "edges") Lt("An element must be of type `nodes` or `edges`; you specified `" + r + "`");
1441
+ else {
1442
+ this.length = 1, this[0] = this;
1443
+ var i = this._private = {
1444
+ cy: e,
1445
+ single: !0,
1446
+ data: t.data || {},
1447
+ position: t.position || {
1448
+ x: 0,
1449
+ y: 0
1450
+ },
1451
+ autoWidth: void 0,
1452
+ autoHeight: void 0,
1453
+ autoPadding: void 0,
1454
+ compoundBoundsClean: !1,
1455
+ listeners: [],
1456
+ group: r,
1457
+ style: {},
1458
+ rstyle: {},
1459
+ styleCxts: [],
1460
+ styleKeys: {},
1461
+ removed: !0,
1462
+ selected: !!t.selected,
1463
+ selectable: t.selectable === void 0 || !!t.selectable,
1464
+ locked: !!t.locked,
1465
+ grabbed: !1,
1466
+ grabbable: t.grabbable === void 0 || !!t.grabbable,
1467
+ pannable: t.pannable === void 0 ? r === "edges" : !!t.pannable,
1468
+ active: !1,
1469
+ classes: new tn(),
1470
+ animation: {
1471
+ current: [],
1472
+ queue: []
1473
+ },
1474
+ rscratch: {},
1475
+ scratch: t.scratch || {},
1476
+ edges: [],
1477
+ children: [],
1478
+ parent: t.parent && t.parent.isNode() ? t.parent : null,
1479
+ traversalCache: {},
1480
+ backgrounding: !1,
1481
+ bbCache: null,
1482
+ bbCacheShift: {
1483
+ x: 0,
1484
+ y: 0
1485
+ },
1486
+ bodyBounds: null,
1487
+ overlayBounds: null,
1488
+ labelBounds: {
1489
+ all: null,
1490
+ source: null,
1491
+ target: null,
1492
+ main: null
1493
+ },
1494
+ arrowBounds: {
1495
+ source: null,
1496
+ target: null,
1497
+ "mid-source": null,
1498
+ "mid-target": null
1499
+ }
1500
+ };
1501
+ if (i.position.x ?? (i.position.x = 0), i.position.y ?? (i.position.y = 0), t.renderedPosition) {
1502
+ var a = t.renderedPosition, o = e.pan(), s = e.zoom();
1503
+ i.position = {
1504
+ x: (a.x - o.x) / s,
1505
+ y: (a.y - o.y) / s
1506
+ };
1507
+ }
1508
+ var c = [];
1509
+ D(t.classes) ? c = t.classes : T(t.classes) && (c = t.classes.split(/\s+/));
1510
+ for (var l = 0, u = c.length; l < u; l++) {
1511
+ var d = c[l];
1512
+ d && d !== "" && i.classes.add(d);
1513
+ }
1514
+ this.createEmitter(), (n === void 0 || n) && this.restore();
1515
+ var f = t.style || t.css;
1516
+ f && (zt("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."), this.style(f));
1503
1517
  }
1504
- };
1505
- if (i.position.x ?? (i.position.x = 0), i.position.y ?? (i.position.y = 0), t.renderedPosition) {
1506
- var a = t.renderedPosition, o = e.pan(), s = e.zoom();
1507
- i.position = {
1508
- x: (a.x - o.x) / s,
1509
- y: (a.y - o.y) / s
1510
- };
1511
- }
1512
- var c = [];
1513
- D(t.classes) ? c = t.classes : T(t.classes) && (c = t.classes.split(/\s+/));
1514
- for (var l = 0, u = c.length; l < u; l++) {
1515
- var d = c[l];
1516
- !d || d === "" || i.classes.add(d);
1517
1518
  }
1518
- this.createEmitter(), (n === void 0 || n) && this.restore();
1519
- var f = t.style || t.css;
1520
- f && (zt("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."), this.style(f));
1521
1519
  }, rn = function(e) {
1522
1520
  return e = {
1523
1521
  bfs: e.bfs || !e.dfs,
@@ -1563,7 +1561,7 @@ var kt = !0, At = console.warn != null, jt = console.trace != null, Mt = 2 ** 53
1563
1561
  an.bfs = an.breadthFirstSearch, an.dfs = an.depthFirstSearch;
1564
1562
  var on = { exports: {} }, sn = on.exports, cn;
1565
1563
  function ln() {
1566
- return cn ? on.exports : (cn = 1, (function(e, t) {
1564
+ return cn || (cn = 1, (function(e, t) {
1567
1565
  (function() {
1568
1566
  var t, n, r = Math.floor, i, a, o, s, c, l, u = Math.min, d, f, p, m, h;
1569
1567
  n = function(e, t) {
@@ -1611,13 +1609,7 @@ function ln() {
1611
1609
  return g;
1612
1610
  }, m = function(e, t, r, i) {
1613
1611
  var a, o, s;
1614
- for (i ??= n, a = e[r]; r > t;) {
1615
- if (s = r - 1 >> 1, o = e[s], i(a, o) < 0) {
1616
- e[r] = o, r = s;
1617
- continue;
1618
- }
1619
- break;
1620
- }
1612
+ for (i ??= n, a = e[r]; r > t && (s = r - 1 >> 1, o = e[s], i(a, o) < 0);) e[r] = o, r = s;
1621
1613
  return e[r] = a;
1622
1614
  }, h = function(e, t, r) {
1623
1615
  var i, a, o, s, c;
@@ -1662,11 +1654,11 @@ function ln() {
1662
1654
  return t;
1663
1655
  });
1664
1656
  }).call(sn);
1665
- })(on), on.exports);
1657
+ })(on)), on.exports;
1666
1658
  }
1667
1659
  var un, dn;
1668
1660
  function fn() {
1669
- return dn ? un : (dn = 1, un = ln(), un);
1661
+ return dn || (dn = 1, un = ln()), un;
1670
1662
  }
1671
1663
  var pn = /*@__PURE__*/ ve(fn()), mn = Kt({
1672
1664
  root: null,
@@ -1783,11 +1775,7 @@ var pn = /*@__PURE__*/ ve(fn()), mn = Kt({
1783
1775
  var A = k.source(), j = k.target(), M = A.id() === y ? j : A, N = M.id();
1784
1776
  if (this.hasElementWithId(N) && !f[N]) {
1785
1777
  var P = u[y] + s(k);
1786
- if (!x(N)) {
1787
- u[N] = P, d[N] = P + a(M), _(M, N), h[N] = v, g[N] = k;
1788
- continue;
1789
- }
1790
- P < u[N] && (u[N] = P, d[N] = P + a(M), h[N] = v, g[N] = k);
1778
+ x(N) ? P < u[N] && (u[N] = P, d[N] = P + a(M), h[N] = v, g[N] = k) : (u[N] = P, d[N] = P + a(M), _(M, N), h[N] = v, g[N] = k);
1791
1779
  }
1792
1780
  }
1793
1781
  }
@@ -1934,47 +1922,46 @@ var pn = /*@__PURE__*/ ve(fn()), mn = Kt({
1934
1922
  return e.isLoop();
1935
1923
  });
1936
1924
  var i = n.length, a = r.length, o = Math.ceil((Math.log(i) / Math.LN2) ** 2), s = Math.floor(i / Cn);
1937
- if (i < 2) {
1938
- Lt("At least 2 nodes are required for Karger-Stein algorithm");
1939
- return;
1940
- }
1941
- for (var c = [], l = 0; l < a; l++) {
1942
- var u = r[l];
1943
- c.push([
1944
- l,
1945
- n.indexOf(u.source()),
1946
- n.indexOf(u.target())
1947
- ]);
1925
+ if (i < 2) Lt("At least 2 nodes are required for Karger-Stein algorithm");
1926
+ else {
1927
+ for (var c = [], l = 0; l < a; l++) {
1928
+ var u = r[l];
1929
+ c.push([
1930
+ l,
1931
+ n.indexOf(u.source()),
1932
+ n.indexOf(u.target())
1933
+ ]);
1934
+ }
1935
+ for (var d = Infinity, f = [], p = Array(i), m = Array(i), h = Array(i), g = function(e, t) {
1936
+ for (var n = 0; n < i; n++) t[n] = e[n];
1937
+ }, _ = 0; _ <= o; _++) {
1938
+ for (var v = 0; v < i; v++) m[v] = v;
1939
+ var y = Tn(m, c.slice(), i, s), b = y.slice();
1940
+ g(m, h);
1941
+ var x = Tn(m, y, s, 2), S = Tn(h, b, s, 2);
1942
+ x.length <= S.length && x.length < d ? (d = x.length, f = x, g(m, p)) : S.length <= x.length && S.length < d && (d = S.length, f = S, g(h, p));
1943
+ }
1944
+ for (var C = this.spawn(f.map(function(e) {
1945
+ return r[e[0]];
1946
+ })), w = this.spawn(), T = this.spawn(), E = p[0], D = 0; D < p.length; D++) {
1947
+ var O = p[D], k = n[D];
1948
+ O === E ? w.merge(k) : T.merge(k);
1949
+ }
1950
+ var A = function(t) {
1951
+ var n = e.spawn();
1952
+ return t.forEach(function(t) {
1953
+ n.merge(t), t.connectedEdges().forEach(function(t) {
1954
+ e.contains(t) && !C.contains(t) && n.merge(t);
1955
+ });
1956
+ }), n;
1957
+ };
1958
+ return {
1959
+ cut: C,
1960
+ components: [A(w), A(T)],
1961
+ partition1: w,
1962
+ partition2: T
1963
+ };
1948
1964
  }
1949
- for (var d = Infinity, f = [], p = Array(i), m = Array(i), h = Array(i), g = function(e, t) {
1950
- for (var n = 0; n < i; n++) t[n] = e[n];
1951
- }, _ = 0; _ <= o; _++) {
1952
- for (var v = 0; v < i; v++) m[v] = v;
1953
- var y = Tn(m, c.slice(), i, s), b = y.slice();
1954
- g(m, h);
1955
- var x = Tn(m, y, s, 2), S = Tn(h, b, s, 2);
1956
- x.length <= S.length && x.length < d ? (d = x.length, f = x, g(m, p)) : S.length <= x.length && S.length < d && (d = S.length, f = S, g(h, p));
1957
- }
1958
- for (var C = this.spawn(f.map(function(e) {
1959
- return r[e[0]];
1960
- })), w = this.spawn(), T = this.spawn(), E = p[0], D = 0; D < p.length; D++) {
1961
- var O = p[D], k = n[D];
1962
- O === E ? w.merge(k) : T.merge(k);
1963
- }
1964
- var A = function(t) {
1965
- var n = e.spawn();
1966
- return t.forEach(function(t) {
1967
- n.merge(t), t.connectedEdges().forEach(function(t) {
1968
- e.contains(t) && !C.contains(t) && n.merge(t);
1969
- });
1970
- }), n;
1971
- };
1972
- return {
1973
- cut: C,
1974
- components: [A(w), A(T)],
1975
- partition1: w,
1976
- partition2: T
1977
- };
1978
1965
  } }, Dn = function(e) {
1979
1966
  return {
1980
1967
  x: e.x,
@@ -2246,15 +2233,7 @@ var sr = function(e, t, n, r, i, a, o) {
2246
2233
  }, dr = function(e, t, n, r, i) {
2247
2234
  e === 0 && (e = 1e-5), t /= e, n /= e, r /= e;
2248
2235
  var a, o = (3 * n - t * t) / 9, s = -(27 * r) + t * (9 * n - t * t * 2), c, l, u, d, f;
2249
- if (s /= 54, a = o * o * o + s * s, i[1] = 0, d = t / 3, a > 0) {
2250
- l = s + Math.sqrt(a), l = l < 0 ? -((-l) ** (1 / 3)) : l ** (1 / 3), u = s - Math.sqrt(a), u = u < 0 ? -((-u) ** (1 / 3)) : u ** (1 / 3), i[0] = -d + l + u, d += (l + u) / 2, i[4] = i[2] = -d, d = Math.sqrt(3) * (-u + l) / 2, i[3] = d, i[5] = -d;
2251
- return;
2252
- }
2253
- if (i[5] = i[3] = 0, a === 0) {
2254
- f = s < 0 ? -((-s) ** (1 / 3)) : s ** (1 / 3), i[0] = -d + 2 * f, i[4] = i[2] = -(f + d);
2255
- return;
2256
- }
2257
- o = -o, c = o * o * o, c = Math.acos(s / Math.sqrt(c)), f = 2 * Math.sqrt(o), i[0] = -d + f * Math.cos(c / 3), i[2] = -d + f * Math.cos((c + 2 * Math.PI) / 3), i[4] = -d + f * Math.cos((c + 4 * Math.PI) / 3);
2236
+ s /= 54, a = o * o * o + s * s, i[1] = 0, d = t / 3, a > 0 ? (l = s + Math.sqrt(a), l = l < 0 ? -((-l) ** (1 / 3)) : l ** (1 / 3), u = s - Math.sqrt(a), u = u < 0 ? -((-u) ** (1 / 3)) : u ** (1 / 3), i[0] = -d + l + u, d += (l + u) / 2, i[4] = i[2] = -d, d = Math.sqrt(3) * (-u + l) / 2, i[3] = d, i[5] = -d) : (i[5] = i[3] = 0, a === 0 ? (f = s < 0 ? -((-s) ** (1 / 3)) : s ** (1 / 3), i[0] = -d + 2 * f, i[4] = i[2] = -(f + d)) : (o = -o, c = o * o * o, c = Math.acos(s / Math.sqrt(c)), f = 2 * Math.sqrt(o), i[0] = -d + f * Math.cos(c / 3), i[2] = -d + f * Math.cos((c + 2 * Math.PI) / 3), i[4] = -d + f * Math.cos((c + 4 * Math.PI) / 3)));
2258
2237
  }, fr = function(e, t, n, r, i, a, o, s) {
2259
2238
  var c = 1 * n * n - 4 * n * i + 2 * n * o + 4 * i * i - 4 * i * o + o * o + r * r - 4 * r * a + 2 * r * s + 4 * a * a - 4 * a * s + s * s, l = 9 * n * i - 3 * n * n - 3 * n * o - 6 * i * i + 3 * i * o + 9 * r * a - 3 * r * r - 3 * r * s - 6 * a * a + 3 * a * s, u = 3 * n * n - 6 * n * i + n * o - n * e + 2 * i * i + 2 * i * e - o * e + 3 * r * r - 6 * r * a + r * s - r * t + 2 * a * a + 2 * a * t - s * t, d = 1 * n * i - n * n + n * e - i * e + r * a - r * r + r * t - a * t, f = [];
2260
2239
  dr(c, l, u, d, f);
@@ -3057,8 +3036,7 @@ var mi = Kt({
3057
3036
  for (var _ = 0; _ < s; _++) d[_] = 0;
3058
3037
  for (var v = Array(o), y = Array(o), b = Array(o), x = 0; x < o; x++) v[x] = 0, y[x] = 0, b[x] = 0;
3059
3038
  for (var S = Array(o * r.minIterations), C = 0; C < S.length; C++) S[C] = 0;
3060
- var w;
3061
- for (w = 0; w < r.maxIterations; w++) {
3039
+ for (var w = 0; w < r.maxIterations; w++) {
3062
3040
  for (var T = 0; T < o; T++) {
3063
3041
  for (var E = -Infinity, D = -Infinity, O = -1, k = 0, A = 0; A < o; A++) v[A] = u[T * o + A], k = d[T * o + A] + c[T * o + A], k >= E ? (D = E, E = k, O = A) : k > D && (D = k);
3064
3042
  for (var j = 0; j < o; j++) u[T * o + j] = (1 - r.damping) * (c[T * o + j] - E) + r.damping * v[j];
@@ -3294,31 +3272,28 @@ var sa = function(e, t, n, r) {
3294
3272
  }
3295
3273
  };
3296
3274
  }, da = function(e, t) {
3297
- if (e === t || e.proxy === t) {
3298
- e.reject(/* @__PURE__ */ TypeError("cannot resolve promise with itself"));
3299
- return;
3300
- }
3301
- var n;
3302
- if (g(t) === "object" && t !== null || typeof t == "function") try {
3303
- n = t.then;
3304
- } catch (t) {
3305
- e.reject(t);
3306
- return;
3307
- }
3308
- if (typeof n == "function") {
3309
- var r = !1;
3310
- try {
3311
- n.call(t, function(n) {
3312
- r || (r = !0, n === t ? e.reject(/* @__PURE__ */ TypeError("circular thenable chain")) : da(e, n));
3313
- }, function(t) {
3314
- r || (r = !0, e.reject(t));
3315
- });
3275
+ if (e === t || e.proxy === t) e.reject(/* @__PURE__ */ TypeError("cannot resolve promise with itself"));
3276
+ else {
3277
+ var n;
3278
+ if (g(t) === "object" && t !== null || typeof t == "function") try {
3279
+ n = t.then;
3316
3280
  } catch (t) {
3317
- r || e.reject(t);
3281
+ e.reject(t);
3282
+ return;
3318
3283
  }
3319
- return;
3284
+ if (typeof n == "function") {
3285
+ var r = !1;
3286
+ try {
3287
+ n.call(t, function(n) {
3288
+ r || (r = !0, n === t ? e.reject(/* @__PURE__ */ TypeError("circular thenable chain")) : da(e, n));
3289
+ }, function(t) {
3290
+ r || (r = !0, e.reject(t));
3291
+ });
3292
+ } catch (t) {
3293
+ r || e.reject(t);
3294
+ }
3295
+ } else e.fulfill(t);
3320
3296
  }
3321
- e.fulfill(t);
3322
3297
  };
3323
3298
  oa.all = function(e) {
3324
3299
  return new oa(function(t, n) {
@@ -3546,7 +3521,7 @@ var ha = {
3546
3521
  }
3547
3522
  }, ga, _a;
3548
3523
  function va() {
3549
- return _a ? ga : (_a = 1, ga = Array.isArray, ga);
3524
+ return _a || (_a = 1, ga = Array.isArray), ga;
3550
3525
  }
3551
3526
  var ya, ba;
3552
3527
  function xa() {
@@ -3574,7 +3549,7 @@ function wa() {
3574
3549
  }
3575
3550
  var Ta, Ea;
3576
3551
  function Da() {
3577
- return Ea ? Ta : (Ea = 1, Ta = De()["__core-js_shared__"], Ta);
3552
+ return Ea || (Ea = 1, Ta = De()["__core-js_shared__"]), Ta;
3578
3553
  }
3579
3554
  var Oa, ka;
3580
3555
  function Aa() {
@@ -3639,7 +3614,7 @@ function Ha() {
3639
3614
  }
3640
3615
  var Ua, Wa;
3641
3616
  function Ga() {
3642
- return Wa ? Ua : (Wa = 1, Ua = Ha()(Object, "create"), Ua);
3617
+ return Wa || (Wa = 1, Ua = Ha()(Object, "create")), Ua;
3643
3618
  }
3644
3619
  var Ka, qa;
3645
3620
  function Ja() {
@@ -3800,7 +3775,7 @@ function Po() {
3800
3775
  }
3801
3776
  var Fo, Io;
3802
3777
  function Lo() {
3803
- return Io ? Fo : (Io = 1, Fo = Ha()(De(), "Map"), Fo);
3778
+ return Io || (Io = 1, Fo = Ha()(De(), "Map")), Fo;
3804
3779
  }
3805
3780
  var Ro, zo;
3806
3781
  function Bo() {
@@ -4287,8 +4262,7 @@ var Z = {
4287
4262
  undirectedEdge: "\\s+<->\\s+"
4288
4263
  };
4289
4264
  Z.variable = "(?:[\\w-.]|(?:\\\\" + Z.metaChar + "))+", Z.className = "(?:[\\w-]|(?:\\\\" + Z.metaChar + "))+", Z.value = Z.string + "|" + Z.number, Z.id = Z.variable, (function() {
4290
- var e = Z.comparatorOp.split("|"), t, n;
4291
- for (n = 0; n < e.length; n++) t = e[n], Z.comparatorOp += "|@" + t;
4265
+ for (var e = Z.comparatorOp.split("|"), t, n = 0; n < e.length; n++) t = e[n], Z.comparatorOp += "|@" + t;
4292
4266
  for (e = Z.comparatorOp.split("|"), n = 0; n < e.length; n++) t = e[n], !(t.indexOf("!") >= 0) && t !== "=" && (Z.comparatorOp += "|\\!" + t);
4293
4267
  })();
4294
4268
  var gc = function() {
@@ -5237,7 +5211,7 @@ function Jc(e) {
5237
5211
  if (t === void 0 && (t = !0), n.length !== 0 && n.isNode() && !n.removed()) {
5238
5212
  for (var r = 0, i = n[0], a = i._private.edges, o = 0; o < a.length; o++) {
5239
5213
  var s = a[o];
5240
- !t && s.isLoop() || (r += e(i, s));
5214
+ (t || !s.isLoop()) && (r += e(i, s));
5241
5215
  }
5242
5216
  return r;
5243
5217
  }
@@ -5949,15 +5923,9 @@ var Hl = Vl.prototype, Ul = function(e, t, n, r, i, a, o) {
5949
5923
  }, Wl = function(e, t) {
5950
5924
  return e.addEventFields(e.context, t), new Nl(t.type, t);
5951
5925
  }, Gl = function(e, t, n) {
5952
- if (R(n)) {
5953
- t(e, n);
5954
- return;
5955
- }
5956
- if (O(n)) {
5957
- t(e, Wl(e, n));
5958
- return;
5959
- }
5960
- for (var r = D(n) ? n : n.split(/\s+/), i = 0; i < r.length; i++) {
5926
+ if (R(n)) t(e, n);
5927
+ else if (O(n)) t(e, Wl(e, n));
5928
+ else for (var r = D(n) ? n : n.split(/\s+/), i = 0; i < r.length; i++) {
5961
5929
  var a = r[i];
5962
5930
  if (!z(a)) {
5963
5931
  var o = a.match(Il);
@@ -6954,55 +6922,54 @@ X(fu, {
6954
6922
  }), fu.componentsOf = fu.components;
6955
6923
  var yu = function(e, t) {
6956
6924
  var n = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], r = arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
6957
- if (e === void 0) {
6958
- Lt("A collection must have a reference to the core");
6959
- return;
6960
- }
6961
- var i = new Qt(), a = !1;
6962
- if (!t) t = [];
6963
- else if (t.length > 0 && O(t[0]) && !P(t[0])) {
6964
- a = !0;
6965
- for (var o = [], s = new tn(), c = 0, l = t.length; c < l; c++) {
6966
- var u = t[c];
6967
- u.data ??= {};
6968
- var d = u.data;
6969
- if (d.id == null) d.id = Ut();
6970
- else if (e.hasElementWithId(d.id) || s.has(d.id)) continue;
6971
- var f = new nn(e, u, !1);
6972
- o.push(f), s.add(d.id);
6973
- }
6974
- t = o;
6975
- }
6976
- this.length = 0;
6977
- for (var p = 0, m = t.length; p < m; p++) {
6978
- var h = t[p][0];
6979
- if (h != null) {
6980
- var g = h._private.data.id;
6981
- (!n || !i.has(g)) && (n && i.set(g, {
6982
- index: this.length,
6983
- ele: h
6984
- }), this[this.length] = h, this.length++);
6985
- }
6986
- }
6987
- this._private = {
6988
- eles: this,
6989
- cy: e,
6990
- get map() {
6991
- return this.lazyMap ?? this.rebuildMap(), this.lazyMap;
6992
- },
6993
- set map(e) {
6994
- this.lazyMap = e;
6995
- },
6996
- rebuildMap: function() {
6997
- for (var e = this.lazyMap = new Qt(), t = this.eles, n = 0; n < t.length; n++) {
6998
- var r = t[n];
6999
- e.set(r.id(), {
7000
- index: n,
7001
- ele: r
7002
- });
6925
+ if (e === void 0) Lt("A collection must have a reference to the core");
6926
+ else {
6927
+ var i = new Qt(), a = !1;
6928
+ if (!t) t = [];
6929
+ else if (t.length > 0 && O(t[0]) && !P(t[0])) {
6930
+ a = !0;
6931
+ for (var o = [], s = new tn(), c = 0, l = t.length; c < l; c++) {
6932
+ var u = t[c];
6933
+ u.data ??= {};
6934
+ var d = u.data;
6935
+ if (d.id == null) d.id = Ut();
6936
+ else if (e.hasElementWithId(d.id) || s.has(d.id)) continue;
6937
+ var f = new nn(e, u, !1);
6938
+ o.push(f), s.add(d.id);
6939
+ }
6940
+ t = o;
6941
+ }
6942
+ this.length = 0;
6943
+ for (var p = 0, m = t.length; p < m; p++) {
6944
+ var h = t[p][0];
6945
+ if (h != null) {
6946
+ var g = h._private.data.id;
6947
+ (!n || !i.has(g)) && (n && i.set(g, {
6948
+ index: this.length,
6949
+ ele: h
6950
+ }), this[this.length] = h, this.length++);
6951
+ }
6952
+ }
6953
+ this._private = {
6954
+ eles: this,
6955
+ cy: e,
6956
+ get map() {
6957
+ return this.lazyMap ?? this.rebuildMap(), this.lazyMap;
6958
+ },
6959
+ set map(e) {
6960
+ this.lazyMap = e;
6961
+ },
6962
+ rebuildMap: function() {
6963
+ for (var e = this.lazyMap = new Qt(), t = this.eles, n = 0; n < t.length; n++) {
6964
+ var r = t[n];
6965
+ e.set(r.id(), {
6966
+ index: n,
6967
+ ele: r
6968
+ });
6969
+ }
7003
6970
  }
7004
- }
7005
- }, n && (this._private.map = i), a && !r && this.restore();
6971
+ }, n && (this._private.map = i), a && !r && this.restore();
6972
+ }
7006
6973
  }, bu = nn.prototype = yu.prototype = Object.create(Array.prototype);
7007
6974
  bu.instanceString = function() {
7008
6975
  return "collection";
@@ -7093,7 +7060,7 @@ bu.instanceString = function() {
7093
7060
  }, bu.copy = bu.clone, bu.restore = function() {
7094
7061
  for (var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, n = this, r = n.cy(), i = r._private, a = [], o = [], s, c = 0, l = n.length; c < l; c++) {
7095
7062
  var u = n[c];
7096
- t && !u.removed() || (u.isNode() ? a.push(u) : o.push(u));
7063
+ (!t || u.removed()) && (u.isNode() ? a.push(u) : o.push(u));
7097
7064
  }
7098
7065
  s = a.concat(o);
7099
7066
  var d, f = function() {
@@ -7101,7 +7068,7 @@ bu.instanceString = function() {
7101
7068
  };
7102
7069
  for (d = 0; d < s.length; d++) {
7103
7070
  var p = s[d], m = p._private, h = m.data;
7104
- if (p.clearTraversalCache(), !(!t && !m.removed)) {
7071
+ if (p.clearTraversalCache(), t || m.removed) {
7105
7072
  if (h.id === void 0) h.id = Ut();
7106
7073
  else if (A(h.id)) h.id = "" + h.id;
7107
7074
  else if (z(h.id) || !T(h.id)) {
@@ -7464,7 +7431,7 @@ var Cu = function() {
7464
7431
  function Eu(e, t, n, r, i) {
7465
7432
  if (r === 1 || t === n) return n;
7466
7433
  var a = i(t, n, r);
7467
- return e == null ? a : ((e.roundValue || e.color) && (a = Math.round(a)), e.min !== void 0 && (a = Math.max(a, e.min)), e.max !== void 0 && (a = Math.min(a, e.max)), a);
7434
+ return e == null || ((e.roundValue || e.color) && (a = Math.round(a)), e.min !== void 0 && (a = Math.max(a, e.min)), e.max !== void 0 && (a = Math.min(a, e.max))), a;
7468
7435
  }
7469
7436
  function Du(e, t) {
7470
7437
  return e.pfValue != null || e.value != null ? e.pfValue != null && (t == null || t.type.units !== "%") ? e.pfValue : e.value : e;
@@ -7519,7 +7486,7 @@ function ku(e, t, n, r) {
7519
7486
  return o.progress = m, m;
7520
7487
  }
7521
7488
  function Au(e, t) {
7522
- return e == null || t == null ? !1 : A(e) && A(t) ? !0 : !!(e && t);
7489
+ return e == null || t == null ? !1 : !!(A(e) && A(t) || e && t);
7523
7490
  }
7524
7491
  function ju(e, t, n, r) {
7525
7492
  var i = t._private;
@@ -7541,11 +7508,7 @@ function Mu(e, t) {
7541
7508
  e.splice(0, e.length);
7542
7509
  }, u = a.length - 1; u >= 0; u--) {
7543
7510
  var d = a[u], f = d._private;
7544
- if (f.stopped) {
7545
- a.splice(u, 1), f.hooked = !1, f.playing = !1, f.started = !1, l(f.frames);
7546
- continue;
7547
- }
7548
- !f.playing && !f.applying || (f.playing && f.applying && (f.applying = !1), f.started || ju(t, d, e), ku(t, d, e, n), f.applying &&= !1, l(f.frames), f.step != null && f.step(e), d.completed() && (a.splice(u, 1), f.hooked = !1, f.playing = !1, f.started = !1, l(f.completes)), s = !0);
7511
+ f.stopped ? (a.splice(u, 1), f.hooked = !1, f.playing = !1, f.started = !1, l(f.frames)) : (f.playing || f.applying) && (f.playing && f.applying && (f.applying = !1), f.started || ju(t, d, e), ku(t, d, e, n), f.applying &&= !1, l(f.frames), f.step != null && f.step(e), d.completed() && (a.splice(u, 1), f.hooked = !1, f.playing = !1, f.started = !1, l(f.completes)), s = !0);
7549
7512
  }
7550
7513
  return !n && a.length === 0 && o.length === 0 && r.push(t), s;
7551
7514
  }
@@ -7644,23 +7607,16 @@ var Lu = {
7644
7607
  Lu.jpeg = Lu.jpg;
7645
7608
  var Ru = { layout: function(e) {
7646
7609
  var t = this;
7647
- if (e == null) {
7648
- Lt("Layout options must be specified to make a layout");
7649
- return;
7650
- }
7651
- if (e.name == null) {
7652
- Lt("A `name` must be specified to make a layout");
7653
- return;
7654
- }
7655
- var n = e.name, r = t.extension("layout", n);
7656
- if (r == null) {
7657
- Lt("No such layout `" + n + "` found. Did you forget to import it and `cytoscape.use()` it?");
7658
- return;
7610
+ if (e == null) Lt("Layout options must be specified to make a layout");
7611
+ else if (e.name == null) Lt("A `name` must be specified to make a layout");
7612
+ else {
7613
+ var n = e.name, r = t.extension("layout", n);
7614
+ if (r == null) Lt("No such layout `" + n + "` found. Did you forget to import it and `cytoscape.use()` it?");
7615
+ else return new r(X({}, e, {
7616
+ cy: t,
7617
+ eles: T(e.eles) ? t.$(e.eles) : e.eles == null ? t.$() : e.eles
7618
+ }));
7659
7619
  }
7660
- return new r(X({}, e, {
7661
- cy: t,
7662
- eles: T(e.eles) ? t.$(e.eles) : e.eles == null ? t.$() : e.eles
7663
- }));
7664
7620
  } };
7665
7621
  Ru.createLayout = Ru.makeLayout = Ru.layout;
7666
7622
  var zu = {
@@ -7670,11 +7626,9 @@ var zu = {
7670
7626
  n.batchNotifications = n.batchNotifications || {};
7671
7627
  var r = n.batchNotifications[e] = n.batchNotifications[e] || this.collection();
7672
7628
  t != null && r.merge(t);
7673
- return;
7674
- }
7675
- if (n.notificationsEnabled) {
7629
+ } else if (n.notificationsEnabled) {
7676
7630
  var i = this.renderer();
7677
- this.destroyed() || !i || i.notify(e, t);
7631
+ !this.destroyed() && i && i.notify(e, t);
7678
7632
  }
7679
7633
  },
7680
7634
  notifications: function(e) {
@@ -7755,13 +7709,12 @@ var zu = {
7755
7709
  },
7756
7710
  initRenderer: function(e) {
7757
7711
  var t = this, n = t.extension("renderer", e.name);
7758
- if (n == null) {
7759
- Lt(`Can not initialise: No such renderer \`${e.name}\` found. Did you forget to import it and \`cytoscape.use()\` it?`);
7760
- return;
7712
+ if (n == null) Lt(`Can not initialise: No such renderer \`${e.name}\` found. Did you forget to import it and \`cytoscape.use()\` it?`);
7713
+ else {
7714
+ e.wheelSensitivity !== void 0 && zt("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");
7715
+ var r = Bu(e);
7716
+ r.cy = t, t._private.renderer = new n(r), this.notify("init");
7761
7717
  }
7762
- e.wheelSensitivity !== void 0 && zt("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");
7763
- var r = Bu(e);
7764
- r.cy = t, t._private.renderer = new n(r), this.notify("init");
7765
7718
  },
7766
7719
  destroyRenderer: function() {
7767
7720
  var e = this;
@@ -8123,7 +8076,7 @@ Ku.applyBypass = function(e, t, n, r) {
8123
8076
  for (var r = !0, i = 0; i < e.length; i++) {
8124
8077
  for (var a = e[i], o = {}, s = 0; s < t.length; s++) {
8125
8078
  var c = t[s], l = this.properties[c], u = a.pstyle(l.name);
8126
- if (!(!u || !u.bypass)) {
8079
+ if (u && u.bypass) {
8127
8080
  var d = this.parse(c, "", !0), f = o[l.name] = { prev: u };
8128
8081
  this.applyParsedProperty(a, d), f.next = a.pstyle(l.name);
8129
8082
  }
@@ -8193,8 +8146,7 @@ Ju.getRenderedStyle = function(e, t) {
8193
8146
  }
8194
8147
  return n;
8195
8148
  }, Ju.getNonDefaultPropertiesHash = function(e, t, n) {
8196
- var r = n.slice(), i, a, o, s, c, l;
8197
- for (c = 0; c < t.length; c++) if (i = t[c], a = e.pstyle(i, !1), a != null) {
8149
+ for (var r = n.slice(), i, a, o, s, c = 0, l; c < t.length; c++) if (i = t[c], a = e.pstyle(i, !1), a != null) {
8198
8150
  if (a.pfValue != null) r[0] = _t(s, r[0]), r[1] = vt(s, r[1]);
8199
8151
  else for (o = a.strValue, l = 0; l < o.length; l++) s = o.charCodeAt(l), r[0] = _t(s, r[0]), r[1] = vt(s, r[1]);
8200
8152
  }
@@ -8245,43 +8197,34 @@ Xu.appendFromString = function(e) {
8245
8197
  }
8246
8198
  i = l[0];
8247
8199
  var u = l[1];
8248
- if (u !== "core" && new Fc(u).invalid) {
8249
- zt("Skipping parsing of block: Invalid selector found in string stylesheet: " + u), s();
8250
- continue;
8251
- }
8252
- var d = l[2], f = !1;
8253
- a = d;
8254
- for (var p = []; !a.match(/^\s*$/);) {
8255
- var m = a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);
8256
- if (!m) {
8257
- zt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:" + d), f = !0;
8258
- break;
8200
+ if (u !== "core" && new Fc(u).invalid) zt("Skipping parsing of block: Invalid selector found in string stylesheet: " + u), s();
8201
+ else {
8202
+ var d = l[2], f = !1;
8203
+ a = d;
8204
+ for (var p = []; !a.match(/^\s*$/);) {
8205
+ var m = a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);
8206
+ if (!m) {
8207
+ zt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:" + d), f = !0;
8208
+ break;
8209
+ }
8210
+ o = m[0];
8211
+ var h = m[1], g = m[2];
8212
+ t.properties[h] ? n.parse(h, g) ? (p.push({
8213
+ name: h,
8214
+ val: g
8215
+ }), c()) : (zt("Skipping property: Invalid property definition in: " + o), c()) : (zt("Skipping property: Invalid property name in: " + o), c());
8259
8216
  }
8260
- o = m[0];
8261
- var h = m[1], g = m[2];
8262
- if (!t.properties[h]) {
8263
- zt("Skipping property: Invalid property name in: " + o), c();
8264
- continue;
8217
+ if (f) {
8218
+ s();
8219
+ break;
8265
8220
  }
8266
- if (!n.parse(h, g)) {
8267
- zt("Skipping property: Invalid property definition in: " + o), c();
8268
- continue;
8221
+ n.selector(u);
8222
+ for (var _ = 0; _ < p.length; _++) {
8223
+ var v = p[_];
8224
+ n.css(v.name, v.val);
8269
8225
  }
8270
- p.push({
8271
- name: h,
8272
- val: g
8273
- }), c();
8274
- }
8275
- if (f) {
8276
8226
  s();
8277
- break;
8278
8227
  }
8279
- n.selector(u);
8280
- for (var _ = 0; _ < p.length; _++) {
8281
- var v = p[_];
8282
- n.css(v.name, v.val);
8283
- }
8284
- s();
8285
8228
  }
8286
8229
  return n;
8287
8230
  }, Xu.fromString = function(e) {
@@ -10147,14 +10090,10 @@ Qu.parse = function(e, t, n, r) {
10147
10090
  };
10148
10091
  var $u = function(e) {
10149
10092
  if (!(this instanceof $u)) return new $u(e);
10150
- if (!I(e)) {
10151
- Lt("A style must have a core reference");
10152
- return;
10153
- }
10154
- this._private = {
10093
+ I(e) ? (this._private = {
10155
10094
  cy: e,
10156
10095
  coreStyle: {}
10157
- }, this.length = 0, this.resetToDefault();
10096
+ }, this.length = 0, this.resetToDefault()) : Lt("A style must have a core reference");
10158
10097
  }, ed = $u.prototype;
10159
10098
  ed.instanceString = function() {
10160
10099
  return "style";
@@ -10308,7 +10247,7 @@ var td = {
10308
10247
  return this;
10309
10248
  },
10310
10249
  getFitViewport: function(e, t) {
10311
- if (A(e) && t === void 0 && (t = e, e = void 0), !(!this._private.panningEnabled || !this._private.zoomingEnabled)) {
10250
+ if (A(e) && t === void 0 && (t = e, e = void 0), this._private.panningEnabled && this._private.zoomingEnabled) {
10312
10251
  var n;
10313
10252
  if (T(e)) {
10314
10253
  var r = e;
@@ -10378,7 +10317,7 @@ var td = {
10378
10317
  zoom: function(e) {
10379
10318
  if (e === void 0) return this._private.zoom;
10380
10319
  var t = this.getZoomedViewport(e), n = this._private;
10381
- return t == null || !t.zoomed ? this : (n.zoom = t.zoom, t.panned && (n.pan.x = t.pan.x, n.pan.y = t.pan.y), this.emit("zoom" + (t.panned ? " pan" : "") + " viewport"), this.notify("viewport"), this);
10320
+ return t == null || !t.zoomed || (n.zoom = t.zoom, t.panned && (n.pan.x = t.pan.x, n.pan.y = t.pan.y), this.emit("zoom" + (t.panned ? " pan" : "") + " viewport"), this.notify("viewport")), this;
10382
10321
  },
10383
10322
  viewport: function(e) {
10384
10323
  var t = this._private, n = !0, r = !0, i = [], a = !1, o = !1;
@@ -10662,15 +10601,14 @@ X(od, {
10662
10601
  var a = {}, o = function(e, n) {
10663
10602
  for (var r = [], i = [], o = 0; o < e.length; o++) {
10664
10603
  var s = e[o];
10665
- if (!s.data.id) {
10666
- zt("cy.json() cannot handle elements without an ID attribute");
10667
- continue;
10604
+ if (!s.data.id) zt("cy.json() cannot handle elements without an ID attribute");
10605
+ else {
10606
+ var c = "" + s.data.id, l = t.getElementById(c);
10607
+ a[c] = !0, l.length === 0 ? (n && (s.group = n), r.push(s)) : i.push({
10608
+ ele: l,
10609
+ json: s
10610
+ });
10668
10611
  }
10669
- var c = "" + s.data.id, l = t.getElementById(c);
10670
- a[c] = !0, l.length === 0 ? (n && (s.group = n), r.push(s)) : i.push({
10671
- ele: l,
10672
- json: s
10673
- });
10674
10612
  }
10675
10613
  t.add(r);
10676
10614
  for (var u = 0; u < i.length; u++) {
@@ -10822,11 +10760,7 @@ dd.prototype.run = function() {
10822
10760
  var w = function(e) {
10823
10761
  for (var t = _[e], n = 0; n < t.length; n++) {
10824
10762
  var r = t[n];
10825
- if (r == null) {
10826
- t.splice(n, 1), n--;
10827
- continue;
10828
- }
10829
- ud(r, {
10763
+ r == null ? (t.splice(n, 1), n--) : ud(r, {
10830
10764
  depth: e,
10831
10765
  index: n
10832
10766
  });
@@ -11297,7 +11231,7 @@ var yd = function(e, t, n) {
11297
11231
  }, Od = function(e) {
11298
11232
  return -e + 2 * e * Math.random();
11299
11233
  }, kd = function(e, t, n, r) {
11300
- if (!(e.cmptId !== t.cmptId && !n.isCompound)) {
11234
+ if (e.cmptId === t.cmptId || n.isCompound) {
11301
11235
  var i = t.positionX - e.positionX, a = t.positionY - e.positionY, o = 1;
11302
11236
  i === 0 && a === 0 && (i = Od(o), a = Od(o));
11303
11237
  var s = Ad(e, t, i, a);
@@ -11313,7 +11247,7 @@ var yd = function(e, t, n) {
11313
11247
  return i >= 0 && a >= 0 ? Math.sqrt(i * i + a * a) : 0;
11314
11248
  }, jd = function(e, t, n) {
11315
11249
  var r = e.positionX, i = e.positionY, a = e.height || 1, o = e.width || 1, s = n / t, c = a / o, l = {};
11316
- return t === 0 && 0 < n || t === 0 && 0 > n ? (l.x = r, l.y = i + a / 2, l) : 0 < t && -1 * c <= s && s <= c ? (l.x = r + o / 2, l.y = i + o * n / 2 / t, l) : 0 > t && -1 * c <= s && s <= c ? (l.x = r - o / 2, l.y = i - o * n / 2 / t, l) : 0 < n && (s <= -1 * c || s >= c) ? (l.x = r + a * t / 2 / n, l.y = i + a / 2, l) : 0 > n && (s <= -1 * c || s >= c) ? (l.x = r - a * t / 2 / n, l.y = i - a / 2, l) : l;
11250
+ return t === 0 && 0 < n || t === 0 && 0 > n ? (l.x = r, l.y = i + a / 2, l) : 0 < t && -1 * c <= s && s <= c ? (l.x = r + o / 2, l.y = i + o * n / 2 / t, l) : 0 > t && -1 * c <= s && s <= c ? (l.x = r - o / 2, l.y = i - o * n / 2 / t, l) : 0 < n && (s <= -1 * c || s >= c) ? (l.x = r + a * t / 2 / n, l.y = i + a / 2, l) : (0 > n && (s <= -1 * c || s >= c) && (l.x = r - a * t / 2 / n, l.y = i - a / 2), l);
11317
11251
  }, Md = function(e, t) {
11318
11252
  for (var n = 0; n < e.edgeSize; n++) {
11319
11253
  var r = e.layoutEdges[n], i = e.idToIndex[r.sourceId], a = e.layoutNodes[i], o = e.idToIndex[r.targetId], s = e.layoutNodes[o], c = s.positionX - a.positionX, l = s.positionY - a.positionY;
@@ -12003,7 +11937,7 @@ Qd.projectIntoViewport = function(e, t) {
12003
11937
  var i = n._private, a = f, o = r ? r + "-" : "";
12004
11938
  n.boundingBox();
12005
11939
  var s = i.labelBounds[r || "main"], c = n.pstyle(o + "label").value;
12006
- if (!(n.pstyle("text-events").strValue !== "yes" || !c)) {
11940
+ if (n.pstyle("text-events").strValue === "yes" && c) {
12007
11941
  var l = y(i.rscratch, "labelX", r), u = y(i.rscratch, "labelY", r), d = y(i.rscratch, "labelAngle", r), p = n.pstyle(o + "text-margin-x").pfValue, m = n.pstyle(o + "text-margin-y").pfValue, h = s.x1 - a - p, _ = s.x2 + a - p, v = s.y1 - a - m, b = s.y2 + a - m;
12008
11942
  if (d) {
12009
11943
  var x = Math.cos(d), S = Math.sin(d), C = function(e, t) {
@@ -12257,11 +12191,7 @@ var ef, tf, nf = {}, rf = {}, af, of, sf, cf, lf, uf, df, ff, pf, mf, hf, gf, _f
12257
12191
  }, xf = function(e, t) {
12258
12192
  t.x = e.x * -1, t.y = e.y * -1, t.nx = e.nx * -1, t.ny = e.ny * -1, t.ang = e.ang > 0 ? -(Math.PI - e.ang) : Math.PI + e.ang;
12259
12193
  }, Sf = function(e, t, n, r, i) {
12260
- if (e === yf ? xf(rf, nf) : bf(t, e, nf), bf(t, n, rf), af = nf.nx * rf.ny - nf.ny * rf.nx, of = nf.nx * rf.nx - nf.ny * -rf.ny, lf = Math.asin(Math.max(-1, Math.min(1, af))), Math.abs(lf) < 1e-6) {
12261
- ef = t.x, tf = t.y, df = pf = 0;
12262
- return;
12263
- }
12264
- sf = 1, cf = !1, of < 0 ? lf < 0 ? lf = Math.PI + lf : (lf = Math.PI - lf, sf = -1, cf = !0) : lf > 0 && (sf = -1, cf = !0), pf = t.radius === void 0 ? r : t.radius, uf = lf / 2, mf = Math.min(nf.len / 2, rf.len / 2), i ? (ff = Math.abs(Math.cos(uf) * pf / Math.sin(uf)), ff > mf ? (ff = mf, df = Math.abs(ff * Math.sin(uf) / Math.cos(uf))) : df = pf) : (ff = Math.min(mf, pf), df = Math.abs(ff * Math.sin(uf) / Math.cos(uf))), _f = t.x + rf.nx * ff, vf = t.y + rf.ny * ff, ef = _f - rf.ny * df * sf, tf = vf + rf.nx * df * sf, hf = t.x + nf.nx * ff, gf = t.y + nf.ny * ff, yf = t;
12194
+ e === yf ? xf(rf, nf) : bf(t, e, nf), bf(t, n, rf), af = nf.nx * rf.ny - nf.ny * rf.nx, of = nf.nx * rf.nx - nf.ny * -rf.ny, lf = Math.asin(Math.max(-1, Math.min(1, af))), Math.abs(lf) < 1e-6 ? (ef = t.x, tf = t.y, df = pf = 0) : (sf = 1, cf = !1, of < 0 ? lf < 0 ? lf = Math.PI + lf : (lf = Math.PI - lf, sf = -1, cf = !0) : lf > 0 && (sf = -1, cf = !0), pf = t.radius === void 0 ? r : t.radius, uf = lf / 2, mf = Math.min(nf.len / 2, rf.len / 2), i ? (ff = Math.abs(Math.cos(uf) * pf / Math.sin(uf)), ff > mf ? (ff = mf, df = Math.abs(ff * Math.sin(uf) / Math.cos(uf))) : df = pf) : (ff = Math.min(mf, pf), df = Math.abs(ff * Math.sin(uf) / Math.cos(uf))), _f = t.x + rf.nx * ff, vf = t.y + rf.ny * ff, ef = _f - rf.ny * df * sf, tf = vf + rf.nx * df * sf, hf = t.x + nf.nx * ff, gf = t.y + nf.ny * ff, yf = t);
12265
12195
  };
12266
12196
  function Cf(e, t) {
12267
12197
  t.radius === 0 ? e.lineTo(t.cx, t.cy) : e.arc(t.cx, t.cy, t.radius, t.startAngle, t.endAngle, t.counterClockwise);
@@ -12582,21 +12512,20 @@ Df.findMidptPtsEtc = function(e, t) {
12582
12512
  t.nodesOverlap || A(t.startX) && A(t.startY) && A(t.endX) && A(t.endY) ? t.loggedErr = !1 : t.loggedErr || (t.loggedErr = !0, zt("Edge `" + e.id() + "` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."));
12583
12513
  }, Df.findEdgeControlPoints = function(e) {
12584
12514
  var t = this;
12585
- if (!(!e || e.length === 0)) {
12515
+ if (e && e.length !== 0) {
12586
12516
  for (var n = this, r = n.cy.hasCompoundNodes(), i = new Qt(), a = function(e, t) {
12587
12517
  return [].concat(p(e), [+!!t]).join("-");
12588
12518
  }, o = [], s = [], c = 0; c < e.length; c++) {
12589
12519
  var l = e[c], u = l._private, d = l.pstyle("curve-style").value;
12590
- if (!(l.removed() || !l.takesUpSpace())) {
12591
- if (d === "haystack") {
12592
- s.push(l);
12593
- continue;
12520
+ if (!l.removed() && l.takesUpSpace()) {
12521
+ if (d === "haystack") s.push(l);
12522
+ else {
12523
+ var f = d === "unbundled-bezier" || ee(d, "segments") || d === "straight" || d === "straight-triangle" || ee(d, "taxi"), m = d === "unbundled-bezier" || d === "bezier", h = u.source, g = u.target, _ = [h.poolIndex(), g.poolIndex()].sort(), v = a(_, f), y = i.get(v);
12524
+ y ?? (y = { eles: [] }, o.push({
12525
+ pairId: _,
12526
+ edgeIsUnbundled: f
12527
+ }), i.set(v, y)), y.eles.push(l), f && (y.hasUnbundled = !0), m && (y.hasBezier = !0);
12594
12528
  }
12595
- var f = d === "unbundled-bezier" || ee(d, "segments") || d === "straight" || d === "straight-triangle" || ee(d, "taxi"), m = d === "unbundled-bezier" || d === "bezier", h = u.source, g = u.target, _ = [h.poolIndex(), g.poolIndex()].sort(), v = a(_, f), y = i.get(v);
12596
- y ?? (y = { eles: [] }, o.push({
12597
- pairId: _,
12598
- edgeIsUnbundled: f
12599
- }), i.set(v, y)), y.eles.push(l), f && (y.hasUnbundled = !0), m && (y.hasBezier = !0);
12600
12529
  }
12601
12530
  }
12602
12531
  for (var b = function() {
@@ -13222,7 +13151,7 @@ Hf.getCachedImage = function(e, t, n) {
13222
13151
  };
13223
13152
  var Uf = function(e, t) {
13224
13153
  var n = e[0];
13225
- !n || n._private.grabbed === t || (n._private.grabbed = t, e.updateStyle(!1));
13154
+ n && n._private.grabbed !== t && (n._private.grabbed = t, e.updateStyle(!1));
13226
13155
  }, Wf = function(e) {
13227
13156
  Uf(e, !0);
13228
13157
  }, Gf = function(e) {
@@ -13457,7 +13386,7 @@ Kf.registerBinding = function(e, t, n, r) {
13457
13386
  }, !1);
13458
13387
  var T = r(e.container);
13459
13388
  e.registerBinding([t, T], "mousemove", function(t) {
13460
- if (!(!e.hoverData.capture && !w(t))) {
13389
+ if (e.hoverData.capture || w(t)) {
13461
13390
  var n = !1, r = e.cy, s = r.zoom(), c = [t.clientX, t.clientY], l = e.projectIntoViewport(c[0], c[1]), u = e.hoverData.mdownPos, d = e.hoverData.mdownGPos, f = e.selection, m = null;
13462
13391
  !e.hoverData.draggingEles && !e.hoverData.dragging && !e.hoverData.selecting && (m = e.findNearestElement(l[0], l[1], !0, !1));
13463
13392
  var g = e.hoverData.last, _ = e.hoverData.down, v = [l[0] - f[2], l[1] - f[3]], y = e.dragData.possibleDragElements, b;
@@ -13633,11 +13562,8 @@ Kf.registerBinding = function(e, t, n, r) {
13633
13562
  } else M && (N = Math.min(Math.abs(r), N));
13634
13563
  if (!e.scrollingPage) {
13635
13564
  var s = e.cy, c = s.zoom(), l = s.pan(), u = e.projectIntoViewport(t.clientX, t.clientY), d = [u[0] * c + l.x, u[1] * c + l.y];
13636
- if (e.hoverData.draggingEles || e.hoverData.dragging || e.hoverData.cxtStarted || C()) {
13637
- t.preventDefault();
13638
- return;
13639
- }
13640
- if (s.panningEnabled() && s.userPanningEnabled() && s.zoomingEnabled() && s.userZoomingEnabled()) {
13565
+ if (e.hoverData.draggingEles || e.hoverData.dragging || e.hoverData.cxtStarted || C()) t.preventDefault();
13566
+ else if (s.panningEnabled() && s.userPanningEnabled() && s.zoomingEnabled() && s.userZoomingEnabled()) {
13641
13567
  t.preventDefault(), e.data.wheelZooming = !0, clearTimeout(e.data.wheelTimeout), e.data.wheelTimeout = setTimeout(function() {
13642
13568
  e.data.wheelZooming = !1, e.redrawHint("eles", !0), e.redraw();
13643
13569
  }, 150);
@@ -13780,7 +13706,7 @@ Kf.registerBinding = function(e, t, n, r) {
13780
13706
  var re;
13781
13707
  e.registerBinding(t, "touchmove", re = function(t) {
13782
13708
  var n = e.touchData.capture;
13783
- if (!(!n && !w(t))) {
13709
+ if (n || w(t)) {
13784
13710
  var r = e.selection, a = e.cy, s = e.touchData.now, c = e.touchData.earlier, l = a.zoom();
13785
13711
  if (t.touches[0]) {
13786
13712
  var u = e.projectIntoViewport(t.touches[0].clientX, t.touches[0].clientY);
@@ -13950,22 +13876,30 @@ Kf.registerBinding = function(e, t, n, r) {
13950
13876
  r ? r.emit(p) : o.emit(p);
13951
13877
  }
13952
13878
  e.touchData.start && (e.touchData.start._private.grabbed = !1), e.touchData.cxt = !1, e.touchData.start = null, e.redraw();
13953
- return;
13954
- }
13955
- if (!t.touches[2] && o.boxSelectionEnabled() && e.touchData.selecting) {
13956
- e.touchData.selecting = !1;
13957
- var m = o.collection(e.getAllInBox(a[0], a[1], a[2], a[3]));
13958
- a[0] = void 0, a[1] = void 0, a[2] = void 0, a[3] = void 0, a[4] = 0, e.redrawHint("select", !0), o.emit(d("boxend")), m.emit(d("box")).stdFilter(function(e) {
13959
- return e.selectable() && !e.selected();
13960
- }).select().emit(d("boxselect")), m.nonempty() && e.redrawHint("eles", !0), e.redraw();
13961
- }
13962
- if (r?.unactivate(), t.touches[2]) e.data.bgActivePosistion = void 0, e.redrawHint("select", !0);
13963
- else if (!t.touches[1] && !t.touches[0] && !t.touches[0]) {
13964
- e.data.bgActivePosistion = void 0, e.redrawHint("select", !0);
13965
- var g = e.dragData.touchDragEles;
13966
- if (r != null) {
13967
- var _ = r._private.grabbed;
13968
- h(g), e.redrawHint("drag", !0), e.redrawHint("eles", !0), _ && (r.emit(d("freeon")), g.emit(d("free")), e.dragData.didDrag && (r.emit(d("dragfreeon")), g.emit(d("dragfree")))), i(r, [
13879
+ } else {
13880
+ if (!t.touches[2] && o.boxSelectionEnabled() && e.touchData.selecting) {
13881
+ e.touchData.selecting = !1;
13882
+ var m = o.collection(e.getAllInBox(a[0], a[1], a[2], a[3]));
13883
+ a[0] = void 0, a[1] = void 0, a[2] = void 0, a[3] = void 0, a[4] = 0, e.redrawHint("select", !0), o.emit(d("boxend")), m.emit(d("box")).stdFilter(function(e) {
13884
+ return e.selectable() && !e.selected();
13885
+ }).select().emit(d("boxselect")), m.nonempty() && e.redrawHint("eles", !0), e.redraw();
13886
+ }
13887
+ if (r?.unactivate(), t.touches[2]) e.data.bgActivePosistion = void 0, e.redrawHint("select", !0);
13888
+ else if (!t.touches[1] && !t.touches[0] && !t.touches[0]) {
13889
+ e.data.bgActivePosistion = void 0, e.redrawHint("select", !0);
13890
+ var g = e.dragData.touchDragEles;
13891
+ if (r != null) {
13892
+ var _ = r._private.grabbed;
13893
+ h(g), e.redrawHint("drag", !0), e.redrawHint("eles", !0), _ && (r.emit(d("freeon")), g.emit(d("free")), e.dragData.didDrag && (r.emit(d("dragfreeon")), g.emit(d("dragfree")))), i(r, [
13894
+ "touchend",
13895
+ "tapend",
13896
+ "vmouseup",
13897
+ "tapdragout"
13898
+ ], t, {
13899
+ x: c[0],
13900
+ y: c[1]
13901
+ }), r.unactivate(), e.touchData.start = null;
13902
+ } else i(e.findNearestElement(c[0], c[1], !0, !0), [
13969
13903
  "touchend",
13970
13904
  "tapend",
13971
13905
  "vmouseup",
@@ -13973,39 +13907,31 @@ Kf.registerBinding = function(e, t, n, r) {
13973
13907
  ], t, {
13974
13908
  x: c[0],
13975
13909
  y: c[1]
13976
- }), r.unactivate(), e.touchData.start = null;
13977
- } else i(e.findNearestElement(c[0], c[1], !0, !0), [
13978
- "touchend",
13979
- "tapend",
13980
- "vmouseup",
13981
- "tapdragout"
13982
- ], t, {
13983
- x: c[0],
13984
- y: c[1]
13985
- });
13986
- var v = e.touchData.startPosition[0] - c[0], y = v * v, b = e.touchData.startPosition[1] - c[1], x = (y + b * b) * s * s;
13987
- e.touchData.singleTouchMoved || (r || o.$(":selected").unselect(["tapunselect"]), i(r, ["tap", "vclick"], t, {
13988
- x: c[0],
13989
- y: c[1]
13990
- }), oe = !1, t.timeStamp - ce <= o.multiClickDebounceTime() ? (se && clearTimeout(se), oe = !0, ce = null, i(r, ["dbltap", "vdblclick"], t, {
13991
- x: c[0],
13992
- y: c[1]
13993
- })) : (se = setTimeout(function() {
13994
- oe || i(r, ["onetap", "voneclick"], t, {
13910
+ });
13911
+ var v = e.touchData.startPosition[0] - c[0], y = v * v, b = e.touchData.startPosition[1] - c[1], x = (y + b * b) * s * s;
13912
+ e.touchData.singleTouchMoved || (r || o.$(":selected").unselect(["tapunselect"]), i(r, ["tap", "vclick"], t, {
13995
13913
  x: c[0],
13996
13914
  y: c[1]
13997
- });
13998
- }, o.multiClickDebounceTime()), ce = t.timeStamp)), r != null && !e.dragData.didDrag && r._private.selectable && x < e.touchTapThreshold2 && !e.pinching && (o.selectionType() === "single" ? (o.$(n).unmerge(r).unselect(["tapunselect"]), r.select(["tapselect"])) : r.selected() ? r.unselect(["tapunselect"]) : r.select(["tapselect"]), e.redrawHint("eles", !0)), e.touchData.singleTouchMoved = !0;
13915
+ }), oe = !1, t.timeStamp - ce <= o.multiClickDebounceTime() ? (se && clearTimeout(se), oe = !0, ce = null, i(r, ["dbltap", "vdblclick"], t, {
13916
+ x: c[0],
13917
+ y: c[1]
13918
+ })) : (se = setTimeout(function() {
13919
+ oe || i(r, ["onetap", "voneclick"], t, {
13920
+ x: c[0],
13921
+ y: c[1]
13922
+ });
13923
+ }, o.multiClickDebounceTime()), ce = t.timeStamp)), r != null && !e.dragData.didDrag && r._private.selectable && x < e.touchTapThreshold2 && !e.pinching && (o.selectionType() === "single" ? (o.$(n).unmerge(r).unselect(["tapunselect"]), r.select(["tapselect"])) : r.selected() ? r.unselect(["tapunselect"]) : r.select(["tapselect"]), e.redrawHint("eles", !0)), e.touchData.singleTouchMoved = !0;
13924
+ }
13925
+ for (var S = 0; S < c.length; S++) l[S] = c[S];
13926
+ e.dragData.didDrag = !1, t.touches.length === 0 && (e.touchData.dragDelta = [], e.touchData.startPosition = [
13927
+ null,
13928
+ null,
13929
+ null,
13930
+ null,
13931
+ null,
13932
+ null
13933
+ ], e.touchData.startGPosition = null, e.touchData.didSelect = !1), t.touches.length < 2 && (t.touches.length === 1 && (e.touchData.startGPosition = [t.touches[0].clientX, t.touches[0].clientY]), e.pinching = !1, e.redrawHint("eles", !0), e.redraw());
13999
13934
  }
14000
- for (var S = 0; S < c.length; S++) l[S] = c[S];
14001
- e.dragData.didDrag = !1, t.touches.length === 0 && (e.touchData.dragDelta = [], e.touchData.startPosition = [
14002
- null,
14003
- null,
14004
- null,
14005
- null,
14006
- null,
14007
- null
14008
- ], e.touchData.startGPosition = null, e.touchData.didSelect = !1), t.touches.length < 2 && (t.touches.length === 1 && (e.touchData.startGPosition = [t.touches[0].clientX, t.touches[0].clientY]), e.pinching = !1, e.redrawHint("eles", !0), e.redraw());
14009
13935
  }, !1), typeof TouchEvent > "u") {
14010
13936
  var X = [], le = function(e) {
14011
13937
  return {
@@ -14542,17 +14468,7 @@ Zf.clientFunctions = [
14542
14468
  }, t.registerNodeShapes(), t.registerArrowShapes(), t.registerCalculationListeners();
14543
14469
  }, Zf.notify = function(e, t) {
14544
14470
  var n = this, r = n.cy;
14545
- if (!this.destroyed) {
14546
- if (e === "init") {
14547
- n.load();
14548
- return;
14549
- }
14550
- if (e === "destroy") {
14551
- n.destroy();
14552
- return;
14553
- }
14554
- (e === "add" || e === "remove" || e === "move" && r.hasCompoundNodes() || e === "load" || e === "zorder" || e === "mount") && n.invalidateCachedZSortedEles(), e === "viewport" && n.redrawHint("select", !0), e === "gc" && n.redrawHint("gc", !0), (e === "load" || e === "resize" || e === "mount") && (n.invalidateContainerClientCoordsCache(), n.matchCanvasSize(n.container)), n.redrawHint("eles", !0), n.redrawHint("drag", !0), this.startRenderLoop(), this.redraw();
14555
- }
14471
+ this.destroyed || (e === "init" ? n.load() : e === "destroy" ? n.destroy() : ((e === "add" || e === "remove" || e === "move" && r.hasCompoundNodes() || e === "load" || e === "zorder" || e === "mount") && n.invalidateCachedZSortedEles(), e === "viewport" && n.redrawHint("select", !0), e === "gc" && n.redrawHint("gc", !0), (e === "load" || e === "resize" || e === "mount") && (n.invalidateContainerClientCoordsCache(), n.matchCanvasSize(n.container)), n.redrawHint("eles", !0), n.redrawHint("drag", !0), this.startRenderLoop(), this.redraw()));
14556
14472
  }, Zf.destroy = function() {
14557
14473
  var e = this;
14558
14474
  e.destroyed = !0, e.cy.stopAnimationLoop();
@@ -14988,22 +14904,21 @@ zp.makeLayer = function(e, t) {
14988
14904
  if (r.skipping && !a) return null;
14989
14905
  for (var h = null, g = e.length / Cp, _ = !a, v = 0; v < e.length; v++) {
14990
14906
  var y = e[v], b = y._private.rscratch, x = b.imgLayerCaches = b.imgLayerCaches || {}, S = x[n];
14991
- if (S) {
14992
- h = S;
14993
- continue;
14907
+ if (S) h = S;
14908
+ else {
14909
+ if ((!h || h.eles.length >= g || !rr(h.bb, y.boundingBox())) && (h = m({
14910
+ insert: !0,
14911
+ after: h
14912
+ }), !h)) return null;
14913
+ d || _ ? r.queueLayer(h, y) : r.drawEleInLayer(h, y, n, t), h.eles.push(y), x[n] = h;
14994
14914
  }
14995
- if ((!h || h.eles.length >= g || !rr(h.bb, y.boundingBox())) && (h = m({
14996
- insert: !0,
14997
- after: h
14998
- }), !h)) return null;
14999
- d || _ ? r.queueLayer(h, y) : r.drawEleInLayer(h, y, n, t), h.eles.push(y), x[n] = h;
15000
14915
  }
15001
14916
  return d || (_ ? null : c);
15002
14917
  }, zp.getEleLevelForLayerLevel = function(e, t) {
15003
14918
  return e;
15004
14919
  }, zp.drawEleInLayer = function(e, t, n, r) {
15005
14920
  var i = this, a = this.renderer, o = e.context, s = t.boundingBox();
15006
- s.w === 0 || s.h === 0 || !t.visible() || (n = i.getEleLevelForLayerLevel(n, r), a.setImgSmoothing(o, !1), a.drawCachedElement(o, t, null, null, n, Lp), a.setImgSmoothing(o, !0));
14921
+ s.w !== 0 && s.h !== 0 && t.visible() && (n = i.getEleLevelForLayerLevel(n, r), a.setImgSmoothing(o, !1), a.drawCachedElement(o, t, null, null, n, Lp), a.setImgSmoothing(o, !0));
15007
14922
  }, zp.levelIsComplete = function(e, t) {
15008
14923
  var n = this.layersByLevel[e];
15009
14924
  if (!n || n.length === 0) return !1;
@@ -15020,11 +14935,8 @@ zp.makeLayer = function(e, t) {
15020
14935
  a = o;
15021
14936
  break;
15022
14937
  }
15023
- if (a < 0) {
15024
- this.invalidateLayer(i);
15025
- continue;
15026
- }
15027
- for (var s = a, o = 0; o < i.eles.length; o++) if (i.eles[o] !== t[s + o]) {
14938
+ if (a < 0) this.invalidateLayer(i);
14939
+ else for (var s = a, o = 0; o < i.eles.length; o++) if (i.eles[o] !== t[s + o]) {
15028
14940
  this.invalidateLayer(i);
15029
14941
  break;
15030
14942
  }
@@ -15045,7 +14957,7 @@ zp.makeLayer = function(e, t) {
15045
14957
  return t;
15046
14958
  }, zp.invalidateElements = function(e) {
15047
14959
  var t = this;
15048
- e.length !== 0 && (t.lastInvalidationTime = ft(), !(e.length === 0 || !t.haveLayers()) && t.updateElementsInLayers(e, function(e, n, r) {
14960
+ e.length !== 0 && (t.lastInvalidationTime = ft(), e.length !== 0 && t.haveLayers() && t.updateElementsInLayers(e, function(e, n, r) {
15049
14961
  t.invalidateLayer(e);
15050
14962
  }));
15051
14963
  }, zp.invalidateLayer = function(e) {
@@ -15077,20 +14989,13 @@ zp.makeLayer = function(e, t) {
15077
14989
  }, zp.dequeue = function(e) {
15078
14990
  for (var t = this, n = t.layersQueue, r = [], i = 0; i < Np && n.size() !== 0;) {
15079
14991
  var a = n.peek();
15080
- if (a.replacement) {
15081
- n.pop();
15082
- continue;
15083
- }
15084
- if (a.replaces && a !== a.replaces.replacement) {
15085
- n.pop();
15086
- continue;
15087
- }
15088
- if (a.invalid) {
15089
- n.pop();
15090
- continue;
14992
+ if (a.replacement) n.pop();
14993
+ else if (a.replaces && a !== a.replaces.replacement) n.pop();
14994
+ else if (a.invalid) n.pop();
14995
+ else {
14996
+ var o = a.elesQueue.shift();
14997
+ o && (t.drawEleInLayer(a, o, a.level, e), i++), r.length === 0 && r.push(!0), a.elesQueue.length === 0 && (n.pop(), a.reqs = 0, a.replaces && t.applyLayerReplacement(a), t.requestRedraw());
15091
14998
  }
15092
- var o = a.elesQueue.shift();
15093
- o && (t.drawEleInLayer(a, o, a.level, e), i++), r.length === 0 && r.push(!0), a.elesQueue.length === 0 && (n.pop(), a.reqs = 0, a.replaces && t.applyLayerReplacement(a), t.requestRedraw());
15094
14999
  }
15095
15000
  return r;
15096
15001
  }, zp.applyLayerReplacement = function(e) {
@@ -15216,7 +15121,7 @@ var Xp = function() {
15216
15121
  };
15217
15122
  Yp.drawCachedElement = function(e, t, n, r, i, a) {
15218
15123
  var o = this, s = o.data, c = s.eleTxrCache, l = s.lblTxrCache, u = s.slbTxrCache, d = s.tlbTxrCache, f = t.boundingBox(), p = a === !0 ? c.reasons.highQuality : null;
15219
- if (!(f.w === 0 || f.h === 0 || !t.visible()) && (!r || er(f, r))) {
15124
+ if (f.w !== 0 && f.h !== 0 && t.visible() && (!r || er(f, r))) {
15220
15125
  var m = t.isEdge(), h = t.element()._private.rscratch.badLine;
15221
15126
  o.drawElementUnderlay(e, t), o.drawCachedElementPortion(e, t, c, n, i, p, Xp, em), (!m || !h) && o.drawCachedElementPortion(e, t, l, n, i, p, Zp, tm), m && !h && (o.drawCachedElementPortion(e, t, u, n, i, p, Qp, tm), o.drawCachedElementPortion(e, t, d, n, i, p, $p, tm)), o.drawElementOverlay(e, t);
15222
15127
  }
@@ -15246,7 +15151,7 @@ Yp.drawCachedElement = function(e, t, n, r, i, a) {
15246
15151
  var nm = {};
15247
15152
  nm.drawEdge = function(e, t, n) {
15248
15153
  var r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, o = this, s = t._private.rscratch;
15249
- if (!(a && !t.visible()) && !(s.badLine || s.allpts == null || isNaN(s.allpts[0]))) {
15154
+ if ((!a || t.visible()) && !(s.badLine || s.allpts == null || isNaN(s.allpts[0]))) {
15250
15155
  var c;
15251
15156
  n && (c = n, e.translate(-c.x1, -c.y1));
15252
15157
  var l = a ? t.pstyle("opacity").value : 1, u = a ? t.pstyle("line-opacity").value : 1, d = t.pstyle("curve-style").value, f = t.pstyle("line-style").value, p = t.pstyle("width").pfValue, m = t.pstyle("line-cap").value, h = t.pstyle("line-outline-width").value, g = t.pstyle("line-outline-color").value, _ = l * u, v = l * u, y = function() {
@@ -15453,7 +15358,7 @@ am.getTextAngle = function(e, t) {
15453
15358
  return n;
15454
15359
  }, am.drawText = function(e, t, n) {
15455
15360
  var r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, a = t._private.rscratch, o = i ? t.effectiveOpacity() : 1;
15456
- if (!(i && (o === 0 || t.pstyle("text-opacity").value === 0))) {
15361
+ if (!i || o !== 0 && t.pstyle("text-opacity").value !== 0) {
15457
15362
  n === "main" && (n = null);
15458
15363
  var s = Xt(a, "labelX", n), c = Xt(a, "labelY", n), l, u, d = this.getLabelText(t, n);
15459
15364
  if (d != null && d !== "" && !isNaN(s) && !isNaN(c)) {
@@ -15517,7 +15422,7 @@ am.getTextAngle = function(e, t) {
15517
15422
  var cm = {};
15518
15423
  cm.drawNode = function(e, t, n) {
15519
15424
  var r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, o = this, s, c, l = t._private, u = l.rscratch, d = t.position();
15520
- if (!(!A(d.x) || !A(d.y)) && !(a && !t.visible())) {
15425
+ if (A(d.x) && A(d.y) && (!a || t.visible())) {
15521
15426
  var f = a ? t.effectiveOpacity() : 1, p = o.usePaths(), m, h = !1, g = t.padding();
15522
15427
  s = t.width() + 2 * g, c = t.height() + 2 * g;
15523
15428
  var _;
@@ -15566,11 +15471,7 @@ cm.drawNode = function(e, t, n) {
15566
15471
  }, te = function() {
15567
15472
  for (var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : f, r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, i = l.backgrounding, a = 0, s = 0; s < b.length; s++) {
15568
15473
  var c = t.cy().style().getIndexedStyle(t, "background-image-containment", "value", s);
15569
- if (r && c === "over" || !r && c === "inside") {
15570
- a++;
15571
- continue;
15572
- }
15573
- y[s] && b[s].complete && !b[s].error && (a++, o.drawInscribedImage(e, b[s], t, s, n));
15474
+ r && c === "over" || !r && c === "inside" ? a++ : y[s] && b[s].complete && !b[s].error && (a++, o.drawInscribedImage(e, b[s], t, s, n));
15574
15475
  }
15575
15476
  l.backgrounding = a !== x, i !== l.backgrounding && t.updateStyle(!1);
15576
15477
  }, ne = function() {
@@ -15869,7 +15770,7 @@ um.getPixelRatio = function() {
15869
15770
  y: x.y
15870
15771
  }
15871
15772
  }, w = t.prevViewport;
15872
- w !== void 0 && C.zoom === w.zoom && C.pan.x === w.pan.x && C.pan.y === w.pan.y && !(h && !m) && (t.motionBlurPxRatio = 1), s && (S = s), b *= c, S.x *= c, S.y *= c;
15773
+ w !== void 0 && C.zoom === w.zoom && C.pan.x === w.pan.x && C.pan.y === w.pan.y && (!h || m) && (t.motionBlurPxRatio = 1), s && (S = s), b *= c, S.x *= c, S.y *= c;
15873
15774
  var T = t.getCachedZSortedEles();
15874
15775
  function E(e, n, r, i, a) {
15875
15776
  var o = e.globalCompositeOperation;
@@ -16012,7 +15913,7 @@ function Sm(e, t) {
16012
15913
  ,
16013
15914
  ,
16014
15915
  ];
16015
- return n[0] = (e >> 0 & 255) / 255, n[1] = (e >> 8 & 255) / 255, n[2] = (e >> 16 & 255) / 255, n[3] = (e >> 24 & 255) / 255, n;
15916
+ return n[0] = ((e | 0) & 255) / 255, n[1] = (e >> 8 & 255) / 255, n[2] = (e >> 16 & 255) / 255, n[3] = (e >> 24 & 255) / 255, n;
16016
15917
  }
16017
15918
  function Cm(e) {
16018
15919
  return e[0] + (e[1] << 8) + (e[2] << 16) + (e[3] << 24);
@@ -16318,44 +16219,43 @@ var Bm = /*#__PURE__*/ function() {
16318
16219
  key: "gc",
16319
16220
  value: function() {
16320
16221
  var e = this, t = this.markedKeys;
16321
- if (t.size === 0) {
16322
- console.log("nothing to garbage collect");
16323
- return;
16324
- }
16325
- var n = [], r = /* @__PURE__ */ new Map(), i = null, a = o(this.atlases), s;
16326
- try {
16327
- var c = function() {
16328
- var a = s.value, c = a.getKeys(), l = Hm(t, c);
16329
- if (l.size === 0) return n.push(a), c.forEach(function(e) {
16330
- return r.set(e, a);
16331
- }), 1;
16332
- i || (i = e._createAtlas(), n.push(i));
16333
- var u = o(c), d;
16334
- try {
16335
- for (u.s(); !(d = u.n()).done;) {
16336
- var p = d.value;
16337
- if (!l.has(p)) {
16338
- var m = f(a.getOffsets(p), 2), h = m[0], g = m[1];
16339
- i.canFit({
16340
- w: h.w + g.w,
16341
- h: h.h
16342
- }) || (i.lock(), i = e._createAtlas(), n.push(i)), a.canvas && (e._copyTextureToNewAtlas(p, a, i), r.set(p, i));
16222
+ if (t.size === 0) console.log("nothing to garbage collect");
16223
+ else {
16224
+ var n = [], r = /* @__PURE__ */ new Map(), i = null, a = o(this.atlases), s;
16225
+ try {
16226
+ var c = function() {
16227
+ var a = s.value, c = a.getKeys(), l = Hm(t, c);
16228
+ if (l.size === 0) return n.push(a), c.forEach(function(e) {
16229
+ return r.set(e, a);
16230
+ }), 1;
16231
+ i || (i = e._createAtlas(), n.push(i));
16232
+ var u = o(c), d;
16233
+ try {
16234
+ for (u.s(); !(d = u.n()).done;) {
16235
+ var p = d.value;
16236
+ if (!l.has(p)) {
16237
+ var m = f(a.getOffsets(p), 2), h = m[0], g = m[1];
16238
+ i.canFit({
16239
+ w: h.w + g.w,
16240
+ h: h.h
16241
+ }) || (i.lock(), i = e._createAtlas(), n.push(i)), a.canvas && (e._copyTextureToNewAtlas(p, a, i), r.set(p, i));
16242
+ }
16343
16243
  }
16244
+ } catch (e) {
16245
+ u.e(e);
16246
+ } finally {
16247
+ u.f();
16344
16248
  }
16345
- } catch (e) {
16346
- u.e(e);
16347
- } finally {
16348
- u.f();
16349
- }
16350
- a.dispose();
16351
- };
16352
- for (a.s(); !(s = a.n()).done;) if (c()) continue;
16353
- } catch (e) {
16354
- a.e(e);
16355
- } finally {
16356
- a.f();
16249
+ a.dispose();
16250
+ };
16251
+ for (a.s(); !(s = a.n()).done;) if (c()) continue;
16252
+ } catch (e) {
16253
+ a.e(e);
16254
+ } finally {
16255
+ a.f();
16256
+ }
16257
+ this.atlases = n, this.styleKeyToAtlas = r, this.markedKeys = /* @__PURE__ */ new Set();
16357
16258
  }
16358
- this.atlases = n, this.styleKeyToAtlas = r, this.markedKeys = /* @__PURE__ */ new Set();
16359
16259
  }
16360
16260
  },
16361
16261
  {
@@ -17024,7 +16924,7 @@ var Um = /*#__PURE__*/ function() {
17024
16924
  key: "drawTexture",
17025
16925
  value: function(e, t, n) {
17026
16926
  var r = this.atlasManager, i = this.batchManager, a = r.getRenderTypeOpts(n);
17027
- if (this._isVisible(e, a) && !(e.isEdge() && !this._isValidEdge(e))) {
16927
+ if (this._isVisible(e, a) && (!e.isEdge() || this._isValidEdge(e))) {
17028
16928
  if (this.renderTarget.picking && a.getTexPickingMode) {
17029
16929
  var s = a.getTexPickingMode(e);
17030
16930
  if (s === Xm.IGNORE) return;
@@ -17125,35 +17025,34 @@ var Um = /*#__PURE__*/ function() {
17125
17025
  var r = this.simpleShapeOptions.get(n);
17126
17026
  if (this._isVisible(e, r)) {
17127
17027
  var i = r.shapeProps, a = this._getVertTypeForShape(e, i.shape);
17128
- if (a === void 0 || r.isSimple && !r.isSimple(e, this.renderTarget)) {
17129
- this.drawTexture(e, t, n);
17130
- return;
17131
- }
17132
- var o = this.instanceCount;
17133
- if (this.vertTypeBuffer.getView(o)[0] = a, a === nh || a === rh) {
17134
- var s = r.getBoundingBox(e), c = this._getCornerRadius(e, i.radius, s), l = this.cornerRadiusBuffer.getView(o);
17135
- l[0] = c, l[1] = c, l[2] = c, l[3] = c, a === rh && (l[0] = 0, l[2] = 0);
17136
- }
17137
- Sm(t, this.indexBuffer.getView(o));
17138
- var u = this.renderTarget.picking ? 1 : n === "node-body" ? e.effectiveOpacity() : 1, d = this.renderTarget.picking ? 1 : e.pstyle(i.opacity).value * u, f = e.pstyle(i.color).value;
17139
- xm(f, d, this.colorBuffer.getView(o));
17140
- var p = this.lineWidthBuffer.getView(o);
17141
- if (p[0] = 0, p[1] = 0, i.border) {
17142
- var m = e.pstyle("border-width").value;
17143
- if (m > 0) {
17144
- var h = e.pstyle("border-color").value;
17145
- xm(h, u * e.pstyle("border-opacity").value, this.borderColorBuffer.getView(o));
17146
- var g = e.pstyle("border-position").value;
17147
- if (g === "inside") p[0] = 0, p[1] = -m;
17148
- else if (g === "outside") p[0] = m, p[1] = 0;
17149
- else {
17150
- var _ = m / 2;
17151
- p[0] = _, p[1] = -_;
17028
+ if (a === void 0 || r.isSimple && !r.isSimple(e, this.renderTarget)) this.drawTexture(e, t, n);
17029
+ else {
17030
+ var o = this.instanceCount;
17031
+ if (this.vertTypeBuffer.getView(o)[0] = a, a === nh || a === rh) {
17032
+ var s = r.getBoundingBox(e), c = this._getCornerRadius(e, i.radius, s), l = this.cornerRadiusBuffer.getView(o);
17033
+ l[0] = c, l[1] = c, l[2] = c, l[3] = c, a === rh && (l[0] = 0, l[2] = 0);
17034
+ }
17035
+ Sm(t, this.indexBuffer.getView(o));
17036
+ var u = this.renderTarget.picking ? 1 : n === "node-body" ? e.effectiveOpacity() : 1, d = this.renderTarget.picking ? 1 : e.pstyle(i.opacity).value * u, f = e.pstyle(i.color).value;
17037
+ xm(f, d, this.colorBuffer.getView(o));
17038
+ var p = this.lineWidthBuffer.getView(o);
17039
+ if (p[0] = 0, p[1] = 0, i.border) {
17040
+ var m = e.pstyle("border-width").value;
17041
+ if (m > 0) {
17042
+ var h = e.pstyle("border-color").value;
17043
+ xm(h, u * e.pstyle("border-opacity").value, this.borderColorBuffer.getView(o));
17044
+ var g = e.pstyle("border-position").value;
17045
+ if (g === "inside") p[0] = 0, p[1] = -m;
17046
+ else if (g === "outside") p[0] = m, p[1] = 0;
17047
+ else {
17048
+ var _ = m / 2;
17049
+ p[0] = _, p[1] = -_;
17050
+ }
17152
17051
  }
17153
17052
  }
17053
+ var v = this.transformBuffer.getMatrixView(o);
17054
+ this.setTransformMatrix(e, v, r), this.simpleCount++, this.instanceCount++, this.instanceCount >= this.maxInstances && this.endBatch();
17154
17055
  }
17155
- var v = this.transformBuffer.getMatrixView(o);
17156
- this.setTransformMatrix(e, v, r), this.simpleCount++, this.instanceCount++, this.instanceCount >= this.maxInstances && this.endBatch();
17157
17056
  }
17158
17057
  }
17159
17058
  },