@marimo-team/islands 0.25.3-dev30 → 0.25.3-dev301

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 (1022) hide show
  1. package/dist/{ConnectedDataExplorerComponent-7EaP9VWb.js → ConnectedDataExplorerComponent-X-_Gsw0B.js} +153 -177
  2. package/dist/{ErrorBoundary-2Tp_7IgE.js → ErrorBoundary-D2XuUNty.js} +79 -85
  3. package/dist/{ImageComparisonComponent-uU8FSKZE.js → ImageComparisonComponent-DgvSuY9B.js} +20 -20
  4. package/dist/{Plot-DdYOe1UK.js → Plot-Bfd0pJea.js} +2474 -3107
  5. package/dist/_baseSet-Bd5zh2yg.js +327 -0
  6. package/dist/{abnfDiagram-VCTEODGH-z_OSynK8.js → abnfDiagram-VCTEODGH-B8nNWmL7.js} +5 -5
  7. package/dist/any-language-editor-DhAtCzlx.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-DcfTzRDz.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-De6m1Aro.js +507 -0
  16. package/dist/assets/__vite-browser-external-BzfoKXxV.js +1 -0
  17. package/dist/assets/worker-DVG30pr3.js +171 -0
  18. package/dist/{blockDiagram-I7D4REHJ-Cg25UrxT.js → blockDiagram-I7D4REHJ-B4cvqWJn.js} +28 -39
  19. package/dist/{brainfuck-BQCYDheZ.js → brainfuck-UPAij4U9.js} +1 -1
  20. package/dist/{button-CvjkwdSk.js → button-BuSV-mLI.js} +64 -64
  21. package/dist/{c4Diagram-7LVT6UL2-BxFgrnNV.js → c4Diagram-7LVT6UL2-k-4SLDdM.js} +8 -8
  22. package/dist/{capabilities-CQ5IjhzL.js → capabilities-BiN90k7v.js} +2 -2
  23. package/dist/{channel-CPObtJXj.js → channel-CuTaWMxU.js} +1 -1
  24. package/dist/{chat-ui-BeKQyQQI.js → chat-ui-CtbON6Zl.js} +2142 -1869
  25. package/dist/{check-BMKBBrdc.js → check-C7fmwkwt.js} +1 -1
  26. package/dist/{chunk-4HAMMTFA-D4eFPyFh.js → chunk-4HAMMTFA-Bk_5S_m9.js} +6 -6
  27. package/dist/{chunk-75Z2AOVW-D7gxIs2Q.js → chunk-75Z2AOVW-9jQIEAxd.js} +4 -4
  28. package/dist/{chunk-DU6HZSFF-BwiyaNpg.js → chunk-DU6HZSFF-B20LZ-hE.js} +14 -22
  29. package/dist/{chunk-F27PBJKO-ufseIn5y.js → chunk-F27PBJKO-YjRXlNkT.js} +3 -3
  30. package/dist/{chunk-FOHPRMQF-BpYR8RqP.js → chunk-FOHPRMQF-ezmr_yWy.js} +49 -58
  31. package/dist/{chunk-GMAD6QVW-BhaJx0X3.js → chunk-GMAD6QVW-DokpSFdf.js} +16 -75
  32. package/dist/{chunk-GVQU2GXP-Cwbt-lF0.js → chunk-GVQU2GXP-DGvySV5W.js} +3 -3
  33. package/dist/{chunk-IMKFNOWR-aoSFasqF.js → chunk-IMKFNOWR-BHJ3ZxAy.js} +8 -8
  34. package/dist/{chunk-L3NEJ4N5-n-zgIVSy.js → chunk-L3NEJ4N5-D9-ekjZc.js} +6 -6
  35. package/dist/{chunk-OSK3NFVY-DXa-Cxbn.js → chunk-OSK3NFVY-p7meGiY-.js} +8 -8
  36. package/dist/{chunk-P2QGCYS3-B_Zd3-X0.js → chunk-P2QGCYS3-74rxrEwb.js} +1 -1
  37. package/dist/{chunk-POPQ4Y6H-hYOXbYH_.js → chunk-POPQ4Y6H-EOTPk9Tj.js} +2 -2
  38. package/dist/{chunk-PWAF6VOD-CQw5qATZ.js → chunk-PWAF6VOD-oT_Qd2OU.js} +2 -2
  39. package/dist/{chunk-SHT3W25Y-CMaybO3O.js → chunk-SHT3W25Y-CkOPJgVC.js} +10 -10
  40. package/dist/{chunk-SVP7TREG-BNBrTAw1.js → chunk-SVP7TREG-rDd35EZ7.js} +3 -3
  41. package/dist/{chunk-TICWLB2K-DXNxvUJn.js → chunk-TICWLB2K-uKdr5PNy.js} +10 -10
  42. package/dist/{chunk-XXDRQBXY-Dnl5VBqG.js → chunk-XXDRQBXY-BM-YIt-_.js} +1 -1
  43. package/dist/{chunk-YOKDWASO-DKplTrBY.js → chunk-YOKDWASO-KxncHymC.js} +153 -378
  44. package/dist/classDiagram-ZZMXUADV-DctWoMRF.js +30 -0
  45. package/dist/classDiagram-v2-VYDZK3BY-DyanDjSq.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-891-xGjh.js → code-visibility-Y0zfGGT1.js} +43 -50
  51. package/dist/{coffeescript-C-eFwH5N.js → coffeescript-D6UgrGgo.js} +1 -1
  52. package/dist/{common-_IunO2z-.js → common-B_rBSwAA.js} +10624 -10120
  53. package/dist/{commonlisp-CyaNXrJR.js → commonlisp-B0ChVjnu.js} +1 -1
  54. package/dist/{compiler-runtime-CldRdSsv.js → compiler-runtime-DNezxW8I.js} +2 -2
  55. package/dist/config-C4oddKcw.js +633 -0
  56. package/dist/{copy-icon-BgUO8jsi.js → copy-icon-CVrC6aa6.js} +21 -22
  57. package/dist/{cose-bilkent-JH36ORCC-_LyRKVqm.js → cose-bilkent-JH36ORCC-B_Oz4vMP.js} +58 -71
  58. package/dist/createReducer-DzlYBqjn.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-uEhVcLHR.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-B_NBKhOr.js} +14 -16
  69. package/dist/{data-grid-overlay-editor-TVf1Kaxm.js → data-grid-overlay-editor-04SWN9ol.js} +5 -5
  70. package/dist/{data-grid-types-0PJ-9N5n.js → data-grid-types-CSElxhxo.js} +1 -1
  71. package/dist/{debounce-C3jyATpc.js → debounce-DrhhziJv.js} +2 -2
  72. package/dist/{diagram-S7CK7UJ4-PwwcUOHP.js → diagram-S7CK7UJ4-BQr1iw91.js} +7 -15
  73. package/dist/{diagram-UQ7AKVKN-CvJbL_IM.js → diagram-UQ7AKVKN-DsAjdQ2j.js} +5 -5
  74. package/dist/{diagram-VSXAHHWV-BJWcVVJY.js → diagram-VSXAHHWV-CodTjaL3.js} +6 -6
  75. package/dist/{diagram-VX7I27RA-B5RkqnzN.js → diagram-VX7I27RA-0VAUrHmz.js} +7 -7
  76. package/dist/{diagram-Z3DM3KII-CyijwTR2.js → diagram-Z3DM3KII-C1aEuADo.js} +5 -5
  77. package/dist/{dialog-Cc479ZEH.js → dialog-U3stKkkL.js} +36 -36
  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-F8Ep36rk.js → dist-DVVzH9mP.js} +60 -59
  93. package/dist/{dist-OR1OnN-y.js → dist-DlniJvh2.js} +32 -31
  94. package/dist/{dist-CSJ0MDRw.js → dist-Dq-hanx8.js} +57 -56
  95. package/dist/{dist-Lm-D-Vr6.js → dist-Du4PgaYp.js} +2 -2
  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-BMtxnyHc.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-oBie_-vi.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-DtWDCiaw.js} +14 -14
  114. package/dist/{erlang-AdO1-xtV.js → erlang-2KpKpfC7.js} +1 -1
  115. package/dist/{error-banner-CFPHFw4h.js → error-banner-CfIck83X.js} +91 -91
  116. package/dist/error-entries-CjsQY6ym.js +2581 -0
  117. package/dist/{esm-G4Fhsgng.js → esm-BUoz9Vvv.js} +4 -4
  118. package/dist/{esm-AMFssoNp.js → esm-BvhFNYzM.js} +333 -333
  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-DoriP8b7.js +370 -0
  123. package/dist/flowDiagram-HODETNUW-EXK7bg_t.js +15 -0
  124. package/dist/{formats-DRHUWwSK.js → formats-G0-mQsFy.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-DyUab7aO.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-BPeDECwG.js} +4 -4
  132. package/dist/{glide-data-editor-ugYWecYd.js → glide-data-editor-BU_jOTDv.js} +6619 -2875
  133. package/dist/{glide-utils-pisbYVjH.js → glide-utils-BkcGyXLQ.js} +109 -78
  134. package/dist/{globals-BdBjL67a.js → globals-DziKJCFY.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-KPVGNVTW-3Ziwfz-V.js → highlighted-body-KPVGNVTW-XbLtWlYz.js} +4 -4
  141. package/dist/{error-entries-CnqKxhU9.js → html-to-image-CIm3PqDi.js} +26032 -26377
  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-N4ajFTXv.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-Bb2itmv5.js} +5 -7
  148. package/dist/{javascript-BfNytHiM.js → javascript-BQtCoAFy.js} +2 -2
  149. package/dist/{journeyDiagram-3NMN7TZE-BaLqn-dZ.js → journeyDiagram-3NMN7TZE-D7hcb3Vx.js} +4 -4
  150. package/dist/{jsx-runtime-3BD1kT0s.js → jsx-runtime-6ZiU38At.js} +1 -1
  151. package/dist/{julia--tLIAG7q.js → julia-BfgtHJE5.js} +1 -1
  152. package/dist/{kanban-definition-UXKFOSKX-BLhvu8o4.js → kanban-definition-UXKFOSKX-DWfkIEDX.js} +10 -10
  153. package/dist/{katex-BIdZGsyO.js → katex-BmPSeP5t.js} +15 -24
  154. package/dist/{linear-DWERh7eI.js → linear-BhKepphY.js} +2 -3
  155. package/dist/{livescript-CVPfYnY_.js → livescript-gIdRPKtg.js} +1 -1
  156. package/dist/{loader-BPdQhmlq.js → loader-BIlwkY0d.js} +3 -3
  157. package/dist/{lua-4Fa-T-qq.js → lua-CxFpWvnv.js} +2 -2
  158. package/dist/main.js +10380 -8501
  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-BEBd0PHi.js} +170 -176
  162. package/dist/mermaid-HWGCJPDP-_lKUMvTM.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-CjWbCsjZ.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-CmGSiRxU.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-I4AHjcHG.js → number-overlay-editor-BaZBWVbO.js} +14 -19
  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-dXflGNi0.js} +5 -5
  185. package/dist/pencil-BGy5pfXo.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-Bl9G_NNa.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/{process-output-DgQrilBD.js → process-output-DAVapIAQ.js} +5 -5
  193. package/dist/{properties-Q-rkxld0.js → properties-Om0IDE07.js} +1 -1
  194. package/dist/{protobuf-DKyWZbs7.js → protobuf-B8nxxb4Q.js} +1 -1
  195. package/dist/{pug-42ZJUbEC.js → pug-lkUBPvVS.js} +3 -7
  196. package/dist/{puppet-B4UozHhh.js → puppet-DMkXsi4d.js} +1 -1
  197. package/dist/purify.es-DmnrIjg4.js +877 -0
  198. package/dist/{python-DREjAV__.js → python-JQVycMgr.js} +1 -1
  199. package/dist/{q-Bi63IpBO.js → q-DqE__nNB.js} +1 -1
  200. package/dist/{quadrantDiagram-AXDQQJYC-Blrm7V7_.js → quadrantDiagram-AXDQQJYC-DLJJzlPi.js} +3 -3
  201. package/dist/{r-DSwXWKMR.js → r-Cbliap7Q.js} +1 -1
  202. package/dist/radar-RG4KPBEZ-9PwdCvai.js +2 -0
  203. package/dist/railroad-74A4TZTK-8N9kF5jl.js +2 -0
  204. package/dist/railroad-abnf-HS5TGJTU-Sg6YmzlR.js +2 -0
  205. package/dist/railroad-ebnf-LZEXJU2U-CYwp2Oee.js +2 -0
  206. package/dist/railroad-peg-WCYAUIDC-BfDkAuQ3.js +2 -0
  207. package/dist/{railroadDiagram-O6MQD6OU-ao8cqqFB.js → railroadDiagram-O6MQD6OU-Dg7GUHj4.js} +5 -5
  208. package/dist/{react-sHtZdjeP.js → react-CHbZqgBF.js} +1 -1
  209. package/dist/{react-dom-DUmH0GXv.js → react-dom-DhWGW7e0.js} +3 -3
  210. package/dist/{react-vega-BDpbvBCb.js → react-vega-DVr24mNk.js} +8514 -8597
  211. package/dist/{requirementDiagram-BXWQKSXE--J8vyfm-.js → requirementDiagram-BXWQKSXE-JNZB3XKK.js} +13 -13
  212. package/dist/{reveal-component-Bb5vzlMs.js → reveal-component-vRQ0ZbEq.js} +1171 -1284
  213. package/dist/{rolldown-runtime-Cb76FRpK.js → rolldown-runtime-BPCzCO3I.js} +1 -1
  214. package/dist/{rpm-DPb1DeKM.js → rpm-DmT_LNpE.js} +1 -1
  215. package/dist/{ruby-U7fZA4DP.js → ruby-BHVZTtLW.js} +1 -1
  216. package/dist/{sankeyDiagram-P5KCCOFB-ELvOcnZH.js → sankeyDiagram-P5KCCOFB-Bd7wvmbF.js} +2 -2
  217. package/dist/{sas-CLk1JpTn.js → sas-CrG5N1he.js} +1 -1
  218. package/dist/{scheme-CT-2k2Tl.js → scheme-BHUnz-IB.js} +1 -1
  219. package/dist/select-Ba_tMQWZ.js +1200 -0
  220. package/dist/{semaphore-89jsoHtS.js → semaphore-8KhQouXt.js} +4 -5
  221. package/dist/{sequenceDiagram-WJ2MYXX4-CiQbn62x.js → sequenceDiagram-WJ2MYXX4-DekbwWOI.js} +6 -6
  222. package/dist/{shell-BLO7fcsk.js → shell-C5IBmRU5.js} +1 -1
  223. package/dist/{sieve-nG3C7WNH.js → sieve-BzCnt_E6.js} +2 -2
  224. package/dist/{sizeCapture-INFHLROL-Dx5SpkQF.js → sizeCapture-INFHLROL-DBeZ20mI.js} +1 -1
  225. package/dist/{smalltalk-BROcZybA.js → smalltalk-DQFAQul3.js} +1 -1
  226. package/dist/{solr-mVltHNc5.js → solr-BiapYPCk.js} +1 -1
  227. package/dist/{sparql-Cv1Ksr4v.js → sparql-BcUKO1is.js} +1 -1
  228. package/dist/{spec-D_u2ipzF.js → spec-CN3OxHz7.js} +42 -12
  229. package/dist/{src-CA_m4ONl.js → src-D5uZaZib.js} +8 -14
  230. package/dist/{stateDiagram-D77RDMKH-DVEeGs5b.js → stateDiagram-D77RDMKH-COzvSaN-.js} +18 -18
  231. package/dist/stateDiagram-v2-MP3YSRHH-rCvxZ0L8.js +30 -0
  232. package/dist/static-state-BJdfR8Bn.js +68 -0
  233. package/dist/{stex-Btf3omL8.js → stex-CQ_aCGTF.js} +1 -1
  234. package/dist/style.css +1 -1
  235. package/dist/{stylus-Dt4VvLXL.js → stylus-D4gHF5lg.js} +1 -1
  236. package/dist/{swift-DHsn_CVI.js → swift-CnvIBnbt.js} +1 -1
  237. package/dist/{swimlanes-42K2YHIH-CqkGoGqn.js → swimlanes-42K2YHIH-DX2mMlXc.js} +37 -59
  238. package/dist/swimlanesDiagram-VR7AAH4N-DswSPZ5e.js +30 -0
  239. package/dist/{swiper-component-DKntyn8p.js → swiper-component-FBPvIqLf.js} +45 -78
  240. package/dist/{tcl-CV0OLBOl.js → tcl-DkOjjZYO.js} +1 -1
  241. package/dist/{textile-D320oKVM.js → textile-DgzBVSEW.js} +1 -1
  242. package/dist/{tiki-BF2aDPlB.js → tiki-MighF8A_.js} +1 -1
  243. package/dist/{time-BaMbJs4z.js → time-Cc-G3e31.js} +2 -2
  244. package/dist/{timeline-definition-24CTP7MA-DLRUNVAx.js → timeline-definition-24CTP7MA-DAT9AlwV.js} +5 -5
  245. package/dist/toast-BRd_eTIj.js +491 -0
  246. package/dist/{toml-CaUN7UHo.js → toml-B0B7UAba.js} +1 -1
  247. package/dist/{tooltip-CtBZ5q8p.js → tooltip-CHvXUQVs.js} +326 -302
  248. package/dist/treeView-Q6P3EWNA-BQywp0E1.js +2 -0
  249. package/dist/treemap-WGGIJYW6-P2ZJnldw.js +2 -0
  250. package/dist/{troff-DQUFcClZ.js → troff-B4IRX71y.js} +1 -1
  251. package/dist/{ttcn-CQL1duJS.js → ttcn-B4tpvdJD.js} +1 -1
  252. package/dist/{ttcn-cfg-BMmEFJPu.js → ttcn-cfg-pfE-1FV8.js} +1 -1
  253. package/dist/{turtle-C3esgsRr.js → turtle-Bc97ufp6.js} +1 -1
  254. package/dist/use-restore-focus-Ckq0jQzc.js +7534 -0
  255. package/dist/{use-vega-container-remeasure-Bz4PZMtt.js → use-vega-container-remeasure-DFBTESqc.js} +4 -8
  256. package/dist/{useAsyncData-BneN349z.js → useAsyncData-DMBliR6D.js} +21 -20
  257. package/dist/{useDateFormatter-DkajGwwd.js → useDateFormatter-CIPe17AG.js} +4 -4
  258. package/dist/{useDeepCompareMemoize-Z_7R8wTt.js → useDeepCompareMemoize-Kg-7A4b-.js} +3 -3
  259. package/dist/useEvent-xDnF2X04.js +19 -0
  260. package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities--px_wpZL.js} +2 -2
  261. package/dist/useLifecycle-BKVRcyGu.js +112 -0
  262. package/dist/{vb-RK1eDXRl.js → vb-C5kpOY_q.js} +1 -1
  263. package/dist/{vbscript-BCOeM0de.js → vbscript-Ck0hgOg5.js} +1 -1
  264. package/dist/{vega-component-1lFfDE_8.js → vega-component-C23pVuni.js} +167 -172
  265. package/dist/{vega-embed-container-BgKnsDbB.js → vega-embed-container-DAT8OHp9.js} +7 -7
  266. package/dist/{vega-loader.browser-CpbZAXub.js → vega-loader.browser-Cnf7IHA8.js} +236 -239
  267. package/dist/{velocity-CZKOFbOI.js → velocity-2Doc6dgJ.js} +1 -1
  268. package/dist/{vennDiagram-4TSXK5OY-CypgoBVZ.js → vennDiagram-4TSXK5OY-E7CMtY2M.js} +4 -4
  269. package/dist/{verilog-DqQTzVn8.js → verilog-CmZmYe4R.js} +2 -2
  270. package/dist/{vhdl-vQr2bfmi.js → vhdl-esMnUHZm.js} +1 -1
  271. package/dist/wardley-WFR3VGLG-CIBJ6O2G.js +2 -0
  272. package/dist/{wardleyDiagram-VM6X3IG4-B6xjiQ_g.js → wardleyDiagram-VM6X3IG4-BjtOazpV.js} +5 -5
  273. package/dist/{webidl-DzX7N40e.js → webidl-G_RlXG7G.js} +1 -1
  274. package/dist/{xquery-Cw_Q_hGR.js → xquery-IUQpMoMl.js} +1 -1
  275. package/dist/{xychartDiagram-S5SC5T6Z-e0PefDVs.js → xychartDiagram-S5SC5T6Z-DC09jtph.js} +8 -8
  276. package/dist/{yacas-DiC4jJBE.js → yacas-ObL0t2h9.js} +1 -1
  277. package/dist/{z80-CUOQDEJO.js → z80-jyuJhy0k.js} +1 -1
  278. package/package.json +17 -21
  279. package/src/__mocks__/document.tsx +63 -0
  280. package/src/__mocks__/executions.ts +197 -0
  281. package/src/__mocks__/notebook.ts +3 -7
  282. package/src/__mocks__/partial.ts +26 -0
  283. package/src/__mocks__/requests.ts +1 -4
  284. package/src/__tests__/CellStatus.test.tsx +25 -26
  285. package/src/__tests__/fixtures/pair-config.ts +1 -1
  286. package/src/__tests__/main.test.tsx +24 -1
  287. package/src/__tests__/module-entry.test.ts +44 -0
  288. package/src/__tests__/mount.test.ts +1 -21
  289. package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
  290. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  291. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  292. package/src/components/app-config/__tests__/state.test.tsx +50 -0
  293. package/src/components/app-config/ai-config.tsx +156 -150
  294. package/src/components/app-config/app-config-button.tsx +6 -5
  295. package/src/components/app-config/app-config-form.tsx +5 -9
  296. package/src/components/app-config/common.tsx +7 -9
  297. package/src/components/app-config/data-form.tsx +112 -113
  298. package/src/components/app-config/mcp-config.tsx +30 -53
  299. package/src/components/app-config/user-config-form.css +91 -0
  300. package/src/components/app-config/user-config-form.tsx +266 -349
  301. package/src/components/chat/__tests__/capabilities-popover.test.tsx +0 -1
  302. package/src/components/chat/__tests__/chat-display.test.tsx +196 -0
  303. package/src/components/chat/__tests__/chat-markdown.test.tsx +43 -0
  304. package/src/components/chat/__tests__/chat-utils.test.ts +93 -1
  305. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  306. package/src/components/chat/__tests__/notebook-access-selector.test.tsx +64 -0
  307. package/src/components/chat/__tests__/turn-timing.test.ts +84 -0
  308. package/src/components/chat/__tests__/use-assistant-turn.test.ts +95 -0
  309. package/src/components/chat/__tests__/user-message.test.tsx +27 -0
  310. package/src/components/chat/acp/__tests__/agent-panel-initialization.test.tsx +1 -1
  311. package/src/components/chat/acp/__tests__/agent-panel.test.tsx +22 -17
  312. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  313. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  314. package/src/components/chat/acp/agent-panel.tsx +6 -3
  315. package/src/components/chat/acp/blocks.tsx +13 -12
  316. package/src/components/chat/acp/common.tsx +4 -5
  317. package/src/components/chat/acp/model-selector.tsx +1 -1
  318. package/src/components/chat/acp/session-tabs.tsx +8 -3
  319. package/src/components/chat/agent-activity.tsx +132 -0
  320. package/src/components/chat/capabilities-popover.tsx +2 -11
  321. package/src/components/chat/chat-components.tsx +9 -4
  322. package/src/components/chat/chat-display.tsx +131 -57
  323. package/src/components/chat/chat-history-popover.tsx +6 -1
  324. package/src/components/chat/chat-markdown.tsx +15 -0
  325. package/src/components/chat/chat-panel.tsx +216 -294
  326. package/src/components/chat/chat-typography.css +108 -0
  327. package/src/components/chat/chat-utils.ts +24 -35
  328. package/src/components/chat/notebook-access-selector.stories.tsx +22 -0
  329. package/src/components/chat/notebook-access-selector.tsx +100 -0
  330. package/src/components/chat/tool-call/__tests__/tool-labels.test.ts +76 -0
  331. package/src/components/chat/tool-call/__tests__/tool-step.test.tsx +57 -0
  332. package/src/components/chat/tool-call/shared.ts +6 -0
  333. package/src/components/chat/tool-call/tool-call-view.tsx +22 -76
  334. package/src/components/chat/tool-call/tool-labels.ts +172 -0
  335. package/src/components/chat/tool-call/tool-result.tsx +1 -1
  336. package/src/components/chat/tool-call/tool-step.tsx +145 -0
  337. package/src/components/chat/turn-timing.ts +73 -0
  338. package/src/components/chat/use-assistant-turn.ts +65 -0
  339. package/src/components/chat/use-chat-generation.ts +20 -0
  340. package/src/components/chat/user-message.tsx +145 -0
  341. package/src/components/data-table/TableBottomBar.tsx +4 -1
  342. package/src/components/data-table/TableTopBar.tsx +2 -0
  343. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  344. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  345. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  346. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  347. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  348. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  349. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  350. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  351. package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
  352. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  353. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  354. package/src/components/data-table/cell-selection/feature.ts +2 -2
  355. package/src/components/data-table/cell-selection/types.ts +2 -2
  356. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  357. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  358. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  359. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  360. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  361. package/src/components/data-table/charts/charts.tsx +40 -30
  362. package/src/components/data-table/charts/storage.ts +16 -5
  363. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  364. package/src/components/data-table/column-formatting/types.ts +1 -2
  365. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  366. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  367. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  368. package/src/components/data-table/columns.tsx +45 -46
  369. package/src/components/data-table/context-menu.tsx +36 -20
  370. package/src/components/data-table/data-table.tsx +17 -1
  371. package/src/components/data-table/date-popover.tsx +6 -4
  372. package/src/components/data-table/export-actions.tsx +76 -48
  373. package/src/components/data-table/pagination.tsx +44 -33
  374. package/src/components/data-table/range-focus/atoms.ts +4 -6
  375. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  376. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  377. package/src/components/data-table/renderers.tsx +16 -7
  378. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  379. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  380. package/src/components/data-table/search-highlight.tsx +79 -0
  381. package/src/components/data-table/types.ts +1 -0
  382. package/src/components/data-table/url-detector.tsx +49 -9
  383. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  384. package/src/components/datasources/__tests__/column-preview.test.tsx +96 -5
  385. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  386. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  387. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  388. package/src/components/datasources/column-preview.tsx +17 -12
  389. package/src/components/datasources/datasources.tsx +56 -43
  390. package/src/components/datasources/utils.ts +32 -23
  391. package/src/components/debugger/debugger-code.tsx +5 -0
  392. package/src/components/dependency-graph/custom-node.tsx +1 -1
  393. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  394. package/src/components/dependency-graph/elements.ts +24 -21
  395. package/src/components/dependency-graph/minimap-content.tsx +15 -20
  396. package/src/components/dependency-graph/panels.tsx +4 -2
  397. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  398. package/src/components/editor/SortableCell.tsx +1 -3
  399. package/src/components/editor/__tests__/Output.test.tsx +50 -32
  400. package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
  401. package/src/components/editor/__tests__/data-attributes.test.tsx +28 -23
  402. package/src/components/editor/__tests__/output-persistence.test.tsx +28 -9
  403. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  404. package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
  405. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +21 -40
  406. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +41 -14
  407. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +6 -24
  408. package/src/components/editor/actions/__tests__/useCellActionButton.test.tsx +131 -0
  409. package/src/components/editor/actions/name-cell-input.tsx +4 -3
  410. package/src/components/editor/actions/pair-with-agent-commands.ts +10 -7
  411. package/src/components/editor/actions/pair-with-agent-modal.tsx +29 -30
  412. package/src/components/editor/actions/pair-with-agent.tsx +16 -39
  413. package/src/components/editor/actions/useCellActionButton.tsx +47 -35
  414. package/src/components/editor/actions/useConfigActions.tsx +3 -4
  415. package/src/components/editor/actions/useNotebookActions.tsx +25 -29
  416. package/src/components/editor/actions/useRestartKernel.tsx +1 -1
  417. package/src/components/editor/actions/useSetCodeVisibility.ts +11 -12
  418. package/src/components/editor/actions/useSetOutputsExpanded.ts +14 -19
  419. package/src/components/editor/ai/ai-completion-editor.tsx +2 -1
  420. package/src/components/editor/ai/completion-handlers.tsx +0 -37
  421. package/src/components/editor/ai/prompt-input.tsx +189 -0
  422. package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
  423. package/src/components/editor/alerts/connection-notice.tsx +1 -1
  424. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  425. package/src/components/editor/alerts/stdin-blocking-alert.tsx +4 -2
  426. package/src/components/editor/app-container.tsx +1 -1
  427. package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
  428. package/src/components/editor/cell/CellStatus.tsx +28 -23
  429. package/src/components/editor/cell/CreateCellButton.tsx +15 -21
  430. package/src/components/editor/cell/DeleteButton.tsx +3 -2
  431. package/src/components/editor/cell/RunButton.tsx +18 -8
  432. package/src/components/editor/cell/StagedAICell.tsx +52 -137
  433. package/src/components/editor/cell/StopButton.tsx +2 -2
  434. package/src/components/editor/cell/__tests__/useRunCells.test.tsx +169 -0
  435. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  436. package/src/components/editor/cell/cell-actions.tsx +12 -1
  437. package/src/components/editor/cell/cell-context-menu.tsx +4 -1
  438. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  439. package/src/components/editor/cell/code/cell-editor.tsx +65 -169
  440. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  441. package/src/components/editor/cell/collapse.tsx +16 -6
  442. package/src/components/editor/cell/useAddCell.ts +4 -8
  443. package/src/components/editor/cell/useDeleteCell.tsx +10 -36
  444. package/src/components/editor/cell/useRunCells.ts +49 -8
  445. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  446. package/src/components/editor/cell/useSplitCell.tsx +10 -6
  447. package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
  448. package/src/components/editor/chrome/components/feedback-button.tsx +2 -8
  449. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
  450. package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
  451. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
  452. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  453. package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +1 -1
  454. package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
  455. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  456. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  457. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  458. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  459. package/src/components/editor/chrome/panels/panel-header.tsx +13 -0
  460. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  461. package/src/components/editor/chrome/panels/session-panel.tsx +1 -1
  462. package/src/components/editor/chrome/panels/snippets-panel.tsx +10 -12
  463. package/src/components/editor/chrome/panels/variable-panel.tsx +1 -5
  464. package/src/components/editor/chrome/types.ts +1 -1
  465. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +7 -9
  466. package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +92 -0
  467. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +265 -37
  468. package/src/components/editor/chrome/wrapper/__tests__/useAskAiAboutCell.test.tsx +58 -0
  469. package/src/components/editor/chrome/wrapper/app-chrome.tsx +91 -74
  470. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
  471. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
  472. package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
  473. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
  474. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
  475. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  476. package/src/components/editor/chrome/wrapper/footer.tsx +2 -2
  477. package/src/components/editor/chrome/wrapper/minimap-state.ts +1 -1
  478. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +143 -72
  479. package/src/components/editor/chrome/wrapper/pending-ai-changes-badge.tsx +25 -0
  480. package/src/components/editor/chrome/wrapper/sidebar.tsx +8 -4
  481. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  482. package/src/components/editor/chrome/wrapper/useAskAiAboutCell.ts +36 -0
  483. package/src/components/editor/columns/__tests__/cell-column.test.tsx +1 -1
  484. package/src/components/editor/columns/cell-column.tsx +1 -1
  485. package/src/components/editor/columns/sortable-column.tsx +2 -2
  486. package/src/components/editor/connections/components.tsx +5 -10
  487. package/src/components/editor/controls/Controls.tsx +4 -4
  488. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  489. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +10 -4
  490. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  491. package/src/components/editor/documentation.css +34 -11
  492. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +26 -22
  493. package/src/components/editor/errors/auto-fix.tsx +4 -8
  494. package/src/components/editor/errors/send-error-report-button.tsx +3 -6
  495. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  496. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  497. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  498. package/src/components/editor/file-tree/file-explorer.tsx +48 -15
  499. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  500. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  501. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  502. package/src/components/editor/header/__tests__/filename-form.test.tsx +1 -4
  503. package/src/components/editor/header/__tests__/status.test.tsx +5 -3
  504. package/src/components/editor/header/app-header.tsx +1 -1
  505. package/src/components/editor/header/filename-form.tsx +1 -1
  506. package/src/components/editor/header/status.tsx +44 -22
  507. package/src/components/editor/links/__tests__/cell-link.test.tsx +148 -0
  508. package/src/components/editor/links/cell-link-list.tsx +1 -1
  509. package/src/components/editor/links/cell-link.tsx +21 -11
  510. package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
  511. package/src/components/editor/navigation/__tests__/navigation.test.ts +108 -85
  512. package/src/components/editor/navigation/__tests__/selection.test.ts +43 -21
  513. package/src/components/editor/navigation/clipboard.ts +17 -14
  514. package/src/components/editor/navigation/focus-utils.ts +23 -4
  515. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +17 -33
  516. package/src/components/editor/navigation/navigation.ts +74 -72
  517. package/src/components/editor/navigation/selection.ts +30 -29
  518. package/src/components/editor/notebook-banner.tsx +1 -0
  519. package/src/components/editor/notebook-cell.tsx +126 -152
  520. package/src/components/editor/output/MarimoErrorOutput.tsx +41 -4
  521. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  522. package/src/components/editor/output/Outputs.css +8 -0
  523. package/src/components/editor/output/VideoOutput.tsx +6 -0
  524. package/src/components/editor/output/__tests__/VideoOutput.test.tsx +131 -0
  525. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  526. package/src/components/editor/output/ansi-reduce.ts +33 -20
  527. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  528. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
  529. package/src/components/editor/package-alert.tsx +14 -7
  530. package/src/components/editor/renderers/__tests__/add-cell-buttons.test.tsx +18 -0
  531. package/src/components/editor/renderers/cell-array.tsx +32 -100
  532. package/src/components/editor/renderers/grid-layout/__tests__/grid-layout.test.tsx +75 -0
  533. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +28 -22
  534. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +0 -4
  535. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +1 -1
  536. package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +4 -4
  537. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  538. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +1 -1
  539. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +19 -37
  540. package/src/components/editor/stdin-blocking-alert.tsx +4 -2
  541. package/src/components/home/components.tsx +17 -31
  542. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  543. package/src/components/icons/large-spinner.tsx +3 -14
  544. package/src/components/icons/spinner.tsx +1 -1
  545. package/src/components/markdown/__tests__/markdown-renderer.test.tsx +32 -2
  546. package/src/components/markdown/markdown-renderer.tsx +43 -28
  547. package/src/components/mcp/mcp-status-indicator.tsx +18 -14
  548. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  549. package/src/components/pages/edit-page.tsx +19 -17
  550. package/src/components/pages/home-page.tsx +164 -91
  551. package/src/components/scratchpad/scratchpad.test.tsx +89 -0
  552. package/src/components/scratchpad/scratchpad.tsx +47 -33
  553. package/src/components/scratchpad/state.ts +7 -0
  554. package/src/components/slides/__tests__/minimap-actions.test.tsx +22 -29
  555. package/src/components/slides/__tests__/minimap.test.ts +38 -19
  556. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +37 -0
  557. package/src/components/slides/minimap.tsx +22 -14
  558. package/src/components/slides/reveal-component.tsx +73 -36
  559. package/src/components/slides/reveal-slides.css +5 -4
  560. package/src/components/slides/slide-cell-view.tsx +37 -34
  561. package/src/components/slides/slide-form.tsx +1 -0
  562. package/src/components/slides/slide-scroll-hint.tsx +3 -1
  563. package/src/components/slides/slide.tsx +3 -4
  564. package/src/components/sort/SortableCellsProvider.tsx +8 -25
  565. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  566. package/src/components/tracing/tracing.tsx +46 -42
  567. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  568. package/src/components/ui/__tests__/fullscreen.test.tsx +44 -2
  569. package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
  570. package/src/components/ui/alert-dialog.tsx +1 -1
  571. package/src/components/ui/draggable-popover.tsx +24 -2
  572. package/src/components/ui/fullscreen.tsx +25 -1
  573. package/src/components/ui/range-slider.tsx +22 -9
  574. package/src/components/ui/toast.tsx +1 -1
  575. package/src/core/MarimoApp.tsx +3 -1
  576. package/src/core/ai/__tests__/staged-cells.test.ts +89 -608
  577. package/src/core/ai/context/context.ts +2 -0
  578. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +8 -12
  579. package/src/core/ai/context/providers/__tests__/cell.test.ts +49 -0
  580. package/src/core/ai/context/providers/cell-output.ts +2 -2
  581. package/src/core/ai/context/providers/cell.ts +54 -0
  582. package/src/core/ai/context/providers/datasource.ts +6 -2
  583. package/src/core/ai/staged-cells.ts +56 -323
  584. package/src/core/ai/state.ts +3 -0
  585. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +40 -88
  586. package/src/core/ai/tools/__tests__/registry.test.ts +17 -0
  587. package/src/core/ai/tools/base.ts +18 -15
  588. package/src/core/ai/tools/edit-notebook-tool.ts +86 -80
  589. package/src/core/ai/tools/registry.ts +13 -10
  590. package/src/core/ai/tools/sample-tool.ts +6 -7
  591. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -529
  592. package/src/core/cells/__tests__/actions.test.ts +623 -35
  593. package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
  594. package/src/core/cells/__tests__/arrange.test.ts +432 -0
  595. package/src/core/cells/__tests__/cell.test.ts +148 -150
  596. package/src/core/cells/__tests__/cells.test.ts +390 -2925
  597. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  598. package/src/core/cells/__tests__/document.test.ts +158 -0
  599. package/src/core/cells/__tests__/editor.test.ts +57 -0
  600. package/src/core/cells/__tests__/flush-document.test.ts +40 -0
  601. package/src/core/cells/__tests__/harness.ts +106 -0
  602. package/src/core/cells/__tests__/layout.test.ts +176 -0
  603. package/src/core/cells/__tests__/logs.test.ts +0 -13
  604. package/src/core/cells/__tests__/notebook-outline.test.ts +23 -14
  605. package/src/core/cells/__tests__/outputs.test.tsx +71 -53
  606. package/src/core/cells/__tests__/pending-delete-service.test.tsx +11 -20
  607. package/src/core/cells/__tests__/session.test.ts +546 -211
  608. package/src/core/cells/__tests__/utils.test.ts +135 -337
  609. package/src/core/cells/actions.ts +677 -6
  610. package/src/core/cells/add-missing-import.ts +47 -43
  611. package/src/core/cells/arrange.ts +529 -0
  612. package/src/core/cells/cell.ts +78 -146
  613. package/src/core/cells/cells.ts +107 -1459
  614. package/src/core/cells/columns.ts +38 -0
  615. package/src/core/cells/document.ts +167 -0
  616. package/src/core/cells/edit.ts +30 -0
  617. package/src/core/cells/editor.ts +82 -0
  618. package/src/core/cells/focus.ts +27 -6
  619. package/src/core/cells/layout.ts +221 -0
  620. package/src/core/cells/outputs.ts +12 -28
  621. package/src/core/cells/pending-delete-service.ts +8 -14
  622. package/src/core/cells/scrollCellIntoView.ts +6 -0
  623. package/src/core/cells/session.ts +166 -68
  624. package/src/core/cells/types.ts +21 -51
  625. package/src/core/cells/utils.ts +85 -87
  626. package/src/core/codemirror/__tests__/format.test.ts +0 -34
  627. package/src/core/codemirror/__tests__/setup.test.ts +61 -29
  628. package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
  629. package/src/core/codemirror/ai/resources.ts +1 -1
  630. package/src/core/codemirror/cells/__tests__/extensions.test.ts +2 -6
  631. package/src/core/codemirror/cells/extensions.ts +18 -30
  632. package/src/core/codemirror/cells/state.ts +2 -6
  633. package/src/core/codemirror/cm.ts +5 -1
  634. package/src/core/codemirror/config/types.ts +1 -1
  635. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +6 -7
  636. package/src/core/codemirror/copilot/getCodes.ts +2 -2
  637. package/src/core/codemirror/format.ts +6 -23
  638. package/src/core/codemirror/keymaps/vim.ts +4 -8
  639. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  640. package/src/core/codemirror/language/__tests__/utils.test.ts +187 -15
  641. package/src/core/codemirror/language/cell-code.ts +114 -0
  642. package/src/core/codemirror/language/extension.ts +52 -35
  643. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  644. package/src/core/codemirror/language/languages/python.ts +19 -13
  645. package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
  646. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  647. package/src/core/codemirror/language/types.ts +7 -7
  648. package/src/core/codemirror/language/utils.ts +9 -39
  649. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +1 -2
  650. package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
  651. package/src/core/codemirror/lsp/utils.ts +1 -1
  652. package/src/core/codemirror/misc/__tests__/paste.test.ts +3 -1
  653. package/src/core/codemirror/misc/paste.ts +1 -1
  654. package/src/core/codemirror/placeholder/__tests__/extensions.test.ts +75 -0
  655. package/src/core/codemirror/placeholder/extensions.ts +80 -19
  656. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  657. package/src/core/codemirror/readonly/extension.ts +2 -2
  658. package/src/core/codemirror/utils.ts +1 -0
  659. package/src/core/config/__tests__/app-config.test.ts +64 -0
  660. package/src/core/config/__tests__/config-schema.test.ts +56 -6
  661. package/src/core/config/config-schema.ts +17 -4
  662. package/src/core/config/config.ts +65 -20
  663. package/src/core/config/feature-flag.tsx +0 -2
  664. package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
  665. package/src/core/datasets/data-source-discovery.ts +4 -6
  666. package/src/core/documentation/doc-lookup.ts +1 -1
  667. package/src/core/dom/outline.ts +4 -1
  668. package/src/core/edit-app.tsx +22 -28
  669. package/src/core/errors/__tests__/error-entries.test.ts +40 -1
  670. package/src/core/errors/error-entries.ts +6 -4
  671. package/src/core/executions/__tests__/atoms.test.ts +98 -0
  672. package/src/core/executions/__tests__/freshness.test.ts +482 -0
  673. package/src/core/executions/__tests__/hooks.test.tsx +151 -0
  674. package/src/core/executions/__tests__/output.test.ts +266 -0
  675. package/src/core/executions/__tests__/select.test.ts +268 -0
  676. package/src/core/executions/atoms.ts +263 -0
  677. package/src/core/executions/freshness.ts +171 -0
  678. package/src/core/executions/hooks.ts +86 -0
  679. package/src/core/executions/index.ts +48 -0
  680. package/src/core/executions/output.ts +242 -0
  681. package/src/core/executions/select.ts +175 -0
  682. package/src/core/export/__tests__/hooks.test.ts +0 -5
  683. package/src/core/export/hooks.ts +1 -1
  684. package/src/core/export/layout.ts +2 -2
  685. package/src/core/hotkeys/actions.ts +2 -4
  686. package/src/core/hotkeys/hotkeys.ts +2 -1
  687. package/src/core/islands/__tests__/bootstrap.test.ts +69 -17
  688. package/src/core/islands/__tests__/bridge.test.ts +85 -27
  689. package/src/core/islands/bootstrap.ts +49 -54
  690. package/src/core/islands/bridge.ts +84 -25
  691. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  692. package/src/core/islands/components/__tests__/web-components.test.tsx +63 -0
  693. package/src/core/islands/components/output-wrapper.tsx +5 -5
  694. package/src/core/islands/components/web-components.tsx +12 -1
  695. package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
  696. package/src/core/islands/worker/controller.ts +4 -10
  697. package/src/core/islands/worker/worker.tsx +33 -33
  698. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  699. package/src/core/kernel/__tests__/handlers.test.ts +7 -157
  700. package/src/core/kernel/handlers.ts +13 -79
  701. package/src/core/kernel/state.ts +0 -15
  702. package/src/core/lifecycle/render-policy.ts +12 -26
  703. package/src/core/meta/__tests__/code-visibility.test.tsx +78 -70
  704. package/src/core/meta/code-visibility.ts +18 -9
  705. package/src/core/network/__tests__/connection.test.ts +1 -1
  706. package/src/core/network/__tests__/requests-lazy.test.ts +6 -8
  707. package/src/core/network/connection-notice.ts +1 -1
  708. package/src/core/network/connection.ts +1 -1
  709. package/src/core/network/requests-lazy.ts +5 -8
  710. package/src/core/network/requests-network.ts +5 -31
  711. package/src/core/network/requests-static.ts +1 -4
  712. package/src/core/network/requests-toasting.tsx +1 -4
  713. package/src/core/network/types.ts +6 -14
  714. package/src/core/network/useConnectionNotice.ts +8 -2
  715. package/src/core/notebook/__tests__/operations.test.ts +51 -0
  716. package/src/core/notebook/attachments.ts +38 -0
  717. package/src/core/notebook/document/__tests__/codemirror.test.ts +759 -0
  718. package/src/core/notebook/document/__tests__/draft.test.ts +363 -0
  719. package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
  720. package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
  721. package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  722. package/src/core/notebook/document/__tests__/model.test.ts +247 -0
  723. package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
  724. package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
  725. package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
  726. package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
  727. package/src/core/notebook/document/__tests__/state.test.ts +459 -0
  728. package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
  729. package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
  730. package/src/core/notebook/document/__tests__/test-host.ts +247 -0
  731. package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
  732. package/src/core/notebook/document/__tests__/user.ts +61 -0
  733. package/src/core/notebook/document/codemirror.ts +216 -0
  734. package/src/core/notebook/document/draft.ts +502 -0
  735. package/src/core/notebook/document/hooks.tsx +118 -0
  736. package/src/core/notebook/document/index.ts +24 -0
  737. package/src/core/notebook/document/model.ts +102 -0
  738. package/src/core/notebook/document/select.ts +41 -0
  739. package/src/core/notebook/document/state.ts +378 -0
  740. package/src/core/notebook/document/sync.ts +369 -0
  741. package/src/core/notebook/index.ts +19 -0
  742. package/src/core/notebook/operations.ts +30 -0
  743. package/src/core/notebook/replica/AGENTS.md +11 -0
  744. package/src/core/{host → notebook/replica}/__tests__/attachments.test.ts +9 -10
  745. package/src/core/{host → notebook/replica}/__tests__/document.test.ts +18 -16
  746. package/src/core/notebook/replica/__tests__/executions.test.ts +200 -0
  747. package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
  748. package/src/core/notebook/replica/__tests__/replica.test.ts +559 -0
  749. package/src/core/notebook/replica/__tests__/results.test.ts +193 -0
  750. package/src/core/notebook/replica/__tests__/runtime.test.ts +78 -0
  751. package/src/core/notebook/replica/backend.ts +19 -0
  752. package/src/core/notebook/replica/connection.ts +42 -0
  753. package/src/core/notebook/replica/index.ts +20 -0
  754. package/src/core/notebook/replica/replica.ts +336 -0
  755. package/src/core/{host → notebook/replica}/resources/attachments.ts +6 -3
  756. package/src/core/{host → notebook/replica}/resources/document.ts +3 -3
  757. package/src/core/notebook/replica/resources/executions.ts +157 -0
  758. package/src/core/notebook/replica/resources/results.ts +48 -0
  759. package/src/core/notebook/replica/resources/runtime.ts +14 -0
  760. package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
  761. package/src/core/packages/useSandboxController.ts +1 -1
  762. package/src/core/run-app.tsx +49 -51
  763. package/src/core/runtime/__tests__/adapter.test.ts +4 -4
  764. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  765. package/src/core/runtime/__tests__/runtime.test.ts +32 -74
  766. package/src/core/runtime/adapter.ts +5 -5
  767. package/src/core/runtime/config.ts +2 -2
  768. package/src/core/runtime/runtime.ts +33 -46
  769. package/src/core/runtime/types.ts +0 -2
  770. package/src/core/saving/__tests__/document.test.tsx +123 -0
  771. package/src/core/saving/__tests__/state.test.ts +111 -0
  772. package/src/core/saving/__tests__/useAutoSave.test.tsx +67 -0
  773. package/src/core/saving/document.ts +33 -0
  774. package/src/core/saving/filename.ts +1 -1
  775. package/src/core/saving/save-component.tsx +39 -60
  776. package/src/core/saving/state.ts +38 -39
  777. package/src/core/saving/useAutoSave.ts +17 -53
  778. package/src/core/session/__tests__/backend.test.ts +236 -0
  779. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +186 -0
  780. package/src/core/{websocket → session}/__tests__/useNotebookSession.hook.test.tsx +245 -262
  781. package/src/core/session/active-notebook.ts +28 -0
  782. package/src/core/session/backend.ts +123 -0
  783. package/src/core/session/embedded.ts +7 -0
  784. package/src/core/{websocket → session}/types.ts +2 -2
  785. package/src/core/session/useNotebookReplica.ts +74 -0
  786. package/src/core/{websocket → session}/useNotebookSession.tsx +80 -67
  787. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  788. package/src/core/state/jotai.ts +1 -1
  789. package/src/core/static/__tests__/files.test.ts +38 -10
  790. package/src/core/static/files.ts +2 -0
  791. package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
  792. package/src/core/transports/__tests__/server.test.ts +408 -0
  793. package/src/core/transports/__tests__/static.test.ts +340 -0
  794. package/src/core/transports/__tests__/wasm.test.ts +166 -0
  795. package/src/core/{websocket → transports}/connection-state.ts +9 -16
  796. package/src/core/transports/server.ts +152 -0
  797. package/src/core/transports/static.ts +173 -0
  798. package/src/core/transports/wasm.ts +97 -0
  799. package/src/core/vscode/__tests__/vscode-bindings.test.ts +125 -0
  800. package/src/core/vscode/vscode-bindings.ts +14 -2
  801. package/src/core/wasm/__tests__/bridge.test.ts +210 -64
  802. package/src/core/wasm/__tests__/worker.test.ts +188 -0
  803. package/src/core/wasm/bridge.ts +120 -73
  804. package/src/core/wasm/rpc.ts +15 -3
  805. package/src/core/wasm/store.ts +3 -3
  806. package/src/core/wasm/worker/bootstrap.ts +55 -51
  807. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  808. package/src/core/wasm/worker/save-worker.ts +9 -10
  809. package/src/core/wasm/worker/types.ts +30 -18
  810. package/src/core/wasm/worker/worker.ts +118 -72
  811. package/src/css/app/Cell.css +7 -36
  812. package/src/css/app/codemirror.css +1 -1
  813. package/src/css/common.css +1 -1
  814. package/src/css/globals.css +72 -24
  815. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  816. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  817. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  818. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  819. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  820. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  821. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  822. package/src/hooks/useAsyncData.ts +3 -3
  823. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  824. package/src/hooks/useDebounce.ts +6 -10
  825. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  826. package/src/hooks/useDelayElapsed.ts +14 -10
  827. package/src/hooks/useElapsedTime.ts +3 -3
  828. package/src/hooks/useEventListener.ts +1 -2
  829. package/src/hooks/useInputHistory.ts +4 -7
  830. package/src/hooks/useInternalStateWithSync.ts +6 -6
  831. package/src/hooks/useResizeObserver.ts +4 -7
  832. package/src/hooks/useScript.ts +67 -70
  833. package/src/hooks/useStateForKey.ts +93 -0
  834. package/src/mount.tsx +20 -15
  835. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  836. package/src/plugins/core/RenderHTML.tsx +3 -5
  837. package/src/plugins/core/__test__/PluginSlot.test.tsx +202 -0
  838. package/src/plugins/core/__test__/RenderHTML-copy.test.tsx +60 -0
  839. package/src/plugins/core/__test__/registerReactComponent.test.ts +45 -0
  840. package/src/plugins/core/__test__/sanitize.test.ts +8 -0
  841. package/src/plugins/core/registerReactComponent.tsx +29 -29
  842. package/src/plugins/core/sanitize-html.ts +6 -0
  843. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  844. package/src/plugins/impl/DataEditorPlugin.tsx +34 -13
  845. package/src/plugins/impl/DataTablePlugin.tsx +69 -37
  846. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  847. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  848. package/src/plugins/impl/FormPlugin.tsx +1 -1
  849. package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
  850. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  851. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  852. package/src/plugins/impl/__tests__/DataEditorPlugin.test.ts +93 -4
  853. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
  854. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  855. package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
  856. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  857. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
  858. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  859. package/src/plugins/impl/anywidget/model.ts +3 -1
  860. package/src/plugins/impl/anywidget/registry.ts +18 -14
  861. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  862. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  863. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  864. package/src/plugins/impl/chat/chat-ui.tsx +17 -15
  865. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  866. package/src/plugins/impl/common/error-banner.tsx +5 -3
  867. package/src/plugins/impl/data-editor/__tests__/column-types.test.ts +42 -0
  868. package/src/plugins/impl/data-editor/__tests__/editor-state.test.ts +52 -1
  869. package/src/plugins/impl/data-editor/__tests__/glide-data-editor.test.tsx +120 -4
  870. package/src/plugins/impl/data-editor/__tests__/glide-utils.test.ts +116 -0
  871. package/src/plugins/impl/data-editor/column-types.ts +55 -0
  872. package/src/plugins/impl/data-editor/editor-state.ts +18 -2
  873. package/src/plugins/impl/data-editor/glide-data-editor.tsx +74 -12
  874. package/src/plugins/impl/data-editor/glide-utils.ts +39 -38
  875. package/src/plugins/impl/data-editor/types.ts +5 -0
  876. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  877. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  878. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  879. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  880. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  881. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  882. package/src/plugins/impl/data-frames/panel.tsx +44 -16
  883. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  884. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  885. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  886. package/src/plugins/impl/panel/utils.ts +17 -0
  887. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  888. package/src/plugins/impl/plotly/selection.ts +25 -19
  889. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  890. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  891. package/src/plugins/layout/DownloadPlugin.tsx +7 -11
  892. package/src/plugins/layout/LazyPlugin.tsx +7 -4
  893. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  894. package/src/plugins/layout/__test__/DownloadPlugin.test.tsx +205 -0
  895. package/src/plugins/layout/__tests__/LazyPlugin.test.tsx +98 -0
  896. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  897. package/src/stories/button.stories.tsx +1 -0
  898. package/src/stories/cell-status.stories.tsx +29 -24
  899. package/src/stories/cell.stories.tsx +46 -46
  900. package/src/stories/data-table.stories.tsx +31 -0
  901. package/src/stories/editor.stories.tsx +24 -17
  902. package/src/stories/form-wrapper.stories.tsx +2 -2
  903. package/src/stories/layout/vertical/one-column.stories.tsx +28 -42
  904. package/src/stories/runtime-story.tsx +23 -17
  905. package/src/stories/select.stories.tsx +2 -2
  906. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  907. package/src/theme/__tests__/islands-theme.test.tsx +276 -0
  908. package/src/theme/namespace.tsx +4 -3
  909. package/src/theme/useTheme.ts +71 -41
  910. package/src/utils/__tests__/arrays.test.ts +35 -0
  911. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  912. package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +127 -1
  913. package/src/utils/__tests__/download.test.tsx +183 -23
  914. package/src/utils/__tests__/numbers.test.ts +105 -1
  915. package/src/utils/__tests__/objects.test.ts +21 -0
  916. package/src/utils/arrays.ts +11 -2
  917. package/src/utils/blob.ts +1 -1
  918. package/src/utils/createReducer.ts +115 -79
  919. package/src/utils/download.ts +67 -6
  920. package/src/utils/maps.ts +0 -3
  921. package/src/utils/numbers.ts +79 -18
  922. package/src/utils/objects.ts +4 -9
  923. package/src/utils/time.ts +10 -0
  924. package/src/utils/tracer.ts +9 -5
  925. package/src/utils/zod-utils.ts +1 -3
  926. package/dist/_baseMerge-BiGRwuqv.js +0 -165
  927. package/dist/any-language-editor-D4q-IFcM.js +0 -76
  928. package/dist/architecture-7GRP2DOG-BWLylgiA.js +0 -3
  929. package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
  930. package/dist/assets/worker-HPY9fbhz.js +0 -114
  931. package/dist/classDiagram-ZZMXUADV-DXdCCDOg.js +0 -30
  932. package/dist/classDiagram-v2-VYDZK3BY-DyZqrtLP.js +0 -30
  933. package/dist/cynefin-OW5HDTMX-obq-i80l.js +0 -3
  934. package/dist/dropdown-menu-BuE2b8Yb.js +0 -4678
  935. package/dist/eventmodeling-NTZA5JFV-D7nP7Uyu.js +0 -3
  936. package/dist/feedback-button-DlBBr16w.js +0 -379
  937. package/dist/flowDiagram-HODETNUW-DQ4JuadE.js +0 -16
  938. package/dist/gitGraph-4MIJSDKK-Dy9uQXGh.js +0 -3
  939. package/dist/hasIn-o2Us0uVx.js +0 -132
  940. package/dist/html-to-image-BsG_zyNW.js +0 -3251
  941. package/dist/info-A6RAGUB7-DKoayiHY.js +0 -3
  942. package/dist/isArrayLikeObject-BZl-15ir.js +0 -450
  943. package/dist/isEmpty-BSZ1LaUo.js +0 -35
  944. package/dist/isSymbol-kQcfYbNX.js +0 -8
  945. package/dist/label-DoysmLMW.js +0 -281
  946. package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +0 -2
  947. package/dist/packet-AYTQ26CC-Yw7ajchJ.js +0 -3
  948. package/dist/pick-CJeoxYOS.js +0 -51
  949. package/dist/pie-WAS4IAKB-BKdKOAkL.js +0 -3
  950. package/dist/purify.es-DMv5zIkJ.js +0 -866
  951. package/dist/radar-RG4KPBEZ-ScR_D_Ts.js +0 -3
  952. package/dist/railroad-74A4TZTK-DQvPSdo5.js +0 -3
  953. package/dist/railroad-abnf-HS5TGJTU-CsJQG2O8.js +0 -3
  954. package/dist/railroad-ebnf-LZEXJU2U-BgEobkSn.js +0 -3
  955. package/dist/railroad-peg-WCYAUIDC-DjLAjofI.js +0 -3
  956. package/dist/select-DemoKT4G.js +0 -1344
  957. package/dist/stateDiagram-v2-MP3YSRHH-1OQRe6iA.js +0 -30
  958. package/dist/swimlanesDiagram-VR7AAH4N-CszjkrKo.js +0 -30
  959. package/dist/toDate-gyi35XS2.js +0 -1185
  960. package/dist/toast-PkdZraM8.js +0 -1830
  961. package/dist/treeView-Q6P3EWNA-DuRV97YF.js +0 -3
  962. package/dist/treemap-WGGIJYW6-AsLq-uwC.js +0 -3
  963. package/dist/use-restore-focus-CKjfFjLM.js +0 -6369
  964. package/dist/useLifecycle-Dfq8UD-b.js +0 -169
  965. package/dist/useTheme-Bu5bBgrh.js +0 -904
  966. package/dist/wardley-WFR3VGLG-Na-tFhQJ.js +0 -3
  967. package/src/components/chat/reasoning-accordion.tsx +0 -61
  968. package/src/components/chat/tool-call/tool-error-card.tsx +0 -81
  969. package/src/components/chat/tool-call/tool-history-row.tsx +0 -174
  970. package/src/components/editor/ai/__tests__/staged-cell-submission.test.ts +0 -106
  971. package/src/components/editor/ai/add-cell-with-ai.tsx +0 -506
  972. package/src/components/editor/ai/staged-cell-submission.ts +0 -46
  973. package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +0 -64
  974. package/src/components/editor/cell/code/__tests__/rtc-editor-config.test.ts +0 -50
  975. package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +0 -65
  976. package/src/components/editor/navigation/__tests__/state.test.ts +0 -81
  977. package/src/components/editor/navigation/state.ts +0 -65
  978. package/src/components/icons/loading-ellipsis.tsx +0 -46
  979. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +0 -656
  980. package/src/core/ai/tools/run-cells-tool.ts +0 -303
  981. package/src/core/attachments/state.ts +0 -18
  982. package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
  983. package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
  984. package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
  985. package/src/core/cells/document-changes.ts +0 -944
  986. package/src/core/codemirror/rtc/extension.ts +0 -453
  987. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +0 -52
  988. package/src/core/codemirror/rtc/loro/awareness.ts +0 -531
  989. package/src/core/codemirror/rtc/loro/colors.ts +0 -38
  990. package/src/core/codemirror/rtc/loro/sync.ts +0 -168
  991. package/src/core/host/AGENTS.md +0 -11
  992. package/src/core/host/__tests__/events.test.ts +0 -46
  993. package/src/core/host/__tests__/fixtures.ts +0 -39
  994. package/src/core/host/__tests__/notebook-client.test.ts +0 -433
  995. package/src/core/host/__tests__/protocol.test.ts +0 -229
  996. package/src/core/host/__tests__/stream.test.ts +0 -209
  997. package/src/core/host/connection.ts +0 -81
  998. package/src/core/host/events.ts +0 -61
  999. package/src/core/host/notebook-client.ts +0 -290
  1000. package/src/core/host/protocol.ts +0 -1948
  1001. package/src/core/host/resources/resource.ts +0 -47
  1002. package/src/core/host/stream.ts +0 -211
  1003. package/src/core/rtc/state.ts +0 -34
  1004. package/src/core/state/__tests__/jotai.test.ts +0 -25
  1005. package/src/core/wasm/worker/message-buffer.ts +0 -33
  1006. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  1007. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -170
  1008. package/src/core/websocket/state.ts +0 -7
  1009. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  1010. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  1011. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  1012. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  1013. package/src/core/websocket/transports/basic.ts +0 -102
  1014. package/src/core/websocket/transports/create.ts +0 -31
  1015. package/src/core/websocket/transports/sse.ts +0 -308
  1016. package/src/core/websocket/transports/transport.ts +0 -50
  1017. package/src/core/websocket/transports/ws.ts +0 -98
  1018. package/src/core/websocket/useNotebookClient.ts +0 -88
  1019. package/src/utils/__tests__/id-tree.test.ts +0 -2145
  1020. package/src/utils/id-tree.tsx +0 -1134
  1021. /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
  1022. /package/src/core/{websocket → session}/connection-utils.ts +0 -0
