@marimo-team/frontend 0.19.7-dev42 → 0.19.7-dev45

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 (78) hide show
  1. package/dist/assets/{CellStatus-DhGipVU-.js → CellStatus-BFim6YKS.js} +1 -1
  2. package/dist/assets/{JsonOutput-CWwP78bV.js → JsonOutput-DkVhF91W.js} +1 -1
  3. package/dist/assets/{MarimoErrorOutput-Cci2wITc.js → MarimoErrorOutput-DWQ55i9r.js} +1 -1
  4. package/dist/assets/{RenderHTML-Co6iQEvR.js → RenderHTML-a-roMXlk.js} +1 -1
  5. package/dist/assets/{add-cell-with-ai-LP5p0BtF.js → add-cell-with-ai-BR7IVCSW.js} +1 -1
  6. package/dist/assets/{add-database-form-_pTLtiHN.js → add-database-form-ClfjsEtC.js} +1 -1
  7. package/dist/assets/{agent-panel-AgX8jQJ5.js → agent-panel-DSORiKrx.js} +1 -1
  8. package/dist/assets/{ai-model-dropdown-CJGHNqP_.js → ai-model-dropdown-JY5c7nJK.js} +1 -1
  9. package/dist/assets/{app-config-button-DDLHriXt.js → app-config-button-Jz087HD-.js} +1 -1
  10. package/dist/assets/{cell-editor-1G6HDPqu.js → cell-editor-B6FY0jdx.js} +2 -2
  11. package/dist/assets/{cell-link-_-mIiddP.js → cell-link-D2K7clF4.js} +1 -1
  12. package/dist/assets/{cells-BW_4R0Qw.js → cells-Dxpbusw1.js} +37 -37
  13. package/dist/assets/{chat-components-ZGfi_TyH.js → chat-components-B6qBxIzc.js} +1 -1
  14. package/dist/assets/{chat-display-C7-tFQht.js → chat-display-CPulKLCm.js} +1 -1
  15. package/dist/assets/{chat-panel-CfvDUHSP.js → chat-panel-COGD6xs1.js} +1 -1
  16. package/dist/assets/{column-preview-BICvl-DB.js → column-preview-D3y9pwSu.js} +1 -1
  17. package/dist/assets/{command-B5H3BrRg.js → command-BqcYTnlg.js} +1 -1
  18. package/dist/assets/{command-palette-BDzRM8e2.js → command-palette-BaR-SOA3.js} +1 -1
  19. package/dist/assets/{common-DxKcMlJZ.js → common-DuZx4dBP.js} +1 -1
  20. package/dist/assets/{datasource-CpcDqjf_.js → datasource-BA7iQQaN.js} +1 -1
  21. package/dist/assets/{dependency-graph-panel-CCXzRJF_.js → dependency-graph-panel-C27DHbPF.js} +1 -1
  22. package/dist/assets/{documentation-panel-BK_YuaI4.js → documentation-panel-COvuCjB2.js} +1 -1
  23. package/dist/assets/download-DZGL4UAN.js +9 -0
  24. package/dist/assets/{edit-page-B2tgar36.js → edit-page-CoNmmXUy.js} +3 -3
  25. package/dist/assets/{error-panel-DulelhA-.js → error-panel-BHPn8JVQ.js} +1 -1
  26. package/dist/assets/{file-explorer-panel-BRQNVIrs.js → file-explorer-panel-CozR65iO.js} +1 -1
  27. package/dist/assets/{floating-outline-Ni_RT38T.js → floating-outline-CY6lTY5s.js} +1 -1
  28. package/dist/assets/{focus-CsiV5LZR.js → focus-BLcChWyg.js} +1 -1
  29. package/dist/assets/{form-B1n-e_X0.js → form-CKnYm6ml.js} +1 -1
  30. package/dist/assets/{globals-ols5LsZP.js → globals-Dd-Dr3p2.js} +1 -1
  31. package/dist/assets/{home-page-MttpX4Nz.js → home-page-Ds6etoNv.js} +1 -1
  32. package/dist/assets/{hooks-CVU9hHCg.js → hooks-B1vW9UPB.js} +1 -1
  33. package/dist/assets/{html-to-image-BVbOFO17.js → html-to-image-DSMiAoU4.js} +1 -1
  34. package/dist/assets/{index-DdLjmZik.js → index-B_qRlPME.js} +3 -3
  35. package/dist/assets/{kiosk-mode-vMIC4Cbh.js → kiosk-mode-x5QGVyC6.js} +1 -1
  36. package/dist/assets/{layout-CrzVHOC1.js → layout-BVZJ0wNL.js} +1 -1
  37. package/dist/assets/{logs-panel-DeNFSwJb.js → logs-panel-W6lnhN9B.js} +1 -1
  38. package/dist/assets/{markdown-renderer-YZb6nuwv.js → markdown-renderer-Bx2DfaSd.js} +1 -1
  39. package/dist/assets/{mode-BCr7l3Th.js → mode-BQL1qb7F.js} +1 -1
  40. package/dist/assets/{name-cell-input-D6uaGwg7.js → name-cell-input-B3FIAxBj.js} +1 -1
  41. package/dist/assets/{outline-panel-DpbnlPhw.js → outline-panel-AJlQUjZ_.js} +1 -1
  42. package/dist/assets/{packages-panel-BkOmsLKm.js → packages-panel-BJsvZ-68.js} +1 -1
  43. package/dist/assets/{panels-C2rc8NQo.js → panels-CZFKs6IJ.js} +1 -1
  44. package/dist/assets/{process-output-TMO5uCHT.js → process-output-DK8a3ADA.js} +1 -1
  45. package/dist/assets/{readonly-python-code-Dv4ZvZ6I.js → readonly-python-code-tAbt2ya8.js} +1 -1
  46. package/dist/assets/{run-page-tKvoJHTm.js → run-page-BpOFopIQ.js} +1 -1
  47. package/dist/assets/{scratchpad-panel-DH1sB0Bt.js → scratchpad-panel-DfCsTT2f.js} +1 -1
  48. package/dist/assets/{session-panel-DgCVmf7T.js → session-panel-Dd73AAIv.js} +1 -1
  49. package/dist/assets/{snippets-panel-ypIwat9G.js → snippets-panel-HEdYHO0z.js} +1 -1
  50. package/dist/assets/{state-BrsyJBHJ.js → state-BMdr2nMy.js} +1 -1
  51. package/dist/assets/{switch-Cch0bLxo.js → switch-uE7-SGTN.js} +1 -1
  52. package/dist/assets/{textarea-DSR2T2ft.js → textarea-Dnc9oNCJ.js} +1 -1
  53. package/dist/assets/{tracing-vnJxVAtK.js → tracing-CsZXkSMG.js} +1 -1
  54. package/dist/assets/{tracing-panel-57WGQhyd.js → tracing-panel-DzL1Eutt.js} +2 -2
  55. package/dist/assets/{types-fTSozrNJ.js → types-BjS1POBx.js} +1 -1
  56. package/dist/assets/{useAddCell-CLnCtSpX.js → useAddCell-fK8ZFPPQ.js} +1 -1
  57. package/dist/assets/{useCellActionButton-ZSiDIQBo.js → useCellActionButton-BBXD0ZNf.js} +1 -1
  58. package/dist/assets/{useDeleteCell-CR3IczUk.js → useDeleteCell-BFvljUOH.js} +1 -1
  59. package/dist/assets/{useDependencyPanelTab-DQWR1wnN.js → useDependencyPanelTab-4_zo1zmo.js} +1 -1
  60. package/dist/assets/{useNotebookActions-zbbfI0Ij.js → useNotebookActions---KuaMmt.js} +1 -1
  61. package/dist/assets/{useRunCells-C50mliNM.js → useRunCells-ChluEx0W.js} +1 -1
  62. package/dist/assets/{useSplitCell-IQsKBoRj.js → useSplitCell-BYSgH1JP.js} +1 -1
  63. package/dist/assets/{utilities.esm-2OA-HSSr.js → utilities.esm-CgPvBw6L.js} +1 -1
  64. package/dist/index.html +31 -31
  65. package/package.json +1 -1
  66. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +1 -0
  67. package/src/core/codemirror/cm.ts +1 -0
  68. package/src/core/codemirror/config/extension.ts +3 -0
  69. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +1 -0
  70. package/src/core/codemirror/facet.ts +4 -1
  71. package/src/core/codemirror/language/__tests__/extension.test.ts +1 -0
  72. package/src/core/codemirror/language/__tests__/utils.test.ts +1 -0
  73. package/src/core/codemirror/language/extension.ts +12 -0
  74. package/src/utils/__tests__/download.test.tsx +18 -1
  75. package/src/utils/__tests__/iframe.test.ts +9 -14
  76. package/src/utils/download.ts +18 -8
  77. package/src/utils/iframe.ts +3 -10
  78. package/dist/assets/download-jMLcAPOc.js +0 -9
