@marimo-team/islands 0.23.7-dev5 → 0.23.7-dev51

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 (541) hide show
  1. package/dist/{ConnectedDataExplorerComponent-PmilQqXR.js → ConnectedDataExplorerComponent-2lBNiUv6.js} +14 -14
  2. package/dist/{ErrorBoundary-Da4UeYxT.js → ErrorBoundary-D3wrPNma.js} +1 -1
  3. package/dist/{any-language-editor-BVR0l12r.js → any-language-editor-VWs_7v27.js} +15 -15
  4. package/dist/apl-Bdc61P1y.js +4 -0
  5. package/dist/{arc-CHF8PiiF.js → arc-DfkSnvZm.js} +2 -2
  6. package/dist/{architecture-7HQA4BMR-D0JB_3hE.js → architecture-7HQA4BMR-CS9jOrqM.js} +1 -1
  7. package/dist/{architectureDiagram-VXUJARFQ-BXQEUDtK.js → architectureDiagram-VXUJARFQ-CXVJxFhH.js} +16 -16
  8. package/dist/asciiarmor-DVRHDGzT.js +4 -0
  9. package/dist/asn1-BmuKfkfu.js +4 -0
  10. package/dist/assets/__vite-browser-external-CAdMKBac.js +1 -0
  11. package/dist/assets/worker-CpBbwbQo.js +73 -0
  12. package/dist/{blockDiagram-VD42YOAC-DhJe-Y9i.js → blockDiagram-VD42YOAC-DGDaxR8I.js} +11 -11
  13. package/dist/brainfuck-DPrRpyTV.js +4 -0
  14. package/dist/{button-CA5pI2YF.js → button-Dj4BTre0.js} +5 -0
  15. package/dist/{c4Diagram-YG6GDRKO-9dSfzOFR.js → c4Diagram-YG6GDRKO-C2hc6ne8.js} +5 -5
  16. package/dist/{capabilities-6laDasij.js → capabilities-C9rrYCzf.js} +1 -1
  17. package/dist/{channel-MqYIiKgS.js → channel-BBoIVUrJ.js} +1 -1
  18. package/dist/{chat-ui-B-gbqk_F.js → chat-ui-DCyW3OUK.js} +626 -234
  19. package/dist/{check-CFM2mVDr.js → check-BcUIXnUT.js} +1 -1
  20. package/dist/{chunk-4BX2VUAB-BwfrWBqN.js → chunk-4BX2VUAB-CzXltWHN.js} +1 -1
  21. package/dist/{chunk-55IACEB6-D8THf2mi.js → chunk-55IACEB6-B-1mjMMC.js} +1 -1
  22. package/dist/{chunk-5FQGJX7Z-CO1e63h_.js → chunk-5FQGJX7Z-BOg95xG5.js} +2 -2
  23. package/dist/{chunk-ABZYJK2D-BrBb_0yY.js → chunk-ABZYJK2D-D0cLy8Bb.js} +2 -2
  24. package/dist/{chunk-ATLVNIR6-D-0XqNah.js → chunk-ATLVNIR6-BXsEjlHF.js} +2 -2
  25. package/dist/{chunk-B4BG7PRW-8iRKvugR.js → chunk-B4BG7PRW-Q1usn6T3.js} +7 -7
  26. package/dist/{chunk-CVBHYZKI-B6xhgaBd.js → chunk-CVBHYZKI-B_c5YBcW.js} +1 -1
  27. package/dist/{chunk-DI55MBZ5-C0_2D4m4.js → chunk-DI55MBZ5-D1qLYNrb.js} +6 -6
  28. package/dist/{chunk-EXTU4WIE-Jiw9ca1u.js → chunk-EXTU4WIE-BKNXdLmD.js} +2 -2
  29. package/dist/{chunk-FMBD7UC4-CHdus51S.js → chunk-FMBD7UC4-Ie8M9q0W.js} +1 -1
  30. package/dist/{chunk-HN2XXSSU-2Vfbq-kU.js → chunk-HN2XXSSU-E3n-Ys7Z.js} +1 -1
  31. package/dist/{chunk-JA3XYJ7Z-6wbaigKe.js → chunk-JA3XYJ7Z-D6c6cOBG.js} +3 -3
  32. package/dist/{chunk-JZLCHNYA-_rfptlUP.js → chunk-JZLCHNYA-BvsPHJmL.js} +6 -6
  33. package/dist/{chunk-MI3HLSF2-Do0-KRc0.js → chunk-MI3HLSF2-CUYEasXO.js} +1 -1
  34. package/dist/{chunk-N4CR4FBY-DIZG9dVD.js → chunk-N4CR4FBY-8ycT-O9a.js} +7 -7
  35. package/dist/{chunk-QN33PNHL-Cc64y40m.js → chunk-QN33PNHL-Bb-eUBW3.js} +2 -2
  36. package/dist/{chunk-QXUST7PY-BDG0-0Or.js → chunk-QXUST7PY-DV8yRwBd.js} +10 -10
  37. package/dist/{chunk-QZHKN3VN-B_Mdb8GC.js → chunk-QZHKN3VN-DRjXVwuJ.js} +1 -1
  38. package/dist/{chunk-S3R3BYOJ-DphMP0FA.js → chunk-S3R3BYOJ-mQeCz5CE.js} +4 -4
  39. package/dist/{chunk-TZMSLE5B-C9LUoYkc.js → chunk-TZMSLE5B-BqW10dHe.js} +3 -3
  40. package/dist/classDiagram-2ON5EDUG--Yh__LHb.js +30 -0
  41. package/dist/classDiagram-v2-WZHVMYZB-BC7X7Xtc.js +30 -0
  42. package/dist/{clike-sBZrGeF8.js → clike-DTxNUn7l.js} +1 -1
  43. package/dist/clojure-DEttQW5T.js +4 -0
  44. package/dist/cmake-jNlx_DaM.js +4 -0
  45. package/dist/cobol-BvvIm5MJ.js +4 -0
  46. package/dist/{code-block-37QAKDTI-0JNwiPGv.js → code-block-37QAKDTI-BsGy1AOJ.js} +1 -1
  47. package/dist/{code-visibility-D8E8Ctez.js → code-visibility-Cie8OiAd.js} +1403 -1080
  48. package/dist/coffeescript-DTpBMyFU.js +4 -0
  49. package/dist/commonlisp-BmmUG8jb.js +4 -0
  50. package/dist/{copy-TGGAUEWp.js → copy-DLf4aN7I.js} +2 -2
  51. package/dist/{cose-bilkent-S5V4N54A-DXHZkJKX.js → cose-bilkent-S5V4N54A-kjoZoid4.js} +2 -2
  52. package/dist/crystal-BxyqmEWC.js +4 -0
  53. package/dist/css-BGoCtuG3.js +4 -0
  54. package/dist/cypher-BmCbdl3u.js +4 -0
  55. package/dist/d-CFrlbjZt.js +4 -0
  56. package/dist/{dagre-6UL2VRFP-tH87fkPA.js → dagre-6UL2VRFP-DRBWoQUw.js} +10 -10
  57. package/dist/{data-grid-overlay-editor-CWUN78-s.js → data-grid-overlay-editor-efe5ZagF.js} +2 -2
  58. package/dist/{diagram-PSM6KHXK-2VjPSCDn.js → diagram-PSM6KHXK-H66ATWP2.js} +18 -18
  59. package/dist/{diagram-QEK2KX5R-CiLmNyta.js → diagram-QEK2KX5R-DItl5Wns.js} +14 -14
  60. package/dist/{diagram-S2PKOQOG-Zha_1CLx.js → diagram-S2PKOQOG-CtuW_ZuL.js} +14 -14
  61. package/dist/diff-D6XwL6P8.js +4 -0
  62. package/dist/{dist-Brkazupz.js → dist--sWVZwjW.js} +1 -1
  63. package/dist/{dist-FN0ZA_8F.js → dist-21ButRCu.js} +1 -1
  64. package/dist/{dist-BetEKbPG.js → dist-B8RaFTRF.js} +1 -1
  65. package/dist/dist-BoHGySTM.js +5 -0
  66. package/dist/dist-ByAz19Qc.js +5 -0
  67. package/dist/dist-C93EysN4.js +5 -0
  68. package/dist/{dist-BHnX0ia_.js → dist-CY-lVor6.js} +1 -1
  69. package/dist/{dist-YP-G7W0f.js → dist-CYDuv4bR.js} +1 -1
  70. package/dist/{dist-CMjD5MQb.js → dist-Cfo5EE2t.js} +1 -1
  71. package/dist/dist-CjivSDvN.js +5 -0
  72. package/dist/dist-Cqwx-MH7.js +5 -0
  73. package/dist/{dist-ESg7xyoD.js → dist-D3ZI9nhS.js} +2 -2
  74. package/dist/{dist-DkC6YEo0.js → dist-DMZNjfX4.js} +1 -1
  75. package/dist/{dist-ChC1BhqM.js → dist-DbpcoFAV.js} +1 -1
  76. package/dist/dist-FUNenbiQ.js +5 -0
  77. package/dist/{dist-BEOU2g1b.js → dist-zhSud5X3.js} +1 -1
  78. package/dist/{dockerfile-COvlVLcE.js → dockerfile-twL37N91.js} +1 -1
  79. package/dist/dtd-Bw0lRN0-.js +4 -0
  80. package/dist/dylan-B55eBHTt.js +4 -0
  81. package/dist/ecl-C8G4p0wn.js +4 -0
  82. package/dist/eiffel-BmH46VJl.js +4 -0
  83. package/dist/elm-DhzeFqkl.js +4 -0
  84. package/dist/{erDiagram-Q2GNP2WA-biHZS05w.js → erDiagram-Q2GNP2WA--19X2kU5.js} +14 -14
  85. package/dist/erlang-CY-wdlsU.js +4 -0
  86. package/dist/{error-banner-DnBPzEWg.js → error-banner-CVkfBUT3.js} +2 -2
  87. package/dist/{esm-Dd1z1auZ.js → esm-CWp0KQeK.js} +1 -1
  88. package/dist/{esm-CYEyrE3Y.js → esm-DjNnlmpf.js} +96 -96
  89. package/dist/{extends-CzJgxo2J.js → extends-vAi97cpa.js} +4 -4
  90. package/dist/{factor-C2GT7jfQ.js → factor-CajWS6mS.js} +1 -1
  91. package/dist/factor-DWkgl0xw.js +4 -0
  92. package/dist/{flowDiagram-NV44I4VS-CWWlUpBR.js → flowDiagram-NV44I4VS-DQmWlo7f.js} +16 -16
  93. package/dist/{formats-CgaK7Gmx.js → formats-CpgZM9BM.js} +3 -3
  94. package/dist/forth-Cij_ie2t.js +4 -0
  95. package/dist/fortran-Br3X9cfm.js +4 -0
  96. package/dist/{ganttDiagram-JELNMOA3-D7B2c4Z9.js → ganttDiagram-JELNMOA3-BOGXJ8Lk.js} +7 -7
  97. package/dist/gas-DYsGcMN2.js +4 -0
  98. package/dist/gherkin-eVgXQ0fQ.js +4 -0
  99. package/dist/{gitGraph-G5XIXVHT-BdepdFa_.js → gitGraph-G5XIXVHT-DGlbae5m.js} +1 -1
  100. package/dist/{gitGraphDiagram-V2S2FVAM-CtLvNR1S.js → gitGraphDiagram-V2S2FVAM-DjzxfF0P.js} +14 -14
  101. package/dist/{glide-data-editor-CvlvtPWJ.js → glide-data-editor-DucgdjRo.js} +13 -13
  102. package/dist/groovy-_NFHIXG7.js +4 -0
  103. package/dist/haskell-D6xNG_bH.js +4 -0
  104. package/dist/haxe-sU_rzAwn.js +5 -0
  105. package/dist/{html-to-image-hMMPiNe_.js → html-to-image-40ZXSWP-.js} +2806 -2547
  106. package/dist/idl-Ds_VbrUx.js +4 -0
  107. package/dist/{info-VBDWY6EO--JNA2rNu.js → info-VBDWY6EO-D2lvLLw5.js} +1 -1
  108. package/dist/{infoDiagram-HS3SLOUP-BbZyOxsP.js → infoDiagram-HS3SLOUP-ChNufFsP.js} +12 -12
  109. package/dist/{input-BAOe64zx.js → input-D4kjoQUB.js} +8 -6
  110. package/dist/javascript-CztfIl0i.js +4 -0
  111. package/dist/{journeyDiagram-XKPGCS4Q-BU2mjjzl.js → journeyDiagram-XKPGCS4Q-BO_O4Ij1.js} +6 -6
  112. package/dist/julia-DDv40QMV.js +4 -0
  113. package/dist/{kanban-definition-3W4ZIXB7-BlmczUuw.js → kanban-definition-3W4ZIXB7-CPpiiiWk.js} +11 -11
  114. package/dist/{katex-qPqrBHZ8.js → katex-9-9QRhxz.js} +1 -1
  115. package/dist/{label-BCWi-Oqu.js → label-BLqV33b1.js} +2 -2
  116. package/dist/{line-BWRi3U3S.js → line-C5s_12ee.js} +3 -3
  117. package/dist/{linear-DnHwODZa.js → linear-2NnK4cxi.js} +2 -2
  118. package/dist/livescript-BEOngLLc.js +4 -0
  119. package/dist/{loader-BvW0-YWZ.js → loader-Dr8Qem8p.js} +1 -1
  120. package/dist/lua-9-7BhQ4Y.js +4 -0
  121. package/dist/main.js +1299 -1260
  122. package/dist/mathematica-DDa0Pfxm.js +4 -0
  123. package/dist/mbox-iO03mmoE.js +4 -0
  124. package/dist/{mermaid-4DMBBIKO-CG1ECj5W.js → mermaid-4DMBBIKO-B7VQMwJx.js} +1 -1
  125. package/dist/{mermaid-CEbzCxCc.js → mermaid-DO-Daq7u.js} +46 -46
  126. package/dist/{mermaid-parser.core-CleJseNW.js → mermaid-parser.core-DreccfmS.js} +7 -7
  127. package/dist/{mhchem-BwoRNwg_.js → mhchem-yiCCuiEF.js} +1 -1
  128. package/dist/{mindmap-definition-VGOIOE7T-CcSYqYP9.js → mindmap-definition-VGOIOE7T-CC1_Vl0f.js} +13 -13
  129. package/dist/mirc-C9z5LT4X.js +4 -0
  130. package/dist/mllike-jGJbdm_C.js +6 -0
  131. package/dist/modelica-DzF7oIEL.js +4 -0
  132. package/dist/mscgen-DB-u125o.js +6 -0
  133. package/dist/mumps-CRTFHhzh.js +4 -0
  134. package/dist/nsis-C4NPTuox.js +4 -0
  135. package/dist/{nsis-B5K1qoyo.js → nsis-ClF3r5Tr.js} +1 -1
  136. package/dist/ntriples-BCOoGph1.js +4 -0
  137. package/dist/{number-overlay-editor-_GnlYFHC.js → number-overlay-editor-CpKi64Fy.js} +1 -1
  138. package/dist/octave-DTwNlazz.js +4 -0
  139. package/dist/{ordinal-2jIulmcR.js → ordinal-B43ZeR68.js} +1 -1
  140. package/dist/oz-DD38AzSz.js +4 -0
  141. package/dist/{packet-DYOGHKS2-CBxXGWNr.js → packet-DYOGHKS2-CmWtF3uO.js} +1 -1
  142. package/dist/pascal-BohSp9jV.js +4 -0
  143. package/dist/perl-f5OutoPM.js +4 -0
  144. package/dist/{pie-VRWISCQL-Bmdnqjip.js → pie-VRWISCQL-B6u8vus8.js} +1 -1
  145. package/dist/{pieDiagram-ADFJNKIX-DNyLF5H2.js → pieDiagram-ADFJNKIX-Di34MOFQ.js} +19 -19
  146. package/dist/pig-Dv7wSmHb.js +4 -0
  147. package/dist/powershell-rYgjKB39.js +4 -0
  148. package/dist/{process-output-Bza_GK7Q.js → process-output-CCeeXIBd.js} +30 -25
  149. package/dist/properties-BFUNLRDN.js +4 -0
  150. package/dist/protobuf-B9QJQPPv.js +4 -0
  151. package/dist/{pug-tjbzJCFk.js → pug-B_rby2yb.js} +1 -1
  152. package/dist/pug-DzvWpaMC.js +4 -0
  153. package/dist/puppet-B_K-n_xK.js +4 -0
  154. package/dist/python-CAiFcaA2.js +4 -0
  155. package/dist/q-cLeFIBLK.js +4 -0
  156. package/dist/{quadrantDiagram-AYHSOK5B-rXwjifrj.js → quadrantDiagram-AYHSOK5B-B9kVk1ny.js} +3 -3
  157. package/dist/r-04Y-Wco3.js +4 -0
  158. package/dist/{radar-ZZBFDIW7-BmCWDffL.js → radar-ZZBFDIW7-XAmXSa8s.js} +1 -1
  159. package/dist/{react-vega-B-rkEqtS.js → react-vega-Cavbrg4l.js} +1 -1
  160. package/dist/{react-vega-k9ODWPlI.js → react-vega-Dh6-UKKe.js} +13 -13
  161. package/dist/{requirementDiagram-UZGBJVZJ-DBdrMVbs.js → requirementDiagram-UZGBJVZJ-BxGfGYEx.js} +13 -13
  162. package/dist/{reveal-component-Ycn2n8kH.js → reveal-component-CArbt9TT.js} +10 -10
  163. package/dist/rpm-FUdrIia9.js +5 -0
  164. package/dist/ruby-DMjFXuEW.js +4 -0
  165. package/dist/{sankeyDiagram-TZEHDZUN-CxmzalGv.js → sankeyDiagram-TZEHDZUN-D09PBJ-n.js} +4 -4
  166. package/dist/sas-DzHZxjXK.js +4 -0
  167. package/dist/scheme-DxHd_Rb9.js +4 -0
  168. package/dist/semaphore-CNDGTzkX.js +46 -0
  169. package/dist/{sequenceDiagram-WL72ISMW-CVCDsJ9h.js → sequenceDiagram-WL72ISMW-t_Dpemj0.js} +7 -7
  170. package/dist/shell-C8Kwypgf.js +4 -0
  171. package/dist/sieve-DdyqOKXZ.js +4 -0
  172. package/dist/smalltalk-pB7X1D9y.js +4 -0
  173. package/dist/sparql-NhBO6oOa.js +4 -0
  174. package/dist/{spec-DSIuqd3f.js → spec-hVaaZsY5.js} +4 -4
  175. package/dist/{src-BY0BGg6V.js → src-Bf2iLOlr.js} +1 -1
  176. package/dist/{stateDiagram-FKZM4ZOC-D_2djEhW.js → stateDiagram-FKZM4ZOC-B18gTP_j.js} +16 -16
  177. package/dist/stateDiagram-v2-4FDKWEC3-B6e_t14A.js +29 -0
  178. package/dist/{step-DGAGWg3y.js → step-CWipAYTY.js} +1 -1
  179. package/dist/{strings-B_FOH6eV.js → strings-BiIhGaI8.js} +4 -4
  180. package/dist/style.css +1 -1
  181. package/dist/stylus-SfWSnzPv.js +4 -0
  182. package/dist/swift-jRPdq2zR.js +4 -0
  183. package/dist/{swiper-component-KkEVUDd3.js → swiper-component-DlD2GU2g.js} +2 -2
  184. package/dist/tcl-_hpTHGX3.js +4 -0
  185. package/dist/textile-C9h8slqH.js +4 -0
  186. package/dist/{time-CMdrp3hw.js → time-C1SGcFMH.js} +2 -2
  187. package/dist/{timeline-definition-IT6M3QCI-E4NzxCs3.js → timeline-definition-IT6M3QCI-DJnh1ks5.js} +3 -3
  188. package/dist/{toDate-CHtl9vts.js → toDate-CJWlVNGD.js} +3 -3
  189. package/dist/toml-DWvtinD4.js +4 -0
  190. package/dist/{tooltip-B0mtKTXm.js → tooltip-DRaMBu06.js} +3 -3
  191. package/dist/{treemap-GDKQZRPO-CoKHPxa7.js → treemap-GDKQZRPO-Du95DV6u.js} +1 -1
  192. package/dist/troff-Dwo_A0y7.js +4 -0
  193. package/dist/ttcn-V--CPFKq.js +4 -0
  194. package/dist/ttcn-cfg-CPSMchTG.js +4 -0
  195. package/dist/turtle-B4rPGBWu.js +4 -0
  196. package/dist/{types-DBtDeUKD.js → types-Dzuoc3LN.js} +1 -1
  197. package/dist/{useAsyncData-B6hCGywC.js → useAsyncData-C56Khv_R.js} +1 -1
  198. package/dist/{useDateFormatter-B3mCQMP3.js → useDateFormatter-B_9k85Ex.js} +2 -2
  199. package/dist/{useDeepCompareMemoize-CmwDuYUH.js → useDeepCompareMemoize-Dt98v2ua.js} +1 -1
  200. package/dist/{useIframeCapabilities-DbdLoEDm.js → useIframeCapabilities-BkYHTrss.js} +1 -1
  201. package/dist/{useLifecycle-CjMjllqy.js → useLifecycle-BF6-z62y.js} +3 -3
  202. package/dist/{useTheme-CByZUW0p.js → useTheme-DykuNHR2.js} +2 -2
  203. package/dist/vb-DaMBBd4j.js +4 -0
  204. package/dist/vbscript-BMJQqcE2.js +4 -0
  205. package/dist/{vega-component-CC8TqWWV.js → vega-component-BtvQ-Kc4.js} +26 -24
  206. package/dist/velocity-CGq2QRq2.js +4 -0
  207. package/dist/verilog-CUNo8F5u.js +4 -0
  208. package/dist/vhdl-CCzA0msW.js +4 -0
  209. package/dist/webidl-CqIMDIBL.js +4 -0
  210. package/dist/xquery-XC5Kbr-1.js +4 -0
  211. package/dist/{xychartDiagram-PRI3JC2R-CuxTvjw5.js → xychartDiagram-PRI3JC2R-Dk2d_bX0.js} +10 -10
  212. package/dist/yacas-CGOv7Dzy.js +4 -0
  213. package/dist/z80-CXhVmi-f.js +4 -0
  214. package/dist/{zod-BxdsqRPd.js → zod-BWkcDORu.js} +1 -1
  215. package/package.json +3 -3
  216. package/src/components/chat/chat-components.tsx +47 -0
  217. package/src/components/chat/chat-display.tsx +41 -7
  218. package/src/components/chat/chat-panel.tsx +37 -10
  219. package/src/components/chat/chat-utils.ts +42 -20
  220. package/src/components/chat/reasoning-accordion.tsx +14 -3
  221. package/src/components/chat/tool-call/shared.ts +13 -0
  222. package/src/components/chat/tool-call/tool-approval-card.tsx +62 -0
  223. package/src/components/chat/tool-call/tool-args.tsx +26 -0
  224. package/src/components/chat/tool-call/tool-call-view.tsx +99 -0
  225. package/src/components/chat/tool-call/tool-error-card.tsx +81 -0
  226. package/src/components/chat/tool-call/tool-history-row.tsx +153 -0
  227. package/src/components/chat/tool-call/tool-result.tsx +101 -0
  228. package/src/components/data-table/TableTopBar.tsx +5 -1
  229. package/src/components/data-table/__tests__/column-header.test.ts +3 -1
  230. package/src/components/data-table/__tests__/column-header.test.tsx +203 -0
  231. package/src/components/data-table/__tests__/filter-by-values-picker.test.tsx +112 -0
  232. package/src/components/data-table/__tests__/filter-pill-editor.test.tsx +175 -0
  233. package/src/components/data-table/__tests__/filters.test.ts +112 -36
  234. package/src/components/data-table/charts/components/form-fields.tsx +1 -0
  235. package/src/components/data-table/column-header.tsx +210 -157
  236. package/src/components/data-table/data-table.tsx +5 -0
  237. package/src/components/data-table/download-policy/atoms.ts +10 -0
  238. package/src/components/data-table/export-actions.tsx +31 -4
  239. package/src/components/data-table/filter-by-values-picker.tsx +70 -9
  240. package/src/components/data-table/filter-pill-editor.tsx +289 -144
  241. package/src/components/data-table/filter-pills.tsx +49 -8
  242. package/src/components/data-table/filters.ts +131 -36
  243. package/src/components/data-table/header-items.tsx +8 -1
  244. package/src/components/data-table/operator-labels.ts +25 -0
  245. package/src/components/data-table/regex-input.tsx +61 -0
  246. package/src/components/editor/actions/pair-with-agent-modal.tsx +140 -49
  247. package/src/components/editor/actions/useNotebookActions.tsx +3 -1
  248. package/src/components/editor/app-container.tsx +7 -1
  249. package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +10 -2
  250. package/src/components/editor/chrome/wrapper/app-chrome.tsx +1 -0
  251. package/src/components/editor/chrome/wrapper/footer.tsx +4 -1
  252. package/src/components/editor/chrome/wrapper/panels.tsx +4 -1
  253. package/src/components/editor/chrome/wrapper/sidebar.tsx +4 -1
  254. package/src/components/editor/controls/Controls.tsx +11 -3
  255. package/src/components/editor/file-tree/requesting-tree.tsx +27 -25
  256. package/src/components/editor/file-tree/upload.tsx +23 -24
  257. package/src/components/editor/header/__tests__/status.test.tsx +108 -0
  258. package/src/components/editor/header/status.tsx +44 -10
  259. package/src/components/editor/navigation/__tests__/clipboard.test.ts +106 -0
  260. package/src/components/editor/navigation/__tests__/navigation.test.ts +70 -0
  261. package/src/components/editor/navigation/clipboard.ts +99 -25
  262. package/src/components/editor/navigation/navigation.ts +15 -1
  263. package/src/components/editor/notebook-cell.tsx +3 -0
  264. package/src/components/home/components.tsx +6 -0
  265. package/src/components/pages/run-page.tsx +4 -1
  266. package/src/components/ui/combobox.tsx +24 -5
  267. package/src/components/ui/number-field.tsx +2 -0
  268. package/src/core/ai/tools/__tests__/registry.test.ts +10 -12
  269. package/src/core/ai/tools/registry.ts +9 -5
  270. package/src/core/cells/__tests__/cells.test.ts +187 -0
  271. package/src/core/cells/__tests__/pending-cut-service.test.tsx +123 -0
  272. package/src/core/cells/cells.ts +102 -17
  273. package/src/core/cells/document-changes.ts +6 -1
  274. package/src/core/cells/pending-cut-service.ts +55 -0
  275. package/src/core/cells/utils.ts +11 -0
  276. package/src/core/codemirror/cells/extensions.ts +10 -0
  277. package/src/core/codemirror/go-to-definition/__tests__/commands.test.ts +152 -0
  278. package/src/core/codemirror/go-to-definition/__tests__/utils.test.ts +99 -0
  279. package/src/core/codemirror/go-to-definition/commands.ts +382 -22
  280. package/src/core/codemirror/go-to-definition/utils.ts +23 -5
  281. package/src/core/codemirror/markdown/__tests__/commands.test.ts +3 -3
  282. package/src/core/codemirror/markdown/commands.ts +1 -2
  283. package/src/core/edit-app.tsx +2 -1
  284. package/src/core/hotkeys/hotkeys.ts +5 -0
  285. package/src/core/islands/worker/worker.tsx +3 -2
  286. package/src/core/network/requests-network.ts +21 -3
  287. package/src/core/network/types.ts +12 -1
  288. package/src/core/run-app.tsx +2 -1
  289. package/src/core/wasm/__tests__/utils.test.ts +34 -0
  290. package/src/core/wasm/bridge.ts +14 -1
  291. package/src/core/wasm/utils.ts +14 -0
  292. package/src/core/wasm/worker/bootstrap.ts +3 -2
  293. package/src/core/wasm/worker/worker.ts +3 -2
  294. package/src/core/websocket/__tests__/useMarimoKernelConnection.hook.test.tsx +155 -0
  295. package/src/core/websocket/__tests__/useMarimoKernelConnection.test.ts +137 -0
  296. package/src/core/websocket/transports/basic.ts +2 -0
  297. package/src/core/websocket/transports/transport.ts +1 -0
  298. package/src/core/websocket/useMarimoKernelConnection.tsx +130 -55
  299. package/src/core/websocket/useWebSocket.tsx +5 -2
  300. package/src/css/app/Cell.css +10 -0
  301. package/src/plugins/core/__test__/sanitize.test.ts +30 -0
  302. package/src/plugins/impl/DataTablePlugin.tsx +12 -0
  303. package/src/plugins/impl/DropdownPlugin.tsx +12 -1
  304. package/src/plugins/impl/MultiselectPlugin.tsx +4 -0
  305. package/src/plugins/impl/SearchableSelect.tsx +11 -1
  306. package/src/plugins/impl/TabsPlugin.tsx +35 -7
  307. package/src/plugins/impl/__tests__/DropdownPlugin.test.tsx +56 -0
  308. package/src/plugins/impl/__tests__/TabsPlugin.test.tsx +154 -0
  309. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +6 -0
  310. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +48 -36
  311. package/src/plugins/impl/data-frames/schema.ts +4 -1
  312. package/src/plugins/impl/vega/resolve-data.ts +8 -1
  313. package/src/utils/__tests__/id-tree.test.ts +71 -0
  314. package/src/utils/__tests__/semaphore.test.ts +218 -0
  315. package/src/utils/fileToBase64.ts +8 -7
  316. package/src/utils/id-tree.tsx +89 -0
  317. package/src/utils/semaphore.ts +88 -0
  318. package/dist/apl-BKoVld9y.js +0 -4
  319. package/dist/asciiarmor-DQrKIjoo.js +0 -4
  320. package/dist/asn1-BZvnj0dq.js +0 -4
  321. package/dist/assets/__vite-browser-external-rrUYDKRl.js +0 -1
  322. package/dist/assets/worker-Bfy15ViQ.js +0 -73
  323. package/dist/brainfuck-D558nlUv.js +0 -4
  324. package/dist/classDiagram-2ON5EDUG-CBHMR6ZU.js +0 -30
  325. package/dist/classDiagram-v2-WZHVMYZB-BsUtUGM_.js +0 -30
  326. package/dist/clojure-Cq8mTSrE.js +0 -4
  327. package/dist/cmake-D8HCovWK.js +0 -4
  328. package/dist/cobol-UolN-9iU.js +0 -4
  329. package/dist/coffeescript-VdNuWrt5.js +0 -4
  330. package/dist/commonlisp-ALX7fpDc.js +0 -4
  331. package/dist/crystal-PbyO9Q_s.js +0 -4
  332. package/dist/css-DFklJkr_.js +0 -4
  333. package/dist/cypher-BifNeYlv.js +0 -4
  334. package/dist/d-BA-JP4PJ.js +0 -4
  335. package/dist/diff-CtkDpav4.js +0 -4
  336. package/dist/dist-BuBwsFva.js +0 -5
  337. package/dist/dist-BzmEQ9u7.js +0 -5
  338. package/dist/dist-Cih01ssx.js +0 -5
  339. package/dist/dist-CqfONiY9.js +0 -5
  340. package/dist/dist-D0iD0Fi9.js +0 -5
  341. package/dist/dist-DtNLXm8d.js +0 -5
  342. package/dist/dtd-DW3_UFEG.js +0 -4
  343. package/dist/dylan-pDhodO2N.js +0 -4
  344. package/dist/ecl-BJT8-YD7.js +0 -4
  345. package/dist/eiffel-Dmns-9vS.js +0 -4
  346. package/dist/elm-Da4sO4Bz.js +0 -4
  347. package/dist/erlang-C-zBsDi7.js +0 -4
  348. package/dist/factor-4xPWlWB5.js +0 -4
  349. package/dist/forth-l-c75zSd.js +0 -4
  350. package/dist/fortran-DIujSODW.js +0 -4
  351. package/dist/gas-CXnG5g_b.js +0 -4
  352. package/dist/gherkin-VPeqd4-X.js +0 -4
  353. package/dist/groovy-CphhZQgg.js +0 -4
  354. package/dist/haskell-CCvlS5Iq.js +0 -4
  355. package/dist/haxe-C_bi66fP.js +0 -5
  356. package/dist/idl-1DcP4Dm8.js +0 -4
  357. package/dist/javascript-DUIGhBvO.js +0 -4
  358. package/dist/julia-Cs2G4PQi.js +0 -4
  359. package/dist/livescript-DMtVFaAN.js +0 -4
  360. package/dist/lua-BAoLtdJg.js +0 -4
  361. package/dist/mathematica-C_NoFtbo.js +0 -4
  362. package/dist/mbox-DcFJFYrH.js +0 -4
  363. package/dist/mirc-71dccf_u.js +0 -4
  364. package/dist/mllike-CWcOFVDq.js +0 -6
  365. package/dist/modelica-Ape2VXxx.js +0 -4
  366. package/dist/mscgen-Cc6TwbSN.js +0 -6
  367. package/dist/mumps-h-ZbdkJ9.js +0 -4
  368. package/dist/nsis-C0p3m7JW.js +0 -4
  369. package/dist/ntriples-c9lEeT5w.js +0 -4
  370. package/dist/octave-DzEgB_74.js +0 -4
  371. package/dist/oz-CAxvHkyQ.js +0 -4
  372. package/dist/pascal-BJzu1sgP.js +0 -4
  373. package/dist/perl--IrOzZ2Z.js +0 -4
  374. package/dist/pig-CiBKKNhC.js +0 -4
  375. package/dist/powershell-KY0j6Qop.js +0 -4
  376. package/dist/properties-BW8q3ziV.js +0 -4
  377. package/dist/protobuf-BGaeuTGV.js +0 -4
  378. package/dist/pug-DjOKK-4J.js +0 -4
  379. package/dist/puppet-DWm2o6zX.js +0 -4
  380. package/dist/python-Bp2gezZy.js +0 -4
  381. package/dist/q-DljPshos.js +0 -4
  382. package/dist/r-BajPMnEu.js +0 -4
  383. package/dist/rpm-BKx-ZZ62.js +0 -5
  384. package/dist/ruby-DJq_HNKc.js +0 -4
  385. package/dist/sas-WANvpcOU.js +0 -4
  386. package/dist/scheme-CliBbhGF.js +0 -4
  387. package/dist/shell-BwhrNUvM.js +0 -4
  388. package/dist/sieve-BIVePvMp.js +0 -4
  389. package/dist/smalltalk-D6G48JmY.js +0 -4
  390. package/dist/sparql-jjc3BmEP.js +0 -4
  391. package/dist/stateDiagram-v2-4FDKWEC3-Cv9Av10H.js +0 -29
  392. package/dist/stylus-WPBPQ4PE.js +0 -4
  393. package/dist/swift-O1Qy6iCm.js +0 -4
  394. package/dist/tcl-BAFdhvsi.js +0 -4
  395. package/dist/textile-DFuzhNLG.js +0 -4
  396. package/dist/toml-DRSTeely.js +0 -4
  397. package/dist/troff-B_ZjwBW0.js +0 -4
  398. package/dist/ttcn-CAyiB3ic.js +0 -4
  399. package/dist/ttcn-cfg-BS5_BGBJ.js +0 -4
  400. package/dist/turtle-CUBEDy3E.js +0 -4
  401. package/dist/vb-DY9S6-U2.js +0 -4
  402. package/dist/vbscript-gaHC39Jq.js +0 -4
  403. package/dist/velocity-TfCOtJZ_.js +0 -4
  404. package/dist/verilog-c2JOX8mv.js +0 -4
  405. package/dist/vhdl-dHBirRiO.js +0 -4
  406. package/dist/webidl-Bauj-i07.js +0 -4
  407. package/dist/xquery-CtaEAOt8.js +0 -4
  408. package/dist/yacas-BZ85agQP.js +0 -4
  409. package/dist/z80-hCgR-L4U.js +0 -4
  410. package/src/components/chat/tool-call-accordion.tsx +0 -247
  411. /package/dist/{ImageComparisonComponent-DaocPIse.js → ImageComparisonComponent-CNHIsPDj.js} +0 -0
  412. /package/dist/{Plot-PIeIvFnD.js → Plot-4wn-lMVn.js} +0 -0
  413. /package/dist/{apl-Dt8GMXYg.js → apl-BCgCq9iM.js} +0 -0
  414. /package/dist/{array-B-MVxRIF.js → array-tvvEqPy7.js} +0 -0
  415. /package/dist/{asciiarmor-CitDQ85h.js → asciiarmor-BtqU-KJQ.js} +0 -0
  416. /package/dist/{asn1-abrf9SMK.js → asn1-Dmb-dTMx.js} +0 -0
  417. /package/dist/{asterisk-BUZwqih-.js → asterisk-DaVJJDnV.js} +0 -0
  418. /package/dist/{brainfuck-BL-Boof0.js → brainfuck-C1HoZKlE.js} +0 -0
  419. /package/dist/{chunk-4F5CHEZ2-C6tO9vjs.js → chunk-4F5CHEZ2-BZq7Kom7.js} +0 -0
  420. /package/dist/{chunk-B2363JML-Ds8wZXyP.js → chunk-B2363JML-D9-XOau1.js} +0 -0
  421. /package/dist/{chunk-DR5Q36YT-CP69aZS_.js → chunk-DR5Q36YT-BflwErH1.js} +0 -0
  422. /package/dist/{chunk-FRFDVMJY-BgQv1HBE.js → chunk-FRFDVMJY-BSBUAX7r.js} +0 -0
  423. /package/dist/{chunk-PL6DKKU2-DHfTUHy8.js → chunk-PL6DKKU2-B0MTXvyc.js} +0 -0
  424. /package/dist/{chunk-SJTYNZTY-Diciw4sx.js → chunk-SJTYNZTY-CEG4F0pB.js} +0 -0
  425. /package/dist/{chunk-TQ3KTPDO-CQfP9npd.js → chunk-TQ3KTPDO-DiCtqVSi.js} +0 -0
  426. /package/dist/{chunk-UMXZTB3W-MSKeGL7W.js → chunk-UMXZTB3W-97iS1iEl.js} +0 -0
  427. /package/dist/{click-outside-container-BZgN7xS_.js → click-outside-container-BDd67_1U.js} +0 -0
  428. /package/dist/{clike-RWg7anhx.js → clike-CdT0yHjt.js} +0 -0
  429. /package/dist/{clojure-DaojKHow.js → clojure-CdyrCpUv.js} +0 -0
  430. /package/dist/{cmake-DN-_v0XE.js → cmake-BFlPxym7.js} +0 -0
  431. /package/dist/{cobol-C3VpMyux.js → cobol-CcJXewp8.js} +0 -0
  432. /package/dist/{coffeescript-DIkz3Tbt.js → coffeescript-DnKuIKRo.js} +0 -0
  433. /package/dist/{colors-Cn2p_FA3.js → colors-CQAOa8cK.js} +0 -0
  434. /package/dist/{common-keywords-hbLeU7VU.js → common-keywords-FBrXPTcz.js} +0 -0
  435. /package/dist/{commonlisp-CB1boOiP.js → commonlisp-B-kok83Z.js} +0 -0
  436. /package/dist/{crystal-DI2oCml6.js → crystal-FYRYjI1I.js} +0 -0
  437. /package/dist/{css-BdEVwQDV.js → css-B45lc2V3.js} +0 -0
  438. /package/dist/{cypher-BNHToqxU.js → cypher-DZMLyVY_.js} +0 -0
  439. /package/dist/{cytoscape.esm-WbbDoCfu.js → cytoscape.esm-ayF70frT.js} +0 -0
  440. /package/dist/{d-D7we7I1b.js → d-x-VVT4o9.js} +0 -0
  441. /package/dist/{diff-Cia6fzjN.js → diff-Dxe2mpXk.js} +0 -0
  442. /package/dist/{dist-BK-3fF4P.js → dist-B4LJpMEg.js} +0 -0
  443. /package/dist/{dist-CxdUraQr.js → dist-B507mf_I.js} +0 -0
  444. /package/dist/{dist-C89sHDXk.js → dist-BGdYVvOu.js} +0 -0
  445. /package/dist/{dist-DquyVv5H.js → dist-BNyrZfqT.js} +0 -0
  446. /package/dist/{dist-Zn0KNbo9.js → dist-Bc5pmZIw.js} +0 -0
  447. /package/dist/{dist-C-J0pt5p.js → dist-BvCfQQQE.js} +0 -0
  448. /package/dist/{dist-D9r7Cmw7.js → dist-C2ej4eOH.js} +0 -0
  449. /package/dist/{dist-HVuryI1a.js → dist-C34oIrQ9.js} +0 -0
  450. /package/dist/{dist-CGLzXdrt.js → dist-CDFZi-QD.js} +0 -0
  451. /package/dist/{dist-C9fmTOin.js → dist-CYEylvZA.js} +0 -0
  452. /package/dist/{dist-DadjmS-4.js → dist-DJ6zJQZ4.js} +0 -0
  453. /package/dist/{dist-CtCY55Jf.js → dist-Dh3wkoyH.js} +0 -0
  454. /package/dist/{dist-C474qFoq.js → dist-Dhk6FMb0.js} +0 -0
  455. /package/dist/{dist-DZjQ_MBo.js → dist-KnujRhFL.js} +0 -0
  456. /package/dist/{dist-CinA9Enb.js → dist-WdPUFc56.js} +0 -0
  457. /package/dist/{dist-DBLeRrPp.js → dist-t_qL7eB8.js} +0 -0
  458. /package/dist/{dist-CyFFzJTb.js → dist-usPCDYx8.js} +0 -0
  459. /package/dist/{dtd-H4Hubdwp.js → dtd-C9VM_Wfu.js} +0 -0
  460. /package/dist/{duckdb-keywords-CZ_ZTscu.js → duckdb-keywords-CvJhR_Yd.js} +0 -0
  461. /package/dist/{dylan-fVO6rnq3.js → dylan-DTSnEIFO.js} +0 -0
  462. /package/dist/{ebnf-WEXPLEWb.js → ebnf-2D4Ctp3y.js} +0 -0
  463. /package/dist/{ecl-B94VPjNR.js → ecl-N04ptnRK.js} +0 -0
  464. /package/dist/{eiffel-C_R6TusS.js → eiffel-Dd8rpqr_.js} +0 -0
  465. /package/dist/{elm-DzCHbO2g.js → elm-GT2E866W.js} +0 -0
  466. /package/dist/{erlang-BGNkx6JU.js → erlang-Cf0Bp5pY.js} +0 -0
  467. /package/dist/{esm-Bb_hbWan.js → esm-BaaaPNGl.js} +0 -0
  468. /package/dist/{fcl-B_Gv5Jfx.js → fcl-Ccj8Z5Xd.js} +0 -0
  469. /package/dist/{forth-Bybw0cJ7.js → forth-wd_XzGTg.js} +0 -0
  470. /package/dist/{fortran-C6PoCLkI.js → fortran-DcwUTZFe.js} +0 -0
  471. /package/dist/{gas-BBlhenj4.js → gas-DeALIER3.js} +0 -0
  472. /package/dist/{gherkin-NXtNG85X.js → gherkin-CKTqaJNX.js} +0 -0
  473. /package/dist/{groovy-BoFYK9xM.js → groovy-Bwdp_d8D.js} +0 -0
  474. /package/dist/{haskell-BtBdvQ1n.js → haskell-DCdCcPLK.js} +0 -0
  475. /package/dist/{haxe-D--o6dr0.js → haxe-DAyktQWJ.js} +0 -0
  476. /package/dist/{http-Dc2fv19V.js → http-_DVAYWoR.js} +0 -0
  477. /package/dist/{idl-AqTq5l7e.js → idl-CBuZiRYu.js} +0 -0
  478. /package/dist/{init-D-g0ONX1.js → init-uv0kkh4g.js} +0 -0
  479. /package/dist/{javascript-DvwNVye9.js → javascript-DzigE11c.js} +0 -0
  480. /package/dist/{julia-DoKiagZC.js → julia-PwfB-0Cm.js} +0 -0
  481. /package/dist/{katex-B7pMJpE0.js → katex-C_XRmjAP.js} +0 -0
  482. /package/dist/{livescript-DxBZMiWB.js → livescript-BJLz1EbT.js} +0 -0
  483. /package/dist/{lua-DmS_0NTu.js → lua-ZC-XC2jf.js} +0 -0
  484. /package/dist/{math-BYK36kWZ.js → math-DFcdCCU8.js} +0 -0
  485. /package/dist/{mathematica-ChlDFeIC.js → mathematica-DCYMx6qB.js} +0 -0
  486. /package/dist/{mbox-CguZuODr.js → mbox-OxMK_9XI.js} +0 -0
  487. /package/dist/{mirc-CFtY8dqz.js → mirc-nJVyhA0H.js} +0 -0
  488. /package/dist/{mllike-C0EJrEOk.js → mllike-DRO89bsU.js} +0 -0
  489. /package/dist/{modelica-C1kO1nfS.js → modelica-Don3E6ZD.js} +0 -0
  490. /package/dist/{mscgen-DEYdr7AY.js → mscgen-DJfqD3bN.js} +0 -0
  491. /package/dist/{mumps-B3NVJs2V.js → mumps-SjGTvDYL.js} +0 -0
  492. /package/dist/{nginx-ComVAAGN.js → nginx-DasThI7R.js} +0 -0
  493. /package/dist/{node-sql-parser-DNGGJ-Rw.js → node-sql-parser-B8nBD36q.js} +0 -0
  494. /package/dist/{ntriples-DHol9X9H.js → ntriples-CNBKRl3I.js} +0 -0
  495. /package/dist/{octave-CYGz0bfo.js → octave-DdeVHNlx.js} +0 -0
  496. /package/dist/{oz-kPxb2ni5.js → oz-CcKSoNvN.js} +0 -0
  497. /package/dist/{pascal-bZ0yrJKy.js → pascal-6leftwNj.js} +0 -0
  498. /package/dist/{path-Du6n3sOU.js → path-BGaWgPKg.js} +0 -0
  499. /package/dist/{perl-z4hvqyqz.js → perl-BhJIwWzN.js} +0 -0
  500. /package/dist/{pig-DZO8QDF9.js → pig-r-xDHqRf.js} +0 -0
  501. /package/dist/{powershell-BSuaDQEC.js → powershell-D-BELeNi.js} +0 -0
  502. /package/dist/{properties-BXhGLlIx.js → properties-CnuDhbll.js} +0 -0
  503. /package/dist/{protobuf-DM6iybWV.js → protobuf-CO8RBhvX.js} +0 -0
  504. /package/dist/{puppet-Bn05sQT8.js → puppet-NmXHjLy8.js} +0 -0
  505. /package/dist/{python-Cvnhm0g7.js → python-DAQXi720.js} +0 -0
  506. /package/dist/{q-B9V8hzex.js → q-DlikXfV0.js} +0 -0
  507. /package/dist/{r-Cf0gFqmq.js → r-CuohilwT.js} +0 -0
  508. /package/dist/{rpm-D-LMkTV1.js → rpm-0Pjwp0Pb.js} +0 -0
  509. /package/dist/{ruby-DeuPikpK.js → ruby-Dq8NJTDG.js} +0 -0
  510. /package/dist/{sas-C9tjgAo9.js → sas-CuwonyVP.js} +0 -0
  511. /package/dist/{scheme-D1_bUF0G.js → scheme-CYU-RRIf.js} +0 -0
  512. /package/dist/{shell-CJBmnks3.js → shell-COPmX2qE.js} +0 -0
  513. /package/dist/{sieve-1fSV75CF.js → sieve-B_3zyLne.js} +0 -0
  514. /package/dist/{simple-mode-B90Wdavj.js → simple-mode-DSBniks8.js} +0 -0
  515. /package/dist/{smalltalk-sZNPD0HO.js → smalltalk-DRft7iPv.js} +0 -0
  516. /package/dist/{solr-DTkyqJ-Z.js → solr-RZ9uTl59.js} +0 -0
  517. /package/dist/{sparql-oHc1nm77.js → sparql-CN6qj55H.js} +0 -0
  518. /package/dist/{spreadsheet-CER0raqY.js → spreadsheet-BNNUNXA2.js} +0 -0
  519. /package/dist/{sql-ByOoEONQ.js → sql-B4x8IkwU.js} +0 -0
  520. /package/dist/{stylus-KzkX6zRB.js → stylus-Bn_ZjOQ3.js} +0 -0
  521. /package/dist/{swift-DqVxZvKo.js → swift-BLUJhMbz.js} +0 -0
  522. /package/dist/{tcl-BtWSwXfA.js → tcl-C86fxecl.js} +0 -0
  523. /package/dist/{textile-CWDbn9Ql.js → textile-DmHh2rsK.js} +0 -0
  524. /package/dist/{tiddlywiki-Cr9xyOY1.js → tiddlywiki-DI0mF2WJ.js} +0 -0
  525. /package/dist/{tiki-D5JONyfZ.js → tiki-2HU6XLLn.js} +0 -0
  526. /package/dist/{timer-D7JVdX9U.js → timer-YZl28NYN.js} +0 -0
  527. /package/dist/{toml-BfehlgmL.js → toml-GWANRNAD.js} +0 -0
  528. /package/dist/{treemap-qFGzn7xk.js → treemap-D-ka1hvx.js} +0 -0
  529. /package/dist/{troff-BZBk6AAu.js → troff-BHTsomIy.js} +0 -0
  530. /package/dist/{ttcn-DVwvXg0_.js → ttcn-DQuhn5Mn.js} +0 -0
  531. /package/dist/{ttcn-cfg-gjbVLf1L.js → ttcn-cfg-HjFYtdB-.js} +0 -0
  532. /package/dist/{turtle-CgxKXorV.js → turtle-nCay33Nv.js} +0 -0
  533. /package/dist/{vb-B9kSwTdM.js → vb-BG-XlqqJ.js} +0 -0
  534. /package/dist/{vbscript-DrUKSCdb.js → vbscript-B6vyW0-D.js} +0 -0
  535. /package/dist/{velocity-AlMYTnMy.js → velocity-CWegueqO.js} +0 -0
  536. /package/dist/{verilog-DLUaM05j.js → verilog-CzSQm4cG.js} +0 -0
  537. /package/dist/{vhdl-DUJOtSmO.js → vhdl-DqnNVL7r.js} +0 -0
  538. /package/dist/{webidl-CQp4aHk_.js → webidl-DXEUpDWH.js} +0 -0
  539. /package/dist/{xquery-IxkjlwOD.js → xquery-Ba_NB5bD.js} +0 -0
  540. /package/dist/{yacas-Bnctn5w8.js → yacas-HKQU6hyk.js} +0 -0
  541. /package/dist/{z80-DrFwhx53.js → z80-CXkHXLdj.js} +0 -0
