@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 +0,0 @@
1
- import{i}from"./useEvent-GCVIknuR.js";import{Kn as t,ia as s}from"./cells-DTFqEQb0.js";const a=s("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},t,{getOnInit:!0}),r=s("marimo:file-explorer-panel:state",{openSections:["files"],hasUserInteracted:!1},t,{getOnInit:!0});function p(o,n){i.set(o,e=>e.openSections.includes(n)?e:{...e,openSections:[...e.openSections,n]})}export{r as n,a as r,p as t};
@@ -1 +0,0 @@
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"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"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};
@@ -1,3 +0,0 @@
1
- var $r=Object.defineProperty;var Rt=m=>{throw TypeError(m)};var jr=(m,y,_)=>y in m?$r(m,y,{enumerable:!0,configurable:!0,writable:!0,value:_}):m[y]=_;var o=(m,y,_)=>jr(m,typeof y!="symbol"?y+"":y,_),We=(m,y,_)=>y.has(m)||Rt("Cannot "+_);var i=(m,y,_)=>(We(m,y,"read from private field"),_?_.call(m):y.get(m)),u=(m,y,_)=>y.has(m)?Rt("Cannot add the same private member more than once"):y instanceof WeakSet?y.add(m):y.set(m,_),h=(m,y,_,le)=>(We(m,y,"write to private field"),le?le.call(m,_):y.set(m,_),_),p=(m,y,_)=>(We(m,y,"access private method"),_);import{i as W,p as qt,u as Hr}from"./useEvent-GCVIknuR.js";import{Gt as kt,Kt as ie,Qi as Dr,Yi as Or,b as zr,ca as Br,ea as Vr,er as Qr,la as _e,ra as Gr,__tla as Yr}from"./cells-DTFqEQb0.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}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-EoJoeZuK.js";import{n as ns}from"./switch-CDT2KH2g.js";import{c as is}from"./readonly-python-code-BV8otm7e.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-BjuEVUOa.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-X9kskQZ0.js";import{t as ps}from"./useRunCells-BpZ_0Xuz.js";import{r as fs,t as gs}from"./blob-BKW9TqBu.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:y,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(y),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 w=0;function R(){return w<=le?++w:w=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(w){l.postMessage(ar(w,{transportId:r}))},registerHandler(w){c=R=>{let k=R.data,[P,D]=or(k,{transportId:r,filter:()=>s==null?void 0:s(R)});P||w(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()=>{v()});o(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));o(this,"sendPdb",async()=>{v()});o(this,"sendSetBreakpoints",async()=>{v()});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",v);o(this,"getEnvironmentInfo",async()=>await this.rpc.proxy.request.bridge({functionName:"get_environment_info",payload:void 0}));o(this,"openTutorial",v);o(this,"getRecentFiles",v);o(this,"getWorkspaceFiles",v);o(this,"getRunningNotebooks",v);o(this,"shutdownSession",v);o(this,"getExportAvailability",v);o(this,"exportAsIPYNB",v);o(this,"exportAsPDF",v);o(this,"autoExportAsHTML",v);o(this,"autoExportAsMarkdown",v);o(this,"autoExportAsIPYNB",v);o(this,"updateCellOutputs",v);o(this,"writeSecret",v);o(this,"invokeAiTool",v);o(this,"clearCache",v);o(this,"getCacheInfo",v);o(this,"listStorageEntries",v);o(this,"downloadStorage",v);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:v,readNotebook:async()=>await oe.readFile()??"",saveNotebook:v}):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(Vr)??_e.getFilename(),n=W.get(es),a={},l=new URLSearchParams(window.location.search);for(let c of l.keys()){let w=l.getAll(c);a[c]=w.length===1?w[0]:w}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(", ")} }`,w=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 \`${w}\`). 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 w=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(w)?(k=w,R=void 0):R=typeof w=="object"&&w?w: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 w=r.signal.aborted?"view unmount":"binding destroyed";return f.debug(`[WidgetBinding] Render cleanup triggered (reason: ${w})`),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}),w=t.getModelSync(r);if(w){Ae(w).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)}},Qr(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:Br(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=Gr({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,12 +0,0 @@
1
- import{o as Ge}from"./chunk-C4rtOYze.js";import{d as le,i as ua,l as Oe,p as ma,u as ee}from"./useEvent-GCVIknuR.js";import{t as pa}from"./react-C60yClUi.js";import{$n as ha,Bn as fa,E as Ke,Gn as Ye,Hn as ba,Hr as Je,In as xa,Ir as Xe,Jt as ya,Kr as ka,Lr as Qe,Nt as Ze,Rr as ga,T as va,Vn as wa,Vr as ja,Wn as Na,Yi as Ca,bi as Sa,ea as za,fa as _e,g as Ma,ia as et,m as tt,t as Oa,y as _a}from"./cells-DTFqEQb0.js";import{P as at,T as pe,b as we}from"./zod-BIDX-mZr.js";import{t as T}from"./compiler-runtime-DnimoHo0.js";import{n as Fa,r as Ia,x as La}from"./ai-model-dropdown-BJp70TST.js";import{g as de,n as Pa}from"./useEventListener-DpNnLPuE.js";import{t as st}from"./objects-CrbstYTV.js";import{C as Wa,r as Ea}from"./utils-C8Yt16Y7.js";import{n as K,t as nt}from"./constants-DifUxsbZ.js";import{A as Aa,M as ot,N as he,O as Da,T as rt,k as qa,v as it}from"./config-EoJoeZuK.js";import{t as Ta}from"./switch-CDT2KH2g.js";import{c as Ra}from"./readonly-python-code-BV8otm7e.js";import{t as fe}from"./cn-DCUzRj2J.js";import{t as $a}from"./jsx-runtime-3wZU7vFS.js";import{o as Ha}from"./alert-dialog-D_kB5FIu.js";import{a as Va,c as Ba,o as Ua,s as Ga}from"./popover-B96fOqfH.js";import{a as Ka,c as lt,i as dt,n as ct,r as Ya,s as ut,t as mt}from"./select-CPo-KTTe.js";import{$ as Ja,Lt as pt}from"./JsonOutput-DnrBQBRT.js";import{a as Xa,c as Qa,o as Za,p as ce,t as es}from"./download-_oAlkvj6.js";import{n as ts,t as as}from"./radio-group-5KDs5aO1.js";import{t as ss}from"./tooltip-C9LWGQ7Y.js";import{n as ns,r as os,t as re}from"./button-W__YVea9.js";import{i as rs,r as ht,t as Fe}from"./strings-DmKKoXrM.js";import{r as ne}from"./requests-B9zEd_sW.js";import{t as E}from"./createLucideIcon-B8oVfJNp.js";import{F as is,I as ls,L as ft,P as bt,a as xt,i as yt,u as ds}from"./layout-1X5SpE18.js";import{t as kt}from"./check-CyyJPf_5.js";import{r as cs}from"./useCellActionButton-Bp2eEIzO.js";import{t as Ie}from"./code-DzY0vbKf.js";import{t as us}from"./copy-DlR5UiIE.js";import{t as gt}from"./eye-off-DfXRjba3.js";import{t as vt}from"./external-link-C8y9rFms.js";import{t as be}from"./file-BjlLTeSV.js";import{t as wt}from"./globe-C2tUp3NL.js";import{n as ms,r as ps,t as hs}from"./youtube-Bm-0BwCx.js";import{n as fs}from"./components-CozWCL5N.js";import{i as bs,n as xs,r as ys}from"./markdown-export-D-ZHIs71.js";import{t as jt}from"./image-Dvcyi0uu.js";import{t as ks}from"./link-DCLOj_aN.js";import{t as Le}from"./spinner-Cj3eM5bt.js";import{r as gs}from"./input-BN98e517.js";import{t as vs}from"./settings-IZvUqDP4.js";import{t as ws}from"./sparkles-DwqcWrJl.js";import{g as js}from"./form-Bb1JVuzT.js";import{t as Ns}from"./square-DVd8Y612.js";import{t as Nt}from"./triangle-alert-DGiOSARf.js";import{t as ie}from"./use-toast-DjpWVza6.js";import{n as Pe,t as Cs}from"./paths-D5zczhUD.js";import{o as Ss}from"./session-D-SddyN0.js";import{n as je}from"./copy-HCSOwOwk.js";import{t as We}from"./copy-icon-Cn8LzPNx.js";import{r as zs}from"./useRunCells-BpZ_0Xuz.js";import{a as Ee,c as Ae,i as Ms,n as De,r as qe}from"./dialog-WU4x2UpK.js";import{n as Ne}from"./ImperativeModal-Dxj31V4A.js";import{r as Os,t as Ct}from"./share-c5Zh8BM8.js";import{n as St,t as zt}from"./alert-CHWQT4zh.js";import{a as Mt}from"./cell-link-D26WjdN1.js";import{n as Te}from"./useAsyncData-BcvSvTUt.js";import{t as _s}from"./icons-BwSNDWAP.js";import{i as Fs,n as Ot}from"./error-entries-uxjSsTal.js";import{n as _t,t as Is}from"./pair-with-agent-modal-BCMZbqSR.js";import{n as Ft}from"./add-connection-dialog-V86wrXca.js";import{t as Ls}from"./github-6F3RzPv3.js";import{n as It}from"./marimo-icons-CW8-Txe-.js";import{t as Ps}from"./links-STGde2qx.js";import{i as Ws,n as Es,t as Re}from"./skeleton-DOZFvsSE.js";import{t as Lt}from"./types-C7hjolXC.js";var As=E("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),Ds=E("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),Pt=E("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),Wt=E("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Et=E("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),qs=E("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),Ts=E("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),Rs=E("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),At=E("message-circle-question-mark",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Dt=E("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),$s=E("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),qt=E("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),Hs=E("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),Vs=E("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),Tt=E("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),Bs=T(),A=Ge(pa(),1);function $e(t,e){let s=(0,Bs.c)(11),n;s[0]===e?n=s[1]:(n=new Ca(e),s[0]=e,s[1]=n);let r=n,i;s[2]!==t||s[3]!==r?(i=()=>r.get(t),s[2]=t,s[3]=r,s[4]=i):i=s[4];let[o,l]=(0,A.useState)(i),d;s[5]!==t||s[6]!==r?(d=m=>{l(m),r.set(t,m)},s[5]=t,s[6]=r,s[7]=d):d=s[7];let c=d,u;return s[8]!==c||s[9]!==o?(u=[o,c],s[8]=c,s[9]=o,s[10]=u):u=s[10],u}function Us(t,e){return{...t,Binaries:{...t.Binaries,Browser:e}}}function Gs(t,e,s,n){return{marimo:t,Locale:s||void 0,Binaries:{Browser:e},"Environment Collection Error":n}}function He(t,e){let s=Math.max(2,...Array.from(e.matchAll(/`+/g),r=>r[0].length)),n="`".repeat(s+1);return`${n}${t}
2
- ${e}
3
- ${n}`}function Ks(t,e){let s=t.includes("?")?"&":"?",n=[],r=t,i=0;for(let[o,l]of Object.entries(e)){if(l.length===0)continue;let d=`${o}=${encodeURIComponent(l)}`,c=`${r}${i===0?s:"&"}${d}`;if(c.length>6e3){n.push(o);continue}r=c,i+=1}return{url:r,omitted:n}}function Ve(t,e){return["<details>",`<summary>${Fe.htmlEscape(t)??""}</summary>`,"",e,"","</details>"].join(`
4
- `)}function Ys(t){return Ve("Environment",He("json",JSON.stringify(t,null,2)))}function Rt(t){return Ve("Errors",He("text",t.map(Ot).join(`
5
-
6
- ---
7
-
8
- `)))}function Js(t){return Ve("Code",He("python",t))}var $t=T(),a=Ge($a(),1),Xs=Pa,Ht=t=>{let e=(0,$t.c)(16),{content:s}=t,[n,r]=(0,A.useState)(!1),i=!n&&"max-h-24 overflow-hidden",o;e[0]===i?o=e[1]:(o=fe("text-xs bg-muted rounded p-2 overflow-x-auto whitespace-pre-wrap",i),e[0]=i,e[1]=o);let l;e[2]!==s||e[3]!==o?(l=(0,a.jsx)("pre",{className:o,children:s}),e[2]=s,e[3]=o,e[4]=l):l=e[4];let d;e[5]===n?d=e[6]:(d=!n&&(0,a.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-10 rounded-b bg-gradient-to-b from-transparent to-muted"}),e[5]=n,e[6]=d);let c;e[7]!==l||e[8]!==d?(c=(0,a.jsxs)("div",{className:"relative",children:[l,d]}),e[7]=l,e[8]=d,e[9]=c):c=e[9];let u;e[10]===Symbol.for("react.memo_cache_sentinel")?(u=()=>r(Zs),e[10]=u):u=e[10];let m=n?"Show less":"Show more",h;e[11]===m?h=e[12]:(h=(0,a.jsx)(re,{type:"button",variant:"link",size:"xs",className:"self-start",onClick:u,children:m}),e[11]=m,e[12]=h);let b;return e[13]!==c||e[14]!==h?(b=(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[c,h]}),e[13]=c,e[14]=h,e[15]=b):b=e[15],b};const Qs=t=>{let e=(0,$t.c)(6),{children:s}=t,{openModal:n,closeModal:r}=Ne(),i;e[0]!==r||e[1]!==n?(i=()=>n((0,a.jsx)(Vt,{onClose:r})),e[0]=r,e[1]=n,e[2]=i):i=e[2];let o;return e[3]!==s||e[4]!==i?(o=(0,a.jsx)(Xs,{onClick:i,children:s}),e[3]=s,e[4]=i,e[5]=o):o=e[5],o},Vt=()=>{let{getEnvironmentInfo:t,readCode:e}=ne(),s=Te(async()=>t(),[t]),n=ee(_a),r=(0,A.useMemo)(()=>Fs(ua),[n]),i=ds(n.cellIds.inOrderIds.map(x=>n.cellData[x])),o=ee(za),l=ee(it),d=o!==null&&i&&l.state===rt.OPEN,c=d?void 0:o===null?"Save the notebook first.":i?"Connect the notebook to include its source.":"Notebook source is hidden in this view.",[u,m]=$e("marimo:issue-report:include-errors",!1),[h,b]=$e("marimo:issue-report:include-code",!1),f=s.data?Us(s.data,navigator.userAgent):s.status==="error"?Gs(Ra(),navigator.userAgent,navigator.language,"Server environment information unavailable"):void 0,p=Te(async()=>{if(!h||!d)return;let{contents:x}=await e();return x},[h,d,e]),{url:g,omitted:k}=(0,A.useMemo)(()=>{if(!f)return{url:K.bugReportUrl,omitted:[]};let x={env:Ys(f)};return u&&r.length>0&&(x["bug-description"]=Rt(r)),h&&p.data&&(x["reproduction-code"]=Js(p.data)),Ks(K.bugReportUrl,x)},[f,r,u,h,p.data]),v=k.map(x=>x==="bug-description"?"errors":x==="reproduction-code"?"code":x).join(", ");return(0,a.jsxs)(De,{className:"w-[540px] max-w-[90vw]",children:[(0,a.jsxs)(Ee,{children:[(0,a.jsx)(Ae,{children:"Report an issue"}),(0,a.jsx)(qe,{children:"Open a GitHub bug report prefilled with your environment, and optionally your current errors and notebook code. Nothing is uploaded automatically; review the details before posting."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4 max-h-[60vh] overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsx)(re,{type:"button",variant:"default",size:"xs",asChild:!0,className:"self-start",children:(0,a.jsxs)("a",{href:g,target:"_blank",rel:"noreferrer",children:[(0,a.jsx)(vt,{className:"w-4 h-4 mr-2"}),"Open GitHub issue"]})}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)(Ze,{id:"issue-include-errors",checked:u,disabled:r.length===0,onCheckedChange:x=>m(x===!0),"aria-label":"Include errors"}),(0,a.jsx)("label",{htmlFor:"issue-include-errors",children:"Include errors"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)(Ze,{id:"issue-include-code",checked:h,disabled:!d,onCheckedChange:x=>b(x===!0),"aria-label":"Include notebook code"}),(0,a.jsx)("label",{htmlFor:"issue-include-code",children:"Include notebook code"})]}),c&&(0,a.jsx)("span",{className:"text-xs text-muted-foreground ml-6",children:c}),h&&p.status==="error"&&(0,a.jsx)("span",{className:"text-xs text-(--red-11) ml-6",children:"Notebook source could not be loaded."})]})]}),v?(0,a.jsxs)("div",{className:"flex items-start gap-2 text-xs text-(--yellow-11)",children:[(0,a.jsx)(Nt,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),(0,a.jsxs)("span",{children:["Too large to prefill and left out of the link: ",v,". Paste them into the issue manually."]})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Your environment is always included."})]}),s.status==="pending"&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading environment details\u2026"}),(0,a.jsx)(Re,{className:"h-4 w-full"}),(0,a.jsx)(Re,{className:"h-4 w-3/4"}),(0,a.jsx)(Re,{className:"h-4 w-1/2"})]}),s.status==="error"&&(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)(Nt,{className:"w-4 h-4 text-(--yellow-11) shrink-0"}),(0,a.jsx)("span",{children:"Server environment information unavailable"}),(0,a.jsx)(re,{type:"button",variant:"link",size:"xs",onClick:()=>s.refetch(),children:"Retry"})]}),f&&(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"Environment details"}),(0,a.jsx)(We,{className:"w-3.5 h-3.5",value:JSON.stringify(f,null,2),ariaLabel:"Copy environment JSON",toastTitle:"Environment details copied"})]}),(0,a.jsx)(Ht,{content:JSON.stringify(f,null,2)})]}),f&&r.length>0&&(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"Errors"}),(0,a.jsx)(We,{className:"w-3.5 h-3.5",value:Rt(r),ariaLabel:"Copy errors",toastTitle:"Errors copied"})]}),(0,a.jsx)(Ht,{content:r.map(Ot).join(`
9
-
10
- ---
11
-
12
- `)})]}),f&&r.length===0&&(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"No errors detected."}),(0,a.jsx)("div",{className:"border-t pt-3",children:(0,a.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Other feedback? Take our"," ",(0,a.jsx)("a",{href:K.feedbackForm,target:"_blank",rel:"noreferrer",className:"underline",children:"two-minute survey"})," ","or chat with us on"," ",(0,a.jsx)("a",{href:K.discordLink,target:"_blank",rel:"noreferrer",className:"underline",children:"Discord"}),"."]})})]})]})};function Zs(t){return!t}var Bt=T(),Ce="https://static.marimo.app";const en=t=>{let e=(0,Bt.c)(25),{onClose:s}=t,[n,r]=(0,A.useState)(""),{exportAsHTML:i}=ne(),o=`${n}-${Math.random().toString(36).slice(2,6)}`,l=`${Ce}/static/${o}`,d;e[0]!==i||e[1]!==s||e[2]!==o?(d=async x=>{x.preventDefault(),s();let{contents:w}=await i({download:!1,includeCode:!0,files:bt.INSTANCE.filenames()}),y=ie({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${Ce}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:w,path:o})}).catch(()=>{y.dismiss(),ie({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:K.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),y.dismiss(),ie({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},e[0]=i,e[1]=s,e[2]=o,e[3]=d):d=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Ae,{children:"Share static notebook"}),e[4]=c):c=e[4];let u;e[5]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsxs)(Ee,{children:[c,(0,a.jsxs)(qe,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:Ce,target:"_blank",children:Ce}),"."]})]}),e[5]=u):u=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=x=>{r(x.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},e[6]=m):m=e[6];let h;e[7]===n?h=e[8]:(h=(0,a.jsx)(gs,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:n,placeholder:"Notebook slug",onChange:m,required:!0,autoComplete:"off"}),e[7]=n,e[8]=h);let b;e[9]===l?b=e[10]:(b=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(tn,{text:l}),(0,a.jsx)("span",{className:"text-primary",children:l})]})]}),e[9]=l,e[10]=b);let f;e[11]!==h||e[12]!==b?(f=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[h,b]}),e[11]=h,e[12]=b,e[13]=f):f=e[13];let p;e[14]===s?p=e[15]:(p=(0,a.jsx)(re,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:s,children:"Cancel"}),e[14]=s,e[15]=p);let g;e[16]===l?g=e[17]:(g=(0,a.jsx)(re,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await je(l)},children:"Create"}),e[16]=l,e[17]=g);let k;e[18]!==p||e[19]!==g?(k=(0,a.jsxs)(Ms,{children:[p,g]}),e[18]=p,e[19]=g,e[20]=k):k=e[20];let v;return e[21]!==d||e[22]!==k||e[23]!==f?(v=(0,a.jsx)(De,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[u,f,k]})}),e[21]=d,e[22]=k,e[23]=f,e[24]=v):v=e[24],v};var tn=t=>{let e=(0,Bt.c)(8),[s,n]=A.useState(!1),r;e[0]===t.text?r=e[1]:(r=os.stopPropagation(async c=>{c.preventDefault(),await je(t.text),n(!0),setTimeout(()=>n(!1),2e3)}),e[0]=t.text,e[1]=r);let i=r,o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(us,{size:14,strokeWidth:1.5}),e[2]=o):o=e[2];let l;e[3]===i?l=e[4]:(l=(0,a.jsx)(re,{"data-testid":"copy-static-notebook-url-button",onClick:i,size:"xs",variant:"secondary",children:o}),e[3]=i,e[4]=l);let d;return e[5]!==s||e[6]!==l?(d=(0,a.jsx)(ss,{content:"Copied!",open:s,children:l}),e[5]=s,e[6]=l,e[7]=d):d=e[7],d},an=T();function sn(){let t=document.getElementsByClassName(nt.outputArea);for(let e of t){let s=e.getBoundingClientRect();if(s.bottom>0&&s.top<window.innerHeight){let n=_e.findElement(e);if(!n){de.warn("Could not find HTMLCellId for visible output area",e);continue}return{cellId:_e.parse(n.id)}}}return de.warn("No visible output area found for scroll anchor"),null}function nn(t){if(!t){de.warn("No scroll anchor provided to restore scroll position");return}let e=document.getElementById(_e.create(t.cellId));if(!e){de.warn("Could not find cell element to restore scroll position",t.cellId);return}if(!e.querySelector(`.${nt.outputArea}`)){de.warn("Could not find output area to restore scroll position",t.cellId);return}e.scrollIntoView({block:"start",behavior:"auto"})}function Ut(){let t=(0,an.c)(2),e=le(ot),s;return t[0]===e?s=t[1]:(s=()=>{let n=sn();e(r=>({mode:Aa(r.mode),cellAnchor:(n==null?void 0:n.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{nn(n)})})},t[0]=e,t[1]=s),s}const Gt=ma(!1);var on=T();const rn=()=>{let t=(0,on.c)(7),{selectedLayout:e}=xt(),{setLayoutView:s}=yt();if(he()&&!ha("wasm_layouts"))return null;let n;t[0]===s?n=t[1]:(n=l=>s(l),t[0]=s,t[1]=n);let r;t[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(ut,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(lt,{placeholder:"Select a view"})}),t[2]=r):r=t[2];let i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(ct,{children:(0,a.jsxs)(Ya,{children:[(0,a.jsx)(Ka,{children:"View as"}),Lt.map(dn)]})}),t[3]=i):i=t[3];let o;return t[4]!==e||t[5]!==n?(o=(0,a.jsxs)(mt,{"data-testid":"layout-select",value:e,onValueChange:n,children:[r,i]}),t[4]=e,t[5]=n,t[6]=o):o=t[6],o};function ln(t){return(0,a.jsx)(Kt(t),{className:"h-4 w-4"})}function Kt(t){switch(t){case"vertical":return Rs;case"grid":return ps;case"slides":return qt;default:return rs(t),Ns}}function Yt(t){return Fe.startCase(t)}function dn(t){return(0,a.jsx)(dt,{value:t,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[ln(t),(0,a.jsx)("span",{children:Yt(t)})]})},t)}const Jt=["html","markdown","ipynb","pdf","script","png"],Xt=["pymdown","qmd","mystmd","mdx"],Qt=["topological","top-down"],Zt=["document","slides"],ea=["source","flat"];function ta(t){return typeof t=="string"&&Jt.some(e=>e===t)}const Y={html:{includeCode:!0},markdown:{flavor:null},ipynb:{sortMode:"topological",includeOutputs:!1},pdf:{preset:"document",includeInputs:!0,includeOutputs:!0,webpdf:!0},script:{type:"source"}};function te(t,e){return t.default(e).catch(e)}function xe(t){return at(t).optional().catch(void 0)}var cn=at({html:xe({includeCode:te(pe(),Y.html.includeCode)}),markdown:xe({flavor:te(we(Xt).nullable(),Y.markdown.flavor)}),ipynb:xe({sortMode:te(we(Qt),Y.ipynb.sortMode),includeOutputs:te(pe(),Y.ipynb.includeOutputs)}),pdf:xe({preset:te(we(Zt),Y.pdf.preset),includeInputs:te(pe(),Y.pdf.includeInputs),includeOutputs:te(pe(),Y.pdf.includeOutputs),webpdf:te(pe(),Y.pdf.webpdf)}),script:xe({type:te(we(ea),Y.script.type)})}).catch({});function aa(t,e){let s={...t},n=r=>{s[r]={...t[r],...e[r]}};for(let r of Object.keys(e))n(r);return s}function un(t){return aa(Y,cn.parse(t))}const sa=et("marimo:export:options:v1",Y,Ye({toSerializable:t=>t,fromSerializable:un}),{getOnInit:!0}),mn=et("marimo:export:last-format:v1","html",Ye({toSerializable:t=>t,fromSerializable:t=>ta(t)?t:"html"}),{getOnInit:!0});var na={html:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!1,checksServerAvailability:!1},markdown:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!1,checksServerAvailability:!1},ipynb:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!0,checksServerAvailability:!0},pdf:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!0,checksServerAvailability:!0},script:{requiresNamedNotebookOnServer:!1,requiresServerRuntime:!1,checksServerAvailability:!1},png:{requiresNamedNotebookOnServer:!1,requiresServerRuntime:!1,checksServerAvailability:!1}};function oa(t,e){return t==="wasm"&&e==="pdf"}function pn({format:t,options:e,runtime:s,filename:n,availability:r}){let i=t==="script"&&e.script.type==="source"?{...na.script,requiresNamedNotebookOnServer:!0}:na[t],o=oa(s,t);if(s==="wasm"&&i.requiresServerRuntime)return{available:o,reason:{type:"wasm-runtime"}};if(s==="server"&&i.requiresNamedNotebookOnServer&&!n)return{available:!1,reason:{type:"notebook-must-be-named"}};if(s==="wasm"||!i.checksServerAvailability)return{available:!0};if(r.status==="pending")return{available:!1,reason:{type:"checking-requirements"}};if(r.status==="error"||!r.data)return{available:!0,availabilityCheckFailed:!0};let l=r.data.formats.find(d=>d.format===t);return l?l.dependenciesAvailable?{available:!0}:l.missingPackages.length>0?{available:!1,reason:{type:"missing-packages",packages:l.missingPackages}}:l.missingSetup.length>0?{available:!1,reason:{type:"missing-setup",requirements:l.missingSetup}}:{available:!0,availabilityCheckFailed:!0}:{available:!0,availabilityCheckFailed:!0}}var Q=T();function ye(t,e){return t.map(s=>({value:s,...e[s]}))}var hn=ye(["automatic",...Xt],{automatic:{label:"Automatic",description:"Chooses a format from the notebook filename. Defaults to Markdown (.md)."},pymdown:{label:"Markdown (.md)",description:"Creates a .md file with Python code blocks."},qmd:{label:"Quarto (.qmd)",description:"Creates a .qmd file for Quarto."},mystmd:{label:"MyST (.myst.md)",description:"Creates a .myst.md file for MyST."},mdx:{label:"MDX (.mdx)",description:"Creates a .mdx file for MDX."}}),fn=ye(Qt,{"top-down":{label:"Top to bottom",description:"Keeps cells in the same order as this notebook."},topological:{label:"Dependency order",description:"Reorders cells so each cell appears after the cells it depends on."}}),bn=ye(Zt,{document:{label:"Document",description:"Creates pages for reading or printing."},slides:{label:"Slides",description:"Creates presentation slides from the notebook."}}),xn=ye(["browser","latex"],{browser:{label:"Browser",description:"Uses browser rendering to preserve the notebook's visual output."},latex:{label:"LaTeX first",description:"Uses Pandoc and TeX when available, then falls back to browser rendering."}}),yn=ye(ea,{source:{label:"Notebook source",description:"Downloads the saved notebook source for continued editing in marimo."},flat:{label:"Flat script",description:"Reorders cells so the Python script runs from top to bottom."}});const Be={html:{label:"HTML",actionLabel:"Export HTML",description:"Save the current notebook as an HTML page.",Icon:wt,Options:kn},markdown:{label:"Markdown",actionLabel:"Export Markdown",description:"Save code and text in a Markdown-based file. Cell outputs are not included.",Icon:Xe,Options:gn},ipynb:{label:"Jupyter",actionLabel:"Export Jupyter notebook",description:"Open the notebook in Jupyter and other compatible tools.",Icon:Dt,Options:vn},pdf:{label:"PDF",actionLabel:"Export PDF",description:"Save the notebook as a PDF for printing or sharing.",Icon:be,Options:wn},script:{label:"Python",actionLabel:"Export flat script",description:"Save the notebook as a Python file.",Icon:Ie,Options:jn},png:{label:"PNG",actionLabel:"Export PNG",description:"Capture the current app view as an image.",Icon:jt,Options:Nn}};function kn(t){let e=(0,Q.c)(7),{options:s,updateOptions:n,disabled:r}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={checked:"Includes code cells in the webpage.",unchecked:"Leaves code cells out of the webpage."},e[0]=i):i=e[0];let o;e[1]===n?o=e[2]:(o=d=>n("html",{includeCode:d}),e[1]=n,e[2]=o);let l;return e[3]!==r||e[4]!==s.html.includeCode||e[5]!==o?(l=(0,a.jsx)(ke,{children:(0,a.jsx)(Se,{label:"Include code",descriptions:i,checked:s.html.includeCode,disabled:r,onCheckedChange:o})}),e[3]=r,e[4]=s.html.includeCode,e[5]=o,e[6]=l):l=e[6],l}function gn(t){let e=(0,Q.c)(6),{options:s,updateOptions:n,disabled:r}=t,i=s.markdown.flavor??"automatic",o;e[0]===n?o=e[1]:(o=d=>n("markdown",{flavor:d==="automatic"?null:d}),e[0]=n,e[1]=o);let l;return e[2]!==r||e[3]!==i||e[4]!==o?(l=(0,a.jsx)(ke,{children:(0,a.jsx)(Sn,{label:"Format",value:i,disabled:r,onValueChange:o,options:hn})}),e[2]=r,e[3]=i,e[4]=o,e[5]=l):l=e[5],l}function vn(t){let e=(0,Q.c)(16),{options:s,updateOptions:n,disabled:r}=t,i;e[0]===n?i=e[1]:(i=m=>n("ipynb",{sortMode:m}),e[0]=n,e[1]=i);let o;e[2]!==r||e[3]!==s.ipynb.sortMode||e[4]!==i?(o=(0,a.jsx)(ze,{label:"Cell order",value:s.ipynb.sortMode,disabled:r,onValueChange:i,options:fn}),e[2]=r,e[3]=s.ipynb.sortMode,e[4]=i,e[5]=o):o=e[5];let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l={checked:"Keeps the outputs currently shown in the notebook.",unchecked:"Leaves cell outputs out of the Jupyter notebook."},e[6]=l):l=e[6];let d;e[7]===n?d=e[8]:(d=m=>n("ipynb",{includeOutputs:m}),e[7]=n,e[8]=d);let c;e[9]!==r||e[10]!==s.ipynb.includeOutputs||e[11]!==d?(c=(0,a.jsx)(Se,{label:"Include outputs",descriptions:l,checked:s.ipynb.includeOutputs,disabled:r,onCheckedChange:d}),e[9]=r,e[10]=s.ipynb.includeOutputs,e[11]=d,e[12]=c):c=e[12];let u;return e[13]!==o||e[14]!==c?(u=(0,a.jsxs)(ke,{children:[o,c]}),e[13]=o,e[14]=c,e[15]=u):u=e[15],u}function wn(t){let e=(0,Q.c)(30),{options:s,updateOptions:n,disabled:r}=t,i;e[0]===n?i=e[1]:(i=p=>n("pdf",{preset:p}),e[0]=n,e[1]=i);let o;e[2]!==r||e[3]!==s.pdf.preset||e[4]!==i?(o=(0,a.jsx)(ze,{label:"Layout",value:s.pdf.preset,disabled:r,onValueChange:i,options:bn}),e[2]=r,e[3]=s.pdf.preset,e[4]=i,e[5]=o):o=e[5];let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l={checked:"Includes code cells in the PDF.",unchecked:"Leaves code cells out of the PDF."},e[6]=l):l=e[6];let d;e[7]===n?d=e[8]:(d=p=>n("pdf",{includeInputs:p}),e[7]=n,e[8]=d);let c;e[9]!==r||e[10]!==s.pdf.includeInputs||e[11]!==d?(c=(0,a.jsx)(Se,{label:"Include code",descriptions:l,checked:s.pdf.includeInputs,disabled:r,onCheckedChange:d}),e[9]=r,e[10]=s.pdf.includeInputs,e[11]=d,e[12]=c):c=e[12];let u;e[13]===Symbol.for("react.memo_cache_sentinel")?(u={checked:"Keeps the outputs currently shown in the notebook.",unchecked:"Leaves cell outputs out of the PDF."},e[13]=u):u=e[13];let m;e[14]===n?m=e[15]:(m=p=>n("pdf",{includeOutputs:p}),e[14]=n,e[15]=m);let h;e[16]!==r||e[17]!==s.pdf.includeOutputs||e[18]!==m?(h=(0,a.jsx)(Se,{label:"Include outputs",descriptions:u,checked:s.pdf.includeOutputs,disabled:r,onCheckedChange:m}),e[16]=r,e[17]=s.pdf.includeOutputs,e[18]=m,e[19]=h):h=e[19];let b;e[20]!==r||e[21]!==s.pdf.preset||e[22]!==s.pdf.webpdf||e[23]!==n?(b=s.pdf.preset==="document"?(0,a.jsx)(ze,{label:"Method",value:s.pdf.webpdf?"browser":"latex",disabled:r,onValueChange:p=>n("pdf",{webpdf:p==="browser"}),options:xn}):null,e[20]=r,e[21]=s.pdf.preset,e[22]=s.pdf.webpdf,e[23]=n,e[24]=b):b=e[24];let f;return e[25]!==o||e[26]!==c||e[27]!==h||e[28]!==b?(f=(0,a.jsxs)(ke,{children:[o,c,h,b]}),e[25]=o,e[26]=c,e[27]=h,e[28]=b,e[29]=f):f=e[29],f}function jn(t){let e=(0,Q.c)(6),{options:s,updateOptions:n,disabled:r}=t,i;e[0]===n?i=e[1]:(i=l=>n("script",{type:l}),e[0]=n,e[1]=i);let o;return e[2]!==r||e[3]!==s.script.type||e[4]!==i?(o=(0,a.jsx)(ke,{children:(0,a.jsx)(ze,{label:"Format",value:s.script.type,disabled:r,onValueChange:i,options:yn})}),e[2]=r,e[3]=s.script.type,e[4]=i,e[5]=o):o=e[5],o}function Nn(){return null}function ke(t){let e=(0,Q.c)(2),{children:s}=t,n;return e[0]===s?n=e[1]:(n=(0,a.jsx)("div",{className:"divide-y rounded-md border",children:s}),e[0]=s,e[1]=n),n}function Se(t){let e=(0,Q.c)(26),{label:s,descriptions:n,descriptionOverride:r,checked:i,disabled:o,onCheckedChange:l}=t,d=(0,A.useId)(),c=`${d}-description`,u=r??(i?n.checked:n.unchecked),m;e[0]===r?m=e[1]:(m=r?[r]:[],e[0]=r,e[1]=m);let h;e[2]!==n.checked||e[3]!==n.unchecked||e[4]!==m?(h=[n.checked,n.unchecked,...m],e[2]=n.checked,e[3]=n.unchecked,e[4]=m,e[5]=h):h=e[5];let b=h,f;e[6]!==d||e[7]!==s?(f=(0,a.jsx)("label",{htmlFor:d,className:"text-sm font-medium leading-5",children:s}),e[6]=d,e[7]=s,e[8]=f):f=e[8];let p;e[9]!==u||e[10]!==c||e[11]!==b?(p=(0,a.jsx)(Ue,{id:c,description:u,possibleDescriptions:b}),e[9]=u,e[10]=c,e[11]=b,e[12]=p):p=e[12];let g;e[13]!==f||e[14]!==p?(g=(0,a.jsxs)("div",{className:"min-w-0",children:[f,p]}),e[13]=f,e[14]=p,e[15]=g):g=e[15];let k;e[16]!==i||e[17]!==c||e[18]!==o||e[19]!==d||e[20]!==s||e[21]!==l?(k=(0,a.jsx)(Ta,{id:d,size:"sm",checked:i,disabled:o,onCheckedChange:l,"aria-label":s,"aria-describedby":c}),e[16]=i,e[17]=c,e[18]=o,e[19]=d,e[20]=s,e[21]=l,e[22]=k):k=e[22];let v;return e[23]!==g||e[24]!==k?(v=(0,a.jsxs)("div",{className:"flex min-h-14 items-center justify-between gap-4 px-3 py-2",children:[g,k]}),e[23]=g,e[24]=k,e[25]=v):v=e[25],v}function ze(t){var w;let e=(0,Q.c)(31),{label:s,value:n,disabled:r,onValueChange:i,options:o}=t,l=(0,A.useId)(),d=`${l}-description`,c;e[0]!==o||e[1]!==n?(c=(w=o.find(y=>y.value===n))==null?void 0:w.description,e[0]=o,e[1]=n,e[2]=c):c=e[2];let u=c,m;e[3]===s?m=e[4]:(m=(0,a.jsx)("div",{className:"text-sm font-medium leading-5",children:s}),e[3]=s,e[4]=m);let h=u??"",b;e[5]===o?b=e[6]:(b=o.map(Cn),e[5]=o,e[6]=b);let f;e[7]!==d||e[8]!==h||e[9]!==b?(f=(0,a.jsx)(Ue,{id:d,description:h,possibleDescriptions:b}),e[7]=d,e[8]=h,e[9]=b,e[10]=f):f=e[10];let p;e[11]!==m||e[12]!==f?(p=(0,a.jsxs)("div",{className:"min-w-0",children:[m,f]}),e[11]=m,e[12]=f,e[13]=p):p=e[13];let g;e[14]===i?g=e[15]:(g=y=>i(y),e[14]=i,e[15]=g);let k;if(e[16]!==l||e[17]!==o){let y;e[19]===l?y=e[20]:(y=(N,M)=>{let S=`${l}-${M}`;return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(ts,{id:S,value:N.value}),(0,a.jsx)("label",{htmlFor:S,className:"text-sm",children:N.label})]},N.value)},e[19]=l,e[20]=y),k=o.map(y),e[16]=l,e[17]=o,e[18]=k}else k=e[18];let v;e[21]!==d||e[22]!==r||e[23]!==s||e[24]!==g||e[25]!==k||e[26]!==n?(v=(0,a.jsx)(as,{value:n,onValueChange:g,className:"flex shrink-0 flex-wrap gap-x-5 gap-y-2 sm:justify-end","aria-label":s,"aria-describedby":d,disabled:r,children:k}),e[21]=d,e[22]=r,e[23]=s,e[24]=g,e[25]=k,e[26]=n,e[27]=v):v=e[27];let x;return e[28]!==p||e[29]!==v?(x=(0,a.jsxs)("div",{className:"flex min-h-14 flex-col items-stretch gap-2 px-3 py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4",children:[p,v]}),e[28]=p,e[29]=v,e[30]=x):x=e[30],x}function Cn(t){return t.description}function Sn(t){var M;let e=(0,Q.c)(34),{label:s,value:n,disabled:r,onValueChange:i,options:o}=t,l=(0,A.useId)(),d=`${l}-description`,c;e[0]!==o||e[1]!==n?(c=(M=o.find(S=>S.value===n))==null?void 0:M.description,e[0]=o,e[1]=n,e[2]=c):c=e[2];let u=c,m;e[3]!==l||e[4]!==s?(m=(0,a.jsx)("label",{htmlFor:l,className:"text-sm font-medium leading-5",children:s}),e[3]=l,e[4]=s,e[5]=m):m=e[5];let h=u??"",b;e[6]===o?b=e[7]:(b=o.map(Mn),e[6]=o,e[7]=b);let f;e[8]!==d||e[9]!==h||e[10]!==b?(f=(0,a.jsx)(Ue,{id:d,description:h,possibleDescriptions:b}),e[8]=d,e[9]=h,e[10]=b,e[11]=f):f=e[11];let p;e[12]!==m||e[13]!==f?(p=(0,a.jsxs)("div",{className:"min-w-0",children:[m,f]}),e[12]=m,e[13]=f,e[14]=p):p=e[14];let g;e[15]===i?g=e[16]:(g=S=>i(S),e[15]=i,e[16]=g);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(lt,{}),e[17]=k):k=e[17];let v;e[18]!==d||e[19]!==l?(v=(0,a.jsx)(ut,{id:l,"aria-describedby":d,className:"h-8 w-full shrink-0 sm:w-44",children:k}),e[18]=d,e[19]=l,e[20]=v):v=e[20];let x;e[21]===o?x=e[22]:(x=o.map(zn),e[21]=o,e[22]=x);let w;e[23]===x?w=e[24]:(w=(0,a.jsx)(ct,{children:x}),e[23]=x,e[24]=w);let y;e[25]!==r||e[26]!==w||e[27]!==g||e[28]!==v||e[29]!==n?(y=(0,a.jsxs)(mt,{value:n,disabled:r,onValueChange:g,children:[v,w]}),e[25]=r,e[26]=w,e[27]=g,e[28]=v,e[29]=n,e[30]=y):y=e[30];let N;return e[31]!==y||e[32]!==p?(N=(0,a.jsxs)("div",{className:"flex min-h-14 flex-col items-stretch gap-2 px-3 py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4",children:[p,y]}),e[31]=y,e[32]=p,e[33]=N):N=e[33],N}function zn(t){return(0,a.jsx)(dt,{value:t.value,children:t.label},t.value)}function Mn(t){return t.description}function Ue(t){let e=(0,Q.c)(15),{id:s,description:n,possibleDescriptions:r}=t,i;e[0]===r?i=e[1]:(i=new Set(r),e[0]=r,e[1]=i);let o;e[2]===i?o=e[3]:(o=[...i],e[2]=i,e[3]=o);let l;e[4]!==n||e[5]!==o?(l=o.filter(h=>h!==n),e[4]=n,e[5]=o,e[6]=l):l=e[6];let d=l,c;e[7]!==n||e[8]!==s?(c=(0,a.jsx)("p",{id:s,"aria-live":"polite",className:"col-start-1 row-start-1",children:n}),e[7]=n,e[8]=s,e[9]=c):c=e[9];let u;e[10]===d?u=e[11]:(u=d.map(On),e[10]=d,e[11]=u);let m;return e[12]!==c||e[13]!==u?(m=(0,a.jsxs)("div",{className:"mt-0.5 grid text-xs leading-4 text-muted-foreground",children:[c,u]}),e[12]=c,e[13]=u,e[14]=m):m=e[14],m}function On(t){return(0,a.jsx)("p",{"aria-hidden":!0,className:"invisible col-start-1 row-start-1",children:t},t)}var Me=T(),_n={"playwright-chromium":{description:"PDF export requires Playwright Chromium."}};function Fn(t){var c;let e=(0,Me.c)(10),{status:s}=t;if(s.available&&!s.availabilityCheckFailed)return null;if(((c=s.reason)==null?void 0:c.type)==="checking-requirements"){let u;return e[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsxs)("span",{className:"ml-auto flex shrink-0",children:[(0,a.jsx)(Le,{size:"small",className:"size-3"}),(0,a.jsx)("span",{className:"sr-only",children:"Checking requirements"})]}),e[0]=u):u=e[0],u}let n=s.availabilityCheckFailed?"Requirements unknown":"Unavailable",r=s.availabilityCheckFailed?"text-muted-foreground":"text-(--yellow-11)",i;e[1]===r?i=e[2]:(i=fe("size-3",r),e[1]=r,e[2]=i);let o;e[3]===i?o=e[4]:(o=(0,a.jsx)(Je,{className:i}),e[3]=i,e[4]=o);let l;e[5]===n?l=e[6]:(l=(0,a.jsx)("span",{className:"sr-only",children:n}),e[5]=n,e[6]=l);let d;return e[7]!==o||e[8]!==l?(d=(0,a.jsxs)("span",{className:"ml-auto flex shrink-0",children:[o,l]}),e[7]=o,e[8]=l,e[9]=d):d=e[9],d}function In(t){let e=(0,Me.c)(5),{format:s,formatLabel:n,status:r}=t;if(r.availabilityCheckFailed){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)("div",{className:"mb-2.5",children:(0,a.jsx)(ge,{children:"Couldn't check whether this export is available. You can still try it."})}),e[0]=o):o=e[0],o}if(!r.reason)return null;let i;return e[1]!==s||e[2]!==n||e[3]!==r.reason?(i=(0,a.jsx)("div",{className:"mb-2.5",children:(0,a.jsx)(Ln,{format:s,formatLabel:n,reason:r.reason})}),e[1]=s,e[2]=n,e[3]=r.reason,e[4]=i):i=e[4],i}function ge(t){let e=(0,Me.c)(3),{children:s}=t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)(Je,{className:"mt-0.5 size-4 shrink-0 sm:mt-0"}),e[0]=n):n=e[0];let r;return e[1]===s?r=e[2]:(r=(0,a.jsxs)(zt,{variant:"warning",className:"flex items-start gap-2.5 p-3 text-(--yellow-12) has-[svg]:pl-3 sm:items-center [&>svg]:static [&>svg+div]:translate-y-0",children:[n,(0,a.jsx)(St,{className:"min-w-0 flex-1 text-sm leading-5",children:s})]}),e[1]=s,e[2]=r),r}function Ln(t){let e=(0,Me.c)(14),{format:s,formatLabel:n,reason:r}=t;switch(r.type){case"checking-requirements":{let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(Le,{className:"size-4 shrink-0",size:"small"}),e[0]=i):i=e[0];let o;return e[1]===n?o=e[2]:(o=(0,a.jsxs)(zt,{role:"status",variant:"info",className:"flex items-center gap-2.5 p-3 has-[svg]:pl-3 [&>svg]:static [&>svg+div]:translate-y-0",children:[i,(0,a.jsxs)(St,{className:"min-w-0 flex-1 text-sm leading-5",children:["Checking ",n," requirements\u2026"]})]}),e[1]=n,e[2]=o),o}case"notebook-must-be-named":{let i;return e[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(ge,{children:"Name and save this notebook before exporting."}),e[3]=i):i=e[3],i}case"missing-packages":{let i;e[4]===r.packages?i=e[5]:(i=r.packages.join(", "),e[4]=r.packages,e[5]=i);let o;return e[6]===i?o=e[7]:(o=(0,a.jsxs)(ge,{children:["Install"," ",(0,a.jsx)("code",{className:"break-words font-mono",children:i})," ","where marimo is running to use this export."]}),e[6]=i,e[7]=o),o}case"missing-setup":{let i;e[8]===r.requirements?i=e[9]:(i=r.requirements.map(Pn),e[8]=r.requirements,e[9]=i);let o;return e[10]===i?o=e[11]:(o=(0,a.jsx)(ge,{children:(0,a.jsx)("span",{className:"block min-w-0",children:i})}),e[10]=i,e[11]=o),o}case"wasm-runtime":{let i=s==="pdf"?"Use your browser's print dialog to save the current app view as a PDF.":"Open this notebook in a local marimo session to use this export.",o;return e[12]===i?o=e[13]:(o=(0,a.jsx)(ge,{children:i}),e[12]=i,e[13]=o),o}default:ht(r)}}function Pn(t){let e=_n[t.name];return(0,a.jsxs)("span",{className:"block",children:[e.description,(0,a.jsx)("code",{className:"mt-1 block break-all font-mono",children:t.command})]},t.name)}function Wn(t){return t.endsWith(".myst.md")?"mystmd":t.endsWith(".qmd")?"qmd":t.endsWith(".mdx")?"mdx":"pymdown"}function En(t,e){let s=xs[e??Wn(t)],n=ys.find(o=>t.endsWith(o)),r=ce.withoutExtension(t);n&&(r=t.slice(0,-n.length));let i=`${r}.${s}`;return i===t?`${t.slice(0,-(s.length+1))}.export.${s}`:i}function An(t){return Object.entries(t).flatMap(([e,s])=>s===null?[]:s===!0?[`--${e}`]:s===!1?[`--no-${e}`]:[`--${e}=${s}`])}function Dn(t){return t.preset==="document"?t.webpdf:null}var qn={html:{subcommand:"html",flags:({html:t})=>({"include-code":t.includeCode}),outputFilename:t=>ce.toHTML(t)},markdown:{subcommand:"md",flags:({markdown:t})=>({flavor:t.flavor}),outputFilename:(t,{markdown:e})=>En(t,e.flavor)},ipynb:{subcommand:"ipynb",flags:({ipynb:t})=>({sort:t.sortMode,"include-outputs":t.includeOutputs}),outputFilename:t=>ce.toIPYNB(t)},pdf:{subcommand:"pdf",flags:({pdf:t})=>({as:t.preset,"include-inputs":t.includeInputs,"include-outputs":t.includeOutputs,webpdf:Dn(t)}),outputFilename:t=>ce.toPDF(t)},script:{subcommand:"script",flags:()=>({}),outputFilename:t=>`${ce.withoutExtension(t)}.script.py`}};function Tn({format:t,filename:e,options:s}){if(t==="png"||t==="script"&&s.script.type==="source"||!e)return null;let n=qn[t];return["marimo","export",n.subcommand,_t(e),...An(n.flags(s)),"-o",_t(n.outputFilename(e,s))].join(" ")}async function Rn(t){let{exportOptions:e,captureOutputs:s,downloadPDF:n}=t;e.includeOutputs&&await s(),await n(e)}async function $n({format:t,options:e,requests:s,sourceFilename:n,htmlFiles:r,captureOutputs:i,capturePNG:o,downloadFile:l}){switch(t){case"html":l(await s.exportAsHTML({download:!1,files:r,includeCode:e.html.includeCode}));return;case"markdown":l(await s.exportAsMarkdown({download:!1,flavor:e.markdown.flavor}));return;case"ipynb":e.ipynb.includeOutputs&&await i(),l(await s.exportAsIPYNB({download:!1,sortMode:e.ipynb.sortMode,includeOutputs:e.ipynb.includeOutputs}));return;case"pdf":await Rn({exportOptions:e.pdf,captureOutputs:i,downloadPDF:async d=>{l(await s.exportAsPDF(d))}});return;case"script":if(e.script.type==="source"){l({contents:(await s.readCode()).contents,filename:n,mediaType:"text/plain"});return}l(await s.exportAsScript({download:!1}));return;case"png":await o();return;default:ht(t)}}var ra=T(),Hn={source:{actionLabel:"Export notebook source",progressLabel:"notebook source"},flat:{actionLabel:"Export flat script",progressLabel:"flat script"}};function Vn(t,e){if(t==="wasm")return{status:"success",data:null};switch(e.status){case"pending":case"loading":return{status:"pending"};case"error":return{status:"error"};case"success":return{status:"success",data:e.data}}}function Bn(t,e){return t==="server"&&e?Pe.basename(e):ce.toPY(document.title)}function Un({usesBrowserPrint:t,hasCommand:e,format:s,isNotebookSource:n}){return t?"Uses the browser's print settings for page size and filename.":e?"Uses the current session state. The copied command exports the saved notebook.":s!=="png"&&!n?"Save the notebook to copy an equivalent shell command.":null}function Gn(t){let e=(0,ra.c)(52),s=Mt(),[n,r]=Oe(sa),[i,o]=Oe(mn),[l,d]=(0,A.useState)(t??i),c=he()?"wasm":"server",u=ne(),m,h;e[0]===u?(m=e[1],h=e[2]):(m=async()=>c==="wasm"?null:u.getExportAvailability(),h=[c,u],e[0]=u,e[1]=m,e[2]=h);let b=Te(m,h),f,p;if(e[3]!==b||e[4]!==s||e[5]!==l||e[6]!==n){let j=Vn(c,b),O=C=>pn({format:C,options:n,runtime:c,filename:s,availability:j});f=O(l),p=Jt.map(C=>({format:C,status:O(C)})),e[3]=b,e[4]=s,e[5]=l,e[6]=n,e[7]=f,e[8]=p}else f=e[7],p=e[8];let g=p,k,v,x,w,y;if(e[9]!==s||e[10]!==l||e[11]!==n){y=oa(c,l);let j=Be[l],O=l==="script"&&n.script.type==="source",C;e[17]!==j||e[18]!==l||e[19]!==n?(C=l==="script"?Hn[n.script.type]:{actionLabel:j.actionLabel,progressLabel:j.label},e[17]=j,e[18]=l,e[19]=n,e[20]=C):C=e[20],{actionLabel:k,progressLabel:x}=C,v=y?null:Tn({format:l,filename:s,options:n}),w=Un({usesBrowserPrint:y,hasCommand:!!v,format:l,isNotebookSource:O}),e[9]=s,e[10]=l,e[11]=n,e[12]=k,e[13]=v,e[14]=x,e[15]=w,e[16]=y}else k=e[12],v=e[13],x=e[14],w=e[15],y=e[16];let N=w,M,S;e[21]!==t||e[22]!==o?(M=()=>{t&&o(t)},S=[t,o],e[21]=t,e[22]=o,e[23]=M,e[24]=S):(M=e[23],S=e[24]),(0,A.useEffect)(M,S);let q;e[25]===o?q=e[26]:(q=j=>{ta(j)&&(d(j),o(j))},e[25]=o,e[26]=q);let $=q,P;e[27]===r?P=e[28]:(P=(j,O)=>{r(C=>{let H={...C};return H[j]={...C[j],...O},H})},e[27]=r,e[28]=P);let D=P,z;e[29]!==k||e[30]!==v||e[31]!==N||e[32]!==l||e[33]!==f||e[34]!==y?(z={format:l,status:f,usesBrowserPrint:y,actionLabel:k,command:v,footerDescription:N},e[29]=k,e[30]=v,e[31]=N,e[32]=l,e[33]=f,e[34]=y,e[35]=z):z=e[35];let F;e[36]===s?F=e[37]:(F=Bn(c,s),e[36]=s,e[37]=F);let I;e[38]!==l||e[39]!==n||e[40]!==x||e[41]!==f.available||e[42]!==F||e[43]!==y?(I={format:l,options:n,sourceFilename:F,available:f.available,usesBrowserPrint:y,progressLabel:x},e[38]=l,e[39]=n,e[40]=x,e[41]=f.available,e[42]=F,e[43]=y,e[44]=I):I=e[44];let R;return e[45]!==g||e[46]!==n||e[47]!==$||e[48]!==I||e[49]!==z||e[50]!==D?(R={formats:g,options:n,selected:z,exportRequest:I,selectFormat:$,updateOptions:D},e[45]=g,e[46]=n,e[47]=$,e[48]=I,e[49]=z,e[50]=D,e[51]=R):R=e[51],R}async function Kn(t){let e=document.getElementById("App");if(!e){let r="The current app view could not be captured.";throw ie({title:"Failed to download as PNG",description:r,variant:"danger"}),Error(r)}let s=t==null?void 0:t.style.visibility,n=t==null?void 0:t.classList.contains("print:hidden");if(!await Za({element:e,filename:document.title,prepare:()=>{let r=es();return t&&(t.classList.add("print:hidden"),t.style.visibility="hidden"),()=>{r(),t&&(n||t.classList.remove("print:hidden"),t.style.visibility=s??"")}}}))throw Error("Failed to capture the current app view.")}function Yn(t){t(),requestAnimationFrame(()=>{setTimeout(()=>{window.print()},0)})}function Jn({format:t,options:e,sourceFilename:s,available:n,usesBrowserPrint:r,progressLabel:i,onClose:o}){let l=ne(),d=Ws(),[c,u]=(0,A.useState)(!1),m=(0,A.useRef)(null),h=(0,A.useRef)(!0);(0,A.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]);let b=async p=>{await Es({takeScreenshots:()=>d({progress:p}),updateCellOutputs:l.updateCellOutputs})},f=async()=>{await qa(()=>{var p;return Kn(((p=m.current)==null?void 0:p.parentElement)??null)})};return{dialogRef:m,isExporting:c,submit:async()=>{if(!(!n||c)){if(r){Yn(o);return}u(!0);try{await Qa(`Exporting ${i}\u2026`,async p=>{await $n({format:t,options:e,requests:l,sourceFilename:s,htmlFiles:bt.INSTANCE.filenames(),captureOutputs:()=>b(p),capturePNG:f,downloadFile:Xa})}),h.current&&o()}catch(p){de.error("Export failed",p)}finally{h.current&&u(!1)}}}}}function Xn(t){let e=(0,ra.c)(14),{initialFormat:s,onClose:n}=t,r=Gn(s),i,o,l;e[0]===r?(i=e[1],o=e[2],l=e[3]):({exportRequest:i,selectFormat:o,...l}=r,e[0]=r,e[1]=i,e[2]=o,e[3]=l);let d;e[4]!==i||e[5]!==n?(d={...i,onClose:n},e[4]=i,e[5]=n,e[6]=d):d=e[6];let c=Jn(d),u;e[7]!==c||e[8]!==o?(u=h=>{c.isExporting||o(h)},e[7]=c,e[8]=o,e[9]=u):u=e[9];let m;return e[10]!==c||e[11]!==l||e[12]!==u?(m={...l,...c,selectFormat:u},e[10]=c,e[11]=l,e[12]=u,e[13]=m):m=e[13],m}var Qn=T(),Zn="(min-width: 640px)";const eo=t=>{let e=(0,Qn.c)(69),{initialFormat:s,onClose:n,returnFocusRef:r}=t,i;e[0]!==s||e[1]!==n?(i={initialFormat:s,onClose:n},e[0]=s,e[1]=n,e[2]=i):i=e[2];let{dialogRef:o,isExporting:l,formats:d,options:c,selected:u,selectFormat:m,updateOptions:h,submit:b}=Xn(i),f=Ja(Zn),{format:p,status:g,usesBrowserPrint:k,actionLabel:v,command:x,footerDescription:w}=u,y=Be[p],N=y.Options,M;e[3]===r?M=e[4]:(M=r?{onCloseAutoFocus:L=>{var G;L.preventDefault(),(G=r.current)==null||G.focus()}}:{},e[3]=r,e[4]=M);let S=M,q;e[5]===Symbol.for("react.memo_cache_sentinel")?(q=(0,a.jsxs)(Ee,{className:"border-b px-5 py-4 pr-12",children:[(0,a.jsx)(Ae,{children:"Export notebook"}),(0,a.jsx)(qe,{children:"Choose a format and adjust its options."})]}),e[5]=q):q=e[5];let $=f?"vertical":"horizontal",P;if(e[6]!==d||e[7]!==l){let L;e[9]===l?L=e[10]:(L=G=>{let{format:X,status:ve}=G,me=Be[X];return(0,a.jsxs)(Ba,{value:X,disabled:l,className:"min-w-0 justify-start gap-2 px-2.5 py-2 text-xs data-[state=active]:shadow-xs sm:w-full sm:text-sm","data-testid":`export-format-${X}`,children:[(0,a.jsx)(me.Icon,{className:"size-3.5 shrink-0",strokeWidth:1.5}),(0,a.jsx)("span",{className:"truncate",children:me.label}),(0,a.jsx)(Fn,{status:ve})]},X)},e[9]=l,e[10]=L),P=d.map(L),e[6]=d,e[7]=l,e[8]=P}else P=e[8];let D;e[11]===P?D=e[12]:(D=(0,a.jsx)(Ga,{"aria-label":"Export format",className:"grid max-h-none shrink-0 grid-cols-2 items-stretch justify-start gap-1 overflow-auto rounded-none border-b bg-muted/20 p-2 min-[360px]:grid-cols-3 sm:flex sm:h-full sm:flex-col sm:border-b-0 sm:border-r",children:P}),e[11]=P,e[12]=D);let z;if(e[13]!==N||e[14]!==y.description||e[15]!==y.label||e[16]!==p||e[17]!==d||e[18]!==l||e[19]!==c||e[20]!==g||e[21]!==h||e[22]!==k){let L;e[24]!==N||e[25]!==y.description||e[26]!==y.label||e[27]!==p||e[28]!==l||e[29]!==c||e[30]!==g||e[31]!==h||e[32]!==k?(L=G=>{let{format:X}=G;return(0,a.jsxs)(Ua,{value:X,className:"mt-0 min-h-0 min-w-0 overflow-y-auto px-4 py-3",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-base font-semibold",children:y.label}),(0,a.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:y.description})]}),(0,a.jsx)(In,{format:p,formatLabel:y.label,status:g}),k?null:(0,a.jsx)(N,{options:c,updateOptions:h,disabled:l})]},X)},e[24]=N,e[25]=y.description,e[26]=y.label,e[27]=p,e[28]=l,e[29]=c,e[30]=g,e[31]=h,e[32]=k,e[33]=L):L=e[33],z=d.map(L),e[13]=N,e[14]=y.description,e[15]=y.label,e[16]=p,e[17]=d,e[18]=l,e[19]=c,e[20]=g,e[21]=h,e[22]=k,e[23]=z}else z=e[23];let F;e[34]!==p||e[35]!==m||e[36]!==$||e[37]!==D||e[38]!==z?(F=(0,a.jsxs)(Va,{value:p,onValueChange:m,orientation:$,className:"flex min-h-0 min-w-0 flex-col overflow-hidden sm:grid sm:grid-cols-[168px_minmax(0,1fr)]",children:[D,z]}),e[34]=p,e[35]=m,e[36]=$,e[37]=D,e[38]=z,e[39]=F):F=e[39];let I;e[40]===x?I=e[41]:(I=x?(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2 rounded-md border bg-background px-2.5 py-2 font-mono text-xs",children:[(0,a.jsx)("span",{className:"select-none text-muted-foreground","aria-hidden":!0,children:"$"}),(0,a.jsx)("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap","data-testid":"export-cli-command","aria-label":"Equivalent POSIX shell command",children:x}),(0,a.jsx)(We,{value:x,className:"size-3.5",buttonClassName:fe(ns({variant:"ghost",size:"icon"}),"shrink-0"),tooltip:"Copy POSIX shell command",ariaLabel:"Copy POSIX shell command",toastTitle:"Command copied"})]}):null,e[40]=x,e[41]=I);let R=x&&"mt-3",j;e[42]===R?j=e[43]:(j=fe("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",R),e[42]=R,e[43]=j);let O;e[44]===w?O=e[45]:(O=w?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:w}):null,e[44]=w,e[45]=O);let C=!g.available||l,H=!w&&"sm:ml-auto",V;e[46]===H?V=e[47]:(V=fe("border-(--blue-11) bg-(--blue-11) hover:border-(--blue-12) hover:bg-(--blue-12) sm:min-w-36 dark:border-(--blue-7) dark:bg-(--blue-5) dark:text-(--blue-12) dark:hover:border-(--blue-8) dark:hover:bg-(--blue-6)",H),e[46]=H,e[47]=V);let B;e[48]===l?B=e[49]:(B=l&&(0,a.jsx)(Le,{size:"small",className:"mr-2","aria-hidden":!0}),e[48]=l,e[49]=B);let ae=k?"Print to PDF":v,J;e[50]!==l||e[51]!==b||e[52]!==C||e[53]!==V||e[54]!==B||e[55]!==ae?(J=(0,a.jsxs)(re,{type:"button",disabled:C,"aria-busy":l,onClick:b,className:V,"data-testid":"export-submit",children:[B,ae]}),e[50]=l,e[51]=b,e[52]=C,e[53]=V,e[54]=B,e[55]=ae,e[56]=J):J=e[56];let se;e[57]!==j||e[58]!==O||e[59]!==J?(se=(0,a.jsxs)("div",{className:j,children:[O,J]}),e[57]=j,e[58]=O,e[59]=J,e[60]=se):se=e[60];let U;e[61]!==se||e[62]!==I?(U=(0,a.jsxs)("footer",{className:"min-w-0 border-t bg-muted/20 px-4 py-3",children:[I,se]}),e[61]=se,e[62]=I,e[63]=U):U=e[63];let _;return e[64]!==o||e[65]!==S||e[66]!==U||e[67]!==F?(_=(0,a.jsxs)(De,{ref:o,className:"grid h-dvh max-h-[760px] min-w-0 w-[calc(100vw-2rem)] grid-rows-[auto_minmax(0,1fr)_auto] gap-0 overflow-hidden p-0 sm:top-[5vh] sm:h-[90vh] sm:max-h-[640px] sm:max-w-3xl","data-testid":"export-dialog",...S,children:[q,F,U]}),e[64]=o,e[65]=S,e[66]=U,e[67]=F,e[68]=_):_=e[68],_};var to=T();function ao(t){let e=(0,to.c)(5),{openPrompt:s,closeModal:n}=Ne(),{sendCopy:r}=ne(),i;return e[0]!==n||e[1]!==s||e[2]!==r||e[3]!==t?(i=()=>{if(!t)return null;let o=Cs.guessDeliminator(t);s({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${Pe.basename(t)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:l=>{let d=o.join(Pe.dirname(t),l);r({source:t,destination:d}).then(()=>{n(),ie({title:"Notebook copied",description:"A copy of the notebook has been created."}),Ps(d)})}})},e[0]=n,e[1]=s,e[2]=r,e[3]=t,e[4]=i):i=e[4],i}var so=T();function ia(){let t=(0,so.c)(4),{openConfirm:e}=Ne(),s=le(it),{sendRestart:n}=ne(),r;return t[0]!==e||t[1]!==n||t[2]!==s?(r=()=>{e({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Ha,{onClick:async()=>{s({state:rt.CLOSING}),await n(),Os()},"aria-label":"Confirm Restart",children:"Restart"})})},t[0]=e,t[1]=n,t[2]=s,t[3]=r):r=t[3],r}var no=T(),oo=new ya,ro=t=>oo.isSupported(t)?"markdown":"code";const la=()=>{let t=(0,no.c)(3),{updateCellConfig:e}=Ke(),{saveCellConfig:s}=ne(),n;return t[0]!==s||t[1]!==e?(n=async(r,i)=>{let o=tt(),l={};for(let c of o.cellIds.inOrderIds){let u=o.cellData[c];u===void 0||u.config.hide_code===r||ro(u.code)===i&&(l[c]={hide_code:r})}let d=st.entries(l);if(d.length!==0){await s({configs:l});for(let[c,u]of d)e({cellId:c,config:u})}},t[0]=s,t[1]=e,t[2]=n):n=t[2],n};var io=T(),ue=t=>{t==null||t.preventDefault(),t==null||t.stopPropagation()};function lo(t){var X,ve,me;let e=(0,io.c)(45),s;e[0]===t?s=e[1]:(s=t===void 0?{}:t,e[0]=t,e[1]=s);let{exportDialogReturnFocusRef:n}=s,r=Mt(),{openModal:i,closeModal:o}=Ne(),{toggleApplication:l}=fa(),{selectedPanel:d}=wa(),[c]=Oe(ot),u=ee(Da),m=la(),[h]=Wa(),b=ee(xa),f=ee(Ea),{updateCellConfig:p,undoDeleteCell:g,clearAllCellOutputs:k,addSetupCellIfDoesntExist:v,collapseAllCells:x,expandAllCells:w}=Ke(),y=ia(),N=zs(),M=ao(r),S=le(Gt),q=le(Fa),{handleClick:$}=Ia(),P=le(La),D=le(sa),{readCode:z,saveCellConfig:F}=ne(),I=ee(Ma),R=ee(Oa),j=ee(va),{selectedLayout:O}=xt(),{setLayoutView:C}=yt(),H=Ut(),V=((X=h.sharing)==null?void 0:X.html)??!0,B=((ve=h.sharing)==null?void 0:ve.wasm)??!0,ae=((me=h.sharing)==null?void 0:me.molab)??!0,J=O==="slides",se=No,U;e[2]!==o||e[3]!==n||e[4]!==i||e[5]!==D?(U=(W,Z)=>{Z&&D(oe=>aa(oe,Z)),i((0,a.jsx)(eo,{initialFormat:W,onClose:o,returnFocusRef:n}))},e[2]=o,e[3]=n,e[4]=i,e[5]=D,e[6]=U):U=e[6];let _=U,L;e[7]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(pt,{size:14,strokeWidth:1.5}),e[7]=L):L=e[7];let G;return e[8]!==v||e[9]!==f||e[10]!==R||e[11]!==b||e[12]!==k||e[13]!==o||e[14]!==x||e[15]!==M||e[16]!==w||e[17]!==r||e[18]!==I||e[19]!==J||e[20]!==u||e[21]!==_||e[22]!==i||e[23]!==$||e[24]!==z||e[25]!==y||e[26]!==N||e[27]!==F||e[28]!==O||e[29]!==d||e[30]!==m||e[31]!==S||e[32]!==P||e[33]!==C||e[34]!==q||e[35]!==V||e[36]!==ae||e[37]!==B||e[38]!==l||e[39]!==H||e[40]!==g||e[41]!==j||e[42]!==p||e[43]!==c.mode?(G=[{icon:L,label:"Export\u2026",additionalKeywords:["download","html","markdown","ipynb","pdf","script","png"],handle:()=>_()},{icon:(0,a.jsx)(pt,{size:14,strokeWidth:1.5}),label:"Download",handle:ue,dropdown:[{icon:(0,a.jsx)(ft,{size:14,strokeWidth:1.5}),label:"Download as HTML",handle:()=>_("html",{html:{includeCode:!0}})},{icon:(0,a.jsx)(ft,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:()=>_("html",{html:{includeCode:!1}})},{icon:(0,a.jsx)(_s,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:()=>_("markdown")},{icon:(0,a.jsx)(Dt,{size:14,strokeWidth:1.5}),label:"Download as ipynb",handle:()=>_("ipynb")},{icon:(0,a.jsx)(Ie,{size:14,strokeWidth:1.5}),label:"Download notebook source",handle:()=>_("script",{script:{type:"source"}})},{icon:(0,a.jsx)(Ie,{size:14,strokeWidth:1.5}),label:"Download flat script",handle:()=>_("script",{script:{type:"flat"}})},{divider:!0,icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"Download as PNG",handle:()=>_("png")},J?{divider:!0,icon:(0,a.jsx)(be,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:ue,dropdown:[{icon:(0,a.jsx)(be,{size:14,strokeWidth:1.5}),label:"Document Layout",handle:()=>_("pdf",{pdf:{preset:"document"}})},{icon:(0,a.jsx)(be,{size:14,strokeWidth:1.5}),label:"Slides Layout",hidden:he(),rightElement:(0,a.jsx)("span",{className:"ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700",children:"Recommended"}),handle:()=>_("pdf",{pdf:{preset:"slides"}})}]}:{divider:!0,icon:(0,a.jsx)(be,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:()=>_("pdf",{pdf:{preset:"document"}})}]},{icon:(0,a.jsx)(ws,{size:14,strokeWidth:1.5}),label:"Pair with an agent",hidden:he(),handle:async()=>{i((0,a.jsx)(Is,{onClose:o}))}},{icon:(0,a.jsx)(Hs,{size:14,strokeWidth:1.5}),label:"Share",handle:ue,hidden:!V&&!B&&!ae,dropdown:[{icon:(0,a.jsx)(wt,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!V,handle:async()=>{i((0,a.jsx)(en,{onClose:o}))}},{icon:(0,a.jsx)(ks,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!B,handle:async()=>{await je(Ct({code:(await z()).contents})),ie({title:"Copied",description:"Link copied to clipboard."})}},{icon:(0,a.jsx)(It,{size:14,strokeWidth:1.5}),label:"Create molab notebook",hidden:!ae,handle:async()=>{let W=Ct({code:(await z()).contents,baseUrl:`${K.molab}/new`});window.open(W,"_blank")}}]},{icon:(0,a.jsx)($s,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:ue,dropdown:ba.flatMap(W=>{let Z=W.type==="ai"&&!f;if(Na({panel:W,capabilities:b,aiEnabled:f})&&!Z)return[];let{type:oe,Icon:da,additionalKeywords:ca}=W;return{label:Fe.startCase(oe),rightElement:se(d===oe),icon:(0,a.jsx)(da,{size:14,strokeWidth:1.5}),handle:()=>{if(Z){$("ai","ai-features");return}l(oe)},additionalKeywords:ca}})},{icon:(0,a.jsx)(qt,{size:14,strokeWidth:1.5}),label:"Present as",handle:ue,dropdown:[{icon:c.mode==="present"?(0,a.jsx)(js,{size:14,strokeWidth:1.5}):(0,a.jsx)(is,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{H()}},...Lt.map((W,Z)=>{let oe=Kt(W);return{divider:Z===0,label:Yt(W),icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:O===W&&(0,a.jsx)(kt,{size:14})}),handle:()=>{C(W),c.mode==="edit"&&H()}}})]},{icon:(0,a.jsx)(Ts,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!r||he(),handle:M},{icon:(0,a.jsx)(Pt,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!r,handle:async()=>{await je((await z()).contents),ie({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(cs,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!I||u,handle:async()=>{let W=Sa(tt());await F({configs:st.fromEntries(W.map(jo))});for(let Z of W)p({cellId:Z,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(Et,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{v({})}},{icon:(0,a.jsx)(ga,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{i((0,a.jsx)(Ft,{onClose:o}))}},{icon:(0,a.jsx)(fs,{size:14,strokeWidth:1.5}),label:"Add remote storage",handle:()=>{i((0,a.jsx)(Ft,{defaultTab:"storage",onClose:o}))}},{icon:(0,a.jsx)(Tt,{size:14,strokeWidth:1.5}),label:j,hidden:!R||u,handle:()=>{g()}},{icon:(0,a.jsx)(Vs,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:y,additionalKeywords:["reset","reload","restart"]},{icon:(0,a.jsx)(qs,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{N()}},{icon:(0,a.jsx)(ja,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{k()}},{icon:(0,a.jsx)(Qe,{size:14,strokeWidth:1.5}),label:"Show all code",hotkey:"global.showAllCode",handle:()=>m(!1,"code"),redundant:!0},{icon:(0,a.jsx)(gt,{size:14,strokeWidth:1.5}),label:"Hide all code",hotkey:"global.hideAllCode",handle:()=>m(!0,"code"),redundant:!0},{icon:(0,a.jsx)(Qe,{size:14,strokeWidth:1.5}),label:"Show all markdown code",hotkey:"global.showAllMarkdownCode",handle:()=>m(!1,"markdown"),redundant:!0},{icon:(0,a.jsx)(gt,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",hotkey:"global.hideAllMarkdownCode",handle:()=>m(!0,"markdown"),redundant:!0},{icon:(0,a.jsx)(Ds,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:x,redundant:!0},{icon:(0,a.jsx)(As,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:w,redundant:!0},{divider:!0,icon:(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>S(wo)},{icon:(0,a.jsx)(ls,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>P(vo)},{icon:(0,a.jsx)(vs,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>q(go),redundant:!0,additionalKeywords:["preferences","options","configuration"]},{icon:(0,a.jsx)(At,{size:14,strokeWidth:1.5}),label:"Report an issue",additionalKeywords:["feedback","bug","issue","report","diagnostics"],handle:()=>i((0,a.jsx)(Vt,{onClose:o}))},{icon:(0,a.jsx)(vt,{size:14,strokeWidth:1.5}),label:"Resources",handle:ue,dropdown:[{icon:(0,a.jsx)(ka,{size:14,strokeWidth:1.5}),label:"Documentation",handle:ko},{icon:(0,a.jsx)(Ls,{className:"h-3.5 w-3.5"}),label:"GitHub",handle:yo},{icon:(0,a.jsx)(ms,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:xo},{icon:(0,a.jsx)(hs,{className:"h-3.5 w-3.5"}),label:"YouTube",handle:bo},{icon:(0,a.jsx)(Xe,{size:14,strokeWidth:1.5}),label:"Changelog",handle:fo}]},{divider:!0,icon:(0,a.jsx)(bs,{size:14,strokeWidth:1.5}),label:"Open home",hidden:!location.search.includes("file"),handle:ho},{icon:(0,a.jsx)(It,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:po}].filter(mo).map(co),e[8]=v,e[9]=f,e[10]=R,e[11]=b,e[12]=k,e[13]=o,e[14]=x,e[15]=M,e[16]=w,e[17]=r,e[18]=I,e[19]=J,e[20]=u,e[21]=_,e[22]=i,e[23]=$,e[24]=z,e[25]=y,e[26]=N,e[27]=F,e[28]=O,e[29]=d,e[30]=m,e[31]=S,e[32]=P,e[33]=C,e[34]=q,e[35]=V,e[36]=ae,e[37]=B,e[38]=l,e[39]=H,e[40]=g,e[41]=j,e[42]=p,e[43]=c.mode,e[44]=G):G=e[44],G}function co(t){return t.dropdown?{...t,dropdown:t.dropdown.filter(uo)}:t}function uo(t){return!t.hidden}function mo(t){return!t.hidden}function po(){let t=Ss();window.open(t,"_blank")}function ho(){let t=document.baseURI.split("?")[0];window.open(t,"_blank","noopener")}function fo(){window.open(K.releasesPage,"_blank")}function bo(){window.open(K.youtube,"_blank")}function xo(){window.open(K.discordLink,"_blank")}function yo(){window.open(K.githubPage,"_blank")}function ko(){window.open(K.docsPage,"_blank")}function go(t){return!t}function vo(t){return!t}function wo(t){return!t}function jo(t){return[t,{disabled:!1}]}function No(t){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:t&&(0,a.jsx)(kt,{size:14})})}export{Gt as a,$e as c,Et as d,Wt as f,rn as i,Tt as l,la as n,Ut as o,Pt as p,ia as r,Qs as s,lo as t,At as u};