@marimo-team/frontend 0.19.7-dev27 → 0.19.7-dev30

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 (73) hide show
  1. package/dist/assets/{CellStatus-oBL2iale.js → CellStatus-DpVrMkoX.js} +1 -1
  2. package/dist/assets/{JsonOutput-BKP4rBIw.js → JsonOutput-DqRUfM9x.js} +2 -2
  3. package/dist/assets/{MarimoErrorOutput-cw9gEb4T.js → MarimoErrorOutput-CI9ZOqK5.js} +1 -1
  4. package/dist/assets/{RenderHTML-Bgz4e362.js → RenderHTML-DCy5wLx9.js} +1 -1
  5. package/dist/assets/{add-cell-with-ai-DNbX7Ctg.js → add-cell-with-ai-1AcZwwMS.js} +1 -1
  6. package/dist/assets/{add-database-form-CP39qGit.js → add-database-form-B45yZ_nV.js} +1 -1
  7. package/dist/assets/{agent-panel-Bak-DtIc.js → agent-panel-BuwVy_u2.js} +1 -1
  8. package/dist/assets/{ai-model-dropdown-Dpr0DUJN.js → ai-model-dropdown-Ce9P2gAN.js} +1 -1
  9. package/dist/assets/{app-config-button-CAaYaq0L.js → app-config-button-V0ZGbZwL.js} +1 -1
  10. package/dist/assets/{cell-editor-B6jD1bv8.js → cell-editor-Bs8pOtdM.js} +1 -1
  11. package/dist/assets/{cell-link-CyIWDVXR.js → cell-link-Draa5Cqg.js} +1 -1
  12. package/dist/assets/{cells-DRiwSVs0.js → cells-D3A832Pq.js} +55 -55
  13. package/dist/assets/{chat-components-DDIZD9FU.js → chat-components-BIikypOv.js} +1 -1
  14. package/dist/assets/{chat-display-D-Wa-1Hv.js → chat-display-C9Ma_Z24.js} +1 -1
  15. package/dist/assets/{chat-panel-RtFQiyUV.js → chat-panel-hwTI5twF.js} +1 -1
  16. package/dist/assets/{column-preview-C72fVZoP.js → column-preview-BI7AO_9o.js} +1 -1
  17. package/dist/assets/{command-Bq3e85NA.js → command-BmRMpmeq.js} +1 -1
  18. package/dist/assets/{command-palette-D4NcN7PV.js → command-palette-Bf5XRuku.js} +1 -1
  19. package/dist/assets/{common-CeF2TOUZ.js → common-DhAkBsKv.js} +1 -1
  20. package/dist/assets/{datasource-AZ3l2P48.js → datasource-DH4rSucG.js} +1 -1
  21. package/dist/assets/{dependency-graph-panel-i3yTswTN.js → dependency-graph-panel-BgRP2qVg.js} +1 -1
  22. package/dist/assets/{documentation-panel-J2fwLjEP.js → documentation-panel-BKQG1zId.js} +1 -1
  23. package/dist/assets/download-BJ50folP.js +6 -0
  24. package/dist/assets/{edit-page-Bpl6BN5G.js → edit-page-Dzfy3wo-.js} +3 -3
  25. package/dist/assets/{error-panel-Cpfr8TZw.js → error-panel-B23uWV5g.js} +1 -1
  26. package/dist/assets/{file-explorer-panel-DsMwvQX7.js → file-explorer-panel-DQucxlTZ.js} +1 -1
  27. package/dist/assets/{floating-outline-yvPiOGQ2.js → floating-outline-C0NCQURJ.js} +1 -1
  28. package/dist/assets/{focus-B7xu7kpl.js → focus-DdU24YN9.js} +1 -1
  29. package/dist/assets/{form-BpwI8bBX.js → form-C4ZlGvVV.js} +1 -1
  30. package/dist/assets/{globals-BW23ny3Q.js → globals-DJ12V9Kv.js} +1 -1
  31. package/dist/assets/{home-page-C-JIKt-2.js → home-page-DUgD5VOD.js} +1 -1
  32. package/dist/assets/{hooks-2c2seyHG.js → hooks-ntzLWruV.js} +1 -1
  33. package/dist/assets/{html-to-image-Cy_LYuWW.js → html-to-image-B02su1Lp.js} +2 -2
  34. package/dist/assets/{index-CPfohPCM.js → index-BaIb0_Ut.js} +3 -3
  35. package/dist/assets/{kiosk-mode-D9jdUD5P.js → kiosk-mode-CiC9R5CJ.js} +1 -1
  36. package/dist/assets/{layout-BjIcxFO0.js → layout-CQQNB4AA.js} +1 -1
  37. package/dist/assets/{logs-panel-XVSOzGFv.js → logs-panel-BKwAB4Sl.js} +1 -1
  38. package/dist/assets/{markdown-renderer-BM4a9QeZ.js → markdown-renderer-BxPFtrG5.js} +1 -1
  39. package/dist/assets/{mode-BD6zDBBd.js → mode-BGSml4Q4.js} +1 -1
  40. package/dist/assets/{name-cell-input-CGevX71g.js → name-cell-input-wYLF2zUR.js} +1 -1
  41. package/dist/assets/{outline-panel-BgZXYbEO.js → outline-panel-Cp48IMlZ.js} +1 -1
  42. package/dist/assets/{packages-panel-8NDUaEZw.js → packages-panel-Drho5urs.js} +1 -1
  43. package/dist/assets/{panels-05G4QYfq.js → panels-DCSfU3wX.js} +1 -1
  44. package/dist/assets/{process-output-nNOt7QtH.js → process-output-Bw6cqAbr.js} +1 -1
  45. package/dist/assets/{readonly-python-code-CfLdThzF.js → readonly-python-code-CxRVkq45.js} +1 -1
  46. package/dist/assets/{run-page-DvWw2rQu.js → run-page-DI11aUJZ.js} +1 -1
  47. package/dist/assets/{scratchpad-panel-Bzreyj8q.js → scratchpad-panel-vzWFhKxS.js} +1 -1
  48. package/dist/assets/{session-panel-CxCUFR_x.js → session-panel-HNDQ-XhU.js} +1 -1
  49. package/dist/assets/{snippets-panel-BeqbqiKB.js → snippets-panel-Dx1FdjOx.js} +1 -1
  50. package/dist/assets/{state-DnUQ1uxR.js → state-D1OFbTRC.js} +1 -1
  51. package/dist/assets/{switch-Cx8dJhf6.js → switch-Cqx3FjIU.js} +1 -1
  52. package/dist/assets/{textarea-DellDgP4.js → textarea-BqB4s8zj.js} +1 -1
  53. package/dist/assets/{tracing-7U4WTsN0.js → tracing-Bu-VQRRo.js} +1 -1
  54. package/dist/assets/{tracing-panel-BPW1q7K3.js → tracing-panel-Fwxu1-K1.js} +2 -2
  55. package/dist/assets/{types-D5X7ikSD.js → types-D8lESWyo.js} +1 -1
  56. package/dist/assets/{useAddCell-bMoxoWAg.js → useAddCell-B_b-bEhC.js} +1 -1
  57. package/dist/assets/{useCellActionButton-0MDUWMcl.js → useCellActionButton-DjwaDuay.js} +1 -1
  58. package/dist/assets/{useDeleteCell-BUAQb9OH.js → useDeleteCell-7CQhKujJ.js} +1 -1
  59. package/dist/assets/{useDependencyPanelTab-odtlfdG2.js → useDependencyPanelTab-CB_Ogk32.js} +1 -1
  60. package/dist/assets/{useNotebookActions-CNWP5yqL.js → useNotebookActions-C47M79_m.js} +1 -1
  61. package/dist/assets/{useRunCells-DyBzMbHe.js → useRunCells-DCMO0B1l.js} +1 -1
  62. package/dist/assets/{useSplitCell-CyFavQ2l.js → useSplitCell-BAsTzBSc.js} +1 -1
  63. package/dist/assets/{utilities.esm-j_F9mYkM.js → utilities.esm-ZpMudNeK.js} +1 -1
  64. package/dist/index.html +31 -31
  65. package/package.json +1 -1
  66. package/src/components/data-table/TableActions.tsx +1 -1
  67. package/src/components/editor/header/__tests__/filename-form.test.tsx +124 -0
  68. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +120 -0
  69. package/src/core/codemirror/lsp/lens.ts +17 -1
  70. package/src/core/codemirror/lsp/notebook-lsp.ts +107 -37
  71. package/src/utils/download.ts +13 -1
  72. package/src/utils/html-to-image.ts +8 -2
  73. package/dist/assets/download-Y3BpaOoI.js +0 -6
