@marimo-team/frontend 0.21.1-dev15 → 0.21.1-dev18

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 (138) hide show
  1. package/dist/assets/{CellStatus-CoejXnCc.js → CellStatus-DSc0Rc57.js} +1 -1
  2. package/dist/assets/{Combination-CBJmtdux.js → Combination-Cs9nbinQ.js} +1 -1
  3. package/dist/assets/{ConnectedDataExplorerComponent-DsPvYWwS.js → ConnectedDataExplorerComponent-Buaffg3u.js} +1 -1
  4. package/dist/assets/{ErrorBoundary-H5EQrcAX.js → ErrorBoundary-Ba0LbbH4.js} +1 -1
  5. package/dist/assets/{ImperativeModal-CDxa8mJa.js → ImperativeModal-qEtcJ95s.js} +1 -1
  6. package/dist/assets/{JsonOutput-CBK4dhVh.js → JsonOutput-W5-HQRgs.js} +1 -1
  7. package/dist/assets/{LazyAnyLanguageCodeMirror-CrcxjfJR.js → LazyAnyLanguageCodeMirror-m8w66E4s.js} +2 -2
  8. package/dist/assets/{MarimoErrorOutput-B0nc63rx.js → MarimoErrorOutput-BveYcYDx.js} +1 -1
  9. package/dist/assets/{RenderHTML-Bp9XY06U.js → RenderHTML-C09cMP9E.js} +1 -1
  10. package/dist/assets/{add-cell-with-ai-CrnYAxuA.js → add-cell-with-ai-Ba8nxsB4.js} +1 -1
  11. package/dist/assets/{add-connection-dialog-I31C6j-5.js → add-connection-dialog-BSYAh68E.js} +1 -1
  12. package/dist/assets/{agent-panel-ufAvSbof.js → agent-panel-DbJ6N-vH.js} +1 -1
  13. package/dist/assets/{ai-model-dropdown-BYDC_z7s.js → ai-model-dropdown-Dbctse5A.js} +1 -1
  14. package/dist/assets/{alert-dialog-B31Yst9T.js → alert-dialog-9WfvUF7e.js} +1 -1
  15. package/dist/assets/{any-language-editor-BQW3AtUK.js → any-language-editor-DwQMnAM3.js} +1 -1
  16. package/dist/assets/{app-config-button-CRfW3S6Z.js → app-config-button-CFi8sxEh.js} +1 -1
  17. package/dist/assets/{assertNever-CTRGz-ul.js → assertNever-DWSyoPEi.js} +1 -1
  18. package/dist/assets/{azure-q5TZ9bt0.js → azure-LPiyHTZZ.js} +1 -1
  19. package/dist/assets/{button-BZAv3veu.js → button-Ej3vmCIF.js} +1 -1
  20. package/dist/assets/{cache-panel-BPbLoq59.js → cache-panel-qIxnndwr.js} +1 -1
  21. package/dist/assets/{capabilities-B1-dYWS8.js → capabilities-D3x_db9Y.js} +1 -1
  22. package/dist/assets/{capitalize-DcpkQwJe.js → capitalize-BfkXNxmI.js} +1 -1
  23. package/dist/assets/{cell-editor-I71mfVcF.js → cell-editor-BqdkLRyE.js} +13 -13
  24. package/dist/assets/{cell-link-DWQZUFhO.js → cell-link-B4VljPeB.js} +1 -1
  25. package/dist/assets/{cells-Dqou-uie.js → cells-D7VcaLU3.js} +45 -45
  26. package/dist/assets/{chat-display-Vedn01P6.js → chat-display-HM0AgnZw.js} +1 -1
  27. package/dist/assets/{chat-panel-udyCNql9.js → chat-panel-aUnpJ9lC.js} +1 -1
  28. package/dist/assets/{column-preview-DPhs4evg.js → column-preview-CUw46kd-.js} +1 -1
  29. package/dist/assets/{command-Ckfx4w5C.js → command-BsHOIlao.js} +1 -1
  30. package/dist/assets/{command-palette-Bgqtu-pE.js → command-palette-SXAvvfUG.js} +1 -1
  31. package/dist/assets/{common-DMx0N5jj.js → common-BPB-YQKC.js} +1 -1
  32. package/dist/assets/{components-CHO2M34L.js → components-CwkcA6Y-.js} +1 -1
  33. package/dist/assets/{components-Bgj5U8rZ.js → components-X1R06rgo.js} +1 -1
  34. package/dist/assets/{config-DeEqZTX7.js → config-3Aq84phF.js} +1 -1
  35. package/dist/assets/{context-aware-panel-TU7i7Ais.js → context-aware-panel-7Ek3tcW4.js} +1 -1
  36. package/dist/assets/{copy-B0pTwxmU.js → copy-YwM0Pd7v.js} +1 -1
  37. package/dist/assets/{copy-icon-Ditn6lfU.js → copy-icon-BgmMM9Zg.js} +1 -1
  38. package/dist/assets/{createReducer-DgaMD0B6.js → createReducer-Drh7NmIR.js} +1 -1
  39. package/dist/assets/{datasource-Cn-Wy4lo.js → datasource-BoUnF60v.js} +1 -1
  40. package/dist/assets/{dates-BcvJrESI.js → dates-CHaNfieI.js} +1 -1
  41. package/dist/assets/{dependency-graph-panel-Dd_ypMAw.js → dependency-graph-panel-DIowZga1.js} +1 -1
  42. package/dist/assets/{dialog-CyL4o0mA.js → dialog-CVN1lcMF.js} +1 -1
  43. package/dist/assets/{dist-D7GD2EM4.js → dist-BhNN2V5a.js} +1 -1
  44. package/dist/assets/{dist-D98wU_Qc.js → dist-DJBpXGro.js} +1 -1
  45. package/dist/assets/{documentation-panel-C1QC0dL_.js → documentation-panel-IyVcr9yY.js} +1 -1
  46. package/dist/assets/{download-D6Fv1GMQ.js → download-DZvj3fxW.js} +1 -1
  47. package/dist/assets/{dropdown-menu-CJ-Wwa2I.js → dropdown-menu-DdPu5Kfu.js} +1 -1
  48. package/dist/assets/{edit-page-DmVjpKhV.js → edit-page-BfhafCjx.js} +3 -3
  49. package/dist/assets/{error-banner-DQBz1e-2.js → error-banner-BRG6IPhC.js} +1 -1
  50. package/dist/assets/{error-panel-BfF_Pl3q.js → error-panel-z_rShOO3.js} +1 -1
  51. package/dist/assets/{es-997LzX0P.js → es-CzkousWe.js} +1 -1
  52. package/dist/assets/{field-qoWy8wEy.js → field-B1jGbQlH.js} +1 -1
  53. package/dist/assets/{file-explorer-panel-C6RCpRgm.js → file-explorer-panel-CXB9uU30.js} +1 -1
  54. package/dist/assets/{file-icons-0zZkfGbI.js → file-icons-CkKg3rgM.js} +1 -1
  55. package/dist/assets/{floating-outline-CNejeNGC.js → floating-outline-CflzXJDl.js} +1 -1
  56. package/dist/assets/{focus-CQRBseis.js → focus-D09k4iPD.js} +1 -1
  57. package/dist/assets/{form-B9Fj5Rl-.js → form-CQ7q9z52.js} +1 -1
  58. package/dist/assets/{formats-DzzQnJYt.js → formats-rhOJovGE.js} +1 -1
  59. package/dist/assets/{formatting-IErTLHRl.js → formatting-B4ZCH3ol.js} +1 -1
  60. package/dist/assets/{gallery-page-CzYOKRSH.js → gallery-page-eRea0yic.js} +1 -1
  61. package/dist/assets/{glide-data-editor-NQ4lbZ3N.js → glide-data-editor-xt5xNZeV.js} +1 -1
  62. package/dist/assets/{globals-DE7Q2ffe.js → globals-DZ47VMZE.js} +1 -1
  63. package/dist/assets/{home-page-C8mwmLAs.js → home-page-m5otUVrx.js} +1 -1
  64. package/dist/assets/{hooks-BjjG_ojV.js → hooks-CJxF1_T9.js} +1 -1
  65. package/dist/assets/{html-to-image-BFwmkFZ4.js → html-to-image-F0JQuH9e.js} +1 -1
  66. package/dist/assets/{index-BJ994z_-.js → index-DWYj5xFo.js} +6 -6
  67. package/dist/assets/{index-Bgbe24O9.css → index-GjXovVsl.css} +1 -1
  68. package/dist/assets/{input-BRZ8bt6P.js → input-CUwqpKjd.js} +1 -1
  69. package/dist/assets/{kiosk-mode-BO-KqM9l.js → kiosk-mode-B00Q9lAr.js} +1 -1
  70. package/dist/assets/{label-SLjr8zzy.js → label-TNNaT1M9.js} +1 -1
  71. package/dist/assets/{layout-pYw8vaT6.js → layout-9Y4vydnb.js} +3 -3
  72. package/dist/assets/{links-D1lqztbf.js → links-CIQwYQ48.js} +1 -1
  73. package/dist/assets/{logs-panel-BebwAaGv.js → logs-panel-qcsdupON.js} +1 -1
  74. package/dist/assets/{maps-CqKCrVZ8.js → maps-OKerBHH8.js} +1 -1
  75. package/dist/assets/{markdown-renderer-CdEqa6lQ.js → markdown-renderer-K106bu_A.js} +1 -1
  76. package/dist/assets/{menu-items-Z4F08mfP.js → menu-items-UxKrm8hS.js} +1 -1
  77. package/dist/assets/{mermaid-DkQrVBDR.js → mermaid-Djr3jUAB.js} +1 -1
  78. package/dist/assets/{mode-DSINUCzY.js → mode-DzQ0cSCz.js} +1 -1
  79. package/dist/assets/{multi-map-CJMleYLX.js → multi-map-Pp1P2DOX.js} +1 -1
  80. package/dist/assets/{name-cell-input-DaDgZhjE.js → name-cell-input-DRLWP5Jy.js} +1 -1
  81. package/dist/assets/{numbers-aIvy9Kr7.js → numbers-CYnquDho.js} +1 -1
  82. package/dist/assets/{outline-panel-DCpOiLnR.js → outline-panel-CQbaHloL.js} +1 -1
  83. package/dist/assets/{packages-panel-kOdMspq6.js → packages-panel-BHg9wsOC.js} +1 -1
  84. package/dist/assets/{panels-DVL7ce_r.js → panels-DezwU7hc.js} +1 -1
  85. package/dist/assets/{popover-Du6bDNYH.js → popover-BPGG2gPG.js} +1 -1
  86. package/dist/assets/{process-output-4ypD4fg7.js → process-output-ynDbqlYA.js} +1 -1
  87. package/dist/assets/{readonly-python-code-CysvH2Zj.js → readonly-python-code-BGz34qql.js} +1 -1
  88. package/dist/assets/{renderShortcut-Bgu3XVfT.js → renderShortcut-CnD1Dah5.js} +1 -1
  89. package/dist/assets/{run-page-CNdaj2P8.js → run-page-Cy2NhCwO.js} +1 -1
  90. package/dist/assets/{runs-DZ_uu7bP.js → runs-Bhy0tbWr.js} +1 -1
  91. package/dist/assets/{scratchpad-panel-C1sDAoTh.js → scratchpad-panel-Dt_zRcf9.js} +1 -1
  92. package/dist/assets/{secrets-panel-Ckqi3z-M.js → secrets-panel-B1Z-6dmz.js} +1 -1
  93. package/dist/assets/{select-Ch6m1k2G.js → select-CxT2Geqr.js} +1 -1
  94. package/dist/assets/{session-CXChHxAw.js → session-BrEm7qNv.js} +1 -1
  95. package/dist/assets/{session-panel-BACIy3wf.js → session-panel-HD2qSLlz.js} +1 -1
  96. package/dist/assets/{share-BYioqUE0.js → share-BdH_5I58.js} +1 -1
  97. package/dist/assets/{slides-component-y5hJNJFx.js → slides-component-Brm_TS4x.js} +1 -1
  98. package/dist/assets/{snippets-panel-BjUFMiXc.js → snippets-panel-zrwxNGtx.js} +1 -1
  99. package/dist/assets/{spec-CYMZZDXr.js → spec-DbmSqx09.js} +1 -1
  100. package/dist/assets/{state-BqEQgvo3.js → state-BDPnJei0.js} +1 -1
  101. package/dist/assets/{state-D59a73JQ.js → state-CBmCYWFH.js} +1 -1
  102. package/dist/assets/{state-Y7yVqxf_.js → state-Ce7CVShi.js} +1 -1
  103. package/dist/assets/{switch-JycgoJcn.js → switch-D8wpAzyc.js} +1 -1
  104. package/dist/assets/{terminal-vzbCncOF.js → terminal-Cr7wbEjz.js} +1 -1
  105. package/dist/assets/{toggle-BiIJZR6-.js → toggle-RCwU-rnE.js} +1 -1
  106. package/dist/assets/{tooltip-CNmaER6z.js → tooltip-D9723Brr.js} +1 -1
  107. package/dist/assets/{tracing-1AoHNFA-.js → tracing-DndaYcXU.js} +1 -1
  108. package/dist/assets/{tracing-panel-CrlCrmHo.js → tracing-panel-DlaMrQvA.js} +2 -2
  109. package/dist/assets/{tree-4weMpXk4.js → tree-Ch2-GuhG.js} +1 -1
  110. package/dist/assets/{useAddCell-BSbQWv3q.js → useAddCell-Be6i0MH0.js} +1 -1
  111. package/dist/assets/{useBoolean-Cm61eWz0.js → useBoolean-Cr8MjS_j.js} +1 -1
  112. package/dist/assets/useCellActionButton-DNY7402I.js +1 -0
  113. package/dist/assets/{useDeleteCell-DSpj4wDu.js → useDeleteCell-4j5HJ2j2.js} +1 -1
  114. package/dist/assets/{useDependencyPanelTab-1iAP2AMB.js → useDependencyPanelTab-OeYpqCXl.js} +1 -1
  115. package/dist/assets/useEventListener-Dy81QR4n.js +1 -0
  116. package/dist/assets/{useIframeCapabilities-DDlGrM1g.js → useIframeCapabilities-DTN9kFDq.js} +1 -1
  117. package/dist/assets/{useInstallPackage-CIJ1-EHx.js → useInstallPackage-C9V-on2J.js} +1 -1
  118. package/dist/assets/{useInterval-D7ibzbpc.js → useInterval-BJucVdV-.js} +1 -1
  119. package/dist/assets/{useLifecycle-CWjBWFMI.js → useLifecycle-DA9DjSPo.js} +1 -1
  120. package/dist/assets/{useNotebookActions-m1fxrzno.js → useNotebookActions-Bteks-RL.js} +1 -1
  121. package/dist/assets/{useRunCells-BSsgvk4y.js → useRunCells-CGSG8ACZ.js} +1 -1
  122. package/dist/assets/{useSplitCell-Ct7RykE3.js → useSplitCell-Su0XVN9R.js} +1 -1
  123. package/dist/assets/{useTheme-CM9j8dgy.js → useTheme-BYXBU1of.js} +1 -1
  124. package/dist/assets/{utils-BuPoTKhl.js → utils-CdjCA1J8.js} +1 -1
  125. package/dist/assets/{utils-BvPM6Bro.js → utils-tNbLd14P.js} +1 -1
  126. package/dist/assets/{vega-component-S1h0g70Q.js → vega-component-CRbeDmeM.js} +1 -1
  127. package/dist/assets/{write-secret-modal-VGPgwkTg.js → write-secret-modal-BCvuRAFb.js} +1 -1
  128. package/dist/index.html +76 -76
  129. package/package.json +1 -1
  130. package/src/components/editor/actions/useCellActionButton.tsx +38 -29
  131. package/src/components/editor/cell/code/cell-editor.tsx +9 -0
  132. package/src/core/codemirror/__tests__/setup.test.ts +1 -0
  133. package/src/core/codemirror/cells/state.ts +1 -0
  134. package/src/core/codemirror/extensions.ts +20 -0
  135. package/src/core/hotkeys/hotkeys.ts +8 -0
  136. package/src/css/md.css +4 -0
  137. package/dist/assets/useCellActionButton-DpdThmJR.js +0 -1
  138. package/dist/assets/useEventListener-BGihH8bs.js +0 -1
