@marimo-team/frontend 0.25.3-dev13 → 0.25.3-dev134

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 (565) hide show
  1. package/dist/assets/CellStatus-DC6FFQOg.js +1 -0
  2. package/dist/assets/{ConnectedDataExplorerComponent-TprnxZeJ.js → ConnectedDataExplorerComponent-BV1mVpaE.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-CM13wrd8.js → ErrorBoundary-Ce-Ujlwj.js} +2 -2
  4. package/dist/assets/JsonOutput-CfEBzaqW.js +11 -0
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-B4fCknq1.js → LazyAnyLanguageCodeMirror-DoxWX_Wp.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-Bh6o9zle.js +10 -0
  7. package/dist/assets/{RenderHTML-DX6i99Op.js → RenderHTML-COGZsXQV.js} +1 -1
  8. package/dist/assets/RunButton-DQ51plUv.js +1 -0
  9. package/dist/assets/__vite-browser-external-BynxqS4w.js +1 -0
  10. package/dist/assets/__vite-browser-external-DTOT9NDN.js +1 -0
  11. package/dist/assets/{add-cell-with-ai-BpD_790A.js → add-cell-with-ai-D7gtGUsg.js} +6 -6
  12. package/dist/assets/{add-connection-dialog-B1BXCjex.js → add-connection-dialog-CpMCc97S.js} +1 -1
  13. package/dist/assets/{agent-panel-CDFUc1uu.js → agent-panel-BSFYqJ9B.js} +3 -3
  14. package/dist/assets/ai-model-dropdown-D575Vid8.js +13 -0
  15. package/dist/assets/alert-dialog-8YiYLrfr.js +1 -0
  16. package/dist/assets/any-language-editor-BWmz0P_C.js +1 -0
  17. package/dist/assets/{app-config-button-AdV-QDD7.js → app-config-button-Cfcg_5Bz.js} +1 -1
  18. package/dist/assets/arrays-0R2reF2y.js +1 -0
  19. package/dist/assets/{blob-BG8yoQmx.js → blob-CszMu60N.js} +1 -1
  20. package/dist/assets/{button-COI-NGrx.js → button-Cl7haVNh.js} +1 -1
  21. package/dist/assets/{cache-panel-DTY1dqvi.js → cache-panel-DuBsA6oO.js} +1 -1
  22. package/dist/assets/{capabilities-BJvf-MD4.js → capabilities-DcB-Dd0T.js} +1 -1
  23. package/dist/assets/cell-editor-BLpOlLnM.js +42 -0
  24. package/dist/assets/cell-link-Cj0gGaMV.js +1 -0
  25. package/dist/assets/cells-SvbLY10y.js +220 -0
  26. package/dist/assets/{chat-display-DhgI2MS9.js → chat-display-D43_g3TX.js} +1 -1
  27. package/dist/assets/chat-panel-B_HAJMwx.js +4 -0
  28. package/dist/assets/chat-ui-BEcYCphu.js +4 -0
  29. package/dist/assets/circle-B0vOU-Dh.js +1 -0
  30. package/dist/assets/{code-visibility-BJImdpDi.js → code-visibility-D1Wf7-vD.js} +1 -1
  31. package/dist/assets/column-preview-CrzaJKk8.js +1 -0
  32. package/dist/assets/command-palette-Bm9yIVcD.js +1 -0
  33. package/dist/assets/{common-Sl3uthjg.js → common-BJyUxCzv.js} +1 -1
  34. package/dist/assets/{components-CskjK6xZ.js → components-9p_w2C6e.js} +1 -1
  35. package/dist/assets/components-B6gDDccL.js +1 -0
  36. package/dist/assets/{components-3cou6Mka.js → components-D1f_Cz4i.js} +1 -1
  37. package/dist/assets/config-7IjqNuVp.js +1 -0
  38. package/dist/assets/config-BC32AAdw.js +1 -0
  39. package/dist/assets/{config-CA1V-wjh.js → config-CXnC3MRv.js} +1 -1
  40. package/dist/assets/{copy-D8O_CYCG.js → copy-74EjuZso.js} +1 -1
  41. package/dist/assets/{copy-icon-BIiRXh_3.js → copy-icon-Craaocbu.js} +1 -1
  42. package/dist/assets/{createReducer-DgRODTW6.js → createReducer-B04CIO-e.js} +1 -1
  43. package/dist/assets/{datasource-DfbNb83e.js → datasource-C8KSVfSD.js} +1 -1
  44. package/dist/assets/{dates-CfmdTL6B.js → dates-CaPZVGtm.js} +1 -1
  45. package/dist/assets/{dependency-graph-panel-L5cBE5sl.js → dependency-graph-panel-BhmyJbUl.js} +3 -3
  46. package/dist/assets/dist-gaK_BThd.js +1 -0
  47. package/dist/assets/{documentation-panel-D7S8JIc2.js → documentation-panel-DcVG0Q0d.js} +1 -1
  48. package/dist/assets/download-Bx52VRE4.js +9 -0
  49. package/dist/assets/dropdown-menu-Cwi17BoX.js +1 -0
  50. package/dist/assets/edit-page-DUrwOHR-.js +9 -0
  51. package/dist/assets/{error-banner-COZ7SfYV.js → error-banner-m3mastc-.js} +1 -1
  52. package/dist/assets/{error-entries-CLnPDv7b.js → error-entries-11OuHzUF.js} +1 -1
  53. package/dist/assets/{error-panel-D2xrYLue.js → error-panel-XJy5S25F.js} +1 -1
  54. package/dist/assets/{es-Cqst59WX.js → es-Rg27gAEy.js} +1 -1
  55. package/dist/assets/{feedback-button-DzPunIqU.js → feedback-button-B7jh_B4w.js} +1 -1
  56. package/dist/assets/feedback-button-C-eKtxXE.js +1 -0
  57. package/dist/assets/file-explorer-panel-CnVxbF4A.js +1 -0
  58. package/dist/assets/{file-name-input-B4fRaQkI.js → file-name-input-BJuqjQqH.js} +2 -2
  59. package/dist/assets/floating-outline-8yyZ-MOJ.js +1 -0
  60. package/dist/assets/{formats-yZ06h1Pl.js → formats-CYyvbiZA.js} +1 -1
  61. package/dist/assets/{formatting-BqrP-n49.js → formatting-DW2u7HXI.js} +1 -1
  62. package/dist/assets/fullscreen-D-ldV-19.js +41 -0
  63. package/dist/assets/{gallery-page-BefvdsM7.js → gallery-page-DJvGHePf.js} +1 -1
  64. package/dist/assets/{ganttDiagram-EL5Y4UJY-2n7Ig5Jm.js → ganttDiagram-EL5Y4UJY-CYqkCfFG.js} +1 -1
  65. package/dist/assets/{glide-data-editor-C3eaYlXg.js → glide-data-editor-Cyc8DHZx.js} +2 -2
  66. package/dist/assets/{glide-utils-CIrAxdjv.js → glide-utils-DsTeJ7WA.js} +2 -2
  67. package/dist/assets/home-page-tRZJmSU6.js +1 -0
  68. package/dist/assets/{hooks-DzML9nez.js → hooks-CxGwybGw.js} +1 -1
  69. package/dist/assets/{html-to-image-DK9Zl1lU.js → html-to-image-BW0fcUS8.js} +1 -1
  70. package/dist/assets/index-CoxbqhGH.js +30 -0
  71. package/dist/assets/index-u08m0hQE.css +2 -0
  72. package/dist/assets/{input-BoBxR50a.js → input-DLA5Dhn3.js} +2 -2
  73. package/dist/assets/kiosk-mode-Cbxffiz9.js +1 -0
  74. package/dist/assets/{layout-Ck1RoL1B.js → layout-DvXJxBiL.js} +4 -4
  75. package/dist/assets/linear-Bma8J3iM.js +1 -0
  76. package/dist/assets/links-UwsB2RA1.js +1 -0
  77. package/dist/assets/{logs-panel-BRytaWaO.js → logs-panel-KtsY7TrR.js} +1 -1
  78. package/dist/assets/{markdown-renderer-DX0Xrrfy.js → markdown-renderer-DUgV7_fm.js} +1 -1
  79. package/dist/assets/menu-items-yD7IV3V4.js +1 -0
  80. package/dist/assets/{mermaid-C4EiVqcd.js → mermaid-DmekSy8J.js} +2 -2
  81. package/dist/assets/{name-cell-input-DlpTvPLa.js → name-cell-input-C3-Cj-Ek.js} +1 -1
  82. package/dist/assets/numbers-DJK15_4S.js +1 -0
  83. package/dist/assets/{objects-snlMn4yk.js → objects-rLPlQ3X_.js} +1 -1
  84. package/dist/assets/{once-Haz_uxEL.js → once-6KNTRW0u.js} +1 -1
  85. package/dist/assets/{outline-panel-B2WIpz-1.js → outline-panel-BzyY4JA6.js} +1 -1
  86. package/dist/assets/{package-data-dv4FBHxR.js → package-data-CKPmBDtg.js} +1 -1
  87. package/dist/assets/packages-panel-DxosbWko.js +1 -0
  88. package/dist/assets/{panel-accordion-state-BqSH5ttk.js → panel-accordion-state-BRbTib2B.js} +1 -1
  89. package/dist/assets/panels-Da3071Q4.js +1 -0
  90. package/dist/assets/precisionRound-BxlUs8G4.js +1 -0
  91. package/dist/assets/process-output-CSwx7rvo.js +1 -0
  92. package/dist/assets/{quadrantDiagram-AXDQQJYC-yBhCDI7E.js → quadrantDiagram-AXDQQJYC-D9KH5Zge.js} +1 -1
  93. package/dist/assets/react-vega-BTNeboR2.js +189 -0
  94. package/dist/assets/{readonly-code-display-MnMEoYW5.js → readonly-code-display-B9y9423Y.js} +1 -1
  95. package/dist/assets/{readonly-python-code-ggs4hAzC.js → readonly-python-code-Dgw6trlk.js} +1 -1
  96. package/dist/assets/{renderShortcut-C1JwYcqW.js → renderShortcut-Bxv9ZLnD.js} +1 -1
  97. package/dist/assets/{requests-lt0JK8Jt.js → requests-BIFR-h4M.js} +1 -1
  98. package/dist/assets/requests-DuLJN9Tf.js +1 -0
  99. package/dist/assets/{reveal-component-PiV1eQk9.js → reveal-component-B9A4wkG-.js} +37 -37
  100. package/dist/assets/run-page-C1MQ5b_A.js +1 -0
  101. package/dist/assets/{runs-BLp5jezv.js → runs-C8uOPNAW.js} +1 -1
  102. package/dist/assets/{runtime-details-state-CoL-p0MC.js → runtime-details-state-D_hOQL9T.js} +1 -1
  103. package/dist/assets/{save-worker-BbUSwZRG.js → save-worker-UwdGcNK5.js} +2 -1
  104. package/dist/assets/scratchpad-panel-CBCsPmMW.js +1 -0
  105. package/dist/assets/{scroll-to-bottom-button-1FyowpWV.js → scroll-to-bottom-button-CidjyqiH.js} +1 -1
  106. package/dist/assets/secrets-panel-ConQpchl.js +1 -0
  107. package/dist/assets/select-CgWQvW1F.js +1 -0
  108. package/dist/assets/{session-DqoWmb7X.js → session-BHgGkjDm.js} +1 -1
  109. package/dist/assets/session-panel-CiHCKPlx.js +1 -0
  110. package/dist/assets/snippets-panel-C0VDE_4i.js +1 -0
  111. package/dist/assets/{spec-BfSBcO5B.js → spec-DFtwOyXT.js} +1 -1
  112. package/dist/assets/state-BYETGwDZ.js +1 -0
  113. package/dist/assets/{state-uwRvJLb8.js → state-CZu2E2Lb.js} +1 -1
  114. package/dist/assets/{state-C3oDoyFe.js → state-ClBFtZxn.js} +1 -1
  115. package/dist/assets/{state-DxQnC_1I.js → state-CrLrURYG.js} +1 -1
  116. package/dist/assets/{state-DtGB7xeJ.js → state-DrraMmqz.js} +1 -1
  117. package/dist/assets/state-DvU2AiFx.js +107 -0
  118. package/dist/assets/{strings-B2vv-ENv.js → strings-3lNX212T.js} +1 -1
  119. package/dist/assets/{swiper-component-a07domrZ.js → swiper-component-BwGv-Pu1.js} +1 -1
  120. package/dist/assets/switch-D2gdC_ep.js +1 -0
  121. package/dist/assets/tabs-BLczoY3k.js +1 -0
  122. package/dist/assets/{terminal-wnSHYT8N.js → terminal-DLgGyFIP.js} +1 -1
  123. package/dist/assets/{time-MgToa8VM.js → time-DswSXBDk.js} +1 -1
  124. package/dist/assets/toast-trUlkvx3.js +1 -0
  125. package/dist/assets/tooltip-B5lAA_jn.js +1 -0
  126. package/dist/assets/tooltip-BiQdpXA0.js +61 -0
  127. package/dist/assets/tracing-C5d51Nmi.js +1 -0
  128. package/dist/assets/tracing-panel-B89R8dWE.js +2 -0
  129. package/dist/assets/{tree-actions-DnUokmva.js → tree-actions-Cph8FVzh.js} +1 -1
  130. package/dist/assets/use-restore-focus-DMSzeuUr.js +1 -0
  131. package/dist/assets/{useAddCell-IN24thff.js → useAddCell-VPkB72pn.js} +1 -1
  132. package/dist/assets/useAsyncData-qvoPYHtx.js +1 -0
  133. package/dist/assets/useBoolean-BkeUcn1n.js +1 -0
  134. package/dist/assets/useCellActionButton--zI3GFnt.js +1 -0
  135. package/dist/assets/useDebounce-DwTQ_1Pu.js +1 -0
  136. package/dist/assets/{useDeepCompareMemoize-DFIVN9dn.js → useDeepCompareMemoize-B2DVK2De.js} +1 -1
  137. package/dist/assets/useDelayElapsed-BlsDT4TV.js +1 -0
  138. package/dist/assets/{useDeleteCell-fQlM46Y2.js → useDeleteCell-CjewKeSr.js} +1 -1
  139. package/dist/assets/{useDependencyPanelTab-ImXYINm_.js → useDependencyPanelTab-Bt_ka-wl.js} +1 -1
  140. package/dist/assets/{useEvent-Dfcbgjhg.js → useEvent-BDjgaBtz.js} +1 -1
  141. package/dist/assets/{useEventListener-D9cftcHj.js → useEventListener-DPOTkksd.js} +1 -1
  142. package/dist/assets/{useIframeCapabilities-CwTkczVN.js → useIframeCapabilities-sHeZt_EA.js} +1 -1
  143. package/dist/assets/{useInstallPackage-BW06eter.js → useInstallPackage-BfNKN33w.js} +1 -1
  144. package/dist/assets/{useInterval--x3s1VpI.js → useInterval-BcdwHHB5.js} +1 -1
  145. package/dist/assets/useNotebookActions-DV2S6KaG.js +1 -0
  146. package/dist/assets/{useRunCells-DSJPXE-j.js → useRunCells-BupCZpzk.js} +1 -1
  147. package/dist/assets/{useSplitCell-DQyMF5gd.js → useSplitCell-CaLIR0TS.js} +1 -1
  148. package/dist/assets/useStateForKey-CGMJQT8x.js +1 -0
  149. package/dist/assets/{useTheme-n8Dj1zH7.js → useTheme-C2dnh2vM.js} +1 -1
  150. package/dist/assets/{utils-CaQYvazl.js → utils-DfElfBpz.js} +1 -1
  151. package/dist/assets/vega-component-DJf6ho22.js +1 -0
  152. package/dist/assets/{vega-embed-container-DJPNkHPb.js → vega-embed-container-DtArSJz1.js} +1 -1
  153. package/dist/assets/vega-loader.browser-Bu25TKax.js +6 -0
  154. package/dist/assets/worker-jm2VC7pS.js +159 -0
  155. package/dist/assets/{write-secret-modal-DzKAInL2.js → write-secret-modal-CBi2vNK_.js} +1 -1
  156. package/dist/assets/{xychartDiagram-S5SC5T6Z-KbGzG6-u.js → xychartDiagram-S5SC5T6Z-CeRnBS5e.js} +1 -1
  157. package/dist/index.html +81 -79
  158. package/package.json +14 -14
  159. package/src/__tests__/host-imports.test.ts +1 -0
  160. package/src/__tests__/module-entry.test.ts +32 -0
  161. package/src/__tests__/mount.test.ts +0 -20
  162. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  163. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  164. package/src/components/app-config/ai-config.tsx +7 -2
  165. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  166. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  167. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  168. package/src/components/chat/acp/blocks.tsx +3 -2
  169. package/src/components/chat/acp/session-tabs.tsx +8 -3
  170. package/src/components/chat/chat-components.tsx +2 -0
  171. package/src/components/chat/chat-panel.tsx +9 -8
  172. package/src/components/chat/chat-utils.ts +4 -8
  173. package/src/components/data-table/TableTopBar.tsx +2 -0
  174. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  175. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  176. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  177. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  178. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  179. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  180. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  181. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  182. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  183. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  184. package/src/components/data-table/cell-selection/feature.ts +2 -2
  185. package/src/components/data-table/cell-selection/types.ts +2 -2
  186. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  187. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  188. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  189. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  190. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  191. package/src/components/data-table/charts/charts.tsx +40 -30
  192. package/src/components/data-table/charts/storage.ts +16 -5
  193. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  194. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  195. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  196. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  197. package/src/components/data-table/columns.tsx +45 -46
  198. package/src/components/data-table/context-menu.tsx +36 -20
  199. package/src/components/data-table/data-table.tsx +13 -1
  200. package/src/components/data-table/date-popover.tsx +6 -4
  201. package/src/components/data-table/export-actions.tsx +76 -48
  202. package/src/components/data-table/range-focus/atoms.ts +4 -6
  203. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  204. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  205. package/src/components/data-table/renderers.tsx +16 -7
  206. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  207. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  208. package/src/components/data-table/search-highlight.tsx +79 -0
  209. package/src/components/data-table/types.ts +1 -0
  210. package/src/components/data-table/url-detector.tsx +49 -9
  211. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  212. package/src/components/datasources/__tests__/column-preview.test.tsx +63 -2
  213. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  214. package/src/components/datasources/column-preview.tsx +8 -2
  215. package/src/components/datasources/datasources.tsx +48 -35
  216. package/src/components/debugger/debugger-code.tsx +5 -0
  217. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  218. package/src/components/dependency-graph/elements.ts +24 -21
  219. package/src/components/dependency-graph/panels.tsx +2 -1
  220. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  221. package/src/components/editor/SortableCell.tsx +1 -3
  222. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  223. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  224. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +24 -0
  225. package/src/components/editor/actions/pair-with-agent-modal.tsx +18 -15
  226. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  227. package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
  228. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  229. package/src/components/editor/cell/CreateCellButton.tsx +8 -10
  230. package/src/components/editor/cell/DeleteButton.tsx +1 -0
  231. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  232. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  233. package/src/components/editor/cell/code/cell-editor.tsx +1 -1
  234. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  235. package/src/components/editor/cell/collapse.tsx +5 -3
  236. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  237. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +30 -1
  238. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  239. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  240. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  241. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  242. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  243. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  244. package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -1
  245. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +12 -18
  246. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +58 -1
  247. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  248. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
  249. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  250. package/src/components/editor/connections/components.tsx +1 -1
  251. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  252. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  253. package/src/components/editor/controls/command-palette.tsx +22 -10
  254. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  255. package/src/components/editor/dynamic-favicon.tsx +21 -40
  256. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +12 -23
  257. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  258. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  259. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  260. package/src/components/editor/file-tree/file-explorer.tsx +45 -8
  261. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  262. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  263. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  264. package/src/components/editor/header/status.tsx +28 -5
  265. package/src/components/editor/links/__tests__/cell-link.test.tsx +146 -0
  266. package/src/components/editor/links/cell-link.tsx +14 -5
  267. package/src/components/editor/navigation/focus-utils.ts +4 -4
  268. package/src/components/editor/notebook-banner.tsx +1 -0
  269. package/src/components/editor/notebook-cell.tsx +11 -2
  270. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  271. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  272. package/src/components/editor/output/ansi-reduce.ts +33 -20
  273. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  274. package/src/components/editor/package-alert.tsx +14 -7
  275. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  276. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  277. package/src/components/home/components.tsx +17 -31
  278. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  279. package/src/components/icons/large-spinner.tsx +3 -14
  280. package/src/components/icons/spinner.tsx +1 -1
  281. package/src/components/mcp/mcp-status-indicator.tsx +1 -1
  282. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  283. package/src/components/pages/home-page.tsx +164 -91
  284. package/src/components/scratchpad/scratchpad.test.tsx +95 -0
  285. package/src/components/scratchpad/scratchpad.tsx +16 -3
  286. package/src/components/slides/reveal-component.tsx +4 -2
  287. package/src/components/slides/slide-cell-view.tsx +1 -1
  288. package/src/components/slides/slide-form.tsx +1 -0
  289. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  290. package/src/components/tracing/tracing.tsx +45 -41
  291. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  292. package/src/components/ui/alert-dialog.tsx +1 -1
  293. package/src/components/ui/draggable-popover.tsx +24 -2
  294. package/src/core/ai/context/providers/datasource.ts +6 -2
  295. package/src/core/ai/tools/base.ts +16 -7
  296. package/src/core/ai/tools/edit-notebook-tool.ts +47 -45
  297. package/src/core/ai/tools/registry.ts +13 -8
  298. package/src/core/ai/tools/sample-tool.ts +6 -7
  299. package/src/core/attachments/state.ts +5 -8
  300. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -0
  301. package/src/core/cells/__tests__/cell.test.ts +39 -0
  302. package/src/core/cells/__tests__/cells.test.ts +3 -1
  303. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  304. package/src/core/cells/__tests__/notebook-outline.test.ts +113 -0
  305. package/src/core/cells/__tests__/session.test.ts +117 -36
  306. package/src/core/cells/cell.ts +14 -3
  307. package/src/core/cells/cells.ts +3 -1
  308. package/src/core/cells/pending-delete-service.ts +2 -6
  309. package/src/core/cells/session.ts +1 -1
  310. package/src/core/cells/types.ts +10 -1
  311. package/src/core/codemirror/__tests__/setup.test.ts +29 -29
  312. package/src/core/codemirror/cells/__tests__/extensions.test.ts +15 -0
  313. package/src/core/codemirror/cells/extensions.ts +7 -3
  314. package/src/core/codemirror/keymaps/vim.ts +2 -6
  315. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  316. package/src/core/codemirror/language/extension.ts +8 -8
  317. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  318. package/src/core/codemirror/language/languages/python.ts +16 -10
  319. package/src/core/codemirror/language/languages/sql/sql.ts +9 -7
  320. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  321. package/src/core/codemirror/language/types.ts +7 -7
  322. package/src/core/codemirror/rtc/extension.ts +24 -12
  323. package/src/core/codemirror/rtc/loro/awareness.ts +34 -19
  324. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  325. package/src/core/codemirror/utils.ts +1 -0
  326. package/src/core/datasets/__tests__/data-source-discovery.test.ts +4 -4
  327. package/src/core/datasets/data-source-discovery.ts +4 -6
  328. package/src/core/document/__tests__/codemirror.test.ts +485 -0
  329. package/src/core/document/__tests__/draft.test.ts +322 -0
  330. package/src/core/document/__tests__/fixtures.ts +92 -0
  331. package/src/core/document/__tests__/hooks.test.tsx +386 -0
  332. package/src/core/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  333. package/src/core/document/__tests__/model.test.ts +191 -0
  334. package/src/core/document/__tests__/protocol-fixtures.ts +38 -0
  335. package/src/core/document/__tests__/recovery-scenarios.test.ts +230 -0
  336. package/src/core/document/__tests__/scenario-fixture.ts +43 -0
  337. package/src/core/document/__tests__/scenarios.test.ts +205 -0
  338. package/src/core/document/__tests__/state.test.ts +438 -0
  339. package/src/core/document/__tests__/submission.test.ts +203 -0
  340. package/src/core/document/__tests__/test-host.test.ts +92 -0
  341. package/src/core/document/__tests__/test-host.ts +247 -0
  342. package/src/core/document/__tests__/test-notebook.ts +149 -0
  343. package/src/core/document/__tests__/user.ts +61 -0
  344. package/src/core/document/codemirror.ts +311 -0
  345. package/src/core/document/draft.ts +472 -0
  346. package/src/core/document/hooks.tsx +118 -0
  347. package/src/core/document/index.ts +15 -0
  348. package/src/core/document/model.ts +55 -0
  349. package/src/core/document/select.ts +41 -0
  350. package/src/core/document/state.ts +374 -0
  351. package/src/core/document/sync.ts +369 -0
  352. package/src/core/host/AGENTS.md +8 -2
  353. package/src/core/host/__tests__/attachments.test.ts +56 -0
  354. package/src/core/host/__tests__/document.test.ts +126 -0
  355. package/src/core/host/__tests__/fixtures.ts +71 -0
  356. package/src/core/host/__tests__/replica.test.ts +550 -0
  357. package/src/core/host/__tests__/static.test.ts +169 -0
  358. package/src/core/host/__tests__/wasm.test.ts +162 -0
  359. package/src/core/host/backend.ts +19 -0
  360. package/src/core/host/connection.ts +1 -40
  361. package/src/core/host/index.ts +14 -0
  362. package/src/core/host/replica.ts +286 -0
  363. package/src/core/host/resources/attachments.ts +22 -0
  364. package/src/core/host/resources/document.ts +101 -0
  365. package/src/core/host/static.ts +72 -0
  366. package/src/core/host/wasm.ts +102 -0
  367. package/src/core/hotkeys/actions.ts +2 -4
  368. package/src/core/islands/__tests__/bootstrap.test.ts +0 -26
  369. package/src/core/islands/bootstrap.ts +0 -1
  370. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  371. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  372. package/src/core/network/connection.ts +4 -2
  373. package/src/core/network/useConnectionNotice.ts +8 -2
  374. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  375. package/src/core/runtime/__tests__/runtime.test.ts +32 -58
  376. package/src/core/runtime/runtime.ts +38 -42
  377. package/src/core/runtime/types.ts +0 -2
  378. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  379. package/src/core/state/jotai.ts +1 -1
  380. package/src/core/static/__tests__/files.test.ts +38 -10
  381. package/src/core/static/files.ts +2 -0
  382. package/src/core/wasm/bridge.ts +38 -10
  383. package/src/core/wasm/store.ts +3 -3
  384. package/src/core/wasm/worker/bootstrap.ts +2 -1
  385. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  386. package/src/core/wasm/worker/types.ts +11 -0
  387. package/src/core/wasm/worker/worker.ts +48 -0
  388. package/src/core/websocket/__tests__/backend.test.ts +200 -0
  389. package/src/core/websocket/__tests__/connection-state.test.ts +0 -12
  390. package/src/core/websocket/__tests__/useNotebookReplica.hook.test.tsx +141 -0
  391. package/src/core/websocket/__tests__/useNotebookSession.hook.test.tsx +154 -428
  392. package/src/core/websocket/backend.ts +106 -0
  393. package/src/core/websocket/connection-state.ts +1 -11
  394. package/src/core/websocket/state.ts +7 -0
  395. package/src/core/websocket/transports/__tests__/notebook.test.ts +445 -0
  396. package/src/core/websocket/transports/notebook.ts +190 -0
  397. package/src/core/websocket/types.ts +2 -2
  398. package/src/core/websocket/useNotebookReplica.ts +69 -0
  399. package/src/core/websocket/useNotebookSession.tsx +10 -22
  400. package/src/css/globals.css +5 -0
  401. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  402. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  403. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  404. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  405. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  406. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  407. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  408. package/src/hooks/useAsyncData.ts +3 -3
  409. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  410. package/src/hooks/useDebounce.ts +6 -10
  411. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  412. package/src/hooks/useDelayElapsed.ts +14 -10
  413. package/src/hooks/useElapsedTime.ts +3 -3
  414. package/src/hooks/useEventListener.ts +1 -2
  415. package/src/hooks/useInputHistory.ts +4 -7
  416. package/src/hooks/useInternalStateWithSync.ts +6 -6
  417. package/src/hooks/useResizeObserver.ts +4 -7
  418. package/src/hooks/useScript.ts +67 -70
  419. package/src/hooks/useStateForKey.ts +93 -0
  420. package/src/mount.tsx +0 -4
  421. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  422. package/src/plugins/core/registerReactComponent.tsx +1 -1
  423. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  424. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  425. package/src/plugins/impl/DataTablePlugin.tsx +29 -33
  426. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  427. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  428. package/src/plugins/impl/FormPlugin.tsx +1 -1
  429. package/src/plugins/impl/RangeSliderPlugin.tsx +0 -1
  430. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  431. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  432. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +117 -1
  433. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  434. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  435. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +2 -0
  436. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  437. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  438. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  439. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  440. package/src/plugins/impl/chat/chat-ui.tsx +14 -11
  441. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  442. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  443. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  444. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  445. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  446. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  447. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  448. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  449. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  450. package/src/plugins/impl/data-frames/panel.tsx +43 -16
  451. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  452. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  453. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  454. package/src/plugins/impl/panel/utils.ts +17 -0
  455. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  456. package/src/plugins/impl/plotly/selection.ts +25 -19
  457. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  458. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  459. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  460. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  461. package/src/stories/button.stories.tsx +1 -0
  462. package/src/stories/editor.stories.tsx +24 -17
  463. package/src/stories/form-wrapper.stories.tsx +2 -2
  464. package/src/stories/select.stories.tsx +2 -2
  465. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  466. package/src/utils/__tests__/arrays.test.ts +35 -0
  467. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  468. package/src/utils/__tests__/numbers.test.ts +48 -1
  469. package/src/utils/__tests__/objects.test.ts +21 -0
  470. package/src/utils/arrays.ts +10 -0
  471. package/src/utils/blob.ts +1 -1
  472. package/src/utils/numbers.ts +28 -17
  473. package/src/utils/objects.ts +3 -7
  474. package/src/utils/once.ts +19 -19
  475. package/src/utils/tracer.ts +9 -5
  476. package/src/utils/zod-utils.ts +1 -3
  477. package/dist/assets/CellStatus-DVOHpdeJ.js +0 -1
  478. package/dist/assets/JsonOutput-Cx1iyibB.js +0 -11
  479. package/dist/assets/MarimoErrorOutput-s_5GOX8k.js +0 -10
  480. package/dist/assets/RunButton-BKoh0zYG.js +0 -1
  481. package/dist/assets/__vite-browser-external-CYO_P3S8.js +0 -1
  482. package/dist/assets/__vite-browser-external-FeDVGZU8.js +0 -1
  483. package/dist/assets/ai-model-dropdown-i1vfGeVi.js +0 -13
  484. package/dist/assets/alert-dialog-BaPGzeOK.js +0 -1
  485. package/dist/assets/any-language-editor-BdTWdMCI.js +0 -1
  486. package/dist/assets/arrays-BqUx5USx.js +0 -1
  487. package/dist/assets/cell-editor-BKJ06H5F.js +0 -21
  488. package/dist/assets/cell-link-8Auigi8P.js +0 -1
  489. package/dist/assets/cells-C6YGYGdi.js +0 -220
  490. package/dist/assets/chat-panel-Cau71Ygr.js +0 -4
  491. package/dist/assets/chat-ui-C5ql1Up-.js +0 -4
  492. package/dist/assets/circle-DXf-VWZG.js +0 -1
  493. package/dist/assets/circle-play-CYIb0qT6.js +0 -1
  494. package/dist/assets/column-preview-BZ_iNhtJ.js +0 -1
  495. package/dist/assets/command-palette-DDC3kBet.js +0 -1
  496. package/dist/assets/components-YBmtV0p6.js +0 -1
  497. package/dist/assets/config-DRIpOKqh.js +0 -1
  498. package/dist/assets/config-Dy28fDwn.js +0 -1
  499. package/dist/assets/dist-iaThVDkA.js +0 -1
  500. package/dist/assets/download-C03FOElq.js +0 -9
  501. package/dist/assets/dropdown-menu-C1rnl-0o.js +0 -1
  502. package/dist/assets/edit-page-D_Rg0gQO.js +0 -9
  503. package/dist/assets/feedback-button-Kla7i5RT.js +0 -1
  504. package/dist/assets/file-explorer-panel-Uk4_QIJQ.js +0 -1
  505. package/dist/assets/floating-outline-B5MaM1JS.js +0 -1
  506. package/dist/assets/fullscreen-B9tHcfpV.js +0 -41
  507. package/dist/assets/home-page-hmvKlc1w.js +0 -4
  508. package/dist/assets/index-6b4mf8Ai.css +0 -2
  509. package/dist/assets/index-ptK1gxmo.js +0 -30
  510. package/dist/assets/kiosk-mode-BZECfg9k.js +0 -1
  511. package/dist/assets/linear-0eij_aAG.js +0 -1
  512. package/dist/assets/link-NuFVR7G9.js +0 -1
  513. package/dist/assets/links-DkkL9DVa.js +0 -1
  514. package/dist/assets/menu-items-BrwnTgyK.js +0 -1
  515. package/dist/assets/numbers-Mk3-CcoU.js +0 -1
  516. package/dist/assets/packages-panel-CI5ff9b-.js +0 -1
  517. package/dist/assets/panels-BCcZ_yLK.js +0 -107
  518. package/dist/assets/precisionRound-Bq_nmf5u.js +0 -1
  519. package/dist/assets/process-output-f3C3PD0Z.js +0 -1
  520. package/dist/assets/react-vega-C3rYGtP6.js +0 -189
  521. package/dist/assets/requests-CgSY1X4a.js +0 -1
  522. package/dist/assets/run-page-AfZhtEh1.js +0 -1
  523. package/dist/assets/scratchpad-panel-D2rWg4k8.js +0 -1
  524. package/dist/assets/secrets-panel-D7KN4tVs.js +0 -1
  525. package/dist/assets/select-DTBn5eTb.js +0 -1
  526. package/dist/assets/session-panel-CnANhcTo.js +0 -1
  527. package/dist/assets/snippets-panel-ClGHtEKQ.js +0 -1
  528. package/dist/assets/state-BAJYRhmO.js +0 -1
  529. package/dist/assets/state-CbjBtkdd.js +0 -3
  530. package/dist/assets/switch-CTaiAjrz.js +0 -1
  531. package/dist/assets/tabs-BuQlZFbt.js +0 -1
  532. package/dist/assets/toast-BGzLGnvw.js +0 -1
  533. package/dist/assets/tooltip-C9TuY18o.js +0 -1
  534. package/dist/assets/tooltip-mT3CGest.js +0 -61
  535. package/dist/assets/tracing-Dz2rYOFL.js +0 -1
  536. package/dist/assets/tracing-panel-DqQY9V91.js +0 -2
  537. package/dist/assets/use-restore-focus-BxEGwIbk.js +0 -1
  538. package/dist/assets/useAsyncData-C7aJJz0Y.js +0 -1
  539. package/dist/assets/useBoolean-d0Tty94N.js +0 -1
  540. package/dist/assets/useCellActionButton-DmaFZ4oF.js +0 -1
  541. package/dist/assets/useDebounce-B_ccBZTp.js +0 -1
  542. package/dist/assets/useNotebookActions-DHt3s-ia.js +0 -1
  543. package/dist/assets/vega-component-IouMe13t.js +0 -1
  544. package/dist/assets/vega-loader.browser-CLRkNgm7.js +0 -6
  545. package/dist/assets/worker-DTQ7oH2A.js +0 -158
  546. package/dist/assets/ws-BXWY541V.js +0 -22
  547. package/src/core/host/__tests__/events.test.ts +0 -46
  548. package/src/core/host/__tests__/notebook-client.test.ts +0 -191
  549. package/src/core/host/__tests__/protocol.test.ts +0 -214
  550. package/src/core/host/events.ts +0 -60
  551. package/src/core/host/notebook-client.ts +0 -226
  552. package/src/core/host/protocol.ts +0 -1943
  553. package/src/core/state/__tests__/jotai.test.ts +0 -25
  554. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  555. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -140
  556. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  557. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  558. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  559. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  560. package/src/core/websocket/transports/basic.ts +0 -102
  561. package/src/core/websocket/transports/create.ts +0 -31
  562. package/src/core/websocket/transports/sse.ts +0 -308
  563. package/src/core/websocket/transports/transport.ts +0 -50
  564. package/src/core/websocket/transports/ws.ts +0 -98
  565. package/src/core/websocket/useNotebookClient.ts +0 -80