@@ -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-DRiwSVs0.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-Bgz4e362.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-D3A832Pq.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-DCy5wLx9.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,6 @@
1
+ var ce=Object.defineProperty;var de=(r,e,t)=>e in r?ce(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var O=(r,e,t)=>de(r,typeof e!="symbol"?e+"":e,t);import{s as V,t as G}from"./chunk-LvLJmgfZ.js";import{t as q}from"./react-BGmjiNul.js";import{ii as fe,zt as me}from"./cells-D3A832Pq.js";import{t as B}from"./compiler-runtime-DeeZ7FnK.js";import{d as W}from"./hotkeys-BHHWjLlp.js";import{t as pe}from"./jsx-runtime-ZmTK25f3.js";import{t as z}from"./cn-BKtXLv3a.js";import{t as ve}from"./requests-BsVD4CdD.js";import{t as he}from"./createLucideIcon-CnW3RofX.js";import{t as _}from"./use-toast-rmUWldD_.js";import{d as ge}from"./popover-D16ZremR.js";import{r as ye}from"./errors-2SszdW9t.js";import{t as H}from"./dist-CdxIjAOP.js";import{t as k}from"./html-to-image-B02su1Lp.js";var we=he("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},xe=r=>r?X(r):X,be=G((r=>{var e=q(),t=ge();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 U(y){if(!F){if(F=!0,$=y,y=g(y),m!==void 0&&x.hasValue){var N=x.value;if(m(N,y))return L=N}return L=y}if(N=L,n($,y))return N;var C=g(y);return m!==void 0&&m(N,C)?($=y,N):($=y,L=C)}var F=!1,$,L,I=f===void 0?null:f;return[function(){return U(u())},I===null?void 0:function(){return U(I())}]},[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}})),Ne=G(((r,e)=>{e.exports=be()}));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,S=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 Pe(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 j(r){let e=window.devicePixelRatio||1,t=document.createElement("canvas");t.width=P*e,t.height=S*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,S),a.strokeStyle="#d1d5db",a.strokeRect(.5,.5,P-1,S-1),a.fillStyle="#6b7280",a.font="8px sans-serif",a.textAlign="center",a.textBaseline="middle";let n=P-32,i=r?Pe(a,r,n):[],o=(S-(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 J(r){var n;let e=r.querySelector("iframe");if(!e)return null;let t=Y(e.getAttribute("src"));if(t)return j(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 j(null)}for(let i of a.querySelectorAll("iframe")){let o=Y(i.getAttribute("src"));if(o)return j(o)}try{return await k(a.body)}catch{return j(null)}}var K=class ue{constructor(e){O(this,"progress",0);O(this,"listeners",new Set);this.total=e}static indeterminate(){return new ue("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=V(q(),1),w=V(pe(),1);function $e(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,Le(n,...e)]}function Le(...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 M="Progress",T=100,[Se,at]=$e(M),[je,Ee]=Se(M),Q=v.forwardRef((r,e)=>{let{__scopeProgress:t,value:a=null,max:n,getValueLabel:i=Re,...o}=r;(n||n===0)&&!re(n)&&console.error(De(`${n}`,"Progress"));let l=re(n)?n:T;a!==null&&!ne(a,l)&&console.error(Oe(`${a}`,"Progress"));let s=ne(a,l)?a:null,c=E(s)?i(s,l):void 0;return(0,w.jsx)(je,{scope:t,value:s,max:l,children:(0,w.jsx)(H.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":E(s)?s:void 0,"aria-valuetext":c,role:"progressbar","data-state":te(s,l),"data-value":s??void 0,"data-max":l,...o,ref:e})})});Q.displayName=M;var Z="ProgressIndicator",ee=v.forwardRef((r,e)=>{let{__scopeProgress:t,...a}=r,n=Ee(Z,t);return(0,w.jsx)(H.div,{"data-state":te(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...a,ref:e})});ee.displayName=Z;function Re(r,e){return`${Math.round(r/e*100)}%`}function te(r,e){return r==null?"indeterminate":r===e?"complete":"loading"}function E(r){return typeof r=="number"}function re(r){return E(r)&&!isNaN(r)&&r>0}function ne(r,e){return E(r)&&!isNaN(r)&&r<=e&&r>=0}function De(r,e){return`Invalid prop \`max\` of value \`${r}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${T}\`.`}function Oe(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 ${T} if no \`max\` prop is set)
4
+ - \`null\` or \`undefined\` if the progress is indeterminate.
5
+
6
+ Defaulting to \`null\`.`}var ae=Q,_e=ee,ke=B(),A=v.forwardRef((r,e)=>{let t=(0,ke.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=z("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=z("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)(_e,{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)(ae,{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});A.displayName=ae.displayName;var Me=B();const Te=r=>{let e=(0,Me.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)(A,{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 Ae(r,e){let t=K.indeterminate(),a=_({title:r,description:v.createElement(Te,{progress:t}),duration:1/0});try{let n=await e(t);return a.dismiss(),n}catch(n){throw a.dismiss(),n}}function oe(r){let e=document.getElementById(fe.create(r));if(!e){W.error(`Output element not found for cell ${r}`);return}return e}var R=0;function Ue(){R++,R===1&&document.body.classList.add("printing")}function Fe(){R--,R===0&&document.body.classList.remove("printing")}function ie(r,e){r.classList.add("printing-output"),e&&Ue();let t=r.style.overflow;return r.style.overflow="auto",()=>{r.classList.remove("printing-output"),e&&Fe(),r.style.overflow=t}}var Ie=500;async function Ce(r,e=!0){let t=oe(r);if(!t)return;let a=await J(t);if(a)return a;let n=ie(t,e);try{let i=Date.now(),o=await k(t),l=Date.now()-i;return l>Ie&&W.debug("toPng operation for element",t,`took ${l} ms (exceeds threshold)`),o}finally{n()}}async function Ve(r,e){let t=oe(r);if(!t)return;let a=await J(t);if(a){D(a,h.toPNG(e));return}await le({element:t,filename:e,prepare:()=>ie(t,!0)})}async function le(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):document.body.classList.add("printing");try{D(await k(e),h.toPNG(t))}catch{_({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 D(r,e){let t=document.createElement("a");t.href=r,t.download=e,t.click(),t.remove()}function se(r,e){let t=URL.createObjectURL(r);D(t,e),URL.revokeObjectURL(t)}async function Ge(r){let e=ve(),{filename:t,webpdf:a}=r;try{let n=await e.exportAsPDF({webpdf:a}),i=me.basename(t);se(n,h.toPDF(i))}catch(n){throw _({title:"Failed to download",description:ye(n),variant:"danger"}),n}}export{le as a,A as c,Ne as d,xe as f,Ve as i,K as l,se as n,Ce as o,we as p,D as r,Ae as s,Ge as t,h as u};