@marimo-team/frontend 0.24.1-dev2 → 0.24.1-dev21

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 (136) hide show
  1. package/dist/assets/{CellStatus-DqJypoFY.js → CellStatus-DsvXjUsv.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-DLvmqIcV.js → ConnectedDataExplorerComponent-WU7zjB7Z.js} +1 -1
  3. package/dist/assets/{JsonOutput-DnrBQBRT.js → JsonOutput-D62UH4Ip.js} +7 -7
  4. package/dist/assets/{MarimoErrorOutput-BVdFtnJz.js → MarimoErrorOutput-B_IfCm1k.js} +7 -7
  5. package/dist/assets/{RenderHTML-X9kskQZ0.js → RenderHTML-DY5kbf6q.js} +1 -1
  6. package/dist/assets/{RunButton-D83R2wvd.js → RunButton-BfHw11b3.js} +1 -1
  7. package/dist/assets/{add-cell-with-ai-HD16K3PB.js → add-cell-with-ai-B25FLoLF.js} +12 -12
  8. package/dist/assets/{add-connection-dialog-V86wrXca.js → add-connection-dialog-B05rbnef.js} +6 -6
  9. package/dist/assets/{agent-panel-XdLSrKjl.js → agent-panel-CQobsqAS.js} +6 -6
  10. package/dist/assets/{ai-model-dropdown-BJp70TST.js → ai-model-dropdown-CmDWOIkZ.js} +4 -4
  11. package/dist/assets/app-config-button-BkwiW00-.js +1 -0
  12. package/dist/assets/{blob-BKW9TqBu.js → blob-BqDSSN5X.js} +1 -1
  13. package/dist/assets/{cell-editor-DQSrfeL3.js → cell-editor-CefMlZnX.js} +14 -14
  14. package/dist/assets/cell-link-CP4zF1rO.js +1 -0
  15. package/dist/assets/{cells-DTFqEQb0.js → cells-DD-zwhxi.js} +72 -72
  16. package/dist/assets/{chat-display-CclXFQQP.js → chat-display-59QZ49m7.js} +1 -1
  17. package/dist/assets/{chat-panel-ft0VIKS8.js → chat-panel-CDZbG1OG.js} +2 -2
  18. package/dist/assets/{chat-ui-DUYenr6D.js → chat-ui-DoBTbTFY.js} +1 -1
  19. package/dist/assets/{column-preview-BLap3eAk.js → column-preview-BNg0hwmL.js} +1 -1
  20. package/dist/assets/{command-palette-C7nz0zHt.js → command-palette-gEcd355-.js} +1 -1
  21. package/dist/assets/{common-DKQZgzC9.js → common-CcYiDLMe.js} +1 -1
  22. package/dist/assets/{components-Bf_hykBb.js → components-B4D3PZ3j.js} +1 -1
  23. package/dist/assets/config-DFK5eCC3.js +1 -0
  24. package/dist/assets/{datasource-DZgUyqAK.js → datasource-DAM_bXu_.js} +2 -2
  25. package/dist/assets/dependency-graph-panel-01bZMvwS.js +5 -0
  26. package/dist/assets/{documentation-panel-BQYA8gCW.js → documentation-panel-BhruLk_O.js} +1 -1
  27. package/dist/assets/{download-_oAlkvj6.js → download-DT1x-ePG.js} +1 -1
  28. package/dist/assets/{edit-page-DnXTBsfC.js → edit-page-C8uQVdbi.js} +6 -6
  29. package/dist/assets/{error-entries-uxjSsTal.js → error-entries-Dg9m5P8l.js} +3 -3
  30. package/dist/assets/{error-panel-Bq0TKquh.js → error-panel-By_xNe1V.js} +1 -1
  31. package/dist/assets/{file-explorer-panel-uhg7VNMd.js → file-explorer-panel-BzTVzCS7.js} +3 -3
  32. package/dist/assets/{file-icons-V3puz20c.js → file-icons-Dop5RazI.js} +1 -1
  33. package/dist/assets/{file-name-input-DWf6YZwM.js → file-name-input-C5_fsJ6t.js} +1 -1
  34. package/dist/assets/{floating-outline-Vqr5D17R.js → floating-outline-Bt2aLttK.js} +1 -1
  35. package/dist/assets/{focus-BTlyH5K_.js → focus-DCZbWsqm.js} +1 -1
  36. package/dist/assets/{form-Bb1JVuzT.js → form-Cj3PfSUI.js} +1 -1
  37. package/dist/assets/{form-CRSnWxLR.js → form-DHy5wB3F.js} +1 -1
  38. package/dist/assets/{glide-data-editor-BNZxtmKn.js → glide-data-editor-BPPCsS2s.js} +2 -2
  39. package/dist/assets/{home-page-RduyhdYP.js → home-page-EsENjhWM.js} +2 -2
  40. package/dist/assets/{html-to-image-BsXiWo0v.js → html-to-image-CajdmeRM.js} +1 -1
  41. package/dist/assets/index-BZ-HxYIU.js +38 -0
  42. package/dist/assets/index-CxZ6uZaz.css +2 -0
  43. package/dist/assets/{kiosk-mode-BH15-Gn-.js → kiosk-mode-B8UhlOLw.js} +1 -1
  44. package/dist/assets/{layout-1X5SpE18.js → layout-B73d8K81.js} +5 -5
  45. package/dist/assets/{logs-panel-CVxksxou.js → logs-panel-CYMHvjs-.js} +1 -1
  46. package/dist/assets/{markdown-renderer-BjuEVUOa.js → markdown-renderer-DM-Whfio.js} +1 -1
  47. package/dist/assets/{name-cell-input-CtYGGTR5.js → name-cell-input-DF8MnZDV.js} +1 -1
  48. package/dist/assets/{outline-panel-BhxoKAbS.js → outline-panel-Q7h5hFfo.js} +1 -1
  49. package/dist/assets/{packages-panel-BWP3YWNW.js → packages-panel-BW4xGU0r.js} +1 -1
  50. package/dist/assets/{pair-with-agent-modal-BCMZbqSR.js → pair-with-agent-modal-DiDLAjxV.js} +1 -1
  51. package/dist/assets/panel-accordion-state-iff6EfKa.js +1 -0
  52. package/dist/assets/{panels-D40pa9F1.js → panels-BqKyRqOy.js} +2 -2
  53. package/dist/assets/{process-output-WaMx3G7b.js → process-output-B9grqmZC.js} +1 -1
  54. package/dist/assets/{radio-group-5KDs5aO1.js → radio-group-B8t5cIdU.js} +1 -1
  55. package/dist/assets/{readonly-code-display-DnHcjfFl.js → readonly-code-display-CY-jDwQL.js} +1 -1
  56. package/dist/assets/{readonly-python-code-BV8otm7e.js → readonly-python-code-DFjpK9Hc.js} +1 -1
  57. package/dist/assets/{reveal-component-yVci-fc9.js → reveal-component-DWjuDjk-.js} +2 -2
  58. package/dist/assets/{run-page-aQycuCjn.js → run-page-DNJz4YBq.js} +1 -1
  59. package/dist/assets/{scratchpad-panel-lsqN24Au.js → scratchpad-panel-BOQN7LjT.js} +1 -1
  60. package/dist/assets/{session-panel-C4JUkPt7.js → session-panel-C9zMMa1x.js} +1 -1
  61. package/dist/assets/{skeleton-DOZFvsSE.js → skeleton-mj_3hAv8.js} +1 -1
  62. package/dist/assets/{snippets-panel-QNY_Dl2J.js → snippets-panel-C-VlGXwd.js} +1 -1
  63. package/dist/assets/spec-C_psFYbu.js +1 -0
  64. package/dist/assets/state-BSVx1akM.js +3 -0
  65. package/dist/assets/{state-ByxLiTvP.js → state-C1e6in0R.js} +1 -1
  66. package/dist/assets/{switch-CDT2KH2g.js → switch-ulnbZFaI.js} +1 -1
  67. package/dist/assets/{terminal-UyHT9ie2.js → terminal-Bo6pnmSU.js} +1 -1
  68. package/dist/assets/{tracing-BiBPyXVg.js → tracing-D-L-9q2d.js} +1 -1
  69. package/dist/assets/{tracing-panel-D8LtcU_g.js → tracing-panel-DQzhu-hj.js} +2 -2
  70. package/dist/assets/{tree-actions-DUAdNn1i.js → tree-actions-BBmIijvt.js} +1 -1
  71. package/dist/assets/{useBoolean-CgN_4RAl.js → useBoolean-C_UV6tQ7.js} +1 -1
  72. package/dist/assets/{useCellActionButton-Bp2eEIzO.js → useCellActionButton-COoOWq__.js} +1 -1
  73. package/dist/assets/{useDeleteCell-DO-9USfB.js → useDeleteCell-C802AuEJ.js} +1 -1
  74. package/dist/assets/{useDependencyPanelTab-Bi8pUBnn.js → useDependencyPanelTab-DR6NOy5O.js} +1 -1
  75. package/dist/assets/useNotebookActions-BXVkcfqk.js +12 -0
  76. package/dist/assets/{useRunCells-BpZ_0Xuz.js → useRunCells-DuxMdaXo.js} +1 -1
  77. package/dist/assets/{useSplitCell-C2fjcfID.js → useSplitCell-B1EAP5Nv.js} +1 -1
  78. package/dist/assets/{utils-Y4n-X10o.js → utils-Bp3MLwWq.js} +1 -1
  79. package/dist/assets/{vega-component-3G_aA1Wa.js → vega-component-dzk5T-cc.js} +1 -1
  80. package/dist/assets/{vega-embed-container-CH1lX0V6.js → vega-embed-container-D0V0wn9T.js} +1 -1
  81. package/dist/index.html +29 -29
  82. package/package.json +1 -1
  83. package/src/__mocks__/requests.ts +4 -0
  84. package/src/components/app-config/optional-features.test.ts +78 -0
  85. package/src/components/app-config/optional-features.tsx +33 -6
  86. package/src/components/data-table/__tests__/column_formatting.test.ts +7 -0
  87. package/src/components/data-table/charts/__tests__/schemas.test.ts +17 -2
  88. package/src/components/data-table/charts/chart-spec/types.ts +2 -0
  89. package/src/components/data-table/column-formatting/feature.ts +1 -0
  90. package/src/components/data-table/column-formatting/types.ts +1 -0
  91. package/src/components/data-table/column-summary/chart-spec-model.tsx +1 -0
  92. package/src/components/data-table/column-summary/column-summary.tsx +1 -0
  93. package/src/components/data-table/columns.tsx +4 -3
  94. package/src/components/datasets/__tests__/icons.test.ts +10 -2
  95. package/src/components/datasets/icons.tsx +4 -0
  96. package/src/components/datasources/__tests__/components.test.tsx +14 -1
  97. package/src/components/editor/actions/export-dialog/__tests__/export-dialog.test.tsx +206 -34
  98. package/src/components/editor/actions/export-dialog/export-dialog.tsx +9 -3
  99. package/src/components/editor/actions/export-dialog/format-notice.tsx +69 -24
  100. package/src/components/editor/actions/export-dialog/use-export-dialog.ts +27 -2
  101. package/src/components/ui/toaster.tsx +14 -1
  102. package/src/core/codemirror/code-lens/__tests__/popover.test.ts +13 -0
  103. package/src/core/codemirror/code-lens/popover.tsx +11 -5
  104. package/src/core/codemirror/language/languages/sql/__tests__/renderers.test.tsx +15 -4
  105. package/src/core/codemirror/language/languages/sql/renderers.tsx +1 -0
  106. package/src/core/islands/bridge.ts +1 -0
  107. package/src/core/kernel/messages.ts +1 -0
  108. package/src/core/mode.ts +6 -1
  109. package/src/core/network/__tests__/requests-lazy.test.ts +40 -0
  110. package/src/core/network/__tests__/requests-network.test.ts +13 -0
  111. package/src/core/network/requests-lazy.ts +11 -4
  112. package/src/core/network/requests-network.ts +8 -0
  113. package/src/core/network/requests-static.ts +1 -0
  114. package/src/core/network/requests-toasting.tsx +1 -0
  115. package/src/core/network/types.ts +5 -0
  116. package/src/core/wasm/bridge.ts +1 -0
  117. package/src/plugins/impl/MatrixPlugin.tsx +256 -35
  118. package/src/plugins/impl/__tests__/DataEditorPlugin.test.ts +13 -1
  119. package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +540 -3
  120. package/src/plugins/impl/data-editor/glide-data-editor.tsx +1 -0
  121. package/src/plugins/impl/data-editor/glide-utils.ts +1 -0
  122. package/src/plugins/impl/data-frames/__tests__/schema.test.ts +9 -1
  123. package/src/plugins/impl/data-frames/utils/__tests__/operators.test.ts +8 -0
  124. package/src/plugins/impl/data-frames/utils/operators.ts +1 -1
  125. package/src/plugins/impl/vega/__tests__/vega.test.ts +22 -4
  126. package/src/plugins/impl/vega/utils.ts +3 -0
  127. package/dist/assets/app-config-button-C2zJXSrK.js +0 -1
  128. package/dist/assets/cell-link-D26WjdN1.js +0 -1
  129. package/dist/assets/config-EoJoeZuK.js +0 -1
  130. package/dist/assets/dependency-graph-panel-CH6kIoat.js +0 -5
  131. package/dist/assets/index-C5WESBbZ.js +0 -38
  132. package/dist/assets/index-WoaGtlKd.css +0 -2
  133. package/dist/assets/panel-accordion-state-0CKLFeAf.js +0 -1
  134. package/dist/assets/spec-NeCHOv2Z.js +0 -1
  135. package/dist/assets/state-Ci7n55A9.js +0 -3
  136. package/dist/assets/useNotebookActions-Bm9VzJ_M.js +0 -12
