@marimo-team/frontend 0.23.12-dev4 → 0.23.12-dev7

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 (188) hide show
  1. package/dist/assets/{CellStatus-DWKF60ch.js → CellStatus-6opTJjMX.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-DjiALugX.js → ConnectedDataExplorerComponent-i1kaFF7n.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-YqGfStRa.js → ErrorBoundary-Bo313Z9X.js} +1 -1
  4. package/dist/assets/{ImperativeModal-_JsD8Geg.js → ImperativeModal-B62Q6S9l.js} +1 -1
  5. package/dist/assets/{Inputs-CuKU-ENz.css → Inputs-C4Oo7q-H.css} +1 -1
  6. package/dist/assets/{JsonOutput-B7vuddcd.css → JsonOutput-BQtz7-np.css} +1 -1
  7. package/dist/assets/{JsonOutput-QXW7KD7g.js → JsonOutput-CWVuEz6C.js} +3 -3
  8. package/dist/assets/{LazyAnyLanguageCodeMirror-BqPfvXlM.js → LazyAnyLanguageCodeMirror-CsAMDSIw.js} +2 -2
  9. package/dist/assets/{MarimoErrorOutput-CbSSWhjw.js → MarimoErrorOutput-dYrcxVwq.js} +2 -2
  10. package/dist/assets/{RSPContexts-B9yuKjdT.js → RSPContexts-VzcTZjG1.js} +1 -1
  11. package/dist/assets/{RenderHTML-B283s7MJ.js → RenderHTML-ohul2q99.js} +1 -1
  12. package/dist/assets/{RunButton-C_19zU-4.js → RunButton-BMpP08P_.js} +1 -1
  13. package/dist/assets/{add-cell-with-ai-63FLemQ6.js → add-cell-with-ai-5tJjrFh0.js} +1 -1
  14. package/dist/assets/{add-connection-dialog-Bv2XA3ka.js → add-connection-dialog-pVExi7gB.js} +1 -1
  15. package/dist/assets/{agent-panel-7V3dGxQ5.js → agent-panel-By97CFFK.js} +5 -5
  16. package/dist/assets/{ai-model-dropdown-C6gk2SxA.js → ai-model-dropdown-Dvmxl0HU.js} +4 -4
  17. package/dist/assets/alert-1y_DnRWn.js +1 -0
  18. package/dist/assets/{alert-dialog-Dj7YzzBi.js → alert-dialog-CC0gG4Av.js} +1 -1
  19. package/dist/assets/{any-language-editor-DadY-3pz.js → any-language-editor-F2HBwXr3.js} +1 -1
  20. package/dist/assets/{app-config-button-CC-L3J3r.js → app-config-button-BB5z7_FE.js} +1 -1
  21. package/dist/assets/{button-DuHyjdW2.js → button-BF7GSjhW.js} +1 -1
  22. package/dist/assets/{cache-panel-BHYMMbEc.js → cache-panel-BlIrcwlT.js} +1 -1
  23. package/dist/assets/{capabilities-ClLgkhPb.js → capabilities-CjNGDxxx.js} +1 -1
  24. package/dist/assets/{cell-editor-b-XUcy_0.js → cell-editor-DQKaGrC9.js} +2 -2
  25. package/dist/assets/cell-editor-_cVIHMNI.css +2 -0
  26. package/dist/assets/{cell-link-CltAZE6t.js → cell-link-DBKqdVgo.js} +1 -1
  27. package/dist/assets/{cells-pu5xzE_v.css → cells-BVzo2MHf.css} +2 -2
  28. package/dist/assets/{cells-CHWMpikY.js → cells-DiASVTIh.js} +20 -20
  29. package/dist/assets/{chat-display-0upQ9ApT.js → chat-display-D8X6vz7W.js} +1 -1
  30. package/dist/assets/{chat-panel-C3iqwnxV.js → chat-panel-B9l3ukjX.js} +1 -1
  31. package/dist/assets/{chat-ui-CG7BMZQT.js → chat-ui-BwH7dd6n.js} +1 -1
  32. package/dist/assets/{column-preview-DPRIVh2U.js → column-preview-B3CdpsbL.js} +1 -1
  33. package/dist/assets/{command-emRtRCMn.js → command-DRHbYHUP.js} +1 -1
  34. package/dist/assets/{command-palette-J0bFdD9g.js → command-palette-D2BHtSuk.js} +1 -1
  35. package/dist/assets/{common-YBBQumDk.js → common-CvUUt55g.js} +1 -1
  36. package/dist/assets/{components-DBOw-EPg.js → components-CimBDpZ8.js} +1 -1
  37. package/dist/assets/{config-6vnnoRNy.js → config-3clPIEB9.js} +1 -1
  38. package/dist/assets/{copy-C_iQKqnH.js → copy-D8MtpXgN.js} +1 -1
  39. package/dist/assets/{copy-icon-CeGeeBdW.js → copy-icon-EHMT-qlr.js} +1 -1
  40. package/dist/assets/{createReducer-CzbhqMat.js → createReducer-3wF4dU7I.js} +1 -1
  41. package/dist/assets/{datasource-C6_8-viy.js → datasource-Da-qoi34.js} +1 -1
  42. package/dist/assets/{dates-C61OL-dM.js → dates-D8uxHHPL.js} +1 -1
  43. package/dist/assets/{dependency-graph-panel-D83-WLVK.js → dependency-graph-panel-CMjZH8W-.js} +2 -2
  44. package/dist/assets/{dialog-HQS6OqZN.js → dialog-DkJmIrsG.js} +1 -1
  45. package/dist/assets/{dist-C3166O2z.js → dist-DCqDlsgq.js} +1 -1
  46. package/dist/assets/{documentation-panel-DTnM09IC.js → documentation-panel-BS_uG8hW.js} +1 -1
  47. package/dist/assets/{download-Ct_TgW5r.js → download-CdS_EveB.js} +1 -1
  48. package/dist/assets/{dropdown-menu-ItqBTuc3.js → dropdown-menu-DfGLyCbP.js} +1 -1
  49. package/dist/assets/{edit-page-CRS0yn99.js → edit-page-DanoliKk.js} +6 -6
  50. package/dist/assets/empty-state-QmmE2oN4.js +1 -0
  51. package/dist/assets/{error-banner-Ct1mv9wE.js → error-banner-BSQVN46J.js} +1 -1
  52. package/dist/assets/{error-panel-DLrrxrpE.js → error-panel-Csh1BgrG.js} +1 -1
  53. package/dist/assets/{es-D70Vphlx.js → es-EItoYvXh.js} +1 -1
  54. package/dist/assets/{field-tn87_E9F.js → field-DlNY-dDH.js} +1 -1
  55. package/dist/assets/{file-explorer-panel-C4On50ex.js → file-explorer-panel--h0xwnRB.js} +1 -1
  56. package/dist/assets/{file-icons-CYkhl3GL.js → file-icons-D6BjDFSV.js} +1 -1
  57. package/dist/assets/{file-name-input-ChsdEroc.js → file-name-input-CsUxNFtr.js} +1 -1
  58. package/dist/assets/{floating-outline-BYOWegDI.js → floating-outline-D2cwxR8Z.js} +1 -1
  59. package/dist/assets/{focus-D5qOsUgK.js → focus-BvvRVcVF.js} +1 -1
  60. package/dist/assets/{form-DeUXsgGH.js → form-CO925gWV.js} +1 -1
  61. package/dist/assets/{formats-CBt24TWP.js → formats-ZGU43GQU.js} +1 -1
  62. package/dist/assets/{formatting-eWiw-Q8f.js → formatting-DhA_x3cD.js} +1 -1
  63. package/dist/assets/{fullscreen-BWhrFYLX.js → fullscreen-BXI8V5i6.js} +1 -1
  64. package/dist/assets/{gallery-page-Cdzff-Qg.js → gallery-page-CNPcxPCI.js} +1 -1
  65. package/dist/assets/{glide-data-editor-C-TEbaaI.js → glide-data-editor-Bmm8OMxa.js} +1 -1
  66. package/dist/assets/glide-data-editor-bv6Gjy-B.css +1 -0
  67. package/dist/assets/{globals-CtlGW6I9.js → globals-Bx8Km3LH.js} +1 -1
  68. package/dist/assets/{home-page-mSJrlwQP.js → home-page-CPt4LGp0.js} +1 -1
  69. package/dist/assets/{hooks-B7Rts5E9.js → hooks-7dyPrQQS.js} +1 -1
  70. package/dist/assets/{html-to-image-CwotZpj4.js → html-to-image-BWhkUSek.js} +1 -1
  71. package/dist/assets/index-C65kCpI9.css +2 -0
  72. package/dist/assets/{index-CPP8bPS4.js → index-awbrczCl.js} +7 -7
  73. package/dist/assets/{input-DqLOEfxi.js → input-DB2LiTiQ.js} +1 -1
  74. package/dist/assets/{kiosk-mode-BbYPCeNP.js → kiosk-mode-D0mAc3Fr.js} +1 -1
  75. package/dist/assets/{label-B0dIDKzs.js → label-CFvCMYuj.js} +1 -1
  76. package/dist/assets/{layout-D6cTuIkL.js → layout-C0MKkswN.js} +3 -3
  77. package/dist/assets/{links-DyPoFWQA.js → links-BN8FYTyp.js} +1 -1
  78. package/dist/assets/{logs-panel-Bbs9bNZs.js → logs-panel-BaGDTq_5.js} +1 -1
  79. package/dist/assets/{markdown-renderer-BNkLMIkn.js → markdown-renderer-CyLjgnQY.js} +1 -1
  80. package/dist/assets/{menu-items-CO4MfAgB.js → menu-items-CQMqwayA.js} +1 -1
  81. package/dist/assets/{mermaid-x93GPw1i.js → mermaid-yhDJCmk2.js} +1 -1
  82. package/dist/assets/{multi-icon-pwGWVz3d.css → multi-icon-CW3_9bja.css} +1 -1
  83. package/dist/assets/{multi-map-BRoHtMOY.js → multi-map-9ogswH46.js} +1 -1
  84. package/dist/assets/{name-cell-input-BLlsboll.js → name-cell-input-DBkW5PZU.js} +1 -1
  85. package/dist/assets/{numbers-B5K_E7OP.js → numbers-_ry1Nlla.js} +1 -1
  86. package/dist/assets/{outline-panel-w43V587L.css → outline-panel-DHPbKZNT.css} +1 -1
  87. package/dist/assets/{outline-panel-rkIr1QNz.js → outline-panel-xLeB4sTR.js} +1 -1
  88. package/dist/assets/{packages-panel-BDeQ6RMe.js → packages-panel-BbWGOWIZ.js} +1 -1
  89. package/dist/assets/{pair-with-agent-modal-LNomHeQ3.js → pair-with-agent-modal-Q9Od23Rh.js} +2 -2
  90. package/dist/assets/{panels-B4E3DsXP.css → panels-DDsRoC3H.css} +1 -1
  91. package/dist/assets/{panels-DklBul5F.js → panels-id0eyz64.js} +1 -1
  92. package/dist/assets/{popover-CjugjEGp.js → popover-DMNO6Poc.js} +1 -1
  93. package/dist/assets/process-output-BcuY_Us9.js +1 -0
  94. package/dist/assets/{radio-group-ro2znWCo.js → radio-group-XouISBp9.js} +1 -1
  95. package/dist/assets/{readonly-python-code-Rbx7Ee_u.js → readonly-python-code-BK3Xk2qY.js} +1 -1
  96. package/dist/assets/{renderShortcut-D7vPTxQw.js → renderShortcut-LpVarhnQ.js} +1 -1
  97. package/dist/assets/{reveal-component-CMD1_gk8.css → reveal-component-55QLSQaY.css} +1 -1
  98. package/dist/assets/{reveal-component-D--4ov10.js → reveal-component-Do91RUH9.js} +2 -2
  99. package/dist/assets/{run-page-HMHhlHXA.js → run-page-CYnMjVum.js} +1 -1
  100. package/dist/assets/{runs-C1XrKvr5.js → runs-Edg4TRSI.js} +1 -1
  101. package/dist/assets/{scratchpad-panel-1N03WMvF.js → scratchpad-panel-DH3KlUbZ.js} +1 -1
  102. package/dist/assets/{secrets-panel-BdUz6vG7.js → secrets-panel-CgahHnqr.js} +1 -1
  103. package/dist/assets/{select-D8ewebPZ.js → select-Cjly7tmx.js} +1 -1
  104. package/dist/assets/{session-NNbloO8g.js → session-CsT5Gg9j.js} +1 -1
  105. package/dist/assets/{session-panel-sp7p_i1J.js → session-panel-BJP2lKfE.js} +1 -1
  106. package/dist/assets/{share-C1RBdbis.js → share-DQjChRJG.js} +1 -1
  107. package/dist/assets/{snippets-panel-BWo8lxGn.js → snippets-panel-DKenTNmv.js} +1 -1
  108. package/dist/assets/{snippets-panel-fg1cdAzn.css → snippets-panel-Qc3aWbYx.css} +1 -1
  109. package/dist/assets/{spec-CegvVOyV.js → spec-CDgWI0fT.js} +1 -1
  110. package/dist/assets/{state-Des6nv42.js → state-Cy10NkuA.js} +1 -1
  111. package/dist/assets/{state-nw3MJ7Ul.js → state-DjrxAf9W.js} +1 -1
  112. package/dist/assets/{state-3LYweM3z.js → state-DwAS0kE4.js} +1 -1
  113. package/dist/assets/{state-C2QvlGMs.js → state-MC8-jN2e.js} +1 -1
  114. package/dist/assets/{strings-C0KZ4uek.js → strings-DvZlHYnD.js} +1 -1
  115. package/dist/assets/{swiper-component-CJYx1rIa.js → swiper-component-BwPCQTdo.js} +1 -1
  116. package/dist/assets/{swiper-component-a65-SW8d.css → swiper-component-UB_Zmrma.css} +1 -1
  117. package/dist/assets/{switch-CAAV-Q_3.js → switch-DvDNxcZP.js} +1 -1
  118. package/dist/assets/{table-D0oF_Cv_.js → table-CnW850Wt.js} +1 -1
  119. package/dist/assets/{terminal-Bd0wzkSP.js → terminal-BXH7Uaqi.js} +1 -1
  120. package/dist/assets/{textarea-BF6sxhXQ.js → textarea-BBpaAGpK.js} +1 -1
  121. package/dist/assets/{tooltip-DfvClvB6.js → tooltip-CgQpRVyN.js} +1 -1
  122. package/dist/assets/{tracing-Cgii-4al.js → tracing-Bz68-Fa1.js} +1 -1
  123. package/dist/assets/{tracing-panel-BXvvt77y.js → tracing-panel-BfgGYFNi.js} +2 -2
  124. package/dist/assets/{tree-actions-D0qu4tQX.js → tree-actions-C729o8TG.js} +1 -1
  125. package/dist/assets/{useBoolean-CEf-f6bo.js → useBoolean-BMzj74q1.js} +1 -1
  126. package/dist/assets/{useCellActionButton-CctL-6ce.js → useCellActionButton-VGB6-gGh.js} +1 -1
  127. package/dist/assets/{useDeleteCell-9SpULTHH.js → useDeleteCell-D_p8uMly.js} +1 -1
  128. package/dist/assets/{useDependencyPanelTab-DEoqXf8l.js → useDependencyPanelTab-v8fQPE_U.js} +1 -1
  129. package/dist/assets/{useEventListener-Wyg6Md5s.js → useEventListener-BakX-tnw.js} +1 -1
  130. package/dist/assets/{useHotkey-BK1MRrIi.js → useHotkey-CJo8iX8v.js} +1 -1
  131. package/dist/assets/{useIframeCapabilities-piGMPmIq.js → useIframeCapabilities-B0dNZiKK.js} +1 -1
  132. package/dist/assets/{useInstallPackage-D_8LtT7f.js → useInstallPackage-C1Dd0aIZ.js} +1 -1
  133. package/dist/assets/{useInterval-D6xsFpdR.js → useInterval-BvJQmQqd.js} +1 -1
  134. package/dist/assets/{useNotebookActions-WDk7rlWv.js → useNotebookActions-Hdu82BAI.js} +1 -1
  135. package/dist/assets/{useRunCells-CXNnlQUh.js → useRunCells-DXtOL4UR.js} +1 -1
  136. package/dist/assets/{useSplitCell-7Ob0s_PE.js → useSplitCell-CzaZEqwj.js} +1 -1
  137. package/dist/assets/{useTheme-D7YEMvxS.js → useTheme-D_ZbTTJw.js} +1 -1
  138. package/dist/assets/{utils-B-XvLACn.js → utils-DPvpQ891.js} +1 -1
  139. package/dist/assets/{utils-Dcn8htEz.js → utils-Dev6I_Kv.js} +1 -1
  140. package/dist/assets/{vega-component-Cc5BbafI.js → vega-component-Ch7x9hsC.js} +1 -1
  141. package/dist/assets/{write-secret-modal-DW9FRn4n.js → write-secret-modal-K2n79wHj.js} +1 -1
  142. package/dist/index.html +70 -70
  143. package/package.json +3 -3
  144. package/src/components/ai/display-helpers.tsx +5 -5
  145. package/src/components/app-config/ai-config.tsx +5 -5
  146. package/src/components/app-config/mcp-config.tsx +3 -3
  147. package/src/components/chat/acp/agent-panel.tsx +3 -3
  148. package/src/components/chat/acp/blocks.tsx +36 -38
  149. package/src/components/chat/acp/common.tsx +12 -16
  150. package/src/components/chat/acp/scroll-to-bottom-button.tsx +1 -1
  151. package/src/components/chat/acp/session-tabs.tsx +2 -2
  152. package/src/components/chat/chat-history-popover.tsx +1 -1
  153. package/src/components/data-table/columns.tsx +2 -2
  154. package/src/components/data-table/filter-pill-editor.tsx +1 -1
  155. package/src/components/dependency-graph/minimap-content.tsx +1 -1
  156. package/src/components/editor/RecoveryButton.tsx +1 -1
  157. package/src/components/editor/actions/pair-with-agent-modal.tsx +2 -2
  158. package/src/components/editor/ai/ai-completion-editor.tsx +1 -1
  159. package/src/components/editor/cell/CreateCellButton.tsx +1 -1
  160. package/src/components/editor/chrome/panels/empty-state.tsx +1 -1
  161. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +1 -1
  162. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +1 -1
  163. package/src/components/editor/columns/cell-column.tsx +1 -1
  164. package/src/components/editor/columns/sortable-column.tsx +2 -2
  165. package/src/components/editor/output/MarimoErrorOutput.tsx +1 -1
  166. package/src/components/editor/output/TextOutput.tsx +2 -2
  167. package/src/components/slides/minimap.tsx +2 -2
  168. package/src/components/slides/reveal-component.tsx +1 -1
  169. package/src/components/ui/alert.tsx +1 -1
  170. package/src/components/ui/command.tsx +2 -2
  171. package/src/components/ui/reorderable-list.tsx +1 -1
  172. package/src/components/ui/table.tsx +2 -5
  173. package/src/core/codemirror/language/languages/sql/renderers.tsx +60 -68
  174. package/src/core/hotkeys/hotkeys.ts +1 -0
  175. package/src/plugins/impl/MatrixPlugin.tsx +2 -2
  176. package/src/plugins/impl/TabsPlugin.tsx +1 -1
  177. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +1 -1
  178. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +155 -98
  179. package/src/plugins/impl/mpl-interactive/__tests__/MplInteractivePlugin.test.tsx +154 -1
  180. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +10 -0
  181. package/dist/assets/alert-DqbbTJFm.js +0 -1
  182. package/dist/assets/cell-editor-nqEF4IhQ.css +0 -2
  183. package/dist/assets/empty-state-COZ7sMv4.js +0 -1
  184. package/dist/assets/glide-data-editor-BrZJn3-g.css +0 -1
  185. package/dist/assets/index-DYQYDO53.css +0 -2
  186. package/dist/assets/process-output-B1Leg7X7.js +0 -1
  187. /package/dist/assets/{Inputs-Ce5uKBe1.js → Inputs-CqgPhOqy.js} +0 -0
  188. /package/dist/assets/{multi-icon-DZE4vMSW.js → multi-icon-CTvmuLdL.js} +0 -0