@@ -1,2 +1,2 @@
1
- import{i as B}from"./useEvent-O0nX5vok.js";import{b as G,oi as v,xn as Q}from"./cells-Dqou-uie.js";import{m as $}from"./useEventListener-BGihH8bs.js";import{t as R}from"./requests-Bgjtqo_1.js";function I({moduleName:e,variableName:t,onAddImport:r,appStore:n=B}){if(t in n.get(Q))return!1;let{cellData:i,cellIds:o}=n.get(G),a=RegExp(`import[ ]+${e}[ ]+as[ ]+${t}`,"g");for(let l of o.inOrderIds)if(a.test(i[l].code))return!1;return r(`import ${e} as ${t}`),!0}function X({autoInstantiate:e,createNewCell:t,fromCellId:r,before:n}){let i=R(),o=null;return I({moduleName:"marimo",variableName:"mo",onAddImport:a=>{o=v.create(),t({cellId:r??"__end__",before:n??!1,code:a,lastCodeRun:e?a:void 0,newCellId:o,skipIfCodeExists:!0,autoFocus:!1}),e&&i.sendRun({cellIds:[o],codes:[a]})}})?o:null}function J({autoInstantiate:e,createNewCell:t,fromCellId:r}){let n=R(),i=null;return I({moduleName:"altair",variableName:"alt",onAddImport:o=>{i=v.create(),t({cellId:r??"__end__",before:!1,code:o,lastCodeRun:e?o:void 0,newCellId:i,skipIfCodeExists:!0,autoFocus:!1}),e&&n.sendRun({cellIds:[i],codes:[o]})}})?i:null}function K(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let r=document.implementation.createHTMLDocument(),n=r.createElement("base"),i=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(i),t&&(n.href=t),i.href=e,i.href}const Y=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function d(e){let t=[];for(let r=0,n=e.length;r<n;r++)t.push(e[r]);return t}var g=null;function k(e={}){return g||(e.includeStyleProperties?(g=e.includeStyleProperties,g):(g=d(window.getComputedStyle(document.documentElement)),g))}function p(e,t){let r=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return r?parseFloat(r.replace("px","")):0}function Z(e){let t=p(e,"border-left-width"),r=p(e,"border-right-width");return e.clientWidth+t+r}function ee(e){let t=p(e,"border-top-width"),r=p(e,"border-bottom-width");return e.clientHeight+t+r}function P(e,t={}){return{width:t.width||Z(e),height:t.height||ee(e)}}function te(){let e,t;try{t=process}catch{}let r=t&&t.env?t.env.devicePixelRatio:null;return r&&(e=parseInt(r,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var c=16384;function re(e){(e.width>c||e.height>c)&&(e.width>c&&e.height>c?e.width>e.height?(e.height*=c/e.width,e.width=c):(e.width*=c/e.height,e.height=c):e.width>c?(e.height*=c/e.width,e.width=c):(e.width*=c/e.height,e.height=c))}function w(e){return new Promise((t,r)=>{let n=new Image;n.onload=()=>{n.decode().then(()=>{requestAnimationFrame(()=>t(n))})},n.onerror=r,n.crossOrigin="anonymous",n.decoding="async",n.src=e})}async function ne(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function ie(e,t,r){let n="http://www.w3.org/2000/svg",i=document.createElementNS(n,"svg"),o=document.createElementNS(n,"foreignObject");return i.setAttribute("width",`${t}`),i.setAttribute("height",`${r}`),i.setAttribute("viewBox",`0 0 ${t} ${r}`),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("externalResourcesRequired","true"),i.appendChild(o),o.appendChild(e),ne(i)}const u=(e,t)=>{if(e instanceof t)return!0;let r=Object.getPrototypeOf(e);return r===null?!1:r.constructor.name===t.name||u(r,t)};function oe(e){let t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function ae(e,t){return k(t).map(r=>`${r}: ${e.getPropertyValue(r)}${e.getPropertyPriority(r)?" !important":""};`).join(" ")}function le(e,t,r,n){let i=`.${e}:${t}`,o=r.cssText?oe(r):ae(r,n);return document.createTextNode(`${i}{${o}}`)}function N(e,t,r,n){let i=window.getComputedStyle(e,r),o=i.getPropertyValue("content");if(o===""||o==="none")return;let a=Y();try{t.className=`${t.className} ${a}`}catch{return}let l=document.createElement("style");l.appendChild(le(a,r,i,n)),t.appendChild(l)}function se(e,t,r){N(e,t,":before",r),N(e,t,":after",r)}var T="application/font-woff",A="image/jpeg",ce={woff:T,woff2:T,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:A,jpeg:A,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function ue(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function x(e){return ce[ue(e).toLowerCase()]||""}function de(e){return e.split(/,/)[1]}function E(e){return e.search(/^(data:)/)!==-1}function L(e,t){return`data:${t};base64,${e}`}async function H(e,t,r){let n=await fetch(e,t);if(n.status===404)throw Error(`Resource "${n.url}" not found`);let i=await n.blob();return new Promise((o,a)=>{let l=new FileReader;l.onerror=a,l.onloadend=()=>{try{o(r({res:n,result:l.result}))}catch(s){a(s)}},l.readAsDataURL(i)})}var S={};function fe(e,t,r){let n=e.replace(/\?.*/,"");return r&&(n=e),/ttf|otf|eot|woff2?/i.test(n)&&(n=n.replace(/.*\//,"")),t?`[${t}]${n}`:n}async function C(e,t,r){let n=fe(e,t,r.includeQueryParams);if(S[n]!=null)return S[n];r.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let i;try{i=L(await H(e,r.fetchRequestInit,({res:o,result:a})=>(t||(t=o.headers.get("Content-Type")||""),de(a))),t)}catch(o){i=r.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;o&&(a=typeof o=="string"?o:o.message),a&&console.warn(a)}return S[n]=i,i}async function he(e){let t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):w(t)}async function me(e,t){if(e.currentSrc){let n=document.createElement("canvas"),i=n.getContext("2d");return n.width=e.clientWidth,n.height=e.clientHeight,i==null||i.drawImage(e,0,0,n.width,n.height),w(n.toDataURL())}let r=e.poster;return w(await C(r,x(r),t))}async function ge(e,t){var r;try{if((r=e==null?void 0:e.contentDocument)!=null&&r.body)return await y(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function pe(e,t){return u(e,HTMLCanvasElement)?he(e):u(e,HTMLVideoElement)?me(e,t):u(e,HTMLIFrameElement)?ge(e,t):e.cloneNode(F(e))}var we=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",F=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function ye(e,t,r){if(F(t))return t;let n=[];return n=we(e)&&e.assignedNodes?d(e.assignedNodes()):d((e.shadowRoot??e).childNodes),n.length===0||u(e,HTMLVideoElement)||await n.reduce((i,o)=>i.then(()=>y(o,r)).then(a=>{a&&t.appendChild(a)}),Promise.resolve()),t}function be(e,t,r){let n=t.style;if(!n)return;let i=window.getComputedStyle(e);i.cssText?(n.cssText=i.cssText,n.transformOrigin=i.transformOrigin):k(r).forEach(o=>{let a=i.getPropertyValue(o);o==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),u(e,HTMLIFrameElement)&&o==="display"&&a==="inline"&&(a="block"),o==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),n.setProperty(o,a,i.getPropertyPriority(o))})}function xe(e,t){u(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),u(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function Ee(e,t){if(u(e,HTMLSelectElement)){let r=t,n=Array.from(r.children).find(i=>e.value===i.getAttribute("value"));n&&n.setAttribute("selected","")}}function Se(e,t,r){return u(t,Element)&&(be(e,t,r),se(e,t,r),xe(e,t),Ee(e,t)),t}async function Ce(e,t){let r=e.querySelectorAll?e.querySelectorAll("use"):[];if(r.length===0)return e;let n={};for(let o=0;o<r.length;o++){let a=r[o].getAttribute("xlink:href");if(a){let l=e.querySelector(a),s=document.querySelector(a);!l&&s&&!n[a]&&(n[a]=await y(s,t,!0))}}let i=Object.values(n);if(i.length){let o="http://www.w3.org/1999/xhtml",a=document.createElementNS(o,"svg");a.setAttribute("xmlns",o),a.style.position="absolute",a.style.width="0",a.style.height="0",a.style.overflow="hidden",a.style.display="none";let l=document.createElementNS(o,"defs");a.appendChild(l);for(let s=0;s<i.length;s++)l.appendChild(i[s]);e.appendChild(a)}return e}async function y(e,t,r){return!r&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(n=>pe(n,t)).then(n=>ye(e,n,t)).then(n=>Se(e,n,t)).then(n=>Ce(n,t))}var M=/url\((['"]?)([^'"]+?)\1\)/g,ve=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,$e=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function Re(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Ie(e){let t=[];return e.replace(M,(r,n,i)=>(t.push(i),r)),t.filter(r=>!E(r))}async function ke(e,t,r,n,i){try{let o=r?K(t,r):t,a=x(t),l;return l=i?L(await i(o),a):await C(o,a,n),e.replace(Re(t),`$1${l}$3`)}catch{}return e}function Pe(e,{preferredFontFormat:t}){return t?e.replace($e,r=>{for(;;){let[n,,i]=ve.exec(r)||[];if(!i)return"";if(i===t)return`src: ${n};`}}):e}function V(e){return e.search(M)!==-1}async function j(e,t,r){if(!V(e))return e;let n=Pe(e,r);return Ie(n).reduce((i,o)=>i.then(a=>ke(a,o,t,r)),Promise.resolve(n))}async function h(e,t,r){var i;let n=(i=t.style)==null?void 0:i.getPropertyValue(e);if(n){let o=await j(n,null,r);return t.style.setProperty(e,o,t.style.getPropertyPriority(e)),!0}return!1}async function Ne(e,t){await h("background",e,t)||await h("background-image",e,t),await h("mask",e,t)||await h("-webkit-mask",e,t)||await h("mask-image",e,t)||await h("-webkit-mask-image",e,t)}async function Te(e,t){let r=u(e,HTMLImageElement);if(!(r&&!E(e.src))&&!(u(e,SVGImageElement)&&!E(e.href.baseVal)))return;let n=r?e.src:e.href.baseVal,i=await C(n,x(n),t);await new Promise((o,a)=>{e.onload=o,e.onerror=t.onImageErrorHandler?(...s)=>{try{o(t.onImageErrorHandler(...s))}catch(f){a(f)}}:a;let l=e;l.decode&&(l.decode=o),l.loading==="lazy"&&(l.loading="eager"),r?(e.srcset="",e.src=i):e.href.baseVal=i})}async function Ae(e,t){let r=d(e.childNodes).map(n=>D(n,t));await Promise.all(r).then(()=>e)}async function D(e,t){u(e,Element)&&(await Ne(e,t),await Te(e,t),await Ae(e,t))}function Le(e,t){let{style:r}=e;t.backgroundColor&&(r.backgroundColor=t.backgroundColor),t.width&&(r.width=`${t.width}px`),t.height&&(r.height=`${t.height}px`);let n=t.style;return n!=null&&Object.keys(n).forEach(i=>{r[i]=n[i]}),e}var O={};async function _(e){let t=O[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},O[e]=t,t)}async function z(e,t){let r=e.cssText,n=/url\(["']?([^"')]+)["']?\)/g,i=(r.match(/url\([^)]+\)/g)||[]).map(async o=>{let a=o.replace(n,"$1");return a.startsWith("https://")||(a=new URL(a,e.url).href),H(a,t.fetchRequestInit,({result:l})=>(r=r.replace(o,`url(${l})`),[o,l]))});return Promise.all(i).then(()=>r)}function U(e){if(e==null)return[];let t=[],r=e.replace(/(\/\*[\s\S]*?\*\/)/gi,""),n=RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){let a=n.exec(r);if(a===null)break;t.push(a[0])}r=r.replace(n,"");let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let a=i.exec(r);if(a===null){if(a=o.exec(r),a===null)break;i.lastIndex=o.lastIndex}else o.lastIndex=i.lastIndex;t.push(a[0])}return t}async function He(e,t){let r=[],n=[];return e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach((o,a)=>{if(o.type===CSSRule.IMPORT_RULE){let l=a+1,s=o.href,f=_(s).then(m=>z(m,t)).then(m=>U(m).forEach(b=>{try{i.insertRule(b,b.startsWith("@import")?l+=1:i.cssRules.length)}catch(W){console.error("Error inserting rule from remote css",{rule:b,error:W})}})).catch(m=>{console.error("Error loading remote css",m.toString())});n.push(f)}})}catch(o){let a=e.find(l=>l.href==null)||document.styleSheets[0];i.href!=null&&n.push(_(i.href).then(l=>z(l,t)).then(l=>U(l).forEach(s=>{a.insertRule(s,a.cssRules.length)})).catch(l=>{console.error("Error loading remote stylesheet",l)})),console.error("Error inlining remote css file",o)}}),Promise.all(n).then(()=>(e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach(o=>{r.push(o)})}catch(o){console.error(`Error while reading CSS rules from ${i.href}`,o)}}),r))}function Fe(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>V(t.style.getPropertyValue("src")))}async function Me(e,t){if(e.ownerDocument==null)throw Error("Provided element is not within a Document");return Fe(await He(d(e.ownerDocument.styleSheets),t))}function q(e){return e.trim().replace(/["']/g,"")}function Ve(e){let t=new Set;function r(n){(n.style.fontFamily||getComputedStyle(n).fontFamily).split(",").forEach(i=>{t.add(q(i))}),Array.from(n.children).forEach(i=>{i instanceof HTMLElement&&r(i)})}return r(e),t}async function je(e,t){let r=await Me(e,t),n=Ve(e);return(await Promise.all(r.filter(i=>n.has(q(i.style.fontFamily))).map(i=>{let o=i.parentStyleSheet?i.parentStyleSheet.href:null;return j(i.cssText,o,t)}))).join(`
1
+ import{i as B}from"./useEvent-O0nX5vok.js";import{b as G,oi as v,xn as Q}from"./cells-D7VcaLU3.js";import{m as $}from"./useEventListener-Dy81QR4n.js";import{t as R}from"./requests-Bgjtqo_1.js";function I({moduleName:e,variableName:t,onAddImport:r,appStore:n=B}){if(t in n.get(Q))return!1;let{cellData:i,cellIds:o}=n.get(G),a=RegExp(`import[ ]+${e}[ ]+as[ ]+${t}`,"g");for(let l of o.inOrderIds)if(a.test(i[l].code))return!1;return r(`import ${e} as ${t}`),!0}function X({autoInstantiate:e,createNewCell:t,fromCellId:r,before:n}){let i=R(),o=null;return I({moduleName:"marimo",variableName:"mo",onAddImport:a=>{o=v.create(),t({cellId:r??"__end__",before:n??!1,code:a,lastCodeRun:e?a:void 0,newCellId:o,skipIfCodeExists:!0,autoFocus:!1}),e&&i.sendRun({cellIds:[o],codes:[a]})}})?o:null}function J({autoInstantiate:e,createNewCell:t,fromCellId:r}){let n=R(),i=null;return I({moduleName:"altair",variableName:"alt",onAddImport:o=>{i=v.create(),t({cellId:r??"__end__",before:!1,code:o,lastCodeRun:e?o:void 0,newCellId:i,skipIfCodeExists:!0,autoFocus:!1}),e&&n.sendRun({cellIds:[i],codes:[o]})}})?i:null}function K(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let r=document.implementation.createHTMLDocument(),n=r.createElement("base"),i=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(i),t&&(n.href=t),i.href=e,i.href}const Y=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function d(e){let t=[];for(let r=0,n=e.length;r<n;r++)t.push(e[r]);return t}var g=null;function k(e={}){return g||(e.includeStyleProperties?(g=e.includeStyleProperties,g):(g=d(window.getComputedStyle(document.documentElement)),g))}function p(e,t){let r=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return r?parseFloat(r.replace("px","")):0}function Z(e){let t=p(e,"border-left-width"),r=p(e,"border-right-width");return e.clientWidth+t+r}function ee(e){let t=p(e,"border-top-width"),r=p(e,"border-bottom-width");return e.clientHeight+t+r}function P(e,t={}){return{width:t.width||Z(e),height:t.height||ee(e)}}function te(){let e,t;try{t=process}catch{}let r=t&&t.env?t.env.devicePixelRatio:null;return r&&(e=parseInt(r,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var c=16384;function re(e){(e.width>c||e.height>c)&&(e.width>c&&e.height>c?e.width>e.height?(e.height*=c/e.width,e.width=c):(e.width*=c/e.height,e.height=c):e.width>c?(e.height*=c/e.width,e.width=c):(e.width*=c/e.height,e.height=c))}function w(e){return new Promise((t,r)=>{let n=new Image;n.onload=()=>{n.decode().then(()=>{requestAnimationFrame(()=>t(n))})},n.onerror=r,n.crossOrigin="anonymous",n.decoding="async",n.src=e})}async function ne(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function ie(e,t,r){let n="http://www.w3.org/2000/svg",i=document.createElementNS(n,"svg"),o=document.createElementNS(n,"foreignObject");return i.setAttribute("width",`${t}`),i.setAttribute("height",`${r}`),i.setAttribute("viewBox",`0 0 ${t} ${r}`),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("externalResourcesRequired","true"),i.appendChild(o),o.appendChild(e),ne(i)}const u=(e,t)=>{if(e instanceof t)return!0;let r=Object.getPrototypeOf(e);return r===null?!1:r.constructor.name===t.name||u(r,t)};function oe(e){let t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function ae(e,t){return k(t).map(r=>`${r}: ${e.getPropertyValue(r)}${e.getPropertyPriority(r)?" !important":""};`).join(" ")}function le(e,t,r,n){let i=`.${e}:${t}`,o=r.cssText?oe(r):ae(r,n);return document.createTextNode(`${i}{${o}}`)}function N(e,t,r,n){let i=window.getComputedStyle(e,r),o=i.getPropertyValue("content");if(o===""||o==="none")return;let a=Y();try{t.className=`${t.className} ${a}`}catch{return}let l=document.createElement("style");l.appendChild(le(a,r,i,n)),t.appendChild(l)}function se(e,t,r){N(e,t,":before",r),N(e,t,":after",r)}var T="application/font-woff",A="image/jpeg",ce={woff:T,woff2:T,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:A,jpeg:A,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function ue(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function x(e){return ce[ue(e).toLowerCase()]||""}function de(e){return e.split(/,/)[1]}function E(e){return e.search(/^(data:)/)!==-1}function L(e,t){return`data:${t};base64,${e}`}async function H(e,t,r){let n=await fetch(e,t);if(n.status===404)throw Error(`Resource "${n.url}" not found`);let i=await n.blob();return new Promise((o,a)=>{let l=new FileReader;l.onerror=a,l.onloadend=()=>{try{o(r({res:n,result:l.result}))}catch(s){a(s)}},l.readAsDataURL(i)})}var S={};function fe(e,t,r){let n=e.replace(/\?.*/,"");return r&&(n=e),/ttf|otf|eot|woff2?/i.test(n)&&(n=n.replace(/.*\//,"")),t?`[${t}]${n}`:n}async function C(e,t,r){let n=fe(e,t,r.includeQueryParams);if(S[n]!=null)return S[n];r.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let i;try{i=L(await H(e,r.fetchRequestInit,({res:o,result:a})=>(t||(t=o.headers.get("Content-Type")||""),de(a))),t)}catch(o){i=r.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;o&&(a=typeof o=="string"?o:o.message),a&&console.warn(a)}return S[n]=i,i}async function he(e){let t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):w(t)}async function me(e,t){if(e.currentSrc){let n=document.createElement("canvas"),i=n.getContext("2d");return n.width=e.clientWidth,n.height=e.clientHeight,i==null||i.drawImage(e,0,0,n.width,n.height),w(n.toDataURL())}let r=e.poster;return w(await C(r,x(r),t))}async function ge(e,t){var r;try{if((r=e==null?void 0:e.contentDocument)!=null&&r.body)return await y(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function pe(e,t){return u(e,HTMLCanvasElement)?he(e):u(e,HTMLVideoElement)?me(e,t):u(e,HTMLIFrameElement)?ge(e,t):e.cloneNode(F(e))}var we=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",F=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function ye(e,t,r){if(F(t))return t;let n=[];return n=we(e)&&e.assignedNodes?d(e.assignedNodes()):d((e.shadowRoot??e).childNodes),n.length===0||u(e,HTMLVideoElement)||await n.reduce((i,o)=>i.then(()=>y(o,r)).then(a=>{a&&t.appendChild(a)}),Promise.resolve()),t}function be(e,t,r){let n=t.style;if(!n)return;let i=window.getComputedStyle(e);i.cssText?(n.cssText=i.cssText,n.transformOrigin=i.transformOrigin):k(r).forEach(o=>{let a=i.getPropertyValue(o);o==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),u(e,HTMLIFrameElement)&&o==="display"&&a==="inline"&&(a="block"),o==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),n.setProperty(o,a,i.getPropertyPriority(o))})}function xe(e,t){u(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),u(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function Ee(e,t){if(u(e,HTMLSelectElement)){let r=t,n=Array.from(r.children).find(i=>e.value===i.getAttribute("value"));n&&n.setAttribute("selected","")}}function Se(e,t,r){return u(t,Element)&&(be(e,t,r),se(e,t,r),xe(e,t),Ee(e,t)),t}async function Ce(e,t){let r=e.querySelectorAll?e.querySelectorAll("use"):[];if(r.length===0)return e;let n={};for(let o=0;o<r.length;o++){let a=r[o].getAttribute("xlink:href");if(a){let l=e.querySelector(a),s=document.querySelector(a);!l&&s&&!n[a]&&(n[a]=await y(s,t,!0))}}let i=Object.values(n);if(i.length){let o="http://www.w3.org/1999/xhtml",a=document.createElementNS(o,"svg");a.setAttribute("xmlns",o),a.style.position="absolute",a.style.width="0",a.style.height="0",a.style.overflow="hidden",a.style.display="none";let l=document.createElementNS(o,"defs");a.appendChild(l);for(let s=0;s<i.length;s++)l.appendChild(i[s]);e.appendChild(a)}return e}async function y(e,t,r){return!r&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(n=>pe(n,t)).then(n=>ye(e,n,t)).then(n=>Se(e,n,t)).then(n=>Ce(n,t))}var M=/url\((['"]?)([^'"]+?)\1\)/g,ve=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,$e=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function Re(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Ie(e){let t=[];return e.replace(M,(r,n,i)=>(t.push(i),r)),t.filter(r=>!E(r))}async function ke(e,t,r,n,i){try{let o=r?K(t,r):t,a=x(t),l;return l=i?L(await i(o),a):await C(o,a,n),e.replace(Re(t),`$1${l}$3`)}catch{}return e}function Pe(e,{preferredFontFormat:t}){return t?e.replace($e,r=>{for(;;){let[n,,i]=ve.exec(r)||[];if(!i)return"";if(i===t)return`src: ${n};`}}):e}function V(e){return e.search(M)!==-1}async function j(e,t,r){if(!V(e))return e;let n=Pe(e,r);return Ie(n).reduce((i,o)=>i.then(a=>ke(a,o,t,r)),Promise.resolve(n))}async function h(e,t,r){var i;let n=(i=t.style)==null?void 0:i.getPropertyValue(e);if(n){let o=await j(n,null,r);return t.style.setProperty(e,o,t.style.getPropertyPriority(e)),!0}return!1}async function Ne(e,t){await h("background",e,t)||await h("background-image",e,t),await h("mask",e,t)||await h("-webkit-mask",e,t)||await h("mask-image",e,t)||await h("-webkit-mask-image",e,t)}async function Te(e,t){let r=u(e,HTMLImageElement);if(!(r&&!E(e.src))&&!(u(e,SVGImageElement)&&!E(e.href.baseVal)))return;let n=r?e.src:e.href.baseVal,i=await C(n,x(n),t);await new Promise((o,a)=>{e.onload=o,e.onerror=t.onImageErrorHandler?(...s)=>{try{o(t.onImageErrorHandler(...s))}catch(f){a(f)}}:a;let l=e;l.decode&&(l.decode=o),l.loading==="lazy"&&(l.loading="eager"),r?(e.srcset="",e.src=i):e.href.baseVal=i})}async function Ae(e,t){let r=d(e.childNodes).map(n=>D(n,t));await Promise.all(r).then(()=>e)}async function D(e,t){u(e,Element)&&(await Ne(e,t),await Te(e,t),await Ae(e,t))}function Le(e,t){let{style:r}=e;t.backgroundColor&&(r.backgroundColor=t.backgroundColor),t.width&&(r.width=`${t.width}px`),t.height&&(r.height=`${t.height}px`);let n=t.style;return n!=null&&Object.keys(n).forEach(i=>{r[i]=n[i]}),e}var O={};async function _(e){let t=O[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},O[e]=t,t)}async function z(e,t){let r=e.cssText,n=/url\(["']?([^"')]+)["']?\)/g,i=(r.match(/url\([^)]+\)/g)||[]).map(async o=>{let a=o.replace(n,"$1");return a.startsWith("https://")||(a=new URL(a,e.url).href),H(a,t.fetchRequestInit,({result:l})=>(r=r.replace(o,`url(${l})`),[o,l]))});return Promise.all(i).then(()=>r)}function U(e){if(e==null)return[];let t=[],r=e.replace(/(\/\*[\s\S]*?\*\/)/gi,""),n=RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){let a=n.exec(r);if(a===null)break;t.push(a[0])}r=r.replace(n,"");let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let a=i.exec(r);if(a===null){if(a=o.exec(r),a===null)break;i.lastIndex=o.lastIndex}else o.lastIndex=i.lastIndex;t.push(a[0])}return t}async function He(e,t){let r=[],n=[];return e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach((o,a)=>{if(o.type===CSSRule.IMPORT_RULE){let l=a+1,s=o.href,f=_(s).then(m=>z(m,t)).then(m=>U(m).forEach(b=>{try{i.insertRule(b,b.startsWith("@import")?l+=1:i.cssRules.length)}catch(W){console.error("Error inserting rule from remote css",{rule:b,error:W})}})).catch(m=>{console.error("Error loading remote css",m.toString())});n.push(f)}})}catch(o){let a=e.find(l=>l.href==null)||document.styleSheets[0];i.href!=null&&n.push(_(i.href).then(l=>z(l,t)).then(l=>U(l).forEach(s=>{a.insertRule(s,a.cssRules.length)})).catch(l=>{console.error("Error loading remote stylesheet",l)})),console.error("Error inlining remote css file",o)}}),Promise.all(n).then(()=>(e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach(o=>{r.push(o)})}catch(o){console.error(`Error while reading CSS rules from ${i.href}`,o)}}),r))}function Fe(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>V(t.style.getPropertyValue("src")))}async function Me(e,t){if(e.ownerDocument==null)throw Error("Provided element is not within a Document");return Fe(await He(d(e.ownerDocument.styleSheets),t))}function q(e){return e.trim().replace(/["']/g,"")}function Ve(e){let t=new Set;function r(n){(n.style.fontFamily||getComputedStyle(n).fontFamily).split(",").forEach(i=>{t.add(q(i))}),Array.from(n.children).forEach(i=>{i instanceof HTMLElement&&r(i)})}return r(e),t}async function je(e,t){let r=await Me(e,t),n=Ve(e);return(await Promise.all(r.filter(i=>n.has(q(i.style.fontFamily))).map(i=>{let o=i.parentStyleSheet?i.parentStyleSheet.href:null;return j(i.cssText,o,t)}))).join(`
2
2
  `)}async function De(e,t){let r=t.fontEmbedCSS==null?t.skipFonts?null:await je(e,t):t.fontEmbedCSS,n=t.extraStyleContent==null?r:t.extraStyleContent.concat(r||"");if(n){let i=document.createElement("style"),o=document.createTextNode(n);i.appendChild(o),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function Oe(e,t={}){let{width:r,height:n}=P(e,t),i=await y(e,t,!0);return await De(i,t),await D(i,t),Le(i,t),await ie(i,r,n)}async function _e(e,t={}){let{width:r,height:n}=P(e,t),i=await w(await Oe(e,t)),o=document.createElement("canvas"),a=o.getContext("2d"),l=t.pixelRatio||te(),s=t.canvasWidth||r,f=t.canvasHeight||n;return o.width=s*l,o.height=f*l,t.skipAutoScale||re(o),o.style.width=`${s}`,o.style.height=`${f}`,t.backgroundColor&&(a.fillStyle=t.backgroundColor,a.fillRect(0,0,o.width,o.height)),a.drawImage(i,0,0,o.width,o.height),o}async function ze(e,t={}){return(await _e(e,t)).toDataURL()}const Ue={filter:e=>{try{if("classList"in e){let t=e.classList;if(t.contains("mpl-toolbar")||t.contains("print:hidden"))return!1}return!0}catch(t){return $.error("Error filtering node:",t),!0}},onImageErrorHandler:e=>{$.error("Error loading image:",e)},includeStyleProperties:"width.height.min-width.min-height.max-width.max-height.box-sizing.aspect-ratio.display.position.top.left.bottom.right.z-index.float.clear.flex.flex-direction.flex-wrap.flex-grow.flex-shrink.flex-basis.align-items.align-self.justify-content.gap.order.grid-template-columns.grid-template-rows.grid-column.grid-row.row-gap.column-gap.margin.margin-top.margin-right.margin-bottom.margin-left.padding.padding-top.padding-right.padding-bottom.padding-left.font.font-family.font-size.font-weight.font-style.line-height.letter-spacing.word-spacing.text-align.text-decoration.text-transform.text-indent.text-shadow.white-space.text-wrap.word-break.text-overflow.vertical-align.color.background.background-color.background-image.background-size.background-position.background-repeat.background-clip.border.border-width.border-style.border-color.border-top.border-right.border-bottom.border-left.border-radius.outline.box-shadow.text-shadow.opacity.filter.backdrop-filter.mix-blend-mode.transform.clip-path.overflow.overflow-x.overflow-y.visibility.fill.stroke.stroke-width.object-fit.object-position.list-style.list-style-type.border-collapse.border-spacing.content.cursor".split(".")};async function qe(e,t){return ze(e,{...Ue,...t})}export{J as n,X as r,qe as t};