@@ -1 +1 @@
1
- var A=Object.defineProperty;var N=(t,e,r)=>e in t?A(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var b=(t,e,r)=>N(t,typeof e!="symbol"?e+"":e,r);import{o as T}from"./chunk-C4rtOYze.js";import{u as I}from"./useEvent-GCVIknuR.js";import{a as V}from"./cells-DTFqEQb0.js";import{t as M}from"./compiler-runtime-DnimoHo0.js";import{g as k}from"./useEventListener-DpNnLPuE.js";import{t as E}from"./objects-CrbstYTV.js";import{o as P}from"./utils-C8Yt16Y7.js";import{T as _,v as z}from"./config-EoJoeZuK.js";import{t as D}from"./cn-DCUzRj2J.js";import{t as $}from"./jsx-runtime-3wZU7vFS.js";import{s as B,u as H}from"./download-_oAlkvj6.js";import{r as L}from"./requests-B9zEd_sW.js";import{P as R}from"./layout-1X5SpE18.js";import{t as Y}from"./Deferred-CP7vq682.js";import{t as q}from"./use-toast-DjpWVza6.js";import{t as x}from"./useInterval-CTStcSBb.js";var G=class{constructor(){b(this,"capturedInputs",new Map);b(this,"inFlight",new Map)}cancelEntry(t){t.controller.abort(),t.deferred.status==="pending"&&t.deferred.resolve(void 0)}needsCapture(t,e){if(this.capturedInputs.get(t)===e)return!1;let r=this.inFlight.get(t);return!(r&&r.inputValue===e)}waitForInFlight(t,e){let r=this.inFlight.get(t);return r&&r.inputValue===e?r.deferred.promise:null}startCapture(t,e){let r=this.inFlight.get(t);r&&this.cancelEntry(r);let a=new AbortController,i=new Y,s={controller:a,inputValue:e,deferred:i};return this.inFlight.set(t,s),{signal:a.signal,markCaptured:p=>{this.inFlight.get(t)===s&&(i.resolve(p),this.capturedInputs.set(t,e),this.inFlight.delete(t))},markFailed:()=>{this.inFlight.get(t)===s&&(i.resolve(void 0),this.inFlight.delete(t))}}}prune(t){for(let e of this.capturedInputs.keys())t.has(e)||this.capturedInputs.delete(e);for(let[e,r]of this.inFlight)t.has(e)||(this.cancelEntry(r),this.inFlight.delete(e))}get isCapturing(){return this.inFlight.size>0}abort(){for(let t of this.inFlight.values())this.cancelEntry(t);this.inFlight.clear()}reset(){this.abort(),this.capturedInputs.clear()}},J=M(),S=5e3;function K(){let t=(0,J.c)(14),e=I(P),{state:r}=I(z),a=e.auto_download.includes("markdown"),i=e.auto_download.includes("html"),s=e.auto_download.includes("ipynb"),p=r===_.OPEN,m=!a||!p,d=!i||!p,c=!s||!p,{autoExportAsHTML:l,autoExportAsIPYNB:o,autoExportAsMarkdown:n,updateCellOutputs:u}=L(),h=O(),f;t[0]===n?f=t[1]:(f=async()=>{await n({download:!1})},t[0]=n,t[1]=f);let g;t[2]===m?g=t[3]:(g={delayMs:S,whenVisible:!0,disabled:m},t[2]=m,t[3]=g),x(f,g);let w;t[4]===l?w=t[5]:(w=async()=>{await l({download:!1,includeCode:!0,files:R.INSTANCE.filenames()})},t[4]=l,t[5]=w);let v;t[6]===d?v=t[7]:(v={delayMs:S,whenVisible:!0,disabled:d},t[6]=d,t[7]=v),x(w,v);let F;t[8]!==o||t[9]!==h||t[10]!==u?(F=async()=>{await j({takeScreenshots:()=>h({progress:H.indeterminate()}),updateCellOutputs:u}),await o({download:!1})},t[8]=o,t[9]=h,t[10]=u,t[11]=F):F=t[11];let y;t[12]===c?y=t[13]:(y={delayMs:S,whenVisible:!0,disabled:c,skipIfRunning:!0},t[12]=c,t[13]=y),x(F,y)}var Q=new Set(["text/html","application/vnd.vegalite.v5+json","application/vnd.vega.v5+json","application/vnd.vegalite.v6+json","application/vnd.vega.v6+json"]);const C=new G;function O(){let t=I(V);return async e=>{var d,c;let{progress:r}=e,a=new Set(E.keys(t));C.prune(a);let i=[],s=[];for(let[l,o]of E.entries(t)){let n=(d=o.output)==null?void 0:d.data;if((c=o.output)!=null&&c.mimetype&&Q.has(o.output.mimetype)&&n)if(C.needsCapture(l,n))i.push([l,n]);else{let u=C.waitForInFlight(l,n);u&&s.push({cellId:l,promise:u})}}if(i.length===0&&s.length===0)return{};i.length>0&&r.addTotal(i.length);let p={};for(let[l,o]of i){let n=C.startCapture(l,o);try{let u=await B(l);if(n.signal.aborted)continue;if(!u){k.error(`Failed to capture screenshot for cell ${l}`),n.markFailed();continue}let h=["image/png",u];p[l]=h,n.markCaptured(h)}catch(u){k.error(`Error screenshotting cell ${l}:`,u),n.markFailed()}finally{r.increment(1)}}let m=await Promise.allSettled(s.map(({promise:l})=>l));for(let[l,{cellId:o}]of s.entries()){let n=m[l];n.status==="fulfilled"&&n.value&&(p[o]=n.value)}return p}}async function j(t){let{takeScreenshots:e,updateCellOutputs:r}=t;try{let a=await e();E.size(a)>0&&await r({cellIdsToOutput:a})}catch(a){k.error("Error updating cell outputs with screenshots:",a),q({title:"Failed to capture cell outputs",description:"Some outputs may be missing from the export. Continuing.",variant:"danger"})}}var U=M(),W=T($(),1),X=t=>{let e=(0,U.c)(8),r,a;e[0]===t?(r=e[1],a=e[2]):({className:r,...a}=t,e[0]=t,e[1]=r,e[2]=a);let i;e[3]===r?i=e[4]:(i=D("animate-pulse rounded-md bg-muted",r),e[3]=r,e[4]=i);let s;return e[5]!==a||e[6]!==i?(s=(0,W.jsx)("div",{className:i,...a}),e[5]=a,e[6]=i,e[7]=s):s=e[7],s};export{O as i,j as n,K as r,X as t};
1
+ var A=Object.defineProperty;var N=(t,e,r)=>e in t?A(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var b=(t,e,r)=>N(t,typeof e!="symbol"?e+"":e,r);import{o as T}from"./chunk-C4rtOYze.js";import{u as I}from"./useEvent-GCVIknuR.js";import{a as V}from"./cells-DD-zwhxi.js";import{t as M}from"./compiler-runtime-DnimoHo0.js";import{g as k}from"./useEventListener-DpNnLPuE.js";import{t as E}from"./objects-CrbstYTV.js";import{o as P}from"./utils-C8Yt16Y7.js";import{T as _,v as z}from"./config-DFK5eCC3.js";import{t as D}from"./cn-DCUzRj2J.js";import{t as $}from"./jsx-runtime-3wZU7vFS.js";import{s as B,u as H}from"./download-DT1x-ePG.js";import{r as L}from"./requests-B9zEd_sW.js";import{P as R}from"./layout-B73d8K81.js";import{t as Y}from"./Deferred-CP7vq682.js";import{t as q}from"./use-toast-DjpWVza6.js";import{t as x}from"./useInterval-CTStcSBb.js";var G=class{constructor(){b(this,"capturedInputs",new Map);b(this,"inFlight",new Map)}cancelEntry(t){t.controller.abort(),t.deferred.status==="pending"&&t.deferred.resolve(void 0)}needsCapture(t,e){if(this.capturedInputs.get(t)===e)return!1;let r=this.inFlight.get(t);return!(r&&r.inputValue===e)}waitForInFlight(t,e){let r=this.inFlight.get(t);return r&&r.inputValue===e?r.deferred.promise:null}startCapture(t,e){let r=this.inFlight.get(t);r&&this.cancelEntry(r);let a=new AbortController,i=new Y,s={controller:a,inputValue:e,deferred:i};return this.inFlight.set(t,s),{signal:a.signal,markCaptured:p=>{this.inFlight.get(t)===s&&(i.resolve(p),this.capturedInputs.set(t,e),this.inFlight.delete(t))},markFailed:()=>{this.inFlight.get(t)===s&&(i.resolve(void 0),this.inFlight.delete(t))}}}prune(t){for(let e of this.capturedInputs.keys())t.has(e)||this.capturedInputs.delete(e);for(let[e,r]of this.inFlight)t.has(e)||(this.cancelEntry(r),this.inFlight.delete(e))}get isCapturing(){return this.inFlight.size>0}abort(){for(let t of this.inFlight.values())this.cancelEntry(t);this.inFlight.clear()}reset(){this.abort(),this.capturedInputs.clear()}},J=M(),S=5e3;function K(){let t=(0,J.c)(14),e=I(P),{state:r}=I(z),a=e.auto_download.includes("markdown"),i=e.auto_download.includes("html"),s=e.auto_download.includes("ipynb"),p=r===_.OPEN,m=!a||!p,d=!i||!p,c=!s||!p,{autoExportAsHTML:l,autoExportAsIPYNB:o,autoExportAsMarkdown:n,updateCellOutputs:u}=L(),h=O(),f;t[0]===n?f=t[1]:(f=async()=>{await n({download:!1})},t[0]=n,t[1]=f);let g;t[2]===m?g=t[3]:(g={delayMs:S,whenVisible:!0,disabled:m},t[2]=m,t[3]=g),x(f,g);let w;t[4]===l?w=t[5]:(w=async()=>{await l({download:!1,includeCode:!0,files:R.INSTANCE.filenames()})},t[4]=l,t[5]=w);let v;t[6]===d?v=t[7]:(v={delayMs:S,whenVisible:!0,disabled:d},t[6]=d,t[7]=v),x(w,v);let F;t[8]!==o||t[9]!==h||t[10]!==u?(F=async()=>{await j({takeScreenshots:()=>h({progress:H.indeterminate()}),updateCellOutputs:u}),await o({download:!1})},t[8]=o,t[9]=h,t[10]=u,t[11]=F):F=t[11];let y;t[12]===c?y=t[13]:(y={delayMs:S,whenVisible:!0,disabled:c,skipIfRunning:!0},t[12]=c,t[13]=y),x(F,y)}var Q=new Set(["text/html","application/vnd.vegalite.v5+json","application/vnd.vega.v5+json","application/vnd.vegalite.v6+json","application/vnd.vega.v6+json"]);const C=new G;function O(){let t=I(V);return async e=>{var d,c;let{progress:r}=e,a=new Set(E.keys(t));C.prune(a);let i=[],s=[];for(let[l,o]of E.entries(t)){let n=(d=o.output)==null?void 0:d.data;if((c=o.output)!=null&&c.mimetype&&Q.has(o.output.mimetype)&&n)if(C.needsCapture(l,n))i.push([l,n]);else{let u=C.waitForInFlight(l,n);u&&s.push({cellId:l,promise:u})}}if(i.length===0&&s.length===0)return{};i.length>0&&r.addTotal(i.length);let p={};for(let[l,o]of i){let n=C.startCapture(l,o);try{let u=await B(l);if(n.signal.aborted)continue;if(!u){k.error(`Failed to capture screenshot for cell ${l}`),n.markFailed();continue}let h=["image/png",u];p[l]=h,n.markCaptured(h)}catch(u){k.error(`Error screenshotting cell ${l}:`,u),n.markFailed()}finally{r.increment(1)}}let m=await Promise.allSettled(s.map(({promise:l})=>l));for(let[l,{cellId:o}]of s.entries()){let n=m[l];n.status==="fulfilled"&&n.value&&(p[o]=n.value)}return p}}async function j(t){let{takeScreenshots:e,updateCellOutputs:r}=t;try{let a=await e();E.size(a)>0&&await r({cellIdsToOutput:a})}catch(a){k.error("Error updating cell outputs with screenshots:",a),q({title:"Failed to capture cell outputs",description:"Some outputs may be missing from the export. Continuing.",variant:"danger"})}}var U=M(),W=T($(),1),X=t=>{let e=(0,U.c)(8),r,a;e[0]===t?(r=e[1],a=e[2]):({className:r,...a}=t,e[0]=t,e[1]=r,e[2]=a);let i;e[3]===r?i=e[4]:(i=D("animate-pulse rounded-md bg-muted",r),e[3]=r,e[4]=i);let s;return e[5]!==a||e[6]!==i?(s=(0,W.jsx)("div",{className:i,...a}),e[5]=a,e[6]=i,e[7]=s):s=e[7],s};export{O as i,j as n,K as r,X as t};
@@ -1 +1 @@
1
- import{o as I}from"./chunk-C4rtOYze.js";import"./useEvent-GCVIknuR.js";import{t as D}from"./react-C60yClUi.js";import{E as F}from"./cells-DTFqEQb0.js";import"./react-dom-Ba2zmJWD.js";import{t as $}from"./compiler-runtime-DnimoHo0.js";import{n as G}from"./useEventListener-DpNnLPuE.js";import{n as R}from"./constants-DifUxsbZ.js";import{t as T}from"./cn-DCUzRj2J.js";import{t as W}from"./jsx-runtime-3wZU7vFS.js";import"./fullscreen-CrevbcR_.js";import{t as A}from"./tooltip-C9LWGQ7Y.js";import{t as w}from"./button-W__YVea9.js";import{st as B}from"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{r as J}from"./requests-B9zEd_sW.js";import{n as E,t as K}from"./LazyAnyLanguageCodeMirror-DUvRReKp.js";import{t as L}from"./x-4y-nyVDU.js";import{t as U}from"./spinner-Cj3eM5bt.js";import{t as V}from"./plus-r1QITpsJ.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import"./session-D-SddyN0.js";import{r as X}from"./useTheme-CwCyrmDf.js";import"./purify.es-Bwm8T4QC.js";import{t as Y}from"./RenderHTML-X9kskQZ0.js";import{a as Z,c as Q,i as ee,n as te,r as se}from"./dialog-WU4x2UpK.js";import{n as re}from"./ImperativeModal-Dxj31V4A.js";import{n as le}from"./error-banner-d0-XOKtd.js";import{o as oe}from"./focus-BTlyH5K_.js";import{n as ie}from"./useAsyncData-BcvSvTUt.js";import{n as ae,r as ne,t as M}from"./react-resizable-panels.browser.esm-CLaR27oP.js";import{a as me,f as ce,o as de,r as pe,t as fe}from"./command-D5LtSvbN.js";import{t as he}from"./empty-state-CBq3j1LH.js";import{n as xe,r as ue}from"./panel-context-CkhpgwrR.js";import{t as je}from"./readonly-code-display-DnHcjfFl.js";import{t as H}from"./kiosk-mode-BH15-Gn-.js";var O=$(),C=I(D(),1),s=I(W(),1),be=G;const ve=t=>{let e=(0,O.c)(6),{children:r}=t,{openModal:i,closeModal:o}=re(),l;e[0]!==o||e[1]!==i?(l=()=>i((0,s.jsx)(Ne,{onClose:o})),e[0]=o,e[1]=i,e[2]=l):l=e[2];let a;return e[3]!==r||e[4]!==l?(a=(0,s.jsx)(be,{onClick:l,children:r}),e[3]=r,e[4]=l,e[5]=a):a=e[5],a};var Ne=t=>{let e=(0,O.c)(4),{onClose:r}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(Q,{children:"Contribute a Snippet"}),e[0]=i):i=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsxs)(Z,{children:[i,(0,s.jsxs)(se,{children:["Have a useful snippet you want to share with the community? Make a pull request"," ",(0,s.jsx)("a",{href:R.githubPage,target:"_blank",className:"underline",children:"on GitHub"}),"."]})]}),e[1]=o):o=e[1];let l;return e[2]===r?l=e[3]:(l=(0,s.jsxs)(te,{className:"max-w-md",children:[o,(0,s.jsx)(ee,{children:(0,s.jsx)(w,{"data-testid":"snippet-close-button",variant:"default",onClick:r,children:"Close"})})]}),e[2]=r,e[3]=l),l},k=$(),_e=[B.lineWrapping],ge=()=>{let t=(0,k.c)(24),{readSnippets:e}=J(),[r,i]=C.useState(),o=xe(),l=ue(),a;t[0]===e?a=t[1]:(a=()=>e(),t[0]=e,t[1]=a);let c;t[2]===Symbol.for("react.memo_cache_sentinel")?(c=[],t[2]=c):c=t[2];let{data:N,error:j,isPending:g}=ie(a,c);if(j){let m;return t[3]===j?m=t[4]:(m=(0,s.jsx)(le,{error:j}),t[3]=j,t[4]=m),m}if(g||!N){let m;return t[5]===Symbol.for("react.memo_cache_sentinel")?(m=(0,s.jsx)(U,{size:"medium",centered:!0}),t[5]=m):m=t[5],m}let _=o==="vertical",b;t[6]===Symbol.for("react.memo_cache_sentinel")?(b=(0,s.jsx)(me,{placeholder:"Search snippets...",className:"h-6 m-1",rootClassName:"flex-1 border-r"}),t[6]=b):b=t[6];let f,h;t[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsxs)("div",{className:"flex items-center w-full border-b",children:[b,(0,s.jsx)(ve,{children:(0,s.jsx)("button",{className:"float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",children:(0,s.jsx)(V,{className:"h-4 w-4"})})})]}),h=(0,s.jsx)(pe,{children:"No results"}),t[7]=f,t[8]=h):(f=t[7],h=t[8]);let v;t[9]===Symbol.for("react.memo_cache_sentinel")?(v=m=>i(m),t[9]=v):v=t[9];let d;t[10]===N.snippets?d=t[11]:(d=(0,s.jsx)(M,{defaultSize:40,minSize:20,maxSize:70,children:(0,s.jsxs)(fe,{className:"h-full rounded-none",children:[f,h,(0,s.jsx)(we,{onSelect:v,snippets:N.snippets})]})}),t[10]=N.snippets,t[11]=d);let u=_?"h-1":"w-1",p;t[12]===u?p=t[13]:(p=T("bg-border hover:bg-primary/50 transition-colors",u),t[12]=u,t[13]=p);let x;t[14]===p?x=t[15]:(x=(0,s.jsx)(ne,{className:p}),t[14]=p,t[15]=x);let n;t[16]===r?n=t[17]:(n=(0,s.jsx)(M,{defaultSize:60,minSize:20,children:(0,s.jsx)(C.Suspense,{children:(0,s.jsx)("div",{className:"h-full snippet-viewer flex flex-col overflow-hidden",children:r?(0,s.jsx)(Se,{snippet:r,onClose:()=>i(void 0)},r.title):(0,s.jsx)(he,{title:"",description:"Click on a snippet to view its content."})})})}),t[16]=r,t[17]=n);let S;return t[18]!==o||t[19]!==l||t[20]!==n||t[21]!==d||t[22]!==x?(S=(0,s.jsx)("div",{className:"flex-1 overflow-hidden h-full",children:(0,s.jsxs)(ae,{direction:o,className:"h-full",children:[d,x,n]},l)}),t[18]=o,t[19]=l,t[20]=n,t[21]=d,t[22]=x,t[23]=S):S=t[23],S},Se=t=>{let e=(0,k.c)(33),{snippet:r,onClose:i}=t,{theme:o}=X(),{createNewCell:l}=F(),a=oe(),c;e[0]!==l||e[1]!==a||e[2]!==r.sections?(c=()=>{for(let n of r.sections.toReversed())n.code&&l({code:n.code,before:!1,cellId:a??"__end__",skipIfCodeExists:!0})},e[0]=l,e[1]=a,e[2]=r.sections,e[3]=c):c=e[3];let N=c,j;e[4]!==l||e[5]!==a?(j=n=>{l({code:n,before:!1,cellId:a??"__end__"})},e[4]=l,e[5]=a,e[6]=j):j=e[6];let g=j,_;e[7]===r.title?_=e[8]:(_=(0,s.jsx)("span",{children:r.title}),e[7]=r.title,e[8]=_);let b;e[9]===Symbol.for("react.memo_cache_sentinel")?(b=(0,s.jsx)(L,{className:"h-4 w-4"}),e[9]=b):b=e[9];let f;e[10]===i?f=e[11]:(f=(0,s.jsx)(w,{size:"sm",variant:"ghost",onClick:i,className:"h-6 w-6 p-0 hover:bg-muted-foreground/10",children:b}),e[10]=i,e[11]=f);let h;e[12]!==_||e[13]!==f?(h=(0,s.jsxs)("div",{className:"text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center",children:[_,f]}),e[12]=_,e[13]=f,e[14]=h):h=e[14];let v;e[15]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(E,{className:"ml-2 h-4 w-4"}),e[15]=v):v=e[15];let d;e[16]===N?d=e[17]:(d=(0,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(H,{children:(0,s.jsxs)(w,{className:"float-right",size:"xs",variant:"outline",onClick:N,children:["Insert snippet",v]})})}),e[16]=N,e[17]=d);let u;if(e[18]!==g||e[19]!==r.sections||e[20]!==r.title||e[21]!==o){let n;e[23]!==g||e[24]!==r.title||e[25]!==o?(n=S=>{let{code:m,html:z,id:y}=S;if(z)return(0,s.jsx)("div",{children:Y({html:z})},`${r.title}-${y}`);if(!m)return null;let{language:P,code:q}=je(m);return(0,s.jsxs)("div",{className:"relative hover-actions-parent pr-2",children:[(0,s.jsx)(H,{children:(0,s.jsx)(A,{content:"Insert snippet",children:(0,s.jsx)(w,{className:"absolute -top-2 -right-1 z-10 hover-action px-2 bg-background",size:"sm",variant:"outline",onClick:()=>{g(m)},children:(0,s.jsx)(E,{className:"h-5 w-5"})})})}),(0,s.jsx)(C.Suspense,{children:(0,s.jsx)(K,{theme:o==="dark"?"dark":"light",language:P,className:"cm border rounded overflow-hidden",extensions:_e,value:q,readOnly:!0},`${r.title}-${y}`)})]},`${r.title}-${y}`)},e[23]=g,e[24]=r.title,e[25]=o,e[26]=n):n=e[26],u=r.sections.map(n),e[18]=g,e[19]=r.sections,e[20]=r.title,e[21]=o,e[22]=u}else u=e[22];let p;e[27]!==d||e[28]!==u?(p=(0,s.jsxs)("div",{className:"px-2 py-2 space-y-4 overflow-auto flex-1",children:[d,u]}),e[27]=d,e[28]=u,e[29]=p):p=e[29];let x;return e[30]!==p||e[31]!==h?(x=(0,s.jsxs)(s.Fragment,{children:[h,p]}),e[30]=p,e[31]=h,e[32]=x):x=e[32],x},we=t=>{let e=(0,k.c)(7),{snippets:r,onSelect:i}=t,o;if(e[0]!==i||e[1]!==r){let a;e[3]===i?a=e[4]:(a=c=>(0,s.jsx)(de,{className:"rounded-none",onSelect:()=>i(c),children:(0,s.jsx)("div",{className:"flex flex-row gap-2 items-center",children:(0,s.jsx)("span",{className:"mt-1 text-accent-foreground",children:c.title})})},c.title),e[3]=i,e[4]=a),o=r.map(a),e[0]=i,e[1]=r,e[2]=o}else o=e[2];let l;return e[5]===o?l=e[6]:(l=(0,s.jsx)(ce,{className:"flex flex-col overflow-auto",children:o}),e[5]=o,e[6]=l),l};export{ge as default};
1
+ import{o as I}from"./chunk-C4rtOYze.js";import"./useEvent-GCVIknuR.js";import{t as D}from"./react-C60yClUi.js";import{E as F}from"./cells-DD-zwhxi.js";import"./react-dom-Ba2zmJWD.js";import{t as $}from"./compiler-runtime-DnimoHo0.js";import{n as G}from"./useEventListener-DpNnLPuE.js";import{n as R}from"./constants-DifUxsbZ.js";import{t as T}from"./cn-DCUzRj2J.js";import{t as W}from"./jsx-runtime-3wZU7vFS.js";import"./fullscreen-CrevbcR_.js";import{t as A}from"./tooltip-C9LWGQ7Y.js";import{t as w}from"./button-W__YVea9.js";import{st as B}from"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{r as J}from"./requests-B9zEd_sW.js";import{n as E,t as K}from"./LazyAnyLanguageCodeMirror-DUvRReKp.js";import{t as L}from"./x-4y-nyVDU.js";import{t as U}from"./spinner-Cj3eM5bt.js";import{t as V}from"./plus-r1QITpsJ.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import"./session-D-SddyN0.js";import{r as X}from"./useTheme-CwCyrmDf.js";import"./purify.es-Bwm8T4QC.js";import{t as Y}from"./RenderHTML-DY5kbf6q.js";import{a as Z,c as Q,i as ee,n as te,r as se}from"./dialog-WU4x2UpK.js";import{n as re}from"./ImperativeModal-Dxj31V4A.js";import{n as le}from"./error-banner-d0-XOKtd.js";import{o as oe}from"./focus-DCZbWsqm.js";import{n as ie}from"./useAsyncData-BcvSvTUt.js";import{n as ae,r as ne,t as M}from"./react-resizable-panels.browser.esm-CLaR27oP.js";import{a as me,f as ce,o as de,r as pe,t as fe}from"./command-D5LtSvbN.js";import{t as he}from"./empty-state-CBq3j1LH.js";import{n as xe,r as ue}from"./panel-context-CkhpgwrR.js";import{t as je}from"./readonly-code-display-CY-jDwQL.js";import{t as H}from"./kiosk-mode-B8UhlOLw.js";var O=$(),C=I(D(),1),s=I(W(),1),be=G;const ve=t=>{let e=(0,O.c)(6),{children:r}=t,{openModal:i,closeModal:o}=re(),l;e[0]!==o||e[1]!==i?(l=()=>i((0,s.jsx)(Ne,{onClose:o})),e[0]=o,e[1]=i,e[2]=l):l=e[2];let a;return e[3]!==r||e[4]!==l?(a=(0,s.jsx)(be,{onClick:l,children:r}),e[3]=r,e[4]=l,e[5]=a):a=e[5],a};var Ne=t=>{let e=(0,O.c)(4),{onClose:r}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(Q,{children:"Contribute a Snippet"}),e[0]=i):i=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsxs)(Z,{children:[i,(0,s.jsxs)(se,{children:["Have a useful snippet you want to share with the community? Make a pull request"," ",(0,s.jsx)("a",{href:R.githubPage,target:"_blank",className:"underline",children:"on GitHub"}),"."]})]}),e[1]=o):o=e[1];let l;return e[2]===r?l=e[3]:(l=(0,s.jsxs)(te,{className:"max-w-md",children:[o,(0,s.jsx)(ee,{children:(0,s.jsx)(w,{"data-testid":"snippet-close-button",variant:"default",onClick:r,children:"Close"})})]}),e[2]=r,e[3]=l),l},k=$(),_e=[B.lineWrapping],ge=()=>{let t=(0,k.c)(24),{readSnippets:e}=J(),[r,i]=C.useState(),o=xe(),l=ue(),a;t[0]===e?a=t[1]:(a=()=>e(),t[0]=e,t[1]=a);let c;t[2]===Symbol.for("react.memo_cache_sentinel")?(c=[],t[2]=c):c=t[2];let{data:N,error:j,isPending:g}=ie(a,c);if(j){let m;return t[3]===j?m=t[4]:(m=(0,s.jsx)(le,{error:j}),t[3]=j,t[4]=m),m}if(g||!N){let m;return t[5]===Symbol.for("react.memo_cache_sentinel")?(m=(0,s.jsx)(U,{size:"medium",centered:!0}),t[5]=m):m=t[5],m}let _=o==="vertical",b;t[6]===Symbol.for("react.memo_cache_sentinel")?(b=(0,s.jsx)(me,{placeholder:"Search snippets...",className:"h-6 m-1",rootClassName:"flex-1 border-r"}),t[6]=b):b=t[6];let f,h;t[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsxs)("div",{className:"flex items-center w-full border-b",children:[b,(0,s.jsx)(ve,{children:(0,s.jsx)("button",{className:"float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",children:(0,s.jsx)(V,{className:"h-4 w-4"})})})]}),h=(0,s.jsx)(pe,{children:"No results"}),t[7]=f,t[8]=h):(f=t[7],h=t[8]);let v;t[9]===Symbol.for("react.memo_cache_sentinel")?(v=m=>i(m),t[9]=v):v=t[9];let d;t[10]===N.snippets?d=t[11]:(d=(0,s.jsx)(M,{defaultSize:40,minSize:20,maxSize:70,children:(0,s.jsxs)(fe,{className:"h-full rounded-none",children:[f,h,(0,s.jsx)(we,{onSelect:v,snippets:N.snippets})]})}),t[10]=N.snippets,t[11]=d);let u=_?"h-1":"w-1",p;t[12]===u?p=t[13]:(p=T("bg-border hover:bg-primary/50 transition-colors",u),t[12]=u,t[13]=p);let x;t[14]===p?x=t[15]:(x=(0,s.jsx)(ne,{className:p}),t[14]=p,t[15]=x);let n;t[16]===r?n=t[17]:(n=(0,s.jsx)(M,{defaultSize:60,minSize:20,children:(0,s.jsx)(C.Suspense,{children:(0,s.jsx)("div",{className:"h-full snippet-viewer flex flex-col overflow-hidden",children:r?(0,s.jsx)(Se,{snippet:r,onClose:()=>i(void 0)},r.title):(0,s.jsx)(he,{title:"",description:"Click on a snippet to view its content."})})})}),t[16]=r,t[17]=n);let S;return t[18]!==o||t[19]!==l||t[20]!==n||t[21]!==d||t[22]!==x?(S=(0,s.jsx)("div",{className:"flex-1 overflow-hidden h-full",children:(0,s.jsxs)(ae,{direction:o,className:"h-full",children:[d,x,n]},l)}),t[18]=o,t[19]=l,t[20]=n,t[21]=d,t[22]=x,t[23]=S):S=t[23],S},Se=t=>{let e=(0,k.c)(33),{snippet:r,onClose:i}=t,{theme:o}=X(),{createNewCell:l}=F(),a=oe(),c;e[0]!==l||e[1]!==a||e[2]!==r.sections?(c=()=>{for(let n of r.sections.toReversed())n.code&&l({code:n.code,before:!1,cellId:a??"__end__",skipIfCodeExists:!0})},e[0]=l,e[1]=a,e[2]=r.sections,e[3]=c):c=e[3];let N=c,j;e[4]!==l||e[5]!==a?(j=n=>{l({code:n,before:!1,cellId:a??"__end__"})},e[4]=l,e[5]=a,e[6]=j):j=e[6];let g=j,_;e[7]===r.title?_=e[8]:(_=(0,s.jsx)("span",{children:r.title}),e[7]=r.title,e[8]=_);let b;e[9]===Symbol.for("react.memo_cache_sentinel")?(b=(0,s.jsx)(L,{className:"h-4 w-4"}),e[9]=b):b=e[9];let f;e[10]===i?f=e[11]:(f=(0,s.jsx)(w,{size:"sm",variant:"ghost",onClick:i,className:"h-6 w-6 p-0 hover:bg-muted-foreground/10",children:b}),e[10]=i,e[11]=f);let h;e[12]!==_||e[13]!==f?(h=(0,s.jsxs)("div",{className:"text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center",children:[_,f]}),e[12]=_,e[13]=f,e[14]=h):h=e[14];let v;e[15]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(E,{className:"ml-2 h-4 w-4"}),e[15]=v):v=e[15];let d;e[16]===N?d=e[17]:(d=(0,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(H,{children:(0,s.jsxs)(w,{className:"float-right",size:"xs",variant:"outline",onClick:N,children:["Insert snippet",v]})})}),e[16]=N,e[17]=d);let u;if(e[18]!==g||e[19]!==r.sections||e[20]!==r.title||e[21]!==o){let n;e[23]!==g||e[24]!==r.title||e[25]!==o?(n=S=>{let{code:m,html:z,id:y}=S;if(z)return(0,s.jsx)("div",{children:Y({html:z})},`${r.title}-${y}`);if(!m)return null;let{language:P,code:q}=je(m);return(0,s.jsxs)("div",{className:"relative hover-actions-parent pr-2",children:[(0,s.jsx)(H,{children:(0,s.jsx)(A,{content:"Insert snippet",children:(0,s.jsx)(w,{className:"absolute -top-2 -right-1 z-10 hover-action px-2 bg-background",size:"sm",variant:"outline",onClick:()=>{g(m)},children:(0,s.jsx)(E,{className:"h-5 w-5"})})})}),(0,s.jsx)(C.Suspense,{children:(0,s.jsx)(K,{theme:o==="dark"?"dark":"light",language:P,className:"cm border rounded overflow-hidden",extensions:_e,value:q,readOnly:!0},`${r.title}-${y}`)})]},`${r.title}-${y}`)},e[23]=g,e[24]=r.title,e[25]=o,e[26]=n):n=e[26],u=r.sections.map(n),e[18]=g,e[19]=r.sections,e[20]=r.title,e[21]=o,e[22]=u}else u=e[22];let p;e[27]!==d||e[28]!==u?(p=(0,s.jsxs)("div",{className:"px-2 py-2 space-y-4 overflow-auto flex-1",children:[d,u]}),e[27]=d,e[28]=u,e[29]=p):p=e[29];let x;return e[30]!==p||e[31]!==h?(x=(0,s.jsxs)(s.Fragment,{children:[h,p]}),e[30]=p,e[31]=h,e[32]=x):x=e[32],x},we=t=>{let e=(0,k.c)(7),{snippets:r,onSelect:i}=t,o;if(e[0]!==i||e[1]!==r){let a;e[3]===i?a=e[4]:(a=c=>(0,s.jsx)(de,{className:"rounded-none",onSelect:()=>i(c),children:(0,s.jsx)("div",{className:"flex flex-row gap-2 items-center",children:(0,s.jsx)("span",{className:"mt-1 text-accent-foreground",children:c.title})})},c.title),e[3]=i,e[4]=a),o=r.map(a),e[0]=i,e[1]=r,e[2]=o}else o=e[2];let l;return e[5]===o?l=e[6]:(l=(0,s.jsx)(ce,{className:"flex flex-col overflow-auto",children:o}),e[5]=o,e[6]=l),l};export{ge as default};
@@ -0,0 +1 @@
1
+ import{i as I}from"./strings-DmKKoXrM.js";import{t as p}from"./createLucideIcon-B8oVfJNp.js";import{a as J}from"./useLifecycle-DDwuYzlC.js";import{t as R}from"./chart-no-axes-column-eb23KpAk.js";import{r as Z,t as ee}from"./table-FVnUU4--.js";import{t as te}from"./square-function-ypIvDL4C.js";var ae=p("align-center-vertical",[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4",key:"14d6g8"}],["path",{d:"M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4",key:"1e2lrw"}],["path",{d:"M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1",key:"1fkdwx"}],["path",{d:"M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1",key:"1euafb"}]]),ne=p("arrow-down-to-line",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),re=p("arrow-up-to-line",[["path",{d:"M5 3h14",key:"7usisc"}],["path",{d:"m18 13-6-6-6 6",key:"1kf1n9"}],["path",{d:"M12 7v14",key:"1akyts"}]]),ie=p("baseline",[["path",{d:"M4 20h16",key:"14thso"}],["path",{d:"m6 16 6-12 6 12",key:"1b4byz"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),le=p("chart-area",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z",key:"q0gr47"}]]),P=p("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),oe=p("chart-line",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]),se=p("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]),ce=p("chart-scatter",[["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}],["circle",{cx:"18.5",cy:"5.5",r:".5",fill:"currentColor",key:"lysivs"}],["circle",{cx:"11.5",cy:"11.5",r:".5",fill:"currentColor",key:"byv1b8"}],["circle",{cx:"7.5",cy:"16.5",r:".5",fill:"currentColor",key:"nkw3mc"}],["circle",{cx:"17.5",cy:"14.5",r:".5",fill:"currentColor",key:"1gjh6j"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}]]),ue=p("ruler-dimension-line",[["path",{d:"M10 15v-3",key:"1pjskw"}],["path",{d:"M14 15v-3",key:"1o1mqj"}],["path",{d:"M18 15v-3",key:"cws6he"}],["path",{d:"M2 8V4",key:"3jv1jz"}],["path",{d:"M22 6H2",key:"1iqbfk"}],["path",{d:"M22 8V4",key:"16f4ou"}],["path",{d:"M6 15v-3",key:"1ij1qe"}],["rect",{x:"2",y:"12",width:"20",height:"8",rx:"2",key:"1tqiko"}]]),de=p("sigma",[["path",{d:"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2",key:"wuwx1p"}]]);function v(e){return e&&e.replaceAll(".","\\.").replaceAll("[","\\[").replaceAll("]","\\]").replaceAll(":","\\:")}const fe="__count__",Y="default",me="yearmonthdate",ye=6,ge="",pe={line:oe,bar:se,pie:Z,scatter:ce,heatmap:ee,area:le},U="mean",he={none:te,count:J,sum:de,mean:ie,median:ae,min:ne,max:re,distinct:J,valid:J,stdev:R,stdevp:R,variance:P,variancep:P,bin:ue},be={none:"No aggregation",count:"Count of records",sum:"Sum of values",mean:"Mean of values",median:"Median of values",min:"Minimum value",max:"Maximum value",distinct:"Count of distinct records",valid:"Count non-null records",stdev:"Standard deviation",stdevp:"Standard deviation of population",variance:"Variance",variancep:"Variance of population",bin:"Group values into bins"},ke=[Y,"accent","category10","category20","category20b","category20c","dark2","paired","pastel1","pastel2","set1","set2","set3","tableau10","tableau20","blues","greens","greys","oranges","purples","reds","bluegreen","bluepurple","goldgreen","goldorange","goldred","greenblue","orangered","purplebluegreen","purplered","redpurple","yellowgreenblue","yelloworangered","blueorange","brownbluegreen","purplegreen","pinkyellowgreen","purpleorange","redblue","redgrey","redyellowblue","redyellowgreen","spectral","rainbow","sinebow"],ve={number:"Continuous numerical scale",string:"Discrete categorical scale (inputs treated as strings)",temporal:"Continuous temporal scale"},xe={year:["Year","2025"],quarter:["Quarter","Q1 2025"],month:["Month","Jan 2025"],week:["Week","Jan 01, 2025"],day:["Day","Jan 01, 2025"],hours:["Hour","Jan 01, 2025 12:00"],minutes:["Minute","Jan 01, 2025 12:34"],seconds:["Second","Jan 01, 2025 12:34:56"],milliseconds:["Millisecond","Jan 01, 2025 12:34:56.789"],date:["Date","Jan 01, 2025"],dayofyear:["Day of Year","Day 1 of 2025"],yearmonth:["Year Month","Jan 2025"],yearmonthdate:["Year Month Date","Jan 01, 2025"],monthdate:["Month Date","Jan 01"]},Me=["number","string","temporal"],O=["year","quarter","month","date","week","day","dayofyear","hours","minutes","seconds","milliseconds"],X=["yearmonth","yearmonthdate","monthdate"],L=[...O,...X];[...L];const we=["ascending","descending"],q="none",Ce="bin",Ae=[q,"bin","count","sum","mean","median","min","max","distinct","valid","stdev","stdevp","variance","variancep"],N=[q,"count","distinct","valid"],y={LINE:"line",BAR:"bar",PIE:"pie",SCATTER:"scatter",HEATMAP:"heatmap",AREA:"area"},Ee=Object.values(y),Te=["X","Y","Color",q];function B(e){switch(e){case"number":case"integer":return"quantitative";case"string":case"boolean":case"geometry":case"unknown":return"nominal";case"date":case"datetime":case"time":case"temporal":return"temporal";default:return I(e),"nominal"}}function _e(e){switch(e){case"number":case"integer":return"number";case"string":case"boolean":case"geometry":case"unknown":return"string";case"date":case"datetime":case"time":return"temporal";default:return I(e),"string"}}function Q(e){switch(e){case y.PIE:return"arc";case y.SCATTER:return"point";case y.HEATMAP:return"rect";default:return e}}function j(e,t,a,i){if(e===y.HEATMAP)return a!=null&&a.maxbins?{maxbins:a==null?void 0:a.maxbins}:void 0;if(t!=="number")return;if(!(a!=null&&a.binned))return i;let n={};return a.step!==void 0&&(n.step=a.step),a.maxbins!==void 0&&(n.maxbins=a.maxbins),Object.keys(n).length===0?!0:n}function G(e){var i,n;let t=(i=e.color)==null?void 0:i.range;if(t!=null&&t.length)return{range:t};let a=(n=e.color)==null?void 0:n.scheme;if(a&&a!=="default")return{scheme:a}}function De(e,t){var o,c,u,f,h,s,g,k,b;if(e===y.PIE)return;let a;if(m((c=(o=t.general)==null?void 0:o.colorByColumn)==null?void 0:c.field))a=(u=t.general)==null?void 0:u.colorByColumn;else if(m((f=t.color)==null?void 0:f.field))switch((h=t.color)==null?void 0:h.field){case"X":a=(s=t.general)==null?void 0:s.xColumn;break;case"Y":a=(g=t.general)==null?void 0:g.yColumn;break;case"Color":a=(k=t.general)==null?void 0:k.colorByColumn;break;default:return}else return;if(!a||!m(a.field)||a.field==="none")return;if(a.field==="__count__")return{aggregate:"count",type:"quantitative"};let i=(b=t.color)==null?void 0:b.bin,n=a.selectedDataType||"string",r=a==null?void 0:a.aggregate;return{field:v(a.field),type:B(n),scale:G(t),aggregate:W(r,n),bin:j(e,n,i)}}function Ve(e,t){var a,i,n,r,o;if(!((a=t.general)!=null&&a.stacking||!m((n=(i=t.general)==null?void 0:i.colorByColumn)==null?void 0:n.field)||e!==y.BAR))return{field:v((o=(r=t.general)==null?void 0:r.colorByColumn)==null?void 0:o.field)}}function W(e,t,a){if(t!=="temporal"&&!(e==="none"||e==="bin"))return e?t==="string"?N.includes(e)?e:void 0:e:a||void 0}function qe(e){switch(e){case"integer":return",.0f";case"number":return",.2f";default:return}}function $(e){var u,f,h,s,g,k,b,M,w,C,_,D,V,A,E,T;let{formValues:t,xEncoding:a,yEncoding:i,colorByEncoding:n}=e;if(!t.tooltips)return;function r(l,x,d){if("aggregate"in l&&l.aggregate==="count"&&!m(l.field))return{aggregate:"count"};if(l&&"field"in l&&m(l.field))return l.timeUnit&&!d&&(d=l.field),{field:l.field,aggregate:l.aggregate,timeUnit:l.timeUnit,format:qe(x),title:d,bin:l.bin}}if(t.tooltips.auto){let l=[],x=r(a,((f=(u=t.general)==null?void 0:u.xColumn)==null?void 0:f.type)||"string",(h=t.xAxis)==null?void 0:h.label);x&&l.push(x);let d=r(i,((g=(s=t.general)==null?void 0:s.yColumn)==null?void 0:g.type)||"string",(k=t.yAxis)==null?void 0:k.label);d&&l.push(d);let z=r(n||{},((M=(b=t.general)==null?void 0:b.colorByColumn)==null?void 0:M.type)||"string");return z&&l.push(z),l}let o=t.tooltips.fields??[],c=[];for(let l of o){if("field"in a&&m(a.field)&&a.field===l.field){let d=r(a,((C=(w=t.general)==null?void 0:w.xColumn)==null?void 0:C.type)||"string",(_=t.xAxis)==null?void 0:_.label);d&&c.push(d);continue}if("field"in i&&m(i.field)&&i.field===l.field){let d=r(i,((V=(D=t.general)==null?void 0:D.yColumn)==null?void 0:V.type)||"string",(A=t.yAxis)==null?void 0:A.label);d&&c.push(d);continue}if(n&&"field"in n&&m(n.field)&&n.field===l.field){let d=r(n,((T=(E=t.general)==null?void 0:E.colorByColumn)==null?void 0:T.type)||"string");d&&c.push(d);continue}let x={field:v(l.field)};c.push(x)}return c}function Be(e,t,a,i,n){var A,E,T,l;let{xColumn:r,yColumn:o,colorByColumn:c,horizontal:u,stacking:f,title:h,facet:s}=t.general??{};if(e===y.PIE)return He(t,a,i,n);if(!m(r==null?void 0:r.field))return"X-axis column is required";if(!m(o==null?void 0:o.field))return"Y-axis column is required";let g=S(r,(A=t.xAxis)==null?void 0:A.bin,H((E=t.xAxis)==null?void 0:E.label),c!=null&&c.field&&u?f:void 0,e),k=U;(o==null?void 0:o.selectedDataType)==="string"&&(k="count");let b=S(o,(T=t.yAxis)==null?void 0:T.bin,H((l=t.yAxis)==null?void 0:l.label),c!=null&&c.field&&!u?f:void 0,e,k),M=s!=null&&s.row.field?F(s.row,e):void 0,w=s!=null&&s.column.field?F(s.column,e):void 0,C=De(e,t),_=K(e,t,a,i,n,h),D={x:u?b:g,y:u?g:b,xOffset:Ve(e,t),color:C,tooltip:$({formValues:t,xEncoding:g,yEncoding:b,colorByEncoding:C}),...M&&{row:M},...w&&{column:w}},V=Se(s==null?void 0:s.column,s==null?void 0:s.row);return{..._,mark:{type:Q(e)},encoding:D,...V}}function je(e,t){return{...e,data:{values:t}}}function S(e,t,a,i,n,r){let o=e.selectedDataType||"string";return e.field==="__count__"?{aggregate:"count",type:"quantitative",bin:j(n,o,t),title:a==="__count__"?void 0:a,stack:i}:{field:v(e.field),type:B(e.selectedDataType||"unknown"),bin:j(n,o,t),title:a,stack:i,aggregate:W(e.aggregate,o,r),sort:e.sort,timeUnit:Je(e)}}function F(e,t){let a=j(t,e.selectedDataType||"string",{maxbins:e.maxbins,binned:e.binned},{maxbins:6});return{field:v(e.field),sort:e.sort,timeUnit:Pe(e),type:B(e.selectedDataType||"unknown"),bin:a}}function He(e,t,a,i){var f,h,s,g;let{yColumn:n,colorByColumn:r,title:o}=e.general??{};if(!m(r==null?void 0:r.field))return"Color by column is required";if(!m(n==null?void 0:n.field))return"Size by column is required";let c=S(n,(f=e.xAxis)==null?void 0:f.bin,H((h=e.xAxis)==null?void 0:h.label),void 0,y.PIE),u={field:v(r.field),type:B(r.selectedDataType||"unknown"),scale:G(e),title:H((s=e.yAxis)==null?void 0:s.label)};return{...K(y.PIE,e,t,a,i,o),mark:{type:Q(y.PIE),innerRadius:(g=e.style)==null?void 0:g.innerRadius},encoding:{theta:c,color:u,tooltip:$({formValues:e,xEncoding:c,yEncoding:c,colorByEncoding:u})}}}function K(e,t,a,i,n,r){var c,u,f;let o=((c=t.style)==null?void 0:c.gridLines)??!1;return e===y.SCATTER&&(o=!0),{$schema:"https://vega.github.io/schema/vega-lite/v6.json",background:a==="dark"?"dark":"white",title:r,data:{values:[]},height:((u=t.yAxis)==null?void 0:u.height)??n,width:((f=t.xAxis)==null?void 0:f.width)??i,config:{axis:{grid:o}}}}function m(e){return e!==void 0&&e.trim()!==""}function H(e){let t=e==null?void 0:e.trim();return t===""?void 0:t}function Je(e){if(e.selectedDataType==="temporal")return e.timeUnit??"yearmonthdate"}function Pe(e){if(e.selectedDataType==="temporal")return e.timeUnit??"yearmonthdate"}function Se(e,t){let a={};return(e==null?void 0:e.linkXAxis)===!1&&(a.x="independent"),(t==null?void 0:t.linkYAxis)===!1&&(a.y="independent"),Object.keys(a).length>0?{resolve:{axis:a}}:void 0}export{P as A,Y as C,ve as D,ge as E,xe as O,U as S,me as T,be as _,Ae as a,ke as b,Te as c,q as d,Me as f,L as g,N as h,_e as i,v as k,X as l,we as m,Be as n,Ce as o,O as p,m as r,Ee as s,je as t,y as u,he as v,ye as w,fe as x,pe as y};
@@ -0,0 +1,3 @@
1
+ var $r=Object.defineProperty;var Rt=m=>{throw TypeError(m)};var jr=(m,w,_)=>w in m?$r(m,w,{enumerable:!0,configurable:!0,writable:!0,value:_}):m[w]=_;var o=(m,w,_)=>jr(m,typeof w!="symbol"?w+"":w,_),We=(m,w,_)=>w.has(m)||Rt("Cannot "+_);var i=(m,w,_)=>(We(m,w,"read from private field"),_?_.call(m):w.get(m)),u=(m,w,_)=>w.has(m)?Rt("Cannot add the same private member more than once"):w instanceof WeakSet?w.add(m):w.set(m,_),h=(m,w,_,le)=>(We(m,w,"write to private field"),le?le.call(m,_):w.set(m,_),_),p=(m,w,_)=>(We(m,w,"access private method"),_);import{i as W,p as qt,u as Hr}from"./useEvent-GCVIknuR.js";import{$i as Dr,Gt as kt,Kt as ie,Xi as Or,b as zr,er as Br,ia as Vr,la as Qr,ta as Gr,ua as _e,__tla as Yr}from"./cells-DD-zwhxi.js";import{t as Kr}from"./get-DuxuLRGI.js";import{t as Jr}from"./debounce-DhnxH9Rh.js";import{t as Xr}from"./_baseSet-DehVzRp6.js";import{g as f,v as y}from"./useEventListener-DpNnLPuE.js";import{t as Zr}from"./invariant-BUdrueMv.js";import{E as es}from"./utils-C8Yt16Y7.js";import{E as Pt,M as ts,N as rs,c as $e,l as Ft,n as ss}from"./config-DFK5eCC3.js";import{n as ns}from"./switch-ulnbZFaI.js";import{c as is}from"./readonly-python-code-DFjpK9Hc.js";import{t as as}from"./createReducer-C1MhlItJ.js";import{r as os}from"./strings-DmKKoXrM.js";import{t as je}from"./requests-B9zEd_sW.js";import{c as Nt,o as At,__tla as ls}from"./markdown-renderer-DM-Whfio.js";import{t as ds}from"./DeferredRequestRegistry-6TRSC3VZ.js";import{t as us}from"./preload-helper-BPPi7vOr.js";import{t as It}from"./Deferred-CP7vq682.js";import{t as Lt}from"./uuid-e9lSomwA.js";import{t as cs}from"./use-toast-DjpWVza6.js";import{n as hs}from"./RenderHTML-DY5kbf6q.js";import{t as ps}from"./useRunCells-DuxMdaXo.js";import{r as fs,t as gs}from"./blob-BqDSSN5X.js";import{n as ms,r as ys,t as ws}from"./share-c5Zh8BM8.js";import{i as Tt,r as vs,t as bs}from"./events-CPoJAfgx.js";let xe,He,De,Ut,Wt,$t,jt,ae,oe,Ht,Oe,Dt,Ot,zt,ze,Bt,Fe,Vt,Ne,Be,Qt,Gt,Ss=Promise.all([(()=>{try{return Yr}catch{}})(),(()=>{try{return ls}catch{}})()]).then(async()=>{var St,qe,$,F,Z,q,j,Qe,Kt,Jt,de,ee,z,ke,Xt,_t,te,ue,ce,he,pe,B,re,V,Zt,Ge,se,O,fe,ge,me,ye,N,C,Q,I,L,G,E,we,Y,b,Ye,Ke,er,Je,tr,Xe,Ze,rr,xt,T,ve,be,H,X,Et;function m(t,e,r){return t==null?t:Xr(t,e,r)}xe=m,Gt=qt(null);var{valueAtom:w,useActions:_}=as(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:Lt()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(r=>r.id!==e)}),clearBanners:t=>({...t,banners:[]})});Ut=()=>Hr(w),Qt=function(){return _()};let le,et;Be=class{constructor(){o(this,"subscriptions",new Map)}addSubscription(t,e){var r;this.subscriptions.has(t)||this.subscriptions.set(t,new Set),(r=this.subscriptions.get(t))==null||r.add(e)}removeSubscription(t,e){var r;(r=this.subscriptions.get(t))==null||r.delete(e)}notify(t,e){for(let r of this.subscriptions.get(t)??[])r(e)}},He=class Ve{constructor(e){o(this,"subscriptions",new Be);this.producer=e}static withProducerCallback(e){return new Ve(e)}static empty(){return new Ve}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify("message",e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify("open",new Event("open"))})}get readyState(){return WebSocket.OPEN}reconnect(e,r){this.close(),this.connect()}close(){this.subscriptions.notify("close",new Event("close"))}send(e){return this.subscriptions.notify("message",new MessageEvent("message",{data:e})),Promise.resolve()}addEventListener(e,r){this.subscriptions.addSubscription(e,r),e==="open"&&r(new Event("open")),e==="message"&&this.startProducer()}removeEventListener(e,r){this.subscriptions.removeSubscription(e,r)}},le=1e10,et=1e3;function Ee(t,e){let r=t.map(s=>`"${s}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${r}`)}function nr(t={}){let e={};function r(d){e=d}let s={};function n(d){var g;s.unregisterHandler&&s.unregisterHandler(),s=d,(g=s.registerHandler)==null||g.call(s,Wr)}let a;function l(d){if(typeof d=="function"){a=d;return}a=(g,x)=>{let S=d[g];if(S)return S(x);let M=d._;if(!M)throw Error(`The requested method has no handler: ${g}`);return M(g,x)}}let{maxRequestTime:c=et}=t;t.transport&&n(t.transport),t.requestHandler&&l(t.requestHandler),t._debugHooks&&r(t._debugHooks);let v=0;function R(){return v<=le?++v:v=0}let k=new Map,P=new Map;function D(d,...g){let x=g[0];return new Promise((S,M)=>{var ne;if(!s.send)throw Ee(["send"],"make requests");let U=R(),J={type:"request",id:U,method:d,params:x};k.set(U,{resolve:S,reject:M}),c!==1/0&&P.set(U,setTimeout(()=>{P.delete(U),M(Error("RPC request timed out."))},c)),(ne=e.onSend)==null||ne.call(e,J),s.send(J)})}let A=new Proxy(D,{get:(d,g,x)=>g in d?Reflect.get(d,g,x):S=>D(g,S)}),Pe=A;function Se(d,...g){var M;let x=g[0];if(!s.send)throw Ee(["send"],"send messages");let S={type:"message",id:d,payload:x};(M=e.onSend)==null||M.call(e,S),s.send(S)}let Mt=new Proxy(Se,{get:(d,g,x)=>g in d?Reflect.get(d,g,x):S=>Se(g,S)}),Ct=Mt,K=new Map,Ue=new Set;function Tr(d,g){var x;if(!s.registerHandler)throw Ee(["registerHandler"],"register message listeners");if(d==="*"){Ue.add(g);return}K.has(d)||K.set(d,new Set),(x=K.get(d))==null||x.add(g)}function Ur(d,g){var x,S;if(d==="*"){Ue.delete(g);return}(x=K.get(d))==null||x.delete(g),((S=K.get(d))==null?void 0:S.size)===0&&K.delete(d)}async function Wr(d){var g,x;if((g=e.onReceive)==null||g.call(e,d),!("type"in d))throw Error("Message does not contain a type.");if(d.type==="request"){if(!s.send||!a)throw Ee(["send","requestHandler"],"handle requests");let{id:S,method:M,params:U}=d,J;try{J={type:"response",id:S,success:!0,payload:await a(M,U)}}catch(ne){if(!(ne instanceof Error))throw ne;J={type:"response",id:S,success:!1,error:ne.message}}(x=e.onSend)==null||x.call(e,J),s.send(J);return}if(d.type==="response"){let S=P.get(d.id);S!=null&&clearTimeout(S);let{resolve:M,reject:U}=k.get(d.id)??{};d.success?M==null||M(d.payload):U==null||U(Error(d.error));return}if(d.type==="message"){for(let M of Ue)M(d.id,d.payload);let S=K.get(d.id);if(!S)return;for(let M of S)M(d.payload);return}throw Error(`Unexpected RPC message type: ${d.type}`)}return{setTransport:n,setRequestHandler:l,request:A,requestProxy:Pe,send:Mt,sendProxy:Ct,addMessageListener:Tr,removeMessageListener:Ur,proxy:{send:Ct,request:Pe},_setDebugHooks:r}}function ir(t){return nr(t)}var tt="[transport-id]";function ar(t,e){let{transportId:r}=e;return r==null?t:{[tt]:r,data:t}}function or(t,e){let{transportId:r,filter:s}=e,n=s==null?void 0:s();if(r!=null&&n!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=t;if(r){if(t[tt]!==r)return[!0];a=t.data}return n===!1?[!0]:[!1,a]}function lr(t,e={}){let{transportId:r,filter:s,remotePort:n}=e,a=t,l=n??t,c;return{send(v){l.postMessage(ar(v,{transportId:r}))},registerHandler(v){c=R=>{let k=R.data,[P,D]=or(k,{transportId:r,filter:()=>s==null?void 0:s(R)});P||v(D)},a.addEventListener("message",c)},unregisterHandler(){c&&a.removeEventListener("message",c)}}}function dr(t,e){return lr(t,e)}function rt(t){return ir({transport:dr(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{f.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{f.debug("[rpc] Worker -> Parent",e)}}})}ae=qt({kind:"loading",message:"Initializing..."});var st=ms(),nt="marimo:file",it=new Or(null);const ur={saveFile(t){it.set(nt,t)},readFile(){return it.get(nt)}};var cr={saveFile(t){_e.setCodeForHash((0,st.compressToEncodedURIComponent)(t))},readFile(){let t=_e.getCodeFromHash()||_e.getCodeFromSearchParam();return t?(0,st.decompressFromEncodedURIComponent)(t):null}};const hr={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var pr={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("export_demos/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}};const fr={saveFile(t){},readFile(){return W.get(Dr)??null}};var gr={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
2
+ `)}},at=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};let Me;oe=new at([fr,hr,cr]),Me=new at([ur,pr,gr]),ze=class Yt{constructor(){o(this,"pendingSessionSave",Promise.resolve());o(this,"initialized",new It);o(this,"sendRename",async({filename:e})=>(e===null||(_e.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));o(this,"sendSave",async e=>{if(!this.saveRpc)return f.warn("Save RPC not initialized"),null;let r=this.saveRpc.saveNotebook(e);this.pendingSessionSave=this.pendingSessionSave.catch(()=>{}).then(async()=>{await r,await this.rpc.proxy.request.saveNotebook(e)}),this.pendingSessionSave.catch(n=>{f.error(n)}),await r;let s=await this.readCode();return s.contents&&(oe.saveFile(s.contents),Me.saveFile(s.contents)),null});o(this,"sendCopy",async()=>{y()});o(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));o(this,"sendPdb",async()=>{y()});o(this,"sendSetBreakpoints",async()=>{y()});o(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
+ `)),await this.putControlRequest({type:"execute-cells",...e}),null));o(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));o(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));o(this,"sendShutdown",async()=>(window.close(),null));o(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));o(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));o(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));o(this,"sendCodeCompletionRequest",async e=>(W.get(zr)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));o(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),ns.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(r=>(f.error(r),null))));o(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));o(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));o(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(oe.saveFile(e.contents),Me.saveFile(e.contents)),ys(),null});o(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(f.warn("Save RPC not initialized"),{contents:""}));o(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));o(this,"openFile",async({path:e})=>{let r=ws({code:null,baseUrl:window.location.origin});return window.open(r,"_blank"),null});o(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));o(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));o(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:Lt()}),null));o(this,"sendInstantiate",async e=>null);o(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));o(this,"sendCreateFileOrFolder",async e=>{let r=null;return e.file&&(r=(await fs(e.file)).split(",")[1]??""),await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:{path:e.path,type:e.type,name:e.name,contents:r}})});o(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));o(this,"sendCopyFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"copy_file_or_directory",payload:e}));o(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));o(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));o(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));o(this,"exportAsHTML",async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e})));o(this,"exportAsMarkdown",async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e})));o(this,"exportAsScript",async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:"export_script",payload:e})));o(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));o(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));o(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));o(this,"previewSQLSchemaList",async e=>(await this.putControlRequest({type:"list-sql-schemas",...e}),null));o(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));o(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));o(this,"sendModelValue",async e=>(await this.putControlRequest({type:"model",...e}),null));o(this,"sendDocumentTransaction",()=>Promise.resolve(null));o(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));o(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));o(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());o(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));o(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));o(this,"discoverDataSources",async e=>(await this.putControlRequest({type:"discover-data-sources",...e}),null));o(this,"getUsageStats",y);o(this,"getEnvironmentInfo",async()=>await this.rpc.proxy.request.bridge({functionName:"get_environment_info",payload:void 0}));o(this,"openTutorial",y);o(this,"getRecentFiles",y);o(this,"getWorkspaceFiles",y);o(this,"getRunningNotebooks",y);o(this,"shutdownSession",y);o(this,"getExportAvailability",y);o(this,"installExportRequirements",y);o(this,"exportAsIPYNB",y);o(this,"exportAsPDF",y);o(this,"autoExportAsHTML",y);o(this,"autoExportAsMarkdown",y);o(this,"autoExportAsIPYNB",y);o(this,"updateCellOutputs",y);o(this,"writeSecret",y);o(this,"invokeAiTool",y);o(this,"clearCache",y);o(this,"getCacheInfo",y);o(this,"listStorageEntries",y);o(this,"downloadStorage",y);rs()&&(this.rpc=rt(new Worker(new URL(""+new URL("worker-BM73L67p.js",import.meta.url).href,""+import.meta.url),{type:"module",name:ot()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),W.set(ae,{kind:"ready"}),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{W.get(ae).kind==="loading"&&W.set(ae,{kind:"loading",message:e})}),this.rpc.addMessageListener("initializedError",({error:e})=>{if(this.initialized.status==="resolved"){f.error(e),cs({title:"Error initializing",description:e,variant:"danger"});return}W.set(ae,{kind:"error",message:e}),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var r;(r=this.messageConsumer)==null||r.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new Yt),window[e]}getSaveWorker(){return Pt()==="read"?(f.debug("Using partially disabled SaveWorker in read-mode"),{readFile:y,readNotebook:async()=>await oe.readFile()??"",saveNotebook:y}):rt(new Worker(new URL(""+new URL("save-worker-_Qc1hOeF.js",import.meta.url).href,""+import.meta.url),{type:"module",name:ot()})).proxy.request}async startSession(){let e=await oe.readFile(),r=await Me.readFile(),s=W.get(Gr)??_e.getFilename(),n=W.get(es),a={},l=new URLSearchParams(window.location.search);for(let c of l.keys()){let v=l.getAll(c);a[c]=v.length===1?v[0]:v}await this.rpc.proxy.request.startSession({queryParameters:a,code:e||r||"",filename:s,userConfig:{...n,runtime:{...n.runtime,auto_instantiate:Pt()==="read"?!0:n.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):f.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},Dt=function(){return He.withProducerCallback(t=>{ze.INSTANCE.attachMessageConsumer(t)})};function ot(){let t=typeof window<"u"&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0;return is()+(t?"::controller":"")}$t=function(t=$e()){let e=window.fetch;return window.fetch=async(r,s)=>{let n=r instanceof Request?r.url:r.toString();if(n.startsWith("data:"))return e(r,s);try{let a=Ce(n,t);if(a){let l=await(await e(a)).arrayBuffer();return new Response(l,{headers:{"Content-Type":mr(n)}})}return e(r,s)}catch(a){return f.error("Error parsing URL",a),e(r,s)}},()=>{window.fetch=e}};function mr(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}jt=function(t,e=$e()){let r=t.http.bind(t),s=t.load.bind(t);return t.http=async n=>{let a=Ce(n,e);if(a)return await window.fetch(a).then(l=>l.text());try{return await r(n)}catch(l){if(n.startsWith("data:"))return await window.fetch(n).then(c=>c.text());throw l}},t.load=async n=>{let a=Ce(n,e);if(a)return await window.fetch(a).then(l=>l.text());try{return await s(n)}catch(l){if(n.startsWith("data:"))return await window.fetch(n).then(c=>c.text());throw l}},()=>{t.http=r,t.load=s}};function lt(t){return t.startsWith(".")?t.slice(1):t}function yr(t,e=$e()){let r=Ce(t,e);if(!r)return t;let s=gs(r);return URL.createObjectURL(s)}function Ce(t,e){let r=document.baseURI;r.startsWith("blob:")&&(r=r.replace("blob:",""));let s=new URL(t,r).pathname,n=dt(t),a=dt(s);return e[t]||e[lt(t)]||e[s]||e[lt(s)]||n&&e[n]||a&&e[a]}function dt(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function Re(t,e){return{get(r){return t.get(r)},set(r,s){t.set(r,s)},save_changes(){t.save_changes()},send:t.send.bind(t),on(r,s){e.aborted||(t.on(r,s),e.addEventListener("abort",()=>t.off(r,s),{once:!0}))},off(r,s){t.off(r??null,s??null)},widget_manager:{async get_model(r){return Re(await t.widget_manager.get_model(r),e)}}}}Ne=function(t){return typeof t=="string"&&t.length>0};function ut(t){if(typeof t=="string"&&t.startsWith("anywidget:")){let e=t.slice(10);if(Ne(e))return e}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(t)}`)}function wr(t,e){return{async getModel(r){let s=ut(r);return Re(await t.getModel(s),e)},async getWidget(r){let s=ut(r),n=await t.getWidget(s);return{exports:n.exports,async render({el:a,signal:l}){await n.render({el:a,signal:l??e})}}}}}var ct=Symbol("marimo");function Ae(t){return t[ct]}var ht=(St=ct,ee=class{constructor(e,r,s){u(this,j);u(this,qe,"change");u(this,$);u(this,F);u(this,Z);u(this,q,{});o(this,St,{updateAndEmitDiffs:e=>p(this,j,Kt).call(this,e),emitCustomMessage:(e,r)=>p(this,j,Jt).call(this,e,r)});o(this,"widget_manager",{async get_model(e){let r=await ee._modelManager.getModel(e);if(!r)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return r}});u(this,de,Jr(()=>{let e=i(this,q)[i(this,qe)];if(e)for(let r of[...e])try{r()}catch(s){f.error("Error emitting event",s)}},0));h(this,F,e),h(this,Z,r),h(this,$,new Set),s&&s.addEventListener("abort",()=>{f.debug("[Model] Signal aborted, clearing all listeners"),h(this,q,{})})}off(e,r){var s;if(!e){h(this,q,{});return}if(!r){i(this,q)[e]=new Set;return}(s=i(this,q)[e])==null||s.delete(r)}send(e,r,s){let n=(s??[]).map(a=>a instanceof ArrayBuffer?new DataView(a):new DataView(a.buffer,a.byteOffset,a.byteLength));return i(this,Z).sendCustomMessage(e,n).then(()=>r==null?void 0:r())}get(e){return i(this,F)[e]}set(e,r){h(this,F,{...i(this,F),[e]:r}),i(this,$).add(e),p(this,j,Qe).call(this,`change:${e}`,r),i(this,de).call(this)}save_changes(){if(i(this,$).size===0)return;let e=Object.fromEntries([...i(this,$)].map(r=>[r,i(this,F)[r]]));i(this,$).clear(),i(this,Z).sendUpdate(e)}on(e,r,s){let n=s==null?void 0:s.signal;n!=null&&n.aborted||(i(this,q)[e]||(i(this,q)[e]=new Set),i(this,q)[e].add(r),n==null||n.addEventListener("abort",()=>this.off(e,r),{once:!0}))}},qe=new WeakMap,$=new WeakMap,F=new WeakMap,Z=new WeakMap,q=new WeakMap,j=new WeakSet,Qe=function(e,r){let s=i(this,q)[e];if(s)for(let n of[...s])try{n(r)}catch(a){f.error("Error emitting event",a)}},Kt=function(e){e!=null&&Object.keys(e).forEach(r=>{let s=r;i(this,$).delete(s),i(this,F)[s]!==e[s]&&(h(this,F,{...i(this,F),[s]:e[s]}),p(this,j,Qe).call(this,`change:${s}`,e[s]),i(this,de).call(this))})},Jt=function(e,r=[]){let s=i(this,q)["msg:custom"];if(s)for(let n of[...s])try{n(e.content,r)}catch(a){f.error("Error emitting event",a)}},de=new WeakMap,ee);function pt(t){return typeof t=="function"}function ft(t){return typeof t=="function"}function vr(t){return ie(t)&&(pt(t.render)||ft(t.initialize))}function br(t){return typeof t=="function"||vr(t)}function Sr(t){return ie(t)&&br(t.default)}var gt=new Set,mt=new WeakMap;function _r(t,e){if(Sr(t))return t.default;if(!ie(t)||t.default!==void 0)return null;let r=pt(t.render)?t.render:void 0,s=ft(t.initialize)?t.initialize:void 0;if(r===void 0&&s===void 0)return null;let n=mt.get(t);if(n)return n;gt.has(e)||(gt.add(e),f.warn(`Anywidget module at ${e} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let a={render:r,initialize:s};return mt.set(t,a),a}function xr(t,e){let r="https://anywidget.dev/en/afm/",s=ie(t)&&kt(t,"render"),n=ie(t)&&kt(t,"initialize");if(ie(t)&&t.default!==void 0)return Error(`Anywidget module at ${e} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${r}`);if(s||n){let a=[s?"`render`":null,n?"`initialize`":null].filter(Boolean).join(" and "),l=[s?"render":null,n?"initialize":null].filter(R=>R!==null),c=`export default { ${l.join(", ")} }`,v=l.length===1?`export function ${l[0]}`:"named export function ...";return Error(`Anywidget module at ${e} uses named exports (${a}). Per the AFM spec, use a default export instead: \`${c}\` (not \`${v}\`). See ${r}`)}return Error(`Anywidget module at ${e} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${r}`)}Oe=function(t){return typeof t!="string"||t.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(t)||Mr(t))};function Er(){return W.get(ps)||hs()}function Mr(t){return t.startsWith("data:text/javascript;base64,")||t.startsWith("data:application/javascript;base64,")||t.startsWith("data:text/css;base64,")?Er():!1}const yt={invoke:async()=>{let t="anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";throw f.warn(t),Error(t)}};function Cr(t){if(typeof AbortSignal.any=="function")return AbortSignal.any(t);let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(r.reason),e.signal;r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}var Rr=(_t=class{constructor(){u(this,ke);u(this,z,new Map)}getModule(t){let{jsUrl:e,jsHash:r,kernelAuthored:s=!1}=t,n=i(this,z).get(r);if(n)return n;let a=p(this,ke,Xt).call(this,e,{kernelAuthored:s}).catch(l=>{throw i(this,z).delete(r),l});return i(this,z).set(r,a),a}invalidate(t){i(this,z).delete(t)}},z=new WeakMap,ke=new WeakSet,Xt=async function(t,e={}){if(!(Oe(t)||e.kernelAuthored===!0&&/^(https?:|data:)/.test(t)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(t)}`);let r=ss(t).toString();return Ft()&&(r=yr(r)),us(()=>import(r).then(async s=>(await s.__tla,s)),[],import.meta.url)},_t);function Ie(t){return typeof t=="function"}async function wt(t,e){try{await t()}catch(r){f.warn(`[WidgetBinding] ${e} cleanup failed`,r)}}var qr=(se=class{constructor(e){u(this,V);u(this,te);u(this,ue);u(this,ce);u(this,he);u(this,pe);u(this,B,new Set);u(this,re,new Set);h(this,ue,e.widget),h(this,ce,e.model),h(this,he,e.exports),h(this,te,e.controller),h(this,pe,e.createHost)}static async create({widgetDef:e,model:r,createHost:s,controller:n=new AbortController}){var D;let a=n.signal,l=typeof e=="function"?await e():e,c=Promise.resolve((D=l.initialize)==null?void 0:D.call(l,{model:Re(r,a),experimental:yt,signal:a}));c.then(async A=>{a.aborted&&Ie(A)&&await wt(A,"late initialize")}).catch(()=>{});let v=await Promise.race([c,new Promise((A,Pe)=>{let Se=()=>Pe(Error("[anywidget] binding destroyed"));if(a.aborted){Se();return}a.addEventListener("abort",Se,{once:!0})})]);if(a.aborted)throw Error("[anywidget] binding destroyed");let R,k;Ie(v)?(k=v,R=void 0):R=typeof v=="object"&&v?v:void 0;let P=new se({widget:l,model:r,exports:R,controller:n,createHost:s});return k&&a.addEventListener("abort",()=>{var A;p(A=P,V,Ge).call(A,k,"initialize")},{once:!0}),P}get exports(){return i(this,he)}async createView(e,r){let s=p(this,V,Zt).call(this,e,r);i(this,re).add(s);try{await s}finally{i(this,re).delete(s)}}async destroy(){for(f.debug("[WidgetBinding] Destroying binding generation"),i(this,te).abort(),await Promise.allSettled(i(this,re));i(this,B).size>0;)await Promise.all(i(this,B))}},te=new WeakMap,ue=new WeakMap,ce=new WeakMap,he=new WeakMap,pe=new WeakMap,B=new WeakMap,re=new WeakMap,V=new WeakSet,Zt=async function(e,r){let s=i(this,ue);if(!s.render)return;let n=Cr([r.signal,i(this,te).signal]);if(n.aborted)return;e.el.innerHTML="";let a=i(this,pe).call(this,n),l=await s.render({model:Re(i(this,ce),n),el:e.el,experimental:yt,signal:n,host:a});if(Ie(l)){let c=()=>{let v=r.signal.aborted?"view unmount":"binding destroyed";return f.debug(`[WidgetBinding] Render cleanup triggered (reason: ${v})`),p(this,V,Ge).call(this,l,"render")};if(n.aborted){await c();return}n.addEventListener("abort",()=>{c()},{once:!0})}},Ge=function(e,r){let s=wt(e,r);return i(this,B).add(s),s.finally(()=>i(this,B).delete(s)),s},se);const vt=new Rr;var kr=(xt=class{constructor(t,e){u(this,b);u(this,O);u(this,fe);u(this,ge);u(this,me);u(this,ye);u(this,N,new AbortController);u(this,C,new It);u(this,Q,new Set);u(this,I,new Map);u(this,L);u(this,G);u(this,E);u(this,we,Promise.resolve());u(this,Y,"");h(this,O,t),h(this,fe,e.timeout),h(this,ge,e.isEditMode),h(this,me,e.createHost),h(this,ye,e.onModelTimeout)}getModel(){return i(this,C).status==="pending"&&!i(this,L)&&h(this,L,setTimeout(()=>{i(this,C).status==="pending"&&(h(this,L,void 0),i(this,C).reject(Error(`Model not found for key: ${i(this,O)}`)),i(this,ye).call(this))},i(this,fe))),i(this,C).promise}getModelSync(){return i(this,C).status==="resolved"?i(this,C).value:void 0}createModel(t){i(this,C).status==="pending"&&p(this,b,Ye).call(this,t(i(this,N).signal))}setModel(t){i(this,C).status==="pending"&&p(this,b,Ye).call(this,t)}setSpec(t){if(!i(this,G)){h(this,G,t);return}i(this,ge).call(this)&&(h(this,G,t),i(this,E)&&i(this,E).hash!==t.hash&&p(this,b,tr).call(this,t))}async getWidget(){return{exports:(await p(this,b,Ke).call(this)).exports,render:async({el:t,signal:e})=>{await this.createView({el:t,signal:e??i(this,N).signal})}}}async createView(t){if(t.signal.aborted||i(this,N).signal.aborted)return;let e={el:t.el,signal:t.signal};i(this,Q).add(e),p(this,b,rr).call(this,e),t.signal.addEventListener("abort",()=>i(this,Q).delete(e),{once:!0}),await p(this,b,Ze).call(this,e)}dispose(){if(!i(this,N).signal.aborted){f.debug(`[WidgetRuntime] Disposing model=${i(this,O)}`),i(this,L)&&h(this,L,(clearTimeout(i(this,L)),void 0)),i(this,C).status==="pending"&&(i(this,C).promise.catch(()=>{}),i(this,C).reject(Error("[anywidget] widget runtime destroyed"))),i(this,E)&&p(this,b,Xe).call(this,i(this,E)),i(this,N).abort(),i(this,Q).clear();for(let t of i(this,I).values())t.dispose();i(this,I).clear()}}},O=new WeakMap,fe=new WeakMap,ge=new WeakMap,me=new WeakMap,ye=new WeakMap,N=new WeakMap,C=new WeakMap,Q=new WeakMap,I=new WeakMap,L=new WeakMap,G=new WeakMap,E=new WeakMap,we=new WeakMap,Y=new WeakMap,b=new WeakSet,Ye=function(t){i(this,L)&&h(this,L,(clearTimeout(i(this,L)),void 0)),i(this,C).resolve(t);let e=t.get("_css");h(this,Y,typeof e=="string"?e:""),t.on("change:_css",r=>{h(this,Y,typeof r=="string"?r:"");for(let s of i(this,I).values())s.update(i(this,Y))},{signal:i(this,N).signal})},Ke=async function(){for(;!i(this,N).signal.aborted;){let t=await this.getModel(),e=i(this,E);if(!e){let r=i(this,G);if(!r)throw Error(`[anywidget] No ESM spec for model ${i(this,O)}: nothing ever provided this widget's code`);e=p(this,b,Je).call(this,r,t)}try{let r=await e.promise;if(e===i(this,E))return r}catch(r){if(!i(this,E)||e===i(this,E))throw r}}throw Error("[anywidget] widget runtime destroyed")},er=async function(t){let{spec:e,model:r,controller:s}=t,n=await vt.getModule({jsUrl:e.url,jsHash:e.hash,kernelAuthored:!0}),a=_r(n,e.url);if(!a)throw vt.invalidate(e.hash),xr(n,e.url);return qr.create({widgetDef:a,model:r,createHost:i(this,me),controller:s})},Je=function(t,e){let r=new AbortController,s={hash:t.hash,controller:r,promise:p(this,b,er).call(this,{spec:t,model:e,controller:r})};return s.promise.catch(()=>{i(this,E)===s&&h(this,E,void 0)}),h(this,E,s),s},tr=function(t){let e=i(this,E);if(!e)return;f.debug(`[WidgetRuntime] Hot-swapping generation for model=${i(this,O)}`);let r=p(this,b,Xe).call(this,e),s=this.getModelSync();if(!s)return;let n=p(this,b,Je).call(this,t,s);for(let a of i(this,Q))a.generation=void 0,r.then(()=>p(this,b,Ze).call(this,a,n)).catch(l=>{f.error("[WidgetRuntime] Error replacing widget view",l)})},Xe=function(t){t.controller.abort();let e=i(this,we).then(async()=>{try{await(await t.promise).destroy()}catch{}});return h(this,we,e),e},Ze=async function(t,e){if(t.signal.aborted||i(this,N).signal.aborted)return;let r=e??i(this,E),s=r?await r.promise:await p(this,b,Ke).call(this),n=i(this,E);if(!(!n||n!==(r??n))&&t.generation!==n){t.generation=n;try{await s.createView({el:t.el},{signal:t.signal})}catch(a){if(n!==i(this,E)){t.generation=void 0;return}throw a}}},rr=function(t){let e=t.el.getRootNode();if(!Le(e)&&!Pr(e))return;let r=i(this,I).get(e);r||(r=Fr(e,i(this,Y)),i(this,I).set(e,r)),r.references+=1;let s=!1;t.signal.addEventListener("abort",()=>{if(s)return;s=!0;let n=i(this,I).get(e);n&&(--n.references,n.references===0&&(n.dispose(),i(this,I).delete(e)))},{once:!0})},xt);function Le(t){return t.nodeType===Node.DOCUMENT_NODE}function Pr(t){return t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in t}function Fr(t,e){let r=Le(t)?t:t.ownerDocument??document,s=r.defaultView??window;if("adoptedStyleSheets"in t&&s.CSSStyleSheet!==void 0&&typeof s.CSSStyleSheet.prototype.replaceSync=="function")try{let a=new s.CSSStyleSheet;return a.replaceSync(e),t.adoptedStyleSheets=[...t.adoptedStyleSheets,a],{references:0,update(l){a.replaceSync(l)},dispose(){t.adoptedStyleSheets=t.adoptedStyleSheets.filter(l=>l!==a)}}}catch{}let n=r.createElement("style");return n.textContent=e,Le(t)?r.head.append(n):t.append(n),{references:0,update(a){n.textContent=a},dispose(){n.remove()}}}function Te(t,e=[]){let r=[];if(t instanceof DataView)r.push(e);else if(Array.isArray(t))for(let[s,n]of t.entries())r.push(...Te(n,[...e,s]));else if(typeof t=="object"&&t)for(let[s,n]of Object.entries(t))r.push(...Te(n,[...e,s]));return r}function Nr(t){let e=Te(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),s=[],n=[];for(let a of e){let l=Kr(t,a);if(l instanceof DataView){let c=Nt(l);s.push(c),n.push(a),xe(r,a,c)}}return{state:r,buffers:s,bufferPaths:n}}function bt(t){let{state:e,bufferPaths:r,buffers:s}=t;if(!r||r.length===0)return e;s&&Zr(s.length===r.length,"Buffers and buffer paths not the same length");let n=e;for(let[a,l]of r.entries()){let c=s==null?void 0:s[a];if(c==null){f.warn("[anywidget] Could not find buffer at path",l);continue}typeof c=="string"?xe(n,l,At(c)):xe(n,l,c)}return n}function Ar(){let t=W.get(ts).mode;return t==="edit"||t==="present"}Fe=new(Et=class{constructor(t=1e4,e=Ar){u(this,H);u(this,T,new Map);u(this,ve);u(this,be);h(this,ve,t),h(this,be,e)}getModel(t){return p(this,H,X).call(this,t).getModel()}getModelSync(t){var e;return(e=i(this,T).get(t))==null?void 0:e.getModelSync()}createModel(t,e){p(this,H,X).call(this,t).createModel(e)}setModel(t,e){p(this,H,X).call(this,t).setModel(e)}setSpec(t,e){p(this,H,X).call(this,t).setSpec(e)}getWidget(t){return p(this,H,X).call(this,t).getWidget()}createView(t){return p(this,H,X).call(this,t.modelId).createView(t)}delete(t){let e=i(this,T).get(t);e&&(e.dispose(),i(this,T).delete(t))}},T=new WeakMap,ve=new WeakMap,be=new WeakMap,H=new WeakSet,X=function(t){let e=i(this,T).get(t);if(!e){let r=new kr(t,{timeout:i(this,ve),isEditMode:i(this,be),createHost:s=>wr(this,s),onModelTimeout:()=>{i(this,T).get(t)===r&&(r.dispose(),i(this,T).delete(t))}});e=r,i(this,T).set(t,e)}return e},Et),ht._modelManager=Fe,Wt=async function(t,e){let r=e.model_id;if(!Ne(r))throw Error(`[anywidget] Invalid model id: ${String(r)}`);let s=e.message,n=("buffers"in s?s.buffers:[]).map(At);switch(s.method){case"open":{let{state:a,buffer_paths:l=[]}=s;s.esm_spec&&t.setSpec(r,s.esm_spec);let c=bt({state:a,bufferPaths:l,buffers:n}),v=t.getModelSync(r);if(v){Ae(v).updateAndEmitDiffs(c);return}t.createModel(r,R=>new ht(c,Ft()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(k){if(R.aborted){f.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:P,buffers:D,bufferPaths:A}=Nr(k);await je().sendModelValue({modelId:r,message:{method:"update",state:P,bufferPaths:A},buffers:D})},async sendCustomMessage(k,P){if(R.aborted){f.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await je().sendModelValue({modelId:r,message:{method:"custom",content:k},buffers:P.map(Nt)})}},R));return}case"custom":Ae(await t.getModel(r)).emitCustomMessage({method:"custom",content:s.content},n);return;case"close":t.delete(r);return;case"update":{let{state:a,buffer_paths:l=[]}=s;s.esm_spec&&t.setSpec(r,s.esm_spec);let c=bt({state:a,bufferPaths:l,buffers:n});Ae(await t.getModel(r)).updateAndEmitDiffs(c);return}default:os(s)}},Br(Fe,"WIDGET_REGISTRY");function Ir(t){return typeof t!="object"||!t?!1:"type"in t&&t.type==="marimo-ui-value-update"}De=class sr{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new sr),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,r){this.entries.has(e)&&f.debug("UIElementRegistry overwriting entry for objectId.",e),this.entries.set(e,{objectId:e,value:r,elements:new Set})}registerInstance(e,r){let s=this.entries.get(e);s===void 0?this.entries.set(e,{objectId:e,value:Qr(r,this),elements:new Set([r])}):s.elements.add(r)}removeInstance(e,r){let s=this.entries.get(e);s!=null&&s.elements.has(r)&&s.elements.delete(r)}removeElementsByCell(e){[...this.entries.keys()].filter(r=>r.startsWith(`${e}-`)).forEach(r=>{this.entries.delete(r)})}lookupValue(e){let r=this.entries.get(e);return r===void 0?void 0:r.value}broadcastMessage(e,r,s){let n=this.entries.get(e);if(n===void 0){f.warn("UIElementRegistry missing entry",e);return}if(Ir(r)){n.value=r.value,n.elements.forEach(a=>{a.dispatchEvent(Tt.create({bubbles:!1,composed:!0,detail:{value:r.value,element:a}}))});return}n.elements.forEach(a=>{a.dispatchEvent(bs.create({bubbles:!1,composed:!0,detail:{objectId:e,message:r,buffers:s}}))})}broadcastValueUpdate(e,r,s){let n=this.entries.get(r);n===void 0?f.warn("UIElementRegistry missing entry",r):(n.value=s,n.elements.forEach(a=>{a!==e&&a.dispatchEvent(Tt.create({bubbles:!1,composed:!0,detail:{value:s,element:a}}))}),document.dispatchEvent(vs.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},zt=De.INSTANCE,Ht=new ds("function-call-result",async(t,e)=>{await je().sendFunctionRequest({functionCallId:t,...e})}),Vt="68px";var Lr="288px";Ot=t=>t?/^\d+$/.test(t)?`${t}px`:t:Lr,Bt=Vr({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}})});export{xe as S,He as _,Ss as __tla,De as a,Ut as b,Wt as c,$t as d,jt as f,ae as g,oe as h,Ht as i,Oe as l,Dt as m,Ot as n,zt as o,ze as p,Bt as r,Fe as s,Vt as t,Ne as u,Be as v,Qt as x,Gt as y};
@@ -1 +1 @@
1
- import{p as i}from"./useEvent-GCVIknuR.js";import{Gn as h,Kn as c,ia as r}from"./cells-DTFqEQb0.js";import{d as m}from"./arrays-UzzAzxsG.js";var d="marimo:ai:chatState:v5";const u=i(null),v=i(null),f=r("marimo:ai:chatOptions",{webSearch:!1},c),p=r("marimo:ai:includeOtherCells",!0,c);function C(a){let t=new Map;for(let[s,e]of a.entries()){if(e.messages.length===0)continue;let l=m(e.messages,o=>o.id);t.set(s,{...e,messages:l})}return t}const n=r(d,{chats:new Map,activeChatId:null},h({toSerializable:a=>({chats:[...C(a.chats).entries()],activeChatId:a.activeChatId}),fromSerializable:a=>({chats:new Map(a.chats),activeChatId:a.activeChatId})})),I=i(a=>{let t=a(n);return t.activeChatId?t.chats.get(t.activeChatId):null},(a,t,s)=>{t(n,e=>({...e,activeChatId:s}))});export{p as a,n as i,u as n,v as o,f as r,I as t};
1
+ import{p as i}from"./useEvent-GCVIknuR.js";import{Gn as h,Kn as c,aa as r}from"./cells-DD-zwhxi.js";import{d as m}from"./arrays-UzzAzxsG.js";var d="marimo:ai:chatState:v5";const u=i(null),v=i(null),f=r("marimo:ai:chatOptions",{webSearch:!1},c),p=r("marimo:ai:includeOtherCells",!0,c);function C(a){let t=new Map;for(let[s,e]of a.entries()){if(e.messages.length===0)continue;let l=m(e.messages,o=>o.id);t.set(s,{...e,messages:l})}return t}const n=r(d,{chats:new Map,activeChatId:null},h({toSerializable:a=>({chats:[...C(a.chats).entries()],activeChatId:a.activeChatId}),fromSerializable:a=>({chats:new Map(a.chats),activeChatId:a.activeChatId})})),I=i(a=>{let t=a(n);return t.activeChatId?t.chats.get(t.activeChatId):null},(a,t,s)=>{t(n,e=>({...e,activeChatId:s}))});export{p as a,n as i,u as n,v as o,f as r,I as t};
@@ -1 +1 @@
1
- import{o as z}from"./chunk-C4rtOYze.js";import{p as U}from"./useEvent-GCVIknuR.js";import{t as ee}from"./react-C60yClUi.js";import{t as te}from"./compiler-runtime-DnimoHo0.js";import{g as S,o as N}from"./useEventListener-DpNnLPuE.js";import{r as I}from"./config-EoJoeZuK.js";import{n as _,t as D}from"./cn-DCUzRj2J.js";import{t as re}from"./jsx-runtime-3wZU7vFS.js";import{C as se,w as H,x as ae,y as ne}from"./fullscreen-CrevbcR_.js";import{o as oe}from"./dist-CFnrytEJ.js";import{m as ie}from"./select-CPo-KTTe.js";import{t as M}from"./strings-DmKKoXrM.js";import{r as $}from"./errors-D93OkQw8.js";function le(){try{return window.__MARIMO_MOUNT_CONFIG__.version}catch{return S.warn("Failed to get version from mount config"),null}}const ue=U(le()||"latest"),ce=U(!0),de=U(null);var w=z(ee(),1),j=z(re(),1),E="Switch",[fe,Fe]=se(E),[pe,he]=fe(E),W=w.forwardRef((t,r)=>{let{__scopeSwitch:e,name:a,checked:s,defaultChecked:n,required:o,disabled:i,value:c="on",onCheckedChange:u,form:l,...p}=t,[h,g]=w.useState(null),v=N(r,f=>g(f)),m=w.useRef(!1),T=h?l||!!h.closest("form"):!0,[R,k]=ne({prop:s,defaultProp:n??!1,onChange:u,caller:E});return(0,j.jsxs)(pe,{scope:e,checked:R,disabled:i,children:[(0,j.jsx)(H.button,{type:"button",role:"switch","aria-checked":R,"aria-required":o,"data-state":J(R),"data-disabled":i?"":void 0,disabled:i,value:c,...p,ref:v,onClick:ae(t.onClick,f=>{k(x=>!x),T&&(m.current=f.isPropagationStopped(),m.current||f.stopPropagation())})}),T&&(0,j.jsx)(G,{control:h,bubbles:!m.current,name:a,value:c,checked:R,required:o,disabled:i,form:l,style:{transform:"translateX(-100%)"}})]})});W.displayName=E;var L="SwitchThumb",F=w.forwardRef((t,r)=>{let{__scopeSwitch:e,...a}=t,s=he(L,e);return(0,j.jsx)(H.span,{"data-state":J(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:r})});F.displayName=L;var me="SwitchBubbleInput",G=w.forwardRef(({__scopeSwitch:t,control:r,checked:e,bubbles:a=!0,...s},n)=>{let o=w.useRef(null),i=N(o,n),c=ie(e),u=oe(r);return w.useEffect(()=>{let l=o.current;if(!l)return;let p=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(p,"checked").set;if(c!==e&&h){let g=new Event("click",{bubbles:a});h.call(l,e),l.dispatchEvent(g)}},[c,e,a]),(0,j.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e,...s,tabIndex:-1,ref:i,style:{...s.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});G.displayName=me;function J(t){return t?"checked":"unchecked"}var V=W,ye=F,be={"Content-Type":"application/json"},we=/\{[^{}]+\}/g,ge=class extends Request{constructor(t,r){for(let e in super(t,r),r)e in this||(this[e]=r[e])}};function xe(t){let{baseUrl:r="",fetch:e=globalThis.fetch,querySerializer:a,bodySerializer:s,headers:n,...o}={...t};r.endsWith("/")&&(r=r.substring(0,r.length-1)),n=Q(be,n);let i=[];async function c(u,l){let{fetch:p=e,headers:h,params:g={},parseAs:v="json",querySerializer:m,bodySerializer:T=s??Re,...R}=l||{},k=typeof a=="function"?a:K(a);m&&(k=typeof m=="function"?m:K({...typeof a=="object"?a:{},...m}));let f={redirect:"follow",...o,...R,headers:Q(n,h,g.header)};f.body&&(f.body=T(f.body)),f.body instanceof FormData&&f.headers.delete("Content-Type");let x=new ge(ve(u,{baseUrl:r,params:g,querySerializer:k}),f),A={baseUrl:r,fetch:p,parseAs:v,querySerializer:k,bodySerializer:T};for(let y of i)if(y&&typeof y=="object"&&typeof y.onRequest=="function"){x.schemaPath=u,x.params=g;let b=await y.onRequest(x,A);if(b){if(!(b instanceof Request))throw Error("Middleware must return new Request() when modifying the request");x=b}}let d=await p(x);for(let y=i.length-1;y>=0;y--){let b=i[y];if(b&&typeof b=="object"&&typeof b.onResponse=="function"){let P=await b.onResponse(d,A);if(P){if(!(P instanceof Response))throw Error("Middleware must return new Response() when modifying the response");d=P}}}if(d.status===204||d.headers.get("Content-Length")==="0")return d.ok?{data:{},response:d}:{error:{},response:d};if(d.ok)return v==="stream"?{data:d.body,response:d}:{data:await d[v](),response:d};let O=await d.text();try{O=JSON.parse(O)}catch{}return{error:O,response:d}}return{async GET(u,l){return c(u,{...l,method:"GET"})},async PUT(u,l){return c(u,{...l,method:"PUT"})},async POST(u,l){return c(u,{...l,method:"POST"})},async DELETE(u,l){return c(u,{...l,method:"DELETE"})},async OPTIONS(u,l){return c(u,{...l,method:"OPTIONS"})},async HEAD(u,l){return c(u,{...l,method:"HEAD"})},async PATCH(u,l){return c(u,{...l,method:"PATCH"})},async TRACE(u,l){return c(u,{...l,method:"TRACE"})},use(...u){for(let l of u)if(l){if(typeof l!="object"||!("onRequest"in l||"onResponse"in l))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");i.push(l)}},eject(...u){for(let l of u){let p=i.indexOf(l);p!==-1&&i.splice(p,1)}}}}function C(t,r,e){if(r==null)return"";if(typeof r=="object")throw Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${(e==null?void 0:e.allowReserved)===!0?r:encodeURIComponent(r)}`}function B(t,r,e){if(!r||typeof r!="object")return"";let a=[],s={simple:",",label:".",matrix:";"}[e.style]||"&";if(e.style!=="deepObject"&&e.explode===!1){for(let i in r)a.push(i,e.allowReserved===!0?r[i]:encodeURIComponent(r[i]));let o=a.join(",");switch(e.style){case"form":return`${t}=${o}`;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return o}}for(let o in r){let i=e.style==="deepObject"?`${t}[${o}]`:o;a.push(C(i,r[o],e))}let n=a.join(s);return e.style==="label"||e.style==="matrix"?`${s}${n}`:n}function X(t,r,e){if(!Array.isArray(r))return"";if(e.explode===!1){let n={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[e.style]||",",o=(e.allowReserved===!0?r:r.map(i=>encodeURIComponent(i))).join(n);switch(e.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return`${t}=${o}`}}let a={simple:",",label:".",matrix:";"}[e.style]||"&",s=[];for(let n of r)e.style==="simple"||e.style==="label"?s.push(e.allowReserved===!0?n:encodeURIComponent(n)):s.push(C(t,n,e));return e.style==="label"||e.style==="matrix"?`${a}${s.join(a)}`:s.join(a)}function K(t){return function(r){let e=[];if(r&&typeof r=="object")for(let a in r){let s=r[a];if(s!=null){if(Array.isArray(s)){e.push(X(a,s,{style:"form",explode:!0,...t==null?void 0:t.array,allowReserved:(t==null?void 0:t.allowReserved)||!1}));continue}if(typeof s=="object"){e.push(B(a,s,{style:"deepObject",explode:!0,...t==null?void 0:t.object,allowReserved:(t==null?void 0:t.allowReserved)||!1}));continue}e.push(C(a,s,t))}}return e.join("&")}}function je(t,r){let e=t;for(let a of t.match(we)??[]){let s=a.substring(1,a.length-1),n=!1,o="simple";if(s.endsWith("*")&&(n=!0,s=s.substring(0,s.length-1)),s.startsWith(".")?(o="label",s=s.substring(1)):s.startsWith(";")&&(o="matrix",s=s.substring(1)),!r||r[s]===void 0||r[s]===null)continue;let i=r[s];if(Array.isArray(i)){e=e.replace(a,X(s,i,{style:o,explode:n}));continue}if(typeof i=="object"){e=e.replace(a,B(s,i,{style:o,explode:n}));continue}if(o==="matrix"){e=e.replace(a,`;${C(s,i)}`);continue}e=e.replace(a,o==="label"?`.${i}`:i)}return e}function Re(t){return JSON.stringify(t)}function ve(t,r){var s;let e=`${r.baseUrl}${t}`;(s=r.params)!=null&&s.path&&(e=je(e,r.params.path));let a=r.querySerializer(r.params.query??{});return a.startsWith("?")&&(a=a.substring(1)),a&&(e+=`?${a}`),e}function Q(...t){let r=new Headers;for(let e of t){if(!e||typeof e!="object")continue;let a=e instanceof Headers?e.entries():Object.entries(e);for(let[s,n]of a)if(n===null)r.delete(s);else if(Array.isArray(n))for(let o of n)r.append(s,o);else n!==void 0&&r.set(s,n)}return r}function Te(t){return xe(t)}function Y(){let t=I().httpURL;return t.search="",t.hash="",t.toString()}function ke(t){if(!t)return;let r=t.match(/filename\*=UTF-8''([^;]+)/i);if(r)try{return decodeURIComponent(r[1])}catch{return}let e=t.match(/filename="([^"]+)"/i);if(e)return e[1];let a=t.match(/filename=([^;]+)/i);if(a)return a[1].trim()}function Se(t){let r=ke(t.headers.get("Content-Disposition"));return r||S.warn("Export response is missing a readable Content-Disposition filename"),r}const q={post(t,r,e={}){let a=`${M.withTrailingSlash(e.baseUrl??Y())}api${t}`;return fetch(a,{method:"POST",headers:{"Content-Type":"application/json",...q.headers(),...e.headers},body:JSON.stringify(r),signal:e.signal}).then(async s=>{var o;let n=(o=s.headers.get("Content-Type"))==null?void 0:o.startsWith("application/json");if(!s.ok){let i=n?await s.json():await s.text();throw new $(s.status,s.statusText,i)}return n?s.json():s.text()}).catch(s=>{throw S.error(`Error requesting ${a}`,s),s})},get(t,r={}){let e=`${M.withTrailingSlash(r.baseUrl??Y())}api${t}`;return fetch(e,{method:"GET",headers:{...q.headers(),...r.headers}}).then(a=>{var s;if(!a.ok)throw new $(a.status,a.statusText);return(s=a.headers.get("Content-Type"))!=null&&s.startsWith("application/json")?a.json():null}).catch(a=>{throw S.error(`Error requesting ${e}`,a),a})},headers(){return I().headers()},handleResponse:t=>t.error?Promise.reject(new $(t.response.status,t.response.statusText,t.error)):Promise.resolve(t.data),handleExportResponse:async(t,r)=>{let e=await q.handleResponse(t),a=t.response.headers.get("Content-Type");if(!a)throw Error("Export response is missing a media type");return{contents:e,filename:Se(t.response)??r.defaultFilename,mediaType:a}},handleResponseReturnNull:t=>t.error?Promise.reject(new $(t.response.status,t.response.statusText,t.error)):Promise.resolve(null)};function $e(t){let r=Te({baseUrl:t.httpURL.toString()});return r.use({onRequest:e=>{let a=t.headers();for(let[s,n]of Object.entries(a))e.headers.set(s,n);return e}}),r}var Ee=te(),Ce=_("peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",{variants:{size:{default:"h-6 w-11 mb-1",sm:"h-4.5 w-8.5",xs:"h-4 w-7"}},defaultVariants:{size:"default"}}),qe=_("pointer-events-none block rounded-full bg-background shadow-xs ring-0 transition-transform",{variants:{size:{default:"h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0",sm:"h-3.5 w-3.5 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0",xs:"h-3 w-3 data-[state=checked]:translate-x-3 data-[state=unchecked]:translate-x-0"}},defaultVariants:{size:"default"}}),Z=w.forwardRef((t,r)=>{let e=(0,Ee.c)(16),a,s,n;e[0]===t?(a=e[1],s=e[2],n=e[3]):({className:a,size:n,...s}=t,e[0]=t,e[1]=a,e[2]=s,e[3]=n);let o;e[4]!==a||e[5]!==n?(o=D(Ce({size:n}),a),e[4]=a,e[5]=n,e[6]=o):o=e[6];let i;e[7]===n?i=e[8]:(i=D(qe({size:n})),e[7]=n,e[8]=i);let c;e[9]===i?c=e[10]:(c=(0,j.jsx)(ye,{className:i}),e[9]=i,e[10]=c);let u;return e[11]!==s||e[12]!==r||e[13]!==o||e[14]!==c?(u=(0,j.jsx)(V,{className:o,...s,ref:r,children:c}),e[11]=s,e[12]=r,e[13]=o,e[14]=c,e[15]=u):u=e[15],u});Z.displayName=V.displayName;export{de as a,ue as i,q as n,ce as o,$e as r,Z as t};
1
+ import{o as z}from"./chunk-C4rtOYze.js";import{p as U}from"./useEvent-GCVIknuR.js";import{t as ee}from"./react-C60yClUi.js";import{t as te}from"./compiler-runtime-DnimoHo0.js";import{g as S,o as N}from"./useEventListener-DpNnLPuE.js";import{r as I}from"./config-DFK5eCC3.js";import{n as _,t as D}from"./cn-DCUzRj2J.js";import{t as re}from"./jsx-runtime-3wZU7vFS.js";import{C as se,w as H,x as ae,y as ne}from"./fullscreen-CrevbcR_.js";import{o as oe}from"./dist-CFnrytEJ.js";import{m as ie}from"./select-CPo-KTTe.js";import{t as M}from"./strings-DmKKoXrM.js";import{r as $}from"./errors-D93OkQw8.js";function le(){try{return window.__MARIMO_MOUNT_CONFIG__.version}catch{return S.warn("Failed to get version from mount config"),null}}const ue=U(le()||"latest"),ce=U(!0),de=U(null);var w=z(ee(),1),j=z(re(),1),E="Switch",[fe,Fe]=se(E),[pe,he]=fe(E),W=w.forwardRef((t,r)=>{let{__scopeSwitch:e,name:a,checked:s,defaultChecked:n,required:o,disabled:i,value:c="on",onCheckedChange:u,form:l,...p}=t,[h,g]=w.useState(null),v=N(r,f=>g(f)),m=w.useRef(!1),T=h?l||!!h.closest("form"):!0,[R,k]=ne({prop:s,defaultProp:n??!1,onChange:u,caller:E});return(0,j.jsxs)(pe,{scope:e,checked:R,disabled:i,children:[(0,j.jsx)(H.button,{type:"button",role:"switch","aria-checked":R,"aria-required":o,"data-state":J(R),"data-disabled":i?"":void 0,disabled:i,value:c,...p,ref:v,onClick:ae(t.onClick,f=>{k(x=>!x),T&&(m.current=f.isPropagationStopped(),m.current||f.stopPropagation())})}),T&&(0,j.jsx)(G,{control:h,bubbles:!m.current,name:a,value:c,checked:R,required:o,disabled:i,form:l,style:{transform:"translateX(-100%)"}})]})});W.displayName=E;var L="SwitchThumb",F=w.forwardRef((t,r)=>{let{__scopeSwitch:e,...a}=t,s=he(L,e);return(0,j.jsx)(H.span,{"data-state":J(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:r})});F.displayName=L;var me="SwitchBubbleInput",G=w.forwardRef(({__scopeSwitch:t,control:r,checked:e,bubbles:a=!0,...s},n)=>{let o=w.useRef(null),i=N(o,n),c=ie(e),u=oe(r);return w.useEffect(()=>{let l=o.current;if(!l)return;let p=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(p,"checked").set;if(c!==e&&h){let g=new Event("click",{bubbles:a});h.call(l,e),l.dispatchEvent(g)}},[c,e,a]),(0,j.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e,...s,tabIndex:-1,ref:i,style:{...s.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});G.displayName=me;function J(t){return t?"checked":"unchecked"}var V=W,ye=F,be={"Content-Type":"application/json"},we=/\{[^{}]+\}/g,ge=class extends Request{constructor(t,r){for(let e in super(t,r),r)e in this||(this[e]=r[e])}};function xe(t){let{baseUrl:r="",fetch:e=globalThis.fetch,querySerializer:a,bodySerializer:s,headers:n,...o}={...t};r.endsWith("/")&&(r=r.substring(0,r.length-1)),n=Q(be,n);let i=[];async function c(u,l){let{fetch:p=e,headers:h,params:g={},parseAs:v="json",querySerializer:m,bodySerializer:T=s??Re,...R}=l||{},k=typeof a=="function"?a:K(a);m&&(k=typeof m=="function"?m:K({...typeof a=="object"?a:{},...m}));let f={redirect:"follow",...o,...R,headers:Q(n,h,g.header)};f.body&&(f.body=T(f.body)),f.body instanceof FormData&&f.headers.delete("Content-Type");let x=new ge(ve(u,{baseUrl:r,params:g,querySerializer:k}),f),A={baseUrl:r,fetch:p,parseAs:v,querySerializer:k,bodySerializer:T};for(let y of i)if(y&&typeof y=="object"&&typeof y.onRequest=="function"){x.schemaPath=u,x.params=g;let b=await y.onRequest(x,A);if(b){if(!(b instanceof Request))throw Error("Middleware must return new Request() when modifying the request");x=b}}let d=await p(x);for(let y=i.length-1;y>=0;y--){let b=i[y];if(b&&typeof b=="object"&&typeof b.onResponse=="function"){let P=await b.onResponse(d,A);if(P){if(!(P instanceof Response))throw Error("Middleware must return new Response() when modifying the response");d=P}}}if(d.status===204||d.headers.get("Content-Length")==="0")return d.ok?{data:{},response:d}:{error:{},response:d};if(d.ok)return v==="stream"?{data:d.body,response:d}:{data:await d[v](),response:d};let O=await d.text();try{O=JSON.parse(O)}catch{}return{error:O,response:d}}return{async GET(u,l){return c(u,{...l,method:"GET"})},async PUT(u,l){return c(u,{...l,method:"PUT"})},async POST(u,l){return c(u,{...l,method:"POST"})},async DELETE(u,l){return c(u,{...l,method:"DELETE"})},async OPTIONS(u,l){return c(u,{...l,method:"OPTIONS"})},async HEAD(u,l){return c(u,{...l,method:"HEAD"})},async PATCH(u,l){return c(u,{...l,method:"PATCH"})},async TRACE(u,l){return c(u,{...l,method:"TRACE"})},use(...u){for(let l of u)if(l){if(typeof l!="object"||!("onRequest"in l||"onResponse"in l))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");i.push(l)}},eject(...u){for(let l of u){let p=i.indexOf(l);p!==-1&&i.splice(p,1)}}}}function C(t,r,e){if(r==null)return"";if(typeof r=="object")throw Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${(e==null?void 0:e.allowReserved)===!0?r:encodeURIComponent(r)}`}function B(t,r,e){if(!r||typeof r!="object")return"";let a=[],s={simple:",",label:".",matrix:";"}[e.style]||"&";if(e.style!=="deepObject"&&e.explode===!1){for(let i in r)a.push(i,e.allowReserved===!0?r[i]:encodeURIComponent(r[i]));let o=a.join(",");switch(e.style){case"form":return`${t}=${o}`;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return o}}for(let o in r){let i=e.style==="deepObject"?`${t}[${o}]`:o;a.push(C(i,r[o],e))}let n=a.join(s);return e.style==="label"||e.style==="matrix"?`${s}${n}`:n}function X(t,r,e){if(!Array.isArray(r))return"";if(e.explode===!1){let n={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[e.style]||",",o=(e.allowReserved===!0?r:r.map(i=>encodeURIComponent(i))).join(n);switch(e.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return`${t}=${o}`}}let a={simple:",",label:".",matrix:";"}[e.style]||"&",s=[];for(let n of r)e.style==="simple"||e.style==="label"?s.push(e.allowReserved===!0?n:encodeURIComponent(n)):s.push(C(t,n,e));return e.style==="label"||e.style==="matrix"?`${a}${s.join(a)}`:s.join(a)}function K(t){return function(r){let e=[];if(r&&typeof r=="object")for(let a in r){let s=r[a];if(s!=null){if(Array.isArray(s)){e.push(X(a,s,{style:"form",explode:!0,...t==null?void 0:t.array,allowReserved:(t==null?void 0:t.allowReserved)||!1}));continue}if(typeof s=="object"){e.push(B(a,s,{style:"deepObject",explode:!0,...t==null?void 0:t.object,allowReserved:(t==null?void 0:t.allowReserved)||!1}));continue}e.push(C(a,s,t))}}return e.join("&")}}function je(t,r){let e=t;for(let a of t.match(we)??[]){let s=a.substring(1,a.length-1),n=!1,o="simple";if(s.endsWith("*")&&(n=!0,s=s.substring(0,s.length-1)),s.startsWith(".")?(o="label",s=s.substring(1)):s.startsWith(";")&&(o="matrix",s=s.substring(1)),!r||r[s]===void 0||r[s]===null)continue;let i=r[s];if(Array.isArray(i)){e=e.replace(a,X(s,i,{style:o,explode:n}));continue}if(typeof i=="object"){e=e.replace(a,B(s,i,{style:o,explode:n}));continue}if(o==="matrix"){e=e.replace(a,`;${C(s,i)}`);continue}e=e.replace(a,o==="label"?`.${i}`:i)}return e}function Re(t){return JSON.stringify(t)}function ve(t,r){var s;let e=`${r.baseUrl}${t}`;(s=r.params)!=null&&s.path&&(e=je(e,r.params.path));let a=r.querySerializer(r.params.query??{});return a.startsWith("?")&&(a=a.substring(1)),a&&(e+=`?${a}`),e}function Q(...t){let r=new Headers;for(let e of t){if(!e||typeof e!="object")continue;let a=e instanceof Headers?e.entries():Object.entries(e);for(let[s,n]of a)if(n===null)r.delete(s);else if(Array.isArray(n))for(let o of n)r.append(s,o);else n!==void 0&&r.set(s,n)}return r}function Te(t){return xe(t)}function Y(){let t=I().httpURL;return t.search="",t.hash="",t.toString()}function ke(t){if(!t)return;let r=t.match(/filename\*=UTF-8''([^;]+)/i);if(r)try{return decodeURIComponent(r[1])}catch{return}let e=t.match(/filename="([^"]+)"/i);if(e)return e[1];let a=t.match(/filename=([^;]+)/i);if(a)return a[1].trim()}function Se(t){let r=ke(t.headers.get("Content-Disposition"));return r||S.warn("Export response is missing a readable Content-Disposition filename"),r}const q={post(t,r,e={}){let a=`${M.withTrailingSlash(e.baseUrl??Y())}api${t}`;return fetch(a,{method:"POST",headers:{"Content-Type":"application/json",...q.headers(),...e.headers},body:JSON.stringify(r),signal:e.signal}).then(async s=>{var o;let n=(o=s.headers.get("Content-Type"))==null?void 0:o.startsWith("application/json");if(!s.ok){let i=n?await s.json():await s.text();throw new $(s.status,s.statusText,i)}return n?s.json():s.text()}).catch(s=>{throw S.error(`Error requesting ${a}`,s),s})},get(t,r={}){let e=`${M.withTrailingSlash(r.baseUrl??Y())}api${t}`;return fetch(e,{method:"GET",headers:{...q.headers(),...r.headers}}).then(a=>{var s;if(!a.ok)throw new $(a.status,a.statusText);return(s=a.headers.get("Content-Type"))!=null&&s.startsWith("application/json")?a.json():null}).catch(a=>{throw S.error(`Error requesting ${e}`,a),a})},headers(){return I().headers()},handleResponse:t=>t.error?Promise.reject(new $(t.response.status,t.response.statusText,t.error)):Promise.resolve(t.data),handleExportResponse:async(t,r)=>{let e=await q.handleResponse(t),a=t.response.headers.get("Content-Type");if(!a)throw Error("Export response is missing a media type");return{contents:e,filename:Se(t.response)??r.defaultFilename,mediaType:a}},handleResponseReturnNull:t=>t.error?Promise.reject(new $(t.response.status,t.response.statusText,t.error)):Promise.resolve(null)};function $e(t){let r=Te({baseUrl:t.httpURL.toString()});return r.use({onRequest:e=>{let a=t.headers();for(let[s,n]of Object.entries(a))e.headers.set(s,n);return e}}),r}var Ee=te(),Ce=_("peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",{variants:{size:{default:"h-6 w-11 mb-1",sm:"h-4.5 w-8.5",xs:"h-4 w-7"}},defaultVariants:{size:"default"}}),qe=_("pointer-events-none block rounded-full bg-background shadow-xs ring-0 transition-transform",{variants:{size:{default:"h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0",sm:"h-3.5 w-3.5 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0",xs:"h-3 w-3 data-[state=checked]:translate-x-3 data-[state=unchecked]:translate-x-0"}},defaultVariants:{size:"default"}}),Z=w.forwardRef((t,r)=>{let e=(0,Ee.c)(16),a,s,n;e[0]===t?(a=e[1],s=e[2],n=e[3]):({className:a,size:n,...s}=t,e[0]=t,e[1]=a,e[2]=s,e[3]=n);let o;e[4]!==a||e[5]!==n?(o=D(Ce({size:n}),a),e[4]=a,e[5]=n,e[6]=o):o=e[6];let i;e[7]===n?i=e[8]:(i=D(qe({size:n})),e[7]=n,e[8]=i);let c;e[9]===i?c=e[10]:(c=(0,j.jsx)(ye,{className:i}),e[9]=i,e[10]=c);let u;return e[11]!==s||e[12]!==r||e[13]!==o||e[14]!==c?(u=(0,j.jsx)(V,{className:o,...s,ref:r,children:c}),e[11]=s,e[12]=r,e[13]=o,e[14]=c,e[15]=u):u=e[15],u});Z.displayName=V.displayName;export{de as a,ue as i,q as n,ce as o,$e as r,Z as t};