@@ -1 +1 @@
1
- import{s as a}from"./chunk-LvLJmgfZ.js";import{u as p}from"./useEvent-DO6uJBas.js";import{t as s}from"./react-BGmjiNul.js";import{Pn as l,an as n}from"./cells-BW_4R0Qw.js";import"./react-dom-C9fstfnp.js";import{t as c}from"./compiler-runtime-DeeZ7FnK.js";import"./config-CIrPQIbt.js";import{t as f}from"./jsx-runtime-ZmTK25f3.js";import"./dist-DBwNzi3C.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-_Aax6sXd.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import"./Combination-CMPwuAmi.js";import{t as u}from"./RenderHTML-Co6iQEvR.js";import"./purify.es-DNVQZNFu.js";import{t as d}from"./empty-state-h8C2C6hZ.js";var x=c();s();var e=a(f(),1),v=()=>{let o=(0,x.c)(5),{documentation:r}=p(n);if(!r){let i;return o[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,e.jsx)(d,{title:"View docs as you type",description:"Move your text cursor over a symbol to see its documentation.",icon:(0,e.jsx)(l,{})}),o[0]=i):i=o[0],i}let t;o[1]===r?t=o[2]:(t=u({html:r}),o[1]=r,o[2]=t);let m;return o[3]===t?m=o[4]:(m=(0,e.jsx)("div",{className:"p-3 overflow-y-auto overflow-x-hidden h-full docs-documentation flex flex-col gap-4",children:t}),o[3]=t,o[4]=m),m};export{v as default};
1
+ import{s as a}from"./chunk-LvLJmgfZ.js";import{u as p}from"./useEvent-DO6uJBas.js";import{t as s}from"./react-BGmjiNul.js";import{Pn as l,an as n}from"./cells-Dxpbusw1.js";import"./react-dom-C9fstfnp.js";import{t as c}from"./compiler-runtime-DeeZ7FnK.js";import"./config-CIrPQIbt.js";import{t as f}from"./jsx-runtime-ZmTK25f3.js";import"./dist-DBwNzi3C.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-_Aax6sXd.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import"./Combination-CMPwuAmi.js";import{t as u}from"./RenderHTML-a-roMXlk.js";import"./purify.es-DNVQZNFu.js";import{t as d}from"./empty-state-h8C2C6hZ.js";var x=c();s();var e=a(f(),1),v=()=>{let o=(0,x.c)(5),{documentation:r}=p(n);if(!r){let i;return o[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,e.jsx)(d,{title:"View docs as you type",description:"Move your text cursor over a symbol to see its documentation.",icon:(0,e.jsx)(l,{})}),o[0]=i):i=o[0],i}let t;o[1]===r?t=o[2]:(t=u({html:r}),o[1]=r,o[2]=t);let m;return o[3]===t?m=o[4]:(m=(0,e.jsx)("div",{className:"p-3 overflow-y-auto overflow-x-hidden h-full docs-documentation flex flex-col gap-4",children:t}),o[3]=t,o[4]=m),m};export{v as default};
@@ -0,0 +1,9 @@
1
+ var le=Object.defineProperty;var se=(r,e,t)=>e in r?le(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var D=(r,e,t)=>se(r,typeof e!="symbol"?e+"":e,t);import{s as C,t as I}from"./chunk-LvLJmgfZ.js";import{t as G}from"./react-BGmjiNul.js";import{ii as ue,zt as ce}from"./cells-Dxpbusw1.js";import{t as V}from"./compiler-runtime-DeeZ7FnK.js";import{d as q}from"./hotkeys-BHHWjLlp.js";import{t as de}from"./jsx-runtime-ZmTK25f3.js";import{t as B}from"./cn-BKtXLv3a.js";import{t as fe}from"./requests-BsVD4CdD.js";import{t as me}from"./createLucideIcon-CnW3RofX.js";import{t as j}from"./use-toast-rmUWldD_.js";import{d as pe}from"./popover-Gz-GJzym.js";import{r as H}from"./errors-2SszdW9t.js";import{t as W}from"./dist-CdxIjAOP.js";import{t as z}from"./html-to-image-DSMiAoU4.js";var ve=me("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),X=r=>{let e,t=new Set,a=(l,s)=>{let c=typeof l=="function"?l(e):l;if(!Object.is(c,e)){let d=e;e=s??(typeof c!="object"||!c)?c:Object.assign({},e,c),t.forEach(u=>u(e,d))}},n=()=>e,i={setState:a,getState:n,getInitialState:()=>o,subscribe:l=>(t.add(l),()=>t.delete(l)),destroy:()=>{t.clear()}},o=e=r(a,n,i);return i},he=r=>r?X(r):X,ge=I((r=>{var e=G(),t=pe();function a(d,u){return d===u&&(d!==0||1/d==1/u)||d!==d&&u!==u}var n=typeof Object.is=="function"?Object.is:a,i=t.useSyncExternalStore,o=e.useRef,l=e.useEffect,s=e.useMemo,c=e.useDebugValue;r.useSyncExternalStoreWithSelector=function(d,u,f,g,m){var p=o(null);if(p.current===null){var x={hasValue:!1,value:null};p.current=x}else x=p.current;p=s(function(){function M(y){if(!T){if(T=!0,S=y,y=g(y),m!==void 0&&x.hasValue){var N=x.value;if(m(N,y))return $=N}return $=y}if(N=$,n(S,y))return N;var A=g(y);return m!==void 0&&m(N,A)?(S=y,N):(S=y,$=A)}var T=!1,S,$,U=f===void 0?null:f;return[function(){return M(u())},U===null?void 0:function(){return M(U())}]},[u,f,g,m]);var b=i(d,p[0],p[1]);return l(function(){x.hasValue=!0,x.value=b},[b]),c(b),b}})),ye=I(((r,e)=>{e.exports=ge()}));const h={toMarkdown:r=>h.replace(r,"md"),toHTML:r=>h.replace(r,"html"),toPNG:r=>h.replace(r,"png"),toPDF:r=>h.replace(r,"pdf"),toPY:r=>h.replace(r,"py"),withoutExtension:r=>{let e=r.split(".");return e.length===1?r:e.slice(0,-1).join(".")},replace:(r,e)=>r.endsWith(`.${e}`)?r:`${h.withoutExtension(r)}.${e}`};var P=320,L=180;function Y(r){if(!r||r==="about:blank")return null;try{let e=new URL(r,window.location.href);return e.origin===window.location.origin?null:e.href}catch{return r}}function we(r,e,t){let a=[],n="";for(let i of e){let o=n+i;r.measureText(o).width<=t?n=o:(n&&a.push(n),n=i)}return n&&a.push(n),a}function k(r){let e=window.devicePixelRatio||1,t=document.createElement("canvas");t.width=P*e,t.height=L*e;let a=t.getContext("2d");if(!a)return t.toDataURL("image/png");a.scale(e,e),a.fillStyle="#f3f4f6",a.fillRect(0,0,P,L),a.strokeStyle="#d1d5db",a.strokeRect(.5,.5,P-1,L-1),a.fillStyle="#6b7280",a.font="8px sans-serif",a.textAlign="center",a.textBaseline="middle";let n=P-32,i=r?we(a,r,n):[],o=(L-(1+i.length)*14)/2+14/2;a.fillText("External iframe",P/2,o),o+=14;for(let l of i)a.fillText(l,P/2,o),o+=14;return t.toDataURL("image/png")}async function xe(r){var n;let e=r.querySelector("iframe");if(!e)return null;let t=Y(e.getAttribute("src"));if(t)return k(t);let a;try{let i=e.contentDocument||((n=e.contentWindow)==null?void 0:n.document);if(!(i!=null&&i.body))return null;a=i}catch{return k(null)}for(let i of a.querySelectorAll("iframe")){let o=Y(i.getAttribute("src"));if(o)return k(o)}return null}var J=class ie{constructor(e){D(this,"progress",0);D(this,"listeners",new Set);this.total=e}static indeterminate(){return new ie("indeterminate")}addTotal(e){this.total==="indeterminate"?this.total=e:this.total+=e,this.notifyListeners()}increment(e){this.progress+=e,this.notifyListeners()}getProgress(){return this.total==="indeterminate"?"indeterminate":this.progress/this.total*100}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notifyListeners(){let e=this.getProgress();for(let t of this.listeners)t(e)}},v=C(G(),1),w=C(de(),1);function be(r,e=[]){let t=[];function a(i,o){let l=v.createContext(o);l.displayName=i+"Context";let s=t.length;t=[...t,o];let c=u=>{var b;let{scope:f,children:g,...m}=u,p=((b=f==null?void 0:f[r])==null?void 0:b[s])||l,x=v.useMemo(()=>m,Object.values(m));return(0,w.jsx)(p.Provider,{value:x,children:g})};c.displayName=i+"Provider";function d(u,f){var p;let g=((p=f==null?void 0:f[r])==null?void 0:p[s])||l,m=v.useContext(g);if(m)return m;if(o!==void 0)return o;throw Error(`\`${u}\` must be used within \`${i}\``)}return[c,d]}let n=()=>{let i=t.map(o=>v.createContext(o));return function(o){let l=(o==null?void 0:o[r])||i;return v.useMemo(()=>({[`__scope${r}`]:{...o,[r]:l}}),[o,l])}};return n.scopeName=r,[a,Ne(n,...e)]}function Ne(...r){let e=r[0];if(r.length===1)return e;let t=()=>{let a=r.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(n){let i=a.reduce((o,{useScope:l,scopeName:s})=>{let c=l(n)[`__scope${s}`];return{...o,...c}},{});return v.useMemo(()=>({[`__scope${e.scopeName}`]:i}),[i])}};return t.scopeName=e.scopeName,t}var O="Progress",_=100,[Pe,rt]=be(O),[Se,$e]=Pe(O),K=v.forwardRef((r,e)=>{let{__scopeProgress:t,value:a=null,max:n,getValueLabel:i=je,...o}=r;(n||n===0)&&!te(n)&&console.error(Le(`${n}`,"Progress"));let l=te(n)?n:_;a!==null&&!re(a,l)&&console.error(Ee(`${a}`,"Progress"));let s=re(a,l)?a:null,c=E(s)?i(s,l):void 0;return(0,w.jsx)(Se,{scope:t,value:s,max:l,children:(0,w.jsx)(W.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":E(s)?s:void 0,"aria-valuetext":c,role:"progressbar","data-state":ee(s,l),"data-value":s??void 0,"data-max":l,...o,ref:e})})});K.displayName=O;var Q="ProgressIndicator",Z=v.forwardRef((r,e)=>{let{__scopeProgress:t,...a}=r,n=$e(Q,t);return(0,w.jsx)(W.div,{"data-state":ee(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...a,ref:e})});Z.displayName=Q;function je(r,e){return`${Math.round(r/e*100)}%`}function ee(r,e){return r==null?"indeterminate":r===e?"complete":"loading"}function E(r){return typeof r=="number"}function te(r){return E(r)&&!isNaN(r)&&r>0}function re(r,e){return E(r)&&!isNaN(r)&&r<=e&&r>=0}function Le(r,e){return`Invalid prop \`max\` of value \`${r}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${_}\`.`}function Ee(r,e){return`Invalid prop \`value\` of value \`${r}\` supplied to \`${e}\`. The \`value\` prop must be:
2
+ - a positive number
3
+ - less than the value passed to \`max\` (or ${_} if no \`max\` prop is set)
4
+ - \`null\` or \`undefined\` if the progress is indeterminate.
5
+
6
+ Defaulting to \`null\`.`}var ne=K,Re=Z,De=V(),F=v.forwardRef((r,e)=>{let t=(0,De.c)(20),a,n,i,o;t[0]===r?(a=t[1],n=t[2],i=t[3],o=t[4]):({className:a,value:o,indeterminate:n,...i}=r,t[0]=r,t[1]=a,t[2]=n,t[3]=i,t[4]=o);let l;t[5]===a?l=t[6]:(l=B("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",a),t[5]=a,t[6]=l);let s=n?"w-1/3 animate-progress-indeterminate":"w-full transition-transform duration-300 ease-out",c;t[7]===s?c=t[8]:(c=B("h-full flex-1 bg-primary",s),t[7]=s,t[8]=c);let d;t[9]!==n||t[10]!==o?(d=n?void 0:{transform:`translateX(-${100-(o||0)}%)`},t[9]=n,t[10]=o,t[11]=d):d=t[11];let u;t[12]!==c||t[13]!==d?(u=(0,w.jsx)(Re,{className:c,style:d}),t[12]=c,t[13]=d,t[14]=u):u=t[14];let f;return t[15]!==i||t[16]!==e||t[17]!==l||t[18]!==u?(f=(0,w.jsx)(ne,{ref:e,className:l,...i,children:u}),t[15]=i,t[16]=e,t[17]=l,t[18]=u,t[19]=f):f=t[19],f});F.displayName=ne.displayName;var ke=V();const Oe=r=>{let e=(0,ke.c)(13),{progress:t,showPercentage:a}=r,n=a===void 0?!1:a,i,o;e[0]===t?(i=e[1],o=e[2]):(i=g=>t.subscribe(g),o=()=>t.getProgress(),e[0]=t,e[1]=i,e[2]=o);let l=(0,v.useSyncExternalStore)(i,o),s=l==="indeterminate"||l===100,c=s?void 0:l,d;e[3]!==s||e[4]!==c?(d=(0,w.jsx)(F,{value:c,indeterminate:s}),e[3]=s,e[4]=c,e[5]=d):d=e[5];let u;e[6]!==s||e[7]!==n||e[8]!==l?(u=!s&&n&&(0,w.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground text-right",children:[Math.round(l),"%"]}),e[6]=s,e[7]=n,e[8]=l,e[9]=u):u=e[9];let f;return e[10]!==d||e[11]!==u?(f=(0,w.jsxs)("div",{className:"mt-2 w-full min-w-[200px]",children:[d,u]}),e[10]=d,e[11]=u,e[12]=f):f=e[12],f};async function _e(r,e){let t=J.indeterminate(),a=j({title:r,description:v.createElement(Oe,{progress:t}),duration:1/0});try{let n=await e(t);return a.dismiss(),n}catch(n){throw a.dismiss(),n}}function Fe(r){let e=document.getElementById(ue.create(r));if(!e){q.error(`Output element not found for cell ${r}`);return}return e}var Me=500,Te=`
7
+ * { scrollbar-width: none; -ms-overflow-style: none; }
8
+ *::-webkit-scrollbar { display: none; }
9
+ `;async function ae(r){let e=Fe(r);if(!e)return;let t=await xe(e);if(t)return t;let a=Date.now(),n=await z(e,{extraStyleContent:Te,style:{maxHeight:"none",overflow:"visible"},height:e.scrollHeight}),i=Date.now()-a;return i>Me&&q.debug("toPng operation for element",e,`took ${i} ms (exceeds threshold)`),n}async function Ue(r,e){try{let t=await ae(r);if(!t)throw Error("Failed to get image data URL");R(t,h.toPNG(e))}catch(t){j({title:"Failed to download PNG",description:H(t),variant:"danger"})}}const Ae=()=>(document.body.classList.add("printing"),()=>{document.body.classList.remove("printing")});async function Ce(r){let{element:e,filename:t,prepare:a}=r,n=document.getElementById("App"),i=(n==null?void 0:n.scrollTop)??0,o;a&&(o=a(e));try{R(await z(e),h.toPNG(t))}catch{j({title:"Error",description:"Failed to download as PNG.",variant:"danger"})}finally{o==null||o(),document.body.classList.contains("printing")&&document.body.classList.remove("printing"),requestAnimationFrame(()=>{n==null||n.scrollTo(0,i)})}}function R(r,e){let t=document.createElement("a");t.href=r,t.download=e,t.click(),t.remove()}function oe(r,e){let t=URL.createObjectURL(r);R(t,e),URL.revokeObjectURL(t)}async function Ie(r){let e=fe(),{filename:t,webpdf:a}=r;try{let n=await e.exportAsPDF({webpdf:a}),i=ce.basename(t);oe(n,h.toPDF(i))}catch(n){throw j({title:"Failed to download",description:H(n),variant:"danger"}),n}}export{Ue as a,_e as c,h as d,ye as f,R as i,F as l,ve as m,Ie as n,Ce as o,he as p,oe as r,ae as s,Ae as t,J as u};