@marimo-team/frontend 0.23.10-dev51 → 0.23.10-dev52

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 (83) hide show
  1. package/dist/assets/{CellStatus-BKK6G_iZ.js → CellStatus-BOTR_HB4.js} +1 -1
  2. package/dist/assets/{JsonOutput-CZQlutzs.js → JsonOutput-DOmfCaR3.js} +6 -6
  3. package/dist/assets/{MarimoErrorOutput-DIx3jD4Z.js → MarimoErrorOutput-Ca2QF99G.js} +2 -2
  4. package/dist/assets/{RenderHTML-B5i6Qdbh.js → RenderHTML-CXsJP1V5.js} +1 -1
  5. package/dist/assets/{RunButton-DLMH3KLF.js → RunButton-jGowD7Vi.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-BXpVenBx.js → add-cell-with-ai-BK11442L.js} +9 -9
  7. package/dist/assets/{add-connection-dialog-C_jDtIZF.js → add-connection-dialog-wzfYao2B.js} +1 -1
  8. package/dist/assets/{agent-panel-Ck0iPpUN.js → agent-panel-CgxV6vbd.js} +4 -4
  9. package/dist/assets/{ai-model-dropdown-CXNYq3J_.js → ai-model-dropdown-CqqTe6eF.js} +3 -3
  10. package/dist/assets/{app-config-button-BI_m1lzO.js → app-config-button-vSxYsM--.js} +1 -1
  11. package/dist/assets/cell-editor-BHNVF2sX.js +21 -0
  12. package/dist/assets/{cell-editor-Iey559K_.css → cell-editor-nqEF4IhQ.css} +1 -1
  13. package/dist/assets/{cell-link-spbX-mlL.js → cell-link-iYZiKtn4.js} +1 -1
  14. package/dist/assets/{cells-k7Js5h2t.js → cells-CoFnpuSu.js} +56 -56
  15. package/dist/assets/{chat-display-BlIrSb3b.js → chat-display-BgSnZSro.js} +1 -1
  16. package/dist/assets/{chat-panel-DtYOU7td.js → chat-panel-AZ1shEWX.js} +1 -1
  17. package/dist/assets/{chat-ui-CivhPCag.js → chat-ui-By5846Od.js} +1 -1
  18. package/dist/assets/{column-preview-DM1s1Z9h.js → column-preview-TS1GqZH2.js} +1 -1
  19. package/dist/assets/{command-palette-BtdM4b5O.js → command-palette-By31pA-R.js} +1 -1
  20. package/dist/assets/{common-Zqa_rd3u.js → common-Q-jtFQpL.js} +1 -1
  21. package/dist/assets/components--CWsNwF4.js +1 -0
  22. package/dist/assets/{datasource-mov7mYsn.js → datasource-CQiCeDJW.js} +2 -2
  23. package/dist/assets/{dependency-graph-panel-1c-_VkGM.js → dependency-graph-panel-Ct3KN-vZ.js} +4 -4
  24. package/dist/assets/documentation-panel-D8h8iNHa.js +1 -0
  25. package/dist/assets/{download-BS31LU22.js → download-B10yQcVE.js} +4 -4
  26. package/dist/assets/{edit-page-BQl0d1fo.js → edit-page-p8VsTwE3.js} +6 -6
  27. package/dist/assets/{error-panel-DmfYCEYR.js → error-panel-DYEkqXfY.js} +1 -1
  28. package/dist/assets/{file-explorer-panel-DGL7dM6k.js → file-explorer-panel-GJ_Lqi4C.js} +3 -3
  29. package/dist/assets/{file-icons-on-PIYta.js → file-icons-CtmUbkxd.js} +1 -1
  30. package/dist/assets/{file-name-input-D-E8LtaP.js → file-name-input-CHQhxLcF.js} +1 -1
  31. package/dist/assets/{floating-outline-CCH9y0X9.js → floating-outline-CzBp8YHO.js} +1 -1
  32. package/dist/assets/{focus-CRI5ilWC.js → focus-CjgVplbV.js} +1 -1
  33. package/dist/assets/{form-HcuPVpyt.js → form-WbviP6l9.js} +2 -2
  34. package/dist/assets/{home-page-CVKp7bjJ.js → home-page-sFt3WKqc.js} +2 -2
  35. package/dist/assets/{hooks-C1zkcVIj.js → hooks-0dN8JCy2.js} +1 -1
  36. package/dist/assets/{html-to-image-rLeQGF-G.js → html-to-image-DkJzNEld.js} +2 -2
  37. package/dist/assets/{index-44I991hQ.js → index-CdnLLLYn.js} +6 -6
  38. package/dist/assets/kiosk-mode-lr7kYrA8.js +1 -0
  39. package/dist/assets/{layout-C9L0bRP-.js → layout-BVZ3DZze.js} +5 -5
  40. package/dist/assets/{logs-panel-KFtLFK9O.js → logs-panel-Bk20lglR.js} +1 -1
  41. package/dist/assets/{markdown-renderer-BHa-Tbwi.js → markdown-renderer-DC51vSBA.js} +2 -2
  42. package/dist/assets/{name-cell-input-DyUkpM9d.js → name-cell-input-D0WKoNHr.js} +1 -1
  43. package/dist/assets/{outline-panel-DdPSzT5z.js → outline-panel-BuJMW1Dz.js} +1 -1
  44. package/dist/assets/{packages-panel-Bt88BnuF.js → packages-panel-BNk0bPl9.js} +1 -1
  45. package/dist/assets/{panels-DDvVhmjS.js → panels-CBe83v0S.js} +1 -1
  46. package/dist/assets/process-output-BiJLba4m.js +1 -0
  47. package/dist/assets/{radio-group-DS_mmqHJ.js → radio-group-RRco4zNE.js} +1 -1
  48. package/dist/assets/{readonly-python-code-3HZIBvHp.js → readonly-python-code-Crki_rLb.js} +1 -1
  49. package/dist/assets/{reveal-component-Hsm6-onk.js → reveal-component-Bv08TPRa.js} +9 -9
  50. package/dist/assets/{run-page-DeHIvt79.js → run-page-BdSzJWEw.js} +1 -1
  51. package/dist/assets/{scratchpad-panel-CKmA2mRq.js → scratchpad-panel-scHa4am5.js} +1 -1
  52. package/dist/assets/{session-panel-B0jBqtOA.js → session-panel-D0o5h-7L.js} +1 -1
  53. package/dist/assets/{snippets-panel-BGtSLFha.js → snippets-panel-Bnmi-xyF.js} +1 -1
  54. package/dist/assets/{state-C9ggN1rs.js → state-CHxBK47b.js} +1 -1
  55. package/dist/assets/{state-Dy-doCBq.js → state-CsD5BRG0.js} +2 -2
  56. package/dist/assets/{textarea-BfDUjd9c.js → textarea-DoKXC-jv.js} +1 -1
  57. package/dist/assets/{tracing-DNuuRjp_.js → tracing-BeWtlIAf.js} +1 -1
  58. package/dist/assets/{tracing-panel-CnlPrcNd.js → tracing-panel-ecc7OtVi.js} +2 -2
  59. package/dist/assets/{tree-actions-XvgFV23w.js → tree-actions-wXUHKee-.js} +1 -1
  60. package/dist/assets/{useCellActionButton-DNDYDKvS.js → useCellActionButton-Bn5MJUE0.js} +1 -1
  61. package/dist/assets/{useDeleteCell-cucOoAuB.js → useDeleteCell-DQCclxQO.js} +1 -1
  62. package/dist/assets/useDependencyPanelTab-CgHa5PER.js +1 -0
  63. package/dist/assets/{useNotebookActions-ClLcZA5r.js → useNotebookActions-CxBMp6mq.js} +1 -1
  64. package/dist/assets/useRunCells-Ck2FcYV8.js +1 -0
  65. package/dist/assets/useSplitCell-4cXAawGz.js +1 -0
  66. package/dist/index.html +22 -22
  67. package/package.json +1 -1
  68. package/src/__tests__/setup.ts +16 -0
  69. package/src/components/editor/cell/code/cell-editor.tsx +67 -32
  70. package/src/components/editor/cell/code/code-placeholder.css +17 -0
  71. package/src/components/editor/cell/code/code-placeholder.tsx +46 -0
  72. package/src/core/cells/scrollCellIntoView.ts +4 -0
  73. package/src/core/codemirror/__tests__/editor-mount-scheduler.test.ts +142 -0
  74. package/src/core/codemirror/editor-mount-scheduler.ts +100 -0
  75. package/src/utils/schedule-task.ts +70 -0
  76. package/dist/assets/cell-editor-DYta_icE.js +0 -20
  77. package/dist/assets/components-CXG-2UWv.js +0 -1
  78. package/dist/assets/documentation-panel-CQ8pDf0n.js +0 -1
  79. package/dist/assets/kiosk-mode-DhNcHA04.js +0 -1
  80. package/dist/assets/process-output-CRgRzt0h.js +0 -1
  81. package/dist/assets/useDependencyPanelTab-Bu76tcmV.js +0 -1
  82. package/dist/assets/useRunCells-CVd2QKS9.js +0 -1
  83. package/dist/assets/useSplitCell-D1KubWSa.js +0 -1