@@ -0,0 +1,1200 @@
1
+ import { a as e } from "./rolldown-runtime-BPCzCO3I.js";
2
+ import { h as t, m as n, p as r, r as i, u as a } from "./button-BuSV-mLI.js";
3
+ import { t as o } from "./react-CHbZqgBF.js";
4
+ import { t as s } from "./compiler-runtime-DNezxW8I.js";
5
+ import { c, h as l, l as u, p as d, s as f, u as p } from "./tooltip-CHvXUQVs.js";
6
+ import { t as m } from "./check-C7fmwkwt.js";
7
+ import { a as h, s as g } from "./assertNever-De6m1Aro.js";
8
+ import { t as _ } from "./react-dom-DhWGW7e0.js";
9
+ import { t as v } from "./jsx-runtime-6ZiU38At.js";
10
+ import { $t as y, Xt as b, Zt as x, a as S, an as C, c as w, cn as ee, dn as T, en as E, fn as D, ln as O, mn as k, o as A, pn as te, sn as j, tn as ne, un as M } from "./use-restore-focus-Ckq0jQzc.js";
11
+ var N = l("chevron-down", [["path", {
12
+ d: "m6 9 6 6 6-6",
13
+ key: "qrunsl"
14
+ }]]), re = l("chevron-up", [["path", {
15
+ d: "m18 15-6-6-6 6",
16
+ key: "153udz"
17
+ }]]), P = /* @__PURE__ */ e(_(), 1), F = /* @__PURE__ */ e(o(), 1), I = v(), L = Object.defineProperty, ie = (e, t) => L(e, "name", {
18
+ value: t,
19
+ configurable: !0
20
+ }), R = {
21
+ LTR: "ltr",
22
+ RTL: "rtl"
23
+ }, z = F.createContext(void 0);
24
+ function B(e) {
25
+ let t = F.useContext(z);
26
+ return e || t || R.LTR;
27
+ }
28
+ ie(B, "useDirection");
29
+ //#endregion
30
+ //#region ../node_modules/.pnpm/@radix-ui+react-label@2.1.17_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react@_099847eca268dc359e5086947d5ece66/node_modules/@radix-ui/react-label/dist/index.mjs
31
+ var V = Object.defineProperty, H = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ ((e, t) => V(e, "name", {
32
+ value: t,
33
+ configurable: !0
34
+ }))(function(e, t) {
35
+ return /* @__PURE__ */ (0, I.jsx)(k.label, {
36
+ ...e,
37
+ ref: t,
38
+ onMouseDown: (t) => {
39
+ t.target.closest("button, input, select, textarea") || (e.onMouseDown?.(t), !t.defaultPrevented && t.detail > 1 && t.preventDefault());
40
+ }
41
+ });
42
+ }, "Label")), ae = Object.defineProperty, oe = (e, t) => ae(e, "name", {
43
+ value: t,
44
+ configurable: !0
45
+ });
46
+ function U(e, [t, n]) {
47
+ return Math.min(n, Math.max(t, e));
48
+ }
49
+ oe(U, "clamp");
50
+ //#endregion
51
+ //#region ../node_modules/.pnpm/@radix-ui+react-select@2.4.1_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react@_41875abfe3e9c9a7ec650dda663f0eb9/node_modules/@radix-ui/react-select/dist/index.mjs
52
+ var se = Object.defineProperty, W = (e, t) => se(e, "name", {
53
+ value: t,
54
+ configurable: !0
55
+ }), ce = {
56
+ ItemAligned: "item-aligned",
57
+ Popper: "popper"
58
+ }, le = {
59
+ LTR: "ltr",
60
+ RTL: "rtl"
61
+ }, ue = [
62
+ " ",
63
+ "Enter",
64
+ "ArrowUp",
65
+ "ArrowDown"
66
+ ], de = [" ", "Enter"], G = "Select", [fe, pe, me] = h(G), [K, he] = te(G, [me, p]), ge = p(), [_e, q] = K(G), [ve, ye] = K(G);
67
+ function be(e) {
68
+ let { __scopeSelect: t, children: n, open: r, defaultOpen: i, onOpenChange: a, value: o, defaultValue: s, onValueChange: c, dir: l, name: u, autoComplete: d, disabled: p, required: m, form: h, internal_do_not_use_render: g } = e, _ = ge(t), [v, y] = F.useState(null), [b, x] = F.useState(null), [S, C] = F.useState(!1), w = B(l), [T, E] = M({
69
+ prop: r,
70
+ defaultProp: i ?? !1,
71
+ onChange: a,
72
+ caller: G
73
+ }), [D, O] = M({
74
+ prop: o,
75
+ defaultProp: s,
76
+ onChange: c,
77
+ caller: G
78
+ }), k = F.useRef(null), A = F.useRef(!1), [te, j] = F.useState(null), ne = /* @__PURE__ */ W((e) => {
79
+ j({
80
+ value: e,
81
+ hasConsumerStoppedPropagation: A.current
82
+ }), O(e);
83
+ }, "handleUserSelect"), N = F.useRef(D);
84
+ F.useEffect(() => {
85
+ let e = h ? v?.ownerDocument.getElementById(h) : v?.form;
86
+ if (e instanceof HTMLFormElement) {
87
+ let t = /* @__PURE__ */ W(() => O(N.current), "reset");
88
+ return e.addEventListener("reset", t), () => e.removeEventListener("reset", t);
89
+ }
90
+ }, [
91
+ h,
92
+ v,
93
+ O
94
+ ]);
95
+ let re = !v || !!h || !!v.closest("form"), [P, L] = F.useState(/* @__PURE__ */ new Set()), ie = ee(), R = Array.from(P).map((e) => e.props.value).join(";"), z = F.useCallback((e) => {
96
+ L((t) => new Set(t).add(e));
97
+ }, []), V = F.useCallback((e) => {
98
+ L((t) => {
99
+ let n = new Set(t);
100
+ return n.delete(e), n;
101
+ });
102
+ }, []), H = {
103
+ required: m,
104
+ trigger: v,
105
+ onTriggerChange: y,
106
+ valueNode: b,
107
+ onValueNodeChange: x,
108
+ valueNodeHasChildren: S,
109
+ onValueNodeHasChildrenChange: C,
110
+ contentId: ie,
111
+ value: D,
112
+ onValueChange: O,
113
+ hasConsumerStoppedPropagationRef: A,
114
+ userSelection: te,
115
+ onUserSelect: ne,
116
+ open: T,
117
+ onOpenChange: E,
118
+ dir: w,
119
+ triggerPointerDownPosRef: k,
120
+ disabled: p,
121
+ name: u,
122
+ autoComplete: d,
123
+ form: h,
124
+ nativeOptions: P,
125
+ nativeSelectKey: R,
126
+ isFormControl: re
127
+ };
128
+ return /* @__PURE__ */ (0, I.jsx)(f, {
129
+ ..._,
130
+ children: /* @__PURE__ */ (0, I.jsx)(_e, {
131
+ scope: t,
132
+ ...H,
133
+ children: /* @__PURE__ */ (0, I.jsx)(fe.Provider, {
134
+ scope: t,
135
+ children: /* @__PURE__ */ (0, I.jsx)(ve, {
136
+ scope: t,
137
+ onNativeOptionAdd: z,
138
+ onNativeOptionRemove: V,
139
+ children: ct(g) ? g(H) : n
140
+ })
141
+ })
142
+ })
143
+ });
144
+ }
145
+ W(be, "SelectProvider");
146
+ var xe = /* @__PURE__ */ W((e) => {
147
+ let { __scopeSelect: t, children: n, ...r } = e;
148
+ return /* @__PURE__ */ (0, I.jsx)(be, {
149
+ __scopeSelect: t,
150
+ ...r,
151
+ internal_do_not_use_render: ({ isFormControl: e }) => /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [n, e ? /* @__PURE__ */ (0, I.jsx)(st, { __scopeSelect: t }) : null] })
152
+ });
153
+ }, "Select"), Se = "SelectTrigger", Ce = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
154
+ let { __scopeSelect: n, disabled: i = !1, ...a } = e, o = ge(n), s = q(Se, n), l = s.disabled || i, u = r(t, s.onTriggerChange), d = pe(n), f = F.useRef("touch"), [p, m, h] = lt((e) => {
155
+ let t = d().filter((e) => !e.disabled), n = ut(t, e, t.find((e) => e.value === s.value));
156
+ n !== void 0 && s.onUserSelect(n.value);
157
+ }), g = /* @__PURE__ */ W((e) => {
158
+ l || (s.onOpenChange(!0), h()), e && (s.triggerPointerDownPosRef.current = {
159
+ x: Math.round(e.pageX),
160
+ y: Math.round(e.pageY)
161
+ });
162
+ }, "handleOpen");
163
+ return /* @__PURE__ */ (0, I.jsx)(c, {
164
+ asChild: !0,
165
+ ...o,
166
+ children: /* @__PURE__ */ (0, I.jsx)(k.button, {
167
+ type: "button",
168
+ role: "combobox",
169
+ "aria-controls": s.open ? s.contentId : void 0,
170
+ "aria-expanded": s.open,
171
+ "aria-required": s.required,
172
+ "aria-autocomplete": "none",
173
+ dir: s.dir,
174
+ "data-state": s.open ? "open" : "closed",
175
+ disabled: l,
176
+ "data-disabled": l ? "" : void 0,
177
+ "data-placeholder": Z(s.value) ? "" : void 0,
178
+ ...a,
179
+ ref: u,
180
+ onClick: T(a.onClick, (e) => {
181
+ e.currentTarget.focus(), f.current !== "mouse" && g(e);
182
+ }),
183
+ onPointerDown: T(a.onPointerDown, (e) => {
184
+ f.current = e.pointerType;
185
+ let t = e.target;
186
+ t.hasPointerCapture(e.pointerId) && t.releasePointerCapture(e.pointerId), e.button === 0 && e.ctrlKey === !1 && e.pointerType === "mouse" && (g(e), e.preventDefault());
187
+ }),
188
+ onKeyDown: T(a.onKeyDown, (e) => {
189
+ let t = p.current !== "";
190
+ !(e.ctrlKey || e.altKey || e.metaKey) && e.key.length === 1 && (s.hasConsumerStoppedPropagationRef.current = e.isPropagationStopped(), m(e.key)), !(t && e.key === " ") && ue.includes(e.key) && (g(), e.preventDefault());
191
+ })
192
+ })
193
+ });
194
+ }, "SelectTrigger")), we = "SelectValue", Te = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
195
+ let { __scopeSelect: n, className: i, style: a, children: o, placeholder: s = "", ...c } = e, l = q(we, n), { onValueNodeHasChildrenChange: u } = l, d = o !== void 0, f = r(t, l.onValueNodeChange);
196
+ D(() => {
197
+ u(d);
198
+ }, [u, d]);
199
+ let p = Z(l.value);
200
+ return /* @__PURE__ */ (0, I.jsx)(k.span, {
201
+ ...c,
202
+ asChild: !p && c.asChild,
203
+ ref: f,
204
+ style: { pointerEvents: "none" },
205
+ children: /* @__PURE__ */ (0, I.jsx)(F.Fragment, { children: p ? s : o }, p ? "placeholder" : "value")
206
+ });
207
+ }, "SelectValue")), Ee = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
208
+ let { __scopeSelect: n, children: r, ...i } = e;
209
+ return /* @__PURE__ */ (0, I.jsx)(k.span, {
210
+ "aria-hidden": !0,
211
+ ...i,
212
+ ref: t,
213
+ children: r || "▼"
214
+ });
215
+ }, "SelectIcon")), [De, Oe] = K("SelectPortal", { forceMount: void 0 }), ke = /* @__PURE__ */ W((e) => {
216
+ let { __scopeSelect: t, forceMount: n, ...r } = e;
217
+ return /* @__PURE__ */ (0, I.jsx)(De, {
218
+ scope: e.__scopeSelect,
219
+ forceMount: n,
220
+ children: /* @__PURE__ */ (0, I.jsx)(E, {
221
+ asChild: !0,
222
+ ...r
223
+ })
224
+ });
225
+ }, "SelectPortal"), J = "SelectContent", Ae = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
226
+ let n = Oe(J, e.__scopeSelect), { forceMount: r = n.forceMount, ...i } = e, a = q(J, e.__scopeSelect), [o, s] = F.useState();
227
+ return D(() => {
228
+ s(new DocumentFragment());
229
+ }, []), /* @__PURE__ */ (0, I.jsx)(O, {
230
+ present: r || a.open,
231
+ children: ({ present: e }) => e ? /* @__PURE__ */ (0, I.jsx)(Pe, {
232
+ ...i,
233
+ ref: t
234
+ }) : /* @__PURE__ */ (0, I.jsx)(je, {
235
+ ...i,
236
+ fragment: o
237
+ })
238
+ });
239
+ }, "SelectContent")), je = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
240
+ let { __scopeSelect: n, children: r, fragment: i } = e;
241
+ return i ? P.createPortal(/* @__PURE__ */ (0, I.jsx)(Me, {
242
+ scope: n,
243
+ children: /* @__PURE__ */ (0, I.jsx)(fe.Slot, {
244
+ scope: n,
245
+ children: /* @__PURE__ */ (0, I.jsx)("div", {
246
+ ref: t,
247
+ children: r
248
+ })
249
+ })
250
+ }), i) : null;
251
+ }, "SelectContentFragment")), Y = 10, [Me, X] = K(J), Ne = a("SelectContent.RemoveScroll"), Pe = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
252
+ let { __scopeSelect: n } = e, { position: i = ce.ItemAligned, onCloseAutoFocus: a, onEscapeKeyDown: o, onPointerDownOutside: s, side: c, sideOffset: l, align: u, alignOffset: d, arrowPadding: f, collisionBoundary: p, collisionPadding: m, sticky: h, hideWhenDetached: g, avoidCollisions: _, ...v } = e, S = q(J, n), [w, ee] = F.useState(null), [E, D] = F.useState(null), O = r(t, ee), [k, A] = F.useState(null), [te, j] = F.useState(null), M = pe(n), [N, re] = F.useState(!1), P = F.useRef(!1), L = F.useRef(!1), ie = F.useRef(!1);
253
+ F.useEffect(() => {
254
+ if (w) return b(w);
255
+ }, [w]), y();
256
+ let R = F.useCallback((e) => {
257
+ let [t, ...n] = M().map((e) => e.ref.current), [r] = n.slice(-1), i = document.activeElement;
258
+ for (let n of e) if (n === i || (n?.scrollIntoView({ block: "nearest" }), n === t && E && (E.scrollTop = 0), n === r && E && (E.scrollTop = E.scrollHeight), n?.focus(), document.activeElement !== i)) return;
259
+ }, [M, E]), z = F.useCallback(() => R([k, w]), [
260
+ R,
261
+ k,
262
+ w
263
+ ]);
264
+ F.useEffect(() => {
265
+ N && z();
266
+ }, [N, z]);
267
+ let { onOpenChange: B, triggerPointerDownPosRef: V } = S;
268
+ F.useEffect(() => {
269
+ if (w) {
270
+ let e = {
271
+ x: 0,
272
+ y: 0
273
+ }, t = /* @__PURE__ */ W((t) => {
274
+ e = {
275
+ x: Math.abs(Math.round(t.pageX) - (V.current?.x ?? 0)),
276
+ y: Math.abs(Math.round(t.pageY) - (V.current?.y ?? 0))
277
+ };
278
+ }, "handlePointerMove"), n = /* @__PURE__ */ W((n) => {
279
+ e.x <= 10 && e.y <= 10 ? n.preventDefault() : n.composedPath().includes(w) || B(!1), document.removeEventListener("pointermove", t), V.current = null;
280
+ }, "handlePointerUp");
281
+ return V.current !== null && (document.addEventListener("pointermove", t), document.addEventListener("pointerup", n, {
282
+ capture: !0,
283
+ once: !0
284
+ })), () => {
285
+ document.removeEventListener("pointermove", t), document.removeEventListener("pointerup", n, { capture: !0 });
286
+ };
287
+ }
288
+ }, [
289
+ w,
290
+ B,
291
+ V
292
+ ]), F.useEffect(() => {
293
+ let e = /* @__PURE__ */ W(() => B(!1), "close");
294
+ return window.addEventListener("blur", e), window.addEventListener("resize", e), () => {
295
+ window.removeEventListener("blur", e), window.removeEventListener("resize", e);
296
+ };
297
+ }, [B]);
298
+ let [H, ae] = lt((e) => {
299
+ let t = M().filter((e) => !e.disabled), n = ut(t, e, t.find((e) => e.ref.current === document.activeElement));
300
+ n && setTimeout(() => n.ref.current?.focus());
301
+ }), oe = F.useCallback((e, t, n) => {
302
+ let r = !L.current;
303
+ r && (L.current = !0);
304
+ let i = !P.current && !n;
305
+ S.value !== void 0 && S.value === t || i ? (A(e), i && (P.current = !0)) : r && A(e);
306
+ }, [S.value]), U = F.useCallback(() => w?.focus(), [w]), se = F.useCallback((e, t, n) => {
307
+ if (!e) return;
308
+ let r = !ie.current;
309
+ r && (ie.current = !0);
310
+ let i = !P.current && !n;
311
+ (S.value !== void 0 && S.value === t || i || r) && j(e);
312
+ }, [S.value]), le = i === ce.Popper ? Ie : Fe, ue = le === Ie ? {
313
+ side: c,
314
+ sideOffset: l,
315
+ align: u,
316
+ alignOffset: d,
317
+ arrowPadding: f,
318
+ collisionBoundary: p,
319
+ collisionPadding: m,
320
+ sticky: h,
321
+ hideWhenDetached: g,
322
+ avoidCollisions: _
323
+ } : {};
324
+ return /* @__PURE__ */ (0, I.jsx)(Me, {
325
+ scope: n,
326
+ content: w,
327
+ viewport: E,
328
+ onViewportChange: D,
329
+ itemRefCallback: oe,
330
+ selectedItem: k,
331
+ onItemLeave: U,
332
+ itemTextRefCallback: se,
333
+ focusSelectedItem: z,
334
+ selectedItemText: te,
335
+ position: i,
336
+ isPositioned: N,
337
+ searchRef: H,
338
+ children: /* @__PURE__ */ (0, I.jsx)(x, {
339
+ as: Ne,
340
+ allowPinchZoom: !0,
341
+ children: /* @__PURE__ */ (0, I.jsx)(ne, {
342
+ asChild: !0,
343
+ trapped: S.open,
344
+ onMountAutoFocus: (e) => {
345
+ e.preventDefault();
346
+ },
347
+ onUnmountAutoFocus: T(a, (e) => {
348
+ S.trigger?.focus({ preventScroll: !0 }), e.preventDefault();
349
+ }),
350
+ children: /* @__PURE__ */ (0, I.jsx)(C, {
351
+ asChild: !0,
352
+ disableOutsidePointerEvents: !0,
353
+ onEscapeKeyDown: o,
354
+ onPointerDownOutside: s,
355
+ onFocusOutside: (e) => e.preventDefault(),
356
+ onDismiss: () => S.onOpenChange(!1),
357
+ children: /* @__PURE__ */ (0, I.jsx)(le, {
358
+ role: "listbox",
359
+ id: S.contentId,
360
+ "data-state": S.open ? "open" : "closed",
361
+ dir: S.dir,
362
+ onContextMenu: (e) => e.preventDefault(),
363
+ ...v,
364
+ ...ue,
365
+ onPlaced: () => re(!0),
366
+ ref: O,
367
+ style: {
368
+ display: "flex",
369
+ flexDirection: "column",
370
+ outline: "none",
371
+ ...v.style
372
+ },
373
+ onKeyDown: T(v.onKeyDown, (e) => {
374
+ let t = e.ctrlKey || e.altKey || e.metaKey;
375
+ if (e.key === "Tab" && e.preventDefault(), !t && e.key.length === 1 && ae(e.key), [
376
+ "ArrowUp",
377
+ "ArrowDown",
378
+ "Home",
379
+ "End"
380
+ ].includes(e.key)) {
381
+ let t = M().filter((e) => !e.disabled).map((e) => e.ref.current);
382
+ if (["ArrowUp", "End"].includes(e.key) && (t = t.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(e.key)) {
383
+ let n = e.target, r = t.indexOf(n);
384
+ t = t.slice(r + 1);
385
+ }
386
+ setTimeout(() => R(t)), e.preventDefault();
387
+ }
388
+ })
389
+ })
390
+ })
391
+ })
392
+ })
393
+ });
394
+ }, "SelectContentImpl")), Fe = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
395
+ let { __scopeSelect: n, onPlaced: i, ...a } = e, o = q(J, n), s = X(J, n), [c, l] = F.useState(null), [u, d] = F.useState(null), f = r(t, d), p = pe(n), m = F.useRef(!1), h = F.useRef(!0), { viewport: g, selectedItem: _, selectedItemText: v, focusSelectedItem: y } = s, b = F.useCallback(() => {
396
+ if (o.trigger && o.valueNode && c && u && g && _ && v) {
397
+ let e = o.trigger.getBoundingClientRect(), t = u.getBoundingClientRect(), n = o.valueNode.getBoundingClientRect(), r = v.getBoundingClientRect();
398
+ if (o.dir !== le.RTL) {
399
+ let i = r.left - t.left, a = n.left - i, o = e.left - a, s = e.width + o, l = Math.max(s, t.width), u = window.innerWidth - Y, d = U(a, [Y, Math.max(Y, u - l)]);
400
+ c.style.minWidth = s + "px", c.style.left = d + "px";
401
+ } else {
402
+ let i = t.right - r.right, a = window.innerWidth - n.right - i, o = window.innerWidth - e.right - a, s = e.width + o, l = Math.max(s, t.width), u = window.innerWidth - Y, d = U(a, [Y, Math.max(Y, u - l)]);
403
+ c.style.minWidth = s + "px", c.style.right = d + "px";
404
+ }
405
+ let a = p(), s = window.innerHeight - Y * 2, l = g.scrollHeight, d = window.getComputedStyle(u), f = parseInt(d.borderTopWidth, 10), h = parseInt(d.paddingTop, 10), y = parseInt(d.borderBottomWidth, 10), b = parseInt(d.paddingBottom, 10), x = f + h + l + b + y, S = Math.min(_.offsetHeight * 5, x), C = window.getComputedStyle(g), w = parseInt(C.paddingTop, 10), ee = parseInt(C.paddingBottom, 10), T = e.top + e.height / 2 - Y, E = s - T, D = _.offsetHeight / 2, O = _.offsetTop + D, k = f + h + O, A = x - k;
406
+ if (k <= T) {
407
+ let e = a.length > 0 && _ === a[a.length - 1].ref.current;
408
+ c.style.bottom = "0px";
409
+ let t = u.clientHeight - g.offsetTop - g.offsetHeight, n = k + Math.max(E, D + (e ? ee : 0) + t + y);
410
+ c.style.height = n + "px";
411
+ } else {
412
+ let e = a.length > 0 && _ === a[0].ref.current;
413
+ c.style.top = "0px";
414
+ let t = Math.max(T, f + g.offsetTop + (e ? w : 0) + D) + A;
415
+ c.style.height = t + "px", g.scrollTop = k - T + g.offsetTop;
416
+ }
417
+ c.style.margin = `${Y}px 0`, c.style.minHeight = S + "px", c.style.maxHeight = s + "px", i?.(), requestAnimationFrame(() => m.current = !0);
418
+ }
419
+ }, [
420
+ p,
421
+ o.trigger,
422
+ o.valueNode,
423
+ c,
424
+ u,
425
+ g,
426
+ _,
427
+ v,
428
+ o.dir,
429
+ i
430
+ ]);
431
+ D(() => b(), [b]);
432
+ let [x, S] = F.useState();
433
+ D(() => {
434
+ u && S(window.getComputedStyle(u).zIndex);
435
+ }, [u]);
436
+ let C = F.useCallback((e) => {
437
+ e && h.current === !0 && (b(), y?.(), h.current = !1);
438
+ }, [b, y]);
439
+ return /* @__PURE__ */ (0, I.jsx)(Le, {
440
+ scope: n,
441
+ contentWrapper: c,
442
+ shouldExpandOnScrollRef: m,
443
+ onScrollButtonChange: C,
444
+ children: /* @__PURE__ */ (0, I.jsx)("div", {
445
+ ref: l,
446
+ style: {
447
+ display: "flex",
448
+ flexDirection: "column",
449
+ position: "fixed",
450
+ zIndex: x
451
+ },
452
+ children: /* @__PURE__ */ (0, I.jsx)(k.div, {
453
+ ...a,
454
+ ref: f,
455
+ style: {
456
+ boxSizing: "border-box",
457
+ maxHeight: "100%",
458
+ ...a.style
459
+ }
460
+ })
461
+ })
462
+ });
463
+ }, "SelectItemAlignedPosition")), Ie = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
464
+ let { __scopeSelect: n, align: r = "start", collisionPadding: i = Y, ...a } = e, o = ge(n);
465
+ return /* @__PURE__ */ (0, I.jsx)(u, {
466
+ ...o,
467
+ ...a,
468
+ ref: t,
469
+ align: r,
470
+ collisionPadding: i,
471
+ style: {
472
+ boxSizing: "border-box",
473
+ ...a.style,
474
+ "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
475
+ "--radix-select-content-available-width": "var(--radix-popper-available-width)",
476
+ "--radix-select-content-available-height": "var(--radix-popper-available-height)",
477
+ "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
478
+ "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
479
+ }
480
+ });
481
+ }, "SelectPopperPosition")), [Le, Re] = K(J, {}), ze = "SelectViewport", Be = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
482
+ let { __scopeSelect: n, nonce: i, ...a } = e, o = X(ze, n), s = Re(ze, n), c = r(t, o.onViewportChange), l = F.useRef(0);
483
+ return /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [/* @__PURE__ */ (0, I.jsx)("style", {
484
+ dangerouslySetInnerHTML: { __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}" },
485
+ nonce: i
486
+ }), /* @__PURE__ */ (0, I.jsx)(fe.Slot, {
487
+ scope: n,
488
+ children: /* @__PURE__ */ (0, I.jsx)(k.div, {
489
+ "data-radix-select-viewport": "",
490
+ role: "presentation",
491
+ ...a,
492
+ ref: c,
493
+ style: {
494
+ position: "relative",
495
+ flex: 1,
496
+ overflow: "hidden auto",
497
+ ...a.style
498
+ },
499
+ onScroll: T(a.onScroll, (e) => {
500
+ let t = e.currentTarget, { contentWrapper: n, shouldExpandOnScrollRef: r } = s;
501
+ if (r?.current && n) {
502
+ let e = Math.abs(l.current - t.scrollTop);
503
+ if (e > 0) {
504
+ let r = window.innerHeight - Y * 2, i = parseFloat(n.style.minHeight), a = parseFloat(n.style.height), o = Math.max(i, a);
505
+ if (o < r) {
506
+ let i = o + e, a = Math.min(r, i), s = i - a;
507
+ n.style.height = a + "px", n.style.bottom === "0px" && (t.scrollTop = s > 0 ? s : 0, n.style.justifyContent = "flex-end");
508
+ }
509
+ }
510
+ }
511
+ l.current = t.scrollTop;
512
+ })
513
+ })
514
+ })] });
515
+ }, "SelectViewport")), [Ve, He] = K("SelectGroup"), Ue = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
516
+ let { __scopeSelect: n, ...r } = e, i = ee();
517
+ return /* @__PURE__ */ (0, I.jsx)(Ve, {
518
+ scope: n,
519
+ id: i,
520
+ children: /* @__PURE__ */ (0, I.jsx)(k.div, {
521
+ role: "group",
522
+ "aria-labelledby": i,
523
+ ...r,
524
+ ref: t
525
+ })
526
+ });
527
+ }, "SelectGroup")), We = "SelectLabel", Ge = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
528
+ let { __scopeSelect: n, ...r } = e, i = He(We, n);
529
+ return /* @__PURE__ */ (0, I.jsx)(k.div, {
530
+ id: i.id,
531
+ ...r,
532
+ ref: t
533
+ });
534
+ }, "SelectLabel")), Ke = "SelectItem", [qe, Je] = K(Ke), Ye = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
535
+ let { __scopeSelect: n, value: i, disabled: a = !1, textValue: o, ...s } = e, c = q(Ke, n), l = X(Ke, n), u = c.value === i, [d, f] = F.useState(o ?? ""), [p, m] = F.useState(!1), h = j((e) => l.itemRefCallback?.(e, i, a)), g = r(t, h), _ = ee(), v = F.useRef("touch");
536
+ function y(e) {
537
+ c.hasConsumerStoppedPropagationRef.current = e.isPropagationStopped(), c.onUserSelect(i), c.onOpenChange(!1);
538
+ }
539
+ return W(y, "handleSelect"), /* @__PURE__ */ (0, I.jsx)(qe, {
540
+ scope: n,
541
+ value: i,
542
+ disabled: a,
543
+ textId: _,
544
+ isSelected: u,
545
+ onItemTextChange: F.useCallback((e) => {
546
+ f((t) => t || (e?.textContent ?? "").trim());
547
+ }, []),
548
+ children: /* @__PURE__ */ (0, I.jsx)(fe.ItemSlot, {
549
+ scope: n,
550
+ value: i,
551
+ disabled: a,
552
+ textValue: d,
553
+ children: /* @__PURE__ */ (0, I.jsx)(k.div, {
554
+ role: "option",
555
+ "aria-labelledby": _,
556
+ "data-highlighted": p ? "" : void 0,
557
+ "aria-selected": u && p,
558
+ "data-state": u ? "checked" : "unchecked",
559
+ "aria-disabled": a || void 0,
560
+ "data-disabled": a ? "" : void 0,
561
+ tabIndex: a ? void 0 : -1,
562
+ ...s,
563
+ ref: g,
564
+ onFocus: T(s.onFocus, () => m(!0)),
565
+ onBlur: T(s.onBlur, () => m(!1)),
566
+ onClick: T(s.onClick, (e) => {
567
+ a || v.current !== "mouse" && y(e);
568
+ }),
569
+ onPointerUp: T(s.onPointerUp, (e) => {
570
+ a || v.current === "mouse" && y(e);
571
+ }),
572
+ onPointerDown: T(s.onPointerDown, (e) => {
573
+ v.current = e.pointerType;
574
+ }),
575
+ onPointerMove: T(s.onPointerMove, (e) => {
576
+ v.current = e.pointerType, a ? l.onItemLeave?.() : v.current === "mouse" && e.currentTarget.focus({ preventScroll: !0 });
577
+ }),
578
+ onPointerLeave: T(s.onPointerLeave, (e) => {
579
+ e.currentTarget === document.activeElement && l.onItemLeave?.();
580
+ }),
581
+ onKeyDown: T(s.onKeyDown, (e) => {
582
+ a || e.target !== e.currentTarget || (l.searchRef?.current === "" || e.key !== " ") && (de.includes(e.key) && y(e), e.key === " " && e.preventDefault());
583
+ })
584
+ })
585
+ })
586
+ });
587
+ }, "SelectItem")), Xe = "SelectItemText", Ze = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
588
+ let { __scopeSelect: n, className: i, style: a, ...o } = e, s = q(Xe, n), c = X(Xe, n), l = Je(Xe, n), u = ye(Xe, n), [d, f] = F.useState(null), p = j((e) => c.itemTextRefCallback?.(e, l.value, l.disabled)), m = r(t, f, l.onItemTextChange, p), h = d?.textContent, g = F.useMemo(() => /* @__PURE__ */ (0, I.jsx)("option", {
589
+ value: l.value,
590
+ disabled: l.disabled,
591
+ children: h
592
+ }, l.value), [
593
+ l.disabled,
594
+ l.value,
595
+ h
596
+ ]), { onNativeOptionAdd: _, onNativeOptionRemove: v } = u;
597
+ return D(() => (_(g), () => v(g)), [
598
+ _,
599
+ v,
600
+ g
601
+ ]), /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [/* @__PURE__ */ (0, I.jsx)(k.span, {
602
+ id: l.textId,
603
+ ...o,
604
+ ref: m
605
+ }), l.isSelected && s.valueNode && !s.valueNodeHasChildren && !Z(s.value) ? P.createPortal(o.children, s.valueNode) : null] });
606
+ }, "SelectItemText")), Qe = "SelectItemIndicator", $e = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
607
+ let { __scopeSelect: n, ...r } = e;
608
+ return Je(Qe, n).isSelected ? /* @__PURE__ */ (0, I.jsx)(k.span, {
609
+ "aria-hidden": !0,
610
+ ...r,
611
+ ref: t
612
+ }) : null;
613
+ }, "SelectItemIndicator")), et = "SelectScrollUpButton", tt = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
614
+ let n = X(et, e.__scopeSelect), i = Re(et, e.__scopeSelect), [a, o] = F.useState(!1), s = r(t, i.onScrollButtonChange);
615
+ return D(() => {
616
+ if (n.viewport && n.isPositioned) {
617
+ let e = function() {
618
+ let e = t.scrollTop > 0;
619
+ o(e);
620
+ };
621
+ W(e, "handleScroll");
622
+ let t = n.viewport;
623
+ return e(), t.addEventListener("scroll", e), () => t.removeEventListener("scroll", e);
624
+ }
625
+ }, [n.viewport, n.isPositioned]), a ? /* @__PURE__ */ (0, I.jsx)(it, {
626
+ ...e,
627
+ ref: s,
628
+ onAutoScroll: () => {
629
+ let { viewport: e, selectedItem: t } = n;
630
+ e && t && (e.scrollTop -= t.offsetHeight);
631
+ }
632
+ }) : null;
633
+ }, "SelectScrollUpButton")), nt = "SelectScrollDownButton", rt = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
634
+ let n = X(nt, e.__scopeSelect), i = Re(nt, e.__scopeSelect), [a, o] = F.useState(!1), s = r(t, i.onScrollButtonChange);
635
+ return D(() => {
636
+ if (n.viewport && n.isPositioned) {
637
+ let e = function() {
638
+ let e = t.scrollHeight - t.clientHeight, n = Math.ceil(t.scrollTop) < e;
639
+ o(n);
640
+ };
641
+ W(e, "handleScroll");
642
+ let t = n.viewport;
643
+ return e(), t.addEventListener("scroll", e), () => t.removeEventListener("scroll", e);
644
+ }
645
+ }, [n.viewport, n.isPositioned]), a ? /* @__PURE__ */ (0, I.jsx)(it, {
646
+ ...e,
647
+ ref: s,
648
+ onAutoScroll: () => {
649
+ let { viewport: e, selectedItem: t } = n;
650
+ e && t && (e.scrollTop += t.offsetHeight);
651
+ }
652
+ }) : null;
653
+ }, "SelectScrollDownButton")), it = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
654
+ let { __scopeSelect: n, onAutoScroll: r, ...i } = e, a = X("SelectScrollButton", n), o = F.useRef(null), s = pe(n), c = F.useCallback(() => {
655
+ o.current !== null && (window.clearInterval(o.current), o.current = null);
656
+ }, []);
657
+ return F.useEffect(() => () => c(), [c]), D(() => {
658
+ s().find((e) => e.ref.current === document.activeElement)?.ref.current?.scrollIntoView({ block: "nearest" });
659
+ }, [s]), /* @__PURE__ */ (0, I.jsx)(k.div, {
660
+ "aria-hidden": !0,
661
+ ...i,
662
+ ref: t,
663
+ style: {
664
+ flexShrink: 0,
665
+ ...i.style
666
+ },
667
+ onPointerDown: T(i.onPointerDown, () => {
668
+ o.current === null && (o.current = window.setInterval(r, 50));
669
+ }),
670
+ onPointerMove: T(i.onPointerMove, () => {
671
+ a.onItemLeave?.(), o.current === null && (o.current = window.setInterval(r, 50));
672
+ }),
673
+ onPointerLeave: T(i.onPointerLeave, () => {
674
+ c();
675
+ })
676
+ });
677
+ }, "SelectScrollButtonImpl")), at = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function(e, t) {
678
+ let { __scopeSelect: n, ...r } = e;
679
+ return /* @__PURE__ */ (0, I.jsx)(k.div, {
680
+ "aria-hidden": !0,
681
+ ...r,
682
+ ref: t
683
+ });
684
+ }, "SelectSeparator")), ot = "SelectBubbleInput", st = /* @__PURE__ */ F.forwardRef(/* @__PURE__ */ W(function({ __scopeSelect: e, ...t }, n) {
685
+ let i = q(ot, e), { value: a, onValueChange: o, required: s, disabled: c, name: l, autoComplete: u, form: f, userSelection: p } = i, { nativeOptions: m, nativeSelectKey: h } = i, g = F.useRef(null), _ = r(n, g), v = a ?? "", y = F.useRef(v), b = F.useRef(p), x = F.useRef(!1), S = Array.from(m).some((e) => (e.props.value ?? "") === "");
686
+ return F.useEffect(() => {
687
+ let e = g.current;
688
+ if (!e) return;
689
+ let t = window.HTMLSelectElement.prototype, n = Object.getOwnPropertyDescriptor(t, "value").set, r = p !== null && p !== b.current;
690
+ b.current = p;
691
+ let i = y.current !== v;
692
+ y.current = v;
693
+ let a = r && i;
694
+ if (r && !i && p.value !== v && !p.hasConsumerStoppedPropagation && n) {
695
+ x.current = !0;
696
+ try {
697
+ n.call(e, p.value), e.dispatchEvent(new Event("change", { bubbles: !0 }));
698
+ } finally {
699
+ x.current = !1, n.call(e, v);
700
+ }
701
+ return;
702
+ }
703
+ let o = a && !p.hasConsumerStoppedPropagation;
704
+ if (i && n) {
705
+ let t = new Event("change", { bubbles: o });
706
+ n.call(e, v), e.dispatchEvent(t);
707
+ }
708
+ }, [v, p]), /* @__PURE__ */ (0, I.jsxs)(k.select, {
709
+ "aria-hidden": !0,
710
+ required: s,
711
+ tabIndex: -1,
712
+ name: l,
713
+ autoComplete: u,
714
+ disabled: c,
715
+ form: f,
716
+ onChange: (e) => {
717
+ x.current || o(e.target.value);
718
+ },
719
+ ...t,
720
+ style: {
721
+ ...d,
722
+ ...t.style
723
+ },
724
+ ref: _,
725
+ defaultValue: v,
726
+ children: [Z(a) && !S ? /* @__PURE__ */ (0, I.jsx)("option", { value: "" }) : null, Array.from(m)]
727
+ }, h);
728
+ }, "SelectBubbleInput"));
729
+ function ct(e) {
730
+ return typeof e == "function";
731
+ }
732
+ W(ct, "isFunction");
733
+ function Z(e) {
734
+ return e === "" || e === void 0;
735
+ }
736
+ W(Z, "shouldShowPlaceholder");
737
+ function lt(e) {
738
+ let t = j(e), n = F.useRef(""), r = F.useRef(0), i = F.useCallback((e) => {
739
+ let i = n.current + e;
740
+ t(i);
741
+ function a(e) {
742
+ n.current = e, window.clearTimeout(r.current), e !== "" && (r.current = window.setTimeout(() => a(""), 1e3));
743
+ }
744
+ W(a, "updateSearch"), a(i);
745
+ }, [t]), a = F.useCallback(() => {
746
+ n.current = "", window.clearTimeout(r.current);
747
+ }, []);
748
+ return F.useEffect(() => () => window.clearTimeout(r.current), []), [
749
+ n,
750
+ i,
751
+ a
752
+ ];
753
+ }
754
+ W(lt, "useTypeaheadSearch");
755
+ function ut(e, t, n) {
756
+ let r = t.length > 1 && Array.from(t).every((e) => e === t[0]) ? t[0] : t, i = n ? e.indexOf(n) : -1, a = dt(e, Math.max(i, 0));
757
+ r.length === 1 && (a = a.filter((e) => e !== n));
758
+ let o = a.find((e) => e.textValue.toLowerCase().startsWith(r.toLowerCase()));
759
+ return o === n ? void 0 : o;
760
+ }
761
+ W(ut, "findNextItem");
762
+ function dt(e, t) {
763
+ return e.map((n, r) => e[(t + r) % e.length]);
764
+ }
765
+ W(dt, "wrapArray");
766
+ //#endregion
767
+ //#region ../node_modules/.pnpm/react-aria@3.52.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/ssr/SSRProvider.mjs
768
+ var ft = {
769
+ prefix: String(Math.round(Math.random() * 1e10)),
770
+ current: 0
771
+ }, pt = /*#__PURE__*/ F.createContext(ft), mt = /*#__PURE__*/ F.createContext(!1);
772
+ typeof window < "u" && window.document && window.document.createElement;
773
+ var ht = /* @__PURE__ */ new WeakMap();
774
+ function gt(e = !1) {
775
+ let t = (0, F.useContext)(pt), n = (0, F.useRef)(null);
776
+ if (n.current === null && !e) {
777
+ let e = F.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;
778
+ if (e) {
779
+ let n = ht.get(e);
780
+ n == null ? ht.set(e, {
781
+ id: t.current,
782
+ state: e.memoizedState
783
+ }) : e.memoizedState !== n.state && (t.current = n.id, ht.delete(e));
784
+ }
785
+ n.current = ++t.current;
786
+ }
787
+ return n.current;
788
+ }
789
+ function _t(e) {
790
+ let t = (0, F.useContext)(pt), n = gt(!!e), r = `react-aria${t.prefix}`;
791
+ return e || `${r}-${n}`;
792
+ }
793
+ function vt(e) {
794
+ let t = F.useId(), [n] = (0, F.useState)(Ct()), r = n ? "react-aria" : `react-aria${ft.prefix}`;
795
+ return e || `${r}-${t}`;
796
+ }
797
+ var yt = typeof F.useId == "function" ? vt : _t;
798
+ function bt() {
799
+ return !1;
800
+ }
801
+ function xt() {
802
+ return !0;
803
+ }
804
+ function St(e) {
805
+ return () => {};
806
+ }
807
+ function Ct() {
808
+ return typeof F.useSyncExternalStore == "function" ? F.useSyncExternalStore(St, bt, xt) : (0, F.useContext)(mt);
809
+ }
810
+ //#endregion
811
+ //#region ../node_modules/.pnpm/react-aria@3.52.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/i18n/utils.mjs
812
+ var wt = /* @__PURE__ */ new Set([
813
+ "Arab",
814
+ "Syrc",
815
+ "Samr",
816
+ "Mand",
817
+ "Thaa",
818
+ "Mend",
819
+ "Nkoo",
820
+ "Adlm",
821
+ "Rohg",
822
+ "Hebr"
823
+ ]), Tt = /* @__PURE__ */ new Set([
824
+ "ae",
825
+ "ar",
826
+ "arc",
827
+ "bcc",
828
+ "bqi",
829
+ "ckb",
830
+ "dv",
831
+ "fa",
832
+ "glk",
833
+ "he",
834
+ "ku",
835
+ "mzn",
836
+ "nqo",
837
+ "pnb",
838
+ "ps",
839
+ "sd",
840
+ "ug",
841
+ "ur",
842
+ "yi"
843
+ ]);
844
+ function Et(e) {
845
+ if (Intl.Locale) {
846
+ let t = new Intl.Locale(e).maximize(), n = typeof t.getTextInfo == "function" ? t.getTextInfo() : t.textInfo;
847
+ if (n) return n.direction === "rtl";
848
+ if (t.script) return wt.has(t.script);
849
+ }
850
+ let t = e.split("-")[0];
851
+ return Tt.has(t);
852
+ }
853
+ //#endregion
854
+ //#region ../node_modules/.pnpm/react-aria@3.52.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/i18n/useDefaultLocale.mjs
855
+ var Dt = Symbol.for("react-aria.i18n.locale");
856
+ function Ot() {
857
+ let e = typeof window < "u" && window[Dt] || typeof navigator < "u" && (navigator.language || navigator.userLanguage) || "en-US";
858
+ try {
859
+ Intl.DateTimeFormat.supportedLocalesOf([e]);
860
+ } catch {
861
+ e = "en-US";
862
+ }
863
+ return {
864
+ locale: e,
865
+ direction: Et(e) ? "rtl" : "ltr"
866
+ };
867
+ }
868
+ var kt = Ot(), Q = /* @__PURE__ */ new Set();
869
+ function At() {
870
+ kt = Ot();
871
+ for (let e of Q) e(kt);
872
+ }
873
+ function jt() {
874
+ let e = Ct(), [t, n] = (0, F.useState)(kt);
875
+ return (0, F.useEffect)(() => (Q.size === 0 && window.addEventListener("languagechange", At), Q.add(n), () => {
876
+ Q.delete(n), Q.size === 0 && window.removeEventListener("languagechange", At);
877
+ }), []), e ? {
878
+ locale: typeof window < "u" && window[Dt] || "en-US",
879
+ direction: "ltr"
880
+ } : t;
881
+ }
882
+ //#endregion
883
+ //#region ../node_modules/.pnpm/react-aria@3.52.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/i18n/I18nProvider.mjs
884
+ var Mt = /*#__PURE__*/ F.createContext(null);
885
+ function Nt(e) {
886
+ let { locale: t, children: n } = e, r = F.useMemo(() => ({
887
+ locale: t,
888
+ direction: Et(t) ? "rtl" : "ltr"
889
+ }), [t]);
890
+ return /*#__PURE__*/ F.createElement(Mt.Provider, { value: r }, n);
891
+ }
892
+ function Pt(e) {
893
+ let { children: t } = e, n = jt();
894
+ return /*#__PURE__*/ F.createElement(Mt.Provider, { value: n }, t);
895
+ }
896
+ function Ft(e) {
897
+ let { locale: t, children: n } = e;
898
+ return t ? /*#__PURE__*/ F.createElement(Nt, {
899
+ locale: t,
900
+ children: n
901
+ }) : /*#__PURE__*/ F.createElement(Pt, { children: n });
902
+ }
903
+ function It() {
904
+ let e = jt();
905
+ return (0, F.useContext)(Mt) || e;
906
+ }
907
+ //#endregion
908
+ //#region ../node_modules/.pnpm/@internationalized+number@3.6.8/node_modules/@internationalized/number/dist/private/NumberFormatter.mjs
909
+ var Lt = /* @__PURE__ */ new Map(), Rt = !1;
910
+ try {
911
+ Rt = new Intl.NumberFormat("de-DE", { signDisplay: "exceptZero" }).resolvedOptions().signDisplay === "exceptZero";
912
+ } catch {}
913
+ var zt = !1;
914
+ try {
915
+ zt = new Intl.NumberFormat("de-DE", {
916
+ style: "unit",
917
+ unit: "degree"
918
+ }).resolvedOptions().style === "unit";
919
+ } catch {}
920
+ var Bt = { degree: { narrow: {
921
+ default: "°",
922
+ "ja-JP": " 度",
923
+ "zh-TW": "度",
924
+ "sl-SI": " °"
925
+ } } }, Vt = class {
926
+ constructor(e, t = {}) {
927
+ this.numberFormatter = Ht(e, t), this.options = t;
928
+ }
929
+ format(e) {
930
+ let t = "";
931
+ if (t = !Rt && this.options.signDisplay != null ? Ut(this.numberFormatter, this.options.signDisplay, e) : this.numberFormatter.format(e), this.options.style === "unit" && !zt) {
932
+ let { unit: e, unitDisplay: n = "short", locale: r } = this.resolvedOptions();
933
+ if (!e) return t;
934
+ let i = Bt[e]?.[n];
935
+ t += i[r] || i.default;
936
+ }
937
+ return t;
938
+ }
939
+ formatToParts(e) {
940
+ return this.numberFormatter.formatToParts(e);
941
+ }
942
+ formatRange(e, t) {
943
+ if (typeof this.numberFormatter.formatRange == "function") return this.numberFormatter.formatRange(e, t);
944
+ if (t < e) throw RangeError("End date must be >= start date");
945
+ return `${this.format(e)} \u{2013} ${this.format(t)}`;
946
+ }
947
+ formatRangeToParts(e, t) {
948
+ if (typeof this.numberFormatter.formatRangeToParts == "function") return this.numberFormatter.formatRangeToParts(e, t);
949
+ if (t < e) throw RangeError("End date must be >= start date");
950
+ let n = this.numberFormatter.formatToParts(e), r = this.numberFormatter.formatToParts(t);
951
+ return [
952
+ ...n.map((e) => ({
953
+ ...e,
954
+ source: "startRange"
955
+ })),
956
+ {
957
+ type: "literal",
958
+ value: " – ",
959
+ source: "shared"
960
+ },
961
+ ...r.map((e) => ({
962
+ ...e,
963
+ source: "endRange"
964
+ }))
965
+ ];
966
+ }
967
+ resolvedOptions() {
968
+ let e = this.numberFormatter.resolvedOptions();
969
+ return !Rt && this.options.signDisplay != null && (e = {
970
+ ...e,
971
+ signDisplay: this.options.signDisplay
972
+ }), !zt && this.options.style === "unit" && (e = {
973
+ ...e,
974
+ style: "unit",
975
+ unit: this.options.unit,
976
+ unitDisplay: this.options.unitDisplay
977
+ }), e;
978
+ }
979
+ };
980
+ function Ht(e, t = {}) {
981
+ let { numberingSystem: n } = t;
982
+ if (n && e.includes("-nu-") && (e.includes("-u-") || (e += "-u-"), e += `-nu-${n}`), t.style === "unit" && !zt) {
983
+ let { unit: e, unitDisplay: n = "short" } = t;
984
+ if (!e) throw Error("unit option must be provided with style: \"unit\"");
985
+ if (!Bt[e]?.[n]) throw Error(`Unsupported unit ${e} with unitDisplay = ${n}`);
986
+ t = {
987
+ ...t,
988
+ style: "decimal"
989
+ };
990
+ }
991
+ let r = e + (t ? Object.entries(t).sort((e, t) => e[0] < t[0] ? -1 : 1).join() : "");
992
+ if (Lt.has(r)) return Lt.get(r);
993
+ let i = new Intl.NumberFormat(e, t);
994
+ return Lt.set(r, i), i;
995
+ }
996
+ function Ut(e, t, n) {
997
+ if (t === "auto") return e.format(n);
998
+ if (t === "never") return e.format(Math.abs(n));
999
+ {
1000
+ let r = !1;
1001
+ if (t === "always" ? r = n > 0 || Object.is(n, 0) : t === "exceptZero" && (Object.is(n, -0) || Object.is(n, 0) ? n = Math.abs(n) : r = n > 0), r) {
1002
+ let t = e.format(-n), r = e.format(n), i = t.replace(r, "").replace(/\u200e|\u061C/, "");
1003
+ return [...i].length !== 1 && console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case"), t.replace(r, "!!!").replace(i, "+").replace("!!!", r);
1004
+ }
1005
+ return e.format(n);
1006
+ }
1007
+ }
1008
+ //#endregion
1009
+ //#region ../node_modules/.pnpm/react-aria@3.52.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/i18n/useNumberFormatter.mjs
1010
+ function Wt(e = {}) {
1011
+ let { locale: t } = It();
1012
+ return (0, F.useMemo)(() => new Vt(t, e), [t, e]);
1013
+ }
1014
+ //#endregion
1015
+ //#region src/components/ui/menu-items.tsx
1016
+ var $ = s(), Gt = i("z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md forced-color-adjust-none forced-colors:border-[CanvasText] forced-colors:bg-[Canvas] forced-colors:text-[CanvasText]", { variants: { subcontent: { true: "shadow-lg" } } }), Kt = i("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground forced-color-adjust-none forced-colors:data-[highlighted]:bg-[Highlight] forced-colors:data-[highlighted]:text-[HighlightText] forced-colors:data-[state=open]:bg-[Highlight] forced-colors:data-[state=open]:text-[HighlightText]", { variants: { inset: { true: "pl-8" } } }), qt = "data-disabled:pointer-events-none data-disabled:opacity-50 forced-colors:data-disabled:text-[GrayText]", Jt = i(t("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground forced-color-adjust-none forced-colors:data-[highlighted]:bg-[Highlight] forced-colors:data-[highlighted]:text-[HighlightText]", qt), { variants: {} }), Yt = i("absolute left-2 flex h-3.5 w-3.5 items-center justify-center", { variants: {} }), Xt = i("px-2 py-1.5 text-sm font-semibold", { variants: { inset: { true: "pl-8" } } }), Zt = i(t("menu-item relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden forced-color-adjust-none forced-colors:data-[highlighted]:bg-[Highlight] forced-colors:data-[highlighted]:text-[HighlightText] forced-colors:aria-selected:bg-[Highlight] forced-colors:aria-selected:text-[HighlightText]", qt), {
1017
+ variants: {
1018
+ inset: { true: "pl-8" },
1019
+ variant: {
1020
+ default: "data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",
1021
+ danger: "data-[highlighted]:bg-(--red-5) data-[highlighted]:text-(--red-12) aria-selected:bg-(--red-5) aria-selected:text-(--red-12)",
1022
+ muted: "data-[highlighted]:bg-muted/70 data-[highlighted]:text-muted-foreground aria-selected:bg-muted/70 aria-selected:text-muted-foreground",
1023
+ success: "data-[highlighted]:bg-(--grass-3) data-[highlighted]:text-(--grass-11) aria-selected:bg-(--grass-3) aria-selected:text-(--grass-11)",
1024
+ disabled: "text-muted-foreground"
1025
+ }
1026
+ },
1027
+ defaultVariants: { variant: "default" }
1028
+ }), Qt = i("-mx-1 my-1 h-px bg-border last:hidden", { variants: {} }), $t = (e) => {
1029
+ let n = (0, $.c)(8), r, i;
1030
+ n[0] === e ? (r = n[1], i = n[2]) : ({className: r, ...i} = e, n[0] = e, n[1] = r, n[2] = i);
1031
+ let a;
1032
+ n[3] === r ? a = n[4] : (a = t("ml-auto text-xs tracking-widest opacity-60", r), n[3] = r, n[4] = a);
1033
+ let o;
1034
+ return n[5] !== i || n[6] !== a ? (o = /* @__PURE__ */ (0, I.jsx)("span", {
1035
+ className: a,
1036
+ ...i
1037
+ }), n[5] = i, n[6] = a, n[7] = o) : o = n[7], o;
1038
+ };
1039
+ $t.displayName = "MenuShortcut";
1040
+ //#endregion
1041
+ //#region src/components/ui/label.tsx
1042
+ var en = i("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), tn = F.forwardRef((e, n) => {
1043
+ let r = (0, $.c)(9), i, a;
1044
+ r[0] === e ? (i = r[1], a = r[2]) : ({className: i, ...a} = e, r[0] = e, r[1] = i, r[2] = a);
1045
+ let o;
1046
+ r[3] === i ? o = r[4] : (o = t(en(), i), r[3] = i, r[4] = o);
1047
+ let s;
1048
+ return r[5] !== a || r[6] !== n || r[7] !== o ? (s = /* @__PURE__ */ (0, I.jsx)(H, {
1049
+ ref: n,
1050
+ className: o,
1051
+ ...a
1052
+ }), r[5] = a, r[6] = n, r[7] = o, r[8] = s) : s = r[8], s;
1053
+ });
1054
+ tn.displayName = H.displayName;
1055
+ //#endregion
1056
+ //#region src/components/ui/native-select.tsx
1057
+ var nn = i("flex h-6 w-fit mb-1 items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer forced-color-adjust-none forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText] forced-colors:disabled:text-[GrayText]", {
1058
+ variants: { variant: {
1059
+ default: "shadow-xs-solid border border-input hover:shadow-sm-solid focus-visible:border-primary focus-visible:shadow-md-solid disabled:hover:shadow-xs-solid forced-colors:border-[ButtonText] forced-colors:disabled:border-[GrayText]",
1060
+ ghost: "opacity-70 hover:opacity-100 focus:opacity-100"
1061
+ } },
1062
+ defaultVariants: { variant: "default" }
1063
+ }), rn = F.forwardRef((e, r) => {
1064
+ let i = (0, $.c)(12), a, o, s;
1065
+ i[0] === e ? (a = i[1], o = i[2], s = i[3]) : ({className: o, children: a, ...s} = e, i[0] = e, i[1] = a, i[2] = o, i[3] = s);
1066
+ let c;
1067
+ i[4] === Symbol.for("react.memo_cache_sentinel") ? (c = n.stopPropagation(), i[4] = c) : c = i[4];
1068
+ let l;
1069
+ i[5] === o ? l = i[6] : (l = t(nn({}), o), i[5] = o, i[6] = l);
1070
+ let u;
1071
+ return i[7] !== a || i[8] !== s || i[9] !== r || i[10] !== l ? (u = /* @__PURE__ */ (0, I.jsx)("select", {
1072
+ ref: r,
1073
+ onClick: c,
1074
+ className: l,
1075
+ ...s,
1076
+ children: a
1077
+ }), i[7] = a, i[8] = s, i[9] = r, i[10] = l, i[11] = u) : u = i[11], u;
1078
+ });
1079
+ rn.displayName = "NativeSelect";
1080
+ //#endregion
1081
+ //#region src/components/ui/select.tsx
1082
+ var an = xe, on = Ue, sn = S(ke), cn = Te, ln = F.forwardRef((e, n) => {
1083
+ let r = (0, $.c)(21), i, a, o, s, c, l;
1084
+ r[0] === e ? (i = r[1], a = r[2], o = r[3], s = r[4], c = r[5], l = r[6]) : ({className: a, children: i, onClear: o, variant: l, hideChevron: c, ...s} = e, r[0] = e, r[1] = i, r[2] = a, r[3] = o, r[4] = s, r[5] = c, r[6] = l);
1085
+ let u = c !== void 0 && c, d;
1086
+ r[7] !== a || r[8] !== l ? (d = t(nn({ variant: l }), "mb-0", a), r[7] = a, r[8] = l, r[9] = d) : d = r[9];
1087
+ let f;
1088
+ r[10] !== u || r[11] !== o ? (f = o ? /* @__PURE__ */ (0, I.jsx)("span", {
1089
+ onPointerDown: (e) => {
1090
+ e.preventDefault(), e.stopPropagation(), o();
1091
+ },
1092
+ children: /* @__PURE__ */ (0, I.jsx)(g, { className: "h-4 w-4 opacity-50 hover:opacity-90" })
1093
+ }) : !u && /* @__PURE__ */ (0, I.jsx)(N, { className: "h-4 w-4 opacity-50" }), r[10] = u, r[11] = o, r[12] = f) : f = r[12];
1094
+ let p;
1095
+ r[13] === f ? p = r[14] : (p = /* @__PURE__ */ (0, I.jsx)(Ee, {
1096
+ asChild: !0,
1097
+ children: f
1098
+ }), r[13] = f, r[14] = p);
1099
+ let m;
1100
+ return r[15] !== i || r[16] !== s || r[17] !== n || r[18] !== d || r[19] !== p ? (m = /* @__PURE__ */ (0, I.jsxs)(Ce, {
1101
+ ref: n,
1102
+ className: d,
1103
+ ...s,
1104
+ children: [i, p]
1105
+ }), r[15] = i, r[16] = s, r[17] = n, r[18] = d, r[19] = p, r[20] = m) : m = r[20], m;
1106
+ });
1107
+ ln.displayName = Ce.displayName;
1108
+ var un = A(Ae), dn = F.forwardRef((e, n) => {
1109
+ let r = (0, $.c)(21), i, a, o, s;
1110
+ r[0] === e ? (i = r[1], a = r[2], o = r[3], s = r[4]) : ({className: a, children: i, position: s, ...o} = e, r[0] = e, r[1] = i, r[2] = a, r[3] = o, r[4] = s);
1111
+ let c = s === void 0 ? "popper" : s, l = c === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", u;
1112
+ r[5] !== a || r[6] !== l ? (u = t("max-h-[300px] relative z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", l, a), r[5] = a, r[6] = l, r[7] = u) : u = r[7];
1113
+ let d;
1114
+ r[8] === Symbol.for("react.memo_cache_sentinel") ? (d = /* @__PURE__ */ (0, I.jsx)(tt, {
1115
+ className: "flex items-center justify-center h-[20px] bg-background text-muted-foreground cursor-default",
1116
+ children: /* @__PURE__ */ (0, I.jsx)(re, { className: "h-4 w-4" })
1117
+ }), r[8] = d) : d = r[8];
1118
+ let f = c === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)", p;
1119
+ r[9] === f ? p = r[10] : (p = t("p-1", f), r[9] = f, r[10] = p);
1120
+ let m;
1121
+ r[11] !== i || r[12] !== p ? (m = /* @__PURE__ */ (0, I.jsx)(Be, {
1122
+ className: p,
1123
+ children: i
1124
+ }), r[11] = i, r[12] = p, r[13] = m) : m = r[13];
1125
+ let h;
1126
+ r[14] === Symbol.for("react.memo_cache_sentinel") ? (h = /* @__PURE__ */ (0, I.jsx)(rt, {
1127
+ className: "flex items-center justify-center h-[20px] bg-background text-muted-foreground cursor-default",
1128
+ children: /* @__PURE__ */ (0, I.jsx)(N, { className: "h-4 w-4 opacity-50" })
1129
+ }), r[14] = h) : h = r[14];
1130
+ let g;
1131
+ return r[15] !== c || r[16] !== o || r[17] !== n || r[18] !== u || r[19] !== m ? (g = /* @__PURE__ */ (0, I.jsx)(sn, { children: /* @__PURE__ */ (0, I.jsx)(w, { children: /* @__PURE__ */ (0, I.jsxs)(un, {
1132
+ ref: n,
1133
+ className: u,
1134
+ position: c,
1135
+ ...o,
1136
+ children: [
1137
+ d,
1138
+ m,
1139
+ h
1140
+ ]
1141
+ }) }) }), r[15] = c, r[16] = o, r[17] = n, r[18] = u, r[19] = m, r[20] = g) : g = r[20], g;
1142
+ });
1143
+ dn.displayName = Ae.displayName;
1144
+ var fn = F.forwardRef((e, n) => {
1145
+ let r = (0, $.c)(9), i, a;
1146
+ r[0] === e ? (i = r[1], a = r[2]) : ({className: i, ...a} = e, r[0] = e, r[1] = i, r[2] = a);
1147
+ let o;
1148
+ r[3] === i ? o = r[4] : (o = t("px-2 py-1.5 text-sm font-semibold", i), r[3] = i, r[4] = o);
1149
+ let s;
1150
+ return r[5] !== a || r[6] !== n || r[7] !== o ? (s = /* @__PURE__ */ (0, I.jsx)(Ge, {
1151
+ ref: n,
1152
+ className: o,
1153
+ ...a
1154
+ }), r[5] = a, r[6] = n, r[7] = o, r[8] = s) : s = r[8], s;
1155
+ });
1156
+ fn.displayName = Ge.displayName;
1157
+ var pn = F.forwardRef((e, n) => {
1158
+ let r = (0, $.c)(17), i, a, o, s;
1159
+ r[0] === e ? (i = r[1], a = r[2], o = r[3], s = r[4]) : ({className: a, children: i, subtitle: s, ...o} = e, r[0] = e, r[1] = i, r[2] = a, r[3] = o, r[4] = s);
1160
+ let c;
1161
+ r[5] === a ? c = r[6] : (c = t("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-hidden data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground forced-colors:data-[highlighted]:bg-[Highlight] forced-colors:data-[highlighted]:text-[HighlightText]", qt, a), r[5] = a, r[6] = c);
1162
+ let l;
1163
+ r[7] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ (0, I.jsx)("span", {
1164
+ className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center",
1165
+ children: /* @__PURE__ */ (0, I.jsx)($e, { children: /* @__PURE__ */ (0, I.jsx)(m, { className: "h-3 w-3" }) })
1166
+ }), r[7] = l) : l = r[7];
1167
+ let u = typeof i != "string" || void 0, d;
1168
+ r[8] !== i || r[9] !== u ? (d = /* @__PURE__ */ (0, I.jsx)(Ze, {
1169
+ asChild: u,
1170
+ className: "flex w-full flex-1",
1171
+ children: i
1172
+ }), r[8] = i, r[9] = u, r[10] = d) : d = r[10];
1173
+ let f;
1174
+ return r[11] !== o || r[12] !== n || r[13] !== s || r[14] !== c || r[15] !== d ? (f = /* @__PURE__ */ (0, I.jsxs)(Ye, {
1175
+ ref: n,
1176
+ className: c,
1177
+ ...o,
1178
+ children: [
1179
+ l,
1180
+ d,
1181
+ s
1182
+ ]
1183
+ }), r[11] = o, r[12] = n, r[13] = s, r[14] = c, r[15] = d, r[16] = f) : f = r[16], f;
1184
+ });
1185
+ pn.displayName = Ye.displayName;
1186
+ var mn = F.forwardRef((e, n) => {
1187
+ let r = (0, $.c)(9), i, a;
1188
+ r[0] === e ? (i = r[1], a = r[2]) : ({className: i, ...a} = e, r[0] = e, r[1] = i, r[2] = a);
1189
+ let o;
1190
+ r[3] === i ? o = r[4] : (o = t("-mx-1 my-1 h-px bg-muted", i), r[3] = i, r[4] = o);
1191
+ let s;
1192
+ return r[5] !== a || r[6] !== n || r[7] !== o ? (s = /* @__PURE__ */ (0, I.jsx)(at, {
1193
+ ref: n,
1194
+ className: o,
1195
+ ...a
1196
+ }), r[5] = a, r[6] = n, r[7] = o, r[8] = s) : s = r[8], s;
1197
+ });
1198
+ mn.displayName = at.displayName;
1199
+ //#endregion
1200
+ export { B as A, It as C, Ee as D, yt as E, N as M, Ce as O, Vt as S, Ct as T, Zt as _, fn as a, Kt as b, cn as c, tn as d, qt as f, Jt as g, Yt as h, pn as i, re as j, U as k, rn as l, Gt as m, dn as n, mn as o, $t as p, on as r, ln as s, an as t, nn as u, Xt as v, Ft as w, Wt as x, Qt as y };