@@ -2,39 +2,39 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
5
- import { _ as Logger, c as Objects, g as cn, h as Events, m as useComposedRefs, p as composeRefs, r as cva, t as Button, v as Functions } from "./button-CA5pI2YF.js";
5
+ import { _ as Logger, c as Objects, g as cn, h as Events, m as useComposedRefs, p as composeRefs, r as cva, t as Button, v as Functions } from "./button-Dj4BTre0.js";
6
6
  import { t as require_react } from "./react-DA-nE2FX.js";
7
7
  import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
8
- import { n as Copy, r as toast, t as copyToClipboard } from "./copy-TGGAUEWp.js";
9
- import { $ as useCellActions, $t as getTracebackInfo, A as ChevronRightIcon, An as Minus, Bn as Braces, C as AccordionContent, En as Trash2, Ft as jotaiJsonStorage, Hn as import_lib, I as base64ToUint8Array, Jt as useRequestClient, Kt as getRequestClient, Lt as PluralWord, M as PinLeftIcon, Mt as useChromeActions, N as PinRightIcon, O as CheckIcon, Pn as FileText, Pt as adaptForLocalStorage, Qt as extractAllTracebackInfo, R as extractBase64FromDataURL, Rn as CircleX, S as Accordion, St as Checkbox, T as AccordionTrigger, Tn as Wrench, V as renderHTML, Vn as esm_default, Y as notebookAtom, Zt as elementContainsMarimoCellFile, _n as atomWithStorage, _t as getCellDomProps, at as AnsiUp, bn as Close$1, c as Popover, cn as SCRATCH_CELL_ID, ct as kioskModeAtom, d as PopoverTrigger, dt as outputIsLoading, et as useCellIds, g as getDatasourceContext, gt as DATA_CELL_ID, hn as jsonToTSV, ht as sanitizeHtml, j as DotFilledIcon, jn as LoaderCircle, kn as NotebookPen, kt as goToCellLine, l as PopoverClose$1, lt as useInstallAllowed, m as useExpandedOutput, mn as jsonToMarkdown, n as MarkdownRenderer, nn as filenameAtom, on as CellOutputId, pn as jsonParseWithSpecialChar, q as getCellEditorView, s as Spinner, sn as HTMLCellId, t as toPng, tt as useCellNames, u as PopoverContent, ut as viewStateAtom, vt as displayCellName, w as AccordionItem, z as isDataURLString, zt as DATA_TYPE_ICON, __tla as __tla_0 } from "./html-to-image-hMMPiNe_.js";
10
- import { o as useSize, u as createLucideIcon } from "./dist-ESg7xyoD.js";
11
- import { i as createReducerAndAtoms, r as Badge } from "./useLifecycle-CjMjllqy.js";
12
- import { a as ListFilter, i as Table$1, o as ChartPie, t as $896ba0a80a8f4d36$export$85fd5fdf27bacc79 } from "./useDateFormatter-B3mCQMP3.js";
13
- import { t as Check } from "./check-CFM2mVDr.js";
14
- import { C as $a916eb452884faea$export$b7a616150fdb9f44, F as X, L as ChevronDown, M as usePrevious$1, N as useDirection, S as logNever, T as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, _ as menuItemVariants, b as menuSubTriggerVariants, c as SelectSeparator, g as menuControlVariants, h as menuControlCheckVariants, i as SelectContent, l as SelectTrigger, m as menuContentCommon, n as capitalize, o as SelectItem, p as MENU_ITEM_DISABLED, r as Select, t as Strings, u as SelectValue, v as menuLabelVariants, x as assertNever, y as menuSeparatorVariants } from "./strings-B_FOH6eV.js";
15
- import { $t as Portal, G as marked, Gt as Anchor2, Jt as Content2$1, Kt as Arrow2, Qt as Label, Xt as Item2$2, Yt as Group, Zt as ItemIndicator, _ as DropdownMenuSub, a as NumberField, an as SubContent, b as DropdownMenuTrigger, c as prettyNumber, cn as Item, d as DropdownMenuContent, dn as Search, en as RadioGroup$2, fn as Circle, g as DropdownMenuSeparator, h as DropdownMenuPortal, in as Sub, l as prettyScientificNumber, ln as Root$2, m as DropdownMenuLabel, nn as Root3, o as maxFractionalDigits, on as SubTrigger, p as DropdownMenuItem, pn as ChevronRight, qt as CheckboxItem, r as Input, rn as Separator$1, s as prettyEngineeringNumber, sn as createMenuScope, tn as RadioItem, u as DropdownMenu, un as createRovingFocusGroupScope, v as DropdownMenuSubContent, y as DropdownMenuSubTrigger } from "./input-BAOe64zx.js";
16
- import { _ as isWasm, a as millisecondsInMinute, c as asRemoteURL, d as isStaticNotebook, i as millisecondsInHour, n as constructFrom, o as millisecondsInSecond, p as isUrl, r as millisecondsInDay, s as millisecondsInWeek, t as toDate } from "./toDate-CHtl9vts.js";
8
+ import { n as Copy, r as toast, t as copyToClipboard } from "./copy-DLf4aN7I.js";
9
+ import { $ as useCellActions, $t as getTracebackInfo, A as ChevronRightIcon, An as Minus, C as AccordionContent, En as Trash2, Ft as jotaiJsonStorage, Hn as esm_default, I as base64ToUint8Array, In as ExternalLink, Jt as useRequestClient, Kt as getRequestClient, Lt as PluralWord, M as PinLeftIcon, Mt as useChromeActions, N as PinRightIcon, O as CheckIcon, Pn as FileText, Pt as adaptForLocalStorage, Qt as extractAllTracebackInfo, R as extractBase64FromDataURL, S as Accordion, St as Checkbox, T as AccordionTrigger, Tn as Wrench, Un as import_lib, V as renderHTML, Vn as Braces, Y as notebookAtom, Zt as elementContainsMarimoCellFile, _n as atomWithStorage, _t as getCellDomProps, at as AnsiUp, bn as Close$1, c as Popover, cn as SCRATCH_CELL_ID, ct as kioskModeAtom, d as PopoverTrigger, dt as outputIsLoading, et as useCellIds, g as getDatasourceContext, gt as DATA_CELL_ID, hn as jsonToTSV, ht as sanitizeHtml, j as DotFilledIcon, jn as LoaderCircle, kn as NotebookPen, kt as goToCellLine, l as PopoverClose$1, lt as useInstallAllowed, m as useExpandedOutput, mn as jsonToMarkdown, n as MarkdownRenderer, nn as filenameAtom, on as CellOutputId, pn as jsonParseWithSpecialChar, q as getCellEditorView, s as Spinner, sn as HTMLCellId, t as toPng, tt as useCellNames, u as PopoverContent, ut as viewStateAtom, vt as displayCellName, w as AccordionItem, z as isDataURLString, zn as CircleX, zt as DATA_TYPE_ICON, __tla as __tla_0 } from "./html-to-image-40ZXSWP-.js";
10
+ import { o as useSize, u as createLucideIcon } from "./dist-D3ZI9nhS.js";
11
+ import { i as createReducerAndAtoms, r as Badge } from "./useLifecycle-BF6-z62y.js";
12
+ import { a as ListFilter, i as Table$1, o as ChartPie, t as $896ba0a80a8f4d36$export$85fd5fdf27bacc79 } from "./useDateFormatter-B_9k85Ex.js";
13
+ import { t as Check } from "./check-BcUIXnUT.js";
14
+ import { C as $a916eb452884faea$export$b7a616150fdb9f44, F as X, L as ChevronDown, M as usePrevious$1, N as useDirection, S as logNever, T as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, _ as menuItemVariants, b as menuSubTriggerVariants, g as menuControlVariants, h as menuControlCheckVariants, i as SelectContent, l as SelectTrigger, m as menuContentCommon, o as SelectItem, p as MENU_ITEM_DISABLED, r as Select, t as Strings, u as SelectValue, v as menuLabelVariants, x as assertNever, y as menuSeparatorVariants } from "./strings-BiIhGaI8.js";
15
+ import { $t as Portal, G as marked, Gt as Anchor2, Jt as Content2$1, Kt as Arrow2, Qt as Label, Xt as Item2$2, Yt as Group, Zt as ItemIndicator, _ as DropdownMenuSub, a as NumberField, an as SubContent, b as DropdownMenuTrigger, c as prettyNumber, cn as Item, d as DropdownMenuContent, dn as Search, en as RadioGroup$2, fn as Circle, g as DropdownMenuSeparator, h as DropdownMenuPortal, in as Sub, l as prettyScientificNumber, ln as Root$2, m as DropdownMenuLabel, nn as Root3, o as maxFractionalDigits, on as SubTrigger, p as DropdownMenuItem, pn as ChevronRight, qt as CheckboxItem, r as Input, rn as Separator$1, s as prettyEngineeringNumber, sn as createMenuScope, tn as RadioItem, u as DropdownMenu, un as createRovingFocusGroupScope, v as DropdownMenuSubContent, y as DropdownMenuSubTrigger } from "./input-D4kjoQUB.js";
16
+ import { _ as isWasm, a as millisecondsInMinute, c as asRemoteURL, d as isStaticNotebook, i as millisecondsInHour, n as constructFrom, o as millisecondsInSecond, p as isUrl, r as millisecondsInDay, s as millisecondsInWeek, t as toDate } from "./toDate-CJWlVNGD.js";
17
17
  import { n as clsx_default } from "./clsx-CyyyQ8Ue.js";
18
18
  import { t as require_react_dom } from "./react-dom-BWRJ_g_k.js";
19
19
  import { t as require_jsx_runtime } from "./jsx-runtime-COBk7ree.js";
20
- import { $ as StyleNamespace, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive$1, dt as Presence, ft as useControllableState, gt as createContextScope, lt as useCallbackRef, mt as composeEventHandlers, ut as useId$2 } from "./zod-BxdsqRPd.js";
21
- import { a as Content$1, c as Root$3, i as prettyError, n as ErrorBanner, o as Overlay, s as Portal$1, t as Banner } from "./error-banner-DnBPzEWg.js";
22
- import { t as Tooltip } from "./tooltip-B0mtKTXm.js";
23
- import { f as CopyClipboardIcon, t as _extends } from "./extends-CzJgxo2J.js";
20
+ import { $ as StyleNamespace, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive$1, dt as Presence, ft as useControllableState, gt as createContextScope, lt as useCallbackRef, mt as composeEventHandlers, ut as useId$2 } from "./zod-BWkcDORu.js";
21
+ import { a as Content$1, c as Root$3, i as prettyError, n as ErrorBanner, o as Overlay, s as Portal$1, t as Banner } from "./error-banner-CVkfBUT3.js";
22
+ import { t as Tooltip } from "./tooltip-DRaMBu06.js";
23
+ import { f as CopyClipboardIcon, t as _extends } from "./extends-vAi97cpa.js";
24
24
  import { r as KnownQueryParams } from "./constants-D0gkYoE2.js";
25
- import { C as dequal, S as getBuildingBlocks, _ as useSetAtom, d as useJotaiEffect, g as useAtomValue, h as useAtom, m as Provider, n as useTheme, r as aiEnabledAtom, v as useStore, w as useEvent_default, x as buildStore, y as atom } from "./useTheme-CByZUW0p.js";
25
+ import { C as dequal, S as getBuildingBlocks, _ as useSetAtom, d as useJotaiEffect, g as useAtomValue, h as useAtom, m as Provider, n as useTheme, r as aiEnabledAtom, v as useStore, w as useEvent_default, x as buildStore, y as atom } from "./useTheme-DykuNHR2.js";
26
26
  import { Z as EditorView } from "./dist-CCADb07R.js";
27
27
  import { t as invariant } from "./invariant-UcGKQEhF.js";
28
28
  import { c as uniqueBy, t as Arrays } from "./arrays-CldYf7p7.js";
29
29
  import { n as once, t as memoizeLastValue } from "./once-rJImu7SE.js";
30
30
  import { a as parser } from "./dist-nuW5EDYT.js";
31
- import { a as isValid, i as AlertTitle, n as Alert, t as arrow } from "./formats-CgaK7Gmx.js";
31
+ import { a as isValid, i as AlertTitle, n as Alert, t as arrow } from "./formats-CpgZM9BM.js";
32
32
  import { n as memoize$1, t as isPropValid } from "./emotion-is-prop-valid.esm-DtW2o230.js";
33
- import { t as ErrorBoundary } from "./ErrorBoundary-Da4UeYxT.js";
33
+ import { t as ErrorBoundary } from "./ErrorBoundary-D3wrPNma.js";
34
34
  import { n as formats } from "./vega-loader.browser-3_z8GoFC.js";
35
- import { a as getContainerWidth, n as vegaLoadData, r as createBatchedLoader, s as tooltipHandler, t as parseCsvData } from "./loader-BvW0-YWZ.js";
36
- import { t as useIframeCapabilities } from "./useIframeCapabilities-DbdLoEDm.js";
37
- import { t as useAsyncData } from "./useAsyncData-B6hCGywC.js";
35
+ import { a as getContainerWidth, n as vegaLoadData, r as createBatchedLoader, s as tooltipHandler, t as parseCsvData } from "./loader-Dr8Qem8p.js";
36
+ import { t as useIframeCapabilities } from "./useIframeCapabilities-BkYHTrss.js";
37
+ import { t as useAsyncData } from "./useAsyncData-C56Khv_R.js";
38
38
  let filtersToFilterGroup, contextAwarePanelOwner, Funnel, TableCell, ChevronLeft, prettifyRowCount, useOverflowDetection, ContextAwarePanelItem, EmotionCacheProvider, ComboboxItem, HtmlOutput, Toggle, Code, generateColumns, TableHeader, Fill, ChevronsUpDown, ColumnChartContext, inferFieldTypes, Provider$1, ChevronsRight, isCellAwareAtom, Expand, SlotNames, Ellipsis, PANEL_TYPES, TextWrap, slotsController, Download, usePrevious, Table, ChevronsLeft, prettifyRowColumnCount, LazyVegaEmbed, Combobox, Kbd, TableRow, TableHead, ArrowDownWideNarrow, NAMELESS_COLUMN_PREFIX, DelayMount, ColumnChartSpecModel, useIntersectionObserver, downloadBlob, TabsList, DEFAULT_SLIDE_TYPE, TOO_MANY_ROWS, Progress, ChartInfoState, Slide, Command, JsonOutput, CommandItem, getPageIndexForRow, OutputArea, CommandList, ADD_PRINTING_CLASS, TabsContent, InstallPackageButton, Tabs, DEFAULT_DECK_TRANSITION, SELECT_COLUMN_ID, contextAwarePanelType, EyeOff, contextAwarePanelOpen, GripHorizontal, RadioGroup, CommandEmpty, DataTable, Maps, marimoVersionAtom, loadTableData, SLIDE_TYPE_OPTIONS_BY_VALUE, toFieldTypes, OutputRenderer, CommandSeparator, renderCellValue, showCodeInRunModeAtom, INDEX_COLUMN_NAME, SlideSidebar, getMimeValues, useNotebookCodeAvailable, loadTableAndRawData, RadioGroupItem, CommandInput, downloadByURL, TabsTrigger, useInternalStateWithSync, RenderTextWithLinks, Filenames, ChartLoadingState, downloadHTMLAsImage, ChartErrorState, TableBody, ChevronsDownUp;