@@ -1 +1 @@
1
- import{s as $}from"./chunk-LvLJmgfZ.js";import{t as O}from"./react-Bj1aDYRI.js";import{pt as F}from"./cells-k7Js5h2t.js";import{t as z}from"./compiler-runtime-B3qBwwSJ.js";import{_ as B}from"./useEventListener-DvoEXWke.js";import{t as L}from"./jsx-runtime-BqBOg78p.js";import{t as _}from"./tooltip-B_PkSKN3.js";import{t as k}from"./ban-0fKnt00i.js";import{c as V,l as A,n as G,t as M}from"./toDate-B5A0DFEz.js";import{t as J}from"./ellipsis-KAhMaCIV.js";import{t as R}from"./refresh-cw-DHwG4Mac.js";import{t as K}from"./workflow-Bm8qF7yj.js";import{i as Q,n as Y,r as C,t as U}from"./en-US-Cb8rIK52.js";import{t as E}from"./useDateFormatter-ICIDGgHf.js";import{t as I}from"./multi-icon-BvuxcR2m.js";function X(n,e){let t=M(n)-+M(e);return t<0?-1:t>0?1:t}function Z(n){return G(n,Date.now())}function ee(n,e,t){let[d,l]=Y(t==null?void 0:t.in,n,e),h=d.getFullYear()-l.getFullYear(),o=d.getMonth()-l.getMonth();return h*12+o}function te(n){return e=>{let t=(n?Math[n]:Math.trunc)(e);return t===0?0:t}}function se(n,e){return M(n)-+M(e)}function ae(n,e){let t=M(n,e==null?void 0:e.in);return t.setHours(23,59,59,999),t}function le(n,e){let t=M(n,e==null?void 0:e.in),d=t.getMonth();return t.setFullYear(t.getFullYear(),d+1,0),t.setHours(23,59,59,999),t}function ne(n,e){let t=M(n,e==null?void 0:e.in);return+ae(t,e)==+le(t,e)}function re(n,e,t){let[d,l,h]=Y(t==null?void 0:t.in,n,n,e),o=X(l,h),b=Math.abs(ee(l,h));if(b<1)return 0;l.getMonth()===1&&l.getDate()>27&&l.setDate(30),l.setMonth(l.getMonth()-o*b);let m=X(l,h)===-o;ne(d)&&b===1&&X(d,h)===1&&(m=!1);let x=o*(b-+m);return x===0?0:x}function ie(n,e,t){let d=se(n,e)/1e3;return te(t==null?void 0:t.roundingMethod)(d)}function ce(n,e,t){let d=Q(),l=(t==null?void 0:t.locale)??d.locale??U,h=X(n,e);if(isNaN(h))throw RangeError("Invalid time value");let o=Object.assign({},t,{addSuffix:t==null?void 0:t.addSuffix,comparison:h}),[b,m]=Y(t==null?void 0:t.in,...h>0?[e,n]:[n,e]),x=ie(m,b),D=(C(m)-C(b))/1e3,p=Math.round((x-D)/60),T;if(p<2)return t!=null&&t.includeSeconds?x<5?l.formatDistance("lessThanXSeconds",5,o):x<10?l.formatDistance("lessThanXSeconds",10,o):x<20?l.formatDistance("lessThanXSeconds",20,o):x<40?l.formatDistance("halfAMinute",0,o):x<60?l.formatDistance("lessThanXMinutes",1,o):l.formatDistance("xMinutes",1,o):p===0?l.formatDistance("lessThanXMinutes",1,o):l.formatDistance("xMinutes",p,o);if(p<45)return l.formatDistance("xMinutes",p,o);if(p<90)return l.formatDistance("aboutXHours",1,o);if(p<1440){let g=Math.round(p/60);return l.formatDistance("aboutXHours",g,o)}else{if(p<2520)return l.formatDistance("xDays",1,o);if(p<43200){let g=Math.round(p/V);return l.formatDistance("xDays",g,o)}else if(p<43200*2)return T=Math.round(p/A),l.formatDistance("aboutXMonths",T,o)}if(T=re(m,b),T<12){let g=Math.round(p/A);return l.formatDistance("xMonths",g,o)}else{let g=T%12,u=Math.trunc(T/12);return g<3?l.formatDistance("aboutXYears",u,o):g<9?l.formatDistance("overXYears",u,o):l.formatDistance("almostXYears",u+1,o)}}function oe(n,e){return ce(n,Z(n),e)}var q=$(O(),1);function ue(n){let e=(0,q.useRef)(n),[t,d]=(0,q.useState)(n);return(0,q.useEffect)(()=>{let l=setInterval(()=>{d(F.now().toMilliseconds())},17);return()=>clearInterval(l)},[]),t-e.current}var P=z(),s=$(L(),1);const de=n=>{let e=(0,P.c)(79),{editing:t,status:d,disabled:l,staleInputs:h,edited:o,interrupted:b,elapsedTime:m,runStartTimestamp:x,lastRunStartTimestamp:D,uninstantiated:p}=n;if(!t)return null;let T=x??D,g;e[0]===T?g=e[1]:(g=T?(0,s.jsx)(me,{lastRanTime:T}):null,e[0]=T,e[1]=g);let u=g;if(l&&d==="running")return B.error("CellStatusComponent: disabled and running"),null;if(l&&h){let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is stale, but it's disabled and can't be run"}),e[2]=c):c=e[2];let a;e[3]===u?a=e[4]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[3]=u,e[4]=a);let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-stale","data-testid":"cell-status","data-status":"stale",children:(0,s.jsxs)(I,{children:[(0,s.jsx)(k,{className:"h-5 w-5",strokeWidth:1.5}),(0,s.jsx)(R,{className:"h-3 w-3",strokeWidth:2.5})]})}),e[5]=i):i=e[5];let r;return e[6]===a?r=e[7]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[6]=a,e[7]=r),r}if(l){let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is disabled"}),e[8]=c):c=e[8];let a;e[9]===u?a=e[10]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[9]=u,e[10]=a);let i;e[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-disabled","data-testid":"cell-status","data-status":"disabled",children:(0,s.jsx)(k,{className:"h-5 w-5",strokeWidth:1.5})}),e[11]=i):i=e[11];let r;return e[12]===a?r=e[13]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[12]=a,e[13]=r),r}if(!h&&d==="disabled-transitively"){let c;e[14]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"An ancestor of this cell is disabled, so it can't be run"}),e[14]=c):c=e[14];let a;e[15]===u?a=e[16]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[15]=u,e[16]=a);let i;e[17]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-stale","data-testid":"cell-status","data-status":"disabled-transitively",children:(0,s.jsxs)(I,{layerTop:!0,children:[(0,s.jsx)(K,{className:"h-5 w-5",strokeWidth:1.5}),(0,s.jsx)(k,{className:"h-3 w-3",strokeWidth:2.5})]})}),e[17]=i):i=e[17];let r;return e[18]===a?r=e[19]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[18]=a,e[19]=r),r}if(h&&d==="disabled-transitively"){let c;e[20]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is stale, but an ancestor is disabled so it can't be run"}),e[20]=c):c=e[20];let a;e[21]===u?a=e[22]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[21]=u,e[22]=a);let i;e[23]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-stale","data-testid":"cell-status","data-status":"stale",children:(0,s.jsxs)(I,{children:[(0,s.jsx)(R,{className:"h-5 w-5",strokeWidth:1}),(0,s.jsx)(k,{className:"h-3 w-3",strokeWidth:2.5})]})}),e[23]=i):i=e[23];let r;return e[24]===a?r=e[25]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[24]=a,e[25]=r),r}if(d==="running"){let c;e[26]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is running"}),e[26]=c):c=e[26];let a;e[27]===u?a=e[28]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[27]=u,e[28]=a);let i;e[29]===x?i=e[30]:(i=F.fromSeconds(x)||F.now(),e[29]=x,e[30]=i);let r;e[31]===i?r=e[32]:(r=(0,s.jsx)("div",{className:"cell-status-icon elapsed-time running","data-testid":"cell-status","data-status":"running",children:(0,s.jsx)(he,{startTime:i})}),e[31]=i,e[32]=r);let f;return e[33]!==a||e[34]!==r?(f=(0,s.jsx)(_,{content:a,usePortal:!0,children:r}),e[33]=a,e[34]=r,e[35]=f):f=e[35],f}if(d==="queued"){let c;e[36]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is queued to run"}),e[36]=c):c=e[36];let a;e[37]===u?a=e[38]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[37]=u,e[38]=a);let i;e[39]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-queued","data-testid":"cell-status","data-status":"queued",children:(0,s.jsx)(J,{className:"h-5 w-5",strokeWidth:1.5})}),e[39]=i):i=e[39];let r;return e[40]===a?r=e[41]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[40]=a,e[41]=r),r}if(o||b||h||p){let c;e[42]===m?c=e[43]:(c=W(m),e[42]=m,e[43]=c);let a=c,i;e[44]!==m||e[45]!==a?(i=m?(0,s.jsx)(H,{elapsedTime:a}):null,e[44]=m,e[45]=a,e[46]=i):i=e[46];let r=i,f,v="";if(p)f="This cell has not yet been run";else if(b){f="This cell was interrupted when it was last run";let j;e[47]===r?j=e[48]:(j=(0,s.jsxs)("span",{children:["This cell ran for ",r," before being interrupted"]}),e[47]=r,e[48]=j),v=j}else if(o){f="This cell has been modified since it was last run";let j;e[49]===r?j=e[50]:(j=(0,s.jsxs)("span",{children:["This cell took ",r," to run"]}),e[49]=r,e[50]=j),v=j}else{f="This cell has not been run with the latest inputs";let j;e[51]===r?j=e[52]:(j=(0,s.jsxs)("span",{children:["This cell took ",r," to run"]}),e[51]=r,e[52]=j),v=j}let N;e[53]===Symbol.for("react.memo_cache_sentinel")?(N=(0,s.jsx)("div",{className:"cell-status-stale","data-testid":"cell-status","data-status":"outdated",children:(0,s.jsx)(R,{className:"h-5 w-5",strokeWidth:1.5})}),e[53]=N):N=e[53];let S;e[54]===f?S=e[55]:(S=(0,s.jsx)(_,{content:f,usePortal:!0,children:N}),e[54]=f,e[55]=S);let y;e[56]!==m||e[57]!==a||e[58]!==u||e[59]!==v?(y=m&&(0,s.jsx)(_,{content:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[v,u]}),usePortal:!0,children:(0,s.jsx)("div",{className:"elapsed-time hover-action","data-testid":"cell-status","data-status":"outdated",children:(0,s.jsx)("span",{children:a})})}),e[56]=m,e[57]=a,e[58]=u,e[59]=v,e[60]=y):y=e[60];let w;return e[61]!==S||e[62]!==y?(w=(0,s.jsxs)("div",{className:"cell-status-icon flex items-center gap-2",children:[S,y]}),e[61]=S,e[62]=y,e[63]=w):w=e[63],w}if(m!==null){let c;e[64]===m?c=e[65]:(c=W(m),e[64]=m,e[65]=c);let a=c,i;e[66]!==m||e[67]!==a?(i=m?(0,s.jsx)(H,{elapsedTime:a}):null,e[66]=m,e[67]=a,e[68]=i):i=e[68];let r=i,f;e[69]===r?f=e[70]:(f=(0,s.jsxs)("span",{children:["This cell took ",r," to run"]}),e[69]=r,e[70]=f);let v;e[71]!==u||e[72]!==f?(v=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[f,u]}),e[71]=u,e[72]=f,e[73]=v):v=e[73];let N;e[74]===a?N=e[75]:(N=(0,s.jsx)("div",{className:"cell-status-icon elapsed-time hover-action","data-testid":"cell-status","data-status":"idle",children:(0,s.jsx)("span",{children:a})}),e[74]=a,e[75]=N);let S;return e[76]!==v||e[77]!==N?(S=(0,s.jsx)(_,{content:v,usePortal:!0,children:N}),e[76]=v,e[77]=N,e[78]=S):S=e[78],S}return null},H=n=>{let e=(0,P.c)(2),t;return e[0]===n.elapsedTime?t=e[1]:(t=(0,s.jsx)("span",{className:"tracking-wide font-semibold",children:n.elapsedTime}),e[0]=n.elapsedTime,e[1]=t),t};var me=n=>{let e=(0,P.c)(4),t=new Date(n.lastRanTime*1e3),d=new Date,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,hour12:!0},e[0]=l):l=e[0];let h=E(l),o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o={month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,hour12:!0},e[1]=o):o=e[1];let b=E(o),m=t.toDateString()===d.toDateString()?h:b,x=oe(t),D;return e[2]===x?D=e[3]:(D=(0,s.jsxs)("span",{className:"text-muted-foreground",children:["(",x," ago)"]}),e[2]=x,e[3]=D),(0,s.jsxs)("span",{children:["Ran at"," ",(0,s.jsx)("strong",{className:"tracking-wide font-semibold",children:m.format(t)})," ",D]})};function W(n){if(n===null)return"";let e=n,t=e/1e3;return t>=60?`${Math.floor(t/60)}m${Math.floor(t%60)}s`:t>=1?`${t.toFixed(2).toString()}s`:`${e.toFixed(0).toString()}ms`}var he=n=>{let e=(0,P.c)(6),t;e[0]===n.startTime?t=e[1]:(t=n.startTime.toMilliseconds(),e[0]=n.startTime,e[1]=t);let d=ue(t),l;e[2]===d?l=e[3]:(l=W(d),e[2]=d,e[3]=l);let h;return e[4]===l?h=e[5]:(h=(0,s.jsx)("span",{children:l}),e[4]=l,e[5]=h),h};export{H as n,W as r,de as t};
1
+ import{s as $}from"./chunk-LvLJmgfZ.js";import{t as O}from"./react-Bj1aDYRI.js";import{mt as F}from"./cells-CoFnpuSu.js";import{t as z}from"./compiler-runtime-B3qBwwSJ.js";import{_ as B}from"./useEventListener-DvoEXWke.js";import{t as L}from"./jsx-runtime-BqBOg78p.js";import{t as _}from"./tooltip-B_PkSKN3.js";import{t as k}from"./ban-0fKnt00i.js";import{c as V,l as A,n as G,t as M}from"./toDate-B5A0DFEz.js";import{t as J}from"./ellipsis-KAhMaCIV.js";import{t as R}from"./refresh-cw-DHwG4Mac.js";import{t as K}from"./workflow-Bm8qF7yj.js";import{i as Q,n as Y,r as C,t as U}from"./en-US-Cb8rIK52.js";import{t as E}from"./useDateFormatter-ICIDGgHf.js";import{t as I}from"./multi-icon-BvuxcR2m.js";function X(n,e){let t=M(n)-+M(e);return t<0?-1:t>0?1:t}function Z(n){return G(n,Date.now())}function ee(n,e,t){let[d,l]=Y(t==null?void 0:t.in,n,e),h=d.getFullYear()-l.getFullYear(),o=d.getMonth()-l.getMonth();return h*12+o}function te(n){return e=>{let t=(n?Math[n]:Math.trunc)(e);return t===0?0:t}}function se(n,e){return M(n)-+M(e)}function ae(n,e){let t=M(n,e==null?void 0:e.in);return t.setHours(23,59,59,999),t}function le(n,e){let t=M(n,e==null?void 0:e.in),d=t.getMonth();return t.setFullYear(t.getFullYear(),d+1,0),t.setHours(23,59,59,999),t}function ne(n,e){let t=M(n,e==null?void 0:e.in);return+ae(t,e)==+le(t,e)}function re(n,e,t){let[d,l,h]=Y(t==null?void 0:t.in,n,n,e),o=X(l,h),b=Math.abs(ee(l,h));if(b<1)return 0;l.getMonth()===1&&l.getDate()>27&&l.setDate(30),l.setMonth(l.getMonth()-o*b);let m=X(l,h)===-o;ne(d)&&b===1&&X(d,h)===1&&(m=!1);let x=o*(b-+m);return x===0?0:x}function ie(n,e,t){let d=se(n,e)/1e3;return te(t==null?void 0:t.roundingMethod)(d)}function ce(n,e,t){let d=Q(),l=(t==null?void 0:t.locale)??d.locale??U,h=X(n,e);if(isNaN(h))throw RangeError("Invalid time value");let o=Object.assign({},t,{addSuffix:t==null?void 0:t.addSuffix,comparison:h}),[b,m]=Y(t==null?void 0:t.in,...h>0?[e,n]:[n,e]),x=ie(m,b),D=(C(m)-C(b))/1e3,j=Math.round((x-D)/60),T;if(j<2)return t!=null&&t.includeSeconds?x<5?l.formatDistance("lessThanXSeconds",5,o):x<10?l.formatDistance("lessThanXSeconds",10,o):x<20?l.formatDistance("lessThanXSeconds",20,o):x<40?l.formatDistance("halfAMinute",0,o):x<60?l.formatDistance("lessThanXMinutes",1,o):l.formatDistance("xMinutes",1,o):j===0?l.formatDistance("lessThanXMinutes",1,o):l.formatDistance("xMinutes",j,o);if(j<45)return l.formatDistance("xMinutes",j,o);if(j<90)return l.formatDistance("aboutXHours",1,o);if(j<1440){let g=Math.round(j/60);return l.formatDistance("aboutXHours",g,o)}else{if(j<2520)return l.formatDistance("xDays",1,o);if(j<43200){let g=Math.round(j/V);return l.formatDistance("xDays",g,o)}else if(j<43200*2)return T=Math.round(j/A),l.formatDistance("aboutXMonths",T,o)}if(T=re(m,b),T<12){let g=Math.round(j/A);return l.formatDistance("xMonths",g,o)}else{let g=T%12,u=Math.trunc(T/12);return g<3?l.formatDistance("aboutXYears",u,o):g<9?l.formatDistance("overXYears",u,o):l.formatDistance("almostXYears",u+1,o)}}function oe(n,e){return ce(n,Z(n),e)}var q=$(O(),1);function ue(n){let e=(0,q.useRef)(n),[t,d]=(0,q.useState)(n);return(0,q.useEffect)(()=>{let l=setInterval(()=>{d(F.now().toMilliseconds())},17);return()=>clearInterval(l)},[]),t-e.current}var P=z(),s=$(L(),1);const de=n=>{let e=(0,P.c)(79),{editing:t,status:d,disabled:l,staleInputs:h,edited:o,interrupted:b,elapsedTime:m,runStartTimestamp:x,lastRunStartTimestamp:D,uninstantiated:j}=n;if(!t)return null;let T=x??D,g;e[0]===T?g=e[1]:(g=T?(0,s.jsx)(me,{lastRanTime:T}):null,e[0]=T,e[1]=g);let u=g;if(l&&d==="running")return B.error("CellStatusComponent: disabled and running"),null;if(l&&h){let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is stale, but it's disabled and can't be run"}),e[2]=c):c=e[2];let a;e[3]===u?a=e[4]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[3]=u,e[4]=a);let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-stale","data-testid":"cell-status","data-status":"stale",children:(0,s.jsxs)(I,{children:[(0,s.jsx)(k,{className:"h-5 w-5",strokeWidth:1.5}),(0,s.jsx)(R,{className:"h-3 w-3",strokeWidth:2.5})]})}),e[5]=i):i=e[5];let r;return e[6]===a?r=e[7]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[6]=a,e[7]=r),r}if(l){let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is disabled"}),e[8]=c):c=e[8];let a;e[9]===u?a=e[10]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[9]=u,e[10]=a);let i;e[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-disabled","data-testid":"cell-status","data-status":"disabled",children:(0,s.jsx)(k,{className:"h-5 w-5",strokeWidth:1.5})}),e[11]=i):i=e[11];let r;return e[12]===a?r=e[13]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[12]=a,e[13]=r),r}if(!h&&d==="disabled-transitively"){let c;e[14]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"An ancestor of this cell is disabled, so it can't be run"}),e[14]=c):c=e[14];let a;e[15]===u?a=e[16]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[15]=u,e[16]=a);let i;e[17]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-stale","data-testid":"cell-status","data-status":"disabled-transitively",children:(0,s.jsxs)(I,{layerTop:!0,children:[(0,s.jsx)(K,{className:"h-5 w-5",strokeWidth:1.5}),(0,s.jsx)(k,{className:"h-3 w-3",strokeWidth:2.5})]})}),e[17]=i):i=e[17];let r;return e[18]===a?r=e[19]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[18]=a,e[19]=r),r}if(h&&d==="disabled-transitively"){let c;e[20]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is stale, but an ancestor is disabled so it can't be run"}),e[20]=c):c=e[20];let a;e[21]===u?a=e[22]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[21]=u,e[22]=a);let i;e[23]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-stale","data-testid":"cell-status","data-status":"stale",children:(0,s.jsxs)(I,{children:[(0,s.jsx)(R,{className:"h-5 w-5",strokeWidth:1}),(0,s.jsx)(k,{className:"h-3 w-3",strokeWidth:2.5})]})}),e[23]=i):i=e[23];let r;return e[24]===a?r=e[25]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[24]=a,e[25]=r),r}if(d==="running"){let c;e[26]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is running"}),e[26]=c):c=e[26];let a;e[27]===u?a=e[28]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[27]=u,e[28]=a);let i;e[29]===x?i=e[30]:(i=F.fromSeconds(x)||F.now(),e[29]=x,e[30]=i);let r;e[31]===i?r=e[32]:(r=(0,s.jsx)("div",{className:"cell-status-icon elapsed-time running","data-testid":"cell-status","data-status":"running",children:(0,s.jsx)(he,{startTime:i})}),e[31]=i,e[32]=r);let f;return e[33]!==a||e[34]!==r?(f=(0,s.jsx)(_,{content:a,usePortal:!0,children:r}),e[33]=a,e[34]=r,e[35]=f):f=e[35],f}if(d==="queued"){let c;e[36]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"This cell is queued to run"}),e[36]=c):c=e[36];let a;e[37]===u?a=e[38]:(a=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[c,u]}),e[37]=u,e[38]=a);let i;e[39]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("div",{className:"cell-status-icon cell-status-queued","data-testid":"cell-status","data-status":"queued",children:(0,s.jsx)(J,{className:"h-5 w-5",strokeWidth:1.5})}),e[39]=i):i=e[39];let r;return e[40]===a?r=e[41]:(r=(0,s.jsx)(_,{content:a,usePortal:!0,children:i}),e[40]=a,e[41]=r),r}if(o||b||h||j){let c;e[42]===m?c=e[43]:(c=W(m),e[42]=m,e[43]=c);let a=c,i;e[44]!==m||e[45]!==a?(i=m?(0,s.jsx)(H,{elapsedTime:a}):null,e[44]=m,e[45]=a,e[46]=i):i=e[46];let r=i,f,v="";if(j)f="This cell has not yet been run";else if(b){f="This cell was interrupted when it was last run";let p;e[47]===r?p=e[48]:(p=(0,s.jsxs)("span",{children:["This cell ran for ",r," before being interrupted"]}),e[47]=r,e[48]=p),v=p}else if(o){f="This cell has been modified since it was last run";let p;e[49]===r?p=e[50]:(p=(0,s.jsxs)("span",{children:["This cell took ",r," to run"]}),e[49]=r,e[50]=p),v=p}else{f="This cell has not been run with the latest inputs";let p;e[51]===r?p=e[52]:(p=(0,s.jsxs)("span",{children:["This cell took ",r," to run"]}),e[51]=r,e[52]=p),v=p}let N;e[53]===Symbol.for("react.memo_cache_sentinel")?(N=(0,s.jsx)("div",{className:"cell-status-stale","data-testid":"cell-status","data-status":"outdated",children:(0,s.jsx)(R,{className:"h-5 w-5",strokeWidth:1.5})}),e[53]=N):N=e[53];let S;e[54]===f?S=e[55]:(S=(0,s.jsx)(_,{content:f,usePortal:!0,children:N}),e[54]=f,e[55]=S);let y;e[56]!==m||e[57]!==a||e[58]!==u||e[59]!==v?(y=m&&(0,s.jsx)(_,{content:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[v,u]}),usePortal:!0,children:(0,s.jsx)("div",{className:"elapsed-time hover-action","data-testid":"cell-status","data-status":"outdated",children:(0,s.jsx)("span",{children:a})})}),e[56]=m,e[57]=a,e[58]=u,e[59]=v,e[60]=y):y=e[60];let w;return e[61]!==S||e[62]!==y?(w=(0,s.jsxs)("div",{className:"cell-status-icon flex items-center gap-2",children:[S,y]}),e[61]=S,e[62]=y,e[63]=w):w=e[63],w}if(m!==null){let c;e[64]===m?c=e[65]:(c=W(m),e[64]=m,e[65]=c);let a=c,i;e[66]!==m||e[67]!==a?(i=m?(0,s.jsx)(H,{elapsedTime:a}):null,e[66]=m,e[67]=a,e[68]=i):i=e[68];let r=i,f;e[69]===r?f=e[70]:(f=(0,s.jsxs)("span",{children:["This cell took ",r," to run"]}),e[69]=r,e[70]=f);let v;e[71]!==u||e[72]!==f?(v=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[f,u]}),e[71]=u,e[72]=f,e[73]=v):v=e[73];let N;e[74]===a?N=e[75]:(N=(0,s.jsx)("div",{className:"cell-status-icon elapsed-time hover-action","data-testid":"cell-status","data-status":"idle",children:(0,s.jsx)("span",{children:a})}),e[74]=a,e[75]=N);let S;return e[76]!==v||e[77]!==N?(S=(0,s.jsx)(_,{content:v,usePortal:!0,children:N}),e[76]=v,e[77]=N,e[78]=S):S=e[78],S}return null},H=n=>{let e=(0,P.c)(2),t;return e[0]===n.elapsedTime?t=e[1]:(t=(0,s.jsx)("span",{className:"tracking-wide font-semibold",children:n.elapsedTime}),e[0]=n.elapsedTime,e[1]=t),t};var me=n=>{let e=(0,P.c)(4),t=new Date(n.lastRanTime*1e3),d=new Date,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,hour12:!0},e[0]=l):l=e[0];let h=E(l),o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o={month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,hour12:!0},e[1]=o):o=e[1];let b=E(o),m=t.toDateString()===d.toDateString()?h:b,x=oe(t),D;return e[2]===x?D=e[3]:(D=(0,s.jsxs)("span",{className:"text-muted-foreground",children:["(",x," ago)"]}),e[2]=x,e[3]=D),(0,s.jsxs)("span",{children:["Ran at"," ",(0,s.jsx)("strong",{className:"tracking-wide font-semibold",children:m.format(t)})," ",D]})};function W(n){if(n===null)return"";let e=n,t=e/1e3;return t>=60?`${Math.floor(t/60)}m${Math.floor(t%60)}s`:t>=1?`${t.toFixed(2).toString()}s`:`${e.toFixed(0).toString()}ms`}var he=n=>{let e=(0,P.c)(6),t;e[0]===n.startTime?t=e[1]:(t=n.startTime.toMilliseconds(),e[0]=n.startTime,e[1]=t);let d=ue(t),l;e[2]===d?l=e[3]:(l=W(d),e[2]=d,e[3]=l);let h;return e[4]===l?h=e[5]:(h=(0,s.jsx)("span",{children:l}),e[4]=l,e[5]=h),h};export{H as n,W as r,de as t};