@@ -0,0 +1 @@
1
+ import{s as m}from"./chunk-LvLJmgfZ.js";import{t as p}from"./react-Bj1aDYRI.js";import{t as x}from"./compiler-runtime-B3qBwwSJ.js";import{n as b,t as o}from"./cn-X2M2usMq.js";import{t as y}from"./jsx-runtime-PbYoItBR.js";var n=x(),v=m(p(),1),f=m(y(),1),w=b("relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] has-[svg]:pl-11",{variants:{variant:{default:"bg-background text-foreground",destructive:"text-destructive border-destructive/50 dark:border-destructive [&>svg]:text-destructive text-destructive",info:"bg-(--sky-2) border-(--sky-7) text-(--sky-11)",warning:"bg-(--yellow-2) border-(--yellow-7) text-(--yellow-11) [&>svg]:text-(--yellow-11)"}},defaultVariants:{variant:"default"}}),u=v.forwardRef((l,d)=>{let e=(0,n.c)(11),r,t,a;e[0]===l?(r=e[1],t=e[2],a=e[3]):({className:r,variant:a,...t}=l,e[0]=l,e[1]=r,e[2]=t,e[3]=a);let s;e[4]!==r||e[5]!==a?(s=o(w({variant:a}),r),e[4]=r,e[5]=a,e[6]=s):s=e[6];let i;return e[7]!==t||e[8]!==d||e[9]!==s?(i=(0,f.jsx)("div",{ref:d,role:"alert",className:s,...t}),e[7]=t,e[8]=d,e[9]=s,e[10]=i):i=e[10],i});u.displayName="Alert";var c=v.forwardRef((l,d)=>{let e=(0,n.c)(11),r,t,a;e[0]===l?(r=e[1],t=e[2],a=e[3]):({className:t,children:r,...a}=l,e[0]=l,e[1]=r,e[2]=t,e[3]=a);let s;e[4]===t?s=e[5]:(s=o("mb-1 font-medium leading-none tracking-tight",t),e[4]=t,e[5]=s);let i;return e[6]!==r||e[7]!==a||e[8]!==d||e[9]!==s?(i=(0,f.jsx)("h5",{ref:d,className:s,...a,children:r}),e[6]=r,e[7]=a,e[8]=d,e[9]=s,e[10]=i):i=e[10],i});c.displayName="AlertTitle";var g=v.forwardRef((l,d)=>{let e=(0,n.c)(9),r,t;e[0]===l?(r=e[1],t=e[2]):({className:r,...t}=l,e[0]=l,e[1]=r,e[2]=t);let a;e[3]===r?a=e[4]:(a=o("text-sm [&_p]:leading-relaxed",r),e[3]=r,e[4]=a);let s;return e[5]!==t||e[6]!==d||e[7]!==a?(s=(0,f.jsx)("div",{ref:d,className:a,...t}),e[5]=t,e[6]=d,e[7]=a,e[8]=s):s=e[8],s});g.displayName="AlertDescription";export{g as n,c as r,u as t};
@@ -1,4 +1,4 @@
1
- import{s as E}from"./chunk-LvLJmgfZ.js";import{t as $e}from"./react-Bj1aDYRI.js";import{t as P}from"./compiler-runtime-B3qBwwSJ.js";import{i as ke,o as N,r as Te}from"./useEventListener-Wyg6Md5s.js";import{t as p}from"./cn-X2M2usMq.js";import{t as ze}from"./jsx-runtime-PbYoItBR.js";import{C as M,S as Be,_ as R,c as He,d as We,f as qe,m as Ke,o as Le,r as Ue,s as Ve,u as Ye,v as b,w as h,x as v,y as Ze}from"./fullscreen-BWhrFYLX.js";import{n as w}from"./button-DuHyjdW2.js";var i=E($e(),1),l=E(ze(),1),j="Dialog",[S,$]=M(j),[Ge,f]=S(j),k=t=>{let{__scopeDialog:r,children:e,open:a,defaultOpen:o,onOpenChange:n,modal:s=!0}=t,c=i.useRef(null),d=i.useRef(null),[u,x]=Ze({prop:a,defaultProp:o??!1,onChange:n,caller:j});return(0,l.jsx)(Ge,{scope:r,triggerRef:c,contentRef:d,contentId:R(),titleId:R(),descriptionId:R(),open:u,onOpenChange:x,onOpenToggle:i.useCallback(()=>x(Se=>!Se),[x]),modal:s,children:e})};k.displayName=j;var T="DialogTrigger",z=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(T,e),n=N(r,o.triggerRef);return(0,l.jsx)(h.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":O(o.open),...a,ref:n,onClick:v(t.onClick,o.onOpenToggle)})});z.displayName=T;var A="DialogPortal",[Je,B]=S(A,{forceMount:void 0}),H=t=>{let{__scopeDialog:r,forceMount:e,children:a,container:o}=t,n=f(A,r);return(0,l.jsx)(Je,{scope:r,forceMount:e,children:i.Children.map(a,s=>(0,l.jsx)(b,{present:e||n.open,children:(0,l.jsx)(We,{asChild:!0,container:o,children:s})}))})};H.displayName=A;var _="DialogOverlay",W=i.forwardRef((t,r)=>{let e=B(_,t.__scopeDialog),{forceMount:a=e.forceMount,...o}=t,n=f(_,t.__scopeDialog);return n.modal?(0,l.jsx)(b,{present:a||n.open,children:(0,l.jsx)(Xe,{...o,ref:r})}):null});W.displayName=_;var Qe=Te("DialogOverlay.RemoveScroll"),Xe=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(_,e);return(0,l.jsx)(He,{as:Qe,allowPinchZoom:!0,shards:[o.contentRef],children:(0,l.jsx)(h.div,{"data-state":O(o.open),...a,ref:r,style:{pointerEvents:"auto",...a.style}})})}),y="DialogContent",q=i.forwardRef((t,r)=>{let e=B(y,t.__scopeDialog),{forceMount:a=e.forceMount,...o}=t,n=f(y,t.__scopeDialog);return(0,l.jsx)(b,{present:a||n.open,children:n.modal?(0,l.jsx)(er,{...o,ref:r}):(0,l.jsx)(rr,{...o,ref:r})})});q.displayName=y;var er=i.forwardRef((t,r)=>{let e=f(y,t.__scopeDialog),a=i.useRef(null),o=N(r,e.contentRef,a);return i.useEffect(()=>{let n=a.current;if(n)return Ve(n)},[]),(0,l.jsx)(K,{...t,ref:o,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:v(t.onCloseAutoFocus,n=>{var s;n.preventDefault(),(s=e.triggerRef.current)==null||s.focus()}),onPointerDownOutside:v(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,c=s.button===0&&s.ctrlKey===!0;(s.button===2||c)&&n.preventDefault()}),onFocusOutside:v(t.onFocusOutside,n=>n.preventDefault())})}),rr=i.forwardRef((t,r)=>{let e=f(y,t.__scopeDialog),a=i.useRef(!1),o=i.useRef(!1);return(0,l.jsx)(K,{...t,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{var s,c;(s=t.onCloseAutoFocus)==null||s.call(t,n),n.defaultPrevented||(a.current||((c=e.triggerRef.current)==null||c.focus()),n.preventDefault()),a.current=!1,o.current=!1},onInteractOutside:n=>{var c,d;(c=t.onInteractOutside)==null||c.call(t,n),n.defaultPrevented||(a.current=!0,n.detail.originalEvent.type==="pointerdown"&&(o.current=!0));let s=n.target;(d=e.triggerRef.current)!=null&&d.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&o.current&&n.preventDefault()}})}),K=i.forwardRef((t,r)=>{let{__scopeDialog:e,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:n,...s}=t,c=f(y,e),d=i.useRef(null),u=N(r,d);return Ye(),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(qe,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:n,children:(0,l.jsx)(Ke,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":O(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ar,{titleId:c.titleId}),(0,l.jsx)(nr,{contentRef:d,descriptionId:c.descriptionId})]})]})}),C="DialogTitle",L=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(C,e);return(0,l.jsx)(h.h2,{id:o.titleId,...a,ref:r})});L.displayName=C;var U="DialogDescription",V=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(U,e);return(0,l.jsx)(h.p,{id:o.descriptionId,...a,ref:r})});V.displayName=U;var Y="DialogClose",Z=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(Y,e);return(0,l.jsx)(h.button,{type:"button",...a,ref:r,onClick:v(t.onClick,()=>o.onOpenChange(!1))})});Z.displayName=Y;function O(t){return t?"open":"closed"}var G="DialogTitleWarning",[tr,J]=Be(G,{contentName:y,titleName:C,docsSlug:"dialog"}),ar=({titleId:t})=>{let r=J(G),e=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
1
+ import{s as E}from"./chunk-LvLJmgfZ.js";import{t as $e}from"./react-Bj1aDYRI.js";import{t as P}from"./compiler-runtime-B3qBwwSJ.js";import{i as ke,o as N,r as Te}from"./useEventListener-BakX-tnw.js";import{t as p}from"./cn-X2M2usMq.js";import{t as ze}from"./jsx-runtime-PbYoItBR.js";import{C as M,S as Be,_ as R,c as He,d as We,f as qe,m as Ke,o as Le,r as Ue,s as Ve,u as Ye,v as b,w as h,x as v,y as Ze}from"./fullscreen-BXI8V5i6.js";import{n as w}from"./button-BF7GSjhW.js";var i=E($e(),1),l=E(ze(),1),j="Dialog",[S,$]=M(j),[Ge,f]=S(j),k=t=>{let{__scopeDialog:r,children:e,open:a,defaultOpen:o,onOpenChange:n,modal:s=!0}=t,c=i.useRef(null),d=i.useRef(null),[u,x]=Ze({prop:a,defaultProp:o??!1,onChange:n,caller:j});return(0,l.jsx)(Ge,{scope:r,triggerRef:c,contentRef:d,contentId:R(),titleId:R(),descriptionId:R(),open:u,onOpenChange:x,onOpenToggle:i.useCallback(()=>x(Se=>!Se),[x]),modal:s,children:e})};k.displayName=j;var T="DialogTrigger",z=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(T,e),n=N(r,o.triggerRef);return(0,l.jsx)(h.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":O(o.open),...a,ref:n,onClick:v(t.onClick,o.onOpenToggle)})});z.displayName=T;var A="DialogPortal",[Je,B]=S(A,{forceMount:void 0}),H=t=>{let{__scopeDialog:r,forceMount:e,children:a,container:o}=t,n=f(A,r);return(0,l.jsx)(Je,{scope:r,forceMount:e,children:i.Children.map(a,s=>(0,l.jsx)(b,{present:e||n.open,children:(0,l.jsx)(We,{asChild:!0,container:o,children:s})}))})};H.displayName=A;var _="DialogOverlay",W=i.forwardRef((t,r)=>{let e=B(_,t.__scopeDialog),{forceMount:a=e.forceMount,...o}=t,n=f(_,t.__scopeDialog);return n.modal?(0,l.jsx)(b,{present:a||n.open,children:(0,l.jsx)(Xe,{...o,ref:r})}):null});W.displayName=_;var Qe=Te("DialogOverlay.RemoveScroll"),Xe=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(_,e);return(0,l.jsx)(He,{as:Qe,allowPinchZoom:!0,shards:[o.contentRef],children:(0,l.jsx)(h.div,{"data-state":O(o.open),...a,ref:r,style:{pointerEvents:"auto",...a.style}})})}),y="DialogContent",q=i.forwardRef((t,r)=>{let e=B(y,t.__scopeDialog),{forceMount:a=e.forceMount,...o}=t,n=f(y,t.__scopeDialog);return(0,l.jsx)(b,{present:a||n.open,children:n.modal?(0,l.jsx)(er,{...o,ref:r}):(0,l.jsx)(rr,{...o,ref:r})})});q.displayName=y;var er=i.forwardRef((t,r)=>{let e=f(y,t.__scopeDialog),a=i.useRef(null),o=N(r,e.contentRef,a);return i.useEffect(()=>{let n=a.current;if(n)return Ve(n)},[]),(0,l.jsx)(K,{...t,ref:o,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:v(t.onCloseAutoFocus,n=>{var s;n.preventDefault(),(s=e.triggerRef.current)==null||s.focus()}),onPointerDownOutside:v(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,c=s.button===0&&s.ctrlKey===!0;(s.button===2||c)&&n.preventDefault()}),onFocusOutside:v(t.onFocusOutside,n=>n.preventDefault())})}),rr=i.forwardRef((t,r)=>{let e=f(y,t.__scopeDialog),a=i.useRef(!1),o=i.useRef(!1);return(0,l.jsx)(K,{...t,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{var s,c;(s=t.onCloseAutoFocus)==null||s.call(t,n),n.defaultPrevented||(a.current||((c=e.triggerRef.current)==null||c.focus()),n.preventDefault()),a.current=!1,o.current=!1},onInteractOutside:n=>{var c,d;(c=t.onInteractOutside)==null||c.call(t,n),n.defaultPrevented||(a.current=!0,n.detail.originalEvent.type==="pointerdown"&&(o.current=!0));let s=n.target;(d=e.triggerRef.current)!=null&&d.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&o.current&&n.preventDefault()}})}),K=i.forwardRef((t,r)=>{let{__scopeDialog:e,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:n,...s}=t,c=f(y,e),d=i.useRef(null),u=N(r,d);return Ye(),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(qe,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:n,children:(0,l.jsx)(Ke,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":O(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ar,{titleId:c.titleId}),(0,l.jsx)(nr,{contentRef:d,descriptionId:c.descriptionId})]})]})}),C="DialogTitle",L=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(C,e);return(0,l.jsx)(h.h2,{id:o.titleId,...a,ref:r})});L.displayName=C;var U="DialogDescription",V=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(U,e);return(0,l.jsx)(h.p,{id:o.descriptionId,...a,ref:r})});V.displayName=U;var Y="DialogClose",Z=i.forwardRef((t,r)=>{let{__scopeDialog:e,...a}=t,o=f(Y,e);return(0,l.jsx)(h.button,{type:"button",...a,ref:r,onClick:v(t.onClick,()=>o.onOpenChange(!1))})});Z.displayName=Y;function O(t){return t?"open":"closed"}var G="DialogTitleWarning",[tr,J]=Be(G,{contentName:y,titleName:C,docsSlug:"dialog"}),ar=({titleId:t})=>{let r=J(G),e=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
2
2
 
3
3
  If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
4
4
 
@@ -1 +1 @@
1
- import{s as a}from"./chunk-LvLJmgfZ.js";import{t as d}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{_ as f}from"./useEventListener-Wyg6Md5s.js";import{t as g}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BWhrFYLX.js";import"./dist-Dez1I5M9.js";import"./dist-DblYTes5.js";import"./dist-D-2yWcX9.js";import"./dist-CNKFZCiw.js";import"./dist-ZjSH4Z6x.js";import"./dist-BtrqKtvn.js";import{t as h}from"./copy-icon-CeGeeBdW.js";import{n as c}from"./error-banner-Ct1mv9wE.js";import{t as x}from"./esm-X3Tr2pur.js";import"./dist-DQlrXcW2.js";import"./dist-B_4mXtvJ.js";import"./dist-BRRMCoI_.js";import"./dist-BzGK1_vc.js";import"./dist-DyuwOQr-.js";import"./dist-DoxplNOD.js";import"./dist-sJHUucQ8.js";import"./dist-npZrjkCf.js";import"./dist-CkHYcq4S.js";import{n as v,t as p}from"./esm-DwJBDgEq.js";var j=a(d(),1),o=a(g(),1);const e={python:"py",python3:"py",javascript:"js",typescript:"ts",shell:"sh",bash:"sh",unknown:"text",undefined:"text"};function m(t){return t?t in p:!1}var y=({language:t,hideUnsupportedLanguageErrors:n,showCopyButton:u,extensions:r=[],...s})=>{t=e[t||""]||t;let i=m(t);i||f.warn(`Language ${t} not found in CodeMirror.`);let l=(0,j.useMemo)(()=>m(t)?[v(t),...r].filter(Boolean):r,[t,r]);return(0,o.jsxs)("div",{className:"relative w-full group hover-actions-parent",children:[!i&&!n&&(0,o.jsx)(c,{className:"mb-1 rounded-sm",error:`Language ${t} not supported. Supported languages are: ${Object.keys(p).join(", ")}`}),u&&i&&(0,o.jsx)(h,{tooltip:!1,buttonClassName:"absolute top-2 right-2 z-10 hover-action",className:"h-4 w-4 text-muted-foreground",value:s.value||"",toastTitle:"Copied to clipboard"}),(0,o.jsx)(x,{...s,extensions:l})]})};export{e as LANGUAGE_MAP,y as default};
1
+ import{s as a}from"./chunk-LvLJmgfZ.js";import{t as d}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{_ as f}from"./useEventListener-BakX-tnw.js";import{t as g}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BXI8V5i6.js";import"./dist-Dez1I5M9.js";import"./dist-DblYTes5.js";import"./dist-D-2yWcX9.js";import"./dist-CNKFZCiw.js";import"./dist-ZjSH4Z6x.js";import"./dist-BtrqKtvn.js";import{t as h}from"./copy-icon-EHMT-qlr.js";import{n as c}from"./error-banner-BSQVN46J.js";import{t as x}from"./esm-X3Tr2pur.js";import"./dist-DQlrXcW2.js";import"./dist-B_4mXtvJ.js";import"./dist-BRRMCoI_.js";import"./dist-BzGK1_vc.js";import"./dist-DyuwOQr-.js";import"./dist-DoxplNOD.js";import"./dist-sJHUucQ8.js";import"./dist-npZrjkCf.js";import"./dist-CkHYcq4S.js";import{n as v,t as p}from"./esm-DwJBDgEq.js";var j=a(d(),1),o=a(g(),1);const e={python:"py",python3:"py",javascript:"js",typescript:"ts",shell:"sh",bash:"sh",unknown:"text",undefined:"text"};function m(t){return t?t in p:!1}var y=({language:t,hideUnsupportedLanguageErrors:n,showCopyButton:u,extensions:r=[],...s})=>{t=e[t||""]||t;let i=m(t);i||f.warn(`Language ${t} not found in CodeMirror.`);let l=(0,j.useMemo)(()=>m(t)?[v(t),...r].filter(Boolean):r,[t,r]);return(0,o.jsxs)("div",{className:"relative w-full group hover-actions-parent",children:[!i&&!n&&(0,o.jsx)(c,{className:"mb-1 rounded-sm",error:`Language ${t} not supported. Supported languages are: ${Object.keys(p).join(", ")}`}),u&&i&&(0,o.jsx)(h,{tooltip:!1,buttonClassName:"absolute top-2 right-2 z-10 hover-action",className:"h-4 w-4 text-muted-foreground",value:s.value||"",toastTitle:"Copied to clipboard"}),(0,o.jsx)(x,{...s,extensions:l})]})};export{e as LANGUAGE_MAP,y as default};
@@ -1 +1 @@
1
- import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Vt as I}from"./cells-CHWMpikY.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-C6gk2SxA.js";import{E as Q,T as oe,b as ne}from"./utils-Dcn8htEz.js";import{T as re}from"./config-6vnnoRNy.js";import{t as ie}from"./jsx-runtime-PbYoItBR.js";import{o as ce}from"./alert-dialog-Dj7YzzBi.js";import{i as de,r as he,t as me}from"./popover-CjugjEGp.js";import{l as R}from"./select-D8ewebPZ.js";import{t as U}from"./tooltip-DfvClvB6.js";import{t as xe}from"./button-DuHyjdW2.js";import{s as B}from"./arrays-DWxvyYxP.js";import{r as V}from"./requests-KshNNAOp.js";import{t as pe}from"./createLucideIcon-BTp1tQDO.js";import{t as fe}from"./x-9vLEgLY6.js";import{r as D}from"./input-DqLOEfxi.js";import{t as Y}from"./settings-1WkYMLdR.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-BF6sxhXQ.js";import{t as ge}from"./use-toast-kCNiuc-_.js";import{i as be}from"./RSPContexts-B9yuKjdT.js";import{n as we}from"./useDebounce-CpLI2dsc.js";import{c as ye,l as Ne,n as Ce,t as K}from"./dialog-HQS6OqZN.js";import{n as ke}from"./ImperativeModal-_JsD8Geg.js";import{t as O}from"./kbd-UVzWBHfi.js";import{t as _e}from"./links-CCkJpphF.js";import{t as G}from"./Inputs-Ce5uKBe1.js";var Se=pe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=V(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(U,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=V(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(B(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Qe=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(U,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe as t};
1
+ import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Vt as I}from"./cells-DiASVTIh.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-Dvmxl0HU.js";import{E as Q,T as oe,b as ne}from"./utils-Dev6I_Kv.js";import{T as re}from"./config-3clPIEB9.js";import{t as ie}from"./jsx-runtime-PbYoItBR.js";import{o as ce}from"./alert-dialog-CC0gG4Av.js";import{i as de,r as he,t as me}from"./popover-DMNO6Poc.js";import{l as R}from"./select-Cjly7tmx.js";import{t as U}from"./tooltip-CgQpRVyN.js";import{t as xe}from"./button-BF7GSjhW.js";import{s as B}from"./arrays-DWxvyYxP.js";import{r as V}from"./requests-KshNNAOp.js";import{t as pe}from"./createLucideIcon-BTp1tQDO.js";import{t as fe}from"./x-9vLEgLY6.js";import{r as D}from"./input-DB2LiTiQ.js";import{t as Y}from"./settings-1WkYMLdR.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-BBpaAGpK.js";import{t as ge}from"./use-toast-kCNiuc-_.js";import{i as be}from"./RSPContexts-VzcTZjG1.js";import{n as we}from"./useDebounce-CpLI2dsc.js";import{c as ye,l as Ne,n as Ce,t as K}from"./dialog-DkJmIrsG.js";import{n as ke}from"./ImperativeModal-B62Q6S9l.js";import{t as O}from"./kbd-UVzWBHfi.js";import{t as _e}from"./links-CCkJpphF.js";import{t as G}from"./Inputs-CqgPhOqy.js";var Se=pe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=V(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(U,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=V(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(B(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Qe=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(U,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe as t};
@@ -1 +1 @@
1
- import{s as p}from"./chunk-LvLJmgfZ.js";import{t as E}from"./react-Bj1aDYRI.js";import{t as M}from"./compiler-runtime-B3qBwwSJ.js";import{h as N,n as C,t as K}from"./useEventListener-Wyg6Md5s.js";import{n as P,t as o}from"./cn-X2M2usMq.js";import{t as I}from"./jsx-runtime-PbYoItBR.js";const n={stopPropagation:e=>r=>{r.stopPropagation(),e&&e(r)},onEnter:e=>r=>{r.key==="Enter"&&e&&e(r)},preventFocus:e=>{e.preventDefault()},fromInput:e=>{let r=n.composedTarget(e);return r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.tagName.startsWith("MARIMO")||r.isContentEditable||n.fromCodeMirror(r)},fromCodeMirror:e=>e.closest(".cm-editor")!==null,shouldIgnoreKeyboardEvent(e){let r=n.composedTarget(e);return r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement||r instanceof HTMLElement&&(r.isContentEditable||r.tagName==="BUTTON"||r.closest("[role='textbox']")!==null||r.closest("[contenteditable='true']")!==null||n.fromCodeMirror(r))},composedTarget(e){return"composedPath"in e&&typeof e.composedPath=="function"?e.composedPath()[0]??e.target:e.target},hasModifier:e=>e.ctrlKey||e.metaKey||e.altKey||e.shiftKey,isMetaOrCtrl:e=>e.metaKey||e.ctrlKey};var H=M(),f=p(E(),1),S=p(I(),1),a="active:shadow-none",x=P(o("disabled:opacity-50 disabled:pointer-events-none","inline-flex items-center justify-center rounded-md text-sm font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background"),{variants:{variant:{default:o("bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs border border-primary",a),destructive:o("border shadow-xs","bg-(--red-9) hover:bg-(--red-10) dark:bg-(--red-6) dark:hover:bg-(--red-7)","text-(--red-1) dark:text-(--red-12)","border-(--red-11)",a),success:o("border shadow-xs","bg-(--grass-9) hover:bg-(--grass-10) dark:bg-(--grass-6) dark:hover:bg-(--grass-7)","text-(--grass-1) dark:text-(--grass-12)","border-(--grass-11)",a),warn:o("border shadow-xs","bg-(--yellow-9) hover:bg-(--yellow-10) dark:bg-(--yellow-6) dark:hover:bg-(--yellow-7)","text-(--yellow-12)","border-(--yellow-11)",a),action:o("bg-action text-action-foreground shadow-xs","hover:bg-action-hover border border-action",a),outline:o("border border-slate-300 shadow-xs","hover:bg-accent hover:text-accent-foreground","hover:border-primary","aria-selected:text-accent-foreground aria-selected:border-primary",a),secondary:o("bg-secondary text-secondary-foreground hover:bg-secondary/80","border border-input shadow-xs",a),text:o("opacity-80 hover:opacity-100","active:opacity-100"),ghost:o("border border-transparent","hover:bg-accent hover:text-accent-foreground hover:shadow-xs",a,"active:text-accent-foreground"),link:"underline-offset-4 hover:underline text-link",linkDestructive:"underline-offset-4 hover:underline text-destructive underline-destructive",outlineDestructive:"border border-destructive text-destructive hover:bg-destructive/10"},size:{default:"h-10 py-2 px-4",xs:"h-7 px-2 rounded-md text-xs",sm:"h-9 px-3 rounded-md",lg:"h-11 px-8 rounded-md",icon:"h-6 w-6 mb-0"},disabled:{true:"opacity-50 pointer-events-none"}},defaultVariants:{variant:"default",size:"sm"}}),y=f.forwardRef((e,r)=>{let t=(0,H.c)(7),{className:v,variant:w,size:k,asChild:h,keyboardShortcut:i,...l}=e,T=h===void 0?!1:h,s=f.useRef(null),c;t[0]===Symbol.for("react.memo_cache_sentinel")?(c=()=>s.current,t[0]=c):c=t[0],f.useImperativeHandle(r,c);let u;t[1]===i?u=t[2]:(u=d=>{!i||d.defaultPrevented||n.shouldIgnoreKeyboardEvent(d)||N(i)(d)&&(d.preventDefault(),d.stopPropagation(),s!=null&&s.current&&!s.current.disabled&&s.current.click())},t[1]=i,t[2]=u),K(document,"keydown",u);let m=T?C:"button",g=o(x({variant:w,size:k,className:v,disabled:l.disabled}),v),b;return t[3]!==m||t[4]!==l||t[5]!==g?(b=(0,S.jsx)(m,{className:g,ref:s,...l}),t[3]=m,t[4]=l,t[5]=g,t[6]=b):b=t[6],b});y.displayName="Button";export{x as n,n as r,y as t};
1
+ import{s as p}from"./chunk-LvLJmgfZ.js";import{t as E}from"./react-Bj1aDYRI.js";import{t as M}from"./compiler-runtime-B3qBwwSJ.js";import{h as N,n as C,t as K}from"./useEventListener-BakX-tnw.js";import{n as P,t as o}from"./cn-X2M2usMq.js";import{t as I}from"./jsx-runtime-PbYoItBR.js";const n={stopPropagation:e=>r=>{r.stopPropagation(),e&&e(r)},onEnter:e=>r=>{r.key==="Enter"&&e&&e(r)},preventFocus:e=>{e.preventDefault()},fromInput:e=>{let r=n.composedTarget(e);return r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.tagName.startsWith("MARIMO")||r.isContentEditable||n.fromCodeMirror(r)},fromCodeMirror:e=>e.closest(".cm-editor")!==null,shouldIgnoreKeyboardEvent(e){let r=n.composedTarget(e);return r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement||r instanceof HTMLElement&&(r.isContentEditable||r.tagName==="BUTTON"||r.closest("[role='textbox']")!==null||r.closest("[contenteditable='true']")!==null||n.fromCodeMirror(r))},composedTarget(e){return"composedPath"in e&&typeof e.composedPath=="function"?e.composedPath()[0]??e.target:e.target},hasModifier:e=>e.ctrlKey||e.metaKey||e.altKey||e.shiftKey,isMetaOrCtrl:e=>e.metaKey||e.ctrlKey};var H=M(),f=p(E(),1),S=p(I(),1),a="active:shadow-none",x=P(o("disabled:opacity-50 disabled:pointer-events-none","inline-flex items-center justify-center rounded-md text-sm font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background"),{variants:{variant:{default:o("bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs border border-primary",a),destructive:o("border shadow-xs","bg-(--red-9) hover:bg-(--red-10) dark:bg-(--red-6) dark:hover:bg-(--red-7)","text-(--red-1) dark:text-(--red-12)","border-(--red-11)",a),success:o("border shadow-xs","bg-(--grass-9) hover:bg-(--grass-10) dark:bg-(--grass-6) dark:hover:bg-(--grass-7)","text-(--grass-1) dark:text-(--grass-12)","border-(--grass-11)",a),warn:o("border shadow-xs","bg-(--yellow-9) hover:bg-(--yellow-10) dark:bg-(--yellow-6) dark:hover:bg-(--yellow-7)","text-(--yellow-12)","border-(--yellow-11)",a),action:o("bg-action text-action-foreground shadow-xs","hover:bg-action-hover border border-action",a),outline:o("border border-slate-300 shadow-xs","hover:bg-accent hover:text-accent-foreground","hover:border-primary","aria-selected:text-accent-foreground aria-selected:border-primary",a),secondary:o("bg-secondary text-secondary-foreground hover:bg-secondary/80","border border-input shadow-xs",a),text:o("opacity-80 hover:opacity-100","active:opacity-100"),ghost:o("border border-transparent","hover:bg-accent hover:text-accent-foreground hover:shadow-xs",a,"active:text-accent-foreground"),link:"underline-offset-4 hover:underline text-link",linkDestructive:"underline-offset-4 hover:underline text-destructive underline-destructive",outlineDestructive:"border border-destructive text-destructive hover:bg-destructive/10"},size:{default:"h-10 py-2 px-4",xs:"h-7 px-2 rounded-md text-xs",sm:"h-9 px-3 rounded-md",lg:"h-11 px-8 rounded-md",icon:"h-6 w-6 mb-0"},disabled:{true:"opacity-50 pointer-events-none"}},defaultVariants:{variant:"default",size:"sm"}}),y=f.forwardRef((e,r)=>{let t=(0,H.c)(7),{className:v,variant:w,size:k,asChild:h,keyboardShortcut:i,...l}=e,T=h===void 0?!1:h,s=f.useRef(null),c;t[0]===Symbol.for("react.memo_cache_sentinel")?(c=()=>s.current,t[0]=c):c=t[0],f.useImperativeHandle(r,c);let u;t[1]===i?u=t[2]:(u=d=>{!i||d.defaultPrevented||n.shouldIgnoreKeyboardEvent(d)||N(i)(d)&&(d.preventDefault(),d.stopPropagation(),s!=null&&s.current&&!s.current.disabled&&s.current.click())},t[1]=i,t[2]=u),K(document,"keydown",u);let m=T?C:"button",g=o(x({variant:w,size:k,className:v,disabled:l.disabled}),v),b;return t[3]!==m||t[4]!==l||t[5]!==g?(b=(0,S.jsx)(m,{className:g,ref:s,...l}),t[3]=m,t[4]=l,t[5]=g,t[6]=b):b=t[6],b});y.displayName="Button";export{x as n,n as r,y as t};
@@ -1 +1 @@
1
- import{s as F}from"./chunk-LvLJmgfZ.js";import{u as R}from"./useEvent-D91BmmQi.js";import{t as H}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as M}from"./cn-X2M2usMq.js";import{t as q}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BWhrFYLX.js";import{a as B,c as G,i as J,l as K,n as Q,o as U,r as V,s as W,t as X,u as Y}from"./alert-dialog-Dj7YzzBi.js";import{t as z}from"./button-DuHyjdW2.js";import{r as Z}from"./requests-KshNNAOp.js";import{t as E}from"./database-zap-DIlSqcdp.js";import{t as _}from"./spinner-BbI9qk88.js";import{t as $}from"./refresh-cw-C9FftltI.js";import{t as ee}from"./trash-2-CqTUwVuU.js";import{t as A}from"./use-toast-kCNiuc-_.js";import{t as se}from"./context-C2Ie4tn_.js";import{i as T}from"./numbers-B5K_E7OP.js";import{n as te}from"./useAsyncData-DAQcLiyE.js";import{t as I}from"./empty-state-COZ7sMv4.js";import{t as ae}from"./requests-DqJEWJ-Q.js";import{n as ie,t as L}from"./formatting-eWiw-Q8f.js";var re=D(),O=F(H(),1),s=F(q(),1);const le=w=>{let e=(0,re.c)(27),{children:a,title:n,description:r,onConfirm:t,confirmText:l,cancelText:i,destructive:o}=w,y=l===void 0?"Continue":l,x=i===void 0?"Cancel":i,f=o===void 0?!1:o,[p,P]=O.useState(!1),h;e[0]===t?h=e[1]:(h=()=>{t(),P(!1)},e[0]=t,e[1]=h);let u=h,d=f?U:Q,m;e[2]===a?m=e[3]:(m=(0,s.jsx)(Y,{asChild:!0,children:a}),e[2]=a,e[3]=m);let c;e[4]===n?c=e[5]:(c=(0,s.jsx)(K,{children:n}),e[4]=n,e[5]=c);let j;e[6]===r?j=e[7]:(j=(0,s.jsx)(B,{children:r}),e[6]=r,e[7]=j);let v;e[8]!==c||e[9]!==j?(v=(0,s.jsxs)(G,{children:[c,j]}),e[8]=c,e[9]=j,e[10]=v):v=e[10];let g;e[11]===x?g=e[12]:(g=(0,s.jsx)(V,{children:x}),e[11]=x,e[12]=g);let N;e[13]!==d||e[14]!==y||e[15]!==u?(N=(0,s.jsx)(d,{onClick:u,children:y}),e[13]=d,e[14]=y,e[15]=u,e[16]=N):N=e[16];let b;e[17]!==N||e[18]!==g?(b=(0,s.jsxs)(W,{children:[g,N]}),e[17]=N,e[18]=g,e[19]=b):b=e[19];let C;e[20]!==b||e[21]!==v?(C=(0,s.jsxs)(J,{children:[v,b]}),e[20]=b,e[21]=v,e[22]=C):C=e[22];let S;return e[23]!==p||e[24]!==C||e[25]!==m?(S=(0,s.jsxs)(X,{open:p,onOpenChange:P,children:[m,C]}),e[23]=p,e[24]=C,e[25]=m,e[26]=S):S=e[26],S};var oe=D(),ce=()=>{let{clearCache:w,getCacheInfo:e}=Z(),a=R(ae),[n,r]=(0,O.useState)(!1),{locale:t}=se(),{isPending:l,isFetching:i,refetch:o}=te(async()=>{await e(),await new Promise(c=>setTimeout(c,500))},[]),y=async()=>{try{r(!0),await w(),A({title:"Cache purged",description:"All cached data has been cleared"}),o()}catch(c){A({title:"Error",description:c instanceof Error?c.message:"Failed to purge cache",variant:"danger"})}finally{r(!1)}};if(l&&!a)return(0,s.jsx)(_,{size:"medium",centered:!0});let x=(0,s.jsxs)(z,{variant:"outline",size:"sm",onClick:o,disabled:i,children:[i?(0,s.jsx)(_,{size:"small",className:"w-4 h-4 mr-2"}):(0,s.jsx)($,{className:"w-4 h-4 mr-2"}),"Refresh"]});if(!a)return(0,s.jsx)(I,{title:"No cache data",description:"Cache information is not available.",icon:(0,s.jsx)(E,{}),action:x});let f=a.hits,p=a.misses,P=a.time,h=a.disk_total,u=a.disk_to_free,d=f+p,m=d>0?f/d*100:0;return d===0?(0,s.jsx)(I,{title:"No cache activity",description:"The cache has not been used yet. Cached functions will appear here once they are executed.",icon:(0,s.jsx)(E,{}),action:x}):(0,s.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:(0,s.jsxs)("div",{className:"flex flex-col gap-4 p-4 h-full",children:[(0,s.jsx)("div",{className:"flex items-center justify-end",children:(0,s.jsx)(z,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:o,disabled:i,children:(0,s.jsx)($,{className:M("h-4 w-4 text-muted-foreground hover:text-foreground",i&&"animate-[spin_0.5s]")})})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Statistics"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsx)(k,{label:"Time saved",value:ie(P,t),description:"Total execution time saved"}),(0,s.jsx)(k,{label:"Hit rate",value:d>0?`${T(m,t)}%`:"\u2014",description:`${T(f,t)} hits / ${T(d,t)} total`}),(0,s.jsx)(k,{label:"Cache hits",value:T(f,t),description:"Successful cache retrievals"}),(0,s.jsx)(k,{label:"Cache misses",value:T(p,t),description:"Cache not found"})]})]}),h>0&&(0,s.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Storage"}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-3",children:(0,s.jsx)(k,{label:"Disk usage",value:L(h,t),description:u>0?`${L(u,t)} can be freed`:"Cache storage on disk"})})]}),(0,s.jsx)("div",{className:"my-auto"}),(0,s.jsx)("div",{className:"pt-2 border-t",children:(0,s.jsx)(le,{title:"Purge cache?",description:"This will permanently delete all cached data. This action cannot be undone.",confirmText:"Purge",destructive:!0,onConfirm:y,children:(0,s.jsxs)(z,{variant:"outlineDestructive",size:"xs",disabled:n,className:"w-full",children:[n?(0,s.jsx)(_,{size:"small",className:"w-3 h-3 mr-2"}):(0,s.jsx)(ee,{className:"w-3 h-3 mr-2"}),"Purge Cache"]})})})]})})},k=w=>{let e=(0,oe.c)(10),{label:a,value:n,description:r}=w,t;e[0]===a?t=e[1]:(t=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),e[0]=a,e[1]=t);let l;e[2]===n?l=e[3]:(l=(0,s.jsx)("span",{className:"text-lg font-semibold",children:n}),e[2]=n,e[3]=l);let i;e[4]===r?i=e[5]:(i=r&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r}),e[4]=r,e[5]=i);let o;return e[6]!==t||e[7]!==l||e[8]!==i?(o=(0,s.jsxs)("div",{className:"flex flex-col gap-1 p-3 rounded-lg border bg-card",children:[t,l,i]}),e[6]=t,e[7]=l,e[8]=i,e[9]=o):o=e[9],o},ne=ce;export{ne as default};
1
+ import{s as F}from"./chunk-LvLJmgfZ.js";import{u as R}from"./useEvent-D91BmmQi.js";import{t as H}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as M}from"./cn-X2M2usMq.js";import{t as q}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BXI8V5i6.js";import{a as B,c as G,i as J,l as K,n as Q,o as U,r as V,s as W,t as X,u as Y}from"./alert-dialog-CC0gG4Av.js";import{t as z}from"./button-BF7GSjhW.js";import{r as Z}from"./requests-KshNNAOp.js";import{t as E}from"./database-zap-DIlSqcdp.js";import{t as _}from"./spinner-BbI9qk88.js";import{t as $}from"./refresh-cw-C9FftltI.js";import{t as ee}from"./trash-2-CqTUwVuU.js";import{t as A}from"./use-toast-kCNiuc-_.js";import{t as se}from"./context-C2Ie4tn_.js";import{i as T}from"./numbers-_ry1Nlla.js";import{n as te}from"./useAsyncData-DAQcLiyE.js";import{t as I}from"./empty-state-QmmE2oN4.js";import{t as ae}from"./requests-DqJEWJ-Q.js";import{n as ie,t as L}from"./formatting-DhA_x3cD.js";var re=D(),O=F(H(),1),s=F(q(),1);const le=w=>{let e=(0,re.c)(27),{children:a,title:n,description:r,onConfirm:t,confirmText:l,cancelText:i,destructive:o}=w,y=l===void 0?"Continue":l,x=i===void 0?"Cancel":i,f=o===void 0?!1:o,[p,P]=O.useState(!1),h;e[0]===t?h=e[1]:(h=()=>{t(),P(!1)},e[0]=t,e[1]=h);let u=h,d=f?U:Q,m;e[2]===a?m=e[3]:(m=(0,s.jsx)(Y,{asChild:!0,children:a}),e[2]=a,e[3]=m);let c;e[4]===n?c=e[5]:(c=(0,s.jsx)(K,{children:n}),e[4]=n,e[5]=c);let j;e[6]===r?j=e[7]:(j=(0,s.jsx)(B,{children:r}),e[6]=r,e[7]=j);let v;e[8]!==c||e[9]!==j?(v=(0,s.jsxs)(G,{children:[c,j]}),e[8]=c,e[9]=j,e[10]=v):v=e[10];let g;e[11]===x?g=e[12]:(g=(0,s.jsx)(V,{children:x}),e[11]=x,e[12]=g);let N;e[13]!==d||e[14]!==y||e[15]!==u?(N=(0,s.jsx)(d,{onClick:u,children:y}),e[13]=d,e[14]=y,e[15]=u,e[16]=N):N=e[16];let b;e[17]!==N||e[18]!==g?(b=(0,s.jsxs)(W,{children:[g,N]}),e[17]=N,e[18]=g,e[19]=b):b=e[19];let C;e[20]!==b||e[21]!==v?(C=(0,s.jsxs)(J,{children:[v,b]}),e[20]=b,e[21]=v,e[22]=C):C=e[22];let S;return e[23]!==p||e[24]!==C||e[25]!==m?(S=(0,s.jsxs)(X,{open:p,onOpenChange:P,children:[m,C]}),e[23]=p,e[24]=C,e[25]=m,e[26]=S):S=e[26],S};var oe=D(),ce=()=>{let{clearCache:w,getCacheInfo:e}=Z(),a=R(ae),[n,r]=(0,O.useState)(!1),{locale:t}=se(),{isPending:l,isFetching:i,refetch:o}=te(async()=>{await e(),await new Promise(c=>setTimeout(c,500))},[]),y=async()=>{try{r(!0),await w(),A({title:"Cache purged",description:"All cached data has been cleared"}),o()}catch(c){A({title:"Error",description:c instanceof Error?c.message:"Failed to purge cache",variant:"danger"})}finally{r(!1)}};if(l&&!a)return(0,s.jsx)(_,{size:"medium",centered:!0});let x=(0,s.jsxs)(z,{variant:"outline",size:"sm",onClick:o,disabled:i,children:[i?(0,s.jsx)(_,{size:"small",className:"w-4 h-4 mr-2"}):(0,s.jsx)($,{className:"w-4 h-4 mr-2"}),"Refresh"]});if(!a)return(0,s.jsx)(I,{title:"No cache data",description:"Cache information is not available.",icon:(0,s.jsx)(E,{}),action:x});let f=a.hits,p=a.misses,P=a.time,h=a.disk_total,u=a.disk_to_free,d=f+p,m=d>0?f/d*100:0;return d===0?(0,s.jsx)(I,{title:"No cache activity",description:"The cache has not been used yet. Cached functions will appear here once they are executed.",icon:(0,s.jsx)(E,{}),action:x}):(0,s.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:(0,s.jsxs)("div",{className:"flex flex-col gap-4 p-4 h-full",children:[(0,s.jsx)("div",{className:"flex items-center justify-end",children:(0,s.jsx)(z,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:o,disabled:i,children:(0,s.jsx)($,{className:M("h-4 w-4 text-muted-foreground hover:text-foreground",i&&"animate-[spin_0.5s]")})})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Statistics"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsx)(k,{label:"Time saved",value:ie(P,t),description:"Total execution time saved"}),(0,s.jsx)(k,{label:"Hit rate",value:d>0?`${T(m,t)}%`:"\u2014",description:`${T(f,t)} hits / ${T(d,t)} total`}),(0,s.jsx)(k,{label:"Cache hits",value:T(f,t),description:"Successful cache retrievals"}),(0,s.jsx)(k,{label:"Cache misses",value:T(p,t),description:"Cache not found"})]})]}),h>0&&(0,s.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Storage"}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-3",children:(0,s.jsx)(k,{label:"Disk usage",value:L(h,t),description:u>0?`${L(u,t)} can be freed`:"Cache storage on disk"})})]}),(0,s.jsx)("div",{className:"my-auto"}),(0,s.jsx)("div",{className:"pt-2 border-t",children:(0,s.jsx)(le,{title:"Purge cache?",description:"This will permanently delete all cached data. This action cannot be undone.",confirmText:"Purge",destructive:!0,onConfirm:y,children:(0,s.jsxs)(z,{variant:"outlineDestructive",size:"xs",disabled:n,className:"w-full",children:[n?(0,s.jsx)(_,{size:"small",className:"w-3 h-3 mr-2"}):(0,s.jsx)(ee,{className:"w-3 h-3 mr-2"}),"Purge Cache"]})})})]})})},k=w=>{let e=(0,oe.c)(10),{label:a,value:n,description:r}=w,t;e[0]===a?t=e[1]:(t=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),e[0]=a,e[1]=t);let l;e[2]===n?l=e[3]:(l=(0,s.jsx)("span",{className:"text-lg font-semibold",children:n}),e[2]=n,e[3]=l);let i;e[4]===r?i=e[5]:(i=r&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r}),e[4]=r,e[5]=i);let o;return e[6]!==t||e[7]!==l||e[8]!==i?(o=(0,s.jsxs)("div",{className:"flex flex-col gap-1 p-3 rounded-lg border bg-card",children:[t,l,i]}),e[6]=t,e[7]=l,e[8]=i,e[9]=o):o=e[9],o},ne=ce;export{ne as default};
@@ -1 +1 @@
1
- import{_ as a}from"./useEventListener-Wyg6Md5s.js";import{n as l}from"./once-CXj_gH7S.js";function i(n){try{let e=window[n],r="__storage_test__",t="test";if(!e)return!1;e.setItem(r,t);let o=e.getItem(r);return e.removeItem(r),o===t}catch{return!1}}function s(){try{return"download"in document.createElement("a")}catch{return!1}}function d(){let n=window.parent!==window,e={isEmbedded:n,hasLocalStorage:i("localStorage"),hasSessionStorage:i("sessionStorage"),hasClipboard:navigator.clipboard!==void 0,hasDownloads:s(),hasFullscreen:document.fullscreenEnabled!==void 0&&document.fullscreenEnabled,hasMediaDevices:navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getUserMedia=="function"};return n&&(a.log("[iframe] Running in embedded context"),e.hasLocalStorage||a.warn("[iframe] localStorage unavailable - using fallback storage"),e.hasClipboard||a.warn("[iframe] Clipboard API unavailable"),e.hasDownloads||a.warn("[iframe] Download capability may be restricted"),e.hasFullscreen||a.warn("[iframe] Fullscreen API unavailable"),e.hasMediaDevices||a.warn("[iframe] Media devices API unavailable")),e}const c=l(()=>d());export{c as t};
1
+ import{_ as a}from"./useEventListener-BakX-tnw.js";import{n as l}from"./once-CXj_gH7S.js";function i(n){try{let e=window[n],r="__storage_test__",t="test";if(!e)return!1;e.setItem(r,t);let o=e.getItem(r);return e.removeItem(r),o===t}catch{return!1}}function s(){try{return"download"in document.createElement("a")}catch{return!1}}function d(){let n=window.parent!==window,e={isEmbedded:n,hasLocalStorage:i("localStorage"),hasSessionStorage:i("sessionStorage"),hasClipboard:navigator.clipboard!==void 0,hasDownloads:s(),hasFullscreen:document.fullscreenEnabled!==void 0&&document.fullscreenEnabled,hasMediaDevices:navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getUserMedia=="function"};return n&&(a.log("[iframe] Running in embedded context"),e.hasLocalStorage||a.warn("[iframe] localStorage unavailable - using fallback storage"),e.hasClipboard||a.warn("[iframe] Clipboard API unavailable"),e.hasDownloads||a.warn("[iframe] Download capability may be restricted"),e.hasFullscreen||a.warn("[iframe] Fullscreen API unavailable"),e.hasMediaDevices||a.warn("[iframe] Media devices API unavailable")),e}const c=l(()=>d());export{c as t};