@@ -1,4 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,l as r,t as i,u as a}from"./useEvent-Dfcbgjhg.js";import{t as o}from"./react-DVplv7_D.js";import{D as s,Zn as c,ao as l,br as u,cn as d,dn as f,qa as p,un as m}from"./cells-C6YGYGdi.js";import{t as h}from"./compiler-runtime-BrajqUja.js";import{i as g,t as _}from"./config-CA1V-wjh.js";import{g as v,o as y}from"./useEventListener-D9cftcHj.js";import{t as b}from"./config-DRIpOKqh.js";import{N as x,o as S}from"./config-Dy28fDwn.js";import{t as C}from"./cn-ldLVeaqm.js";import{t as w}from"./jsx-runtime-B74pBk57.js";import{C as T,S as E,T as D,b as O,v as k,w as A}from"./fullscreen-B9tHcfpV.js";import{u as j}from"./menu-items-BrwnTgyK.js";import{o as M}from"./alert-dialog-BaPGzeOK.js";import{a as N,i as P,m as F,n as I,r as L,s as R,t as z}from"./select-DTBn5eTb.js";import{t as B}from"./switch-CTaiAjrz.js";import{i as ee,t as V}from"./tooltip-C9TuY18o.js";import{t as H}from"./button-COI-NGrx.js";import{t as te}from"./createLucideIcon-DfJ2oMlA.js";import{t as ne}from"./arrow-right-Cgit4Nk2.js";import{t as U}from"./bot-message-square-8xmbrehG.js";import{M as re,c as ie,h as ae,m as oe,p as se,r as ce,t as le}from"./ai-model-dropdown-i1vfGeVi.js";import{i as ue,n as de,r as fe,t as pe}from"./chat-display-DhgI2MS9.js";import{B as W,C as me,D as he,E as ge,N as _e,R as ve,S as ye,U as be,_ as xe,b as Se,c as Ce,d as we,f as Te,g as Ee,h as De,k as Oe,l as ke,m as Ae,n as je,u as Me,v as Ne,w as Pe,x as Fe,y as Ie,z as Le}from"./add-cell-with-ai-BpD_790A.js";import{t as Re}from"./code-BEiQP4pS.js";import{t as ze}from"./hat-glasses-C8RhSVii.js";import{b as Be,p as Ve}from"./write-secret-modal-DzKAInL2.js";import{n as He}from"./spinner-DyNE-o8o.js";import{t as G}from"./message-circle-C3rKm8_a.js";import{t as Ue}from"./plus-C5silF6g.js";import{r as We,rn as Ge}from"./input-BoBxR50a.js";import{t as Ke}from"./settings-BpdQZRgT.js";import{t as qe}from"./trash-2-DcgaW8fn.js";import{t as Je}from"./copy-icon-BIiRXh_3.js";import{r as Ye}from"./requests-lt0JK8Jt.js";import{t as Xe}from"./uuid-k9DpjH68.js";import{t as Ze}from"./I18nProvider-Cg2I_s1_.js";import{l as Qe}from"./dates-CfmdTL6B.js";import{i as $e,o as et,r as tt,t as nt}from"./state-DtGB7xeJ.js";import{n as rt}from"./error-banner-COZ7SfYV.js";import{t as it}from"./empty-state-BaCKb7o3.js";import{t as at}from"./scroll-to-bottom-button-1FyowpWV.js";var K=e(o(),1),q=w(),ot=Object.defineProperty,J=(e,t)=>ot(e,`name`,{value:t,configurable:!0});function st(e,t){return K.useReducer((e,n)=>t[e][n]??e,e)}J(st,`useStateMachine`);var ct=`ScrollArea`,[lt,ut]=A(ct),[Y,X]=lt(ct),dt=K.forwardRef(J(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=K.useState(null),[l,u]=K.useState(null),[d,f]=K.useState(null),[p,m]=K.useState(null),[h,g]=K.useState(null),[_,v]=K.useState(0),[b,x]=K.useState(0),[S,C]=K.useState(!1),[w,T]=K.useState(!1),E=y(t,c),O=j(i);return(0,q.jsx)(Y,{scope:n,type:r,dir:O,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:v,onCornerHeightChange:x,children:(0,q.jsx)(D.div,{dir:O,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})},`ScrollArea`)),ft=`ScrollAreaViewport`,pt=K.forwardRef(J(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=X(ft,n),s=K.useRef(null),c=y(t,s,o.onViewportChange);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(mt,{nonce:i}),(0,q.jsx)(D.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,q.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})},`ScrollAreaViewport`)),mt=K.memo(J(function({nonce:e}){return(0,q.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),Z=`ScrollAreaScrollbar`,ht=K.forwardRef(J(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return K.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,q.jsx)(gt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,q.jsx)(_t,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,q.jsx)(vt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,q.jsx)(yt,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),gt=K.forwardRef(J(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),[a,o]=K.useState(!1);return K.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=J(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=J(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,q.jsx)(O,{present:n||a,children:(0,q.jsx)(vt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),_t=K.forwardRef(J(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=zt(()=>c(`SCROLL_END`),100),[s,c]=st(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return K.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),K.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=J(()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,q.jsx)(O,{present:n||s!==`hidden`,children:(0,q.jsx)(yt,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:T(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:T(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),vt=K.forwardRef(J(function(e,t){let n=X(Z,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=K.useState(!1),s=e.orientation===`horizontal`,c=zt(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Q(n.viewport,c),Q(n.content,c),(0,q.jsx)(O,{present:r||a,children:(0,q.jsx)(yt,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),yt=K.forwardRef(J(function(e,t){let{orientation:n=`vertical`,...r}=e,i=X(Z,e.__scopeScrollArea),a=K.useRef(null),o=K.useRef(0),[s,c]=K.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Mt(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:J(e=>a.current=e,`onThumbChange`),onThumbPointerUp:J(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:J(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Pt(e,o.current,s,t)}return J(d,`getScrollPosition`),n===`horizontal`?(0,q.jsx)(bt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ft(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,q.jsx)(xt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ft(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),bt=K.forwardRef(J(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=K.useState(),c=K.useRef(null),l=y(t,c,a.onScrollbarXChange);return K.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,q.jsx)(wt,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Nt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Lt(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:jt(o.paddingLeft),paddingEnd:jt(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),xt=K.forwardRef(J(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=K.useState(),c=K.useRef(null),l=y(t,c,a.onScrollbarYChange);return K.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,q.jsx)(wt,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Nt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Lt(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:jt(o.paddingTop),paddingEnd:jt(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[St,Ct]=lt(Z),wt=K.forwardRef(J(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=X(Z,n),[m,h]=K.useState(null),g=y(t,h),_=K.useRef(null),v=K.useRef(``),b=p.viewport,x=r.content-r.viewport,S=k(u),C=k(c),w=zt(d,10);function E(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return J(E,`handleDragScroll`),K.useEffect(()=>{let e=J(e=>{let t=e.target;m?.contains(t)&&S(e,x)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,m,x,S]),K.useEffect(C,[r,C]),Q(m,w),Q(p.content,w),(0,q.jsx)(St,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:k(a),onThumbPointerUp:k(o),onThumbPositionChange:C,onThumbPointerDown:k(s),children:(0,q.jsx)(D.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:T(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),E(e))}),onPointerMove:T(e.onPointerMove,E),onPointerUp:T(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})},`ScrollAreaScrollbarImpl`)),Tt=`ScrollAreaThumb`,Et=K.forwardRef(J(function(e,t){let{forceMount:n,...r}=e,i=Ct(Tt,e.__scopeScrollArea);return(0,q.jsx)(O,{present:n||i.hasThumb,children:(0,q.jsx)(Dt,{ref:t,...r})})},`ScrollAreaThumb`)),Dt=K.forwardRef(J(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=X(Tt,n),o=Ct(Tt,n),{onThumbPositionChange:s}=o,c=y(t,o.onThumbChange),l=K.useRef(void 0),u=zt(()=>{l.current&&=(l.current(),void 0)},100);return K.useEffect(()=>{let e=a.viewport;if(e){let t=J(()=>{if(u(),!l.current){let t=Rt(e,s);l.current=t,s()}},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,q.jsx)(D.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:T(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:T(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Ot=`ScrollAreaCorner`,kt=K.forwardRef(J(function(e,t){let n=X(Ot,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,q.jsx)(At,{...e,ref:t}):null},`ScrollAreaCorner`)),At=K.forwardRef(J(function(e,t){let{__scopeScrollArea:n,...r}=e,i=X(Ot,n),[a,o]=K.useState(0),[s,c]=K.useState(0),l=!!(a&&s),{onCornerWidthChange:u,onCornerHeightChange:d}=i;return Q(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Q(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),K.useEffect(()=>()=>{u(0),d(0)},[u,d]),l?(0,q.jsx)(D.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function jt(e){return e?parseInt(e,10):0}J(jt,`toInt`);function Mt(e,t){let n=e/t;return isNaN(n)?0:n}J(Mt,`getThumbRatio`);function Nt(e){let t=Mt(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}J(Nt,`getThumbSize`);function Pt(e,t,n,r=`ltr`){let i=Nt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return It([c,l],d)(e)}J(Pt,`getScrollPositionFromPointer`);function Ft(e,t,n=`ltr`){let r=Nt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=F(e,c);return It([0,o],[0,s])(l)}J(Ft,`getThumbOffsetFromScroll`);function It(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}J(It,`linearScale`);function Lt(e,t){return e>0&&e<t}J(Lt,`isScrollingWithinScrollbarBounds`);var Rt=J((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return J((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function zt(e,t){let n=k(e),r=K.useRef(0);return K.useEffect(()=>()=>window.clearTimeout(r.current),[]),K.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}J(zt,`useDebounceCallback`);function Q(e,t){let n=k(t);E(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}J(Q,`useResizeObserver`);var Bt=dt,Vt=pt,Ht=kt,Ut=te(`notebook-text`,[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M9.5 8h5`,key:`11mslq`}],[`path`,{d:`M9.5 12H16`,key:`ktog6x`}],[`path`,{d:`M9.5 16H14`,key:`p1seyn`}]]),Wt=te(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),$=h(),Gt=({chatState:e,chatId:t,messages:n})=>{if(!t)return v.warn(`No active chat`),e;let r=e.chats.get(t);if(!r)return v.warn(`No active chat`),e;let i=new Map(e.chats),a=Date.now();return i.set(r.id,{...r,messages:n,updatedAt:a}),{...e,chats:i}},Kt=class extends W{onChunkReceived;constructor(e,t){super(e),this.onChunkReceived=t}processResponseStream(e){let t=this.onChunkReceived;return super.processResponseStream(e).pipeThrough(new TransformStream({async transform(e,n){t(e),n.enqueue(e)}}))}},qt=K.forwardRef((e,t)=>{let n=(0,$.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=C(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,q.jsx)(Vt,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(Jt,{}),l=(0,q.jsx)(Ht,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,q.jsxs)(Bt,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});qt.displayName=Bt.displayName;var Jt=K.forwardRef((e,t)=>{let n=(0,$.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=C(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(Et,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,q.jsx)(ht,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});Jt.displayName=ht.displayName;var Yt=[{label:`Today`,days:0},{label:`Yesterday`,days:1},{label:`2d ago`,days:2},{label:`3d ago`,days:3},{label:`This week`,days:7},{label:`This month`,days:30}],Xt=e=>{let t=Date.now(),n=Yt.map(e=>({...e,chats:[]})),r={label:`Older`,days:1/0,chats:[]},i=e=>{switch(e){case 0:return n[0];case 1:return n[1];case 2:return n[2];case 3:return n[3];default:return e>=4&&e<=7?n[4]:e>=8&&e<=30?n[5]:r}};for(let n of e)i(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...n,r].filter(e=>e.chats.length>0)},Zt=50,Qt=e=>{let t=(0,$.c)(45),{activeChatId:n,setActiveChat:i,onDeleteChats:a,isLoading:o}=e,s=r($e),{locale:c}=Ze(),[u,p]=(0,K.useState)(``),h=(0,K.useRef)(null),[g,_]=(0,K.useState)(!1),{openConfirm:v,closeModal:y}=Be(),b;t[0]!==y||t[1]!==a||t[2]!==v?(b=()=>{_(!1),v({title:`Delete all chats?`,description:`This will permanently delete all chat history for all notebooks on this site in this browser. This cannot be undone.`,variant:`destructive`,confirmAction:(0,q.jsx)(M,{onClick:()=>{a(null),y()},children:`Delete all chats`})})},t[0]=y,t[1]=a,t[2]=v,t[3]=b):b=t[3];let x=b,S;t[4]===s.chats?S=t[5]:(S=[...s.chats.values()].toSorted($t),t[4]=s.chats,t[5]=S);let w=S,T;bb0:{if(!u.trim()){T=w;break bb0}let e;if(t[6]!==w||t[7]!==u){let n;t[9]===u?n=t[10]:(n=e=>e.title.toLowerCase().includes(u.toLowerCase()),t[9]=u,t[10]=n),e=w.filter(n),t[6]=w,t[7]=u,t[8]=e}else e=t[8];T=e}let E=T,D;t[11]===E?D=t[12]:(D=Xt(E),t[11]=E,t[12]=D);let O=D,k;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,q.jsx)(V,{content:`Previous chats`,children:(0,q.jsx)(f,{asChild:!0,children:(0,q.jsx)(H,{variant:`text`,size:`icon`,"aria-label":`Previous chats`,children:(0,q.jsx)(l,{className:`h-4 w-4`})})})}),t[13]=k):k=t[13];let A;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>p(e.target.value),t[14]=A):A=t[14];let j;t[15]===u?j=t[16]:(j=(0,q.jsx)(`div`,{className:`pt-3 px-3 w-full`,children:(0,q.jsx)(We,{ref:h,placeholder:`Search chat history...`,value:u,onChange:A,className:`text-xs`})}),t[15]=u,t[16]=j);let N;t[17]===w.length?N=t[18]:(N=w.length===0&&(0,q.jsx)(it,{title:`No chats yet`,description:`Start a new chat to get started`,icon:(0,q.jsx)(U,{})}),t[17]=w.length,t[18]=N);let P;t[19]!==w.length||t[20]!==E.length||t[21]!==u?(P=E.length===0&&u&&w.length>0&&(0,q.jsx)(it,{title:`No chats found`,description:`No chats match "${u}"`,icon:(0,q.jsx)(Ge,{})}),t[19]=w.length,t[20]=E.length,t[21]=u,t[22]=P):P=t[22];let F;t[23]!==n||t[24]!==O||t[25]!==o||t[26]!==c||t[27]!==a||t[28]!==i?(F=O.map((e,t)=>(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(`div`,{className:`text-xs px-1 text-muted-foreground/60`,children:e.label}),(0,q.jsx)(`div`,{children:e.chats.map(e=>(0,q.jsxs)(`div`,{className:C(`w-full rounded-md flex items-center justify-between`,e.id===n&&`bg-accent`,e.id!==n&&`hover:bg-muted/20`),children:[(0,q.jsxs)(`button`,{className:`flex flex-1 min-w-0 items-center justify-between p-1 text-left cursor-pointer`,onClick:()=>i(e.id),type:`button`,children:[(0,q.jsx)(`span`,{className:`text-sm truncate`,children:e.title}),(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground/60 ml-2 shrink-0`,children:Qe(e.updatedAt,c)})]}),(0,q.jsx)(V,{content:o&&e.id===n?`Stop the response before deleting this chat`:`Delete chat`,children:(0,q.jsx)(H,{variant:`text`,size:`icon`,className:`text-muted-foreground/90 hover:text-destructive transition-colors ml-px`,"aria-label":`Delete chat: ${e.title}`,disabled:o&&e.id===n,onClick:()=>{h.current?.focus(),a(e.id)},children:(0,q.jsx)(qe,{className:`h-3.5 w-3.5`})})})]},e.id))}),t!==O.length-1&&(0,q.jsx)(`hr`,{})]},e.label)),t[23]=n,t[24]=O,t[25]=o,t[26]=c,t[27]=a,t[28]=i,t[29]=F):F=t[29];let I;t[30]!==F||t[31]!==N||t[32]!==P?(I=(0,q.jsx)(qt,{className:`h-[450px] p-2`,children:(0,q.jsxs)(`div`,{className:`space-y-3`,children:[N,P,F]})}),t[30]=F,t[31]=N,t[32]=P,t[33]=I):I=t[33];let L;t[34]!==w.length||t[35]!==x||t[36]!==o?(L=w.length>0&&(0,q.jsxs)(`div`,{className:`border-t p-2 flex items-center justify-between gap-2`,children:[w.length>Zt?(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`You have over `,(0,q.jsx)(`b`,{children:Zt}),` chats. Delete old chats to free up browser storage.`]}):(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Chats are shared across notebooks.`}),(0,q.jsx)(H,{variant:`linkDestructive`,size:`xs`,disabled:o,onClick:x,children:`Delete all chats`})]}),t[34]=w.length,t[35]=x,t[36]=o,t[37]=L):L=t[37];let R;t[38]!==I||t[39]!==L||t[40]!==j?(R=(0,q.jsxs)(m,{className:`w-[480px] p-0`,align:`start`,side:`right`,children:[j,I,L]}),t[38]=I,t[39]=L,t[40]=j,t[41]=R):R=t[41];let z;return t[42]!==g||t[43]!==R?(z=(0,q.jsxs)(d,{open:g,onOpenChange:_,children:[k,R]}),t[42]=g,t[43]=R,t[44]=z):z=t[44],z};function $t(e,t){return t.updatedAt-e.updatedAt}var en=()=>{let e=(0,$.c)(17),[n,r]=t(tt),i=n.webSearch,a=i?`Capabilities (web search enabled)`:`Capabilities`,o=i||void 0,s=i&&`bg-primary/15 text-primary ring-1 ring-primary/30 opacity-100 hover:bg-primary/20`,c;e[0]===s?c=e[1]:(c=C(`h-6 w-6 shrink-0 bg-muted hover:bg-muted/30`,s),e[0]=s,e[1]=c);let l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(Wt,{className:`h-3.5 w-3.5`}),e[2]=l):l=e[2];let u;e[3]!==a||e[4]!==o||e[5]!==c?(u=(0,q.jsx)(f,{asChild:!0,children:(0,q.jsx)(H,{"aria-label":`Capabilities`,title:a,"data-active":o,variant:`text`,size:`icon`,className:c,children:l})}),e[3]=a,e[4]=o,e[5]=c,e[6]=u):u=e[6];let p;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,q.jsx)(`span`,{className:`text-sm font-semibold`,children:`Web search`}),e[7]=p):p=e[7];let h;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[p,(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Search the web when the model supports it.`,` `,(0,q.jsx)(Ve,{href:`https://docs.marimo.io/guides/editor_features/tools#web-search-and-fetch`,children:`Learn more`})]})]}),e[8]=h):h=e[8];let g;e[9]===r?g=e[10]:(g=e=>r(t=>({...t,webSearch:e})),e[9]=r,e[10]=g);let _;e[11]!==g||e[12]!==i?(_=(0,q.jsx)(m,{className:`w-76 p-3`,align:`start`,side:`top`,children:(0,q.jsxs)(`label`,{htmlFor:`web-search-toggle`,className:`flex items-start justify-between gap-3 cursor-pointer`,children:[h,(0,q.jsx)(B,{id:`web-search-toggle`,"aria-label":`Web search`,size:`sm`,checked:i,onCheckedChange:g})]})}),e[11]=g,e[12]=i,e[13]=_):_=e[13];let v;return e[14]!==u||e[15]!==_?(v=(0,q.jsxs)(d,{children:[u,_]}),e[14]=u,e[15]=_,e[16]=v):v=e[16],v};function tn(){return Xe()}function nn(e){let t=(0,$.c)(4),[n,r]=(0,K.useState)(tn),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(tn()),t[0]=a):a=t[0];let o=i(a),s=e??n,c;return t[1]!==o||t[2]!==s?(c={chatControllerId:s,renewDraftChatId:o},t[1]=o,t[2]=s,t[3]=c):c=t[3],c}var rn=`manual`,an=(0,K.memo)(e=>{let t=(0,$.c)(18),{message:n}=e,r;t[0]===n.parts?r=t[1]:(r=n.parts.filter(pn).map(mn).join(`
2
- `),t[0]=n.parts,t[1]=r);let i=r,a,o,s;if(t[2]!==n.parts){let e=n.parts.filter(hn);s=`flex justify-end`,a=`w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70`,o=e.map(gn),t[2]=n.parts,t[3]=a,t[4]=o,t[5]=s}else a=t[3],o=t[4],s=t[5];let c;t[6]===i?c=t[7]:(c=(0,q.jsx)(`span`,{className:`wrap-break-word`,children:i}),t[6]=i,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(He,{className:`h-3.5 w-3.5 shrink-0 animate-spin`}),t[8]=l):l=t[8];let u;t[9]===c?u=t[10]:(u=(0,q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 text-sm text-muted-foreground`,children:[c,l]}),t[9]=c,t[10]=u);let d;t[11]!==a||t[12]!==o||t[13]!==u?(d=(0,q.jsxs)(`div`,{className:a,children:[o,u]}),t[11]=a,t[12]=o,t[13]=u,t[14]=d):d=t[14];let f;return t[15]!==s||t[16]!==d?(f=(0,q.jsx)(`div`,{className:s,children:d}),t[15]=s,t[16]=d,t[17]=f):f=t[17],f});an.displayName=`QueuedMessageDisplay`;var on=e=>{let t=(0,$.c)(21),{onNewChat:n,activeChatId:r,setActiveChat:i,onDeleteChats:a,isLoading:o}=e,{handleClick:s}=ce(),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(Ue,{className:`h-4 w-4`}),t[0]=c):c=t[0];let l;t[1]===n?l=t[2]:(l=(0,q.jsx)(V,{content:`New chat`,children:(0,q.jsx)(H,{variant:`text`,size:`icon`,onClick:n,children:c})}),t[1]=n,t[2]=l);let u,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(V,{content:`Connect your agent`,children:(0,q.jsx)(oe,{className:`mr-1`,label:`Connect`})}),d=(0,q.jsx)(ie,{}),t[3]=u,t[4]=d):(u=t[3],d=t[4]);let f;t[5]===s?f=t[6]:(f=()=>s(`ai`),t[5]=s,t[6]=f);let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,q.jsx)(Ke,{className:`h-4 w-4`}),t[7]=p):p=t[7];let m;t[8]===f?m=t[9]:(m=(0,q.jsx)(V,{content:`AI Settings`,children:(0,q.jsx)(H,{variant:`text`,size:`xs`,className:`hover:bg-foreground/10 py-2`,onClick:f,children:p})}),t[8]=f,t[9]=m);let h;t[10]!==r||t[11]!==o||t[12]!==a||t[13]!==i?(h=(0,q.jsx)(Qt,{activeChatId:r,setActiveChat:i,onDeleteChats:a,isLoading:o}),t[10]=r,t[11]=o,t[12]=a,t[13]=i,t[14]=h):h=t[14];let g;t[15]!==m||t[16]!==h?(g=(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[u,d,m,h]}),t[15]=m,t[16]=h,t[17]=g):g=t[17];let _;return t[18]!==l||t[19]!==g?(_=(0,q.jsxs)(`div`,{className:`flex border-b px-2 py-1 justify-between shrink-0 items-center`,children:[l,g]}),t[18]=l,t[19]=g,t[20]=_):_=t[20],_},sn=(0,K.memo)(e=>{let t=(0,$.c)(17),{message:n,index:r,onEdit:i,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c}=e,l;t[0]!==r||t[1]!==i?(l=e=>{let t=(e.parts?.filter(_n))?.map(vn).join(`
3
- `),n=e.parts?.filter(yn);return(0,q.jsxs)(`div`,{className:`w-[95%] bg-background border p-1 rounded-sm`,children:[n?.map(bn),(0,q.jsx)(je,{value:t,placeholder:`Type your message...`,onChange:xn,onSubmit:(e,t)=>{t.trim()&&i(r,t)},onClose:Sn},e.id)]})},t[0]=r,t[1]=i,t[2]=l):l=t[2];let u=l,d;t[3]!==c||t[4]!==s||t[5]!==o||t[6]!==a?(d=e=>{let t=e.parts.filter(Cn).map(wn).join(`
4
- `);return(0,q.jsxs)(`div`,{className:`w-[95%] wrap-break-word`,children:[(0,q.jsx)(`div`,{className:`absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,q.jsx)(Je,{className:`h-3 w-3`,value:t||``})}),pe({message:e,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c})]})},t[3]=c,t[4]=s,t[5]=o,t[6]=a,t[7]=d):d=t[7];let f=d,p=n.role===`user`?`justify-end`:`justify-start`,m;t[8]===p?m=t[9]:(m=C(`flex group relative`,p),t[8]=p,t[9]=m);let h;t[10]!==n||t[11]!==f||t[12]!==u?(h=n.role===`user`?u(n):f(n),t[10]=n,t[11]=f,t[12]=u,t[13]=h):h=t[13];let g;return t[14]!==m||t[15]!==h?(g=(0,q.jsx)(`div`,{className:m,children:h}),t[14]=m,t[15]=h,t[16]=g):g=t[16],g});sn.displayName=`ChatMessage`;var cn=(0,K.memo)(e=>{let t=(0,$.c)(43),{isEmpty:n,onSendClick:i,isLoading:a,onStop:o,fileInputRef:s,onAddFiles:c,onAddContext:l}=e,u=r(_),d=u?.mode||rn,f=u?.models?.chat_model||`openai/gpt-4o`,p=re.parse(f).providerId,{saveModeChange:m}=b(),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[{value:`manual`,label:`Manual`,subtitle:`Pure chat, no tool usage`,Icon:G},{value:`ask`,label:`Ask`,subtitle:`AI with access to read-only tools like documentation search`,Icon:Ut},{value:`agent`,label:`Agent`,subtitle:`AI with access to read and write tools`,Icon:ze},{value:`code_mode`,label:`Code Mode (beta)`,subtitle:`AI with access to the notebook's kernel. Potentially destructive.`,Icon:Re}],t[0]=h):h=t[0];let g=h,v=Ae.has(p),y;t[1]!==d||t[2]!==g?(y=g.find(e=>e.value===d),t[1]=d,t[2]=g,t[3]=y):y=t[3];let x=y,S=x?.Icon,C=x?.label,w;t[4]===S?w=t[5]:(w=S&&(0,q.jsx)(S,{className:`h-3 w-3`}),t[4]=S,t[5]=w);let T;t[6]===C?T=t[7]:(T=(0,q.jsx)(`span`,{className:`text-nowrap`,children:C}),t[6]=C,t[7]=T);let E;t[8]!==w||t[9]!==T?(E=(0,q.jsxs)(R,{className:`h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5 shrink-0`,children:[w,T]}),t[8]=w,t[9]=T,t[10]=E):E=t[10];let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,q.jsx)(N,{className:`text-xs uppercase tracking-wider text-muted-foreground/70 font-medium`,children:`AI Mode`}),t[11]=D):D=t[11];let O;t[12]===g?O=t[13]:(O=(0,q.jsx)(I,{children:(0,q.jsxs)(L,{children:[D,g.map(Tn)]})}),t[12]=g,t[13]=O);let k;t[14]!==d||t[15]!==m||t[16]!==E||t[17]!==O?(k=(0,q.jsxs)(z,{value:d,onValueChange:m,children:[E,O]}),t[14]=d,t[15]=m,t[16]=E,t[17]=O,t[18]=k):k=t[18];let A,j;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,q.jsx)(le,{placeholder:`Model`,triggerClassName:`h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm max-w-[200px]`,iconSize:`small`,showAddCustomModelDocs:!0,forRole:`chat`}),A=(0,q.jsx)(en,{}),t[19]=A,t[20]=j):(A=t[19],j=t[20]);let M;t[21]===k?M=t[22]:(M=(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[k,j,A]}),t[21]=k,t[22]=M);let P;t[23]!==a||t[24]!==l?(P=(0,q.jsx)(Ce,{handleAddContext:l,isLoading:a}),t[23]=a,t[24]=l,t[25]=P):P=t[25];let F;t[26]!==s||t[27]!==v||t[28]!==a||t[29]!==c?(F=v&&(0,q.jsx)(ke,{fileInputRef:s,isLoading:a,onAddFiles:c}),t[26]=s,t[27]=v,t[28]=a,t[29]=c,t[30]=F):F=t[30];let B;t[31]!==n||t[32]!==a||t[33]!==i||t[34]!==o?(B=(0,q.jsx)(Te,{isLoading:a,onStop:o,onSendClick:i,isEmpty:n}),t[31]=n,t[32]=a,t[33]=i,t[34]=o,t[35]=B):B=t[35];let V;t[36]!==P||t[37]!==F||t[38]!==B?(V=(0,q.jsxs)(`div`,{className:`flex flex-row ml-auto`,children:[P,F,B]}),t[36]=P,t[37]=F,t[38]=B,t[39]=V):V=t[39];let H;return t[40]!==M||t[41]!==V?(H=(0,q.jsx)(ee,{children:(0,q.jsxs)(`div`,{className:`px-3 py-2 border-t border-border/20 flex flex-wrap items-center gap-1`,children:[M,V]})}),t[40]=M,t[41]=V,t[42]=H):H=t[42],H});cn.displayName=`ChatInputFooter`;var ln=(0,K.memo)(e=>{let t=(0,$.c)(31),{placeholder:n,input:r,inputClassName:a,setInput:o,onSubmit:s,inputRef:c,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f,onClose:p}=e,m;t[0]!==r||t[1]!==s?(m=()=>{r.trim()&&s(void 0,r)},t[0]=r,t[1]=s,t[2]=m):m=t[2];let h=i(m),g;t[3]===a?g=t[4]:(g=C(`px-2 py-1.5`,a),t[3]=a,t[4]=g);let _=n||`Type your message...`,v;t[5]!==r||t[6]!==c||t[7]!==f||t[8]!==p||t[9]!==s||t[10]!==o||t[11]!==_?(v=(0,q.jsx)(je,{className:`max-h-[400px]`,inputRef:c,value:r,onChange:o,onSubmit:s,onClose:p,onAddFiles:f,placeholder:_}),t[5]=r,t[6]=c,t[7]=f,t[8]=p,t[9]=s,t[10]=o,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==g||t[14]!==v?(y=(0,q.jsx)(`div`,{className:g,children:v}),t[13]=g,t[14]=v,t[15]=y):y=t[15];let b;t[16]===r?b=t[17]:(b=r.trim(),t[16]=r,t[17]=b);let x=!b,S;t[18]===c?S=t[19]:(S=()=>Pe(c),t[18]=c,t[19]=S);let w;t[20]!==d||t[21]!==h||t[22]!==l||t[23]!==f||t[24]!==u||t[25]!==x||t[26]!==S?(w=(0,q.jsx)(cn,{isEmpty:x,onAddContext:S,onSendClick:h,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f}),t[20]=d,t[21]=h,t[22]=l,t[23]=f,t[24]=u,t[25]=x,t[26]=S,t[27]=w):w=t[27];let T;return t[28]!==y||t[29]!==w?(T=(0,q.jsxs)(`div`,{className:`relative shrink-0 flex flex-col border-t`,children:[y,w]}),t[28]=y,t[29]=w,t[30]=T):T=t[30],T});ln.displayName=`ChatInput`;var un=e=>{let t=(0,$.c)(5),{onPairWithAgent:n}=e;if(x())return null;let r,i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(p,{className:`h-3.5 w-3.5 shrink-0`}),i=(0,q.jsx)(`span`,{children:`Connect your own agent to this notebook`}),a=(0,q.jsx)(ne,{className:`h-3 w-3 shrink-0`}),t[0]=r,t[1]=i,t[2]=a):(r=t[0],i=t[1],a=t[2]);let o;return t[3]===n?o=t[4]:(o=(0,q.jsxs)(H,{variant:`text`,className:`gap-1.5 text-sm text-link hover:underline`,onClick:n,children:[r,i,a]}),t[3]=n,t[4]=o),o},dn=()=>{let e=(0,$.c)(9),t=r(g),{handleClick:n}=ce();if(!t){let t;e[0]===n?t=e[1]:(t=(0,q.jsx)(H,{variant:`outline`,size:`sm`,className:`self-start`,onClick:()=>n(`ai`,`ai-providers`),children:`Edit AI settings`}),e[0]=n,e[1]=t);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(se,{}),e[2]=r):r=e[2];let i;e[3]===t?i=e[4]:(i=(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[t,r]}),e[3]=t,e[4]=i);let a;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(U,{}),e[5]=a):a=e[5];let o;return e[6]===i?o=e[7]:(o=(0,q.jsx)(it,{title:`Chat with AI`,description:`No AI provider configured or Chat model not selected`,action:i,icon:a}),e[6]=i,e[7]=o),o}let i;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,q.jsx)(fn,{}),e[8]=i):i=e[8],i},fn=()=>{let e=a($e),[r,o]=t(nt),[l,d]=t(et),[f,p]=(0,K.useState)(``),[m,h]=(0,K.useState)(``),[g,y]=(0,K.useState)(!0),{files:b,addFiles:x,clearFiles:w,removeFile:T}=ye(),{messages:E,enqueue:D,flushNext:O,clear:k,hasQueuedRef:A}=me(),j=(0,K.useRef)(null),M=(0,K.useRef)(null),N=(0,K.useRef)(null),P=(0,K.useRef)(null),F=(0,K.useRef)(null),[I,L]=(0,K.useState)(null),R=i(()=>{F.current=null,L(null)}),z=S(),{invokeAiTool:B,sendRun:V}=Ye(),{openModal:te,closeModal:ne}=Be(),U=r?.id,{chatControllerId:re,renewDraftChatId:ie}=nn(U),oe=n(),{addStagedCell:se}=_e(),{createNewCell:ce,prepareForRun:le}=s(),pe={addStagedCell:se,createNewCell:ce,prepareForRun:le,sendRun:V,store:oe},{messages:W,sendMessage:Ce,error:Te,status:ke,regenerate:Ae,stop:je,addToolOutput:Me,addToolApprovalResponse:Pe,id:Re}=Le({id:re,throttle:100,sendAutomaticallyWhen:({messages:e})=>Ne(e),messages:r?.messages||[],transport:new Kt({api:z.getAiURL(`chat`).toString(),headers:()=>z.headers(),prepareSendMessagesRequest:async e=>{let t=await be({messages:e.messages});t.success||v.debug(`Outgoing chat messages failed AI SDK schema validation`,t.error);let n={uiMessages:e.messages,includeOtherCode:c(``),options:oe.get(tt)},r=oe.get(_)?.mode||rn,i=Oe.getToolSchemas(r);return{api:z.getAiURL(`chat`).toString(),body:{tools:i,...e,...n}}}},e=>{let t=fe(e);t!==void 0&&(F.current=t)}),onFinish:({messages:t,isError:n,isAbort:r,finishReason:i})=>{if(e(e=>Gt({chatState:e,chatId:e.activeChatId,messages:t})),r){let e=ue({isAbort:!0,streamReason:F.current});if(R(),e!=null){let t=de(e);v.debug(`Chat stream aborted`,{reason:e,finishReason:i}),L(t)}}else R();Ve(t,{isError:n,isAbort:r})},onToolCall:async({toolCall:e})=>{await xe({invokeAiTool:B,addToolOutput:Me,toolCall:{toolName:e.toolName,toolCallId:e.toolCallId,input:e.input},toolContext:pe})},onError:e=>{v.error(`An error occurred:`,e)}}),ze=i(e=>{R(),Ce({role:`user`,parts:e})}),Ve=i((e,t)=>{A.current&&Fe({isError:t.isError,isAbort:t.isAbort,hasPendingToolCalls:Ne(e),hasUnresolvedToolCalls:Ie(e)})&&O(ze)}),G=ke===`submitted`||ke===`streaming`,Ue=(0,K.useRef)(G);Ue.current=G;let We=i(e=>{Ue.current||A.current?D(e):ze(e)}),Ge=i(()=>{let e=N.current;if(!e)return;let{scrollTop:t,scrollHeight:n,clientHeight:r}=e,i=n>r?Math.abs(n-r-t)<5:!0;y(i)}),Ke=i((e=!1)=>{let t=N.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?`smooth`:`auto`})}),qe=G&&W.length>0&&Se(W);(0,K.useEffect)(()=>{y(!0),k(),R()},[U,k,R]),(0,K.useEffect)(()=>{if(!g)return;let e=requestAnimationFrame(()=>{Ke()});return()=>cancelAnimationFrame(e)},[W,E,G,g,Ke]),(0,K.useEffect)(()=>{G||Ve(W,{isError:Te!=null,isAbort:!1})},[W,G,Te,Ve]);let Je=i(t=>{let n=Date.now(),r={id:Re,title:Ee(t),messages:[],createdAt:n,updatedAt:n};e(e=>{let t=new Map(e.chats);return t.set(r.id,r),{...e,chats:t,activeChatId:r.id}})}),Xe=i(async(e,t)=>{Je(e);let n=t&&t.length>0?await De(t):void 0,{contextPart:r,attachments:i}=await he(e);Ce({role:`user`,parts:[{type:`text`,text:e},...r?[r]:[],...n??[],...i]}),w(),p(``)}),Ze=i(()=>{ie(),o(null),p(``),h(``),k(),w()}),Qe=i(t=>{(t===null||t===U)&&Ze(),e(e=>{let n=new Map(e.chats);return t===null?n.clear():n.delete(t),{chats:n,activeChatId:e.activeChatId&&n.has(e.activeChatId)?e.activeChatId:null}})}),it=i(()=>{te((0,q.jsx)(ae,{onClose:ne}))}),ot=i(async(e,t)=>{let n=W[e],r=n.parts?.filter(e=>e.type===`file`&&!ge(e))??[],{contextPart:i,attachments:a}=await he(t),o=n.id;Ce({messageId:o,role:`user`,parts:[{type:`text`,text:t},...i?[i]:[],...r,...a]})}),J=i(async(e,t)=>{if(!t.trim())return;M.current?.view&&ve(M.current.view);let n=b?await De(b):void 0,{contextPart:r,attachments:i}=await he(t);e?.preventDefault(),We([{type:`text`,text:t},...r?[r]:[],...n??[],...i]),p(``),w()}),st=()=>{R(),Ae()},ct=i(()=>{m.trim()&&(j.current?.view&&ve(j.current.view),Xe(m.trim(),b))}),lt=()=>j.current?.editor?.blur(),ut=i(async e=>{U??(Je(e),p(m));let{contextPart:t,attachments:n}=await he(e);We([{type:`text`,text:e},...t?[t]:[],...n])}),Y=W.length===0;(0,K.useEffect)(()=>{if(!l)return;d(null);let{prompt:e,submit:t}=l;t?ut(e):Y?(h(e),u(j)):(p(e),u(M))},[l,d,Y,ut]);let X=Y?(0,q.jsx)(ln,{placeholder:`Ask anything, @ to include context about tables or dataframes`,input:m,inputRef:j,inputClassName:`px-1 py-0`,setInput:h,onSubmit:ct,isLoading:G,onStop:je,fileInputRef:P,onAddFiles:x,onClose:lt},`new-thread-input`):(0,q.jsx)(ln,{input:f,setInput:p,onSubmit:J,inputRef:M,isLoading:G,onStop:je,onClose:()=>M.current?.editor?.blur(),fileInputRef:P,onAddFiles:x}),dt=b&&b.length>0&&(0,q.jsx)(`div`,{className:C(`flex flex-row gap-1 flex-wrap p-1`,Y&&`py-2 px-1`),children:b?.map(e=>(0,q.jsx)(we,{file:e,onRemove:()=>T(e)},e.name))});return(0,q.jsxs)(`div`,{className:`flex flex-col h-[calc(100%-53px)]`,children:[(0,q.jsx)(ee,{children:(0,q.jsx)(on,{onNewChat:Ze,activeChatId:r?.id,setActiveChat:o,onDeleteChats:Qe,isLoading:G})}),(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden relative min-h-0`,children:[(0,q.jsxs)(`div`,{className:`flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto`,ref:N,onScroll:Ge,children:[Y&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`rounded-md border bg-background`,children:[dt,X]}),(0,q.jsx)(un,{onPairWithAgent:it})]}),W.map((e,t)=>(0,q.jsx)(sn,{message:e,index:t,onEdit:ot,isStreamingReasoning:qe,isLast:t===W.length-1,isActive:G,addToolApprovalResponse:Pe},e.id)),E.map(e=>(0,q.jsx)(an,{message:e},e.id)),G&&(0,q.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,q.jsx)(He,{className:`h-4 w-4 animate-spin`})}),Te&&(0,q.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,q.jsx)(rt,{error:Te||Error(`Unknown error`)}),(0,q.jsx)(H,{variant:`outline`,size:`sm`,onClick:st,children:`Retry`})]}),I&&!G&&!Te&&(0,q.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:I})})]}),(0,q.jsx)(at,{isVisible:!g&&(W.length>0||E.length>0),onScrollToBottom:()=>Ke(!0)})]}),G&&(0,q.jsx)(`div`,{className:`w-full flex justify-center items-center z-20 border-t`,children:(0,q.jsx)(H,{variant:`linkDestructive`,size:`sm`,onClick:je,children:`Stop`})}),!Y&&(0,q.jsxs)(q.Fragment,{children:[dt,X]})]})};function pn(e){return e.type===`text`}function mn(e){return e.text}function hn(e){return e.type===`file`}function gn(e,t){return(0,q.jsx)(Me,{attachment:e},t)}function _n(e){return e.type===`text`}function vn(e){return e.text}function yn(e){return e.type===`file`}function bn(e,t){return(0,q.jsx)(Me,{attachment:e},t)}function xn(){}function Sn(){}function Cn(e){return e.type===`text`}function wn(e){return e.text}function Tn(e){return(0,q.jsx)(P,{value:e.value,className:`text-xs py-1`,children:(0,q.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,q.jsx)(`span`,{className:`mt-1 text-muted-foreground`,children:(0,q.jsx)(e.Icon,{className:`h-3 w-3`})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,q.jsx)(`span`,{className:`font-semibold`,children:e.label}),(0,q.jsx)(`span`,{className:`text-muted-foreground`,children:e.subtitle})]})]})},e.value)}export{dn as default};
@@ -1,4 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{Tr as n,cn as r,dn as i,fo as a,un as o}from"./cells-C6YGYGdi.js";import{C as s,I as c,N as l,O as u,x as d}from"./schemas-ChRqMOTL.js";import{t as f}from"./compiler-runtime-BrajqUja.js";import{g as p,t as m}from"./useEventListener-D9cftcHj.js";import{t as h}from"./objects-snlMn4yk.js";import{t as g}from"./cn-ldLVeaqm.js";import{t as _}from"./jsx-runtime-B74pBk57.js";import{a as v,p as y,r as b,t as x}from"./dropdown-menu-C1rnl-0o.js";import{d as S}from"./select-DTBn5eTb.js";import{t as C}from"./tooltip-C9TuY18o.js";import{t as w}from"./button-COI-NGrx.js";import{t as T}from"./bot-message-square-8xmbrehG.js";import{r as ee}from"./useNumberFormatter-D7O_26UI.js";import{s as E}from"./toDate-DOj9Q6uC.js";import{i as D,n as O,r as k,t as te}from"./chat-display-DhgI2MS9.js";import{B as ne,H as re,K as ie,h as ae,n as oe,q as se,v as ce,z as le}from"./add-cell-with-ai-BpD_790A.js";import{t as ue}from"./spinner-DyNE-o8o.js";import{t as de}from"./rotate-cw-CZ2syZTu.js";import{o as A,r as j}from"./input-BoBxR50a.js";import{t as M}from"./settings-BpdQZRgT.js";import{t as N}from"./square-BPmgQFnh.js";import{t as P}from"./trash-2-DcgaW8fn.js";import{t as F}from"./copy-icon-BIiRXh_3.js";import{t as I}from"./strings-B2vv-ENv.js";import{t as L}from"./uuid-k9DpjH68.js";import{n as R}from"./useAsyncData-C7aJJz0Y.js";import{r as z}from"./react-icons.esm-D6tfmvq8.js";import{t as B}from"./events-CbeVJ6OD.js";import{n as V}from"./error-banner-COZ7SfYV.js";var H=f(),U=_(),W=e(t(),1),G=a,fe=l({type:u(`stream_chunk`),message_id:c(),content:d().nullable().transform(e=>e),is_final:s().optional()});function pe(e,t){let{controllerRef:n,activeRequestIdRef:r}=t,i=n.current;if(i===null)return`dropped-no-controller`;let a=r.current;return a!==null&&e.message_id!==a?(p.debug(`Dropping stale chat chunk`,{chunkRequestId:e.message_id,activeRequestId:a}),`dropped-stale`):(e.content&&i.enqueue(e.content),e.is_final?(i.close(),n.current=null,r.current=null,`closed`):`enqueued`)}var K=e=>{let[t,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(e.config),[o,s]=(0,W.useState)(e.config),[c,l]=(0,W.useState)(void 0),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)(null),h=(0,W.useRef)(null);Object.keys(e.config).some(t=>e.config[t]!==o[t])&&(a(e.config),s(e.config));let _=(0,W.useRef)(i);_.current=i;let v=(0,W.useRef)(null),y=(0,W.useRef)(null),b=(0,W.useRef)(null),[x,S]=(0,W.useState)(null),E=()=>{b.current=null,S(null)},{data:A}=R(async()=>(await e.get_chat_history({})).messages,[]),j=e.value.length>0?e.value:A,{messages:M,sendMessage:I,setMessages:z,status:H,stop:G,error:K,regenerate:q,clearError:J,addToolApprovalResponse:Y}=le({sendAutomaticallyWhen:({messages:e})=>ce(e),transport:new ne({fetch:async(t,n)=>{if(n===void 0)return fetch(t);let r=JSON.parse(n.body),i=n.signal,a={max_tokens:_.current.max_tokens,temperature:_.current.temperature,top_p:_.current.top_p,top_k:_.current.top_k,frequency_penalty:_.current.frequency_penalty,presence_penalty:_.current.presence_penalty};try{let t=r.messages.map(e=>({...e,content:e.parts?.map(e=>`text`in e?e.text:``).join(`
2
- `)})),n=L();E();let o=new ReadableStream({start(t){v.current=t,y.current=n;let r=()=>{try{t.close()}catch(e){p.debug(`Controller may already be closed`,{error:e})}v.current=null,y.current=null,e.cancel_prompt({request_id:n}).catch(e=>{p.debug(`cancel_prompt failed`,{error:e})})};return i?.addEventListener(`abort`,r),()=>{i?.removeEventListener(`abort`,r)}},cancel(){v.current=null,y.current=null}});return e.send_prompt({request_id:n,messages:t,config:a}).catch(e=>{v.current?.error(e),v.current=null,y.current=null}),re({stream:o})}catch(e){if(e instanceof Error&&e.name===`AbortError`)return new Response(`Aborted`,{status:499});let t=e.message?.split(`failed with exception `).pop();return new Response(t,{status:400})}}}),messages:j,onFinish:({messages:t,isAbort:n,finishReason:r})=>{if(l(void 0),u.current&&(u.current.value=``),p.debug(`Finished streaming message:`,{finishReason:r,isAbort:n}),n){let e=D({isAbort:!0,streamReason:b.current});if(E(),e!=null){let t=O(e);p.debug(`Chat stream aborted`,{reason:e,finishReason:r}),S(t)}}else E();e.setValue(t)},onError:e=>{p.error(`An error occurred:`,e)}});m(e.host,B.TYPE,e=>{let t=fe.safeParse(e.detail.message);if(t.success){if(t.data.content&&t.data.message_id===y.current){let e=k(t.data.content);e!==void 0&&(b.current=e)}pe(t.data,{controllerRef:v,activeRequestIdRef:y})}});let X=H===`submitted`||H===`streaming`,Z=t=>{let n=M.findIndex(e=>e.id===t);if(n!==-1){let r=M.filter(e=>e.id!==t);e.delete_chat_message({index:n}),z(r),e.setValue(r),r.length===0&&E()}},ge=Array.isArray(e.allowAttachments)&&e.allowAttachments.length>0||e.allowAttachments===!0,_e={triggerCompletionRegex:/^\/(\w+)?/,completions:e.prompts.map(e=>({label:`/${e}`,displayLabel:e,apply:e}))},Q=e.prompts.length>0?`Type your message here, / for prompts`:`Type your message here...`;(0,W.useEffect)(()=>{h.current?.scrollTo({top:h.current.scrollHeight,behavior:`smooth`})},[M.length,h]);let $=f.current?.view,ve=()=>{if($){let e=$.state.doc.length;$.dispatch({changes:{from:0,to:e,insert:``}})}r(``)};return(0,U.jsxs)(`div`,{className:`flex flex-col h-full bg-(--slate-1) rounded-lg shadow border border-(--slate-6) overflow-hidden relative`,style:{maxHeight:e.maxHeight},children:[(0,U.jsx)(`div`,{className:`absolute top-0 right-0 flex justify-end z-10 border border-(--slate-6) bg-inherit rounded-bl-lg`,children:(0,U.jsx)(w,{variant:`text`,size:`icon`,disabled:M.length===0,onClick:()=>{z([]),e.setValue([]),e.delete_chat_history({}),J(),E()},children:(0,U.jsx)(de,{className:`h-3 w-3`})})}),(0,U.jsxs)(`div`,{className:`grow overflow-y-auto gap-4 pt-8 pb-4 px-2 flex flex-col`,ref:h,children:[M.length===0&&(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full text-muted-foreground text-center p-4`,children:[(0,U.jsx)(T,{className:`h-12 w-12 mb-4`}),(0,U.jsx)(`h3`,{className:`text-lg font-semibold mb-2`,children:`No messages yet`}),(0,U.jsx)(`p`,{className:`text-sm`,children:`Start a conversation by typing a message below.`})]}),M.map((e,t)=>{let n=e.parts?.filter(e=>e.type===`text`).map(e=>e.text).join(`
3
- `),r=t===M.length-1;return(0,U.jsxs)(`div`,{className:g(`flex flex-col group gap-2`,e.role===`user`?`items-end`:`items-start`),children:[(0,U.jsx)(`div`,{className:`max-w-[80%] p-3 rounded-lg ${e.role===`user`?`bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap`:`bg-(--slate-4) text-(--slate-12)`}`,children:te({message:e,isStreamingReasoning:H===`streaming`,isLast:r,isActive:X,addToolApprovalResponse:r?Y:void 0})}),(0,U.jsxs)(`div`,{className:`flex justify-end text-xs gap-2 invisible group-hover:visible`,children:[(0,U.jsx)(F,{value:n,className:`h-3 w-3`,buttonClassName:`text-xs text-(--slate-9) hover:text-(--slate-11)`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>Z(e.id),className:`text-xs text-(--slate-9) hover:text-(--slate-11)`,children:(0,U.jsx)(P,{className:`h-3 w-3 text-(--red-9)`})})]})]},`${e.id}-${t}`)}),X&&(0,U.jsx)(`div`,{className:`flex items-center justify-center mb-4`,children:(0,U.jsx)(ue,{size:`small`})}),K&&(0,U.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,U.jsx)(V,{error:K}),(0,U.jsx)(w,{variant:`outline`,size:`sm`,onClick:()=>q(),children:`Retry`})]}),x&&!X&&!K&&(0,U.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,U.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:x})})]}),(0,U.jsxs)(`form`,{onSubmit:async n=>{if(n.preventDefault(),e.disabled)return;let r=c?await ae(c):void 0;I({role:`user`,parts:[{type:`text`,text:t},...r??[]]}),ve()},ref:d,inert:e.disabled||void 0,className:g(`flex w-full border-t border-(--slate-6) px-2 py-1 items-center`,e.disabled&&`opacity-50 cursor-not-allowed`),children:[e.showConfigurationControls&&(0,U.jsx)(me,{config:i,onChange:a}),e.prompts.length>0&&(0,U.jsx)(he,{prompts:e.prompts,onSelect:e=>{r(e),requestAnimationFrame(()=>{$?.focus(),n($)})}}),(0,U.jsx)(oe,{className:`rounded-sm mr-2`,placeholder:Q,value:t,inputRef:f,maxHeight:e.maxHeight?`${e.maxHeight/2}px`:void 0,onChange:r,onSubmit:(e,t)=>{t.trim()&&d.current?.requestSubmit()},onClose:()=>{},additionalCompletions:_e}),c&&c.length===1&&(0,U.jsx)(`span`,{title:c[0].name,className:`text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24`,children:c[0].name}),c&&c.length>1&&(0,U.jsxs)(`span`,{title:[...c].map(e=>e.name).join(`
4
- `),className:`text-sm text-(--slate-11) truncate shrink-0`,children:[c.length,` files`]}),c&&c.length>0&&(0,U.jsx)(w,{type:`button`,variant:`text`,size:`sm`,onClick:()=>{l(void 0),u.current&&(u.current.value=``)},children:(0,U.jsx)(ee,{className:`size-3`})}),ge&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(w,{type:`button`,variant:`text`,size:`sm`,onClick:()=>u.current?.click(),children:(0,U.jsx)(se,{className:`h-4`})}),(0,U.jsx)(`input`,{type:`file`,ref:u,className:`hidden`,multiple:!0,accept:Array.isArray(e.allowAttachments)?e.allowAttachments.join(`,`):void 0,onChange:e=>{e.target.files&&l([...e.target.files])}})]}),X?(0,U.jsx)(C,{content:`Stop generating`,children:(0,U.jsx)(w,{type:`button`,variant:`link`,size:`xs`,onClick:()=>G(),className:`text-(--red-9) hover:text-(--red-11)`,children:(0,U.jsx)(N,{className:`h-4 w-4 fill-current`})})}):(0,U.jsx)(w,{type:`submit`,disabled:!t,variant:`outline`,size:`xs`,className:`text-(--slate-11)`,"aria-label":`Send message`,children:(0,U.jsx)(ie,{className:`h-4 w-4`})})]})]})},q={max_tokens:{min:1,max:4096,description:`Maximum number of tokens to generate`},temperature:{min:0,max:2,step:.1,description:`Controls randomness (0: deterministic, 2: very random)`},top_p:{min:0,max:1,step:.1,description:`Nucleus sampling: probability mass to consider`},top_k:{min:1,max:100,description:`Top-k sampling: number of highest probability tokens to consider`},frequency_penalty:{min:-2,max:2,description:`Penalizes frequent tokens (-2: favor, 2: avoid)`},presence_penalty:{min:-2,max:2,description:`Penalizes new tokens (-2: favor, 2: avoid)`}},me=e=>{let t=(0,H.c)(16),{config:n,onChange:a}=e,[s,c]=(0,W.useState)(!1),l;t[0]!==n||t[1]!==a?(l=(e,t)=>{let r=t===null||Number.isNaN(t)?null:t;if(r!==null){let{min:t,max:n}=q[e];r=Math.max(t,Math.min(n,r))}let i={...n,[e]:r};a(i)},t[0]=n,t[1]=a,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{e.key===`Enter`&&(e.preventDefault(),c(!1))},t[3]=d):d=t[3];let f=d,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,U.jsx)(C,{content:`Configuration`,children:(0,U.jsx)(i,{asChild:!0,children:(0,U.jsx)(w,{variant:`outline`,size:`sm`,className:`border-none shadow-none hover:bg-transparent`,children:(0,U.jsx)(M,{className:`h-3 w-3`})})})}),t[4]=p):p=t[4];let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,U.jsx)(`h4`,{className:`font-bold leading-none`,children:`Configuration`}),t[5]=m):m=t[5];let g;if(t[6]!==n||t[7]!==u){let e;t[9]===u?e=t[10]:(e=e=>{let[t,n]=e;return(0,U.jsxs)(`div`,{className:`grid grid-cols-3 items-center gap-1`,children:[(0,U.jsxs)(S,{htmlFor:t,className:`flex w-full justify-between col-span-3 align-end`,children:[I.startCase(t),(0,U.jsx)(C,{delayDuration:200,side:`top`,content:(0,U.jsx)(`div`,{className:`text-xs flex flex-col`,children:q[t].description}),children:(0,U.jsx)(E,{className:`h-3 w-3 cursor-help text-muted-foreground hover:text-foreground`})})]}),(0,U.jsx)(A,{id:t,"aria-label":t,value:n??NaN,placeholder:`null`,minValue:q[t].min,maxValue:q[t].max,step:q[t].step??1,onChange:e=>u(t,e),onKeyDown:f,className:`col-span-3`})]},t)},t[9]=u,t[10]=e),g=h.entries(n).map(e),t[6]=n,t[7]=u,t[8]=g}else g=t[8];let _;t[11]===g?_=t[12]:(_=(0,U.jsx)(o,{className:`w-70 border`,children:(0,U.jsxs)(`div`,{className:`grid gap-3`,children:[m,g]})}),t[11]=g,t[12]=_);let v;return t[13]!==s||t[14]!==_?(v=(0,U.jsxs)(r,{open:s,onOpenChange:c,children:[p,_]}),t[13]=s,t[14]=_,t[15]=v):v=t[15],v},he=e=>{let t=(0,H.c)(18),{prompts:n,onSelect:i}=e,[a,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(``),u;t[0]===i?u=t[1]:(u=e=>{[...e.matchAll(/{{(\w+)}}/g)].length>0?(l(e),s(!0)):i(e)},t[0]=i,t[1]=u);let d=u,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,U.jsx)(C,{content:`Select a prompt`,children:(0,U.jsx)(y,{asChild:!0,children:(0,U.jsx)(w,{variant:`outline`,size:`sm`,className:`border-none shadow-none hover:bg-transparent`,children:(0,U.jsx)(z,{className:`h-3 w-3`})})})}),t[2]=f):f=t[2];let p;if(t[3]!==d||t[4]!==n){let e;t[6]===d?e=t[7]:(e=(e,t)=>(0,U.jsx)(v,{onSelect:()=>d(e),className:`whitespace-normal text-left`,children:e},t),t[6]=d,t[7]=e),p=n.map(e),t[3]=d,t[4]=n,t[5]=p}else p=t[5];let m;t[8]===p?m=t[9]:(m=(0,U.jsx)(G,{children:(0,U.jsxs)(x,{children:[f,(0,U.jsx)(b,{side:`right`,align:`end`,onCloseAutoFocus:Y,className:`w-64 max-h-96 overflow-y-auto`,children:p})]})}),t[8]=p,t[9]=m);let h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>s(!1),t[10]=h):h=t[10];let g;t[11]!==i||t[12]!==c?(g=(0,U.jsx)(o,{side:`right`,align:`end`,className:`min-w-80 px-2`,children:(0,U.jsx)(J,{prompt:c,onClose:h,onSelect:i})}),t[11]=i,t[12]=c,t[13]=g):g=t[13];let _;return t[14]!==a||t[15]!==m||t[16]!==g?(_=(0,U.jsxs)(r,{open:a,onOpenChange:s,children:[m,g]}),t[14]=a,t[15]=m,t[16]=g,t[17]=_):_=t[17],_},J=e=>{let t=(0,H.c)(32),{prompt:n,onClose:r,onSelect:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={},t[0]=a):a=t[0];let[o,s]=(0,W.useState)(a),c,l;t[1]===n?(c=t[2],l=t[3]):(c=()=>{let e=[...n.matchAll(/{{(\w+)}}/g)].reduce(X,{});s(e)},l=[n],t[1]=n,t[2]=c,t[3]=l),(0,W.useEffect)(c,l);let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(e,t)=>{s(n=>({...n,[e]:t}))},t[4]=u):u=t[4];let d=u,f;if(t[5]!==n||t[6]!==o){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=/{{(\w+)}}/g,t[8]=e):e=t[8];let r;t[9]===o?r=t[10]:(r=(e,t)=>o[t]||`{{${t}}}`,t[9]=o,t[10]=r),f=n.replaceAll(e,r),t[5]=n,t[6]=o,t[7]=f}else f=t[7];let p=f,m;t[11]===o?m=t[12]:(m=Object.values(o).some(Z),t[11]=o,t[12]=m);let h=m,g;t[13]!==r||t[14]!==i||t[15]!==p?(g=()=>{i(p),r()},t[13]=r,t[14]=i,t[15]=p,t[16]=g):g=t[16];let _=g,v;t[17]===o?v=t[18]:(v=Object.entries(o),t[17]=o,t[18]=v);let y;t[19]!==_||t[20]!==h||t[21]!==v?(y=v.map((e,t)=>{let[n,r]=e;return(0,U.jsxs)(`div`,{className:`grid grid-cols-4 items-center gap-2`,children:[(0,U.jsx)(S,{htmlFor:n,className:`font-semibold text-base`,children:n}),(0,U.jsx)(j,{id:n,value:r,onChange:e=>d(n,e.target.value),rootClassName:`col-span-3 w-full`,className:`m-0`,placeholder:`Enter value for ${n}`,autoFocus:t===0,onKeyDown:e=>{e.key===`Enter`&&!h&&_()}})]},n)}),t[19]=_,t[20]=h,t[21]=v,t[22]=y):y=t[22];let b;t[23]===p?b=t[24]:(b=(0,U.jsx)(`div`,{className:`grid gap-2 prose dark:prose-invert`,children:(0,U.jsx)(`blockquote`,{className:`text-sm`,children:p})}),t[23]=p,t[24]=b);let x;t[25]!==_||t[26]!==h?(x=(0,U.jsx)(w,{onClick:_,size:`xs`,disabled:h,children:`Submit`}),t[25]=_,t[26]=h,t[27]=x):x=t[27];let C;return t[28]!==b||t[29]!==x||t[30]!==y?(C=(0,U.jsxs)(`div`,{className:`grid gap-4`,children:[y,b,x]}),t[28]=b,t[29]=x,t[30]=y,t[31]=C):C=t[31],C};function Y(e){return e.preventDefault()}function X(e,t){return e[t[1]]=``,e}function Z(e){return e==null||e.trim()===``}export{K as Chatbot};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{o as n}from"./useEventListener-D9cftcHj.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{C as i,S as a,T as o,v as s,w as c,x as l,y as u}from"./fullscreen-B9tHcfpV.js";import{d,u as f}from"./menu-items-BrwnTgyK.js";import{t as p}from"./createLucideIcon-DfJ2oMlA.js";var m=e(t(),1),h=Object.defineProperty,g=(e,t)=>h(e,`name`,{value:t,configurable:!0}),_=!1;function v(){let[e,t]=m.useState(_);return m.useEffect(()=>{_||(_=!0,t(!0))},[]),e}g(v,`useIsHydrated`);var y=m.useSyncExternalStore;function b(){return()=>{}}g(b,`subscribe`);function x(){return y(b,()=>!0,()=>!1)}g(x,`useIsHydratedModern`);var S=typeof y==`function`?x:v,C=r(),w=Object.defineProperty,T=(e,t)=>w(e,`name`,{value:t,configurable:!0}),E=`rovingFocusGroup.onEntryFocus`,D={bubbles:!1,cancelable:!0},O=`RovingFocusGroup`,[k,A,j]=d(O),[M,N]=c(O,[j]),[P,F]=M(O),I=m.forwardRef(T(function(e,t){return(0,C.jsx)(k.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,C.jsx)(k.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,C.jsx)(L,{...e,ref:t})})})},`RovingFocusGroup`)),L=m.forwardRef(T(function(e,t){let{__scopeRovingFocusGroup:r,orientation:a,loop:c=!1,dir:u,currentTabStopId:d,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:h,onEntryFocus:g,preventScrollOnEntryFocus:_=!1,...v}=e,y=m.useRef(null),b=n(t,y),x=f(u),[S,w]=l({prop:d,defaultProp:p??null,onChange:h,caller:O}),[T,k]=m.useState(!1),j=s(g),M=A(r),N=m.useRef(!1),[F,I]=m.useState(0);return m.useEffect(()=>{let e=y.current;if(e)return e.addEventListener(E,j),()=>e.removeEventListener(E,j)},[j]),(0,C.jsx)(P,{scope:r,orientation:a,dir:x,loop:c,currentTabStopId:S,onItemFocus:m.useCallback(e=>w(e),[w]),onItemShiftTab:m.useCallback(()=>k(!0),[]),onFocusableItemAdd:m.useCallback(()=>I(e=>e+1),[]),onFocusableItemRemove:m.useCallback(()=>I(e=>e-1),[]),children:(0,C.jsx)(o.div,{tabIndex:T||F===0?-1:0,"data-orientation":a,...v,ref:b,style:{outline:`none`,...e.style},onMouseDown:i(e.onMouseDown,()=>{N.current=!0}),onFocus:i(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!T){let t=new CustomEvent(E,D);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);U([e.find(e=>e.active),e.find(e=>e.id===S),...e].filter(Boolean).map(e=>e.ref.current),_)}}N.current=!1}),onBlur:i(e.onBlur,()=>k(!1))})})},`RovingFocusGroupImpl`)),R=`RovingFocusGroupItem`,z=m.forwardRef(T(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:s=!1,tabStopId:c,children:l,...d}=e,f=u(),p=c||f,h=F(R,n),g=h.currentTabStopId===p,_=A(n),{onFocusableItemAdd:v,onFocusableItemRemove:y,currentTabStopId:b}=h,x=S();return a(()=>{if(!(!x||!r))return v(),()=>y()},[x,r,v,y]),m.useEffect(()=>{if(!(x||!r))return v(),()=>y()},[x,r,v,y]),(0,C.jsx)(k.ItemSlot,{scope:n,id:p,focusable:r,active:s,children:(0,C.jsx)(o.span,{tabIndex:g?0:-1,"data-orientation":h.orientation,...d,ref:t,onMouseDown:i(e.onMouseDown,e=>{r?h.onItemFocus(p):e.preventDefault()}),onFocus:i(e.onFocus,()=>h.onItemFocus(p)),onKeyDown:i(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){h.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=H(e,h.orientation,h.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=_().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=h.loop?W(n,r+1):n.slice(r+1)}setTimeout(()=>U(n))}}),children:typeof l==`function`?l({isCurrentTabStop:g,hasTabStop:b!=null}):l})})},`RovingFocusGroupItem`)),B={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function V(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}T(V,`getDirectionAwareKey`);function H(e,t,n){let r=V(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return B[r]}T(H,`getFocusIntent`);function U(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}T(U,`focusFirst`);function W(e,t){return e.map((n,r)=>e[(t+r)%e.length])}T(W,`wrapArray`);var G=I,K=z,q=p(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]);export{N as i,K as n,G as r,q as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-DfJ2oMlA.js";var t=e(`circle-play`,[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`,key:`kmsa83`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]);export{t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-Dfcbgjhg.js";import{t as n}from"./react-DVplv7_D.js";import{D as r,Gi as i,Rt as a,Xi as o,Yi as s,zt as c}from"./cells-C6YGYGdi.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{s as u}from"./config-CA1V-wjh.js";import{t as d}from"./jsx-runtime-B74pBk57.js";import{l as f,p,yt as m}from"./JsonOutput-Cx1iyibB.js";import{t as h}from"./tooltip-C9TuY18o.js";import{r as g,t as _}from"./button-COI-NGrx.js";import{t as v}from"./createLucideIcon-DfJ2oMlA.js";import{t as y}from"./useLifecycle-Mq4gc5kS.js";import{t as b}from"./spinner-DyNE-o8o.js";import{t as x}from"./copy-icon-BIiRXh_3.js";import{r as S}from"./requests-lt0JK8Jt.js";import{r as C}from"./useTheme-n8Dj1zH7.js";import{t as w}from"./I18nProvider-Cg2I_s1_.js";import{i as T}from"./numbers-Mk3-CcoU.js";var E=v(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),D=l(),O=e(n(),1),k=d(),A=e=>{let t=(0,D.c)(53),{table:n,column:r,preview:i,onAddColumnChart:a,sqlTableContext:c}=e,{theme:l}=C(),{previewDatasetColumn:u}=S(),{locale:d}=w(),f;t[0]!==r.name||t[1]!==u||t[2]!==c||t[3]!==n.name||t[4]!==n.source||t[5]!==n.source_type?(f=()=>{u({source:n.source,tableName:n.name,columnName:r.name,sourceType:n.source_type,fullyQualifiedTableName:o(c,n.name)})},t[0]=r.name,t[1]=u,t[2]=c,t[3]=n.name,t[4]=n.source,t[5]=n.source_type,t[6]=f):f=t[6];let m=f,v;if(t[7]!==i||t[8]!==m||t[9]!==n.source_type?(v=()=>{i||n.source_type!==`connection`&&n.source_type!==`catalog`&&m()},t[7]=i,t[8]=m,t[9]=n.source_type,t[10]=v):v=t[10],y(v),n.source_type===`connection`){let e=r.name,i=r.external_type,o;t[11]!==r.name||t[12]!==a||t[13]!==c||t[14]!==n?(o=g.stopPropagation(()=>{a(s({table:n,columnName:r.name,sqlTableContext:c}))}),t[11]=r.name,t[12]=a,t[13]=c,t[14]=n,t[15]=o):o=t[15];let l;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,k.jsx)(E,{className:`h-3 w-3 mr-1`}),t[16]=l):l=t[16];let u;t[17]===o?u=t[18]:(u=(0,k.jsxs)(_,{variant:`outline`,size:`xs`,onClick:o,children:[l,` Add SQL cell`]}),t[17]=o,t[18]=u);let d;return t[19]!==r.external_type||t[20]!==r.name||t[21]!==u?(d=(0,k.jsxs)(`span`,{className:`text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7`,children:[e,` (`,i,`)`,u]}),t[19]=r.external_type,t[20]=r.name,t[21]=u,t[22]=d):d=t[22],d}if(n.source_type===`catalog`){let e;return t[23]!==r.external_type||t[24]!==r.name?(e=(0,k.jsxs)(`span`,{className:`text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7`,children:[r.name,` (`,r.external_type,`)`]}),t[23]=r.external_type,t[24]=r.name,t[25]=e):e=t[25],e}if(!i){let e;return t[26]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Loading...`}),t[26]=e):e=t[26],e}let b;t[27]!==i.error||t[28]!==i.missing_packages||t[29]!==m?(b=i.error&&j({error:i.error,missingPackages:i.missing_packages,refetchPreview:m}),t[27]=i.error,t[28]=i.missing_packages,t[29]=m,t[30]=b):b=t[30];let x=b,T;t[31]!==r.type||t[32]!==d||t[33]!==i.stats?(T=i.stats&&M({stats:i.stats,dataType:r.type,locale:d}),t[31]=r.type,t[32]=d,t[33]=i.stats,t[34]=T):T=t[34];let O=T,A;t[35]!==i.chart_spec||t[36]!==l?(A=i.chart_spec&&P(i.chart_spec,l),t[35]=i.chart_spec,t[36]=l,t[37]=A):A=t[37];let N=A,I;t[38]!==i.chart_code||t[39]!==n.source_type?(I=i.chart_code&&n.source_type===`local`&&(0,k.jsx)(F,{chartCode:i.chart_code}),t[38]=i.chart_code,t[39]=n.source_type,t[40]=I):I=t[40];let L=I,R;t[41]!==r.name||t[42]!==a||t[43]!==c||t[44]!==n?(R=n.source_type===`duckdb`&&(0,k.jsx)(h,{content:`Add SQL cell`,delayDuration:400,children:(0,k.jsx)(_,{variant:`outline`,size:`icon`,className:`z-10 bg-background absolute right-1 -top-1`,onClick:g.stopPropagation(()=>{a(s({table:n,columnName:r.name,sqlTableContext:c}))}),children:(0,k.jsx)(E,{className:`h-3 w-3`})})}),t[41]=r.name,t[42]=a,t[43]=c,t[44]=n,t[45]=R):R=t[45];let z=R;if(!x&&!O&&!N){let e;return t[46]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No data`}),t[46]=e):e=t[46],e}let B;return t[47]!==L||t[48]!==z||t[49]!==N||t[50]!==x||t[51]!==O?(B=(0,k.jsxs)(p,{children:[x,L,z,N,O]}),t[47]=L,t[48]=z,t[49]=N,t[50]=x,t[51]=O,t[52]=B):B=t[52],B};function j({error:e,missingPackages:t,refetchPreview:n}){return(0,k.jsxs)(`div`,{className:`text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between`,children:[(0,k.jsx)(`span`,{children:e}),t&&(0,k.jsx)(f,{packages:t,showMaxPackages:1,className:`w-32`,onInstall:n})]})}function M({stats:e,dataType:t,locale:n}){return(0,k.jsx)(`div`,{className:`gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden`,children:Object.entries(e).map(([e,r])=>r==null?null:(0,k.jsxs)(`div`,{className:`flex items-center gap-1 group`,children:[(0,k.jsx)(`span`,{className:`text-xs min-w-[60px] capitalize`,children:i(e,t)}),(0,k.jsx)(`span`,{className:`text-xs font-bold text-muted-foreground tracking-wide`,children:T(r,n)}),(0,k.jsx)(x,{className:`h-3 w-3 invisible group-hover:visible`,value:String(r)})]},e))})}var N=(0,k.jsx)(`div`,{className:`flex justify-center`,children:(0,k.jsx)(b,{className:`size-4`})});function P(e,t){return(0,k.jsx)(O.Suspense,{fallback:N,children:(0,k.jsx)(m,{"data-container-width":`container`,spec:(e=>({...e,background:`transparent`,config:{...e.config,background:`transparent`}}))(JSON.parse(e)),options:{theme:t===`dark`?`dark`:`vox`,height:100,width:`container`,actions:!1,renderer:`canvas`}})})}var F=e=>{let n=(0,D.c)(10),{chartCode:i}=e,o=t(u),s=a(),{createNewCell:l}=r(),d;n[0]!==o||n[1]!==l||n[2]!==s?(d=e=>{e.includes(`alt`)&&c({autoInstantiate:o,createNewCell:l,fromCellId:s}),l({code:e,before:!1,cellId:s??`__end__`})},n[0]=o,n[1]=l,n[2]=s,n[3]=d):d=n[3];let f=d,p;n[4]!==i||n[5]!==f?(p=g.stopPropagation(()=>f(i)),n[4]=i,n[5]=f,n[6]=p):p=n[6];let m;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,k.jsx)(E,{className:`h-3 w-3`}),n[7]=m):m=n[7];let v;return n[8]===p?v=n[9]:(v=(0,k.jsx)(h,{content:`Add chart to notebook`,delayDuration:400,children:(0,k.jsx)(_,{variant:`outline`,size:`icon`,className:`z-10 bg-background absolute right-1 -top-0.5`,onClick:p,children:m})}),n[8]=p,n[9]=v),v};export{M as a,j as i,A as n,E as o,P as r,F as t};
@@ -1 +0,0 @@
1
- import{c as e,l as t}from"./useEvent-Dfcbgjhg.js";import{Ft as n,_n as r,bn as i,gn as a,hn as o,mn as s,pn as c,vn as l,yn as u}from"./cells-C6YGYGdi.js";import{t as d}from"./compiler-runtime-BrajqUja.js";import{C as f,S as p,h as m}from"./config-CA1V-wjh.js";import{m as h,t as g,u as _}from"./useEventListener-D9cftcHj.js";import{t as v}from"./objects-snlMn4yk.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{O as b,k as x}from"./ai-model-dropdown-i1vfGeVi.js";import{t as S}from"./useCellActionButton-DmaFZ4oF.js";import{a as C,t as w}from"./useNotebookActions-DHt3s-ia.js";import{r as T}from"./requests-lt0JK8Jt.js";import{t as E}from"./renderShortcut-C1JwYcqW.js";import{r as D}from"./feedback-button-DzPunIqU.js";var O=d(),k=3;function A(){let e=(0,O.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=D(`marimo:commands`,t),i;e[1]!==n||e[2]!==r?(i=e=>{let t=j([e,...n]);r(t.slice(0,k))},e[1]=n,e[2]=r,e[3]=i):i=e[3];let a;return e[4]!==n||e[5]!==i?(a={recentCommands:n,addRecentCommand:i},e[4]=n,e[5]=i,e[6]=a):a=e[6],a}function j(e){return[...new Set(e)]}function M(e){return e.dropdown!==void 0}function N(e,t=``){return e.flatMap(e=>!e.label||e.hidden?[]:M(e)?N(e.dropdown,`${t+e.label} > `):{...e,label:t+e.label,additionalKeywords:e.additionalKeywords})}function P(){let e=(0,O.c)(87),[t,n]=f(),[r,i]=p(),{saveAppConfig:a,saveUserConfig:o}=T(),s;e[0]!==o||e[1]!==n?(s=async e=>{await o({config:e}).then(()=>{n(t=>({...t,...e}))})},e[0]=o,e[1]=n,e[2]=s):s=e[2];let c=s,l;e[3]!==a||e[4]!==i?(l=async e=>{await a({config:e}).then(()=>{i(e)})},e[3]=a,e[4]=i,e[5]=l):l=e[5];let u=l,d;if(e[6]!==r||e[7]!==t.completion||e[8]!==t.display||e[9]!==t.keymap||e[10]!==u||e[11]!==c){let n;e[13]===r?n=e[14]:(n=e=>e!==r.width,e[13]=r,e[14]=n);let i;e[15]!==r||e[16]!==u?(i=e=>({label:`App config > Set width=${e}`,handle:()=>{u({...r,width:e})}}),e[15]=r,e[16]=u,e[17]=i):i=e[17];let a;e[18]!==t.display||e[19]!==c?(a={label:`Config > Set theme: dark`,handle:()=>{c({display:{...t.display,theme:`dark`}})}},e[18]=t.display,e[19]=c,e[20]=a):a=e[20];let o;e[21]!==t.display||e[22]!==c?(o={label:`Config > Set theme: light`,handle:()=>{c({display:{...t.display,theme:`light`}})}},e[21]=t.display,e[22]=c,e[23]=o):o=e[23];let s;e[24]!==t.display||e[25]!==c?(s={label:`Config > Set theme: system`,handle:()=>{c({display:{...t.display,theme:`system`}})}},e[24]=t.display,e[25]=c,e[26]=s):s=e[26];let l=t.keymap.preset===`vim`,f;e[27]!==t.keymap||e[28]!==c?(f=()=>{c({keymap:{...t.keymap,preset:`vim`}})},e[27]=t.keymap,e[28]=c,e[29]=f):f=e[29];let p;e[30]!==l||e[31]!==f?(p={label:`Config > Switch keymap to VIM`,hidden:l,handle:f},e[30]=l,e[31]=f,e[32]=p):p=e[32];let m=t.keymap.preset==="default",h;e[33]!==t.keymap||e[34]!==c?(h=()=>{c({keymap:{...t.keymap,preset:`default`}})},e[33]=t.keymap,e[34]=c,e[35]=h):h=e[35];let g;e[36]!==m||e[37]!==h?(g={label:`Config > Switch keymap to default (current: VIM)`,hidden:m,handle:h},e[36]=m,e[37]=h,e[38]=g):g=e[38];let _;e[39]!==t.completion||e[40]!==c?(_=()=>{c({completion:{...t.completion,copilot:!1}})},e[39]=t.completion,e[40]=c,e[41]=_):_=e[41];let v=t.completion.copilot!==`github`,y;e[42]!==_||e[43]!==v?(y={label:`Config > Disable GitHub Copilot`,handle:_,hidden:v},e[42]=_,e[43]=v,e[44]=y):y=e[44];let b;e[45]!==t.completion||e[46]!==c?(b=()=>{c({completion:{...t.completion,copilot:`github`}})},e[45]=t.completion,e[46]=c,e[47]=b):b=e[47];let S=t.completion.copilot===`github`,C;e[48]!==b||e[49]!==S?(C={label:`Config > Enable GitHub Copilot`,handle:b,hidden:S},e[48]=b,e[49]=S,e[50]=C):C=e[50];let w=!t.display.reference_highlighting,T;e[51]!==t.display||e[52]!==c?(T=()=>{c({display:{...t.display,reference_highlighting:!1}})},e[51]=t.display,e[52]=c,e[53]=T):T=e[53];let E;e[54]!==w||e[55]!==T?(E={label:`Config > Disable reference highlighting`,hidden:w,handle:T},e[54]=w,e[55]=T,e[56]=E):E=e[56];let D;e[57]!==t.display||e[58]!==c?(D=()=>{c({display:{...t.display,reference_highlighting:!0}})},e[57]=t.display,e[58]=c,e[59]=D):D=e[59];let O;e[60]!==t.display.reference_highlighting||e[61]!==D?(O={label:`Config > Enable reference highlighting`,hidden:t.display.reference_highlighting,handle:D},e[60]=t.display.reference_highlighting,e[61]=D,e[62]=O):O=e[62];let k=!(t.display.code_lens??!0),A;e[63]!==t.display||e[64]!==c?(A=()=>{c({display:{...t.display,code_lens:!1}})},e[63]=t.display,e[64]=c,e[65]=A):A=e[65];let j;e[66]!==k||e[67]!==A?(j={label:`Config > Disable code lens`,hidden:k,handle:A},e[66]=k,e[67]=A,e[68]=j):j=e[68];let M=t.display.code_lens??!0,N;e[69]!==t.display||e[70]!==c?(N=()=>{c({display:{...t.display,code_lens:!0}})},e[69]=t.display,e[70]=c,e[71]=N):N=e[71];let P;e[72]!==M||e[73]!==N?(P={label:`Config > Enable code lens`,hidden:M,handle:N},e[72]=M,e[73]=N,e[74]=P):P=e[74];let F=t.display.cell_output===`above`,I;e[75]!==t.display||e[76]!==c?(I=()=>{c({display:{...t.display,cell_output:`above`}})},e[75]=t.display,e[76]=c,e[77]=I):I=e[77];let L;e[78]!==F||e[79]!==I?(L={label:`Config > Set cell output area: above`,hidden:F,handle:I},e[78]=F,e[79]=I,e[80]=L):L=e[80];let R=t.display.cell_output===`below`,z;e[81]!==t.display||e[82]!==c?(z=()=>{c({display:{...t.display,cell_output:`below`}})},e[81]=t.display,e[82]=c,e[83]=z):z=e[83];let B;e[84]!==R||e[85]!==z?(B={label:`Config > Set cell output area: below`,hidden:R,handle:z},e[84]=R,e[85]=z,e[86]=B):B=e[86],d=[...x().filter(n).map(i),a,o,s,p,g,y,C,E,O,j,P,L,B].filter(ee),e[6]=r,e[7]=t.completion,e[8]=t.display,e[9]=t.keymap,e[10]=u,e[11]=c,e[12]=d}else d=e[12];return d}function ee(e){return!e.hidden}var F=y(),I=()=>{let d=(0,O.c)(37),[f,p]=e(C),y=b(),x=t(n),T=t(m),D;d[0]===x?D=d[1]:(D={cell:x},d[0]=x,d[1]=D);let k=S(D).flat();k=N(k);let j=P(),ee=w();ee=[...N(ee),...N(j)];let I=ee.filter(L),B=v.keyBy(I,R),{recentCommands:V,addRecentCommand:H}=A(),U;d[2]===V?U=d[3]:(U=new Set(V),d[2]=V,d[3]=U);let W=U,G;d[4]!==T||d[5]!==p?(G=e=>{h(T.getHotkey(`global.commandPalette`).key)(e)&&(e.preventDefault(),p(z))},d[4]=T,d[5]=p,d[6]=G):G=d[6],g(document,`keydown`,G);let K;d[7]!==H||d[8]!==T||d[9]!==y||d[10]!==p?(K=(e,t)=>{let n=y[e];if(!n)return null;let a=T.getHotkey(e);return(0,F.jsxs)(r,{disabled:t.disabled,keywords:a.additionalKeywords,onSelect:()=>{H(e),p(!1),requestAnimationFrame(()=>{n()})},value:a.name,children:[(0,F.jsxs)(`span`,{children:[a.name,t.tooltip&&(0,F.jsx)(`span`,{className:`ml-2`,children:t.tooltip})]}),(0,F.jsx)(i,{children:(0,F.jsx)(E,{shortcut:a.key})})]},e)},d[7]=H,d[8]=T,d[9]=y,d[10]=p,d[11]=K):K=d[11];let te=K,q;d[12]!==H||d[13]!==T||d[14]!==p?(q=e=>{let{label:t,handle:n,props:a,hotkey:o,additionalKeywords:s}=e,c=a===void 0?{}:a;return(0,F.jsxs)(r,{disabled:c.disabled,keywords:s,onSelect:()=>{H(t),p(!1),requestAnimationFrame(()=>{n()})},value:t,children:[(0,F.jsxs)(`span`,{children:[t,c.tooltip&&(0,F.jsxs)(`span`,{className:`ml-2`,children:[`(`,c.tooltip,`)`]})]}),o&&(0,F.jsx)(i,{children:(0,F.jsx)(E,{shortcut:T.getHotkey(o).key})})]},t)},d[12]=H,d[13]=T,d[14]=p,d[15]=q):q=d[15];let J=q,ne=c,Y;d[16]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,F.jsx)(a,{placeholder:`Type to search...`}),d[16]=Y):Y=d[16];let re=l,X;d[17]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,F.jsx)(s,{children:`No results found.`}),d[17]=X):X=d[17];let ie=V.length>0&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(o,{heading:`Recently Used`,children:V.map(e=>{let t=B[e];return _(e)?te(e,{disabled:t?.disabled,tooltip:t?.tooltip}):t&&!M(t)?J({label:t.label,handle:t.handleHeadless||t.handle,props:{disabled:t.disabled,tooltip:t.tooltip},additionalKeywords:t.additionalKeywords}):null})}),(0,F.jsx)(u,{})]}),ae=o,oe=T.iterate().map(e=>{if(W.has(e))return null;let t=B[e];return te(e,{disabled:t?.disabled,tooltip:t?.tooltip})}),se=I.map(e=>W.has(e.label)?null:J({label:e.label,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords})),Z;d[18]!==W||d[19]!==J?(Z=e=>W.has(e.label)?null:J({label:`Cell > ${e.label}`,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords}),d[18]=W,d[19]=J,d[20]=Z):Z=d[20];let ce=k.map(Z),Q;d[21]!==ae||d[22]!==se||d[23]!==ce||d[24]!==oe?(Q=(0,F.jsxs)(ae,{heading:`Commands`,children:[oe,se,ce]}),d[21]=ae,d[22]=se,d[23]=ce,d[24]=oe,d[25]=Q):Q=d[25];let $;d[26]!==re||d[27]!==Q||d[28]!==X||d[29]!==ie?($=(0,F.jsxs)(re,{children:[X,ie,Q]}),d[26]=re,d[27]=Q,d[28]=X,d[29]=ie,d[30]=$):$=d[30];let le;return d[31]!==ne||d[32]!==f||d[33]!==p||d[34]!==$||d[35]!==Y?(le=(0,F.jsxs)(ne,{open:f,onOpenChange:p,children:[Y,$]}),d[31]=ne,d[32]=f,d[33]=p,d[34]=$,d[35]=Y,d[36]=le):le=d[36],le};function L(e){return!e.hotkey}function R(e){return e.label}function z(e){return!e}export{I as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./compiler-runtime-BrajqUja.js";import{t}from"./objects-snlMn4yk.js";import{r as n}from"./utils-B4K466FK.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{a as i,p as a,r as o,t as s}from"./dropdown-menu-C1rnl-0o.js";import{t as c}from"./button-COI-NGrx.js";import{t as l}from"./createLucideIcon-DfJ2oMlA.js";import{a as u,i as d,o as f,r as p}from"./paths-bkIFVj8h.js";import{t as m}from"./chart-no-axes-column-C4_v6fQW.js";import{t as h}from"./file-BPBVl9pl.js";import{n as g,r as _,t as v}from"./youtube-CbJhsgLy.js";import{t as y}from"./link-NuFVR7G9.js";import{t as b}from"./package-GSoSTiIK.js";import{r as x}from"./requests-lt0JK8Jt.js";import{n as S}from"./react-icons.esm-D6tfmvq8.js";import{t as C}from"./error-banner-COZ7SfYV.js";import{t as w}from"./icons-CiZ_8zS-.js";import{t as T}from"./github-DQZhN3La.js";import{n as E}from"./marimo-icons-CqliHyTr.js";import{t as D}from"./links-DkkL9DVa.js";var O=l(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),k=l(`graduation-cap`,[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`,key:`j76jl0`}],[`path`,{d:`M22 10v6`,key:`1lu8f3`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`,key:`1r8lef`}]]),A=l(`orbit`,[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`,key:`1enhxb`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`,key:`1crzgf`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`circle`,{cx:`19`,cy:`5`,r:`2`,key:`mhkx31`}],[`circle`,{cx:`5`,cy:`19`,r:`2`,key:`v8kfzx`}]]),j=l(`panels-top-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 21V9`,key:`1oto5p`}]]),M=e(),N=r(),P={intro:[`Introduction`,O,`Get started with marimo basics`],dataflow:[`Dataflow`,f,`Learn how cells interact with each other`],ui:[`UI Elements`,j,`Create interactive UI components`],markdown:[`Markdown`,p,`Format text with parameterized markdown`],plots:[`Plots`,m,`Create interactive visualizations`],sql:[`SQL`,d,`Query databases directly in marimo`],layout:[`Layout`,_,`Customize the layout of your cells' output`],fileformat:[`File format`,h,`Understand marimo's pure-Python file format`],"external-dependencies":[`External dependencies`,b,`Declare dependencies with Python script metadata`],"for-jupyter-users":[`For Jupyter users`,A,`Transiting from Jupyter to marimo`],"markdown-format":[`Markdown format`,w,`Using marimo to edit markdown files`]},F=()=>{let e=(0,M.c)(6),{openTutorial:n}=x(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,N.jsx)(k,{className:`w-4 h-4 mr-2`}),e[0]=r):r=e[0];let l;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,N.jsx)(a,{asChild:!0,children:(0,N.jsxs)(c,{"data-testid":`open-tutorial-button`,size:`xs`,variant:`outline`,children:[r,`Tutorials`,(0,N.jsx)(S,{className:`w-3 h-3 ml-1`})]})}),e[1]=l):l=e[1];let u;e[2]===n?u=e[3]:(u=t.entries(P).map(e=>{let[t,r]=e,[a,o,s]=r;return(0,N.jsxs)(i,{onSelect:async()=>{let e=await n({tutorialId:t});e&&D(e.path)},children:[(0,N.jsx)(o,{strokeWidth:1.5,className:`w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground`}),(0,N.jsx)(`div`,{className:`flex items-center`,children:(0,N.jsxs)(`div`,{className:`flex flex-col`,children:[(0,N.jsx)(`span`,{children:a}),(0,N.jsx)(`span`,{className:`text-xs text-muted-foreground pr-1`,children:s})]})})]},t)}),e[2]=n,e[3]=u);let d;return e[4]===u?d=e[5]:(d=(0,N.jsxs)(s,{children:[l,(0,N.jsx)(o,{side:`bottom`,align:`end`,className:`print:hidden`,children:u})]}),e[4]=u,e[5]=d),d},I=[{title:`Documentation`,description:`Official marimo documentation and API reference`,icon:u,url:n.docsPage},{title:`GitHub`,description:`View source code, report issues, or contribute`,icon:T,url:n.githubPage},{title:`Community`,description:`Join the marimo Discord community`,icon:g,url:n.discordLink},{title:`molab`,description:`Run marimo notebooks in the cloud`,icon:E,url:n.molab},{title:`YouTube`,description:`Watch tutorials and demos`,icon:v,url:n.youtube},{title:`Changelog`,description:`See what's new in marimo`,icon:p,url:n.releasesPage}],L=()=>{let e=(0,M.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,N.jsx)(z,{Icon:y,children:`Resources`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,N.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[t,(0,N.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3`,children:I.map(B)})]}),e[1]=n):n=e[1],n},R=e=>{let t=(0,M.c)(2),{fileCount:n}=e,r;return t[0]===n?r=t[1]:(r=(0,N.jsxs)(C,{kind:`warn`,className:`rounded p-4`,children:[`Showing `,n,` files. Some files and folders were skipped because your workspace is large or deeply nested. Start marimo from a subfolder to see them.`]}),t[0]=n,t[1]=r),r},z=e=>{let t=(0,M.c)(8),{Icon:n,control:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,N.jsx)(n,{className:`h-5 w-5`}),t[0]=n,t[1]=a);let o;t[2]!==i||t[3]!==a?(o=(0,N.jsxs)(`h2`,{className:`flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none`,children:[a,i]}),t[2]=i,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==r||t[6]!==o?(s=(0,N.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[o,r]}),t[5]=r,t[6]=o,t[7]=s):s=t[7],s};function B(e){return(0,N.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,"aria-label":`${e.title}: ${e.description}`,className:`flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs`,children:[(0,N.jsx)(e.icon,{className:`w-5 h-5 mt-1.5 text-primary`}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`h3`,{className:`font-medium`,children:e.title}),(0,N.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description})]})]},e.title)}export{R as i,F as n,L as r,z as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,u as n}from"./useEvent-Dfcbgjhg.js";import{t as r}from"./react-DVplv7_D.js";import{C as i,I as a,N as o}from"./schemas-ChRqMOTL.js";import{t as s}from"./compiler-runtime-BrajqUja.js";import{E as c,y as l}from"./config-CA1V-wjh.js";import{g as u,o as d}from"./useEventListener-D9cftcHj.js";import{r as f}from"./config-Dy28fDwn.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{C as h,S as g,T as _,b as v,w as y,x as b,y as x}from"./fullscreen-B9tHcfpV.js";import{d as ee,u as te}from"./menu-items-BrwnTgyK.js";import{a as ne}from"./useNumberFormatter-D7O_26UI.js";import{t as S}from"./strings-B2vv-ENv.js";import{r as re}from"./requests-lt0JK8Jt.js";import{r as C}from"./errors-CNsgAw6m.js";var ie=o({command:a(),hostEnabled:i().default(!1),templates:o({prompt:a(),notebook:a(),session:a(),token_file:a(),token:a()})}),ae=t(void 0),w=e(r(),1),T=m(),oe=Object.defineProperty,E=(e,t)=>oe(e,`name`,{value:t,configurable:!0}),D=`Collapsible`,[se,O]=y(D),[ce,k]=se(D),le=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=b({prop:r,defaultProp:i??!1,onChange:o,caller:D});return(0,T.jsx)(ce,{scope:n,disabled:a,contentId:x(),open:c,onOpenToggle:w.useCallback(()=>l(e=>!e),[l]),children:(0,T.jsx)(_.div,{"data-state":A(c),"data-disabled":a?``:void 0,...s,ref:t})})},`Collapsible`)),ue=`CollapsibleTrigger`,de=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,...r}=e,i=k(ue,n);return(0,T.jsx)(_.button,{type:`button`,"aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open||!1,"data-state":A(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:h(e.onClick,i.onOpenToggle)})},`CollapsibleTrigger`)),fe=`CollapsibleContent`,pe=w.forwardRef(E(function(e,t){let{forceMount:n,...r}=e,i=k(fe,e.__scopeCollapsible);return(0,T.jsx)(v,{present:n||i.open,children:({present:e})=>(0,T.jsx)(me,{...r,ref:t,present:e})})},`CollapsibleContent`)),me=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=k(fe,n),[s,c]=w.useState(r),l=w.useRef(null),u=d(t,l),f=w.useRef(0),p=f.current,m=w.useRef(0),h=m.current,v=o.open||s,y=w.useRef(v),b=w.useRef(void 0);return w.useEffect(()=>{let e=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(e)},[]),g(()=>{let e=l.current;if(e){b.current=b.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();f.current=t.height,m.current=t.width,y.current||(e.style.transitionDuration=b.current.transitionDuration,e.style.animationName=b.current.animationName),c(r)}},[o.open,r]),(0,T.jsx)(_.div,{"data-state":A(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!v,...a,ref:u,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...e.style},children:v&&i})},`CollapsibleContentImpl`));function A(e){return e?`open`:`closed`}E(A,`getState`);var he=le,ge=de,_e=pe,ve=Object.defineProperty,j=(e,t)=>ve(e,`name`,{value:t,configurable:!0}),M=`Accordion`,ye=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[N,be,xe]=ee(M),[P,Se]=y(M,[xe,O]),F=O(),Ce=w.forwardRef(j(function(e,t){let{type:n,...r}=e,i=r,a=r;return(0,T.jsx)(N.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,T.jsx)(De,{...a,ref:t}):(0,T.jsx)(Ee,{...i,ref:t})})},`Accordion`)),[I,we]=P(M),[L,Te]=P(M,{collapsible:!1}),Ee=w.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),collapsible:a=!1,...o}=e,[s,c]=b({prop:n,defaultProp:r??``,onChange:i,caller:M});return(0,T.jsx)(I,{scope:e.__scopeAccordion,value:w.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:w.useCallback(()=>a&&c(``),[a,c]),children:(0,T.jsx)(L,{scope:e.__scopeAccordion,collapsible:a,children:(0,T.jsx)(z,{...o,ref:t})})})},`AccordionImplSingle`)),De=w.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),...a}=e,[o,s]=b({prop:n,defaultProp:r??[],onChange:i,caller:M}),c=w.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=w.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,T.jsx)(I,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,T.jsx)(L,{scope:e.__scopeAccordion,collapsible:!0,children:(0,T.jsx)(z,{...a,ref:t})})})},`AccordionImplMultiple`)),[Oe,R]=P(M),z=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=w.useRef(null),c=d(s,t),l=be(n),u=te(i)===`ltr`,f=h(e.onKeyDown,e=>{if(!ye.includes(e.key))return;let t=e.target,n=l().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,c=j(()=>{o=r+1,o>s&&(o=0)},`moveNext`),d=j(()=>{o=r-1,o<0&&(o=s)},`movePrev`);switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(u?c():d());break;case`ArrowDown`:a===`vertical`&&c();break;case`ArrowLeft`:a===`horizontal`&&(u?d():c());break;case`ArrowUp`:a===`vertical`&&d()}n[o%i].ref.current?.focus()});return(0,T.jsx)(Oe,{scope:n,disabled:r,direction:i,orientation:a,children:(0,T.jsx)(N.Slot,{scope:n,children:(0,T.jsx)(_.div,{...o,"data-orientation":a,ref:c,onKeyDown:r?void 0:f})})})},`AccordionImpl`)),B=`AccordionItem`,[ke,V]=P(B),Ae=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,value:r,...i}=e,a=R(B,n),o=we(B,n),s=F(n),c=x(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,T.jsx)(ke,{scope:n,open:l,disabled:u,triggerId:c,children:(0,T.jsx)(he,{"data-orientation":a.orientation,"data-state":U(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})},`AccordionItem`)),je=`AccordionHeader`,Me=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=R(M,n),a=V(je,n);return(0,T.jsx)(_.h3,{"data-orientation":i.orientation,"data-state":U(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})},`AccordionHeader`)),H=`AccordionTrigger`,Ne=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=R(M,n),a=V(H,n),o=Te(H,n),s=F(n);return(0,T.jsx)(N.ItemSlot,{scope:n,children:(0,T.jsx)(ge,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})},`AccordionTrigger`)),Pe=`AccordionContent`,Fe=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=R(M,n),a=V(Pe,n),o=F(n);return(0,T.jsx)(_e,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})},`AccordionContent`));function U(e){return e?`open`:`closed`}j(U,`getState`);var W=Ce,G=Ae,Ie=Me,K=Ne,q=Fe,Le={"Content-Type":`application/json`},Re=/\{[^{}]+\}/g,ze=class extends Request{constructor(e,t){super(e,t);for(let e in t)e in this||(this[e]=t[e])}};function Be(e){let{baseUrl:t=``,fetch:n=globalThis.fetch,querySerializer:r,bodySerializer:i,headers:a,...o}={...e};t.endsWith(`/`)&&(t=t.substring(0,t.length-1)),a=Ge(Le,a);let s=[];async function c(e,c){let{fetch:l=n,headers:u,params:d={},parseAs:f=`json`,querySerializer:p,bodySerializer:m=i??Ue,...h}=c||{},g=typeof r==`function`?r:Ve(r);p&&(g=typeof p==`function`?p:Ve({...typeof r==`object`?r:{},...p}));let _={redirect:`follow`,...o,...h,headers:Ge(a,u,d.header)};_.body&&=m(_.body),_.body instanceof FormData&&_.headers.delete(`Content-Type`);let v=new ze(We(e,{baseUrl:t,params:d,querySerializer:g}),_),y={baseUrl:t,fetch:l,parseAs:f,querySerializer:g,bodySerializer:m};for(let t of s)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){v.schemaPath=e,v.params=d;let n=await t.onRequest(v,y);if(n){if(!(n instanceof Request))throw Error(`Middleware must return new Request() when modifying the request`);v=n}}let b=await l(v);for(let e=s.length-1;e>=0;e--){let t=s[e];if(t&&typeof t==`object`&&typeof t.onResponse==`function`){let e=await t.onResponse(b,y);if(e){if(!(e instanceof Response))throw Error(`Middleware must return new Response() when modifying the response`);b=e}}}if(b.status===204||b.headers.get(`Content-Length`)===`0`)return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok)return f===`stream`?{data:b.body,response:b}:{data:await b[f](),response:b};let x=await b.text();try{x=JSON.parse(x)}catch{}return{error:x,response:b}}return{async GET(e,t){return c(e,{...t,method:`GET`})},async PUT(e,t){return c(e,{...t,method:`PUT`})},async POST(e,t){return c(e,{...t,method:`POST`})},async DELETE(e,t){return c(e,{...t,method:`DELETE`})},async OPTIONS(e,t){return c(e,{...t,method:`OPTIONS`})},async HEAD(e,t){return c(e,{...t,method:`HEAD`})},async PATCH(e,t){return c(e,{...t,method:`PATCH`})},async TRACE(e,t){return c(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");s.push(t)}},eject(...e){for(let t of e){let e=s.indexOf(t);e!==-1&&s.splice(e,1)}}}}function J(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function Y(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(J(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function X(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(J(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function Ve(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){n.push(X(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Y(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(J(r,i,e))}}return n.join(`&`)}}function He(e,t){let n=e;for(let r of e.match(Re)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,X(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Y(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${J(e,o)}`);continue}n=n.replace(r,a===`label`?`.${o}`:o)}return n}function Ue(e){return JSON.stringify(e)}function We(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=He(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function Ge(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function Ke(e){return Be(e)}function qe(){let e=f().httpURL;return e.search=``,e.hash=``,e.toString()}function Je(e){if(!e)return;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1])}catch{return}let n=e.match(/filename="([^"]+)"/i);if(n)return n[1];let r=e.match(/filename=([^;]+)/i);if(r)return r[1].trim()}function Ye(e){let t=Je(e.headers.get(`Content-Disposition`));return t||u.warn(`Export response is missing a readable Content-Disposition filename`),t}var Z={post(e,t,n={}){let r=`${S.withTrailingSlash(n.baseUrl??qe())}api${e}`;return fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`,...Z.headers(),...n.headers},body:JSON.stringify(t),signal:n.signal}).then(async e=>{let t=e.headers.get(`Content-Type`)?.startsWith(`application/json`);if(!e.ok){let n=t?await e.json():await e.text();throw new C(e.status,e.statusText,n)}return t?e.json():e.text()}).catch(e=>{throw e?.name!==`AbortError`&&u.error(`Error requesting ${r}`,e),e})},get(e,t={}){let n=`${S.withTrailingSlash(t.baseUrl??qe())}api${e}`;return fetch(n,{method:`GET`,headers:{...Z.headers(),...t.headers}}).then(e=>{if(!e.ok)throw new C(e.status,e.statusText);return e.headers.get(`Content-Type`)?.startsWith(`application/json`)?e.json():null}).catch(e=>{throw u.error(`Error requesting ${n}`,e),e})},headers(){return f().headers()},handleResponse:e=>e.error?Promise.reject(new C(e.response.status,e.response.statusText,e.error)):Promise.resolve(e.data),handleExportResponse:async(e,t)=>{let n=await Z.handleResponse(e),r=e.response.headers.get(`Content-Type`);if(!r)throw Error(`Export response is missing a media type`);return{contents:n,filename:Ye(e.response)??t.defaultFilename,mediaType:r}},handleResponseReturnNull:e=>e.error?Promise.reject(new C(e.response.status,e.response.statusText,e.error)):Promise.resolve(null)};function Xe(e){let t=Ke({baseUrl:e.httpURL.toString()});return t.use({onRequest:t=>{let n=e.headers();for(let[e,r]of Object.entries(n))t.headers.set(e,r);return t}}),t}var Q=s(),Ze=W,Qe=w.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=p(`border-b`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,T.jsx)(G,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Qe.displayName=`AccordionItem`;var $e=w.forwardRef((e,t)=>{let n=(0,Q.c)(12),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=p(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180 text-start`,i),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(ne,{className:`h-4 w-4 transition-transform duration-200`}),n[6]=s):s=n[6];let c;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==o?(c=(0,T.jsx)(Ie,{className:`flex`,children:(0,T.jsxs)(K,{ref:t,className:o,...a,children:[r,s]})}),n[7]=r,n[8]=a,n[9]=t,n[10]=o,n[11]=c):c=n[11],c});$e.displayName=K.displayName;var $=w.forwardRef((e,t)=>{let n=(0,Q.c)(17),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,wrapperClassName:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]===i?s=n[6]:(s=p(`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,i),n[5]=i,n[6]=s);let c;n[7]===o?c=n[8]:(c=p(`pb-4 pt-0`,o),n[7]=o,n[8]=c);let l;n[9]!==r||n[10]!==c?(l=(0,T.jsx)(`div`,{className:c,children:r}),n[9]=r,n[10]=c,n[11]=l):l=n[11];let u;return n[12]!==a||n[13]!==t||n[14]!==s||n[15]!==l?(u=(0,T.jsx)(q,{ref:t,className:s,...a,children:l}),n[12]=a,n[13]=t,n[14]=s,n[15]=l,n[16]=u):u=n[16],u});$.displayName=q.displayName;var et=class{map=new Map;get(e){return this.map.get(e)??[]}set(e,t){this.map.set(e,t)}add(e,t){this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t])}has(e){return this.map.has(e)}delete(e){return this.map.delete(e)}clear(){this.map.clear()}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}forEach(e){this.map.forEach(e)}flatValues(){let e=[];for(let t of this.map.values())e.push(...t);return e}get size(){return this.map.size}},tt=e=>{switch(e){case`chat`:return`chat_model`;case`autocomplete`:return`autocomplete_model`;case`edit`:return`edit_model`}},nt=()=>{let e=(0,Q.c)(10),t=n(c),{saveUserConfig:r}=re(),i;e[0]!==r||e[1]!==t?(i=async e=>{let n={ai:e};await r({config:n}).then(()=>{t(e=>l(e,n))})},e[0]=r,e[1]=t,e[2]=i):i=e[2];let a=i,o;e[3]===a?o=e[4]:(o=async(e,t)=>{let n=tt(t);n&&await a({models:{[n]:e}})},e[3]=a,e[4]=o);let s=o,u;e[5]===a?u=e[6]:(u=async e=>{await a({mode:e})},e[5]=a,e[6]=u);let d=u,f;return e[7]!==d||e[8]!==s?(f={saveModelChange:s,saveModeChange:d},e[7]=d,e[8]=s,e[9]=f):f=e[9],f};export{Qe as a,Xe as c,W as d,K as f,$ as i,q as l,ie as m,et as n,$e as o,ae as p,Ze as r,Z as s,nt as t,G as u};
@@ -1 +0,0 @@
1
- import{a as e,c as t,f as n,l as r,r as i,t as a}from"./useEvent-Dfcbgjhg.js";import{t as o}from"./compiler-runtime-BrajqUja.js";import{g as s}from"./useEventListener-D9cftcHj.js";import{t as c}from"./invariant-Ci2dTZ72.js";import{i as l,t as u}from"./utils-B4K466FK.js";import{p as d,t as f}from"./session-DqoWmb7X.js";import{t as p}from"./Deferred-CrTnjj37.js";var m=o();function h(){return typeof document<`u`&&document.querySelector(`marimo-wasm`)!==null}var ee=Symbol(``);function g(e,t){return n(e,function(e,n,r){n(this,t(e(this),r))})}function te(e,t){let n=null,r=new Map,i=new Set,a=i=>{let s;if(t===void 0)s=r.get(i);else for(let[e,n]of r)if(t(e,i)){s=n;break}if(s!==void 0){if(n?.(s[1],i))a.remove(i);else return s[0]}let c=e(i);return r.set(i,[c,Date.now()]),o(`CREATE`,i,c),c},o=(e,t,n)=>{for(let r of i)r({type:e,param:t,atom:n})};return a.unstable_listen=e=>(i.add(e),()=>{i.delete(e)}),a.getParams=()=>r.keys(),a.remove=e=>{if(t===void 0){if(!r.has(e))return;let[t]=r.get(e);r.delete(e),o(`REMOVE`,e,t)}else for(let[n,[i]]of r)if(t(n,e)){r.delete(n),o(`REMOVE`,n,i);break}},a.setShouldRemove=e=>{if(n=e,n)for(let[e,[t,i]]of r)n(i,e)&&(r.delete(e),o(`REMOVE`,e,t))},a}var _=(e,t,n)=>(t.has(n)?t:t.set(n,e())).get(n),ne=new WeakMap,v=(e,t,n,r)=>_(e,_(()=>new WeakMap,_(()=>new WeakMap,ne,t),n),r);function y(e,t,r=Object.is){return v(()=>{let i=Symbol(),a=([e,n])=>{if(n===i)return t(e);let a=t(e,n);return r(n,a)?n:a},o=n(t=>{let n=t(o),r=t(e);return a([r,n])});return o.init=i,o},e,t,r)}var b=(e,t,n)=>(t.has(n)?t:t.set(n,e())).get(n),x=new WeakMap,S=(e,t,n)=>b(e,b(()=>new WeakMap,x,t),n),C={},w=e=>!!e.write,re=e=>typeof e==`function`;function ie(e,t){return S(()=>{let r=new WeakMap,i=(o,s)=>{let c=r.get(o);if(c)return c;let l=s&&r.get(s),u=[],d=[];return o.forEach((r,s)=>{let c=t?t(r):s;d[s]=c;let f=l&&l.atomList[l.keyList.indexOf(c)];if(f){u[s]=f;return}let p=t=>{let n=t(a),r=t(e),s=i(r,n?.arr).keyList.indexOf(c);if(s<0||s>=r.length){let e=o[i(o).keyList.indexOf(c)];if(e)return e;throw Error(`splitAtom: index out of bounds for read`)}return r[s]};u[s]=w(e)?n(p,(t,n,r)=>{let o=t(a),s=t(e),l=i(s,o?.arr).keyList.indexOf(c);if(l<0||l>=s.length)throw Error(`splitAtom: index out of bounds for write`);let u=re(r)?r(s[l]):r;Object.is(s[l],u)||n(e,[...s.slice(0,l),u,...s.slice(l+1)])}):n(p)}),c=l&&l.keyList.length===d.length&&l.keyList.every((e,t)=>e===d[t])?l:{arr:o,atomList:u,keyList:d},r.set(o,c),c},a=n(t=>{let n=t(a),r=t(e);return i(r,n?.arr)});a.init=void 0;let o=w(e)?n(e=>e(a).atomList,(t,n,r)=>{switch(r.type){case`remove`:{let i=t(o).indexOf(r.atom);if(i>=0){let r=t(e);n(e,[...r.slice(0,i),...r.slice(i+1)])}break}case`insert`:{let i=r.before?t(o).indexOf(r.before):t(o).length;if(i>=0){let a=t(e);n(e,[...a.slice(0,i),r.value,...a.slice(i)])}break}case`move`:{let i=t(o).indexOf(r.atom),a=r.before?t(o).indexOf(r.before):t(o).length;if(i>=0&&a>=0){let r=t(e);i<a?n(e,[...r.slice(0,i),...r.slice(i+1,a),r[i],...r.slice(a)]):n(e,[...r.slice(0,a),r[i],...r.slice(a,i),...r.slice(i+1)])}break}}}):n(e=>e(a).atomList);return o},e,t||C)}var T=e=>typeof e?.then==`function`;function E(e=()=>{try{return window.localStorage}catch{return}},t){let n,r,i={getItem:(i,a)=>{let o=e=>{if(e||=``,n!==e){try{r=JSON.parse(e,t?.reviver)}catch{return a}n=e}return r},s=e()?.getItem(i)??null;return T(s)?s.then(o):o(s)},setItem:(n,r)=>e()?.setItem(n,JSON.stringify(r,t?.replacer)),removeItem:t=>e()?.removeItem(t)},a=e=>(n,r,i)=>e(n,e=>{let n;try{n=JSON.parse(e||``,t?.reviver)}catch{n=i}r(n)}),o;try{o=e()?.subscribe}catch{}return!o&&typeof window<`u`&&typeof window.addEventListener==`function`&&window.Storage&&(o=(t,n)=>{if(!(e()instanceof window.Storage))return()=>{};let r=r=>{r.storageArea===e()&&r.key===t&&n(r.newValue)};return window.addEventListener(`storage`,r),()=>{window.removeEventListener(`storage`,r)}}),o&&(i.subscribe=a(o)),i}var ae=E();function D(e,t,r=ae,i){let a=i?.getOnInit,o=n(a?r.getItem(e,t):t);return o.onMount=n=>(n(r.getItem(e,t)),r.subscribe?.call(r,e,n,t)),n(e=>e(o),(n,i,a)=>{let s=typeof a==`function`?a(n(o)):a;return s===ee?(i(o,t),r.removeItem(e)):T(s)?s.then(t=>(i(o,t),r.setItem(e,t))):(i(o,s),r.setItem(e,s))})}var O={NOT_STARTED:`NOT_STARTED`,CONNECTING:`CONNECTING`,OPEN:`OPEN`,CLOSING:`CLOSING`,CLOSED:`CLOSED`},k={KERNEL_DISCONNECTED:`KERNEL_DISCONNECTED`,KERNEL_STARTUP_ERROR:`KERNEL_STARTUP_ERROR`},A={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},j=n({state:O.NOT_STARTED}),M=g(null,(e,t)=>t===null?null:{phase:t.phase,logs:t.log_mode===`append`&&e?.phase===t.phase?e.logs+t.logs:t.logs});function N(){return e(j,e=>e.state===O.OPEN)}function P(){return d()?N():Promise.resolve()}var F=n(e=>e(j).state===O.CONNECTING),I=n(e=>e(j).state===O.OPEN),L=n(e=>{let t=e(j);return t.state===O.OPEN||t.state===O.NOT_STARTED});n(e=>e(j).state===O.CLOSED);var R=n(e=>e(j).state===O.NOT_STARTED);function z(e){return e===O.CONNECTING}function B(e){return e===O.OPEN}function V(e){return e===O.CLOSING}function H(e){return e===O.NOT_STARTED}function oe(e){return e===O.CLOSED||e===O.CLOSING||e===O.CONNECTING}function U(e){switch(e){case O.CLOSED:return`App disconnected`;case O.CONNECTING:return`Connecting to a runtime ...`;case O.CLOSING:return`App disconnecting...`;case O.OPEN:return``;case O.NOT_STARTED:return`Click to connect to a runtime`;default:return``}}function W(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e))if(typeof t!=`string`)return!1;return!0}function G(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return!(!W(t.files)||t.modelNotifications!==void 0&&!Array.isArray(t.modelNotifications))}function K(){let e=typeof window>`u`?void 0:window.__MARIMO_STATIC__;return G(e)?e:void 0}function q(){return K()!==void 0}function se(){let e=K();return c(e!==void 0,`Not a static notebook`),e.files}function ce(){return K()?.modelNotifications}var le=[`marimo`],ue=class{initialHealthyCheck=new p;config;lazy;constructor(e,t=!1){this.config=e,this.lazy=t;try{new URL(this.config.url)}catch(e){throw Error(`Invalid runtime URL: ${this.config.url}. ${e instanceof Error?e.message:`Unknown error`}`,{cause:e})}this.lazy||this.init()}get isLazy(){return this.lazy}get httpURL(){return new URL(this.config.url)}get isSameOrigin(){return this.httpURL.origin===window.location.origin}get isServerless(){return h()||u()||q()}formatHttpURL({path:e=``,searchParams:t,restrictToKnownQueryParams:n=!0}){let r=this.httpURL,i=new URLSearchParams(window.location.search);if(t)for(let[e,n]of t.entries())r.searchParams.set(e,n);for(let[e,t]of i.entries())n&&!Object.values(l).includes(e)||r.searchParams.set(e,t);return r.pathname=`${r.pathname.replace(/\/$/,``)}/${e.replace(/^\//,``)}`,r.hash=``,r}appendCrossOriginAuth(e){return!this.isSameOrigin&&this.config.authToken&&e.searchParams.set(l.accessToken,this.config.authToken),e}formatNavigableHttpURL(e,t){let n=this.formatHttpURL({path:e,searchParams:t});return n.searchParams.delete(l.accessToken),this.appendCrossOriginAuth(n)}formatWsURL(e,t){let n=this.formatHttpURL({path:e,searchParams:t,restrictToKnownQueryParams:!1});return de(this.appendCrossOriginAuth(n).toString())}getSessionSearchParams(e){let t=new URL(this.config.url),n=new URLSearchParams(t.search);return new URLSearchParams(window.location.search).forEach((e,t)=>{n.has(t)||n.set(t,e)}),n.set(l.sessionId,e),n}getWsURL(e){let t=this.getSessionSearchParams(e),n=this.config.notebookId,r=n?`/api/marimo/v1/notebooks/${encodeURIComponent(n)}/events/ws`:`/ws`,i=this.formatWsURL(r,t);return n&&i.searchParams.set(`types`,le.join(`,`)),i}getSseURL(e){let t=this.formatHttpURL({path:`/sse`,searchParams:this.getSessionSearchParams(e),restrictToKnownQueryParams:!1});return t.searchParams.delete(l.accessToken),t}getWsSyncURL(e){return this.formatWsURL(`/ws_sync`,this.getSessionSearchParams(e))}getTerminalWsURL(e){let t=this.formatWsURL(`/terminal/ws`);return e&&(t.searchParams.set(`rows`,String(e.rows)),t.searchParams.set(`cols`,String(e.cols))),t}getLSPURL(e){if(e===`copilot`){let t=this.formatWsURL(`/lsp/${e}`),n=t.searchParams.get(l.accessToken);return t.search=``,n&&t.searchParams.set(l.accessToken,n),t}return this.formatWsURL(`/lsp/${e}`)}getAiURL(e){return this.formatHttpURL({path:`/api/ai/${e}`})}healthURL(){return this.formatHttpURL({path:`/health`})}async fetchHealth(){try{return await fetch(this.healthURL().toString())}catch(e){return s.error(`Failed to check health: ${e instanceof Error?e.message:`Unknown error`}`,{cause:e}),null}}async reconcileFromHealth(){if(this.isServerless)return!0;let e=await this.fetchHealth();if(!e)return!1;if(e.redirected){s.debug(`Runtime redirected to ${e.url}`);let t=new URL(e.url);t.pathname=t.pathname.replace(/\/health$/,``),this.config.url=t.toString()}return e.ok&&this.setDOMBaseUri(this.config.url),e.ok}async probeHealth(){return this.isServerless?!0:(await this.fetchHealth())?.ok??!1}setDOMBaseUri(e){e=e.split(`?`,1)[0],e.endsWith(`/`)||(e+=`/`);let t=document.querySelector(`base`);t?t.setAttribute(`href`,e):(t=document.createElement(`base`),t.setAttribute(`href`,e),document.head.append(t))}async init(e){s.debug(`Initializing runtime...`);let t=0;for(;!await this.reconcileFromHealth();){if(t>=25){s.error(`Failed to connect after 25 retries`),this.initialHealthyCheck.reject(Error(`Failed to connect after 25 retries`));return}if(!e?.disableRetryDelay){let e=Math.min(100*1.2**t,2e3);await new Promise(t=>setTimeout(t,e))}t++}s.debug(`Runtime is healthy`),this.initialHealthyCheck.resolve()}async waitForHealthy(){return this.initialHealthyCheck.promise}headers(){let e={"Marimo-Session-Id":f(),"Marimo-Server-Token":this.config.serverToken??``,"x-runtime-url":this.httpURL.toString()};return this.config.authToken&&(e.Authorization=`Bearer ${this.config.authToken}`),e}sessionHeaders(){return{"Marimo-Session-Id":f()}}};function de(e){if(!e.startsWith(`http`)){s.warn(`URL must start with http: ${e}`);let t=new URL(e);return t.protocol=`ws`,t}return new URL(e.replace(/^http/,`ws`))}function J(){let e=new URL(document.baseURI);return e.search=``,e.hash=``,e.toString()}var Y={lazy:!0,url:J()},X=n(Y),Z=n(e=>{let t=e(X);return new ue(t,t.lazy)});function Q(){return r(Z)}function fe(){let e=(0,m.c)(4),n=Q(),[r,i]=t(j),o;return e[0]!==r.state||e[1]!==n||e[2]!==i?(o=async()=>{H(r.state)?(i({state:O.CONNECTING}),await n.init()):s.log(`Runtime already started or starting...`)},e[0]=r.state,e[1]=n,e[2]=i,e[3]=o):o=e[3],a(o)}function $(){return i.get(Z)}function pe(e){if(e.startsWith(`http`))return new URL(e);let t=$().httpURL.toString();return t.startsWith(`blob:`)&&(t=t.replace(`blob:`,``)),new URL(e,t)}export{E as A,P as C,te as D,A as E,ie as M,h as N,g as O,N as S,O as T,j as _,fe as a,R as b,se as c,V as d,B as f,L as g,H as h,X as i,y as j,D as k,q as l,oe as m,pe as n,Q as o,z as p,$ as r,ce as s,Y as t,U as u,I as v,k as w,M as x,F as y};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{t as n}from"./react-dom-_LrxgvjW.js";import{o as r}from"./useEventListener-D9cftcHj.js";import{t as i}from"./jsx-runtime-B74pBk57.js";import{S as a,T as o,v as s,w as c}from"./fullscreen-B9tHcfpV.js";var l=e(t(),1),u=i(),d=Object.defineProperty,f=(e,t)=>d(e,`name`,{value:t,configurable:!0}),p=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),m=l.forwardRef(f(function(e,t){return(0,u.jsx)(o.span,{...e,ref:t,style:{...p,...e.style}})},`VisuallyHidden`)),h=m,g=e(n(),1),_=Object.defineProperty,v=(e,t)=>_(e,`name`,{value:t,configurable:!0});function y(e){let[t,n]=l.useState(void 0);return a(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}v(y,`useSize`);var b=[`top`,`right`,`bottom`,`left`],x=Math.min,S=Math.max,C=Math.round,w=Math.floor,T=e=>({x:e,y:e}),E={left:`right`,right:`left`,bottom:`top`,top:`bottom`},D={start:`end`,end:`start`};function O(e,t,n){return S(e,x(t,n))}function k(e,t){return typeof e==`function`?e(t):e}function A(e){return e.split(`-`)[0]}function j(e){return e.split(`-`)[1]}function M(e){return e===`x`?`y`:`x`}function N(e){return e===`y`?`height`:`width`}var P=new Set([`top`,`bottom`]);function F(e){return P.has(A(e))?`y`:`x`}function I(e){return M(F(e))}function ee(e,t,n){n===void 0&&(n=!1);let r=j(e),i=I(e),a=N(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ae(o)),[o,ae(o)]}function L(e){let t=ae(e);return[R(e),t,R(t)]}function R(e){return e.replace(/start|end/g,e=>D[e])}var z=[`left`,`right`],B=[`right`,`left`],te=[`top`,`bottom`],ne=[`bottom`,`top`];function re(e,t,n){switch(e){case`top`:case`bottom`:return n?t?B:z:t?z:B;case`left`:case`right`:return t?te:ne;default:return[]}}function ie(e,t,n,r){let i=j(e),a=re(A(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(R)))),a}function ae(e){return e.replace(/left|right|bottom|top/g,e=>E[e])}function oe(e){return{top:0,right:0,bottom:0,left:0,...e}}function se(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:oe(e)}function V(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function ce(e,t,n){let{reference:r,floating:i}=e,a=F(t),o=I(t),s=N(o),c=A(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(j(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1)}return p}var le=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ce(l,r,c),f=r,p={},m=0;for(let n=0;n<s.length;n++){let{name:a,fn:h}=s[n],{x:g,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:p,rects:l,platform:o,elements:{reference:e,floating:t}});u=g??u,d=_??d,p={...p,[a]:{...p[a],...v}},y&&m<=50&&(m++,typeof y==`object`&&(y.placement&&(f=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):y.rects),{x:u,y:d}=ce(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}};async function H(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=k(t,e),p=se(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=V(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=V(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ue=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=k(e,t)||{};if(l==null)return{};let d=se(u),f={x:n,y:r},p=I(i),m=N(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],S=f[p]-a.reference[p],C=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),w=C?C[y]:0;(!w||!await(o.isElement==null?void 0:o.isElement(C)))&&(w=s.floating[y]||a.floating[m]);let T=b/2-S/2,E=w/2-h[m]/2-1,D=x(d[_],E),A=x(d[v],E),M=D,P=w-h[m]-A,F=w/2-h[m]/2+T,ee=O(M,F,P),L=!c.arrow&&j(i)!=null&&F!==ee&&a.reference[m]/2-(F<M?D:A)-h[m]/2<0,R=L?F<M?F-M:F-P:0;return{[p]:f[p]+R,data:{[p]:ee,centerOffset:F-ee-R,...L&&{alignmentOffset:R}},reset:L}}}),de=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=k(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=A(r),_=F(o),v=A(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ae(o)]:L(o)),x=p!==`none`;!d&&x&&b.push(...ie(o,m,p,y));let S=[o,...b],C=await H(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=ee(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===F(t)||T.every(e=>e.overflows[0]>0&&F(e.placement)===_)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=F(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function fe(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function pe(e){return b.some(t=>e[t]>=0)}var me=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n}=t,{strategy:r=`referenceHidden`,...i}=k(e,t);switch(r){case`referenceHidden`:{let e=fe(await H(t,{...i,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:pe(e)}}}case`escaped`:{let e=fe(await H(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:pe(e)}}}default:return{}}}}},he=new Set([`left`,`top`]);async function ge(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=A(n),s=j(n),c=F(n)===`y`,l=he.has(o)?-1:1,u=a&&c?-1:1,d=k(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var _e=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ge(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},ve=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=k(e,t),l={x:n,y:r},u=await H(t,c),d=F(A(i)),f=M(d),p=l[f],m=l[d];if(a){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=p+u[e],r=p-u[t];p=O(n,p,r)}if(o){let e=d===`y`?`top`:`left`,t=d===`y`?`bottom`:`right`,n=m+u[e],r=m-u[t];m=O(n,m,r)}let h=s.fn({...t,[f]:p,[d]:m});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[f]:a,[d]:o}}}}}},ye=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=k(e,t),u={x:n,y:r},d=F(i),f=M(d),p=u[f],m=u[d],h=k(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=he.has(A(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},be=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=k(e,t),u=await H(t,l),d=A(i),f=j(i),p=F(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=x(h-u[g],v),C=x(m-u[_],y),w=!t.middlewareData.shift,T=b,E=C;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(E=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(T=v),w&&!f){let e=S(u.left,0),t=S(u.right,0),n=S(u.top,0),r=S(u.bottom,0);p?E=m-2*(e!==0||t!==0?e+t:S(u.left,u.right)):T=h-2*(n!==0||r!==0?n+r:S(u.top,u.bottom))}await c({...t,availableWidth:E,availableHeight:T});let D=await o.getDimensions(s.floating);return m!==D.width||h!==D.height?{reset:{rects:!0}}:{}}}};function xe(){return typeof window<`u`}function U(e){return Se(e)?(e.nodeName||``).toLowerCase():`#document`}function W(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function G(e){return((Se(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Se(e){return xe()?e instanceof Node||e instanceof W(e).Node:!1}function K(e){return xe()?e instanceof Element||e instanceof W(e).Element:!1}function q(e){return xe()?e instanceof HTMLElement||e instanceof W(e).HTMLElement:!1}function Ce(e){return!xe()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof W(e).ShadowRoot}var we=new Set([`inline`,`contents`]);function Te(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Y(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!we.has(i)}var Ee=new Set([`table`,`td`,`th`]);function De(e){return Ee.has(U(e))}var Oe=[`:popover-open`,`:modal`];function ke(e){return Oe.some(t=>{try{return e.matches(t)}catch{return!1}})}var Ae=[`transform`,`translate`,`scale`,`rotate`,`perspective`],je=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],Me=[`paint`,`layout`,`strict`,`content`];function Ne(e){let t=Fe(),n=K(e)?Y(e):e;return Ae.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||je.some(e=>(n.willChange||``).includes(e))||Me.some(e=>(n.contain||``).includes(e))}function Pe(e){let t=X(e);for(;q(t)&&!J(t);){if(Ne(t))return t;if(ke(t))return null;t=X(t)}return null}function Fe(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var Ie=new Set([`html`,`body`,`#document`]);function J(e){return Ie.has(U(e))}function Y(e){return W(e).getComputedStyle(e)}function Le(e){return K(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function X(e){if(U(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ce(e)&&e.host||G(e);return Ce(t)?t.host:t}function Re(e){let t=X(e);return J(t)?e.ownerDocument?e.ownerDocument.body:e.body:q(t)&&Te(t)?t:Re(t)}function ze(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Re(e),i=r===e.ownerDocument?.body,a=W(r);if(i){let e=Be(a);return t.concat(a,a.visualViewport||[],Te(r)?r:[],e&&n?ze(e):[])}return t.concat(r,ze(r,[],n))}function Be(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ve(e){let t=Y(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=q(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=C(n)!==a||C(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function He(e){return K(e)?e:e.contextElement}function Z(e){let t=He(e);if(!q(t))return T(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ve(t),o=(a?C(n.width):n.width)/r,s=(a?C(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ue=T(0);function We(e){let t=W(e);return!Fe()||!t.visualViewport?Ue:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ge(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==W(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=He(e),o=T(1);t&&(r?K(r)&&(o=Z(r)):o=Z(e));let s=Ge(a,n,r)?We(a):T(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=W(a),t=r&&K(r)?W(r):r,n=e,i=Be(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=Y(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=W(i),i=Be(n)}}return V({width:u,height:d,x:c,y:l})}function Ke(e,t){let n=Le(e).scrollLeft;return t?t.left+n:Q(G(e)).left+n}function qe(e,t,n){n===void 0&&(n=!1);let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-(n?0:Ke(e,r)),y:r.top+t.scrollTop}}function Je(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=G(r),s=t?ke(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=T(1),u=T(0),d=q(r);if((d||!d&&!a)&&((U(r)!==`body`||Te(o))&&(c=Le(r)),q(r))){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?qe(o,c,!0):T(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Ye(e){return Array.from(e.getClientRects())}function Xe(e){let t=G(e),n=Le(e),r=e.ownerDocument.body,i=S(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=S(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Ke(e),s=-n.scrollTop;return Y(r).direction===`rtl`&&(o+=S(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function Ze(e,t){let n=W(e),r=G(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Fe();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s,y:c}}var Qe=new Set([`absolute`,`fixed`]);function $e(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=q(e)?Z(e):T(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function et(e,t,n){let r;if(t===`viewport`)r=Ze(e,n);else if(t===`document`)r=Xe(G(e));else if(K(t))r=$e(t,n);else{let n=We(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return V(r)}function tt(e,t){let n=X(e);return n===t||!K(n)||J(n)?!1:Y(n).position===`fixed`||tt(n,t)}function nt(e,t){let n=t.get(e);if(n)return n;let r=ze(e,[],!1).filter(e=>K(e)&&U(e)!==`body`),i=null,a=Y(e).position===`fixed`,o=a?X(e):e;for(;K(o)&&!J(o);){let t=Y(o),n=Ne(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&Qe.has(i.position)||Te(o)&&!n&&tt(e,o))?r=r.filter(e=>e!==o):i=t,o=X(o)}return t.set(e,r),r}function rt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ke(t)?[]:nt(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=et(t,n,i);return e.top=S(r.top,e.top),e.right=x(r.right,e.right),e.bottom=x(r.bottom,e.bottom),e.left=S(r.left,e.left),e},et(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function it(e){let{width:t,height:n}=Ve(e);return{width:t,height:n}}function at(e,t,n){let r=q(t),i=G(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=T(0);function l(){c.x=Ke(i)}if(r||!r&&!a){if((U(t)!==`body`||Te(i))&&(s=Le(t)),r){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l()}a&&!r&&i&&l();let u=i&&!r&&!a?qe(i,s):T(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function ot(e){return Y(e).position===`static`}function st(e,t){if(!q(e)||Y(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return G(e)===n&&(n=n.ownerDocument.body),n}function ct(e,t){let n=W(e);if(ke(e))return n;if(!q(e)){let t=X(e);for(;t&&!J(t);){if(K(t)&&!ot(t))return t;t=X(t)}return n}let r=st(e,t);for(;r&&De(r)&&ot(r);)r=st(r,t);return r&&J(r)&&ot(r)&&!Ne(r)?n:r||Pe(e)||n}var lt=async function(e){let t=this.getOffsetParent||ct,n=this.getDimensions,r=await n(e.floating);return{reference:at(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function ut(e){return Y(e).direction===`rtl`}var dt={convertOffsetParentRelativeRectToViewportRelativeRect:Je,getDocumentElement:G,getClippingRect:rt,getOffsetParent:ct,getElementRects:lt,getClientRects:Ye,getDimensions:it,getScale:Z,isElement:K,isRTL:ut};function ft(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pt(e,t){let n=null,r,i=G(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=w(d),h=w(i.clientWidth-(u+f)),g=w(i.clientHeight-(d+p)),_=w(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:S(0,x(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ft(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function mt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=He(e),u=i||a?[...l?ze(l):[],...ze(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?pt(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!ft(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var ht=_e,gt=ve,_t=de,vt=be,yt=me,bt=ue,xt=ye,St=(e,t,n)=>{let r=new Map,i={platform:dt,...n},a={...i.platform,_c:r};return le(e,t,{...i,platform:a})},Ct=typeof document<`u`?l.useLayoutEffect:function(){};function wt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!wt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!wt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Tt(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Et(e,t){let n=Tt(e);return Math.round(t*n)/n}function Dt(e){let t=l.useRef(e);return Ct(()=>{t.current=e}),t}function Ot(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:u}=e,[d,f]=l.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=l.useState(r);wt(p,r)||m(r);let[h,_]=l.useState(null),[v,y]=l.useState(null),b=l.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=l.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=a||h,C=o||v,w=l.useRef(null),T=l.useRef(null),E=l.useRef(d),D=c!=null,O=Dt(c),k=Dt(i),A=Dt(u),j=l.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:p};k.current&&(e.platform=k.current),St(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!wt(E.current,t)&&(E.current=t,g.flushSync(()=>{f(t)}))})},[p,t,n,k,A]);Ct(()=>{u===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let M=l.useRef(!1);Ct(()=>(M.current=!0,()=>{M.current=!1}),[]),Ct(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=l.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=l.useMemo(()=>({reference:S,floating:C}),[S,C]),F=l.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=Et(P.floating,d.x),r=Et(P.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Tt(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,P.floating,d.x,d.y]);return l.useMemo(()=>({...d,update:j,refs:N,elements:P,floatingStyles:F}),[d,j,N,P,F])}var kt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:bt({element:r.current,padding:i}).fn(n):r?bt({element:r,padding:i}).fn(n):{}}}},At=(e,t)=>({...ht(e),options:[e,t]}),jt=(e,t)=>({...gt(e),options:[e,t]}),Mt=(e,t)=>({...xt(e),options:[e,t]}),Nt=(e,t)=>({..._t(e),options:[e,t]}),Pt=(e,t)=>({...vt(e),options:[e,t]}),Ft=(e,t)=>({...yt(e),options:[e,t]}),It=(e,t)=>({...kt(e),options:[e,t]}),Lt=Object.defineProperty,$=(e,t)=>Lt(e,`name`,{value:t,configurable:!0}),Rt=`Popper`,[zt,Bt]=c(Rt),[Vt,Ht]=zt(Rt),Ut=$(e=>{let{__scopePopper:t,children:n}=e,[r,i]=l.useState(null),[a,o]=l.useState(void 0);return(0,u.jsx)(Vt,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),Wt=`PopperAnchor`,Gt=l.forwardRef($(function(e,t){let{__scopePopper:n,virtualRef:i,...a}=e,s=Ht(Wt,n),c=l.useRef(null),d=s.onAnchorChange,f=l.useCallback(e=>{c.current=e,e&&d(e)},[d]),p=r(t,f),m=l.useRef(null);l.useEffect(()=>{if(!i)return;let e=m.current;m.current=i.current,e!==m.current&&d(m.current)});let h=s.placementState&&Qt(s.placementState),g=h?.[0],_=h?.[1];return i?null:(0,u.jsx)(o.div,{"data-radix-popper-side":g,"data-radix-popper-align":_,...a,ref:p})},`PopperAnchor`)),Kt=`PopperContent`,[qt,Jt]=zt(Kt),Yt=l.forwardRef($(function(e,t){let{__scopePopper:n,side:i=`bottom`,sideOffset:c=0,align:d=`center`,alignOffset:f=0,arrowPadding:p=0,avoidCollisions:m=!0,collisionBoundary:h=[],collisionPadding:g=0,sticky:_=`partial`,hideWhenDetached:v=!1,updatePositionStrategy:b=`optimized`,onPlaced:x,...S}=e,C=Ht(Kt,n),[w,T]=l.useState(null),E=r(t,T),[D,O]=l.useState(null),k=y(D),A=k?.width??0,j=k?.height??0,M=i+(d===`center`?``:`-`+d),N=typeof g==`number`?g:{top:0,right:0,bottom:0,left:0,...g},P=Array.isArray(h)?h:[h],F=P.length>0,I={padding:N,boundary:P.filter(Xt),altBoundary:F},{refs:ee,floatingStyles:L,placement:R,isPositioned:z,middlewareData:B}=Ot({strategy:`fixed`,placement:M,whileElementsMounted:$((...e)=>mt(...e,{animationFrame:b===`always`}),`whileElementsMounted`),elements:{reference:C.anchor},middleware:[At({mainAxis:c+j,alignmentAxis:f}),m&&jt({mainAxis:!0,crossAxis:!1,limiter:_===`partial`?Mt():void 0,...I}),m&&Nt({...I}),Pt({...I,apply:$(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)},`apply`)}),D&&It({element:D,padding:p}),Zt({arrowWidth:A,arrowHeight:j}),v&&Ft({strategy:`referenceHidden`,...I,boundary:F?I.boundary:void 0})]}),te=C.setPlacementState;a(()=>(te(R),()=>{te(void 0)}),[R,te]);let[ne,re]=Qt(R),ie=s(x);a(()=>{z&&ie?.()},[z,ie]);let ae=B.arrow?.x,oe=B.arrow?.y,se=B.arrow?.centerOffset!==0,[V,ce]=l.useState();return a(()=>{w&&ce(window.getComputedStyle(w).zIndex)},[w]),(0,u.jsx)(`div`,{ref:ee.setFloating,"data-radix-popper-content-wrapper":``,style:{...L,transform:z?L.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:V,"--radix-popper-transform-origin":[B.transformOrigin?.x,B.transformOrigin?.y].join(` `),...B.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,u.jsx)(qt,{scope:n,placedSide:ne,placedAlign:re,onArrowChange:O,arrowX:ae,arrowY:oe,shouldHideArrow:se,children:(0,u.jsx)(o.div,{"data-side":ne,"data-align":re,...S,ref:E,style:{...S.style,animation:z?S.style?.animation:`none`}})})})},`PopperContent`));function Xt(e){return e!==null}$(Xt,`isNotNull`);var Zt=$(e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Qt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}),`transformOrigin`);function Qt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}$(Qt,`getSideAndAlignFromPlacement`);var $t=Ut,en=Gt,tn=Yt;export{y as a,m as c,Bt as i,tn as n,h as o,$t as r,p as s,en as t};
@@ -1,9 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{bo as n}from"./cells-C6YGYGdi.js";import{t as r}from"./compiler-runtime-BrajqUja.js";import{g as i}from"./useEventListener-D9cftcHj.js";import{t as a}from"./cn-ldLVeaqm.js";import{t as o}from"./jsx-runtime-B74pBk57.js";import{T as s,w as c}from"./fullscreen-B9tHcfpV.js";import{t as l}from"./createLucideIcon-DfJ2oMlA.js";import{t as u}from"./use-toast-Wu434mLr.js";import{a as d}from"./errors-CNsgAw6m.js";import{t as f}from"./html-to-image-DK9Zl1lU.js";var p=e(t(),1),m=o(),h=Object.defineProperty,g=(e,t)=>h(e,`name`,{value:t,configurable:!0}),_=`Progress`,v=100,[y,ee]=c(_),[b,te]=y(_),x=p.forwardRef(g(function(e,t){let{__scopeProgress:n,value:r=null,max:i,getValueLabel:a=w,...o}=e;(i||i===0)&&!D(i)&&console.error(k(`${i}`,`Progress`));let c=D(i)?i:v;r!==null&&!O(r,c)&&console.error(A(`${r}`,`Progress`));let l=O(r,c)?r:null,u=E(l)?a(l,c):void 0;return(0,m.jsx)(b,{scope:n,value:l,max:c,children:(0,m.jsx)(s.div,{"aria-valuemax":c,"aria-valuemin":0,"aria-valuenow":E(l)?l:void 0,"aria-valuetext":u,role:`progressbar`,"data-state":T(l,c),"data-value":l??void 0,"data-max":c,...o,ref:t})})},`Progress`)),S=`ProgressIndicator`,C=p.forwardRef(g(function(e,t){let{__scopeProgress:n,...r}=e,i=te(S,n);return(0,m.jsx)(s.div,{"data-state":T(i.value,i.max),"data-value":i.value??void 0,"data-max":i.max,...r,ref:t})},`ProgressIndicator`));function w(e,t){return`${Math.round(e/t*100)}%`}g(w,`defaultGetValueLabel`);function T(e,t){return e==null?`indeterminate`:e===t?`complete`:`loading`}g(T,`getProgressState`);function E(e){return typeof e==`number`}g(E,`isNumber`);function D(e){return E(e)&&!isNaN(e)&&e>0}g(D,`isValidMaxNumber`);function O(e,t){return E(e)&&!isNaN(e)&&e<=t&&e>=0}g(O,`isValidValueNumber`);function k(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${v}\`.`}g(k,`getInvalidMaxError`);function A(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
2
- - a positive number
3
- - less than the value passed to \`max\` (or ${v} if no \`max\` prop is set)
4
- - \`null\` or \`undefined\` if the progress is indeterminate.
5
-
6
- Defaulting to \`null\`.`}g(A,`getInvalidValueError`);var j=x,M=C,N=l(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),P={toMarkdown:e=>P.replace(e,`md`),toHTML:e=>P.replace(e,`html`),toPNG:e=>P.replace(e,`png`),toPDF:e=>P.replace(e,`pdf`),toPY:e=>P.replace(e,`py`),toIPYNB:e=>P.replace(e,`ipynb`),withoutExtension:e=>{let t=e.split(`.`);return t.length===1?e:t.slice(0,-1).join(`.`)},replace:(e,t)=>e.endsWith(`.${t}`)?e:`${P.withoutExtension(e)}.${t}`},F={png:`png`,jpg:`jpg`,jpeg:`jpeg`,gif:`gif`,webp:`webp`,avif:`avif`,bmp:`bmp`,tiff:`tiff`,svg:`svg`,"svg+xml":`svg`};function ne(e){let t=e.match(/^data:image\/([^,;]+)/);if(t)return F[t[1]];try{return F[new URL(e,window.location.href).pathname.split(`.`).pop()?.toLowerCase()??``]}catch{return}}var I=320,L=180;function R(e){if(!e||e===`about:blank`)return null;try{let t=new URL(e,window.location.href);return t.origin===window.location.origin?null:t.href}catch{return e}}function z(e,t,n){let r=[],i=``;for(let a of t){let t=i+a;e.measureText(t).width<=n?i=t:(i&&r.push(i),i=a)}return i&&r.push(i),r}function B(e){let t=window.devicePixelRatio||1,n=document.createElement(`canvas`);n.width=I*t,n.height=L*t;let r=n.getContext(`2d`);if(!r)return n.toDataURL(`image/png`);r.scale(t,t),r.fillStyle=`#f3f4f6`,r.fillRect(0,0,I,L),r.strokeStyle=`#d1d5db`,r.strokeRect(.5,.5,319,179),r.fillStyle=`#6b7280`,r.font=`8px sans-serif`,r.textAlign=`center`,r.textBaseline=`middle`;let i=e?z(r,e,288):[],a=(L-(1+i.length)*14)/2+7;r.fillText(`External iframe`,I/2,a),a+=14;for(let e of i)r.fillText(e,I/2,a),a+=14;return n.toDataURL(`image/png`)}async function V(e){let t=e.querySelector(`iframe`);if(!t)return null;let n=R(t.getAttribute(`src`));if(n)return B(n);let r;try{let e=t.contentDocument||t.contentWindow?.document;if(!e?.body)return null;r=e}catch{return B(null)}for(let e of r.querySelectorAll(`iframe`)){let t=R(e.getAttribute(`src`));if(t)return B(t)}return null}var H=class e{progress=0;total;listeners=new Set;constructor(e){this.total=e}static indeterminate(){return new e(`indeterminate`)}addTotal(e){this.total===`indeterminate`?this.total=e:this.total+=e,this.notifyListeners()}increment(e){this.progress+=e,this.notifyListeners()}getProgress(){return this.total===`indeterminate`?`indeterminate`:this.progress/this.total*100}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notifyListeners(){let e=this.getProgress();for(let t of this.listeners)t(e)}},U=r(),W=p.forwardRef((e,t)=>{let n=(0,U.c)(20),r,i,o,s;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4]):({className:r,value:s,indeterminate:i,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s);let c;n[5]===r?c=n[6]:(c=a(`relative h-2 w-full overflow-hidden rounded-full bg-primary/20`,r),n[5]=r,n[6]=c);let l=i?`w-1/3 animate-progress-indeterminate`:`w-full transition-transform duration-300 ease-out`,u;n[7]===l?u=n[8]:(u=a(`h-full flex-1 bg-primary`,l),n[7]=l,n[8]=u);let d;n[9]!==i||n[10]!==s?(d=i?void 0:{transform:`translateX(-${100-(s||0)}%)`},n[9]=i,n[10]=s,n[11]=d):d=n[11];let f;n[12]!==u||n[13]!==d?(f=(0,m.jsx)(M,{className:u,style:d}),n[12]=u,n[13]=d,n[14]=f):f=n[14];let p;return n[15]!==o||n[16]!==t||n[17]!==c||n[18]!==f?(p=(0,m.jsx)(j,{ref:t,className:c,...o,children:f}),n[15]=o,n[16]=t,n[17]=c,n[18]=f,n[19]=p):p=n[19],p});W.displayName=j.displayName;var G=e=>{let t=(0,U.c)(13),{progress:n,showPercentage:r}=e,i=r!==void 0&&r,a,o;t[0]===n?(a=t[1],o=t[2]):(a=e=>n.subscribe(e),o=()=>n.getProgress(),t[0]=n,t[1]=a,t[2]=o);let s=(0,p.useSyncExternalStore)(a,o),c=s===`indeterminate`||s===100,l=c?void 0:s,u;t[3]!==c||t[4]!==l?(u=(0,m.jsx)(W,{value:l,indeterminate:c}),t[3]=c,t[4]=l,t[5]=u):u=t[5];let d;t[6]!==c||t[7]!==i||t[8]!==s?(d=!c&&i&&(0,m.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground text-right`,children:[Math.round(s),`%`]}),t[6]=c,t[7]=i,t[8]=s,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,m.jsxs)(`div`,{className:`mt-2 w-full min-w-[200px]`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f},K=1200;async function q(e,t,n){let r=H.indeterminate(),i=u({title:e,description:p.createElement(G,{progress:r}),duration:1/0});try{let e=await t(r);return n?i.update({duration:K,description:void 0,...n}):i.dismiss(),e}catch(e){throw i.dismiss(),e}}function J(e){let t=document.getElementById(n.create(e));if(!t){i.error(`Output element not found for cell ${e}`);return}return t}var Y=500,X=`
7
- * { scrollbar-width: none; -ms-overflow-style: none; }
8
- *::-webkit-scrollbar { display: none; }
9
- `;async function Z(e){let t=J(e);if(!t)return;let n=await V(t);if(n)return n;let r=Date.now(),a=await f(t,{extraStyleContent:X,style:{maxHeight:`none`,overflow:`visible`},height:t.scrollHeight}),o=Date.now()-r;return o>Y&&i.debug(`toPng operation for element`,t,`took ${o} ms (exceeds threshold)`),a}async function re(e,t){try{let n=await Z(e);if(!n)throw Error(`Failed to get image data URL`);Q(n,P.toPNG(t))}catch(e){u({title:`Failed to download PNG`,description:d(e),variant:`danger`})}}var ie=()=>(document.body.classList.add(`printing`),()=>{document.body.classList.remove(`printing`)});async function ae(e){let{element:t,filename:n,prepare:r}=e,a=document.getElementById(`App`),o=a?.scrollTop??0,s;r&&(s=r(t));try{return Q(await f(t),P.toPNG(n)),!0}catch(e){return i.error(`Error downloading as PNG`,e),u({title:`Failed to download as PNG`,description:d(e),variant:`danger`}),!1}finally{s?.(),document.body.classList.contains(`printing`)&&document.body.classList.remove(`printing`),requestAnimationFrame(()=>{a?.scrollTo(0,o)})}}function Q(e,t){let n=document.createElement(`a`);n.href=e,t&&(n.download=t),n.click(),n.remove()}function $(e,t){let n=URL.createObjectURL(e);Q(n,t),URL.revokeObjectURL(n)}function oe({contents:e,filename:t,mediaType:n}){$(new Blob([e],{type:n}),t)}export{oe as a,q as c,P as d,ne as f,re as i,W as l,$ as n,ae as o,N as p,Q as r,Z as s,ie as t,H as u};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{o as r,r as i}from"./useEventListener-D9cftcHj.js";import{t as a}from"./cn-ldLVeaqm.js";import{t as o}from"./jsx-runtime-B74pBk57.js";import{C as s,E as c,T as l,a as u,b as d,c as f,d as p,f as m,h as ee,i as h,l as te,p as ne,s as re,t as g,v as _,w as v,x as y,y as b}from"./fullscreen-B9tHcfpV.js";import{i as ie,n as ae,r as x,t as oe}from"./dist-iaThVDkA.js";import{a as S,c as C,d as se,i as w,l as T,n as ce,o as E,r as D,s as O,u as le}from"./menu-items-BrwnTgyK.js";import{i as k,n as ue,r as de,t as A}from"./circle-DXf-VWZG.js";import{t as fe}from"./check-BQNapYaf.js";import{t as pe}from"./chevron-right-eAtVhbNZ.js";var j=e(t(),1),M=o(),me=Object.defineProperty,N=(e,t)=>me(e,`name`,{value:t,configurable:!0}),he=[`Enter`,` `],ge=[`ArrowDown`,`PageUp`,`Home`],_e=[`ArrowUp`,`PageDown`,`End`],ve=[...ge,..._e],ye={ltr:[...he,`ArrowRight`],rtl:[...he,`ArrowLeft`]},be={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},P=`Menu`,[F,xe,Se]=se(P),[I,L]=v(P,[Se,ie,k]),R=ie(),Ce=k(),[we,z]=I(P),[Te,B]=I(P),Ee=N(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=R(t),[c,l]=j.useState(null),u=j.useRef(!1),d=_(a),f=le(i);return j.useEffect(()=>{let e=N(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=N(()=>u.current=!1,`handlePointer`);return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),j.useEffect(()=>{if(!n)return;let e=N(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,M.jsx)(x,{...s,children:(0,M.jsx)(we,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,M.jsx)(Te,{scope:t,onClose:j.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),De=j.forwardRef(N(function(e,t){let{__scopeMenu:n,...r}=e,i=R(n);return(0,M.jsx)(oe,{...i,...r,ref:t})},`MenuAnchor`)),Oe=`MenuPortal`,[ke,Ae]=I(Oe,{forceMount:void 0}),je=N(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=z(Oe,t);return(0,M.jsx)(ke,{scope:t,forceMount:n,children:(0,M.jsx)(d,{present:n||a.open,children:(0,M.jsx)(m,{asChild:!0,container:i,children:r})})})},`MenuPortal`),V=`MenuContent`,[Me,H]=I(V),Ne=j.forwardRef(N(function(e,t){let n=Ae(V,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=z(V,e.__scopeMenu),o=B(V,e.__scopeMenu);return(0,M.jsx)(F.Provider,{scope:e.__scopeMenu,children:(0,M.jsx)(d,{present:r||a.open,children:(0,M.jsx)(F.Slot,{scope:e.__scopeMenu,children:o.modal?(0,M.jsx)(Pe,{...i,ref:t}):(0,M.jsx)(Fe,{...i,ref:t})})})})},`MenuContent`)),Pe=j.forwardRef(N(function(e,t){let n=z(V,e.__scopeMenu),i=j.useRef(null),a=r(t,i);return j.useEffect(()=>{let e=i.current;if(e)return f(e)},[]),(0,M.jsx)(U,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:s(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),Fe=j.forwardRef(N(function(e,t){let n=z(V,e.__scopeMenu);return(0,M.jsx)(U,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Ie=i(`MenuContent.ScrollLock`),U=j.forwardRef(N(function(e,t){let{__scopeMenu:n,loop:i=!1,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:c,disableOutsidePointerEvents:l,onEntryFocus:u,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:h,onDismiss:re,disableOutsideScroll:g,..._}=e,v=z(V,n),y=B(V,n),b=R(n),ie=Ce(n),x=xe(n),[oe,S]=j.useState(null),C=j.useRef(null),se=r(t,C,v.onContentChange),w=j.useRef(0),T=j.useRef(``),ce=j.useRef(0),E=j.useRef(null),D=j.useRef(`right`),O=j.useRef(0),le=g?te:j.Fragment,k=g?{as:Ie,allowPinchZoom:!0}:void 0,ue=N(e=>{let t=T.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=st(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;N((function e(t){T.current=t,window.clearTimeout(w.current),t!==``&&(w.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);j.useEffect(()=>()=>window.clearTimeout(w.current),[]),p();let A=j.useCallback(e=>D.current===E.current?.side&&lt(e,E.current?.area),[]);return(0,M.jsx)(Me,{scope:n,searchRef:T,onItemEnter:j.useCallback(e=>{A(e)&&e.preventDefault()},[A]),onItemLeave:j.useCallback(e=>{A(e)||(C.current?.focus(),S(null))},[A]),onTriggerLeave:j.useCallback(e=>{A(e)&&e.preventDefault()},[A]),pointerGraceTimerRef:ce,onPointerGraceIntentChange:j.useCallback(e=>{E.current=e},[]),children:(0,M.jsx)(le,{...k,children:(0,M.jsx)(ne,{asChild:!0,trapped:a,onMountAutoFocus:s(o,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:c,children:(0,M.jsx)(ee,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:h,onDismiss:re,children:(0,M.jsx)(de,{asChild:!0,...ie,dir:y.dir,orientation:`vertical`,loop:i,currentTabStopId:oe,onCurrentTabStopIdChange:S,onEntryFocus:s(u,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,M.jsx)(ae,{role:`menu`,"aria-orientation":`vertical`,"data-state":q(v.open),"data-radix-menu-content":``,dir:y.dir,...b,..._,ref:se,style:{outline:`none`,..._.style},onKeyDown:s(_.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&ue(e.key));let i=C.current;if(e.target!==i||!ve.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);_e.includes(e.key)&&a.reverse(),at(a)}),onBlur:s(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(w.current),T.current=``)}),onPointerMove:s(e.onPointerMove,X(e=>{let t=e.target,n=O.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>O.current?`right`:`left`;D.current=t,O.current=e.clientX}}))})})})})})})},`MenuContentImpl`)),Le=j.forwardRef(N(function(e,t){let{__scopeMenu:n,...r}=e;return(0,M.jsx)(l.div,{role:`group`,...r,ref:t})},`MenuGroup`)),Re=j.forwardRef(N(function(e,t){let{__scopeMenu:n,...r}=e;return(0,M.jsx)(l.div,{...r,ref:t})},`MenuLabel`)),W=`MenuItem`,ze=`menu.itemSelect`,G=j.forwardRef(N(function(e,t){let{disabled:n=!1,onSelect:i,...a}=e,o=j.useRef(null),l=B(W,e.__scopeMenu),u=H(W,e.__scopeMenu),d=r(t,o),f=j.useRef(!1),p=N(()=>{let e=o.current;if(!n&&e){let t=new CustomEvent(ze,{bubbles:!0,cancelable:!0});e.addEventListener(ze,e=>i?.(e),{once:!0}),c(e,t),t.defaultPrevented?f.current=!1:l.onClose()}},`handleSelect`);return(0,M.jsx)(Be,{...a,ref:d,disabled:n,onClick:s(e.onClick,p),onPointerDown:t=>{e.onPointerDown?.(t),f.current=!0},onPointerUp:s(e.onPointerUp,e=>{f.current||e.currentTarget?.click()}),onKeyDown:s(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(u.searchRef.current===``||e.key!==` `)&&he.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Be=j.forwardRef(N(function(e,t){let{__scopeMenu:n,disabled:i=!1,textValue:a,...o}=e,c=H(W,n),u=Ce(n),d=j.useRef(null),f=r(t,d),[p,m]=j.useState(!1),[ee,h]=j.useState(``);return j.useEffect(()=>{let e=d.current;e&&h((e.textContent??``).trim())},[o.children]),(0,M.jsx)(F.ItemSlot,{scope:n,disabled:i,textValue:a??ee,children:(0,M.jsx)(ue,{asChild:!0,...u,focusable:!i,children:(0,M.jsx)(l.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,...o,ref:f,onPointerMove:s(e.onPointerMove,X(e=>{i?c.onItemLeave(e):(c.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:s(e.onPointerLeave,X(e=>c.onItemLeave(e))),onFocus:s(e.onFocus,()=>m(!0)),onBlur:s(e.onBlur,()=>m(!1))})})})},`MenuItemImpl`)),Ve=j.forwardRef(N(function(e,t){let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,M.jsx)(Je,{scope:e.__scopeMenu,checked:n,children:(0,M.jsx)(G,{role:`menuitemcheckbox`,"aria-checked":J(n)?`mixed`:n,...i,ref:t,"data-state":Y(n),onSelect:s(i.onSelect,()=>r?.(J(n)?!0:!n),{checkForDefaultPrevented:!1})})})},`MenuCheckboxItem`)),[He,Ue]=I(`MenuRadioGroup`,{value:void 0,onValueChange:N(()=>{},`onValueChange`)}),We=j.forwardRef(N(function(e,t){let{value:n,onValueChange:r,...i}=e,a=_(r);return(0,M.jsx)(He,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,M.jsx)(Le,{...i,ref:t})})},`MenuRadioGroup`)),Ge=`MenuRadioItem`,Ke=j.forwardRef(N(function(e,t){let{value:n,...r}=e,i=Ue(Ge,e.__scopeMenu),a=n===i.value;return(0,M.jsx)(Je,{scope:e.__scopeMenu,checked:a,children:(0,M.jsx)(G,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Y(a),onSelect:s(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})},`MenuRadioItem`)),qe=`MenuItemIndicator`,[Je,Ye]=I(qe,{checked:!1}),Xe=j.forwardRef(N(function(e,t){let{__scopeMenu:n,forceMount:r,...i}=e,a=Ye(qe,n);return(0,M.jsx)(d,{present:r||J(a.checked)||a.checked===!0,children:(0,M.jsx)(l.span,{...i,ref:t,"data-state":Y(a.checked)})})},`MenuItemIndicator`)),Ze=j.forwardRef(N(function(e,t){let{__scopeMenu:n,...r}=e;return(0,M.jsx)(l.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),Qe=`MenuSub`,[$e,et]=I(Qe),tt=N(e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=z(Qe,t),o=R(t),[s,c]=j.useState(null),[l,u]=j.useState(null),d=_(i);return j.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,M.jsx)(x,{...o,children:(0,M.jsx)(we,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,M.jsx)($e,{scope:t,contentId:b(),triggerId:b(),trigger:s,onTriggerChange:c,children:n})})})},`MenuSub`),K=`MenuSubTrigger`,nt=j.forwardRef(N(function(e,t){let n=z(K,e.__scopeMenu),i=B(K,e.__scopeMenu),a=et(K,e.__scopeMenu),o=H(K,e.__scopeMenu),c=j.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:u}=o,d={__scopeMenu:e.__scopeMenu},f=j.useCallback(()=>{c.current&&window.clearTimeout(c.current),c.current=null},[]);j.useEffect(()=>f,[f]),j.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),u(null)}},[l,u]);let p=r(t,a.onTriggerChange);return(0,M.jsx)(De,{asChild:!0,...d,children:(0,M.jsx)(Be,{id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":n.open?a.contentId:void 0,"data-state":q(n.open),...e,ref:p,onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:s(e.onPointerMove,X(t=>{o.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!c.current&&(o.onPointerGraceIntentChange(null),c.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:s(e.onPointerLeave,X(e=>{f();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,s=t[i?`left`:`right`],c=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:s(e.onKeyDown,t=>{e.disabled||t.target!==t.currentTarget||(o.searchRef.current===``||t.key!==` `)&&ye[i.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})},`MenuSubTrigger`)),rt=`MenuSubContent`,it=j.forwardRef(N(function(e,t){let n=Ae(V,e.__scopeMenu),{forceMount:i=n.forceMount,align:a=`start`,...o}=e,c=z(V,e.__scopeMenu),l=B(V,e.__scopeMenu),u=et(rt,e.__scopeMenu),f=j.useRef(null),p=r(t,f);return(0,M.jsx)(F.Provider,{scope:e.__scopeMenu,children:(0,M.jsx)(d,{present:i||c.open,children:(0,M.jsx)(F.Slot,{scope:e.__scopeMenu,children:(0,M.jsx)(U,{id:u.contentId,"aria-labelledby":u.triggerId,...o,ref:p,align:a,side:l.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{l.isUsingKeyboardRef.current&&f.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:s(e.onFocusOutside,e=>{e.target!==u.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:s(e.onEscapeKeyDown,e=>{l.onClose(),e.preventDefault()}),onKeyDown:s(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=be[l.dir].includes(e.key);t&&n&&(c.onOpenChange(!1),u.trigger?.focus(),e.preventDefault())})})})})})},`MenuSubContent`));function q(e){return e?`open`:`closed`}N(q,`getOpenState`);function J(e){return e===`indeterminate`}N(J,`isIndeterminate`);function Y(e){return J(e)?`indeterminate`:e?`checked`:`unchecked`}N(Y,`getCheckedState`);function at(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}N(at,`focusFirst`);function ot(e,t){return e.map((n,r)=>e[(t+r)%e.length])}N(ot,`wrapArray`);function st(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ot(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}N(st,`getNextMatch`);function ct(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}N(ct,`isPointInPolygon`);function lt(e,t){return t?ct({x:e.clientX,y:e.clientY},t):!1}N(lt,`isPointerInGraceArea`);function X(e){return t=>t.pointerType===`mouse`?e(t):void 0}N(X,`whenMouse`);var ut=Ee,dt=De,ft=je,pt=Ne,mt=Le,ht=Re,gt=G,_t=Ve,vt=We,yt=Ke,bt=Xe,xt=Ze,St=tt,Ct=nt,wt=it,Tt=Object.defineProperty,Z=(e,t)=>Tt(e,`name`,{value:t,configurable:!0}),Et=`DropdownMenu`,[Dt,Ot]=v(Et,[L]),Q=L(),[kt,At]=Dt(Et),jt=Z(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Q(t),l=j.useRef(null),[u,d]=y({prop:i,defaultProp:a??!1,onChange:o,caller:Et});return(0,M.jsx)(kt,{scope:t,triggerId:b(),triggerRef:l,contentId:b(),open:u,onOpenChange:d,onOpenToggle:j.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,M.jsx)(ut,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),Mt=`DropdownMenuTrigger`,Nt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,disabled:i=!1,...a}=e,o=At(Mt,n),c=Q(n),u=r(t,o.triggerRef);return(0,M.jsx)(dt,{asChild:!0,...c,children:(0,M.jsx)(l.button,{type:`button`,id:o.triggerId,"aria-haspopup":`menu`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?`open`:`closed`,"data-disabled":i?``:void 0,disabled:i,...a,ref:u,onPointerDown:s(e.onPointerDown,e=>{!i&&e.button===0&&e.ctrlKey===!1&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:s(e.onKeyDown,e=>{i||([`Enter`,` `].includes(e.key)&&o.onOpenToggle(),e.key===`ArrowDown`&&o.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),Pt=Z(e=>{let{__scopeDropdownMenu:t,...n}=e,r=Q(t);return(0,M.jsx)(ft,{...r,...n})},`DropdownMenuPortal`),Ft=`DropdownMenuContent`,It=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=At(Ft,n),a=Q(n),o=j.useRef(!1);return(0,M.jsx)(pt,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:s(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:s(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuContent`)),Lt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(mt,{...i,...r,ref:t})},`DropdownMenuGroup`)),Rt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(ht,{...i,...r,ref:t})},`DropdownMenuLabel`)),zt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(gt,{...i,...r,ref:t})},`DropdownMenuItem`)),Bt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(_t,{...i,...r,ref:t})},`DropdownMenuCheckboxItem`)),Vt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(yt,{...i,...r,ref:t})},`DropdownMenuRadioItem`)),Ht=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(bt,{...i,...r,ref:t})},`DropdownMenuItemIndicator`)),Ut=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(xt,{...i,...r,ref:t})},`DropdownMenuSeparator`)),Wt=Z(e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Q(t),[s,c]=y({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,M.jsx)(St,{...o,open:s,onOpenChange:c,children:n})},`DropdownMenuSub`),Gt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(Ct,{...i,...r,ref:t})},`DropdownMenuSubTrigger`)),Kt=j.forwardRef(Z(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,M.jsx)(wt,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuSubContent`)),qt=jt,Jt=Nt,Yt=Pt,Xt=It,Zt=Lt,Qt=Rt,$t=zt,en=Bt,tn=Vt,nn=Ht,rn=Ut,an=Wt,on=Gt,sn=Kt,$=n(),cn=qt,ln=Jt,un=Zt,dn=h(Yt),fn=u(Xt),pn=u(sn),mn=an,hn=j.forwardRef((e,t)=>{let n=(0,$.c)(17),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:i,inset:a,showChevron:s,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=s===void 0||s,l;n[6]!==i||n[7]!==a?(l=T({className:i,inset:a}),n[6]=i,n[7]=a,n[8]=l):l=n[8];let u;n[9]===c?u=n[10]:(u=c&&(0,M.jsx)(pe,{className:`ml-auto h-4 w-4`}),n[9]=c,n[10]=u);let d;return n[11]!==r||n[12]!==o||n[13]!==t||n[14]!==l||n[15]!==u?(d=(0,M.jsxs)(on,{ref:t,className:l,...o,children:[r,u]}),n[11]=r,n[12]=o,n[13]=t,n[14]=l,n[15]=u,n[16]=d):d=n[16],d});hn.displayName=on.displayName;var gn=j.forwardRef((e,t)=>{let n=(0,$.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let o;n[3]===r?o=n[4]:(o=a(D({subcontent:!0}),`animate-in data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1`,r),n[3]=r,n[4]=o);let s;return n[5]!==i||n[6]!==t||n[7]!==o?(s=(0,M.jsx)(pn,{ref:t,className:o,...i}),n[5]=i,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});gn.displayName=sn.displayName;var _n=j.forwardRef((e,t)=>{let n=(0,$.c)(17),r,i,o,s;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4]):({className:r,scrollable:o,sideOffset:s,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s);let c=o===void 0||o,l=s===void 0?4:s,u;n[5]!==r||n[6]!==c?(u=a(D(),`animate-in data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 print:hidden`,c&&`overflow-auto`,r),n[5]=r,n[6]=c,n[7]=u):u=n[7];let d=c?`calc(var(--radix-dropdown-menu-content-available-height) - ${g}px)`:void 0,f;n[8]!==i.style||n[9]!==d?(f={...i.style,maxHeight:d},n[8]=i.style,n[9]=d,n[10]=f):f=n[10];let p;return n[11]!==i||n[12]!==t||n[13]!==l||n[14]!==u||n[15]!==f?(p=(0,M.jsx)(dn,{children:(0,M.jsx)(re,{children:(0,M.jsx)(fn,{ref:t,sideOffset:l,className:u,style:f,...i})})}),n[11]=i,n[12]=t,n[13]=l,n[14]=u,n[15]=f,n[16]=p):p=n[16],p});_n.displayName=Xt.displayName;var vn=j.forwardRef((e,t)=>{let n=(0,$.c)(13),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,inset:i,variant:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]!==r||n[6]!==i||n[7]!==o?(s=E({className:r,inset:i,variant:o}),n[5]=r,n[6]=i,n[7]=o,n[8]=s):s=n[8];let c;return n[9]!==a||n[10]!==t||n[11]!==s?(c=(0,M.jsx)($t,{ref:t,className:s,...a}),n[9]=a,n[10]=t,n[11]=s,n[12]=c):c=n[12],c});vn.displayName=$t.displayName;var yn=j.forwardRef((e,t)=>{let n=(0,$.c)(15),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:a,children:i,checked:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]===a?s=n[6]:(s=S({className:a}),n[5]=a,n[6]=s);let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=w(),n[7]=c):c=n[7];let l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,M.jsx)(`span`,{className:c,children:(0,M.jsx)(nn,{children:(0,M.jsx)(fe,{className:`h-4 w-4`})})}),n[8]=l):l=n[8];let u;return n[9]!==r||n[10]!==i||n[11]!==o||n[12]!==t||n[13]!==s?(u=(0,M.jsxs)(en,{ref:t,className:s,checked:r,...o,children:[l,i]}),n[9]=r,n[10]=i,n[11]=o,n[12]=t,n[13]=s,n[14]=u):u=n[14],u});yn.displayName=en.displayName;var bn=j.forwardRef((e,t)=>{let n=(0,$.c)(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=S({className:i}),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=w(),n[6]=s):s=n[6];let c;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,M.jsx)(`span`,{className:s,children:(0,M.jsx)(nn,{children:(0,M.jsx)(A,{className:`h-2 w-2 fill-current`})})}),n[7]=c):c=n[7];let l;return n[8]!==r||n[9]!==a||n[10]!==t||n[11]!==o?(l=(0,M.jsxs)(tn,{ref:t,className:o,...a,children:[c,r]}),n[8]=r,n[9]=a,n[10]=t,n[11]=o,n[12]=l):l=n[12],l});bn.displayName=tn.displayName;var xn=j.forwardRef((e,t)=>{let n=(0,$.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,inset:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]!==r||n[5]!==i?(o=O({className:r,inset:i}),n[4]=r,n[5]=i,n[6]=o):o=n[6];let s;return n[7]!==a||n[8]!==t||n[9]!==o?(s=(0,M.jsx)(Qt,{ref:t,className:o,...a}),n[7]=a,n[8]=t,n[9]=o,n[10]=s):s=n[10],s});xn.displayName=Qt.displayName;var Sn=j.forwardRef((e,t)=>{let n=(0,$.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=C({className:r}),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,M.jsx)(rn,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Sn.displayName=rn.displayName;var Cn=ce;export{yt as C,wt as D,St as E,Ct as O,vt as S,xt as T,mt as _,vn as a,ht as b,Sn as c,gn as d,hn as f,pt as g,_t as h,un as i,L as k,Cn as l,dt as m,yn as n,xn as o,ln as p,_n as r,dn as s,cn as t,mn as u,gt as v,ut as w,ft as x,bt as y};