39
39
  let __tla = Promise.all([
40
40
  (() => {
@@ -45,7 +45,7 @@ let __tla = Promise.all([
45
45
  })()
46
46
  ]).then(async () => {
47
47
  var _a;
48
- let ArrowUpNarrowWide, BrickWall, BugPlay, ChartSpline, Cookie, ExternalLink, FunnelPlus, FunnelX, Keyboard, LayoutTemplate, ListFilterPlus, MessageCircle, Package, PanelRightClose, PanelRightOpen, PanelRight, PinOff, Rows2, Sparkles, SquareArrowOutUpRight, SquareStack, Terminal, TextAlignJustify, TextAlignStart, require_use_sync_external_store_shim_production, require_shim, import_react, import_jsx_runtime, CONTEXT_MENU_NAME, createContextMenuContext, createContextMenuScope, useMenuScope, ContextMenuProvider, useContextMenuContext, ContextMenu$1;
48
+ let ArrowUpNarrowWide, BrickWall, BugPlay, ChartSpline, Cookie, FunnelPlus, FunnelX, Keyboard, LayoutTemplate, ListFilterPlus, MessageCircle, Package, PanelRightClose, PanelRightOpen, PanelRight, PinOff, Rows2, Sparkles, SquareArrowOutUpRight, SquareStack, Terminal, TextAlignJustify, TextAlignStart, require_use_sync_external_store_shim_production, require_shim, import_react, import_jsx_runtime, CONTEXT_MENU_NAME, createContextMenuContext, createContextMenuScope, useMenuScope, ContextMenuProvider, useContextMenuContext, ContextMenu$1;
49
49
  ArrowDownWideNarrow = createLucideIcon("arrow-down-wide-narrow", [
50
50
  [
51
51
  "path",
@@ -506,29 +506,6 @@ let __tla = Promise.all([
506
506
  }
507
507
  ]
508
508
  ]);
509
- ExternalLink = createLucideIcon("external-link", [
510
- [
511
- "path",
512
- {
513
- d: "M15 3h6v6",
514
- key: "1q9fwt"
515
- }
516
- ],
517
- [
518
- "path",
519
- {
520
- d: "M10 14 21 3",
521
- key: "gplh6r"
522
- }
523
- ],
524
- [
525
- "path",
526
- {
527
- d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",
528
- key: "a6xqqp"
529
- }
530
- ]
531
- ]);
532
509
  EyeOff = createLucideIcon("eye-off", [
533
510
  [
534
511
  "path",
@@ -5676,9 +5653,9 @@ Defaulting to \`null\`.`;
5676
5653
  t,
5677
5654
  i.name
5678
5655
  ]), null;
5679
- }), import_compiler_runtime$51 = require_compiler_runtime();
5656
+ }), import_compiler_runtime$52 = require_compiler_runtime();
5680
5657
  EmotionCacheProvider = (e) => {
5681
- let t = (0, import_compiler_runtime$51.c)(6), { container: n, children: i } = e, a;
5658
+ let t = (0, import_compiler_runtime$52.c)(6), { container: n, children: i } = e, a;
5682
5659
  bb0: {
5683
5660
  if (!n) {
5684
5661
  let e3;
@@ -6082,7 +6059,7 @@ Defaulting to \`null\`.`;
6082
6059
  return (!n || Object.keys(n).length === 0) && delete e2[t2], e2;
6083
6060
  }, t);
6084
6061
  }
6085
- function capitalize$1(e) {
6062
+ function capitalize(e) {
6086
6063
  if (typeof e != "string") throw Error(formatMuiErrorMessage(7));
6087
6064
  return e.charAt(0).toUpperCase() + e.slice(1);
6088
6065
  }
@@ -6104,7 +6081,7 @@ Defaulting to \`null\`.`;
6104
6081
  let o2 = e2[t], s = e2.theme, c = getPath(s, i) || {};
6105
6082
  return handleBreakpoints(e2, o2, (e3) => {
6106
6083
  let i2 = getStyleValue$1(c, a, e3);
6107
- return e3 === i2 && typeof e3 == "string" && (i2 = getStyleValue$1(c, a, `${t}${e3 === "default" ? "" : capitalize$1(e3)}`, e3)), n === false ? i2 : {
6084
+ return e3 === i2 && typeof e3 == "string" && (i2 = getStyleValue$1(c, a, `${t}${e3 === "default" ? "" : capitalize(e3)}`, e3)), n === false ? i2 : {
6108
6085
  [n]: i2
6109
6086
  };
6110
6087
  });
@@ -6692,7 +6669,7 @@ Defaulting to \`null\`.`;
6692
6669
  let h = getPath(n, c) || {};
6693
6670
  return f ? f(a) : handleBreakpoints(a, t2, (t3) => {
6694
6671
  let n2 = getStyleValue$1(h, d, t3);
6695
- return t3 === n2 && typeof t3 == "string" && (n2 = getStyleValue$1(h, d, `${e2}${t3 === "default" ? "" : capitalize$1(t3)}`, t3)), s === false ? n2 : {
6672
+ return t3 === n2 && typeof t3 == "string" && (n2 = getStyleValue$1(h, d, `${e2}${t3 === "default" ? "" : capitalize(t3)}`, t3)), s === false ? n2 : {
6696
6673
  [s]: n2
6697
6674
  };
6698
6675
  });
@@ -7591,33 +7568,33 @@ try {
7591
7568
  }, f = import_react.createContext(void 0), h = () => import_react.useContext(f) || d, _ = {}, v = {};
7592
7569
  function y(e2) {
7593
7570
  var _a2, _b, _c, _d;
7594
- let { children: d2, theme: h2, modeStorageKey: y2 = i, colorSchemeStorageKey: S2 = a, disableTransitionOnChange: w2 = o, storageManager: E, storageWindow: O = typeof window > "u" ? void 0 : window, documentNode: A = typeof document > "u" ? void 0 : document, colorSchemeNode: M = typeof document > "u" ? void 0 : document.documentElement, disableNestedContext: I = false, disableStyleSheetGeneration: z = false, defaultMode: U = "system", noSsr: K } = e2, q = import_react.useRef(false), J = useTheme$2(), Q = import_react.useContext(f), TN = !!Q && !I, $ = import_react.useMemo(() => h2 || (typeof n == "function" ? n() : n), [
7571
+ let { children: d2, theme: h2, modeStorageKey: y2 = i, colorSchemeStorageKey: S2 = a, disableTransitionOnChange: w2 = o, storageManager: E, storageWindow: O = typeof window > "u" ? void 0 : window, documentNode: A = typeof document > "u" ? void 0 : document, colorSchemeNode: M = typeof document > "u" ? void 0 : document.documentElement, disableNestedContext: I = false, disableStyleSheetGeneration: z = false, defaultMode: U = "system", noSsr: K } = e2, q = import_react.useRef(false), J = useTheme$2(), Q = import_react.useContext(f), UN = !!Q && !I, WN = import_react.useMemo(() => h2 || (typeof n == "function" ? n() : n), [
7595
7572
  h2
7596
- ]), EN = $[t], DN = EN || $, { colorSchemes: ON = _, components: kN = v, cssVarPrefix: AN } = DN, jN = Object.keys(ON).filter((e3) => !!ON[e3]).join(","), MN = import_react.useMemo(() => jN.split(","), [
7597
- jN
7598
- ]), NN = typeof s == "string" ? s : s.light, PN = typeof s == "string" ? s : s.dark, { mode: FN, setMode: IN, systemMode: LN, lightColorScheme: RN, darkColorScheme: zN, colorScheme: BN, setColorScheme: VN } = useCurrentColorScheme({
7599
- supportedColorSchemes: MN,
7600
- defaultLightColorScheme: NN,
7601
- defaultDarkColorScheme: PN,
7573
+ ]), GN = WN[t], KN = GN || WN, { colorSchemes: $ = _, components: qN = v, cssVarPrefix: JN } = KN, YN = Object.keys($).filter((e3) => !!$[e3]).join(","), XN = import_react.useMemo(() => YN.split(","), [
7574
+ YN
7575
+ ]), ZN = typeof s == "string" ? s : s.light, QN = typeof s == "string" ? s : s.dark, { mode: $N, setMode: eP, systemMode: tP, lightColorScheme: nP, darkColorScheme: rP, colorScheme: iP, setColorScheme: aP } = useCurrentColorScheme({
7576
+ supportedColorSchemes: XN,
7577
+ defaultLightColorScheme: ZN,
7578
+ defaultDarkColorScheme: QN,
7602
7579
  modeStorageKey: y2,
7603
7580
  colorSchemeStorageKey: S2,
7604
- defaultMode: ON[NN] && ON[PN] ? U : ((_b = (_a2 = ON[DN.defaultColorScheme]) == null ? void 0 : _a2.palette) == null ? void 0 : _b.mode) || ((_c = DN.palette) == null ? void 0 : _c.mode),
7581
+ defaultMode: $[ZN] && $[QN] ? U : ((_b = (_a2 = $[KN.defaultColorScheme]) == null ? void 0 : _a2.palette) == null ? void 0 : _b.mode) || ((_c = KN.palette) == null ? void 0 : _c.mode),
7605
7582
  storageManager: E,
7606
7583
  storageWindow: O,
7607
7584
  noSsr: K
7608
- }), HN = FN, UN = BN;
7609
- TN && (HN = Q.mode, UN = Q.colorScheme);
7610
- let WN = import_react.useMemo(() => {
7585
+ }), oP = $N, sP = iP;
7586
+ UN && (oP = Q.mode, sP = Q.colorScheme);
7587
+ let cP = import_react.useMemo(() => {
7611
7588
  var _a3;
7612
- let e3 = UN || DN.defaultColorScheme, t2 = ((_a3 = DN.generateThemeVars) == null ? void 0 : _a3.call(DN)) || DN.vars, n2 = {
7613
- ...DN,
7614
- components: kN,
7615
- colorSchemes: ON,
7616
- cssVarPrefix: AN,
7589
+ let e3 = sP || KN.defaultColorScheme, t2 = ((_a3 = KN.generateThemeVars) == null ? void 0 : _a3.call(KN)) || KN.vars, n2 = {
7590
+ ...KN,
7591
+ components: qN,
7592
+ colorSchemes: $,
7593
+ cssVarPrefix: JN,
7617
7594
  vars: t2
7618
7595
  };
7619
7596
  if (typeof n2.generateSpacing == "function" && (n2.spacing = n2.generateSpacing()), e3) {
7620
- let t3 = ON[e3];
7597
+ let t3 = $[e3];
7621
7598
  t3 && typeof t3 == "object" && Object.keys(t3).forEach((e4) => {
7622
7599
  t3[e4] && typeof t3[e4] == "object" ? n2[e4] = {
7623
7600
  ...n2[e4],
@@ -7627,31 +7604,31 @@ try {
7627
7604
  }
7628
7605
  return c ? c(n2) : n2;
7629
7606
  }, [
7630
- DN,
7631
- UN,
7632
- kN,
7633
- ON,
7634
- AN
7635
- ]), GN = DN.colorSchemeSelector;
7607
+ KN,
7608
+ sP,
7609
+ qN,
7610
+ $,
7611
+ JN
7612
+ ]), lP = KN.colorSchemeSelector;
7636
7613
  useEnhancedEffect_default(() => {
7637
- if (UN && M && GN && GN !== "media") {
7638
- let e3 = GN, t2 = GN;
7639
- if (e3 === "class" && (t2 = ".%s"), e3 === "data" && (t2 = "[data-%s]"), (e3 == null ? void 0 : e3.startsWith("data-")) && !e3.includes("%s") && (t2 = `[${e3}="%s"]`), t2.startsWith(".")) M.classList.remove(...MN.map((e4) => t2.substring(1).replace("%s", e4))), M.classList.add(t2.substring(1).replace("%s", UN));
7614
+ if (sP && M && lP && lP !== "media") {
7615
+ let e3 = lP, t2 = lP;
7616
+ if (e3 === "class" && (t2 = ".%s"), e3 === "data" && (t2 = "[data-%s]"), (e3 == null ? void 0 : e3.startsWith("data-")) && !e3.includes("%s") && (t2 = `[${e3}="%s"]`), t2.startsWith(".")) M.classList.remove(...XN.map((e4) => t2.substring(1).replace("%s", e4))), M.classList.add(t2.substring(1).replace("%s", sP));
7640
7617
  else {
7641
- let e4 = t2.replace("%s", UN).match(/\[([^\]]+)\]/);
7618
+ let e4 = t2.replace("%s", sP).match(/\[([^\]]+)\]/);
7642
7619
  if (e4) {
7643
7620
  let [t3, n2] = e4[1].split("=");
7644
- n2 || MN.forEach((e5) => {
7645
- M.removeAttribute(t3.replace(UN, e5));
7621
+ n2 || XN.forEach((e5) => {
7622
+ M.removeAttribute(t3.replace(sP, e5));
7646
7623
  }), M.setAttribute(t3, n2 ? n2.replace(/"|'/g, "") : "");
7647
- } else M.setAttribute(t2, UN);
7624
+ } else M.setAttribute(t2, sP);
7648
7625
  }
7649
7626
  }
7650
7627
  }, [
7651
- UN,
7652
- GN,
7628
+ sP,
7629
+ lP,
7653
7630
  M,
7654
- MN
7631
+ XN
7655
7632
  ]), import_react.useEffect(() => {
7656
7633
  let e3;
7657
7634
  if (w2 && q.current && A) {
@@ -7664,48 +7641,48 @@ try {
7664
7641
  clearTimeout(e3);
7665
7642
  };
7666
7643
  }, [
7667
- UN,
7644
+ sP,
7668
7645
  w2,
7669
7646
  A
7670
7647
  ]), import_react.useEffect(() => (q.current = true, () => {
7671
7648
  q.current = false;
7672
7649
  }), []);
7673
- let KN = import_react.useMemo(() => ({
7674
- allColorSchemes: MN,
7675
- colorScheme: UN,
7676
- darkColorScheme: zN,
7677
- lightColorScheme: RN,
7678
- mode: HN,
7679
- setColorScheme: VN,
7680
- setMode: IN,
7681
- systemMode: LN
7650
+ let uP = import_react.useMemo(() => ({
7651
+ allColorSchemes: XN,
7652
+ colorScheme: sP,
7653
+ darkColorScheme: rP,
7654
+ lightColorScheme: nP,
7655
+ mode: oP,
7656
+ setColorScheme: aP,
7657
+ setMode: eP,
7658
+ systemMode: tP
7682
7659
  }), [
7683
- MN,
7684
- UN,
7685
- zN,
7686
- RN,
7687
- HN,
7688
- VN,
7689
- IN,
7690
- LN,
7691
- WN.colorSchemeSelector
7692
- ]), qN = true;
7693
- (z || DN.cssVariables === false || TN && (J == null ? void 0 : J.cssVarPrefix) === AN) && (qN = false);
7694
- let JN = (0, import_jsx_runtime.jsxs)(import_react.Fragment, {
7660
+ XN,
7661
+ sP,
7662
+ rP,
7663
+ nP,
7664
+ oP,
7665
+ aP,
7666
+ eP,
7667
+ tP,
7668
+ cP.colorSchemeSelector
7669
+ ]), dP = true;
7670
+ (z || KN.cssVariables === false || UN && (J == null ? void 0 : J.cssVarPrefix) === JN) && (dP = false);
7671
+ let fP = (0, import_jsx_runtime.jsxs)(import_react.Fragment, {
7695
7672
  children: [
7696
7673
  (0, import_jsx_runtime.jsx)(ThemeProvider_default, {
7697
- themeId: EN ? t : void 0,
7698
- theme: WN,
7674
+ themeId: GN ? t : void 0,
7675
+ theme: cP,
7699
7676
  children: d2
7700
7677
  }),
7701
- qN && (0, import_jsx_runtime.jsx)(GlobalStyles$1, {
7702
- styles: ((_d = WN.generateStyleSheets) == null ? void 0 : _d.call(WN)) || []
7678
+ dP && (0, import_jsx_runtime.jsx)(GlobalStyles$1, {
7679
+ styles: ((_d = cP.generateStyleSheets) == null ? void 0 : _d.call(cP)) || []
7703
7680
  })
7704
7681
  ]
7705
7682
  });
7706
- return TN ? JN : (0, import_jsx_runtime.jsx)(f.Provider, {
7707
- value: KN,
7708
- children: JN
7683
+ return UN ? fP : (0, import_jsx_runtime.jsx)(f.Provider, {
7684
+ value: uP,
7685
+ children: fP
7709
7686
  });
7710
7687
  }
7711
7688
  let S = typeof s == "string" ? s : s.light, w = typeof s == "string" ? s : s.dark;
@@ -8584,7 +8561,7 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
8584
8561
  ...t
8585
8562
  });
8586
8563
  }
8587
- var capitalize_default = capitalize$1;
8564
+ var capitalize_default = capitalize;
8588
8565
  function GlobalStyles(e) {
8589
8566
  return (0, import_jsx_runtime.jsx)(GlobalStyles_default$1, {
8590
8567
  ...e,
@@ -9205,10 +9182,10 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
9205
9182
  let n = useDefaultProps({
9206
9183
  props: e,
9207
9184
  name: "MuiInputBase"
9208
- }), { "aria-describedby": i, autoComplete: a, autoFocus: o, className: s, color: c, components: d = {}, componentsProps: f = {}, defaultValue: h, disabled: _, disableInjectingGlobalStyles: v, endAdornment: y, error: S, fullWidth: w = false, id: E, inputComponent: O = "input", inputProps: A = {}, inputRef: M, margin: I, maxRows: z, minRows: U, multiline: K = false, name: q, onBlur: J, onChange: Q, onClick: TN, onFocus: $, onKeyDown: EN, onKeyUp: DN, placeholder: ON, readOnly: kN, renderSuffix: AN, rows: jN, size: MN, slotProps: NN = {}, slots: PN = {}, startAdornment: FN, type: IN = "text", value: LN, ...RN } = n, zN = A.value == null ? LN : A.value, { current: BN } = import_react.useRef(zN != null), VN = import_react.useRef(), HN = import_react.useCallback((e2) => {
9209
- }, []), UN = useForkRef_default(VN, M, A.ref, HN), [WN, GN] = import_react.useState(false), KN = useFormControl(), qN = formControlState({
9185
+ }), { "aria-describedby": i, autoComplete: a, autoFocus: o, className: s, color: c, components: d = {}, componentsProps: f = {}, defaultValue: h, disabled: _, disableInjectingGlobalStyles: v, endAdornment: y, error: S, fullWidth: w = false, id: E, inputComponent: O = "input", inputProps: A = {}, inputRef: M, margin: I, maxRows: z, minRows: U, multiline: K = false, name: q, onBlur: J, onChange: Q, onClick: UN, onFocus: WN, onKeyDown: GN, onKeyUp: KN, placeholder: $, readOnly: qN, renderSuffix: JN, rows: YN, size: XN, slotProps: ZN = {}, slots: QN = {}, startAdornment: $N, type: eP = "text", value: tP, ...nP } = n, rP = A.value == null ? tP : A.value, { current: iP } = import_react.useRef(rP != null), aP = import_react.useRef(), oP = import_react.useCallback((e2) => {
9186
+ }, []), sP = useForkRef_default(aP, M, A.ref, oP), [cP, lP] = import_react.useState(false), uP = useFormControl(), dP = formControlState({
9210
9187
  props: n,
9211
- muiFormControl: KN,
9188
+ muiFormControl: uP,
9212
9189
  states: [
9213
9190
  "color",
9214
9191
  "disabled",
@@ -9219,145 +9196,145 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
9219
9196
  "filled"
9220
9197
  ]
9221
9198
  });
9222
- qN.focused = KN ? KN.focused : WN, import_react.useEffect(() => {
9223
- !KN && _ && WN && (GN(false), J && J());
9199
+ dP.focused = uP ? uP.focused : cP, import_react.useEffect(() => {
9200
+ !uP && _ && cP && (lP(false), J && J());
9224
9201
  }, [
9225
- KN,
9202
+ uP,
9226
9203
  _,
9227
- WN,
9204
+ cP,
9228
9205
  J
9229
9206
  ]);
9230
- let JN = KN && KN.onFilled, YN = KN && KN.onEmpty, XN = import_react.useCallback((e2) => {
9231
- isFilled(e2) ? JN && JN() : YN && YN();
9207
+ let fP = uP && uP.onFilled, pP = uP && uP.onEmpty, mP = import_react.useCallback((e2) => {
9208
+ isFilled(e2) ? fP && fP() : pP && pP();
9232
9209
  }, [
9233
- JN,
9234
- YN
9210
+ fP,
9211
+ pP
9235
9212
  ]);
9236
9213
  useEnhancedEffect_default$1(() => {
9237
- BN && XN({
9238
- value: zN
9214
+ iP && mP({
9215
+ value: rP
9239
9216
  });
9240
9217
  }, [
9241
- zN,
9242
- XN,
9243
- BN
9218
+ rP,
9219
+ mP,
9220
+ iP
9244
9221
  ]);
9245
- let ZN = (e2) => {
9246
- $ && $(e2), A.onFocus && A.onFocus(e2), KN && KN.onFocus ? KN.onFocus(e2) : GN(true);
9247
- }, QN = (e2) => {
9248
- J && J(e2), A.onBlur && A.onBlur(e2), KN && KN.onBlur ? KN.onBlur(e2) : GN(false);
9249
- }, $N = (e2, ...t2) => {
9250
- if (!BN) {
9251
- let t3 = e2.target || VN.current;
9222
+ let hP = (e2) => {
9223
+ WN && WN(e2), A.onFocus && A.onFocus(e2), uP && uP.onFocus ? uP.onFocus(e2) : lP(true);
9224
+ }, gP = (e2) => {
9225
+ J && J(e2), A.onBlur && A.onBlur(e2), uP && uP.onBlur ? uP.onBlur(e2) : lP(false);
9226
+ }, _P = (e2, ...t2) => {
9227
+ if (!iP) {
9228
+ let t3 = e2.target || aP.current;
9252
9229
  if (t3 == null) throw Error(formatMuiErrorMessage(1));
9253
- XN({
9230
+ mP({
9254
9231
  value: t3.value
9255
9232
  });
9256
9233
  }
9257
9234
  A.onChange && A.onChange(e2, ...t2), Q && Q(e2, ...t2);
9258
9235
  };
9259
9236
  import_react.useEffect(() => {
9260
- XN(VN.current);
9237
+ mP(aP.current);
9261
9238
  }, []);
9262
- let eP = (e2) => {
9263
- VN.current && e2.currentTarget === e2.target && VN.current.focus(), TN && TN(e2);
9264
- }, tP = O, nP = A;
9265
- K && tP === "input" && (nP = jN ? {
9239
+ let vP = (e2) => {
9240
+ aP.current && e2.currentTarget === e2.target && aP.current.focus(), UN && UN(e2);
9241
+ }, yP = O, bP = A;
9242
+ K && yP === "input" && (bP = YN ? {
9266
9243
  type: void 0,
9267
- minRows: jN,
9268
- maxRows: jN,
9269
- ...nP
9244
+ minRows: YN,
9245
+ maxRows: YN,
9246
+ ...bP
9270
9247
  } : {
9271
9248
  type: void 0,
9272
9249
  maxRows: z,
9273
9250
  minRows: U,
9274
- ...nP
9275
- }, tP = TextareaAutosize_default);
9276
- let rP = (e2) => {
9277
- XN(e2.animationName === "mui-auto-fill-cancel" ? VN.current : {
9251
+ ...bP
9252
+ }, yP = TextareaAutosize_default);
9253
+ let xP = (e2) => {
9254
+ mP(e2.animationName === "mui-auto-fill-cancel" ? aP.current : {
9278
9255
  value: "x"
9279
9256
  });
9280
9257
  };
9281
9258
  import_react.useEffect(() => {
9282
- KN && KN.setAdornedStart(!!FN);
9259
+ uP && uP.setAdornedStart(!!$N);
9283
9260
  }, [
9284
- KN,
9285
- FN
9261
+ uP,
9262
+ $N
9286
9263
  ]);
9287
- let iP = {
9264
+ let SP = {
9288
9265
  ...n,
9289
- color: qN.color || "primary",
9290
- disabled: qN.disabled,
9266
+ color: dP.color || "primary",
9267
+ disabled: dP.disabled,
9291
9268
  endAdornment: y,
9292
- error: qN.error,
9293
- focused: qN.focused,
9294
- formControl: KN,
9269
+ error: dP.error,
9270
+ focused: dP.focused,
9271
+ formControl: uP,
9295
9272
  fullWidth: w,
9296
- hiddenLabel: qN.hiddenLabel,
9273
+ hiddenLabel: dP.hiddenLabel,
9297
9274
  multiline: K,
9298
- size: qN.size,
9299
- startAdornment: FN,
9300
- type: IN
9301
- }, aP = useUtilityClasses(iP), oP = PN.root || d.Root || InputBaseRoot, sP = NN.root || f.root || {}, cP = PN.input || d.Input || InputBaseInput;
9302
- return nP = {
9303
- ...nP,
9304
- ...NN.input ?? f.input
9275
+ size: dP.size,
9276
+ startAdornment: $N,
9277
+ type: eP
9278
+ }, CP = useUtilityClasses(SP), wP = QN.root || d.Root || InputBaseRoot, TP = ZN.root || f.root || {}, EP = QN.input || d.Input || InputBaseInput;
9279
+ return bP = {
9280
+ ...bP,
9281
+ ...ZN.input ?? f.input
9305
9282
  }, (0, import_jsx_runtime.jsxs)(import_react.Fragment, {
9306
9283
  children: [
9307
9284
  !v && typeof InputGlobalStyles == "function" && (_InputGlobalStyles || (_InputGlobalStyles = (0, import_jsx_runtime.jsx)(InputGlobalStyles, {}))),
9308
- (0, import_jsx_runtime.jsxs)(oP, {
9309
- ...sP,
9285
+ (0, import_jsx_runtime.jsxs)(wP, {
9286
+ ...TP,
9310
9287
  ref: t,
9311
- onClick: eP,
9312
- ...RN,
9313
- ...!isHostComponent_default(oP) && {
9288
+ onClick: vP,
9289
+ ...nP,
9290
+ ...!isHostComponent_default(wP) && {
9314
9291
  ownerState: {
9315
- ...iP,
9316
- ...sP.ownerState
9292
+ ...SP,
9293
+ ...TP.ownerState
9317
9294
  }
9318
9295
  },
9319
- className: clsx_default(aP.root, sP.className, s, kN && "MuiInputBase-readOnly"),
9296
+ className: clsx_default(CP.root, TP.className, s, qN && "MuiInputBase-readOnly"),
9320
9297
  children: [
9321
- FN,
9298
+ $N,
9322
9299
  (0, import_jsx_runtime.jsx)(FormControlContext_default.Provider, {
9323
9300
  value: null,
9324
- children: (0, import_jsx_runtime.jsx)(cP, {
9325
- "aria-invalid": qN.error,
9301
+ children: (0, import_jsx_runtime.jsx)(EP, {
9302
+ "aria-invalid": dP.error,
9326
9303
  "aria-describedby": i,
9327
9304
  autoComplete: a,
9328
9305
  autoFocus: o,
9329
9306
  defaultValue: h,
9330
- disabled: qN.disabled,
9307
+ disabled: dP.disabled,
9331
9308
  id: E,
9332
- onAnimationStart: rP,
9309
+ onAnimationStart: xP,
9333
9310
  name: q,
9334
- placeholder: ON,
9335
- readOnly: kN,
9336
- required: qN.required,
9337
- rows: jN,
9338
- value: zN,
9339
- onKeyDown: EN,
9340
- onKeyUp: DN,
9341
- type: IN,
9342
- ...nP,
9343
- ...!isHostComponent_default(cP) && {
9344
- as: tP,
9311
+ placeholder: $,
9312
+ readOnly: qN,
9313
+ required: dP.required,
9314
+ rows: YN,
9315
+ value: rP,
9316
+ onKeyDown: GN,
9317
+ onKeyUp: KN,
9318
+ type: eP,
9319
+ ...bP,
9320
+ ...!isHostComponent_default(EP) && {
9321
+ as: yP,
9345
9322
  ownerState: {
9346
- ...iP,
9347
- ...nP.ownerState
9323
+ ...SP,
9324
+ ...bP.ownerState
9348
9325
  }
9349
9326
  },
9350
- ref: UN,
9351
- className: clsx_default(aP.input, nP.className, kN && "MuiInputBase-readOnly"),
9352
- onBlur: QN,
9353
- onChange: $N,
9354
- onFocus: ZN
9327
+ ref: sP,
9328
+ className: clsx_default(CP.input, bP.className, qN && "MuiInputBase-readOnly"),
9329
+ onBlur: gP,
9330
+ onChange: _P,
9331
+ onFocus: hP
9355
9332
  })
9356
9333
  }),
9357
9334
  y,
9358
- AN ? AN({
9359
- ...qN,
9360
- startAdornment: FN
9335
+ JN ? JN({
9336
+ ...dP,
9337
+ startAdornment: $N
9361
9338
  }) : null
9362
9339
  ]
9363
9340
  })
@@ -10433,30 +10410,30 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10433
10410
  M,
10434
10411
  i,
10435
10412
  a
10436
- ]), z = useJsonViewerStore((e2) => e2.setHover), U = useJsonViewerStore((e2) => e2.value), [K, q] = useInspect(i, t, a), [J, Q] = (0, import_react.useState)(false), TN = useJsonViewerStore((e2) => e2.onChange), $ = useTextColor(), EN = useJsonViewerStore((e2) => e2.colorspace.base0C), DN = useJsonViewerStore((e2) => e2.colorspace.base0A), ON = useJsonViewerStore((e2) => e2.displayComma), kN = useJsonViewerStore((e2) => e2.quotesOnKeys), AN = useJsonViewerStore((e2) => e2.rootName), jN = U === t, MN = Number.isInteger(Number(A)), NN = useJsonViewerStore((e2) => e2.enableAdd), PN = useJsonViewerStore((e2) => e2.onAdd), FN = (0, import_react.useMemo)(() => !PN || a !== void 0 || NN === false || v === false ? false : typeof NN == "function" ? !!NN(i, t) : !!(Array.isArray(t) || isPlainObject(t)), [
10437
- PN,
10413
+ ]), z = useJsonViewerStore((e2) => e2.setHover), U = useJsonViewerStore((e2) => e2.value), [K, q] = useInspect(i, t, a), [J, Q] = (0, import_react.useState)(false), UN = useJsonViewerStore((e2) => e2.onChange), WN = useTextColor(), GN = useJsonViewerStore((e2) => e2.colorspace.base0C), KN = useJsonViewerStore((e2) => e2.colorspace.base0A), $ = useJsonViewerStore((e2) => e2.displayComma), qN = useJsonViewerStore((e2) => e2.quotesOnKeys), JN = useJsonViewerStore((e2) => e2.rootName), YN = U === t, XN = Number.isInteger(Number(A)), ZN = useJsonViewerStore((e2) => e2.enableAdd), QN = useJsonViewerStore((e2) => e2.onAdd), $N = (0, import_react.useMemo)(() => !QN || a !== void 0 || ZN === false || v === false ? false : typeof ZN == "function" ? !!ZN(i, t) : !!(Array.isArray(t) || isPlainObject(t)), [
10414
+ QN,
10438
10415
  a,
10439
10416
  i,
10440
- NN,
10417
+ ZN,
10441
10418
  v,
10442
10419
  t
10443
- ]), IN = useJsonViewerStore((e2) => e2.enableDelete), LN = useJsonViewerStore((e2) => e2.onDelete), RN = (0, import_react.useMemo)(() => !LN || a !== void 0 || jN || IN === false || v === false ? false : typeof IN == "function" ? !!IN(i, t) : IN, [
10444
- LN,
10420
+ ]), eP = useJsonViewerStore((e2) => e2.enableDelete), tP = useJsonViewerStore((e2) => e2.onDelete), nP = (0, import_react.useMemo)(() => !tP || a !== void 0 || YN || eP === false || v === false ? false : typeof eP == "function" ? !!eP(i, t) : eP, [
10421
+ tP,
10445
10422
  a,
10446
- jN,
10423
+ YN,
10447
10424
  i,
10448
- IN,
10425
+ eP,
10449
10426
  v,
10450
10427
  t
10451
- ]), zN = useJsonViewerStore((e2) => e2.enableClipboard), { copy: BN, copied: VN } = useClipboard(), HN = useJsonViewerStore((e2) => e2.highlightUpdates), UN = (0, import_react.useMemo)(() => !HN || n === void 0 ? false : typeof t == typeof n ? typeof t == "number" ? isNaN(t) && isNaN(n) ? false : t !== n : Array.isArray(t) === Array.isArray(n) ? typeof t == "object" || typeof t == "function" ? false : t !== n : true : true, [
10452
- HN,
10428
+ ]), rP = useJsonViewerStore((e2) => e2.enableClipboard), { copy: iP, copied: aP } = useClipboard(), oP = useJsonViewerStore((e2) => e2.highlightUpdates), sP = (0, import_react.useMemo)(() => !oP || n === void 0 ? false : typeof t == typeof n ? typeof t == "number" ? isNaN(t) && isNaN(n) ? false : t !== n : Array.isArray(t) === Array.isArray(n) ? typeof t == "object" || typeof t == "function" ? false : t !== n : true : true, [
10429
+ oP,
10453
10430
  n,
10454
10431
  t
10455
- ]), WN = (0, import_react.useRef)();
10432
+ ]), cP = (0, import_react.useRef)();
10456
10433
  (0, import_react.useEffect)(() => {
10457
- WN.current && UN && "animate" in WN.current && WN.current.animate([
10434
+ cP.current && sP && "animate" in cP.current && cP.current.animate([
10458
10435
  {
10459
- backgroundColor: DN
10436
+ backgroundColor: KN
10460
10437
  },
10461
10438
  {
10462
10439
  backgroundColor: ""
@@ -10466,40 +10443,40 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10466
10443
  easing: "ease-in"
10467
10444
  });
10468
10445
  }, [
10469
- DN,
10470
- UN,
10446
+ KN,
10447
+ sP,
10471
10448
  n,
10472
10449
  t
10473
10450
  ]);
10474
- let GN = (0, import_react.useCallback)((e2) => {
10451
+ let lP = (0, import_react.useCallback)((e2) => {
10475
10452
  e2.preventDefault(), h && E(h(t)), Q(true);
10476
10453
  }, [
10477
10454
  h,
10478
10455
  t
10479
- ]), KN = (0, import_react.useCallback)(() => {
10456
+ ]), uP = (0, import_react.useCallback)(() => {
10480
10457
  Q(false), E("");
10481
10458
  }, [
10482
10459
  Q,
10483
10460
  E
10484
- ]), qN = (0, import_react.useCallback)((e2) => {
10461
+ ]), dP = (0, import_react.useCallback)((e2) => {
10485
10462
  if (Q(false), _) try {
10486
- TN(i, t, _(e2));
10463
+ UN(i, t, _(e2));
10487
10464
  } catch {
10488
10465
  }
10489
10466
  }, [
10490
10467
  Q,
10491
10468
  _,
10492
- TN,
10469
+ UN,
10493
10470
  i,
10494
10471
  t
10495
- ]), JN = (0, import_react.useMemo)(() => J ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10472
+ ]), fP = (0, import_react.useMemo)(() => J ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10496
10473
  children: [
10497
10474
  (0, import_jsx_runtime.jsx)(IconBox, {
10498
10475
  children: (0, import_jsx_runtime.jsx)(CloseIcon, {
10499
10476
  sx: {
10500
10477
  fontSize: ".8rem"
10501
10478
  },
10502
- onClick: KN
10479
+ onClick: uP
10503
10480
  })
10504
10481
  }),
10505
10482
  (0, import_jsx_runtime.jsx)(IconBox, {
@@ -10507,22 +10484,22 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10507
10484
  sx: {
10508
10485
  fontSize: ".8rem"
10509
10486
  },
10510
- onClick: () => qN(w)
10487
+ onClick: () => dP(w)
10511
10488
  })
10512
10489
  })
10513
10490
  ]
10514
10491
  }) : (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10515
10492
  children: [
10516
- zN && (0, import_jsx_runtime.jsx)(IconBox, {
10493
+ rP && (0, import_jsx_runtime.jsx)(IconBox, {
10517
10494
  onClick: (e2) => {
10518
10495
  e2.preventDefault();
10519
10496
  try {
10520
- BN(i, t, copyString);
10497
+ iP(i, t, copyString);
10521
10498
  } catch (e3) {
10522
10499
  console.error(e3);
10523
10500
  }
10524
10501
  },
10525
- children: VN ? (0, import_jsx_runtime.jsx)(CheckIcon$1, {
10502
+ children: aP ? (0, import_jsx_runtime.jsx)(CheckIcon$1, {
10526
10503
  sx: {
10527
10504
  fontSize: ".8rem"
10528
10505
  }
@@ -10533,16 +10510,16 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10533
10510
  })
10534
10511
  }),
10535
10512
  f && S && h && _ && (0, import_jsx_runtime.jsx)(IconBox, {
10536
- onClick: GN,
10513
+ onClick: lP,
10537
10514
  children: (0, import_jsx_runtime.jsx)(EditIcon, {
10538
10515
  sx: {
10539
10516
  fontSize: ".8rem"
10540
10517
  }
10541
10518
  })
10542
10519
  }),
10543
- FN && (0, import_jsx_runtime.jsx)(IconBox, {
10520
+ $N && (0, import_jsx_runtime.jsx)(IconBox, {
10544
10521
  onClick: (e2) => {
10545
- e2.preventDefault(), PN == null ? void 0 : PN(i);
10522
+ e2.preventDefault(), QN == null ? void 0 : QN(i);
10546
10523
  },
10547
10524
  children: (0, import_jsx_runtime.jsx)(AddBoxIcon, {
10548
10525
  sx: {
@@ -10550,9 +10527,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10550
10527
  }
10551
10528
  })
10552
10529
  }),
10553
- RN && (0, import_jsx_runtime.jsx)(IconBox, {
10530
+ nP && (0, import_jsx_runtime.jsx)(IconBox, {
10554
10531
  onClick: (e2) => {
10555
- e2.preventDefault(), LN == null ? void 0 : LN(i, t);
10532
+ e2.preventDefault(), tP == null ? void 0 : tP(i, t);
10556
10533
  },
10557
10534
  children: (0, import_jsx_runtime.jsx)(DeleteIcon, {
10558
10535
  sx: {
@@ -10565,24 +10542,24 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10565
10542
  f,
10566
10543
  h,
10567
10544
  _,
10568
- VN,
10569
- BN,
10545
+ aP,
10546
+ iP,
10570
10547
  S,
10571
10548
  J,
10572
- zN,
10573
- FN,
10574
- RN,
10549
+ rP,
10550
+ $N,
10551
+ nP,
10575
10552
  w,
10576
10553
  i,
10577
10554
  t,
10578
- PN,
10579
- LN,
10580
- GN,
10581
- KN,
10582
- qN
10583
- ]), YN = (0, import_react.useMemo)(() => getValueSize(t) === 0, [
10555
+ QN,
10556
+ tP,
10557
+ lP,
10558
+ uP,
10559
+ dP
10560
+ ]), pP = (0, import_react.useMemo)(() => getValueSize(t) === 0, [
10584
10561
  t
10585
- ]), XN = !YN && !!(c && d), ZN = useJsonViewerStore((e2) => e2.keyRenderer), QN = (0, import_react.useMemo)(() => ({
10562
+ ]), mP = !pP && !!(c && d), hP = useJsonViewerStore((e2) => e2.keyRenderer), gP = (0, import_react.useMemo)(() => ({
10586
10563
  path: i,
10587
10564
  inspect: K,
10588
10565
  setInspect: q,
@@ -10614,18 +10591,18 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10614
10591
  className: "data-key",
10615
10592
  sx: {
10616
10593
  lineHeight: 1.5,
10617
- color: $,
10594
+ color: WN,
10618
10595
  letterSpacing: 0.5,
10619
10596
  opacity: 0.8
10620
10597
  },
10621
10598
  onClick: (0, import_react.useCallback)((e2) => {
10622
- e2.isDefaultPrevented() || YN || q((e3) => !e3);
10599
+ e2.isDefaultPrevented() || pP || q((e3) => !e3);
10623
10600
  }, [
10624
- YN,
10601
+ pP,
10625
10602
  q
10626
10603
  ]),
10627
10604
  children: [
10628
- XN ? K ? (0, import_jsx_runtime.jsx)(ExpandMoreIcon, {
10605
+ mP ? K ? (0, import_jsx_runtime.jsx)(ExpandMoreIcon, {
10629
10606
  className: "data-key-toggle-expanded",
10630
10607
  sx: {
10631
10608
  fontSize: ".8rem",
@@ -10643,27 +10620,27 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10643
10620
  }
10644
10621
  }) : null,
10645
10622
  (0, import_jsx_runtime.jsx)(Box_default, {
10646
- ref: WN,
10623
+ ref: cP,
10647
10624
  className: "data-key-key",
10648
10625
  component: "span",
10649
- children: jN && O === 0 ? AN === false ? null : kN ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10626
+ children: YN && O === 0 ? JN === false ? null : qN ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10650
10627
  children: [
10651
10628
  '"',
10652
- AN,
10629
+ JN,
10653
10630
  '"'
10654
10631
  ]
10655
10632
  }) : (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
10656
- children: AN
10657
- }) : ZN.when(QN) ? (0, import_jsx_runtime.jsx)(ZN, {
10658
- ...QN
10659
- }) : a === void 0 && (MN ? (0, import_jsx_runtime.jsx)(Box_default, {
10633
+ children: JN
10634
+ }) : hP.when(gP) ? (0, import_jsx_runtime.jsx)(hP, {
10635
+ ...gP
10636
+ }) : a === void 0 && (XN ? (0, import_jsx_runtime.jsx)(Box_default, {
10660
10637
  component: "span",
10661
10638
  style: {
10662
- color: EN,
10663
- userSelect: MN ? "none" : "auto"
10639
+ color: GN,
10640
+ userSelect: XN ? "none" : "auto"
10664
10641
  },
10665
10642
  children: A
10666
- }) : kN ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10643
+ }) : qN ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10667
10644
  children: [
10668
10645
  '"',
10669
10646
  A,
@@ -10673,7 +10650,7 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10673
10650
  children: A
10674
10651
  }))
10675
10652
  }),
10676
- jN ? AN !== false && (0, import_jsx_runtime.jsx)(DataBox, {
10653
+ YN ? JN !== false && (0, import_jsx_runtime.jsx)(DataBox, {
10677
10654
  className: "data-key-colon",
10678
10655
  sx: {
10679
10656
  mr: 0.5
@@ -10686,38 +10663,38 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10686
10663
  ".data-key-key:empty + &": {
10687
10664
  display: "none"
10688
10665
  },
10689
- userSelect: MN ? "none" : "auto"
10666
+ userSelect: XN ? "none" : "auto"
10690
10667
  },
10691
10668
  children: ":"
10692
10669
  }),
10693
10670
  c && (0, import_jsx_runtime.jsx)(c, {
10694
- ...QN
10671
+ ...gP
10695
10672
  }),
10696
- I && XN && K && JN
10673
+ I && mP && K && fP
10697
10674
  ]
10698
10675
  }),
10699
10676
  J && S ? f && (0, import_jsx_runtime.jsx)(f, {
10700
10677
  path: i,
10701
10678
  value: w,
10702
10679
  setValue: E,
10703
- abortEditing: KN,
10704
- commitEditing: qN
10680
+ abortEditing: uP,
10681
+ commitEditing: dP
10705
10682
  }) : s ? (0, import_jsx_runtime.jsx)(s, {
10706
- ...QN
10683
+ ...gP
10707
10684
  }) : (0, import_jsx_runtime.jsx)(Box_default, {
10708
10685
  component: "span",
10709
10686
  className: "data-value-fallback",
10710
10687
  children: `fallback: ${t}`
10711
10688
  }),
10712
10689
  d && (0, import_jsx_runtime.jsx)(d, {
10713
- ...QN
10690
+ ...gP
10714
10691
  }),
10715
- !o && ON && (0, import_jsx_runtime.jsx)(DataBox, {
10692
+ !o && $ && (0, import_jsx_runtime.jsx)(DataBox, {
10716
10693
  children: ","
10717
10694
  }),
10718
- I && XN && !K && JN,
10719
- I && !XN && JN,
10720
- !I && J && JN
10695
+ I && mP && !K && fP,
10696
+ I && !mP && fP,
10697
+ !I && J && fP
10721
10698
  ]
10722
10699
  });
10723
10700
  }, query = "(prefers-color-scheme: dark)";
@@ -10846,9 +10823,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10846
10823
  })
10847
10824
  })
10848
10825
  });
10849
- }, import_compiler_runtime$50 = require_compiler_runtime();
10826
+ }, import_compiler_runtime$51 = require_compiler_runtime();
10850
10827
  HtmlOutput = (0, import_react.memo)((e) => {
10851
- let t = (0, import_compiler_runtime$50.c)(10), { html: n, inline: i, className: o, alwaysSanitizeHtml: s } = e, c = i === void 0 ? false : i;
10828
+ let t = (0, import_compiler_runtime$51.c)(10), { html: n, inline: i, className: o, alwaysSanitizeHtml: s } = e, c = i === void 0 ? false : i;
10852
10829
  if (!n) return null;
10853
10830
  let d = !c, f;
10854
10831
  t[0] !== o || t[1] !== c || t[2] !== d ? (f = cn(o, {
@@ -10867,9 +10844,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10867
10844
  }), t[7] = f, t[8] = h, t[9] = _) : _ = t[9], _;
10868
10845
  });
10869
10846
  HtmlOutput.displayName = "HtmlOutput";
10870
- var import_compiler_runtime$49 = require_compiler_runtime();
10847
+ var import_compiler_runtime$50 = require_compiler_runtime();
10871
10848
  const ImageOutput = (e) => {
10872
- let t = (0, import_compiler_runtime$49.c)(8), { src: n, alt: i, width: a, height: o, className: s } = e, c = i === void 0 ? "" : i, d;
10849
+ let t = (0, import_compiler_runtime$50.c)(8), { src: n, alt: i, width: a, height: o, className: s } = e, c = i === void 0 ? "" : i, d;
10873
10850
  t[0] !== c || t[1] !== o || t[2] !== n || t[3] !== a ? (d = (0, import_jsx_runtime.jsx)("img", {
10874
10851
  src: n,
10875
10852
  alt: c,
@@ -10882,9 +10859,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10882
10859
  children: d
10883
10860
  }), t[5] = s, t[6] = d, t[7] = f) : f = t[7], f;
10884
10861
  };
10885
- var import_compiler_runtime$48 = require_compiler_runtime();
10862
+ var import_compiler_runtime$49 = require_compiler_runtime();
10886
10863
  Kbd = (e) => {
10887
- let t = (0, import_compiler_runtime$48.c)(5), n;
10864
+ let t = (0, import_compiler_runtime$49.c)(5), n;
10888
10865
  t[0] === e.className ? n = t[1] : (n = clsx_default(e.className, "rounded-md bg-muted/40 px-2 text-[0.75rem] font-prose center border border-foreground/20 text-muted-foreground block whitespace-nowrap"), t[0] = e.className, t[1] = n);
10889
10866
  let i;
10890
10867
  return t[2] !== e.children || t[3] !== n ? (i = (0, import_jsx_runtime.jsx)("kbd", {
@@ -10892,9 +10869,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10892
10869
  children: e.children
10893
10870
  }), t[2] = e.children, t[3] = n, t[4] = i) : i = t[4], i;
10894
10871
  };
10895
- var import_compiler_runtime$47 = require_compiler_runtime();
10872
+ var import_compiler_runtime$48 = require_compiler_runtime();
10896
10873
  const ExternalLink$1 = (e) => {
10897
- let t = (0, import_compiler_runtime$47.c)(3), { href: n, children: i } = e, a;
10874
+ let t = (0, import_compiler_runtime$48.c)(3), { href: n, children: i } = e, a;
10898
10875
  return t[0] !== i || t[1] !== n ? (a = (0, import_jsx_runtime.jsx)("a", {
10899
10876
  href: n,
10900
10877
  target: "_blank",
@@ -11065,17 +11042,17 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11065
11042
  os: "os",
11066
11043
  re: "re",
11067
11044
  sys: "sys"
11068
- }, import_compiler_runtime$46 = require_compiler_runtime(), fixModeAtom = atomWithStorage("marimo:ai-autofix-mode", "autofix", jotaiJsonStorage);
11045
+ }, import_compiler_runtime$47 = require_compiler_runtime(), fixModeAtom = atomWithStorage("marimo:ai-autofix-mode", "autofix", jotaiJsonStorage);
11069
11046
  function useFixMode() {
11070
- let e = (0, import_compiler_runtime$46.c)(3), [t, n] = useAtom(fixModeAtom), i;
11047
+ let e = (0, import_compiler_runtime$47.c)(3), [t, n] = useAtom(fixModeAtom), i;
11071
11048
  return e[0] !== t || e[1] !== n ? (i = {
11072
11049
  fixMode: t,
11073
11050
  setFixMode: n
11074
11051
  }, e[0] = t, e[1] = n, e[2] = i) : i = e[2], i;
11075
11052
  }
11076
- var import_compiler_runtime$45 = require_compiler_runtime();
11053
+ var import_compiler_runtime$46 = require_compiler_runtime();
11077
11054
  const AutoFixButton = (e) => {
11078
- let t = (0, import_compiler_runtime$45.c)(21), { errors: n, cellId: i, className: o } = e, s = useStore(), { createNewCell: c } = useCellActions(), d = useAtomValue(aiEnabledAtom), h;
11055
+ let t = (0, import_compiler_runtime$46.c)(21), { errors: n, cellId: i, className: o } = e, s = useStore(), { createNewCell: c } = useCellActions(), d = useAtomValue(aiEnabledAtom), h;
11079
11056
  if (t[0] !== d || t[1] !== n) {
11080
11057
  let e2;
11081
11058
  t[3] === d ? e2 = t[4] : (e2 = (e3) => getAutoFixes(e3, {
@@ -11136,7 +11113,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11136
11113
  };
11137
11114
  var PromptIcon = Sparkles, AutofixIcon = Wrench, PromptTitle = "Suggest a prompt", AutofixTitle = "Fix with AI";
11138
11115
  const AIFixButton = (e) => {
11139
- let t = (0, import_compiler_runtime$45.c)(21), { tooltip: n, openPrompt: i, applyAutofix: a } = e, { fixMode: o, setFixMode: s } = useFixMode(), c = o === "prompt" ? i : a, d;
11116
+ let t = (0, import_compiler_runtime$46.c)(21), { tooltip: n, openPrompt: i, applyAutofix: a } = e, { fixMode: o, setFixMode: s } = useFixMode(), c = o === "prompt" ? i : a, d;
11140
11117
  t[0] === o ? d = t[1] : (d = o === "prompt" ? (0, import_jsx_runtime.jsx)(PromptIcon, {
11141
11118
  className: "h-3 w-3 mr-2 mb-0.5"
11142
11119
  }) : (0, import_jsx_runtime.jsx)(AutofixIcon, {
@@ -11205,7 +11182,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11205
11182
  }), t[18] = O, t[19] = v, t[20] = A) : A = t[20], A;
11206
11183
  };
11207
11184
  var AiModeItem = (e) => {
11208
- let t = (0, import_compiler_runtime$45.c)(12), { mode: n } = e, i;
11185
+ let t = (0, import_compiler_runtime$46.c)(12), { mode: n } = e, i;
11209
11186
  t[0] === n ? i = t[1] : (i = n === "prompt" ? (0, import_jsx_runtime.jsx)(PromptIcon, {
11210
11187
  className: "h-4 w-4"
11211
11188
  }) : (0, import_jsx_runtime.jsx)(AutofixIcon, {
@@ -11242,9 +11219,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11242
11219
  function useFilename() {
11243
11220
  return useAtomValue(filenameAtom);
11244
11221
  }
11245
- var import_compiler_runtime$43 = require_compiler_runtime();
11222
+ var import_compiler_runtime$44 = require_compiler_runtime();
11246
11223
  const CellLink = (e) => {
11247
- let t = (0, import_compiler_runtime$43.c)(12), { className: n, cellId: i, variant: o, onClick: s, formatCellName: c, skipScroll: d } = e, f = useCellNames()[i] ?? "", h = useCellIds().inOrderIds.indexOf(i), { showCellIfHidden: _ } = useCellActions(), v = c ?? _temp$6, y;
11224
+ let t = (0, import_compiler_runtime$44.c)(12), { className: n, cellId: i, variant: o, onClick: s, formatCellName: c, skipScroll: d } = e, f = useCellNames()[i] ?? "", h = useCellIds().inOrderIds.indexOf(i), { showCellIfHidden: _ } = useCellActions(), v = c ?? _temp$6, y;
11248
11225
  t[0] === n ? y = t[1] : (y = cn("inline-block cursor-pointer text-link hover:underline", n), t[0] = n, t[1] = y);
11249
11226
  let S;
11250
11227
  t[2] !== i || t[3] !== s || t[4] !== _ || t[5] !== d || t[6] !== o ? (S = (e2) => {
@@ -11264,13 +11241,13 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11264
11241
  children: w
11265
11242
  }), t[8] = y, t[9] = S, t[10] = w, t[11] = O) : O = t[11], O;
11266
11243
  }, CellLinkError = (e) => {
11267
- let t = (0, import_compiler_runtime$43.c)(2), n;
11244
+ let t = (0, import_compiler_runtime$44.c)(2), n;
11268
11245
  return t[0] === e ? n = t[1] : (n = (0, import_jsx_runtime.jsx)(CellLink, {
11269
11246
  ...e,
11270
11247
  variant: "destructive"
11271
11248
  }), t[0] = e, t[1] = n), n;
11272
11249
  }, CellLinkTraceback = (e) => {
11273
- let t = (0, import_compiler_runtime$43.c)(10), { cellId: n, lineNumber: i } = e, a = useFilename(), o;
11250
+ let t = (0, import_compiler_runtime$44.c)(10), { cellId: n, lineNumber: i } = e, a = useFilename(), o;
11274
11251
  t[0] !== n || t[1] !== i ? (o = () => goToCellLine(n, i), t[0] = n, t[1] = i, t[2] = o) : o = t[2];
11275
11252
  let s;
11276
11253
  t[3] !== n || t[4] !== a ? (s = (e2) => n === "__scratch__" ? "scratch" : `marimo://${a || "untitled"}#cell=${e2}`, t[3] = n, t[4] = a, t[5] = s) : s = t[5];
@@ -11367,7 +11344,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11367
11344
  value: e2
11368
11345
  });
11369
11346
  }
11370
- var import_compiler_runtime$42 = require_compiler_runtime(), ansiUp = new AnsiUp();
11347
+ var import_compiler_runtime$43 = require_compiler_runtime(), ansiUp = new AnsiUp();
11371
11348
  const cleanAnsiCodes = (e) => {
11372
11349
  let t = RegExp("\x1B\\[[0-9;]*m", "g");
11373
11350
  return e.replaceAll(t, "");
@@ -11435,7 +11412,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11435
11412
  });
11436
11413
  }
11437
11414
  var InstallPackageLink = (e) => {
11438
- let t = (0, import_compiler_runtime$42.c)(6), { packages: n, children: i } = e, { handleInstallPackages: a } = useInstallPackages(), o;
11415
+ let t = (0, import_compiler_runtime$43.c)(6), { packages: n, children: i } = e, { handleInstallPackages: a } = useInstallPackages(), o;
11439
11416
  t[0] !== a || t[1] !== n ? (o = (e2) => {
11440
11417
  a(n), e2.preventDefault();
11441
11418
  }, t[0] = a, t[1] = n, t[2] = o) : o = t[2];
@@ -11508,15 +11485,15 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11508
11485
  })
11509
11486
  });
11510
11487
  RenderTextWithLinks = (e) => {
11511
- let t = (0, import_compiler_runtime$42.c)(4), { text: n } = e, i;
11488
+ let t = (0, import_compiler_runtime$43.c)(4), { text: n } = e, i;
11512
11489
  t[0] === n ? i = t[1] : (i = renderTextWithReplacers(n, composeReplacers(pipInstallReplacer, urlReplacer)), t[0] = n, t[1] = i);
11513
11490
  let a = i, o;
11514
11491
  return t[2] === a ? o = t[3] : (o = (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
11515
11492
  children: a
11516
11493
  }), t[2] = a, t[3] = o), o;
11517
11494
  };
11518
- var import_compiler_runtime$41 = require_compiler_runtime(), Tip = (e) => {
11519
- let t = (0, import_compiler_runtime$41.c)(10), n = e.title ?? "Tip", i;
11495
+ var import_compiler_runtime$42 = require_compiler_runtime(), Tip = (e) => {
11496
+ let t = (0, import_compiler_runtime$42.c)(10), n = e.title ?? "Tip", i;
11520
11497
  t[0] === n ? i = t[1] : (i = (0, import_jsx_runtime.jsx)(AccordionTrigger, {
11521
11498
  className: "pt-2 pb-2 font-normal",
11522
11499
  children: n
@@ -11544,7 +11521,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11544
11521
  }), t[7] = e.className, t[8] = o, t[9] = s) : s = t[9], s;
11545
11522
  };
11546
11523
  const MarimoErrorOutput = (e) => {
11547
- let t = (0, import_compiler_runtime$41.c)(31), { errors: n, cellId: i, className: o } = e, s = useChromeActions(), c = "This cell wasn't run because it has errors", d = "destructive", h = "text-error";
11524
+ let t = (0, import_compiler_runtime$42.c)(31), { errors: n, cellId: i, className: o } = e, s = useChromeActions(), c = "This cell wasn't run because it has errors", d = "destructive", h = "text-error";
11548
11525
  if (n.some(_temp$5)) c = "Interrupted";
11549
11526
  else if (n.some(_temp2$3)) c = "An internal error occurred";
11550
11527
  else if (n.some(_temp3$2)) c = "Ancestor prevented from running", d = "default", h = "text-secondary-foreground";
@@ -11558,18 +11535,18 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11558
11535
  }
11559
11536
  let _, v, y, S, w, E;
11560
11537
  if (t[2] !== d || t[3] !== i || t[4] !== s || t[5] !== o || t[6] !== n || t[7] !== h || t[8] !== c) {
11561
- let e2 = n.filter(_temp7), O2 = n.filter(_temp8), A2 = n.filter(_temp9), M = n.filter(_temp0), I = n.filter(_temp1), z = n.filter(_temp10), U = n.filter(_temp11), K = n.filter(_temp12), q = n.filter(_temp13), J = n.filter(_temp14), Q = n.filter(_temp15), TN = n.filter(_temp16), $ = n.filter(_temp17), EN;
11562
- t[15] === s ? EN = t[16] : (EN = () => {
11538
+ let e2 = n.filter(_temp7), O2 = n.filter(_temp8), A2 = n.filter(_temp9), M = n.filter(_temp0), I = n.filter(_temp1), z = n.filter(_temp10), U = n.filter(_temp11), K = n.filter(_temp12), q = n.filter(_temp13), J = n.filter(_temp14), Q = n.filter(_temp15), UN = n.filter(_temp16), WN = n.filter(_temp17), GN;
11539
+ t[15] === s ? GN = t[16] : (GN = () => {
11563
11540
  s.openApplication("scratchpad");
11564
- }, t[15] = s, t[16] = EN);
11565
- let DN = EN, ON = () => {
11541
+ }, t[15] = s, t[16] = GN);
11542
+ let KN = GN, $ = () => {
11566
11543
  let t2 = [];
11567
- if (Q.length > 0 || TN.length > 0) {
11544
+ if (Q.length > 0 || UN.length > 0) {
11568
11545
  let e3 = Q.some(_temp18), n2 = !e3 && Q.some(_temp19);
11569
11546
  t2.push((0, import_jsx_runtime.jsxs)("div", {
11570
11547
  children: [
11571
11548
  Q.map(_temp20),
11572
- TN.map(_temp21),
11549
+ UN.map(_temp21),
11573
11550
  e3 && (0, import_jsx_runtime.jsxs)(Button, {
11574
11551
  size: "xs",
11575
11552
  variant: "outline",
@@ -11601,7 +11578,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11601
11578
  i && (0, import_jsx_runtime.jsx)(AutoFixButton, {
11602
11579
  errors: [
11603
11580
  ...Q,
11604
- ...TN
11581
+ ...UN
11605
11582
  ],
11606
11583
  cellId: i
11607
11584
  })
@@ -11762,7 +11739,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11762
11739
  size: "xs",
11763
11740
  variant: "link",
11764
11741
  className: "my-2 font-normal mx-0 px-0",
11765
- onClick: DN,
11742
+ onClick: KN,
11766
11743
  children: [
11767
11744
  (0, import_jsx_runtime.jsx)(NotebookPen, {
11768
11745
  className: "h-3"
@@ -11877,23 +11854,23 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11877
11854
  cellId: i
11878
11855
  })
11879
11856
  ]
11880
- }, "ancestor-stopped")), $.length > 0 && t2.push((0, import_jsx_runtime.jsxs)("div", {
11857
+ }, "ancestor-stopped")), WN.length > 0 && t2.push((0, import_jsx_runtime.jsxs)("div", {
11881
11858
  children: [
11882
- $.map(_temp35),
11859
+ WN.map(_temp35),
11883
11860
  i && (0, import_jsx_runtime.jsx)(AutoFixButton, {
11884
- errors: $,
11861
+ errors: WN,
11885
11862
  cellId: i,
11886
11863
  className: "mt-2.5"
11887
11864
  })
11888
11865
  ]
11889
11866
  }, "sql-errors")), t2;
11890
- }, kN = `font-code font-medium tracking-wide ${h}`, AN;
11891
- t[17] !== kN || t[18] !== c ? (AN = (0, import_jsx_runtime.jsx)(AlertTitle, {
11892
- className: kN,
11867
+ }, qN = `font-code font-medium tracking-wide ${h}`, JN;
11868
+ t[17] !== qN || t[18] !== c ? (JN = (0, import_jsx_runtime.jsx)(AlertTitle, {
11869
+ className: qN,
11893
11870
  children: c
11894
- }), t[17] = kN, t[18] = c, t[19] = AN) : AN = t[19];
11895
- let jN = AN;
11896
- _ = Alert, S = d, t[20] === o ? w = t[21] : (w = cn("border-none font-code text-sm text-[0.84375rem] px-0 text-muted-foreground normal [&:has(svg)]:pl-0 space-y-4", o), t[20] = o, t[21] = w), E = jN, v = "flex flex-col gap-8", y = ON(), t[2] = d, t[3] = i, t[4] = s, t[5] = o, t[6] = n, t[7] = h, t[8] = c, t[9] = _, t[10] = v, t[11] = y, t[12] = S, t[13] = w, t[14] = E;
11871
+ }), t[17] = qN, t[18] = c, t[19] = JN) : JN = t[19];
11872
+ let YN = JN;
11873
+ _ = Alert, S = d, t[20] === o ? w = t[21] : (w = cn("border-none font-code text-sm text-[0.84375rem] px-0 text-muted-foreground normal [&:has(svg)]:pl-0 space-y-4", o), t[20] = o, t[21] = w), E = YN, v = "flex flex-col gap-8", y = $(), t[2] = d, t[3] = i, t[4] = s, t[5] = o, t[6] = n, t[7] = h, t[8] = c, t[9] = _, t[10] = v, t[11] = y, t[12] = S, t[13] = w, t[14] = E;
11897
11874
  } else _ = t[9], v = t[10], y = t[11], S = t[12], w = t[13], E = t[14];
11898
11875
  let O;
11899
11876
  t[22] !== v || t[23] !== y ? (O = (0, import_jsx_runtime.jsx)("div", {
@@ -12221,9 +12198,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12221
12198
  })
12222
12199
  }, `sql-error-${t}`);
12223
12200
  }
12224
- var import_compiler_runtime$40 = require_compiler_runtime();
12201
+ var import_compiler_runtime$41 = require_compiler_runtime();
12225
12202
  const TextOutput = (e) => {
12226
- let t = (0, import_compiler_runtime$40.c)(13), { text: n, channel: i, wrapText: o } = e, s = i === "stdout" || i === "stderr", c;
12203
+ let t = (0, import_compiler_runtime$41.c)(13), { text: n, channel: i, wrapText: o } = e, s = i === "stdout" || i === "stderr", c;
12227
12204
  t[0] === o ? c = t[1] : (c = (e2) => (0, import_jsx_runtime.jsx)("span", {
12228
12205
  className: o ? "whitespace-pre-wrap break-words" : "whitespace-pre",
12229
12206
  children: (0, import_jsx_runtime.jsx)(RenderTextWithLinks, {
@@ -12240,17 +12217,17 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12240
12217
  children: v
12241
12218
  }), t[10] = _, t[11] = v, t[12] = y) : y = t[12], y;
12242
12219
  };
12243
- var import_compiler_runtime$39 = require_compiler_runtime();
12220
+ var import_compiler_runtime$40 = require_compiler_runtime();
12244
12221
  const VideoOutput = (e) => {
12245
- let t = (0, import_compiler_runtime$39.c)(3), { src: n, className: i } = e, a;
12222
+ let t = (0, import_compiler_runtime$40.c)(3), { src: n, className: i } = e, a;
12246
12223
  return t[0] !== i || t[1] !== n ? (a = (0, import_jsx_runtime.jsx)("iframe", {
12247
12224
  className: i,
12248
12225
  src: n
12249
12226
  }), t[0] = i, t[1] = n, t[2] = a) : a = t[2], a;
12250
12227
  };
12251
- var import_compiler_runtime$38 = require_compiler_runtime();
12228
+ var import_compiler_runtime$39 = require_compiler_runtime();
12252
12229
  useOverflowDetection = function(e, t) {
12253
- let n = (0, import_compiler_runtime$38.c)(4), i = t === void 0 ? true : t, [a, o] = (0, import_react.useState)(false), s, c;
12230
+ let n = (0, import_compiler_runtime$39.c)(4), i = t === void 0 ? true : t, [a, o] = (0, import_react.useState)(false), s, c;
12254
12231
  return n[0] !== i || n[1] !== e ? (s = () => {
12255
12232
  let t2 = e.current;
12256
12233
  if (!t2 || !i) return;
@@ -12344,12 +12321,12 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12344
12321
  ]
12345
12322
  };
12346
12323
  }
12347
- LazyVegaEmbed = import_react.lazy(() => import("./react-vega-B-rkEqtS.js").then((e) => ({
12324
+ LazyVegaEmbed = import_react.lazy(() => import("./react-vega-Cavbrg4l.js").then((e) => ({
12348
12325
  default: e.VegaEmbed
12349
12326
  })));
12350
- var import_compiler_runtime$37 = require_compiler_runtime();
12327
+ var import_compiler_runtime$38 = require_compiler_runtime();
12351
12328
  ChartLoadingState = () => {
12352
- let e = (0, import_compiler_runtime$37.c)(1), t;
12329
+ let e = (0, import_compiler_runtime$38.c)(1), t;
12353
12330
  return e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = (0, import_jsx_runtime.jsxs)("div", {
12354
12331
  className: "flex items-center gap-2 justify-center",
12355
12332
  children: [
@@ -12364,7 +12341,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12364
12341
  }), e[0] = t) : t = e[0], t;
12365
12342
  };
12366
12343
  ChartErrorState = (e) => {
12367
- let t = (0, import_compiler_runtime$37.c)(2), { error: n } = e, i;
12344
+ let t = (0, import_compiler_runtime$38.c)(2), { error: n } = e, i;
12368
12345
  return t[0] === n ? i = t[1] : (i = (0, import_jsx_runtime.jsx)("div", {
12369
12346
  className: "flex items-center justify-center",
12370
12347
  children: (0, import_jsx_runtime.jsx)(ErrorBanner, {
@@ -12373,7 +12350,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12373
12350
  }), t[0] = n, t[1] = i), i;
12374
12351
  };
12375
12352
  ChartInfoState = (e) => {
12376
- let t = (0, import_compiler_runtime$37.c)(8), { children: n, className: i } = e, o;
12353
+ let t = (0, import_compiler_runtime$38.c)(8), { children: n, className: i } = e, o;
12377
12354
  t[0] === i ? o = t[1] : (o = cn("flex flex-col items-center justify-center gap-4", i), t[0] = i, t[1] = o);
12378
12355
  let s;
12379
12356
  t[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = (0, import_jsx_runtime.jsx)(ChartPie, {
@@ -12393,11 +12370,11 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12393
12370
  ]
12394
12371
  }), t[5] = o, t[6] = c, t[7] = d) : d = t[7], d;
12395
12372
  };
12396
- let import_compiler_runtime$36;
12397
- import_compiler_runtime$36 = require_compiler_runtime();
12373
+ let import_compiler_runtime$37;
12374
+ import_compiler_runtime$37 = require_compiler_runtime();
12398
12375
  Tabs = Root2;
12399
12376
  TabsList = import_react.forwardRef((e, t) => {
12400
- let n = (0, import_compiler_runtime$36.c)(9), i, o;
12377
+ let n = (0, import_compiler_runtime$37.c)(9), i, o;
12401
12378
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
12402
12379
  let s;
12403
12380
  n[3] === i ? s = n[4] : (s = cn("inline-flex max-h-14 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground", i), n[3] = i, n[4] = s);
@@ -12410,7 +12387,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12410
12387
  });
12411
12388
  TabsList.displayName = List.displayName;
12412
12389
  TabsTrigger = import_react.forwardRef((e, t) => {
12413
- let n = (0, import_compiler_runtime$36.c)(9), i, o;
12390
+ let n = (0, import_compiler_runtime$37.c)(9), i, o;
12414
12391
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
12415
12392
  let s;
12416
12393
  n[3] === i ? s = n[4] : (s = cn("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm", i), n[3] = i, n[4] = s);
@@ -12423,7 +12400,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12423
12400
  });
12424
12401
  TabsTrigger.displayName = Trigger.displayName;
12425
12402
  TabsContent = import_react.forwardRef((e, t) => {
12426
- let n = (0, import_compiler_runtime$36.c)(9), i, o;
12403
+ let n = (0, import_compiler_runtime$37.c)(9), i, o;
12427
12404
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
12428
12405
  let s;
12429
12406
  n[3] === i ? s = n[4] : (s = cn("mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2", i), n[3] = i, n[4] = s);
@@ -12435,9 +12412,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12435
12412
  }), n[5] = o, n[6] = t, n[7] = s, n[8] = c) : c = n[8], c;
12436
12413
  });
12437
12414
  TabsContent.displayName = Content.displayName;
12438
- var import_compiler_runtime$35 = require_compiler_runtime();
12415
+ var import_compiler_runtime$36 = require_compiler_runtime();
12439
12416
  const WithLocale = (e) => {
12440
- let t = (0, import_compiler_runtime$35.c)(3), { children: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a;
12417
+ let t = (0, import_compiler_runtime$36.c)(3), { children: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a;
12441
12418
  return t[0] !== n || t[1] !== i ? (a = n(i), t[0] = n, t[1] = i, t[2] = a) : a = t[2], a;
12442
12419
  };
12443
12420
  function tzName(e, t, n = "long") {
@@ -12648,9 +12625,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12648
12625
  return n;
12649
12626
  }
12650
12627
  };
12651
- var import_compiler_runtime$34 = require_compiler_runtime();
12628
+ var import_compiler_runtime$35 = require_compiler_runtime();
12652
12629
  const DraggablePopover = (e) => {
12653
- let t = (0, import_compiler_runtime$34.c)(25), n, i, a;
12630
+ let t = (0, import_compiler_runtime$35.c)(25), n, i, a;
12654
12631
  t[0] === e ? (n = t[1], i = t[2], a = t[3]) : ({ children: n, className: i, ...a } = e, t[0] = e, t[1] = n, t[2] = i, t[3] = a);
12655
12632
  let o;
12656
12633
  t[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = {
@@ -12715,7 +12692,50 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12715
12692
  A
12716
12693
  ]
12717
12694
  }), t[22] = a, t[23] = A, t[24] = M) : M = t[24], M;
12718
- }, Sets = {
12695
+ };
12696
+ var import_compiler_runtime$34 = require_compiler_runtime();
12697
+ const RegexInput = import_react.forwardRef((e, t) => {
12698
+ let n = (0, import_compiler_runtime$34.c)(18), { id: i, value: o, onChange: s, onKeyDown: c, placeholder: d, className: f, autoFocus: h, "aria-label": _ } = e, v = d === void 0 ? "pattern" : d, y;
12699
+ n[0] === f ? y = n[1] : (y = cn("flex items-stretch h-6 mb-1 rounded-sm border border-input bg-background shadow-xs-solid focus-within:shadow-md-solid focus-within:ring-1 focus-within:ring-ring focus-within:border-primary", f), n[0] = f, n[1] = y);
12700
+ let S;
12701
+ n[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = (0, import_jsx_runtime.jsx)(Slash, {}), n[2] = S) : S = n[2];
12702
+ let w;
12703
+ n[3] === s ? w = n[4] : (w = (e2) => s(e2.target.value), n[3] = s, n[4] = w);
12704
+ let E;
12705
+ n[5] !== _ || n[6] !== h || n[7] !== i || n[8] !== c || n[9] !== v || n[10] !== t || n[11] !== w || n[12] !== o ? (E = (0, import_jsx_runtime.jsx)(Input, {
12706
+ ref: t,
12707
+ id: i,
12708
+ type: "text",
12709
+ value: o,
12710
+ onChange: w,
12711
+ onKeyDown: c,
12712
+ placeholder: v,
12713
+ autoFocus: h,
12714
+ "aria-label": _,
12715
+ rootClassName: "flex-1 min-w-0",
12716
+ className: "border-0 mb-0 h-full shadow-none! hover:shadow-none! focus-visible:shadow-none! focus-visible:ring-0 focus-visible:border-0 rounded-none bg-transparent"
12717
+ }), n[5] = _, n[6] = h, n[7] = i, n[8] = c, n[9] = v, n[10] = t, n[11] = w, n[12] = o, n[13] = E) : E = n[13];
12718
+ let O;
12719
+ n[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = (0, import_jsx_runtime.jsx)(Slash, {}), n[14] = O) : O = n[14];
12720
+ let A;
12721
+ return n[15] !== y || n[16] !== E ? (A = (0, import_jsx_runtime.jsxs)("div", {
12722
+ className: y,
12723
+ children: [
12724
+ S,
12725
+ E,
12726
+ O
12727
+ ]
12728
+ }), n[15] = y, n[16] = E, n[17] = A) : A = n[17], A;
12729
+ });
12730
+ RegexInput.displayName = "RegexInput";
12731
+ var Slash = () => {
12732
+ let e = (0, import_compiler_runtime$34.c)(1), t;
12733
+ return e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = (0, import_jsx_runtime.jsx)("span", {
12734
+ className: "px-1.5 flex items-center text-muted-foreground font-code text-sm select-none",
12735
+ children: "/"
12736
+ }), e[0] = t) : t = e[0], t;
12737
+ };
12738
+ const Sets = {
12719
12739
  merge(...e) {
12720
12740
  let t = /* @__PURE__ */ new Set();
12721
12741
  for (let n of e) for (let e2 of n) t.add(e2);
@@ -12880,7 +12900,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12880
12900
  }, [
12881
12901
  h
12882
12902
  ]), k(() => {
12883
- U(6, EN);
12903
+ U(6, GN);
12884
12904
  }, []);
12885
12905
  let K = import_react.useMemo(() => ({
12886
12906
  subscribe: (e2) => (s.current.add(e2), () => s.current.delete(e2)),
@@ -12889,7 +12909,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12889
12909
  var _a2;
12890
12910
  var a2, o2, s2;
12891
12911
  if (!Object.is(n.current[e2], t2)) {
12892
- if (n.current[e2] = t2, e2 === "search") $(), Q(), U(1, TN);
12912
+ if (n.current[e2] = t2, e2 === "search") WN(), Q(), U(1, UN);
12893
12913
  else if (e2 === "value") {
12894
12914
  if (document.activeElement.hasAttribute("cmdk-input") || document.activeElement.hasAttribute("cmdk-root")) {
12895
12915
  let e3 = document.getElementById(I);
@@ -12897,8 +12917,8 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12897
12917
  }
12898
12918
  if (U(7, () => {
12899
12919
  var _a3;
12900
- n.current.selectedItemId = (_a3 = DN()) == null ? void 0 : _a3.id, K.emit();
12901
- }), i2 || U(5, EN), ((_a2 = c.current) == null ? void 0 : _a2.value) !== void 0) {
12920
+ n.current.selectedItemId = (_a3 = KN()) == null ? void 0 : _a3.id, K.emit();
12921
+ }), i2 || U(5, GN), ((_a2 = c.current) == null ? void 0 : _a2.value) !== void 0) {
12902
12922
  let e3 = t2 ?? "";
12903
12923
  (s2 = (o2 = c.current).onValueChange) == null || s2.call(o2, e3);
12904
12924
  return;
@@ -12923,12 +12943,12 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12923
12943
  item: (e2, t2) => (i.current.add(e2), t2 && (a.current.has(t2) ? a.current.get(t2).add(e2) : a.current.set(t2, /* @__PURE__ */ new Set([
12924
12944
  e2
12925
12945
  ]))), U(3, () => {
12926
- $(), Q(), n.current.value || TN(), K.emit();
12946
+ WN(), Q(), n.current.value || UN(), K.emit();
12927
12947
  }), () => {
12928
12948
  o.current.delete(e2), i.current.delete(e2), n.current.filtered.items.delete(e2);
12929
- let t3 = DN();
12949
+ let t3 = KN();
12930
12950
  U(4, () => {
12931
- $(), (t3 == null ? void 0 : t3.getAttribute("id")) === e2 && TN(), K.emit();
12951
+ WN(), (t3 == null ? void 0 : t3.getAttribute("id")) === e2 && UN(), K.emit();
12932
12952
  });
12933
12953
  }),
12934
12954
  group: (e2) => (a.current.has(e2) || a.current.set(e2, /* @__PURE__ */ new Set()), () => {
@@ -12961,7 +12981,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12961
12981
  ]);
12962
12982
  });
12963
12983
  let i2 = z.current;
12964
- ON().sort((t3, n2) => {
12984
+ $().sort((t3, n2) => {
12965
12985
  let i3 = t3.getAttribute("id"), a2 = n2.getAttribute("id");
12966
12986
  return (e2.get(a2) ?? 0) - (e2.get(i3) ?? 0);
12967
12987
  }).forEach((e3) => {
@@ -12973,12 +12993,12 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12973
12993
  t3 == null ? void 0 : t3.parentElement.appendChild(t3);
12974
12994
  });
12975
12995
  }
12976
- function TN() {
12996
+ function UN() {
12977
12997
  var _a2;
12978
- let e2 = (_a2 = ON().find((e3) => e3.getAttribute("aria-disabled") !== "true")) == null ? void 0 : _a2.getAttribute(T);
12998
+ let e2 = (_a2 = $().find((e3) => e3.getAttribute("aria-disabled") !== "true")) == null ? void 0 : _a2.getAttribute(T);
12979
12999
  K.setState("value", e2 || void 0);
12980
13000
  }
12981
- function $() {
13001
+ function WN() {
12982
13002
  var _a2, _b;
12983
13003
  if (!n.current.search || c.current.shouldFilter === false) {
12984
13004
  n.current.filtered.count = i.current.size;
@@ -12996,43 +13016,43 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12996
13016
  }
12997
13017
  n.current.filtered.count = e2;
12998
13018
  }
12999
- function EN() {
13019
+ function GN() {
13000
13020
  var _a2, _b;
13001
13021
  var e2;
13002
- let t2 = DN();
13022
+ let t2 = KN();
13003
13023
  t2 && (((_a2 = t2.parentElement) == null ? void 0 : _a2.firstChild) === t2 && ((e2 = (_b = t2.closest(N$1)) == null ? void 0 : _b.querySelector(be)) == null || e2.scrollIntoView({
13004
13024
  block: "nearest"
13005
13025
  })), t2.scrollIntoView({
13006
13026
  block: "nearest"
13007
13027
  }));
13008
13028
  }
13009
- function DN() {
13029
+ function KN() {
13010
13030
  var _a2;
13011
13031
  return (_a2 = z.current) == null ? void 0 : _a2.querySelector(`${le}[aria-selected="true"]`);
13012
13032
  }
13013
- function ON() {
13033
+ function $() {
13014
13034
  var _a2;
13015
13035
  return Array.from(((_a2 = z.current) == null ? void 0 : _a2.querySelectorAll(ce$1)) || []);
13016
13036
  }
13017
- function kN(e2) {
13018
- let t2 = ON()[e2];
13037
+ function qN(e2) {
13038
+ let t2 = $()[e2];
13019
13039
  t2 && K.setState("value", t2.getAttribute(T));
13020
13040
  }
13021
- function AN(e2) {
13041
+ function JN(e2) {
13022
13042
  var t2;
13023
- let n2 = DN(), i2 = ON(), a2 = i2.findIndex((e3) => e3 === n2), o2 = i2[a2 + e2];
13043
+ let n2 = KN(), i2 = $(), a2 = i2.findIndex((e3) => e3 === n2), o2 = i2[a2 + e2];
13024
13044
  (t2 = c.current) != null && t2.loop && (o2 = a2 + e2 < 0 ? i2[i2.length - 1] : a2 + e2 === i2.length ? i2[0] : i2[a2 + e2]), o2 && K.setState("value", o2.getAttribute(T));
13025
13045
  }
13026
- function jN(e2) {
13046
+ function YN(e2) {
13027
13047
  var _a2;
13028
- let t2 = (_a2 = DN()) == null ? void 0 : _a2.closest(N$1), n2;
13048
+ let t2 = (_a2 = KN()) == null ? void 0 : _a2.closest(N$1), n2;
13029
13049
  for (; t2 && !n2; ) t2 = e2 > 0 ? we(t2, N$1) : De(t2, N$1), n2 = t2 == null ? void 0 : t2.querySelector(ce$1);
13030
- n2 ? K.setState("value", n2.getAttribute(T)) : AN(e2);
13050
+ n2 ? K.setState("value", n2.getAttribute(T)) : JN(e2);
13031
13051
  }
13032
- let MN = () => kN(ON().length - 1), NN = (e2) => {
13033
- e2.preventDefault(), e2.metaKey ? MN() : e2.altKey ? jN(1) : AN(1);
13034
- }, PN = (e2) => {
13035
- e2.preventDefault(), e2.metaKey ? kN(0) : e2.altKey ? jN(-1) : AN(-1);
13052
+ let XN = () => qN($().length - 1), ZN = (e2) => {
13053
+ e2.preventDefault(), e2.metaKey ? XN() : e2.altKey ? YN(1) : JN(1);
13054
+ }, QN = (e2) => {
13055
+ e2.preventDefault(), e2.metaKey ? qN(0) : e2.altKey ? YN(-1) : JN(-1);
13036
13056
  };
13037
13057
  return import_react.createElement(Primitive.div, {
13038
13058
  ref: t,
@@ -13046,27 +13066,27 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13046
13066
  if (!(e2.defaultPrevented || n2)) switch (e2.key) {
13047
13067
  case "n":
13048
13068
  case "j":
13049
- E && e2.ctrlKey && NN(e2);
13069
+ E && e2.ctrlKey && ZN(e2);
13050
13070
  break;
13051
13071
  case "ArrowDown":
13052
- NN(e2);
13072
+ ZN(e2);
13053
13073
  break;
13054
13074
  case "p":
13055
13075
  case "k":
13056
- E && e2.ctrlKey && PN(e2);
13076
+ E && e2.ctrlKey && QN(e2);
13057
13077
  break;
13058
13078
  case "ArrowUp":
13059
- PN(e2);
13079
+ QN(e2);
13060
13080
  break;
13061
13081
  case "Home":
13062
- e2.preventDefault(), kN(0);
13082
+ e2.preventDefault(), qN(0);
13063
13083
  break;
13064
13084
  case "End":
13065
- e2.preventDefault(), MN();
13085
+ e2.preventDefault(), XN();
13066
13086
  break;
13067
13087
  case "Enter": {
13068
13088
  e2.preventDefault();
13069
- let t3 = DN();
13089
+ let t3 = KN();
13070
13090
  if (t3) {
13071
13091
  let e3 = new Event(Z);
13072
13092
  t3.dispatchEvent(e3);
@@ -13734,30 +13754,31 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13734
13754
  }
13735
13755
  }
13736
13756
  var TOP_K_ROWS = 30;
13737
- const FilterByValuesPicker = ({ column: e, calculateTopKRows: t, chosenValues: n, onChange: i }) => {
13738
- let [o, s] = (0, import_react.useState)(false), c = (0, import_react.useMemo)(() => new Set(n), [
13757
+ const FilterByValuesPicker = ({ column: e, calculateTopKRows: t, chosenValues: n, onChange: i, creatable: o = false }) => {
13758
+ let [s, c] = (0, import_react.useState)(false), d = (0, import_react.useMemo)(() => new Set(n), [
13739
13759
  n
13740
- ]), d = (0, import_react.useMemo)(() => c.size === 0 ? "Select values\u2026" : `[${[
13741
- ...c
13760
+ ]), h = (0, import_react.useMemo)(() => d.size === 0 ? "Select values\u2026" : `[${[
13761
+ ...d
13742
13762
  ].map((e2) => stringifyUnknownValue({
13743
13763
  value: e2
13744
13764
  })).join(", ")}]`, [
13745
- c
13765
+ d
13746
13766
  ]);
13747
13767
  return (0, import_jsx_runtime.jsxs)(Popover, {
13748
- open: o,
13749
- onOpenChange: s,
13768
+ open: s,
13769
+ onOpenChange: c,
13750
13770
  children: [
13751
13771
  (0, import_jsx_runtime.jsx)(PopoverTrigger, {
13752
13772
  asChild: true,
13753
13773
  children: (0, import_jsx_runtime.jsxs)(Button, {
13774
+ type: "button",
13754
13775
  variant: "outline",
13755
13776
  size: "xs",
13756
13777
  className: "h-6 mb-1 w-full justify-between font-normal",
13757
13778
  children: [
13758
13779
  (0, import_jsx_runtime.jsx)("span", {
13759
- className: cn("truncate", c.size === 0 && "text-muted-foreground"),
13760
- children: d
13780
+ className: cn("truncate", d.size === 0 && "text-muted-foreground"),
13781
+ children: h
13761
13782
  }),
13762
13783
  (0, import_jsx_runtime.jsx)(ChevronDown, {
13763
13784
  className: "h-4 w-4 opacity-50 shrink-0"
@@ -13770,73 +13791,101 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13770
13791
  children: (0, import_jsx_runtime.jsx)(FilterByValuesList, {
13771
13792
  column: e,
13772
13793
  calculateTopKRows: t,
13773
- chosenValues: c,
13774
- onChange: i
13794
+ chosenValues: d,
13795
+ onChange: i,
13796
+ creatable: o
13775
13797
  })
13776
13798
  })
13777
13799
  ]
13778
13800
  });
13779
- }, FilterByValuesList = ({ column: e, calculateTopKRows: t, chosenValues: i, onChange: a }) => {
13780
- let [o, s] = (0, import_react.useState)(""), { data: c, isPending: d, error: f } = useAsyncData(async () => t ? (await t({
13801
+ }, FilterByValuesList = ({ column: e, calculateTopKRows: t, chosenValues: i, onChange: a, creatable: o = false }) => {
13802
+ let [s, c] = (0, import_react.useState)(""), { data: d, isPending: f, error: h } = useAsyncData(async () => t ? (await t({
13781
13803
  column: e.id,
13782
13804
  k: TOP_K_ROWS
13783
13805
  })).data : null, [
13784
13806
  t,
13785
13807
  e.id
13786
- ]), h = (0, import_react.useMemo)(() => {
13787
- if (!c) return [];
13808
+ ]), _ = (0, import_react.useMemo)(() => {
13809
+ if (!d) return [];
13788
13810
  try {
13789
- return c.filter(([e2, t2]) => {
13811
+ return d.filter(([e2, t2]) => {
13790
13812
  if (e2 === void 0) return false;
13791
13813
  let n = String(e2);
13792
- return smartMatch(o, n) || n.toLowerCase().includes(o.toLowerCase());
13814
+ return smartMatch(s, n) || n.toLowerCase().includes(s.toLowerCase());
13793
13815
  });
13794
13816
  } catch (e2) {
13795
13817
  return Logger.error("Error filtering data", e2), [];
13796
13818
  }
13797
13819
  }, [
13798
- c,
13799
- o
13800
- ]), _ = (e2) => {
13820
+ d,
13821
+ s
13822
+ ]), v = (0, import_react.useMemo)(() => {
13823
+ let e2 = new Set(_.map(([e3]) => e3)), t2 = [];
13824
+ for (let n of i) {
13825
+ if (e2.has(n)) continue;
13826
+ let i2 = String(n);
13827
+ (s.length === 0 || smartMatch(s, i2) || i2.toLowerCase().includes(s.toLowerCase())) && t2.push([
13828
+ n,
13829
+ void 0
13830
+ ]);
13831
+ }
13832
+ return [
13833
+ ..._,
13834
+ ...t2
13835
+ ];
13836
+ }, [
13837
+ _,
13838
+ i,
13839
+ s
13840
+ ]), y = (e2) => {
13801
13841
  a([
13802
13842
  ...Sets.toggle(i, e2)
13803
13843
  ]);
13804
- }, v = h.length > 0 && h.every(([e2]) => i.has(e2)), y = v ? true : i.size > 0 ? "indeterminate" : false;
13805
- return d ? (0, import_jsx_runtime.jsx)(Spinner, {
13844
+ }, S = s.trim(), w = o && S !== "" && !v.some(([e2]) => String(e2) === S), E = () => {
13845
+ w && (a([
13846
+ ...i,
13847
+ S
13848
+ ]), c(""));
13849
+ }, O = v.length > 0 && v.every(([e2]) => i.has(e2)), A = O ? true : i.size > 0 ? "indeterminate" : false;
13850
+ return f ? (0, import_jsx_runtime.jsx)(Spinner, {
13806
13851
  size: "medium",
13807
13852
  className: "mx-auto mt-12 mb-10"
13808
- }) : f ? (0, import_jsx_runtime.jsx)(ErrorBanner, {
13809
- error: f,
13853
+ }) : h ? (0, import_jsx_runtime.jsx)(ErrorBanner, {
13854
+ error: h,
13810
13855
  className: "my-10 mx-4"
13811
- }) : c ? (0, import_jsx_runtime.jsxs)(Command, {
13856
+ }) : d ? (0, import_jsx_runtime.jsxs)(Command, {
13812
13857
  className: "text-sm outline-hidden",
13813
13858
  shouldFilter: false,
13814
13859
  children: [
13815
13860
  (0, import_jsx_runtime.jsx)(CommandInput, {
13816
- placeholder: `Search among the top ${c.length} values`,
13861
+ placeholder: o ? "Search or add a value\u2026" : `Search among the top ${d.length} values`,
13817
13862
  autoFocus: true,
13818
- onValueChange: (e2) => s(e2.trim())
13863
+ value: s,
13864
+ onValueChange: c,
13865
+ onKeyDown: (e2) => {
13866
+ e2.key === "Enter" && w && (e2.preventDefault(), E());
13867
+ }
13819
13868
  }),
13820
13869
  (0, import_jsx_runtime.jsx)(CommandEmpty, {
13821
13870
  children: "No results found."
13822
13871
  }),
13823
13872
  (0, import_jsx_runtime.jsxs)(CommandList, {
13824
13873
  children: [
13825
- h.length > 0 && (0, import_jsx_runtime.jsxs)(CommandItem, {
13874
+ v.length > 0 && (0, import_jsx_runtime.jsxs)(CommandItem, {
13826
13875
  value: "__select-all__",
13827
13876
  className: "border-b rounded-none px-3",
13828
13877
  onSelect: () => {
13829
- if (!c) return;
13878
+ if (!d) return;
13830
13879
  let e2 = new Set(i);
13831
- if (v) for (let [t2] of h) e2.delete(t2);
13832
- else for (let [t2] of h) e2.add(t2);
13880
+ if (O) for (let [t2] of v) e2.delete(t2);
13881
+ else for (let [t2] of v) e2.add(t2);
13833
13882
  a([
13834
13883
  ...e2
13835
13884
  ]);
13836
13885
  },
13837
13886
  children: [
13838
13887
  (0, import_jsx_runtime.jsx)(Checkbox, {
13839
- checked: y,
13888
+ checked: A,
13840
13889
  "aria-label": "Select all",
13841
13890
  className: "mr-3 h-3.5 w-3.5"
13842
13891
  }),
@@ -13850,7 +13899,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13850
13899
  })
13851
13900
  ]
13852
13901
  }),
13853
- h.map(([t2, n]) => {
13902
+ v.map(([t2, n]) => {
13854
13903
  var _a2;
13855
13904
  let a2 = i.has(t2), o2 = stringifyUnknownValue({
13856
13905
  value: t2
@@ -13858,7 +13907,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13858
13907
  return (0, import_jsx_runtime.jsxs)(CommandItem, {
13859
13908
  value: o2,
13860
13909
  className: "not-last:border-b rounded-none px-3",
13861
- onSelect: () => _(t2),
13910
+ onSelect: () => y(t2),
13862
13911
  children: [
13863
13912
  (0, import_jsx_runtime.jsx)(Checkbox, {
13864
13913
  checked: a2,
@@ -13873,14 +13922,24 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13873
13922
  }),
13874
13923
  (0, import_jsx_runtime.jsx)("span", {
13875
13924
  className: "ml-3",
13876
- children: n
13925
+ children: n === void 0 ? "\u2014" : n
13877
13926
  })
13878
13927
  ]
13879
13928
  }, o2);
13929
+ }),
13930
+ w && (0, import_jsx_runtime.jsxs)(CommandItem, {
13931
+ value: `__create__:${S}`,
13932
+ className: "border-t rounded-none px-3 italic",
13933
+ onSelect: E,
13934
+ children: [
13935
+ '+ Add "',
13936
+ S,
13937
+ '"'
13938
+ ]
13880
13939
  })
13881
13940
  ]
13882
13941
  }),
13883
- c.length === TOP_K_ROWS && (0, import_jsx_runtime.jsxs)("span", {
13942
+ d.length === TOP_K_ROWS && (0, import_jsx_runtime.jsxs)("span", {
13884
13943
  className: "text-xs text-muted-foreground py-1.5 text-center",
13885
13944
  children: [
13886
13945
  "Only showing the top ",
@@ -13893,7 +13952,57 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13893
13952
  className: "py-6 px-4 text-sm text-muted-foreground text-center",
13894
13953
  children: "No values available"
13895
13954
  });
13896
- }, Filter = {
13955
+ }, OPERATOR_LABELS = {
13956
+ "==": "Equals",
13957
+ "!=": "Doesn't equal",
13958
+ ">": "Greater than",
13959
+ ">=": "Greater than or equal",
13960
+ "<": "Less than",
13961
+ "<=": "Less than or equal",
13962
+ between: "Between",
13963
+ contains: "Contains",
13964
+ equals: "Equals",
13965
+ does_not_equal: "Doesn't equal",
13966
+ starts_with: "Starts with",
13967
+ ends_with: "Ends with",
13968
+ regex: "Matches regex",
13969
+ in: "Is in",
13970
+ not_in: "Not in",
13971
+ is_empty: "Is empty",
13972
+ is_true: "Is true",
13973
+ is_false: "Is false",
13974
+ is_null: "Is null",
13975
+ is_not_null: "Is not null"
13976
+ }, NULLISH_OPS = [
13977
+ "is_null",
13978
+ "is_not_null"
13979
+ ], MEMBERSHIP_OPS = [
13980
+ "in",
13981
+ "not_in"
13982
+ ], NUMBER_COMPARISON_OPS = [
13983
+ "==",
13984
+ "!=",
13985
+ ">",
13986
+ ">=",
13987
+ "<",
13988
+ "<="
13989
+ ], TEXT_SCALAR_OPS = [
13990
+ "contains",
13991
+ "equals",
13992
+ "does_not_equal",
13993
+ "regex",
13994
+ "starts_with",
13995
+ "ends_with"
13996
+ ], NUMBER_OPS = [
13997
+ "between",
13998
+ ...NUMBER_COMPARISON_OPS,
13999
+ ...NULLISH_OPS
14000
+ ], TEXT_OPS = [
14001
+ ...TEXT_SCALAR_OPS,
14002
+ ...MEMBERSHIP_OPS,
14003
+ "is_empty",
14004
+ ...NULLISH_OPS
14005
+ ], Filter = {
13897
14006
  number(e) {
13898
14007
  return {
13899
14008
  type: "number",
@@ -13937,45 +14046,94 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13937
14046
  };
13938
14047
  }
13939
14048
  };
14049
+ function isNullishFilter(e) {
14050
+ return e.operator === "is_null" || e.operator === "is_not_null";
14051
+ }
13940
14052
  function filterToFilterCondition(e, t) {
13941
14053
  if (!t) return [];
13942
14054
  let i = e;
13943
- if (t.operator === "is_null" || t.operator === "is_not_null") return [
14055
+ if (isNullishFilter(t)) return [
13944
14056
  {
13945
14057
  column_id: i,
13946
14058
  operator: t.operator,
13947
- value: void 0,
13948
14059
  type: "condition",
13949
14060
  negate: false
13950
14061
  }
13951
14062
  ];
13952
14063
  switch (t.type) {
13953
- case "number": {
13954
- let e2 = [];
13955
- return t.min !== void 0 && e2.push({
13956
- column_id: i,
13957
- operator: ">=",
13958
- value: t.min,
13959
- type: "condition",
13960
- negate: false
13961
- }), t.max !== void 0 && e2.push({
13962
- column_id: i,
13963
- operator: "<=",
13964
- value: t.max,
13965
- type: "condition",
13966
- negate: false
13967
- }), e2;
13968
- }
14064
+ case "number":
14065
+ switch (t.operator) {
14066
+ case "between":
14067
+ return [
14068
+ {
14069
+ column_id: i,
14070
+ operator: "between",
14071
+ value: {
14072
+ min: t.min,
14073
+ max: t.max
14074
+ },
14075
+ type: "condition",
14076
+ negate: false
14077
+ }
14078
+ ];
14079
+ case "==":
14080
+ case "!=":
14081
+ case ">":
14082
+ case ">=":
14083
+ case "<":
14084
+ case "<=":
14085
+ return [
14086
+ {
14087
+ column_id: i,
14088
+ operator: t.operator,
14089
+ value: t.value,
14090
+ type: "condition",
14091
+ negate: false
14092
+ }
14093
+ ];
14094
+ default:
14095
+ assertNever(t);
14096
+ }
13969
14097
  case "text":
13970
- return [
13971
- {
13972
- column_id: i,
13973
- operator: t.operator,
13974
- value: t.text,
13975
- type: "condition",
13976
- negate: false
13977
- }
13978
- ];
14098
+ switch (t.operator) {
14099
+ case "contains":
14100
+ case "equals":
14101
+ case "does_not_equal":
14102
+ case "regex":
14103
+ case "starts_with":
14104
+ case "ends_with":
14105
+ return [
14106
+ {
14107
+ column_id: i,
14108
+ operator: t.operator,
14109
+ value: t.text,
14110
+ type: "condition",
14111
+ negate: false
14112
+ }
14113
+ ];
14114
+ case "in":
14115
+ case "not_in":
14116
+ return [
14117
+ {
14118
+ column_id: i,
14119
+ operator: t.operator,
14120
+ value: t.values,
14121
+ type: "condition",
14122
+ negate: false
14123
+ }
14124
+ ];
14125
+ case "is_empty":
14126
+ return [
14127
+ {
14128
+ column_id: i,
14129
+ operator: "is_empty",
14130
+ type: "condition",
14131
+ negate: false
14132
+ }
14133
+ ];
14134
+ default:
14135
+ assertNever(t);
14136
+ }
13979
14137
  case "datetime": {
13980
14138
  let e2 = [];
13981
14139
  return t.min !== void 0 && e2.push({
@@ -14029,7 +14187,6 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
14029
14187
  {
14030
14188
  column_id: i,
14031
14189
  operator: "is_true",
14032
- value: void 0,
14033
14190
  type: "condition",
14034
14191
  negate: false
14035
14192
  }
@@ -14037,7 +14194,6 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
14037
14194
  {
14038
14195
  column_id: i,
14039
14196
  operator: "is_false",
14040
- value: void 0,
14041
14197
  type: "condition",
14042
14198
  negate: false
14043
14199
  }
@@ -16342,30 +16498,31 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16342
16498
  });
16343
16499
  }
16344
16500
  const FilterButtons = (e) => {
16345
- let t = (0, import_compiler_runtime$30.c)(8), { onApply: n, onClear: i, clearButtonDisabled: a } = e, o;
16346
- t[0] === n ? o = t[1] : (o = (0, import_jsx_runtime.jsx)(Button, {
16501
+ let t = (0, import_compiler_runtime$30.c)(9), { onApply: n, onClear: i, clearButtonDisabled: a, applyButtonDisabled: o } = e, s;
16502
+ t[0] !== o || t[1] !== n ? (s = (0, import_jsx_runtime.jsx)(Button, {
16347
16503
  variant: "link",
16348
16504
  size: "sm",
16349
16505
  onClick: n,
16506
+ disabled: o,
16350
16507
  children: "Apply"
16351
- }), t[0] = n, t[1] = o);
16352
- let s;
16353
- t[2] !== a || t[3] !== i ? (s = (0, import_jsx_runtime.jsx)(Button, {
16508
+ }), t[0] = o, t[1] = n, t[2] = s) : s = t[2];
16509
+ let c;
16510
+ t[3] !== a || t[4] !== i ? (c = (0, import_jsx_runtime.jsx)(Button, {
16354
16511
  variant: "linkDestructive",
16355
16512
  size: "sm",
16356
16513
  className: "",
16357
16514
  onClick: i,
16358
16515
  disabled: a,
16359
16516
  children: "Clear"
16360
- }), t[2] = a, t[3] = i, t[4] = s) : s = t[4];
16361
- let c;
16362
- return t[5] !== o || t[6] !== s ? (c = (0, import_jsx_runtime.jsxs)("div", {
16517
+ }), t[3] = a, t[4] = i, t[5] = c) : c = t[5];
16518
+ let d;
16519
+ return t[6] !== s || t[7] !== c ? (d = (0, import_jsx_runtime.jsxs)("div", {
16363
16520
  className: "flex gap-2 px-2 justify-between",
16364
16521
  children: [
16365
- o,
16366
- s
16522
+ s,
16523
+ c
16367
16524
  ]
16368
- }), t[5] = o, t[6] = s, t[7] = c) : c = t[7], c;
16525
+ }), t[6] = s, t[7] = c, t[8] = d) : d = t[8], d;
16369
16526
  }, DataTableColumnHeader = ({ column: e, header: t, subheader: n, justify: i, className: o, calculateTopKRows: s, table: c }) => {
16370
16527
  let [d, f] = (0, import_react.useState)(false), { locale: h } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7();
16371
16528
  if (!t) return null;
@@ -16429,7 +16586,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16429
16586
  renderColumnWrapping(e),
16430
16587
  renderFormatOptions(e, h),
16431
16588
  (0, import_jsx_runtime.jsx)(DropdownMenuSeparator, {}),
16432
- renderMenuItemFilter(e),
16589
+ renderMenuItemFilter(e, s),
16433
16590
  renderFilterByValues(e, f),
16434
16591
  _ && (0, import_jsx_runtime.jsx)(ClearFilterMenuItem, {
16435
16592
  column: e
@@ -16464,12 +16621,12 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16464
16621
  children: renderSortFilterIcon(e)
16465
16622
  });
16466
16623
  };
16467
- function renderMenuItemFilter(e) {
16624
+ function renderMenuItemFilter(e, t) {
16468
16625
  var _a2;
16469
16626
  if (!e.getCanFilter()) return null;
16470
- let t = (_a2 = e.columnDef.meta) == null ? void 0 : _a2.filterType;
16471
- if (!t) return null;
16472
- let n = (0, import_jsx_runtime.jsxs)(DropdownMenuSubTrigger, {
16627
+ let n = (_a2 = e.columnDef.meta) == null ? void 0 : _a2.filterType;
16628
+ if (!n) return null;
16629
+ let i = (0, import_jsx_runtime.jsxs)(DropdownMenuSubTrigger, {
16473
16630
  children: [
16474
16631
  (0, import_jsx_runtime.jsx)(Funnel, {
16475
16632
  className: "mo-dropdown-icon"
@@ -16477,9 +16634,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16477
16634
  "Filter"
16478
16635
  ]
16479
16636
  });
16480
- return t === "boolean" ? (0, import_jsx_runtime.jsxs)(DropdownMenuSub, {
16637
+ return n === "boolean" ? (0, import_jsx_runtime.jsxs)(DropdownMenuSub, {
16481
16638
  children: [
16482
- n,
16639
+ i,
16483
16640
  (0, import_jsx_runtime.jsx)(DropdownMenuPortal, {
16484
16641
  children: (0, import_jsx_runtime.jsx)(DropdownMenuSubContent, {
16485
16642
  children: (0, import_jsx_runtime.jsx)(BooleanFilter, {
@@ -16488,69 +16645,47 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16488
16645
  })
16489
16646
  })
16490
16647
  ]
16491
- }) : t === "text" ? (0, import_jsx_runtime.jsxs)(DropdownMenuSub, {
16648
+ }) : n === "text" ? (0, import_jsx_runtime.jsxs)(DropdownMenuSub, {
16492
16649
  children: [
16493
- n,
16650
+ i,
16494
16651
  (0, import_jsx_runtime.jsx)(DropdownMenuPortal, {
16495
16652
  children: (0, import_jsx_runtime.jsx)(DropdownMenuSubContent, {
16496
- children: (0, import_jsx_runtime.jsx)(TextFilter, {
16497
- column: e
16653
+ children: (0, import_jsx_runtime.jsx)(TextFilterMenu, {
16654
+ column: e,
16655
+ calculateTopKRows: t
16498
16656
  })
16499
16657
  })
16500
16658
  })
16501
16659
  ]
16502
- }) : t === "number" ? (0, import_jsx_runtime.jsxs)(DropdownMenuSub, {
16660
+ }) : n === "number" ? (0, import_jsx_runtime.jsxs)(DropdownMenuSub, {
16503
16661
  children: [
16504
- n,
16662
+ i,
16505
16663
  (0, import_jsx_runtime.jsx)(DropdownMenuPortal, {
16506
16664
  children: (0, import_jsx_runtime.jsx)(DropdownMenuSubContent, {
16507
- children: (0, import_jsx_runtime.jsx)(NumberRangeFilter, {
16665
+ children: (0, import_jsx_runtime.jsx)(NumberFilterMenu, {
16508
16666
  column: e
16509
16667
  })
16510
16668
  })
16511
16669
  })
16512
16670
  ]
16513
- }) : (t === "select" || t === "time" || t === "datetime" || t === "date" || logNever(t), null);
16514
- }
16515
- var NULL_FILTER_OPERATORS = {
16516
- is_null: "is_null",
16517
- is_not_null: "is_not_null"
16518
- }, NullFilter = ({ column: e, defaultItem: t, operator: n, setOperator: i }) => {
16519
- let o = (t2) => {
16520
- i(t2), (t2 === "is_null" || t2 === "is_not_null") && e.setFilterValue(Filter.text({
16521
- operator: t2
16522
- }));
16523
- };
16524
- return (0, import_jsx_runtime.jsxs)(Select, {
16525
- value: n,
16526
- onValueChange: (e2) => o(e2),
16527
- children: [
16528
- (0, import_jsx_runtime.jsx)(SelectTrigger, {
16529
- className: cn("border-border shadow-none! ring-0! w-full mb-0.5", (n === "is_null" || n === "is_not_null") && "mb-2"),
16530
- children: (0, import_jsx_runtime.jsx)(SelectValue, {
16531
- defaultValue: n
16532
- })
16533
- }),
16534
- (0, import_jsx_runtime.jsxs)(SelectContent, {
16535
- children: [
16536
- t && (0, import_jsx_runtime.jsx)(SelectItem, {
16537
- value: t,
16538
- children: capitalize(t)
16539
- }),
16540
- (0, import_jsx_runtime.jsx)(SelectSeparator, {}),
16541
- (0, import_jsx_runtime.jsx)(SelectItem, {
16542
- value: NULL_FILTER_OPERATORS.is_null,
16543
- children: "Is null"
16544
- }),
16545
- (0, import_jsx_runtime.jsx)(SelectItem, {
16546
- value: NULL_FILTER_OPERATORS.is_not_null,
16547
- children: "Is not null"
16548
- })
16549
- ]
16550
- })
16551
- ]
16552
- });
16553
- }, BooleanFilter = ({ column: e }) => (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
16671
+ }) : (n === "select" || n === "time" || n === "datetime" || n === "date" || logNever(n), null);
16672
+ }
16673
+ var OperatorSelect = ({ operator: e, options: t, onChange: n }) => (0, import_jsx_runtime.jsxs)(Select, {
16674
+ value: e,
16675
+ onValueChange: (e2) => n(e2),
16676
+ children: [
16677
+ (0, import_jsx_runtime.jsx)(SelectTrigger, {
16678
+ className: "border-border shadow-none! ring-0! w-full mb-0.5",
16679
+ children: (0, import_jsx_runtime.jsx)(SelectValue, {})
16680
+ }),
16681
+ (0, import_jsx_runtime.jsx)(SelectContent, {
16682
+ children: t.map((e2) => (0, import_jsx_runtime.jsx)(SelectItem, {
16683
+ value: e2,
16684
+ children: OPERATOR_LABELS[e2]
16685
+ }, e2))
16686
+ })
16687
+ ]
16688
+ }), BooleanFilter = ({ column: e }) => (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
16554
16689
  children: [
16555
16690
  (0, import_jsx_runtime.jsx)(DropdownMenuItem, {
16556
16691
  onClick: () => e.setFilterValue(Filter.boolean({
@@ -16580,121 +16715,145 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16580
16715
  children: "Is not null"
16581
16716
  })
16582
16717
  ]
16583
- }), NumberRangeFilter = ({ column: e }) => {
16584
- let t = e.getFilterValue(), n = t !== void 0, [i, a] = (0, import_react.useState)((t == null ? void 0 : t.operator) ?? "between"), [o, s] = (0, import_react.useState)(t == null ? void 0 : t.min), [c, d] = (0, import_react.useState)(t == null ? void 0 : t.max), f = (0, import_react.useRef)(null), h = (0, import_react.useRef)(null), _ = (t2 = {}) => {
16585
- e.setFilterValue(Filter.number({
16586
- min: t2.min ?? o,
16587
- max: t2.max ?? c,
16588
- operator: i === "between" ? void 0 : i
16718
+ }), NUMBER_COMPARISON_SET$1 = new Set(NUMBER_COMPARISON_OPS), isNumberComparisonOp$1 = (e) => NUMBER_COMPARISON_SET$1.has(e), isNumberComparisonFilter = (e) => isNumberComparisonOp$1(e.operator);
16719
+ const NumberFilterMenu = ({ column: e }) => {
16720
+ let t = e.getFilterValue(), n = t !== void 0, [i, a] = (0, import_react.useState)((t == null ? void 0 : t.operator) ?? "between"), [o, s] = (0, import_react.useState)((t == null ? void 0 : t.operator) === "between" ? t.min : void 0), [c, d] = (0, import_react.useState)((t == null ? void 0 : t.operator) === "between" ? t.max : void 0), [f, h] = (0, import_react.useState)(t !== void 0 && isNumberComparisonFilter(t) ? t.value : void 0), _ = isNumberComparisonOp$1(i), v = i === "is_null" || i === "is_not_null", y = i === "between" && (o === void 0 || c === void 0) || _ && f === void 0, S = () => {
16721
+ if (v) {
16722
+ e.setFilterValue(Filter.number({
16723
+ operator: i
16724
+ }));
16725
+ return;
16726
+ }
16727
+ if (i === "between" && o !== void 0 && c !== void 0) {
16728
+ e.setFilterValue(Filter.number({
16729
+ operator: "between",
16730
+ min: o,
16731
+ max: c
16732
+ }));
16733
+ return;
16734
+ }
16735
+ _ && f !== void 0 && e.setFilterValue(Filter.number({
16736
+ operator: i,
16737
+ value: f
16589
16738
  }));
16739
+ }, w = () => {
16740
+ s(void 0), d(void 0), h(void 0), e.setFilterValue(void 0);
16590
16741
  };
16591
16742
  return (0, import_jsx_runtime.jsxs)("div", {
16592
16743
  className: "flex flex-col gap-1 pt-3 px-2",
16593
16744
  children: [
16594
- (0, import_jsx_runtime.jsx)(NullFilter, {
16595
- column: e,
16596
- defaultItem: "between",
16745
+ (0, import_jsx_runtime.jsx)(OperatorSelect, {
16597
16746
  operator: i,
16598
- setOperator: a
16747
+ options: NUMBER_OPS,
16748
+ onChange: (e2) => {
16749
+ a(e2);
16750
+ }
16599
16751
  }),
16600
- i === "between" && (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
16752
+ i === "between" && (0, import_jsx_runtime.jsxs)("div", {
16753
+ className: "flex gap-1 items-center",
16601
16754
  children: [
16602
- (0, import_jsx_runtime.jsxs)("div", {
16603
- className: "flex gap-1 items-center",
16604
- children: [
16605
- (0, import_jsx_runtime.jsx)(NumberField, {
16606
- ref: f,
16607
- value: o,
16608
- onChange: (e2) => s(e2),
16609
- "aria-label": "min",
16610
- placeholder: "min",
16611
- onKeyDown: (e2) => {
16612
- var _a2;
16613
- e2.key === "Enter" && _({
16614
- min: Number.parseFloat(e2.currentTarget.value)
16615
- }), e2.key === "Tab" && ((_a2 = h.current) == null ? void 0 : _a2.focus());
16616
- },
16617
- className: "shadow-none! border-border hover:shadow-none!"
16618
- }),
16619
- (0, import_jsx_runtime.jsx)(Minus, {
16620
- className: "h-5 w-5 text-muted-foreground"
16621
- }),
16622
- (0, import_jsx_runtime.jsx)(NumberField, {
16623
- ref: h,
16624
- value: c,
16625
- onChange: (e2) => d(e2),
16626
- "aria-label": "max",
16627
- onKeyDown: (e2) => {
16628
- var _a2;
16629
- e2.key === "Enter" && _({
16630
- max: Number.parseFloat(e2.currentTarget.value)
16631
- }), e2.key === "Tab" && ((_a2 = f.current) == null ? void 0 : _a2.focus());
16632
- },
16633
- placeholder: "max",
16634
- className: "shadow-none! border-border hover:shadow-none!"
16635
- })
16636
- ]
16755
+ (0, import_jsx_runtime.jsx)(NumberField, {
16756
+ value: o,
16757
+ onChange: s,
16758
+ "aria-label": "min",
16759
+ placeholder: "min",
16760
+ className: "shadow-none! border-border hover:shadow-none!"
16637
16761
  }),
16638
- (0, import_jsx_runtime.jsx)(FilterButtons, {
16639
- onApply: _,
16640
- onClear: () => {
16641
- s(void 0), d(void 0), e.setFilterValue(void 0);
16642
- },
16643
- clearButtonDisabled: !n
16762
+ (0, import_jsx_runtime.jsx)(Minus, {
16763
+ className: "h-5 w-5 text-muted-foreground"
16764
+ }),
16765
+ (0, import_jsx_runtime.jsx)(NumberField, {
16766
+ value: c,
16767
+ onChange: d,
16768
+ "aria-label": "max",
16769
+ placeholder: "max",
16770
+ className: "shadow-none! border-border hover:shadow-none!"
16644
16771
  })
16645
16772
  ]
16773
+ }),
16774
+ _ && (0, import_jsx_runtime.jsx)(NumberField, {
16775
+ value: f,
16776
+ onChange: h,
16777
+ "aria-label": "value",
16778
+ placeholder: "value",
16779
+ className: "shadow-none! border-border hover:shadow-none!"
16780
+ }),
16781
+ (0, import_jsx_runtime.jsx)(FilterButtons, {
16782
+ onApply: S,
16783
+ onClear: w,
16784
+ clearButtonDisabled: !n,
16785
+ applyButtonDisabled: y
16646
16786
  })
16647
16787
  ]
16648
16788
  });
16649
- }, TextFilter = ({ column: e }) => {
16650
- let t = e.getFilterValue(), n = t !== void 0, [i, a] = (0, import_react.useState)((t == null ? void 0 : t.text) ?? ""), [o, s] = (0, import_react.useState)((t == null ? void 0 : t.operator) ?? "contains"), c = () => {
16651
- if (o !== "contains") {
16789
+ };
16790
+ var TEXT_SCALAR_SET$1 = new Set(TEXT_SCALAR_OPS), isTextScalarOp$1 = (e) => TEXT_SCALAR_SET$1.has(e);
16791
+ const TextFilterMenu = ({ column: e, calculateTopKRows: t }) => {
16792
+ let n = e.getFilterValue(), i = n !== void 0, [a, o] = (0, import_react.useState)((n == null ? void 0 : n.operator) ?? "contains"), [s, c] = (0, import_react.useState)(n && "text" in n ? n.text : ""), [d, f] = (0, import_react.useState)(n && "values" in n ? [
16793
+ ...n.values
16794
+ ] : []), h = isTextScalarOp$1(a), _ = a === "in" || a === "not_in", v = a === "is_null" || a === "is_not_null" || a === "is_empty", y = h && s === "" || _ && d.length === 0, S = () => {
16795
+ if (v) {
16652
16796
  e.setFilterValue(Filter.text({
16653
- operator: o
16797
+ operator: a
16654
16798
  }));
16655
16799
  return;
16656
16800
  }
16657
- if (i === "") {
16658
- e.setFilterValue(void 0);
16801
+ if (h && s !== "") {
16802
+ e.setFilterValue(Filter.text({
16803
+ operator: a,
16804
+ text: s
16805
+ }));
16659
16806
  return;
16660
16807
  }
16661
- e.setFilterValue(Filter.text({
16662
- text: i,
16663
- operator: o
16808
+ _ && d.length > 0 && e.setFilterValue(Filter.text({
16809
+ operator: a,
16810
+ values: d
16664
16811
  }));
16665
16812
  };
16666
16813
  return (0, import_jsx_runtime.jsxs)("div", {
16667
16814
  className: "flex flex-col gap-1 pt-3 px-2",
16668
16815
  children: [
16669
- (0, import_jsx_runtime.jsx)(NullFilter, {
16816
+ (0, import_jsx_runtime.jsx)(OperatorSelect, {
16817
+ operator: a,
16818
+ options: TEXT_OPS,
16819
+ onChange: (e2) => {
16820
+ o(e2);
16821
+ }
16822
+ }),
16823
+ h && a === "regex" && (0, import_jsx_runtime.jsx)(RegexInput, {
16824
+ value: s,
16825
+ onChange: c,
16826
+ onKeyDown: (e2) => {
16827
+ e2.stopPropagation(), e2.key === "Enter" && S();
16828
+ }
16829
+ }),
16830
+ h && a !== "regex" && (0, import_jsx_runtime.jsx)(Input, {
16831
+ type: "text",
16832
+ icon: (0, import_jsx_runtime.jsx)(TextAlignStart, {
16833
+ className: "h-3 w-3 text-muted-foreground mb-1"
16834
+ }),
16835
+ value: s,
16836
+ onChange: (e2) => c(e2.target.value),
16837
+ placeholder: "Text...",
16838
+ onKeyDown: (e2) => {
16839
+ e2.stopPropagation(), e2.key === "Enter" && S();
16840
+ },
16841
+ className: "shadow-none! border-border hover:shadow-none!"
16842
+ }),
16843
+ _ && (0, import_jsx_runtime.jsx)(FilterByValuesList, {
16670
16844
  column: e,
16671
- defaultItem: "contains",
16672
- operator: o,
16673
- setOperator: s
16845
+ calculateTopKRows: t,
16846
+ chosenValues: new Set(d),
16847
+ onChange: (e2) => f(e2.map(String)),
16848
+ creatable: true
16674
16849
  }),
16675
- o === "contains" && (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
16676
- children: [
16677
- (0, import_jsx_runtime.jsx)(Input, {
16678
- type: "text",
16679
- icon: (0, import_jsx_runtime.jsx)(TextAlignStart, {
16680
- className: "h-3 w-3 text-muted-foreground mb-1"
16681
- }),
16682
- value: i ?? "",
16683
- onChange: (e2) => a(e2.target.value),
16684
- placeholder: "Text...",
16685
- onKeyDown: (e2) => {
16686
- e2.key === "Enter" && c();
16687
- },
16688
- className: "shadow-none! border-border hover:shadow-none!"
16689
- }),
16690
- (0, import_jsx_runtime.jsx)(FilterButtons, {
16691
- onApply: c,
16692
- onClear: () => {
16693
- a(""), e.setFilterValue(void 0);
16694
- },
16695
- clearButtonDisabled: !n
16696
- })
16697
- ]
16850
+ (0, import_jsx_runtime.jsx)(FilterButtons, {
16851
+ onApply: S,
16852
+ onClear: () => {
16853
+ c(""), f([]), e.setFilterValue(void 0);
16854
+ },
16855
+ clearButtonDisabled: !i,
16856
+ applyButtonDisabled: y
16698
16857
  })
16699
16858
  ]
16700
16859
  });
@@ -19056,7 +19215,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19056
19215
  function PanelWithForwardedRef({ children: e, className: t = "", collapsedSize: n, collapsible: i, defaultSize: a, forwardedRef: o, id: s, maxSize: c, minSize: d, onCollapse: f, onExpand: h, onResize: _, order: v, style: y, tagName: S = "div", ...w }) {
19057
19216
  let E = (0, import_react.useContext)(PanelGroupContext);
19058
19217
  if (E === null) throw Error("Panel components must be rendered within a PanelGroup container");
19059
- let { collapsePanel: O, expandPanel: A, getPanelSize: M, getPanelStyle: I, groupId: z, isPanelCollapsed: U, reevaluatePanelConstraints: K, registerPanel: q, resizePanel: J, unregisterPanel: Q } = E, TN = useUniqueId(s), $ = (0, import_react.useRef)({
19218
+ let { collapsePanel: O, expandPanel: A, getPanelSize: M, getPanelStyle: I, groupId: z, isPanelCollapsed: U, reevaluatePanelConstraints: K, registerPanel: q, resizePanel: J, unregisterPanel: Q } = E, UN = useUniqueId(s), WN = (0, import_react.useRef)({
19060
19219
  callbacks: {
19061
19220
  onCollapse: f,
19062
19221
  onExpand: h,
@@ -19069,72 +19228,72 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19069
19228
  maxSize: c,
19070
19229
  minSize: d
19071
19230
  },
19072
- id: TN,
19231
+ id: UN,
19073
19232
  idIsFromProps: s !== void 0,
19074
19233
  order: v
19075
19234
  });
19076
19235
  (0, import_react.useRef)({
19077
19236
  didLogMissingDefaultSizeWarning: false
19078
19237
  }), useIsomorphicLayoutEffect$1(() => {
19079
- let { callbacks: e2, constraints: t2 } = $.current, o2 = {
19238
+ let { callbacks: e2, constraints: t2 } = WN.current, o2 = {
19080
19239
  ...t2
19081
19240
  };
19082
- $.current.id = TN, $.current.idIsFromProps = s !== void 0, $.current.order = v, e2.onCollapse = f, e2.onExpand = h, e2.onResize = _, t2.collapsedSize = n, t2.collapsible = i, t2.defaultSize = a, t2.maxSize = c, t2.minSize = d, (o2.collapsedSize !== t2.collapsedSize || o2.collapsible !== t2.collapsible || o2.maxSize !== t2.maxSize || o2.minSize !== t2.minSize) && K($.current, o2);
19241
+ WN.current.id = UN, WN.current.idIsFromProps = s !== void 0, WN.current.order = v, e2.onCollapse = f, e2.onExpand = h, e2.onResize = _, t2.collapsedSize = n, t2.collapsible = i, t2.defaultSize = a, t2.maxSize = c, t2.minSize = d, (o2.collapsedSize !== t2.collapsedSize || o2.collapsible !== t2.collapsible || o2.maxSize !== t2.maxSize || o2.minSize !== t2.minSize) && K(WN.current, o2);
19083
19242
  }), useIsomorphicLayoutEffect$1(() => {
19084
- let e2 = $.current;
19243
+ let e2 = WN.current;
19085
19244
  return q(e2), () => {
19086
19245
  Q(e2);
19087
19246
  };
19088
19247
  }, [
19089
19248
  v,
19090
- TN,
19249
+ UN,
19091
19250
  q,
19092
19251
  Q
19093
19252
  ]), (0, import_react.useImperativeHandle)(o, () => ({
19094
19253
  collapse: () => {
19095
- O($.current);
19254
+ O(WN.current);
19096
19255
  },
19097
19256
  expand: (e2) => {
19098
- A($.current, e2);
19257
+ A(WN.current, e2);
19099
19258
  },
19100
19259
  getId() {
19101
- return TN;
19260
+ return UN;
19102
19261
  },
19103
19262
  getSize() {
19104
- return M($.current);
19263
+ return M(WN.current);
19105
19264
  },
19106
19265
  isCollapsed() {
19107
- return U($.current);
19266
+ return U(WN.current);
19108
19267
  },
19109
19268
  isExpanded() {
19110
- return !U($.current);
19269
+ return !U(WN.current);
19111
19270
  },
19112
19271
  resize: (e2) => {
19113
- J($.current, e2);
19272
+ J(WN.current, e2);
19114
19273
  }
19115
19274
  }), [
19116
19275
  O,
19117
19276
  A,
19118
19277
  M,
19119
19278
  U,
19120
- TN,
19279
+ UN,
19121
19280
  J
19122
19281
  ]);
19123
- let EN = I($.current, a);
19282
+ let GN = I(WN.current, a);
19124
19283
  return (0, import_react.createElement)(S, {
19125
19284
  ...w,
19126
19285
  children: e,
19127
19286
  className: t,
19128
- id: TN,
19287
+ id: UN,
19129
19288
  style: {
19130
- ...EN,
19289
+ ...GN,
19131
19290
  ...y
19132
19291
  },
19133
19292
  [DATA_ATTRIBUTES.groupId]: z,
19134
19293
  [DATA_ATTRIBUTES.panel]: "",
19135
19294
  [DATA_ATTRIBUTES.panelCollapsible]: i || void 0,
19136
- [DATA_ATTRIBUTES.panelId]: TN,
19137
- [DATA_ATTRIBUTES.panelSize]: parseFloat("" + EN.flexGrow).toFixed(1)
19295
+ [DATA_ATTRIBUTES.panelId]: UN,
19296
+ [DATA_ATTRIBUTES.panelSize]: parseFloat("" + GN.flexGrow).toFixed(1)
19138
19297
  });
19139
19298
  }
19140
19299
  var Panel = (0, import_react.forwardRef)((e, t) => (0, import_react.createElement)(PanelWithForwardedRef, {
@@ -19907,7 +20066,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19907
20066
  }, []), Q = (0, import_react.useCallback)((e2) => {
19908
20067
  let { layout: t2, panelDataArray: n2 } = K.current, { panelSize: i2 } = panelDataHelper(n2, e2, t2);
19909
20068
  return assert(i2 != null, `Panel size not found for panel "${e2.id}"`), i2;
19910
- }, []), TN = (0, import_react.useCallback)((e2, t2) => {
20069
+ }, []), UN = (0, import_react.useCallback)((e2, t2) => {
19911
20070
  let { panelDataArray: n2 } = K.current;
19912
20071
  return computePanelFlexBoxStyle({
19913
20072
  defaultSize: t2,
@@ -19919,13 +20078,13 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19919
20078
  }, [
19920
20079
  S,
19921
20080
  E
19922
- ]), $ = (0, import_react.useCallback)((e2) => {
20081
+ ]), WN = (0, import_react.useCallback)((e2) => {
19923
20082
  let { layout: t2, panelDataArray: n2 } = K.current, { collapsedSize: i2 = 0, collapsible: a2, panelSize: o2 } = panelDataHelper(n2, e2, t2);
19924
20083
  return assert(o2 != null, `Panel size not found for panel "${e2.id}"`), a2 === true && fuzzyNumbersEqual$1(o2, i2);
19925
- }, []), EN = (0, import_react.useCallback)((e2) => {
20084
+ }, []), GN = (0, import_react.useCallback)((e2) => {
19926
20085
  let { layout: t2, panelDataArray: n2 } = K.current, { collapsedSize: i2 = 0, collapsible: a2, panelSize: o2 } = panelDataHelper(n2, e2, t2);
19927
20086
  return assert(o2 != null, `Panel size not found for panel "${e2.id}"`), !a2 || fuzzyCompareNumbers(o2, i2) > 0;
19928
- }, []), DN = (0, import_react.useCallback)((e2) => {
20087
+ }, []), KN = (0, import_react.useCallback)((e2) => {
19929
20088
  let { panelDataArray: t2 } = K.current;
19930
20089
  t2.push(e2), t2.sort((e3, t3) => {
19931
20090
  let n2 = e3.order, i2 = t3.order;
@@ -19957,7 +20116,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19957
20116
  e2.layout = [];
19958
20117
  };
19959
20118
  }, []);
19960
- let ON = (0, import_react.useCallback)((e2) => {
20119
+ let $ = (0, import_react.useCallback)((e2) => {
19961
20120
  let t2 = false, n2 = y.current;
19962
20121
  return n2 && window.getComputedStyle(n2, null).getPropertyValue("direction") === "rtl" && (t2 = true), function(n3) {
19963
20122
  n3.preventDefault();
@@ -19975,7 +20134,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19975
20134
  }), I2 = !compareLayouts(f2, A2);
19976
20135
  (isPointerEvent(n3) || isMouseEvent(n3)) && z.current != S2 && (z.current = S2, !I2 && S2 !== 0 ? w2 ? reportConstraintsViolation(e2, S2 < 0 ? EXCEEDED_HORIZONTAL_MIN : EXCEEDED_HORIZONTAL_MAX) : reportConstraintsViolation(e2, S2 < 0 ? EXCEEDED_VERTICAL_MIN : EXCEEDED_VERTICAL_MAX) : reportConstraintsViolation(e2, 0)), I2 && (O(A2), K.current.layout = A2, d2 && d2(A2), callPanelCallbacks(h2, A2, M.current));
19977
20136
  };
19978
- }, []), kN = (0, import_react.useCallback)((e2, t2) => {
20137
+ }, []), qN = (0, import_react.useCallback)((e2, t2) => {
19979
20138
  let { onLayout: n2 } = U.current, { layout: i2, panelDataArray: a2 } = K.current, o2 = a2.map((e3) => e3.constraints), { panelSize: s2, pivotIndices: c2 } = panelDataHelper(a2, e2, i2);
19980
20139
  assert(s2 != null, `Panel size not found for panel "${e2.id}"`);
19981
20140
  let d2 = adjustLayoutByDelta({
@@ -19987,12 +20146,12 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19987
20146
  trigger: "imperative-api"
19988
20147
  });
19989
20148
  compareLayouts(i2, d2) || (O(d2), K.current.layout = d2, n2 && n2(d2), callPanelCallbacks(a2, d2, M.current));
19990
- }, []), AN = (0, import_react.useCallback)((e2, t2) => {
20149
+ }, []), JN = (0, import_react.useCallback)((e2, t2) => {
19991
20150
  let { layout: n2, panelDataArray: i2 } = K.current, { collapsedSize: a2 = 0, collapsible: o2 } = t2, { collapsedSize: s2 = 0, collapsible: c2, maxSize: d2 = 100, minSize: f2 = 0 } = e2.constraints, { panelSize: h2 } = panelDataHelper(i2, e2, n2);
19992
- h2 != null && (o2 && c2 && fuzzyNumbersEqual$1(h2, a2) ? fuzzyNumbersEqual$1(a2, s2) || kN(e2, s2) : h2 < f2 ? kN(e2, f2) : h2 > d2 && kN(e2, d2));
20151
+ h2 != null && (o2 && c2 && fuzzyNumbersEqual$1(h2, a2) ? fuzzyNumbersEqual$1(a2, s2) || qN(e2, s2) : h2 < f2 ? qN(e2, f2) : h2 > d2 && qN(e2, d2));
19993
20152
  }, [
19994
- kN
19995
- ]), jN = (0, import_react.useCallback)((e2, t2) => {
20153
+ qN
20154
+ ]), YN = (0, import_react.useCallback)((e2, t2) => {
19996
20155
  let { direction: n2 } = U.current, { layout: i2 } = K.current;
19997
20156
  if (!y.current) return;
19998
20157
  let a2 = getResizeHandleElement(e2, y.current);
@@ -20004,30 +20163,30 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20004
20163
  initialCursorPosition: o2,
20005
20164
  initialLayout: i2
20006
20165
  });
20007
- }, []), MN = (0, import_react.useCallback)(() => {
20166
+ }, []), XN = (0, import_react.useCallback)(() => {
20008
20167
  w(null);
20009
- }, []), NN = (0, import_react.useCallback)((e2) => {
20168
+ }, []), ZN = (0, import_react.useCallback)((e2) => {
20010
20169
  let { panelDataArray: t2 } = K.current, n2 = findPanelDataIndex(t2, e2);
20011
20170
  n2 >= 0 && (t2.splice(n2, 1), delete M.current[e2.id], K.current.panelDataArrayChanged = true, A());
20012
20171
  }, [
20013
20172
  A
20014
- ]), PN = (0, import_react.useMemo)(() => ({
20173
+ ]), QN = (0, import_react.useMemo)(() => ({
20015
20174
  collapsePanel: q,
20016
20175
  direction: i,
20017
20176
  dragState: S,
20018
20177
  expandPanel: J,
20019
20178
  getPanelSize: Q,
20020
- getPanelStyle: TN,
20179
+ getPanelStyle: UN,
20021
20180
  groupId: v,
20022
- isPanelCollapsed: $,
20023
- isPanelExpanded: EN,
20024
- reevaluatePanelConstraints: AN,
20025
- registerPanel: DN,
20026
- registerResizeHandle: ON,
20027
- resizePanel: kN,
20028
- startDragging: jN,
20029
- stopDragging: MN,
20030
- unregisterPanel: NN,
20181
+ isPanelCollapsed: WN,
20182
+ isPanelExpanded: GN,
20183
+ reevaluatePanelConstraints: JN,
20184
+ registerPanel: KN,
20185
+ registerResizeHandle: $,
20186
+ resizePanel: qN,
20187
+ startDragging: YN,
20188
+ stopDragging: XN,
20189
+ unregisterPanel: ZN,
20031
20190
  panelGroupElement: y.current
20032
20191
  }), [
20033
20192
  q,
@@ -20035,18 +20194,18 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20035
20194
  i,
20036
20195
  J,
20037
20196
  Q,
20038
- TN,
20197
+ UN,
20039
20198
  v,
20199
+ WN,
20200
+ GN,
20201
+ JN,
20202
+ KN,
20040
20203
  $,
20041
- EN,
20042
- AN,
20043
- DN,
20044
- ON,
20045
- kN,
20046
- jN,
20047
- MN,
20048
- NN
20049
- ]), FN = {
20204
+ qN,
20205
+ YN,
20206
+ XN,
20207
+ ZN
20208
+ ]), $N = {
20050
20209
  display: "flex",
20051
20210
  flexDirection: i === "horizontal" ? "row" : "column",
20052
20211
  height: "100%",
@@ -20054,7 +20213,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20054
20213
  width: "100%"
20055
20214
  };
20056
20215
  return (0, import_react.createElement)(PanelGroupContext.Provider, {
20057
- value: PN
20216
+ value: QN
20058
20217
  }, (0, import_react.createElement)(h, {
20059
20218
  ..._,
20060
20219
  children: t,
@@ -20062,7 +20221,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20062
20221
  id: o,
20063
20222
  ref: y,
20064
20223
  style: {
20065
- ...FN,
20224
+ ...$N,
20066
20225
  ...f
20067
20226
  },
20068
20227
  [DATA_ATTRIBUTES.group]: "",
@@ -20139,31 +20298,31 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20139
20298
  });
20140
20299
  let O = (0, import_react.useContext)(PanelGroupContext);
20141
20300
  if (O === null) throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");
20142
- let { direction: A, groupId: M, registerResizeHandle: I, startDragging: z, stopDragging: U, panelGroupElement: K } = O, q = useUniqueId(a), [J, Q] = (0, import_react.useState)("inactive"), [TN, $] = (0, import_react.useState)(false), [EN, DN] = (0, import_react.useState)(null), ON = (0, import_react.useRef)({
20301
+ let { direction: A, groupId: M, registerResizeHandle: I, startDragging: z, stopDragging: U, panelGroupElement: K } = O, q = useUniqueId(a), [J, Q] = (0, import_react.useState)("inactive"), [UN, WN] = (0, import_react.useState)(false), [GN, KN] = (0, import_react.useState)(null), $ = (0, import_react.useRef)({
20143
20302
  state: J
20144
20303
  });
20145
20304
  useIsomorphicLayoutEffect$1(() => {
20146
- ON.current.state = J;
20305
+ $.current.state = J;
20147
20306
  }), (0, import_react.useEffect)(() => {
20148
- if (n) DN(null);
20307
+ if (n) KN(null);
20149
20308
  else {
20150
20309
  let e2 = I(q);
20151
- DN(() => e2);
20310
+ KN(() => e2);
20152
20311
  }
20153
20312
  }, [
20154
20313
  n,
20155
20314
  q,
20156
20315
  I
20157
20316
  ]);
20158
- let kN = (i == null ? void 0 : i.coarse) ?? 15, AN = (i == null ? void 0 : i.fine) ?? 5;
20317
+ let qN = (i == null ? void 0 : i.coarse) ?? 15, JN = (i == null ? void 0 : i.fine) ?? 5;
20159
20318
  (0, import_react.useEffect)(() => {
20160
- if (n || EN == null) return;
20319
+ if (n || GN == null) return;
20161
20320
  let e2 = w.current;
20162
20321
  assert(e2, "Element ref not attached");
20163
20322
  let t2 = false;
20164
20323
  return registerResizeHandle(q, e2, A, {
20165
- coarse: kN,
20166
- fine: AN
20324
+ coarse: qN,
20325
+ fine: JN
20167
20326
  }, (e3, n2, i2) => {
20168
20327
  if (!n2) {
20169
20328
  Q("inactive");
@@ -20177,8 +20336,8 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20177
20336
  break;
20178
20337
  }
20179
20338
  case "move": {
20180
- let { state: e4 } = ON.current;
20181
- t2 = true, e4 !== "drag" && Q("hover"), assert(i2, 'Expected event to be defined for "move" action'), EN(i2);
20339
+ let { state: e4 } = $.current;
20340
+ t2 = true, e4 !== "drag" && Q("hover"), assert(i2, 'Expected event to be defined for "move" action'), GN(i2);
20182
20341
  break;
20183
20342
  }
20184
20343
  case "up": {
@@ -20190,22 +20349,22 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20190
20349
  }
20191
20350
  });
20192
20351
  }, [
20193
- kN,
20352
+ qN,
20194
20353
  A,
20195
20354
  n,
20196
- AN,
20355
+ JN,
20197
20356
  I,
20198
20357
  q,
20199
- EN,
20358
+ GN,
20200
20359
  z,
20201
20360
  U
20202
20361
  ]), useWindowSplitterResizeHandlerBehavior({
20203
20362
  disabled: n,
20204
20363
  handleId: q,
20205
- resizeHandler: EN,
20364
+ resizeHandler: GN,
20206
20365
  panelGroupElement: K
20207
20366
  });
20208
- let jN = {
20367
+ let YN = {
20209
20368
  touchAction: "none",
20210
20369
  userSelect: "none"
20211
20370
  };
@@ -20215,22 +20374,22 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20215
20374
  className: t,
20216
20375
  id: a,
20217
20376
  onBlur: () => {
20218
- $(false), o == null ? void 0 : o();
20377
+ WN(false), o == null ? void 0 : o();
20219
20378
  },
20220
20379
  onFocus: () => {
20221
- $(true), d == null ? void 0 : d();
20380
+ WN(true), d == null ? void 0 : d();
20222
20381
  },
20223
20382
  ref: w,
20224
20383
  role: "separator",
20225
20384
  style: {
20226
- ...jN,
20385
+ ...YN,
20227
20386
  ..._
20228
20387
  },
20229
20388
  tabIndex: v,
20230
20389
  [DATA_ATTRIBUTES.groupDirection]: A,
20231
20390
  [DATA_ATTRIBUTES.groupId]: M,
20232
20391
  [DATA_ATTRIBUTES.resizeHandle]: "",
20233
- [DATA_ATTRIBUTES.resizeHandleActive]: J === "drag" ? "pointer" : TN ? "keyboard" : void 0,
20392
+ [DATA_ATTRIBUTES.resizeHandleActive]: J === "drag" ? "pointer" : UN ? "keyboard" : void 0,
20234
20393
  [DATA_ATTRIBUTES.resizeHandleEnabled]: !n,
20235
20394
  [DATA_ATTRIBUTES.resizeHandleId]: q,
20236
20395
  [DATA_ATTRIBUTES.resizeHandleState]: J
@@ -20395,149 +20554,155 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20395
20554
  onSelect: Functions.NOOP
20396
20555
  });
20397
20556
  Combobox = (e) => {
20398
- let t = (0, import_compiler_runtime$21.c)(96), n, i, o, s, c, d, f, h, _, v, y, S, w, E, O, A, M, I, z, U, K, q;
20399
- t[0] === e ? (n = t[1], i = t[2], o = t[3], s = t[4], c = t[5], d = t[6], f = t[7], h = t[8], _ = t[9], v = t[10], y = t[11], S = t[12], w = t[13], E = t[14], O = t[15], A = t[16], M = t[17], I = t[18], z = t[19], U = t[20], K = t[21], q = t[22]) : ({ children: n, displayValue: d, className: o, placeholder: E, value: q, defaultValue: c, onValueChange: S, multiple: M, shouldFilter: I, filterFn: f, open: w, defaultOpen: s, onOpenChange: v, inputPlaceholder: z, search: A, onSearchChange: y, emptyState: U, chips: K, chipsClassName: i, keepPopoverOpenOnSelect: _, id: h, ...O } = e, t[0] = e, t[1] = n, t[2] = i, t[3] = o, t[4] = s, t[5] = c, t[6] = d, t[7] = f, t[8] = h, t[9] = _, t[10] = v, t[11] = y, t[12] = S, t[13] = w, t[14] = E, t[15] = O, t[16] = A, t[17] = M, t[18] = I, t[19] = z, t[20] = U, t[21] = K, t[22] = q);
20400
- let J = M === void 0 ? false : M, Q = I === void 0 ? true : I, TN = z === void 0 ? "Search..." : z, $ = U === void 0 ? "Nothing found." : U, EN = K === void 0 ? false : K, DN = s ?? false, ON;
20401
- t[23] !== v || t[24] !== w || t[25] !== DN ? (ON = {
20557
+ let t = (0, import_compiler_runtime$21.c)(103), n, i, o, s, c, d, f, h, _, v, y, S, w, E, O, A, M, I, z, U, K, q, J;
20558
+ t[0] === e ? (n = t[1], i = t[2], o = t[3], s = t[4], c = t[5], d = t[6], f = t[7], h = t[8], _ = t[9], v = t[10], y = t[11], S = t[12], w = t[13], E = t[14], O = t[15], A = t[16], M = t[17], I = t[18], z = t[19], U = t[20], K = t[21], q = t[22], J = t[23]) : ({ children: n, displayValue: d, className: o, placeholder: E, value: J, defaultValue: c, onValueChange: S, multiple: M, shouldFilter: I, filterFn: f, open: w, defaultOpen: s, onOpenChange: v, inputPlaceholder: z, search: A, onSearchChange: y, emptyState: U, chips: K, chipsClassName: i, keepPopoverOpenOnSelect: _, id: h, disabled: q, ...O } = e, t[0] = e, t[1] = n, t[2] = i, t[3] = o, t[4] = s, t[5] = c, t[6] = d, t[7] = f, t[8] = h, t[9] = _, t[10] = v, t[11] = y, t[12] = S, t[13] = w, t[14] = E, t[15] = O, t[16] = A, t[17] = M, t[18] = I, t[19] = z, t[20] = U, t[21] = K, t[22] = q, t[23] = J);
20559
+ let Q = M === void 0 ? false : M, UN = I === void 0 ? true : I, WN = z === void 0 ? "Search..." : z, GN = U === void 0 ? "Nothing found." : U, KN = K === void 0 ? false : K, $ = q === void 0 ? false : q, qN = s ?? false, JN;
20560
+ t[24] !== v || t[25] !== w || t[26] !== qN ? (JN = {
20402
20561
  prop: w,
20403
- defaultProp: DN,
20562
+ defaultProp: qN,
20404
20563
  onChange: v
20405
- }, t[23] = v, t[24] = w, t[25] = DN, t[26] = ON) : ON = t[26];
20406
- let [kN, AN] = useControllableState(ON), jN = kN === void 0 ? false : kN, MN;
20407
- t[27] === S ? MN = t[28] : (MN = (e2) => {
20564
+ }, t[24] = v, t[25] = w, t[26] = qN, t[27] = JN) : JN = t[27];
20565
+ let [YN, XN] = useControllableState(JN), ZN = YN === void 0 ? false : YN, QN;
20566
+ t[28] === S ? QN = t[29] : (QN = (e2) => {
20408
20567
  S == null ? void 0 : S(e2);
20409
- }, t[27] = S, t[28] = MN);
20410
- let NN;
20411
- t[29] !== c || t[30] !== MN || t[31] !== q ? (NN = {
20412
- prop: q,
20568
+ }, t[28] = S, t[29] = QN);
20569
+ let $N;
20570
+ t[30] !== c || t[31] !== QN || t[32] !== J ? ($N = {
20571
+ prop: J,
20413
20572
  defaultProp: c,
20414
- onChange: MN
20415
- }, t[29] = c, t[30] = MN, t[31] = q, t[32] = NN) : NN = t[32];
20416
- let [FN, IN] = useControllableState(NN), LN;
20417
- t[33] === FN ? LN = t[34] : (LN = (e2) => Array.isArray(FN) ? FN.includes(e2) : FN === e2, t[33] = FN, t[34] = LN);
20418
- let RN = LN, zN;
20419
- t[35] !== _ || t[36] !== J || t[37] !== AN || t[38] !== IN || t[39] !== FN ? (zN = (e2) => {
20573
+ onChange: QN
20574
+ }, t[30] = c, t[31] = QN, t[32] = J, t[33] = $N) : $N = t[33];
20575
+ let [eP, tP] = useControllableState($N), nP;
20576
+ t[34] === eP ? nP = t[35] : (nP = (e2) => Array.isArray(eP) ? eP.includes(e2) : eP === e2, t[34] = eP, t[35] = nP);
20577
+ let rP = nP, iP;
20578
+ t[36] !== _ || t[37] !== Q || t[38] !== XN || t[39] !== tP || t[40] !== eP ? (iP = (e2) => {
20420
20579
  let t2 = e2;
20421
- if (J) if (Array.isArray(FN)) if (FN.includes(t2)) {
20422
- let n2 = FN.filter((t3) => t3 !== e2);
20580
+ if (Q) if (Array.isArray(eP)) if (eP.includes(t2)) {
20581
+ let n2 = eP.filter((t3) => t3 !== e2);
20423
20582
  t2 = n2.length > 0 ? n2 : [];
20424
20583
  } else t2 = [
20425
- ...FN,
20584
+ ...eP,
20426
20585
  t2
20427
20586
  ];
20428
20587
  else t2 = [
20429
20588
  t2
20430
20589
  ];
20431
- else FN === e2 && (t2 = null);
20432
- IN(t2), (_ ?? J) || AN(false);
20433
- }, t[35] = _, t[36] = J, t[37] = AN, t[38] = IN, t[39] = FN, t[40] = zN) : zN = t[40];
20434
- let BN = zN, VN;
20435
- t[41] !== EN || t[42] !== d || t[43] !== J || t[44] !== E || t[45] !== FN ? (VN = () => J && EN && E ? E : FN == null ? E ?? "--" : Array.isArray(FN) ? FN.length === 0 ? E ?? "--" : FN.length === 1 && d !== void 0 ? d(FN[0]) : `${FN.length} selected` : d === void 0 ? E ?? "--" : d(FN), t[41] = EN, t[42] = d, t[43] = J, t[44] = E, t[45] = FN, t[46] = VN) : VN = t[46];
20436
- let HN = VN, UN;
20437
- t[47] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (UN = cn("relative"), t[47] = UN) : UN = t[47];
20438
- let WN;
20439
- t[48] === o ? WN = t[49] : (WN = cn("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50", o), t[48] = o, t[49] = WN);
20440
- let GN;
20441
- t[50] === HN ? GN = t[51] : (GN = HN(), t[50] = HN, t[51] = GN);
20442
- let KN;
20443
- t[52] === GN ? KN = t[53] : (KN = (0, import_jsx_runtime.jsx)("span", {
20590
+ else eP === e2 && (t2 = null);
20591
+ tP(t2), (_ ?? Q) || XN(false);
20592
+ }, t[36] = _, t[37] = Q, t[38] = XN, t[39] = tP, t[40] = eP, t[41] = iP) : iP = t[41];
20593
+ let aP = iP, oP;
20594
+ t[42] !== KN || t[43] !== d || t[44] !== Q || t[45] !== E || t[46] !== eP ? (oP = () => Q && KN && E ? E : eP == null ? E ?? "--" : Array.isArray(eP) ? eP.length === 0 ? E ?? "--" : eP.length === 1 && d !== void 0 ? d(eP[0]) : `${eP.length} selected` : d === void 0 ? E ?? "--" : d(eP), t[42] = KN, t[43] = d, t[44] = Q, t[45] = E, t[46] = eP, t[47] = oP) : oP = t[47];
20595
+ let sP = oP, cP;
20596
+ t[48] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (cP = cn("relative"), t[48] = cP) : cP = t[48];
20597
+ let lP;
20598
+ t[49] !== $ || t[50] !== XN ? (lP = (e2) => {
20599
+ $ && e2 || XN(e2);
20600
+ }, t[49] = $, t[50] = XN, t[51] = lP) : lP = t[51];
20601
+ let uP = $ && "cursor-not-allowed opacity-50", fP;
20602
+ t[52] !== o || t[53] !== uP ? (fP = cn("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid", uP, o), t[52] = o, t[53] = uP, t[54] = fP) : fP = t[54];
20603
+ let pP;
20604
+ t[55] === sP ? pP = t[56] : (pP = sP(), t[55] = sP, t[56] = pP);
20605
+ let hP;
20606
+ t[57] === pP ? hP = t[58] : (hP = (0, import_jsx_runtime.jsx)("span", {
20444
20607
  className: "truncate flex-1 min-w-0",
20445
- children: GN
20446
- }), t[52] = GN, t[53] = KN);
20447
- let JN;
20448
- t[54] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (JN = (0, import_jsx_runtime.jsx)(ChevronDown, {
20608
+ children: pP
20609
+ }), t[57] = pP, t[58] = hP);
20610
+ let gP;
20611
+ t[59] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (gP = (0, import_jsx_runtime.jsx)(ChevronDown, {
20449
20612
  className: "ml-3 w-4 h-4 opacity-50 shrink-0"
20450
- }), t[54] = JN) : JN = t[54];
20451
- let YN;
20452
- t[55] !== h || t[56] !== jN || t[57] !== WN || t[58] !== KN ? (YN = (0, import_jsx_runtime.jsx)(PopoverTrigger, {
20613
+ }), t[59] = gP) : gP = t[59];
20614
+ let _P;
20615
+ t[60] !== $ || t[61] !== h || t[62] !== ZN || t[63] !== fP || t[64] !== hP ? (_P = (0, import_jsx_runtime.jsx)(PopoverTrigger, {
20453
20616
  asChild: true,
20454
- children: (0, import_jsx_runtime.jsxs)("div", {
20617
+ children: (0, import_jsx_runtime.jsxs)("button", {
20455
20618
  id: h,
20456
- className: WN,
20457
- "aria-expanded": jN,
20619
+ type: "button",
20620
+ className: fP,
20621
+ "aria-expanded": ZN,
20622
+ "aria-disabled": $,
20458
20623
  children: [
20459
- KN,
20460
- JN
20624
+ hP,
20625
+ gP
20461
20626
  ]
20462
20627
  })
20463
- }), t[55] = h, t[56] = jN, t[57] = WN, t[58] = KN, t[59] = YN) : YN = t[59];
20464
- let ZN;
20465
- t[60] !== TN || t[61] !== y || t[62] !== A ? (ZN = (0, import_jsx_runtime.jsx)(CommandInput, {
20466
- placeholder: TN,
20628
+ }), t[60] = $, t[61] = h, t[62] = ZN, t[63] = fP, t[64] = hP, t[65] = _P) : _P = t[65];
20629
+ let vP;
20630
+ t[66] !== WN || t[67] !== y || t[68] !== A ? (vP = (0, import_jsx_runtime.jsx)(CommandInput, {
20631
+ placeholder: WN,
20467
20632
  rootClassName: "px-1 h-8",
20468
20633
  autoFocus: true,
20469
20634
  value: A,
20470
20635
  onValueChange: y
20471
- }), t[60] = TN, t[61] = y, t[62] = A, t[63] = ZN) : ZN = t[63];
20472
- let QN;
20473
- t[64] === $ ? QN = t[65] : (QN = (0, import_jsx_runtime.jsx)(CommandEmpty, {
20474
- children: $
20475
- }), t[64] = $, t[65] = QN);
20476
- let $N;
20477
- t[66] !== BN || t[67] !== RN ? ($N = {
20478
- isSelected: RN,
20479
- onSelect: BN
20480
- }, t[66] = BN, t[67] = RN, t[68] = $N) : $N = t[68];
20481
- let eP;
20482
- t[69] !== n || t[70] !== $N ? (eP = (0, import_jsx_runtime.jsx)(ComboboxContext, {
20483
- value: $N,
20636
+ }), t[66] = WN, t[67] = y, t[68] = A, t[69] = vP) : vP = t[69];
20637
+ let yP;
20638
+ t[70] === GN ? yP = t[71] : (yP = (0, import_jsx_runtime.jsx)(CommandEmpty, {
20639
+ children: GN
20640
+ }), t[70] = GN, t[71] = yP);
20641
+ let bP;
20642
+ t[72] !== aP || t[73] !== rP ? (bP = {
20643
+ isSelected: rP,
20644
+ onSelect: aP
20645
+ }, t[72] = aP, t[73] = rP, t[74] = bP) : bP = t[74];
20646
+ let xP;
20647
+ t[75] !== n || t[76] !== bP ? (xP = (0, import_jsx_runtime.jsx)(ComboboxContext, {
20648
+ value: bP,
20484
20649
  children: n
20485
- }), t[69] = n, t[70] = $N, t[71] = eP) : eP = t[71];
20486
- let tP;
20487
- t[72] !== QN || t[73] !== eP ? (tP = (0, import_jsx_runtime.jsxs)(CommandList, {
20650
+ }), t[75] = n, t[76] = bP, t[77] = xP) : xP = t[77];
20651
+ let SP;
20652
+ t[78] !== yP || t[79] !== xP ? (SP = (0, import_jsx_runtime.jsxs)(CommandList, {
20488
20653
  className: "max-h-60 py-.5",
20489
20654
  children: [
20490
- QN,
20491
- eP
20655
+ yP,
20656
+ xP
20492
20657
  ]
20493
- }), t[72] = QN, t[73] = eP, t[74] = tP) : tP = t[74];
20494
- let nP;
20495
- t[75] !== f || t[76] !== Q || t[77] !== ZN || t[78] !== tP ? (nP = (0, import_jsx_runtime.jsx)(PopoverContent, {
20658
+ }), t[78] = yP, t[79] = xP, t[80] = SP) : SP = t[80];
20659
+ let CP;
20660
+ t[81] !== f || t[82] !== UN || t[83] !== vP || t[84] !== SP ? (CP = (0, import_jsx_runtime.jsx)(PopoverContent, {
20496
20661
  className: "w-full min-w-(--radix-popover-trigger-width) p-0",
20497
20662
  align: "start",
20498
20663
  children: (0, import_jsx_runtime.jsxs)(Command, {
20499
20664
  filter: f,
20500
- shouldFilter: Q,
20665
+ shouldFilter: UN,
20501
20666
  children: [
20502
- ZN,
20503
- tP
20667
+ vP,
20668
+ SP
20504
20669
  ]
20505
20670
  })
20506
- }), t[75] = f, t[76] = Q, t[77] = ZN, t[78] = tP, t[79] = nP) : nP = t[79];
20507
- let rP;
20508
- t[80] !== jN || t[81] !== AN || t[82] !== YN || t[83] !== nP ? (rP = (0, import_jsx_runtime.jsxs)(Popover, {
20509
- open: jN,
20510
- onOpenChange: AN,
20671
+ }), t[81] = f, t[82] = UN, t[83] = vP, t[84] = SP, t[85] = CP) : CP = t[85];
20672
+ let wP;
20673
+ t[86] !== ZN || t[87] !== lP || t[88] !== _P || t[89] !== CP ? (wP = (0, import_jsx_runtime.jsxs)(Popover, {
20674
+ open: ZN,
20675
+ onOpenChange: lP,
20511
20676
  children: [
20512
- YN,
20513
- nP
20677
+ _P,
20678
+ CP
20514
20679
  ]
20515
- }), t[80] = jN, t[81] = AN, t[82] = YN, t[83] = nP, t[84] = rP) : rP = t[84];
20516
- let iP;
20517
- t[85] !== EN || t[86] !== i || t[87] !== d || t[88] !== BN || t[89] !== J || t[90] !== FN ? (iP = J && EN && (0, import_jsx_runtime.jsx)("div", {
20680
+ }), t[86] = ZN, t[87] = lP, t[88] = _P, t[89] = CP, t[90] = wP) : wP = t[90];
20681
+ let TP;
20682
+ t[91] !== KN || t[92] !== i || t[93] !== $ || t[94] !== d || t[95] !== aP || t[96] !== Q || t[97] !== eP ? (TP = Q && KN && (0, import_jsx_runtime.jsx)("div", {
20518
20683
  className: cn("flex flex-col gap-1 items-start", i),
20519
- children: Array.isArray(FN) && FN.map((e2) => e2 == null ? null : (0, import_jsx_runtime.jsxs)(Badge, {
20684
+ children: Array.isArray(eP) && eP.map((e2) => e2 == null ? null : (0, import_jsx_runtime.jsxs)(Badge, {
20520
20685
  variant: "secondary",
20521
20686
  children: [
20522
20687
  (d == null ? void 0 : d(e2)) ?? String(e2),
20523
20688
  (0, import_jsx_runtime.jsx)(CircleX, {
20524
20689
  onClick: () => {
20525
- BN(e2);
20690
+ $ || aP(e2);
20526
20691
  },
20527
- className: "w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"
20692
+ className: cn("w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer", $ && "pointer-events-none")
20528
20693
  })
20529
20694
  ]
20530
20695
  }, String(e2)))
20531
- }), t[85] = EN, t[86] = i, t[87] = d, t[88] = BN, t[89] = J, t[90] = FN, t[91] = iP) : iP = t[91];
20532
- let aP;
20533
- return t[92] !== O || t[93] !== rP || t[94] !== iP ? (aP = (0, import_jsx_runtime.jsxs)("div", {
20534
- className: UN,
20696
+ }), t[91] = KN, t[92] = i, t[93] = $, t[94] = d, t[95] = aP, t[96] = Q, t[97] = eP, t[98] = TP) : TP = t[98];
20697
+ let EP;
20698
+ return t[99] !== O || t[100] !== wP || t[101] !== TP ? (EP = (0, import_jsx_runtime.jsxs)("div", {
20699
+ className: cP,
20535
20700
  ...O,
20536
20701
  children: [
20537
- rP,
20538
- iP
20702
+ wP,
20703
+ TP
20539
20704
  ]
20540
- }), t[92] = O, t[93] = rP, t[94] = iP, t[95] = aP) : aP = t[95], aP;
20705
+ }), t[99] = O, t[100] = wP, t[101] = TP, t[102] = EP) : EP = t[102], EP;
20541
20706
  };
20542
20707
  ComboboxItem = import_react.forwardRef((e, t) => {
20543
20708
  let n = (0, import_compiler_runtime$21.c)(17), { children: i, className: o, value: s, onSelect: c, disabled: d } = e, f = typeof s == "object" && "value" in s ? s.value : String(s), h = import_react.use(ComboboxContext), _;
@@ -20566,75 +20731,57 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20566
20731
  });
20567
20732
  ComboboxItem.displayName = "ComboboxItem";
20568
20733
  var OPERATORS_BY_TYPE = {
20569
- number: [
20570
- "between",
20571
- "is_null",
20572
- "is_not_null"
20573
- ],
20574
- text: [
20575
- "contains",
20576
- "is_null",
20577
- "is_not_null"
20578
- ],
20734
+ number: NUMBER_OPS,
20735
+ text: TEXT_OPS,
20579
20736
  boolean: [
20580
20737
  "is_true",
20581
20738
  "is_false",
20582
20739
  "is_null",
20583
20740
  "is_not_null"
20584
20741
  ],
20585
- select: [
20586
- "in",
20587
- "not_in"
20588
- ]
20742
+ select: MEMBERSHIP_OPS
20589
20743
  }, DEFAULT_OPERATOR = {
20590
20744
  number: "between",
20591
20745
  text: "contains",
20592
20746
  boolean: "is_true",
20593
20747
  select: "in"
20594
- }, OPERATOR_LABELS = {
20595
- between: "Between",
20596
- contains: "Contains",
20597
- is_true: "Is true",
20598
- is_false: "Is false",
20599
- is_null: "Is null",
20600
- is_not_null: "Is not null",
20601
- in: "Is in",
20602
- not_in: "Not in"
20603
20748
  }, OPERATORS_WITHOUT_VALUE = /* @__PURE__ */ new Set([
20604
20749
  "is_true",
20605
20750
  "is_false",
20606
20751
  "is_null",
20607
- "is_not_null"
20608
- ]);
20752
+ "is_not_null",
20753
+ "is_empty"
20754
+ ]), NUMBER_COMPARISON_SET = new Set(NUMBER_COMPARISON_OPS), TEXT_SCALAR_SET = new Set(TEXT_SCALAR_OPS), isNumberComparisonOp = (e) => NUMBER_COMPARISON_SET.has(e), isTextScalarOp = (e) => TEXT_SCALAR_SET.has(e);
20609
20755
  const FilterPillEditor = ({ snapshot: e, table: t, calculateTopKRows: n, onClose: i }) => {
20610
- let a = (0, import_react.useId)(), o = (0, import_react.useId)(), s = (0, import_react.useId)(), c = getEditableType(e.value), d = getUiOperator(e.value), h = toDraftValue(e.value), [_, v] = (0, import_react.useState)(e.columnId), [y, S] = (0, import_react.useState)(c), [w, E] = (0, import_react.useState)(d), [O, A] = (0, import_react.useState)(h), M = t.getAllColumns().filter((e2) => {
20756
+ let a = (0, import_react.useId)(), o = (0, import_react.useId)(), s = (0, import_react.useId)(), c = getEditableType(e.value), d = e.value.operator, h = toDraftValue(e.value), [_, v] = (0, import_react.useState)(e.columnId), [y, S] = (0, import_react.useState)(c), [w, E] = (0, import_react.useState)(d), [O, A] = (0, import_react.useState)(h), M = t.getAllColumns().filter((e2) => {
20611
20757
  var _a2;
20612
20758
  let t2 = (_a2 = e2.columnDef.meta) == null ? void 0 : _a2.filterType;
20613
20759
  return t2 === "number" || t2 === "text" || t2 === "boolean" || t2 === "select";
20614
20760
  }), I = (t2) => {
20615
- t2.id === e.columnId && t2.type === c && t2.operator === d && A(h);
20616
- }, z = (e2) => {
20761
+ t2.id === e.columnId && t2.operator === d && A(h);
20762
+ }, U = (e2) => {
20617
20763
  var _a2, _b;
20618
20764
  if (!e2) return;
20619
20765
  let n2 = ((_b = (_a2 = t.getColumn(e2)) == null ? void 0 : _a2.columnDef.meta) == null ? void 0 : _b.filterType) ?? "text", i2 = w;
20620
- n2 !== y && (i2 = DEFAULT_OPERATOR[n2], S(n2), E(i2), A({})), v(e2), I({
20766
+ n2 !== y && (i2 = DEFAULT_OPERATOR[n2], S(n2), E(i2), A(emptyDraftFor(n2, i2))), v(e2), I({
20621
20767
  id: e2,
20622
- type: n2,
20623
20768
  operator: i2
20624
20769
  });
20625
20770
  }, K = (e2) => {
20626
- E(e2), I({
20771
+ E(e2);
20772
+ let t2 = emptyDraftFor(y, e2);
20773
+ t2.kind !== O.kind && A(t2), I({
20627
20774
  id: _,
20628
- type: y,
20629
20775
  operator: e2
20630
20776
  });
20631
- }, q = () => {
20632
- let n2 = buildFilterValue({
20633
- type: y,
20634
- operator: w,
20635
- draft: O
20636
- });
20637
- n2 && (t.setColumnFilters((t2) => {
20777
+ }, q = buildFilterValue({
20778
+ type: y,
20779
+ operator: w,
20780
+ draft: O
20781
+ }), J = q === void 0, Q = J ? getMissingValueMessage(y, w) : "Apply filter", UN = () => {
20782
+ if (!q) return;
20783
+ let n2 = q;
20784
+ t.setColumnFilters((t2) => {
20638
20785
  let i2 = /* @__PURE__ */ new Set([
20639
20786
  e.columnId,
20640
20787
  _
@@ -20646,12 +20793,22 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20646
20793
  value: n2
20647
20794
  }
20648
20795
  ];
20649
- }), i());
20650
- }, J = () => {
20796
+ }), i();
20797
+ }, WN = () => {
20651
20798
  t.setColumnFilters((t2) => t2.filter((t3) => t3.id !== e.columnId)), i();
20652
- }, Q = !OPERATORS_WITHOUT_VALUE.has(w);
20653
- return (0, import_jsx_runtime.jsxs)("div", {
20799
+ }, GN = !OPERATORS_WITHOUT_VALUE.has(w), KN = OPERATORS_BY_TYPE[y], $ = (0, import_react.useRef)(null), qN = (0, import_react.useRef)(null);
20800
+ return (0, import_react.useEffect)(() => {
20801
+ var _a2, _b;
20802
+ let e2 = (_a2 = $.current) == null ? void 0 : _a2.querySelector('input, [role="combobox"], button');
20803
+ e2 ? e2.focus() : (_b = qN.current) == null ? void 0 : _b.focus();
20804
+ }, [
20805
+ y,
20806
+ w
20807
+ ]), (0, import_jsx_runtime.jsxs)("form", {
20654
20808
  className: "flex flex-row gap-4 items-end p-3",
20809
+ onSubmit: (e2) => {
20810
+ e2.preventDefault(), UN();
20811
+ },
20655
20812
  children: [
20656
20813
  (0, import_jsx_runtime.jsxs)("div", {
20657
20814
  className: "flex flex-col gap-1",
@@ -20664,7 +20821,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20664
20821
  (0, import_jsx_runtime.jsx)(Combobox, {
20665
20822
  id: a,
20666
20823
  value: _,
20667
- onValueChange: z,
20824
+ onValueChange: U,
20668
20825
  multiple: false,
20669
20826
  placeholder: "Select column\u2026",
20670
20827
  displayValue: (e2) => e2,
@@ -20688,21 +20845,23 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20688
20845
  onValueChange: (e2) => K(e2),
20689
20846
  children: [
20690
20847
  (0, import_jsx_runtime.jsx)(SelectTrigger, {
20848
+ ref: qN,
20691
20849
  id: o,
20692
20850
  className: "h-6 mb-1 bg-transparent",
20693
20851
  children: (0, import_jsx_runtime.jsx)(SelectValue, {})
20694
20852
  }),
20695
20853
  (0, import_jsx_runtime.jsx)(SelectContent, {
20696
- children: OPERATORS_BY_TYPE[y].map((e2) => (0, import_jsx_runtime.jsx)(SelectItem, {
20854
+ children: KN.map((e2) => (0, import_jsx_runtime.jsx)(SelectItem, {
20697
20855
  value: e2,
20698
20856
  children: OPERATOR_LABELS[e2]
20699
20857
  }, e2))
20700
20858
  })
20701
20859
  ]
20702
- })
20860
+ }, y)
20703
20861
  ]
20704
20862
  }),
20705
- Q && (0, import_jsx_runtime.jsxs)("div", {
20863
+ GN && (0, import_jsx_runtime.jsxs)("div", {
20864
+ ref: $,
20706
20865
  className: "flex flex-col gap-1",
20707
20866
  children: [
20708
20867
  (0, import_jsx_runtime.jsx)("label", {
@@ -20713,6 +20872,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20713
20872
  (0, import_jsx_runtime.jsx)(ValueSlot, {
20714
20873
  id: s,
20715
20874
  type: y,
20875
+ operator: w,
20716
20876
  value: O,
20717
20877
  onChange: A,
20718
20878
  column: t.getColumn(_) ?? null,
@@ -20724,17 +20884,20 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20724
20884
  className: "flex gap-1 mb-1",
20725
20885
  children: [
20726
20886
  (0, import_jsx_runtime.jsx)(Tooltip, {
20727
- content: "Apply filter",
20728
- children: (0, import_jsx_runtime.jsx)(Button, {
20729
- type: "button",
20730
- size: "icon",
20731
- variant: "ghost",
20732
- className: "rounded-full text-primary hover:text-primary hover:bg-primary/10",
20733
- onClick: q,
20734
- "aria-label": "Apply filter",
20735
- children: (0, import_jsx_runtime.jsx)(Check, {
20736
- className: "h-3.5 w-3.5",
20737
- "aria-hidden": true
20887
+ content: Q,
20888
+ children: (0, import_jsx_runtime.jsx)("span", {
20889
+ className: "inline-flex",
20890
+ children: (0, import_jsx_runtime.jsx)(Button, {
20891
+ type: "submit",
20892
+ size: "icon",
20893
+ variant: "ghost",
20894
+ disabled: J,
20895
+ className: "rounded-full text-primary hover:text-primary hover:bg-primary/10",
20896
+ "aria-label": "Apply filter",
20897
+ children: (0, import_jsx_runtime.jsx)(Check, {
20898
+ className: "h-3.5 w-3.5",
20899
+ "aria-hidden": true
20900
+ })
20738
20901
  })
20739
20902
  })
20740
20903
  }),
@@ -20760,7 +20923,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20760
20923
  size: "icon",
20761
20924
  variant: "ghost",
20762
20925
  className: "rounded-full text-destructive hover:text-destructive hover:bg-destructive/10",
20763
- onClick: J,
20926
+ onClick: WN,
20764
20927
  "aria-label": "Remove filter",
20765
20928
  children: (0, import_jsx_runtime.jsx)(Trash2, {
20766
20929
  className: "h-3.5 w-3.5",
@@ -20773,101 +20936,214 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20773
20936
  ]
20774
20937
  });
20775
20938
  };
20776
- var ValueSlot = ({ id: e, type: t, value: n, onChange: i, column: a, calculateTopKRows: o }) => t === "number" ? (0, import_jsx_runtime.jsxs)("div", {
20777
- className: "flex gap-1 items-center w-48",
20778
- children: [
20779
- (0, import_jsx_runtime.jsx)(NumberField, {
20780
- id: e,
20781
- value: n.min,
20782
- onChange: (e2) => i({
20783
- ...n,
20784
- min: e2
20785
- }),
20786
- "aria-label": "min",
20787
- placeholder: "min",
20788
- className: "border-input flex-1 min-w-0"
20789
- }),
20790
- (0, import_jsx_runtime.jsx)(Minus, {
20791
- className: "h-5 w-5 text-muted-foreground shrink-0"
20939
+ var ValueSlot = ({ id: e, type: t, operator: n, value: i, onChange: a, column: o, calculateTopKRows: s }) => {
20940
+ if (t === "number" && n === "between") {
20941
+ let t2 = i.kind === "between" ? i : {
20942
+ kind: "between"
20943
+ };
20944
+ return (0, import_jsx_runtime.jsxs)("div", {
20945
+ className: "flex gap-1 items-center w-44",
20946
+ children: [
20947
+ (0, import_jsx_runtime.jsx)(NumberField, {
20948
+ id: e,
20949
+ value: t2.min,
20950
+ onChange: (e2) => a({
20951
+ kind: "between",
20952
+ min: e2,
20953
+ max: t2.max
20954
+ }),
20955
+ "aria-label": "min",
20956
+ placeholder: "min",
20957
+ className: "border-input flex-1 min-w-0"
20958
+ }),
20959
+ (0, import_jsx_runtime.jsx)(Minus, {
20960
+ className: "h-5 w-5 text-muted-foreground shrink-0"
20961
+ }),
20962
+ (0, import_jsx_runtime.jsx)(NumberField, {
20963
+ value: t2.max,
20964
+ onChange: (e2) => a({
20965
+ kind: "between",
20966
+ min: t2.min,
20967
+ max: e2
20968
+ }),
20969
+ "aria-label": "max",
20970
+ placeholder: "max",
20971
+ className: "border-input flex-1 min-w-0"
20972
+ })
20973
+ ]
20974
+ });
20975
+ }
20976
+ if (t === "number" && isNumberComparisonOp(n)) return (0, import_jsx_runtime.jsx)(NumberField, {
20977
+ id: e,
20978
+ value: (i.kind === "single-number" ? i : {
20979
+ kind: "single-number"
20980
+ }).value,
20981
+ onChange: (e2) => a({
20982
+ kind: "single-number",
20983
+ value: e2
20792
20984
  }),
20793
- (0, import_jsx_runtime.jsx)(NumberField, {
20794
- value: n.max,
20795
- onChange: (e2) => i({
20796
- ...n,
20797
- max: e2
20985
+ "aria-label": "value",
20986
+ placeholder: "value",
20987
+ className: "border-input w-24 min-w-0"
20988
+ });
20989
+ if (t === "text" && (n === "in" || n === "not_in") && o) return (0, import_jsx_runtime.jsx)("div", {
20990
+ className: "w-48",
20991
+ children: (0, import_jsx_runtime.jsx)(FilterByValuesPicker, {
20992
+ column: o,
20993
+ calculateTopKRows: s,
20994
+ chosenValues: (i.kind === "multi-text" ? i : {
20995
+ kind: "multi-text"
20996
+ }).values ?? [],
20997
+ onChange: (e2) => a({
20998
+ kind: "multi-text",
20999
+ values: e2.map(String)
20798
21000
  }),
20799
- "aria-label": "max",
20800
- placeholder: "max",
20801
- className: "border-input flex-1 min-w-0"
21001
+ creatable: true
20802
21002
  })
20803
- ]
20804
- }) : t === "text" ? (0, import_jsx_runtime.jsx)(Input, {
20805
- id: e,
20806
- type: "text",
20807
- value: n.text ?? "",
20808
- onChange: (e2) => i({
20809
- ...n,
20810
- text: e2.target.value
20811
- }),
20812
- placeholder: "Text\u2026",
20813
- className: "border-input min-w-0"
20814
- }) : t === "select" && a ? (0, import_jsx_runtime.jsx)("div", {
20815
- className: "flex w-48",
20816
- children: (0, import_jsx_runtime.jsx)(FilterByValuesPicker, {
20817
- column: a,
20818
- calculateTopKRows: o,
20819
- chosenValues: n.options ?? [],
20820
- onChange: (e2) => i({
20821
- ...n,
20822
- options: e2
21003
+ });
21004
+ if (t === "text" && isTextScalarOp(n)) {
21005
+ let t2 = i.kind === "single-text" ? i : {
21006
+ kind: "single-text"
21007
+ };
21008
+ return n === "regex" ? (0, import_jsx_runtime.jsx)(RegexInput, {
21009
+ id: e,
21010
+ value: t2.text ?? "",
21011
+ onChange: (e2) => a({
21012
+ kind: "single-text",
21013
+ text: e2
21014
+ }),
21015
+ className: "w-40"
21016
+ }) : (0, import_jsx_runtime.jsx)(Input, {
21017
+ id: e,
21018
+ type: "text",
21019
+ value: t2.text ?? "",
21020
+ onChange: (e2) => a({
21021
+ kind: "single-text",
21022
+ text: e2.target.value
21023
+ }),
21024
+ placeholder: "Text\u2026",
21025
+ className: "border-input w-40 min-w-0"
21026
+ });
21027
+ }
21028
+ return t === "select" && o ? (0, import_jsx_runtime.jsx)("div", {
21029
+ className: "flex w-48",
21030
+ children: (0, import_jsx_runtime.jsx)(FilterByValuesPicker, {
21031
+ column: o,
21032
+ calculateTopKRows: s,
21033
+ chosenValues: (i.kind === "options" ? i : {
21034
+ kind: "options"
21035
+ }).options ?? [],
21036
+ onChange: (e2) => a({
21037
+ kind: "options",
21038
+ options: e2
21039
+ })
20823
21040
  })
20824
- })
20825
- }) : null;
21041
+ }) : null;
21042
+ };
20826
21043
  function getEditableType(e) {
20827
21044
  return e.type === "number" ? "number" : e.type === "text" ? "text" : e.type === "boolean" ? "boolean" : e.type === "select" ? "select" : "text";
20828
21045
  }
20829
- function getUiOperator(e) {
20830
- return e.operator === "is_null" ? "is_null" : e.operator === "is_not_null" ? "is_not_null" : e.type === "number" ? "between" : e.type === "text" ? "contains" : e.type === "boolean" ? e.value ? "is_true" : "is_false" : e.type === "select" ? e.operator === "not_in" ? "not_in" : "in" : "contains";
20831
- }
20832
21046
  function toDraftValue(e) {
20833
- return e.type === "number" ? {
20834
- min: e.min,
20835
- max: e.max
20836
- } : e.type === "text" ? {
20837
- text: e.text
20838
- } : e.type === "select" ? {
21047
+ if (e.type === "number") switch (e.operator) {
21048
+ case "between":
21049
+ return {
21050
+ kind: "between",
21051
+ min: e.min,
21052
+ max: e.max
21053
+ };
21054
+ case "is_null":
21055
+ case "is_not_null":
21056
+ return {
21057
+ kind: "none"
21058
+ };
21059
+ default:
21060
+ return {
21061
+ kind: "single-number",
21062
+ value: e.value
21063
+ };
21064
+ }
21065
+ if (e.type === "text") switch (e.operator) {
21066
+ case "in":
21067
+ case "not_in":
21068
+ return {
21069
+ kind: "multi-text",
21070
+ values: [
21071
+ ...e.values
21072
+ ]
21073
+ };
21074
+ case "is_null":
21075
+ case "is_not_null":
21076
+ case "is_empty":
21077
+ return {
21078
+ kind: "none"
21079
+ };
21080
+ default:
21081
+ return {
21082
+ kind: "single-text",
21083
+ text: e.text
21084
+ };
21085
+ }
21086
+ return e.type === "select" ? {
21087
+ kind: "options",
20839
21088
  options: [
20840
21089
  ...e.options
20841
21090
  ]
20842
- } : {};
21091
+ } : {
21092
+ kind: "none"
21093
+ };
21094
+ }
21095
+ function emptyDraftFor(e, t) {
21096
+ return OPERATORS_WITHOUT_VALUE.has(t) ? {
21097
+ kind: "none"
21098
+ } : e === "number" ? t === "between" ? {
21099
+ kind: "between"
21100
+ } : {
21101
+ kind: "single-number"
21102
+ } : e === "text" ? t === "in" || t === "not_in" ? {
21103
+ kind: "multi-text",
21104
+ values: []
21105
+ } : {
21106
+ kind: "single-text"
21107
+ } : e === "select" ? {
21108
+ kind: "options",
21109
+ options: []
21110
+ } : {
21111
+ kind: "none"
21112
+ };
21113
+ }
21114
+ function getMissingValueMessage(e, t) {
21115
+ return e === "number" && t === "between" ? "Min and max are required" : e === "text" && (t === "in" || t === "not_in") ? "Pick at least one value" : "Value is required";
20843
21116
  }
20844
21117
  function buildFilterValue({ type: e, operator: t, draft: n }) {
20845
- if (t === "is_null" || t === "is_not_null") {
20846
- let n2 = t;
20847
- return e === "number" ? Filter.number({
20848
- operator: n2
20849
- }) : e === "boolean" ? Filter.boolean({
20850
- operator: n2
20851
- }) : Filter.text({
20852
- operator: n2
20853
- });
20854
- }
20855
- if (e === "number") return n.min === void 0 && n.max === void 0 ? void 0 : Filter.number({
21118
+ if (e === "number") return t === "is_null" || t === "is_not_null" ? Filter.number({
21119
+ operator: t
21120
+ }) : t === "between" ? n.kind !== "between" || n.min === void 0 || n.max === void 0 ? void 0 : Filter.number({
21121
+ operator: "between",
20856
21122
  min: n.min,
20857
21123
  max: n.max
21124
+ }) : !isNumberComparisonOp(t) || n.kind !== "single-number" || n.value === void 0 ? void 0 : Filter.number({
21125
+ operator: t,
21126
+ value: n.value
21127
+ });
21128
+ if (e === "text") return t === "is_null" || t === "is_not_null" || t === "is_empty" ? Filter.text({
21129
+ operator: t
21130
+ }) : t === "in" || t === "not_in" ? n.kind !== "multi-text" || !n.values || n.values.length === 0 ? void 0 : Filter.text({
21131
+ operator: t,
21132
+ values: n.values
21133
+ }) : !isTextScalarOp(t) || n.kind !== "single-text" || !n.text ? void 0 : Filter.text({
21134
+ operator: t,
21135
+ text: n.text
20858
21136
  });
20859
- if (e === "text") return n.text ? Filter.text({
20860
- text: n.text,
20861
- operator: "contains"
20862
- }) : void 0;
20863
21137
  if (e === "boolean") return t === "is_true" ? Filter.boolean({
20864
21138
  value: true,
20865
21139
  operator: "is_true"
20866
21140
  }) : t === "is_false" ? Filter.boolean({
20867
21141
  value: false,
20868
21142
  operator: "is_false"
21143
+ }) : t === "is_null" || t === "is_not_null" ? Filter.boolean({
21144
+ operator: t
20869
21145
  }) : void 0;
20870
- if (e === "select") return !n.options || n.options.length === 0 ? void 0 : Filter.select({
21146
+ if (e === "select") return n.kind !== "options" || !n.options || n.options.length === 0 ? void 0 : Filter.select({
20871
21147
  options: n.options,
20872
21148
  operator: t === "not_in" ? "not_in" : "in"
20873
21149
  });
@@ -20992,10 +21268,50 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20992
21268
  if (e.operator === "is_not_null") return {
20993
21269
  operator: "is not null"
20994
21270
  };
20995
- if (e.type === "number") return formatMinMax(e.min, e.max);
20996
- if (e.type === "date") return formatMinMax((_a2 = e.min) == null ? void 0 : _a2.toISOString(), (_b = e.max) == null ? void 0 : _b.toISOString());
20997
- if (e.type === "time") return formatMinMax(e.min ? t.format(e.min) : void 0, e.max ? t.format(e.max) : void 0);
20998
- if (e.type === "datetime") return formatMinMax((_c = e.min) == null ? void 0 : _c.toISOString(), (_d = e.max) == null ? void 0 : _d.toISOString());
21271
+ if (e.type === "number") switch (e.operator) {
21272
+ case "between":
21273
+ return {
21274
+ operator: OPERATOR_LABELS.between.toLowerCase(),
21275
+ value: `${e.min} - ${e.max}`
21276
+ };
21277
+ case "==":
21278
+ case "!=":
21279
+ case ">":
21280
+ case ">=":
21281
+ case "<":
21282
+ case "<=":
21283
+ return {
21284
+ operator: e.operator,
21285
+ value: String(e.value)
21286
+ };
21287
+ }
21288
+ if (e.type === "text") switch (e.operator) {
21289
+ case "in":
21290
+ case "not_in": {
21291
+ let t2 = e.values.map((e2) => `"${e2}"`);
21292
+ return {
21293
+ operator: e.operator === "in" ? "is in" : "not in",
21294
+ value: `[${t2.join(", ")}]`
21295
+ };
21296
+ }
21297
+ case "is_empty":
21298
+ return {
21299
+ operator: "is empty"
21300
+ };
21301
+ case "contains":
21302
+ case "equals":
21303
+ case "does_not_equal":
21304
+ case "regex":
21305
+ case "starts_with":
21306
+ case "ends_with":
21307
+ return {
21308
+ operator: OPERATOR_LABELS[e.operator].toLowerCase(),
21309
+ value: `"${e.text}"`
21310
+ };
21311
+ }
21312
+ if (e.type === "date") return formatMinMaxLegacy((_a2 = e.min) == null ? void 0 : _a2.toISOString(), (_b = e.max) == null ? void 0 : _b.toISOString());
21313
+ if (e.type === "time") return formatMinMaxLegacy(e.min ? t.format(e.min) : void 0, e.max ? t.format(e.max) : void 0);
21314
+ if (e.type === "datetime") return formatMinMaxLegacy((_c = e.min) == null ? void 0 : _c.toISOString(), (_d = e.max) == null ? void 0 : _d.toISOString());
20999
21315
  if (e.type === "boolean") return {
21000
21316
  operator: `is ${e.value ? "True" : "False"}`
21001
21317
  };
@@ -21008,14 +21324,10 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
21008
21324
  value: `[${t2.join(", ")}]`
21009
21325
  };
21010
21326
  }
21011
- if (e.type === "text") return {
21012
- operator: "contains",
21013
- value: `"${e.text}"`
21014
- };
21015
21327
  logNever(e);
21016
21328
  }
21017
21329
  }
21018
- function formatMinMax(e, t) {
21330
+ function formatMinMaxLegacy(e, t) {
21019
21331
  if (!(e === void 0 && t === void 0)) return e === t ? {
21020
21332
  operator: "==",
21021
21333
  value: String(e)
@@ -23251,7 +23563,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23251
23563
  function _temp2$2(e, t) {
23252
23564
  return e + t;
23253
23565
  }
23254
- let TableBottomBar;
23566
+ let TableBottomBar, downloadSizeLimitAtom;
23255
23567
  TableBottomBar = ({ pagination: e, totalColumns: t, selection: n, onRowSelectionChange: i, table: s, getRowIds: c, showPageSizeSelector: d, tableLoading: h, part: _, className: v }) => {
23256
23568
  let { locale: y } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), w = (e2) => {
23257
23569
  if (!i) return;
@@ -23372,6 +23684,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23372
23684
  ]
23373
23685
  });
23374
23686
  };
23687
+ downloadSizeLimitAtom = atom(null);
23375
23688
  Filenames = {
23376
23689
  toMarkdown: (e) => Filenames.replace(e, "md"),
23377
23690
  toHTML: (e) => Filenames.replace(e, "html"),
@@ -23624,25 +23937,26 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23624
23937
  return ((_a2 = copyOptions.find((t) => t.format === e)) == null ? void 0 : _a2.label) ?? e;
23625
23938
  };
23626
23939
  const ExportMenu = (e) => {
23627
- let t = (0, import_compiler_runtime$8.c)(48), { locale: n } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), [i, o] = import_react.useState(false), s = i ? "text-primary" : "text-muted-foreground", c;
23628
- t[0] === s ? c = t[1] : (c = cn("print:hidden text-xs gap-1", s), t[0] = s, t[1] = c);
23629
- let d;
23630
- t[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (d = (0, import_jsx_runtime.jsx)(Download, {
23940
+ let t = (0, import_compiler_runtime$8.c)(56), { locale: n } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), [i, o] = import_react.useState(false), s = useAtomValue(downloadSizeLimitAtom), c = !!(s && e.sizeBytes != null && e.sizeBytes > s.limitBytes), d = i ? "text-primary" : "text-muted-foreground", h;
23941
+ t[0] === d ? h = t[1] : (h = cn("print:hidden text-xs gap-1", d), t[0] = d, t[1] = h);
23942
+ let _;
23943
+ t[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = (0, import_jsx_runtime.jsx)(Download, {
23631
23944
  className: "w-3.5 h-3.5"
23632
- }), t[2] = d) : d = t[2];
23633
- let h;
23634
- t[3] === c ? h = t[4] : (h = (0, import_jsx_runtime.jsxs)(Button, {
23945
+ }), t[2] = _) : _ = t[2];
23946
+ let v;
23947
+ t[3] !== c || t[4] !== h ? (v = (0, import_jsx_runtime.jsxs)(Button, {
23635
23948
  "data-testid": "export-button",
23636
23949
  size: "xs",
23637
23950
  variant: "text",
23638
- className: c,
23951
+ disabled: c,
23952
+ className: h,
23639
23953
  children: [
23640
- d,
23954
+ _,
23641
23955
  "Export"
23642
23956
  ]
23643
- }), t[3] = c, t[4] = h);
23644
- let _ = h, v;
23645
- t[5] === e ? v = t[6] : (v = async (t2, n2) => {
23957
+ }), t[3] = c, t[4] = h, t[5] = v) : v = t[5];
23958
+ let y = v, E;
23959
+ t[6] === e ? E = t[7] : (E = async (t2, n2) => {
23646
23960
  let i2;
23647
23961
  try {
23648
23962
  i2 = await e.downloadAs({
@@ -23667,13 +23981,13 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23667
23981
  url: i2.url,
23668
23982
  filename: i2.filename
23669
23983
  };
23670
- }, t[5] = e, t[6] = v);
23671
- let y = v, E, O, A, M, I, z, U, K, q, J, Q, TN, $;
23672
- if (t[7] !== _ || t[8] !== n || t[9] !== i || t[10] !== y) {
23984
+ }, t[6] = e, t[7] = E);
23985
+ let O = E, A, M, I, z, U, K, q, J, Q, UN, WN, GN, KN;
23986
+ if (t[8] !== y || t[9] !== c || t[10] !== n || t[11] !== i || t[12] !== (s == null ? void 0 : s.unavailableMessage) || t[13] !== O) {
23673
23987
  let e2 = async (t2) => {
23674
23988
  let n2 = labelForDownloadFormat(t2);
23675
23989
  await withLoadingToast(`Preparing ${n2} export...`, async () => {
23676
- let n3 = await y(t2, () => {
23990
+ let n3 = await O(t2, () => {
23677
23991
  e2(t2);
23678
23992
  });
23679
23993
  if (!n3) return false;
@@ -23691,26 +24005,26 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23691
24005
  });
23692
24006
  }, a = async (e3) => {
23693
24007
  await withLoadingToast(`Preparing ${labelForCopyFormat(e3)} for clipboard...`, async () => {
23694
- let t2 = await y(e3 === "csv" ? "csv" : "json", () => {
24008
+ let t2 = await O(e3 === "csv" ? "csv" : "json", () => {
23695
24009
  a(e3);
23696
24010
  });
23697
24011
  if (!t2) return;
23698
24012
  let i2;
23699
- bb70: switch (e3) {
24013
+ bb78: switch (e3) {
23700
24014
  case "tsv":
23701
24015
  i2 = jsonToTSV(await fetchJson(t2.url), n);
23702
- break bb70;
24016
+ break bb78;
23703
24017
  case "json": {
23704
24018
  let e4 = await fetchJson(t2.url);
23705
24019
  i2 = JSON.stringify(e4, null, 2);
23706
- break bb70;
24020
+ break bb78;
23707
24021
  }
23708
24022
  case "csv":
23709
24023
  i2 = await fetchText(t2.url);
23710
- break bb70;
24024
+ break bb78;
23711
24025
  case "markdown":
23712
24026
  i2 = jsonToMarkdown(await fetchJson(t2.url));
23713
- break bb70;
24027
+ break bb78;
23714
24028
  default:
23715
24029
  logNever(e3);
23716
24030
  return;
@@ -23720,19 +24034,26 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23720
24034
  });
23721
24035
  });
23722
24036
  };
23723
- O = DropdownMenu, I = false, z = i, U = o;
23724
- let s2 = i ? false : void 0, c2;
23725
- t[24] === _ ? c2 = t[25] : (c2 = (0, import_jsx_runtime.jsx)(DropdownMenuTrigger, {
24037
+ M = DropdownMenu, U = false, K = i, q = o;
24038
+ let d2 = c ? s == null ? void 0 : s.unavailableMessage : "Export", f = i ? false : void 0, h2 = c ? 0 : -1, _2;
24039
+ t[27] !== y || t[28] !== h2 ? (_2 = (0, import_jsx_runtime.jsx)("span", {
24040
+ tabIndex: h2,
24041
+ className: "inline-flex",
24042
+ children: y
24043
+ }), t[27] = y, t[28] = h2, t[29] = _2) : _2 = t[29];
24044
+ let v2;
24045
+ t[30] !== c || t[31] !== _2 ? (v2 = (0, import_jsx_runtime.jsx)(DropdownMenuTrigger, {
23726
24046
  asChild: true,
23727
- children: _
23728
- }), t[24] = _, t[25] = c2), t[26] !== s2 || t[27] !== c2 ? (K = (0, import_jsx_runtime.jsx)(Tooltip, {
23729
- content: "Export",
23730
- open: s2,
23731
- children: c2
23732
- }), t[26] = s2, t[27] = c2, t[28] = K) : K = t[28], E = DropdownMenuContent, q = "bottom", J = "print:hidden", t[29] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (Q = (0, import_jsx_runtime.jsx)(DropdownMenuLabel, {
24047
+ disabled: c,
24048
+ children: _2
24049
+ }), t[30] = c, t[31] = _2, t[32] = v2) : v2 = t[32], t[33] !== d2 || t[34] !== f || t[35] !== v2 ? (J = (0, import_jsx_runtime.jsx)(Tooltip, {
24050
+ content: d2,
24051
+ open: f,
24052
+ children: v2
24053
+ }), t[33] = d2, t[34] = f, t[35] = v2, t[36] = J) : J = t[36], A = DropdownMenuContent, Q = "bottom", UN = "print:hidden", t[37] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (WN = (0, import_jsx_runtime.jsx)(DropdownMenuLabel, {
23733
24054
  className: "text-xs text-muted-foreground",
23734
24055
  children: "Download"
23735
- }), t[29] = Q) : Q = t[29], TN = downloadOptions.map((t2) => (0, import_jsx_runtime.jsxs)(DropdownMenuItem, {
24056
+ }), t[37] = WN) : WN = t[37], GN = downloadOptions.map((t2) => (0, import_jsx_runtime.jsxs)(DropdownMenuItem, {
23736
24057
  onSelect: () => {
23737
24058
  e2(t2.format);
23738
24059
  },
@@ -23753,10 +24074,10 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23753
24074
  ]
23754
24075
  })
23755
24076
  ]
23756
- }, t2.label)), t[30] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? ($ = (0, import_jsx_runtime.jsx)(DropdownMenuSeparator, {}), A = (0, import_jsx_runtime.jsx)(DropdownMenuLabel, {
24077
+ }, t2.label)), t[38] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (KN = (0, import_jsx_runtime.jsx)(DropdownMenuSeparator, {}), I = (0, import_jsx_runtime.jsx)(DropdownMenuLabel, {
23757
24078
  className: "text-xs text-muted-foreground",
23758
24079
  children: "Copy to clipboard"
23759
- }), t[30] = A, t[31] = $) : (A = t[30], $ = t[31]), M = copyOptions.map((e3) => (0, import_jsx_runtime.jsxs)(DropdownMenuItem, {
24080
+ }), t[38] = I, t[39] = KN) : (I = t[38], KN = t[39]), z = copyOptions.map((e3) => (0, import_jsx_runtime.jsxs)(DropdownMenuItem, {
23760
24081
  onSelect: async () => {
23761
24082
  try {
23762
24083
  await a(e3.format);
@@ -23785,30 +24106,30 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23785
24106
  ]
23786
24107
  })
23787
24108
  ]
23788
- }, e3.label)), t[7] = _, t[8] = n, t[9] = i, t[10] = y, t[11] = E, t[12] = O, t[13] = A, t[14] = M, t[15] = I, t[16] = z, t[17] = U, t[18] = K, t[19] = q, t[20] = J, t[21] = Q, t[22] = TN, t[23] = $;
23789
- } else E = t[11], O = t[12], A = t[13], M = t[14], I = t[15], z = t[16], U = t[17], K = t[18], q = t[19], J = t[20], Q = t[21], TN = t[22], $ = t[23];
23790
- let EN;
23791
- t[32] !== E || t[33] !== A || t[34] !== M || t[35] !== q || t[36] !== J || t[37] !== Q || t[38] !== TN || t[39] !== $ ? (EN = (0, import_jsx_runtime.jsxs)(E, {
23792
- side: q,
23793
- className: J,
24109
+ }, e3.label)), t[8] = y, t[9] = c, t[10] = n, t[11] = i, t[12] = s == null ? void 0 : s.unavailableMessage, t[13] = O, t[14] = A, t[15] = M, t[16] = I, t[17] = z, t[18] = U, t[19] = K, t[20] = q, t[21] = J, t[22] = Q, t[23] = UN, t[24] = WN, t[25] = GN, t[26] = KN;
24110
+ } else A = t[14], M = t[15], I = t[16], z = t[17], U = t[18], K = t[19], q = t[20], J = t[21], Q = t[22], UN = t[23], WN = t[24], GN = t[25], KN = t[26];
24111
+ let $;
24112
+ t[40] !== A || t[41] !== I || t[42] !== z || t[43] !== Q || t[44] !== UN || t[45] !== WN || t[46] !== GN || t[47] !== KN ? ($ = (0, import_jsx_runtime.jsxs)(A, {
24113
+ side: Q,
24114
+ className: UN,
23794
24115
  children: [
23795
- Q,
23796
- TN,
23797
- $,
23798
- A,
23799
- M
24116
+ WN,
24117
+ GN,
24118
+ KN,
24119
+ I,
24120
+ z
23800
24121
  ]
23801
- }), t[32] = E, t[33] = A, t[34] = M, t[35] = q, t[36] = J, t[37] = Q, t[38] = TN, t[39] = $, t[40] = EN) : EN = t[40];
23802
- let DN;
23803
- return t[41] !== O || t[42] !== I || t[43] !== z || t[44] !== U || t[45] !== K || t[46] !== EN ? (DN = (0, import_jsx_runtime.jsxs)(O, {
23804
- modal: I,
23805
- open: z,
23806
- onOpenChange: U,
24122
+ }), t[40] = A, t[41] = I, t[42] = z, t[43] = Q, t[44] = UN, t[45] = WN, t[46] = GN, t[47] = KN, t[48] = $) : $ = t[48];
24123
+ let qN;
24124
+ return t[49] !== M || t[50] !== U || t[51] !== K || t[52] !== q || t[53] !== J || t[54] !== $ ? (qN = (0, import_jsx_runtime.jsxs)(M, {
24125
+ modal: U,
24126
+ open: K,
24127
+ onOpenChange: q,
23807
24128
  children: [
23808
- K,
23809
- EN
24129
+ J,
24130
+ $
23810
24131
  ]
23811
- }), t[41] = O, t[42] = I, t[43] = z, t[44] = U, t[45] = K, t[46] = EN, t[47] = DN) : DN = t[47], DN;
24132
+ }), t[49] = M, t[50] = U, t[51] = K, t[52] = q, t[53] = J, t[54] = $, t[55] = qN) : qN = t[55], qN;
23812
24133
  };
23813
24134
  function fetchJson(e) {
23814
24135
  return fetchText(e).then(jsonParseWithSpecialChar);
@@ -23822,13 +24143,13 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23822
24143
  var NOOP_ON_SEARCH = () => {
23823
24144
  };
23824
24145
  let TableTopBar;
23825
- TableTopBar = ({ enableSearch: e, searchQuery: t, onSearchQueryChange: n, reloading: i, showChartBuilder: o, isChartBuilderOpen: s, toggleDisplayHeader: c, showTableExplorer: d, togglePanel: h, isAnyPanelOpen: _, downloadAs: v }) => {
23826
- let [y, S] = (0, import_react.useState)(t || ""), w = useDebounce(y, 500), E = useEvent_default(n ?? NOOP_ON_SEARCH), O = import_react.useRef(null);
24146
+ TableTopBar = ({ enableSearch: e, searchQuery: t, onSearchQueryChange: n, reloading: i, showChartBuilder: o, isChartBuilderOpen: s, toggleDisplayHeader: c, showTableExplorer: d, togglePanel: h, isAnyPanelOpen: _, downloadAs: v, sizeBytes: y }) => {
24147
+ let [S, w] = (0, import_react.useState)(t || ""), E = useDebounce(S, 500), O = useEvent_default(n ?? NOOP_ON_SEARCH), A = import_react.useRef(null);
23827
24148
  return (0, import_react.useEffect)(() => {
23828
- E(w);
24149
+ O(E);
23829
24150
  }, [
23830
- w,
23831
- E
24151
+ E,
24152
+ O
23832
24153
  ]), e && n || o || d || v ? (0, import_jsx_runtime.jsxs)("div", {
23833
24154
  className: "flex items-center h-10 px-2 border-b gap-2",
23834
24155
  children: [
@@ -23839,25 +24160,25 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23839
24160
  className: "w-4 h-4 text-muted-foreground shrink-0"
23840
24161
  }),
23841
24162
  (0, import_jsx_runtime.jsx)("input", {
23842
- ref: O,
24163
+ ref: A,
23843
24164
  type: "text",
23844
24165
  className: "h-6 border-none bg-transparent focus:outline-hidden text-sm w-full min-w-0",
23845
- value: y,
24166
+ value: S,
23846
24167
  onKeyDown: (e2) => {
23847
24168
  var _a2;
23848
- e2.key === "Escape" && (S(""), (_a2 = O.current) == null ? void 0 : _a2.blur());
24169
+ e2.key === "Escape" && (w(""), (_a2 = A.current) == null ? void 0 : _a2.blur());
23849
24170
  },
23850
- onChange: (e2) => S(e2.target.value),
24171
+ onChange: (e2) => w(e2.target.value),
23851
24172
  placeholder: "Search..."
23852
24173
  }),
23853
24174
  i && (0, import_jsx_runtime.jsx)(Spinner, {
23854
24175
  size: "small"
23855
24176
  }),
23856
- y && (0, import_jsx_runtime.jsx)(Button, {
24177
+ S && (0, import_jsx_runtime.jsx)(Button, {
23857
24178
  variant: "text",
23858
24179
  size: "xs",
23859
24180
  className: "h-5 w-5 p-0 shrink-0",
23860
- onClick: () => S(""),
24181
+ onClick: () => w(""),
23861
24182
  children: (0, import_jsx_runtime.jsx)(X, {
23862
24183
  className: "w-3 h-3 text-muted-foreground"
23863
24184
  })
@@ -23892,29 +24213,30 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23892
24213
  ]
23893
24214
  }),
23894
24215
  v && (0, import_jsx_runtime.jsx)(ExportMenu, {
23895
- downloadAs: v
24216
+ downloadAs: v,
24217
+ sizeBytes: y
23896
24218
  })
23897
24219
  ]
23898
24220
  })
23899
24221
  ]
23900
24222
  }) : null;
23901
24223
  };
23902
- DataTable = (0, import_react.memo)(({ wrapperClassName: e, className: t, maxHeight: n, columns: i, data: o, rawData: s, selection: c, totalColumns: d, totalRows: f, manualSorting: h = false, sorting: _, setSorting: v, rowSelection: y, cellSelection: S, cellStyling: w, hoverTemplate: E, cellHoverTexts: O, paginationState: A, setPaginationState: M, downloadAs: I, manualPagination: z = false, pagination: U = false, onRowSelectionChange: K, onCellSelectionChange: q, getRowIds: J, enableSearch: Q = false, searchQuery: TN, onSearchQueryChange: $, showFilters: EN = false, filters: DN, onFiltersChange: ON, calculateTopKRows: kN, reloading: AN, freezeColumnsLeft: jN, freezeColumnsRight: MN, toggleDisplayHeader: NN, showChartBuilder: PN, isChartBuilderOpen: FN, showPageSizeSelector: IN, showTableExplorer: LN, togglePanel: RN, isPanelOpen: zN, isAnyPanelOpen: BN, viewedRowIdx: VN, onViewedRowChange: HN }) => {
23903
- let [UN, WN] = import_react.useState(false), { locale: GN } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), { columnPinning: KN, setColumnPinning: qN } = useColumnPinning(jN, MN);
24224
+ DataTable = (0, import_react.memo)(({ wrapperClassName: e, className: t, maxHeight: n, columns: i, data: o, rawData: s, selection: c, totalColumns: d, totalRows: f, sizeBytes: h, manualSorting: _ = false, sorting: v, setSorting: y, rowSelection: S, cellSelection: w, cellStyling: E, hoverTemplate: O, cellHoverTexts: A, paginationState: M, setPaginationState: I, downloadAs: z, manualPagination: U = false, pagination: K = false, onRowSelectionChange: q, onCellSelectionChange: J, getRowIds: Q, enableSearch: UN = false, searchQuery: WN, onSearchQueryChange: GN, showFilters: KN = false, filters: $, onFiltersChange: qN, calculateTopKRows: JN, reloading: YN, freezeColumnsLeft: XN, freezeColumnsRight: ZN, toggleDisplayHeader: QN, showChartBuilder: $N, isChartBuilderOpen: eP, showPageSizeSelector: tP, showTableExplorer: nP, togglePanel: rP, isPanelOpen: iP, isAnyPanelOpen: aP, viewedRowIdx: oP, onViewedRowChange: sP }) => {
24225
+ let [cP, lP] = import_react.useState(false), { locale: uP } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), { columnPinning: dP, setColumnPinning: fP } = useColumnPinning(XN, ZN);
23904
24226
  import_react.useEffect(() => {
23905
24227
  let e2;
23906
- return AN ? e2 = setTimeout(() => {
23907
- WN(true);
23908
- }, 300) : WN(false), () => {
24228
+ return YN ? e2 = setTimeout(() => {
24229
+ lP(true);
24230
+ }, 300) : lP(false), () => {
23909
24231
  e2 && clearTimeout(e2);
23910
24232
  };
23911
24233
  }, [
23912
- AN
24234
+ YN
23913
24235
  ]);
23914
- function JN(e2, t2) {
23915
- return A ? t2 + (z ? A.pageIndex * A.pageSize : 0) : t2;
24236
+ function pP(e2, t2) {
24237
+ return M ? t2 + (U ? M.pageIndex * M.pageSize : 0) : t2;
23916
24238
  }
23917
- let YN = useReactTable({
24239
+ let mP = useReactTable({
23918
24240
  _features: [
23919
24241
  ColumnPinning,
23920
24242
  ColumnWrappingFeature,
@@ -23933,66 +24255,66 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23933
24255
  },
23934
24256
  getCoreRowModel: getCoreRowModel(),
23935
24257
  rowCount: f === "too_many" ? void 0 : f,
23936
- ...M ? {
23937
- onPaginationChange: M,
24258
+ ...I ? {
24259
+ onPaginationChange: I,
23938
24260
  getRowId: (e2, t2) => {
23939
24261
  let n2 = getStableRowId(e2);
23940
24262
  if (n2) return n2;
23941
- let i2 = JN(e2, t2);
24263
+ let i2 = pP(e2, t2);
23942
24264
  return String(i2);
23943
24265
  }
23944
24266
  } : {},
23945
- locale: GN,
23946
- manualPagination: z,
24267
+ locale: uP,
24268
+ manualPagination: U,
23947
24269
  getPaginationRowModel: getPaginationRowModel(),
23948
- ...v ? {
23949
- onSortingChange: v
24270
+ ...y ? {
24271
+ onSortingChange: y
23950
24272
  } : {},
23951
- manualSorting: h,
24273
+ manualSorting: _,
23952
24274
  enableMultiSort: true,
23953
24275
  getSortedRowModel: getSortedRowModel(),
23954
24276
  manualFiltering: true,
23955
- enableColumnFilters: EN,
24277
+ enableColumnFilters: KN,
23956
24278
  getFilteredRowModel: getFilteredRowModel(),
23957
- onColumnFiltersChange: ON,
23958
- onRowSelectionChange: K,
23959
- onCellSelectionChange: q,
24279
+ onColumnFiltersChange: qN,
24280
+ onRowSelectionChange: q,
24281
+ onCellSelectionChange: J,
23960
24282
  enableCellSelection: c === "single-cell" || c === "multi-cell",
23961
24283
  enableMultiCellSelection: c === "multi-cell",
23962
- onColumnPinningChange: qN,
24284
+ onColumnPinningChange: fP,
23963
24285
  enableFocusRow: true,
23964
- onFocusRowChange: HN,
24286
+ onFocusRowChange: sP,
23965
24287
  state: {
23966
- ..._ ? {
23967
- sorting: _
24288
+ ...v ? {
24289
+ sorting: v
23968
24290
  } : {},
23969
- columnFilters: DN,
23970
- ...A ? {
23971
- pagination: A
23972
- } : U && !A ? {} : {
24291
+ columnFilters: $,
24292
+ ...M ? {
24293
+ pagination: M
24294
+ } : K && !M ? {} : {
23973
24295
  pagination: {
23974
24296
  pageIndex: 0,
23975
24297
  pageSize: o.length
23976
24298
  }
23977
24299
  },
23978
- rowSelection: y ?? {},
23979
- cellSelection: S ?? [],
23980
- cellStyling: w,
23981
- columnPinning: KN,
23982
- cellHoverTemplate: E,
23983
- cellHoverTexts: O ?? {}
23984
- }
23985
- }), XN = (zN == null ? void 0 : zN(PANEL_TYPES.ROW_VIEWER)) ?? false, ZN = !U && o.length > 100, QN = useScrollContainerHeight({
24300
+ rowSelection: S ?? {},
24301
+ cellSelection: w ?? [],
24302
+ cellStyling: E,
24303
+ columnPinning: dP,
24304
+ cellHoverTemplate: O,
24305
+ cellHoverTexts: A ?? {}
24306
+ }
24307
+ }), hP = (iP == null ? void 0 : iP(PANEL_TYPES.ROW_VIEWER)) ?? false, gP = !K && o.length > 100, _P = useScrollContainerHeight({
23986
24308
  maxHeight: n,
23987
- virtualize: ZN
24309
+ virtualize: gP
23988
24310
  });
23989
24311
  return (0, import_jsx_runtime.jsxs)("div", {
23990
24312
  className: cn(e, "flex flex-col space-y-1"),
23991
24313
  children: [
23992
24314
  (0, import_jsx_runtime.jsx)(FilterPills, {
23993
- filters: DN,
23994
- table: YN,
23995
- calculateTopKRows: kN
24315
+ filters: $,
24316
+ table: mP,
24317
+ calculateTopKRows: JN
23996
24318
  }),
23997
24319
  (0, import_jsx_runtime.jsx)(CellSelectionProvider, {
23998
24320
  children: (0, import_jsx_runtime.jsxs)("div", {
@@ -24000,33 +24322,34 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
24000
24322
  className: cn(t || "rounded-md border overflow-hidden"),
24001
24323
  children: [
24002
24324
  (0, import_jsx_runtime.jsx)(TableTopBar, {
24003
- enableSearch: Q,
24004
- searchQuery: TN,
24005
- onSearchQueryChange: $,
24006
- reloading: AN,
24007
- showChartBuilder: PN,
24008
- isChartBuilderOpen: FN,
24009
- toggleDisplayHeader: NN,
24010
- showTableExplorer: LN,
24011
- togglePanel: RN,
24012
- isAnyPanelOpen: BN,
24013
- downloadAs: I
24325
+ enableSearch: UN,
24326
+ searchQuery: WN,
24327
+ onSearchQueryChange: GN,
24328
+ reloading: YN,
24329
+ showChartBuilder: $N,
24330
+ isChartBuilderOpen: eP,
24331
+ toggleDisplayHeader: QN,
24332
+ showTableExplorer: nP,
24333
+ togglePanel: rP,
24334
+ isAnyPanelOpen: aP,
24335
+ downloadAs: z,
24336
+ sizeBytes: h
24014
24337
  }),
24015
24338
  (0, import_jsx_runtime.jsxs)(Table, {
24016
24339
  className: cn("relative", i.length <= 4 ? "w-auto" : "w-full"),
24017
- ref: QN,
24340
+ ref: _P,
24018
24341
  children: [
24019
- UN && (0, import_jsx_runtime.jsx)("thead", {
24342
+ cP && (0, import_jsx_runtime.jsx)("thead", {
24020
24343
  className: "absolute top-0 left-0 h-[3px] w-1/2 bg-primary animate-slide"
24021
24344
  }),
24022
- renderTableHeader(YN, ZN || !!n),
24345
+ renderTableHeader(mP, gP || !!n),
24023
24346
  (0, import_jsx_runtime.jsx)(DataTableBody, {
24024
- table: YN,
24347
+ table: mP,
24025
24348
  columns: i,
24026
- rowViewerPanelOpen: XN,
24027
- getRowIndex: JN,
24028
- viewedRowIdx: VN,
24029
- virtualize: ZN
24349
+ rowViewerPanelOpen: hP,
24350
+ getRowIndex: pP,
24351
+ viewedRowIdx: oP,
24352
+ virtualize: gP
24030
24353
  })
24031
24354
  ]
24032
24355
  }),
@@ -24034,13 +24357,13 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
24034
24357
  part: "table-footer",
24035
24358
  className: "pt-1.5 pb-0.5 border-t border-border",
24036
24359
  totalColumns: d,
24037
- pagination: U,
24360
+ pagination: K,
24038
24361
  selection: c,
24039
- onRowSelectionChange: K,
24040
- table: YN,
24041
- getRowIds: J,
24042
- showPageSizeSelector: IN,
24043
- tableLoading: AN
24362
+ onRowSelectionChange: q,
24363
+ table: mP,
24364
+ getRowIds: Q,
24365
+ showPageSizeSelector: tP,
24366
+ tableLoading: YN
24044
24367
  })
24045
24368
  ]
24046
24369
  })
@@ -24121,76 +24444,76 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
24121
24444
  t[4] !== o || t[5] !== E ? (O = E && E.kind === "cell" && !isWasm() && !isStaticNotebook() && o !== "__scratch__", t[4] = o, t[5] = E, t[6] = O) : O = t[6];
24122
24445
  let A = O, M;
24123
24446
  t[7] !== v || t[8] !== n ? (M = n && v && !isStaticNotebook(), t[7] = v, t[8] = n, t[9] = M) : M = t[9];
24124
- let I = M, U = !isStaticNotebook(), K = (e2) => {
24447
+ let z = M, U = !isStaticNotebook(), K = (e2) => {
24125
24448
  n == null ? void 0 : n({
24126
24449
  prompt: `My code gives the following error:
24127
24450
 
24128
24451
  ${_}`,
24129
24452
  triggerImmediately: e2
24130
24453
  });
24131
- }, [q, J] = _.split(":", 2), Q = d ? KEY : "", $;
24132
- t[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? ($ = () => h(_temp$3), t[10] = $) : $ = t[10];
24133
- let EN = d ? "rotate-180" : "rotate-0", DN;
24134
- t[11] === EN ? DN = t[12] : (DN = cn("h-4 w-4 text-muted-foreground transition-transform duration-200 shrink-0", EN), t[11] = EN, t[12] = DN);
24135
- let ON;
24136
- t[13] === DN ? ON = t[14] : (ON = (0, import_jsx_runtime.jsx)(ChevronDown, {
24137
- className: DN
24138
- }), t[13] = DN, t[14] = ON);
24139
- let kN = q || "Error", AN;
24140
- t[15] === kN ? AN = t[16] : (AN = (0, import_jsx_runtime.jsxs)("span", {
24454
+ }, [q, Q] = _.split(":", 2), WN = d ? KEY : "", GN;
24455
+ t[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (GN = () => h(_temp$3), t[10] = GN) : GN = t[10];
24456
+ let KN = d ? "rotate-180" : "rotate-0", $;
24457
+ t[11] === KN ? $ = t[12] : ($ = cn("h-4 w-4 text-muted-foreground transition-transform duration-200 shrink-0", KN), t[11] = KN, t[12] = $);
24458
+ let qN;
24459
+ t[13] === $ ? qN = t[14] : (qN = (0, import_jsx_runtime.jsx)(ChevronDown, {
24460
+ className: $
24461
+ }), t[13] = $, t[14] = qN);
24462
+ let JN = q || "Error", YN;
24463
+ t[15] === JN ? YN = t[16] : (YN = (0, import_jsx_runtime.jsxs)("span", {
24141
24464
  className: "text-destructive",
24142
24465
  children: [
24143
- kN,
24466
+ JN,
24144
24467
  ":"
24145
24468
  ]
24146
- }), t[15] = kN, t[16] = AN);
24147
- let jN;
24148
- t[17] !== J || t[18] !== AN ? (jN = (0, import_jsx_runtime.jsxs)("div", {
24469
+ }), t[15] = JN, t[16] = YN);
24470
+ let ZN;
24471
+ t[17] !== Q || t[18] !== YN ? (ZN = (0, import_jsx_runtime.jsxs)("div", {
24149
24472
  className: "text-sm inline font-mono",
24150
24473
  children: [
24151
- AN,
24474
+ YN,
24152
24475
  " ",
24153
- J
24476
+ Q
24154
24477
  ]
24155
- }), t[17] = J, t[18] = AN, t[19] = jN) : jN = t[19];
24156
- let NN;
24157
- t[20] !== jN || t[21] !== ON ? (NN = (0, import_jsx_runtime.jsxs)("div", {
24478
+ }), t[17] = Q, t[18] = YN, t[19] = ZN) : ZN = t[19];
24479
+ let $N;
24480
+ t[20] !== ZN || t[21] !== qN ? ($N = (0, import_jsx_runtime.jsxs)("div", {
24158
24481
  className: "flex gap-2 h-10 px-2 hover:bg-muted rounded-sm select-none items-center cursor-pointer transition-all",
24159
- onClick: $,
24482
+ onClick: GN,
24160
24483
  children: [
24161
- ON,
24162
- jN
24484
+ qN,
24485
+ ZN
24163
24486
  ]
24164
- }), t[20] = jN, t[21] = ON, t[22] = NN) : NN = t[22];
24165
- let PN;
24166
- t[23] === c ? PN = t[24] : (PN = (0, import_jsx_runtime.jsx)(AccordionContent, {
24487
+ }), t[20] = ZN, t[21] = qN, t[22] = $N) : $N = t[22];
24488
+ let eP;
24489
+ t[23] === c ? eP = t[24] : (eP = (0, import_jsx_runtime.jsx)(AccordionContent, {
24167
24490
  className: "text-muted-foreground px-4 pt-2 text-xs overflow-auto",
24168
24491
  children: c
24169
- }), t[23] = c, t[24] = PN);
24170
- let IN;
24171
- t[25] !== NN || t[26] !== PN ? (IN = (0, import_jsx_runtime.jsxs)(AccordionItem, {
24492
+ }), t[23] = c, t[24] = eP);
24493
+ let tP;
24494
+ t[25] !== $N || t[26] !== eP ? (tP = (0, import_jsx_runtime.jsxs)(AccordionItem, {
24172
24495
  value: KEY,
24173
24496
  className: "border-none",
24174
24497
  children: [
24175
- NN,
24176
- PN
24498
+ $N,
24499
+ eP
24177
24500
  ]
24178
- }), t[25] = NN, t[26] = PN, t[27] = IN) : IN = t[27];
24179
- let LN;
24180
- t[28] !== IN || t[29] !== Q ? (LN = (0, import_jsx_runtime.jsx)(Accordion, {
24501
+ }), t[25] = $N, t[26] = eP, t[27] = tP) : tP = t[27];
24502
+ let nP;
24503
+ t[28] !== tP || t[29] !== WN ? (nP = (0, import_jsx_runtime.jsx)(Accordion, {
24181
24504
  type: "single",
24182
24505
  collapsible: true,
24183
- value: Q,
24184
- children: IN
24185
- }), t[28] = IN, t[29] = Q, t[30] = LN) : LN = t[30];
24186
- let RN;
24187
- t[31] !== K || t[32] !== I ? (RN = I && (0, import_jsx_runtime.jsx)(AIFixButton, {
24506
+ value: WN,
24507
+ children: tP
24508
+ }), t[28] = tP, t[29] = WN, t[30] = nP) : nP = t[30];
24509
+ let iP;
24510
+ t[31] !== K || t[32] !== z ? (iP = z && (0, import_jsx_runtime.jsx)(AIFixButton, {
24188
24511
  tooltip: "Fix with AI",
24189
24512
  openPrompt: () => K(false),
24190
24513
  applyAutofix: () => K(true)
24191
- }), t[31] = K, t[32] = I, t[33] = RN) : RN = t[33];
24192
- let BN;
24193
- t[34] !== A || t[35] !== E ? (BN = A && (0, import_jsx_runtime.jsx)(Tooltip, {
24514
+ }), t[31] = K, t[32] = z, t[33] = iP) : iP = t[33];
24515
+ let aP;
24516
+ t[34] !== A || t[35] !== E ? (aP = A && (0, import_jsx_runtime.jsx)(Tooltip, {
24194
24517
  content: "Attach pdb to the exception point.",
24195
24518
  children: (0, import_jsx_runtime.jsxs)(Button, {
24196
24519
  size: "xs",
@@ -24207,9 +24530,9 @@ ${_}`,
24207
24530
  "Launch debugger"
24208
24531
  ]
24209
24532
  })
24210
- }), t[34] = A, t[35] = E, t[36] = BN) : BN = t[36];
24211
- let VN;
24212
- t[37] !== _ || t[38] !== i ? (VN = U && (0, import_jsx_runtime.jsxs)(DropdownMenu, {
24533
+ }), t[34] = A, t[35] = E, t[36] = aP) : aP = t[36];
24534
+ let oP;
24535
+ t[37] !== _ || t[38] !== i ? (oP = U && (0, import_jsx_runtime.jsxs)(DropdownMenu, {
24213
24536
  children: [
24214
24537
  (0, import_jsx_runtime.jsx)(DropdownMenuTrigger, {
24215
24538
  asChild: true,
@@ -24277,24 +24600,24 @@ ${_}`,
24277
24600
  ]
24278
24601
  })
24279
24602
  ]
24280
- }), t[37] = _, t[38] = i, t[39] = VN) : VN = t[39];
24281
- let HN;
24282
- t[40] !== RN || t[41] !== BN || t[42] !== VN ? (HN = (0, import_jsx_runtime.jsxs)("div", {
24603
+ }), t[37] = _, t[38] = i, t[39] = oP) : oP = t[39];
24604
+ let sP;
24605
+ t[40] !== iP || t[41] !== aP || t[42] !== oP ? (sP = (0, import_jsx_runtime.jsxs)("div", {
24283
24606
  className: "flex gap-2",
24284
24607
  children: [
24285
- RN,
24286
- BN,
24287
- VN
24608
+ iP,
24609
+ aP,
24610
+ oP
24288
24611
  ]
24289
- }), t[40] = RN, t[41] = BN, t[42] = VN, t[43] = HN) : HN = t[43];
24290
- let UN;
24291
- return t[44] !== LN || t[45] !== HN ? (UN = (0, import_jsx_runtime.jsxs)("div", {
24612
+ }), t[40] = iP, t[41] = aP, t[42] = oP, t[43] = sP) : sP = t[43];
24613
+ let cP;
24614
+ return t[44] !== nP || t[45] !== sP ? (cP = (0, import_jsx_runtime.jsxs)("div", {
24292
24615
  className: "flex flex-col gap-2 min-w-full w-fit",
24293
24616
  children: [
24294
- LN,
24295
- HN
24617
+ nP,
24618
+ sP
24296
24619
  ]
24297
- }), t[44] = LN, t[45] = HN, t[46] = UN) : UN = t[46], UN;
24620
+ }), t[44] = nP, t[45] = sP, t[46] = cP) : cP = t[46], cP;
24298
24621
  };
24299
24622
  function lastLine(e) {
24300
24623
  var _a2, _b;
@@ -25680,7 +26003,7 @@ ${_}`,
25680
26003
  return Logger.warn("Failed to get version from mount config"), null;
25681
26004
  }
25682
26005
  }
25683
- marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.7-dev5");
26006
+ marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.7-dev51");
25684
26007
  showCodeInRunModeAtom = atom(true);
25685
26008
  atom(null);
25686
26009
  var import_compiler_runtime = require_compiler_runtime();