@marimo-team/frontend 0.24.1-dev115 → 0.24.1-dev119

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 (140) hide show
  1. package/dist/assets/{CellStatus-DJBTB8Tm.js → CellStatus-LoTwk7fR.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-C22y7sbC.js → ConnectedDataExplorerComponent-DW6cJ-Lr.js} +1 -1
  3. package/dist/assets/{JsonOutput-COWoYBdx.js → JsonOutput-Bgxc9G7d.js} +10 -10
  4. package/dist/assets/{LazyAnyLanguageCodeMirror-nhd5JrSb.js → LazyAnyLanguageCodeMirror-LboTfNDv.js} +2 -2
  5. package/dist/assets/{MarimoErrorOutput-Cpp7YwEl.js → MarimoErrorOutput-DqpoYOvw.js} +1 -1
  6. package/dist/assets/{RenderHTML-DlIzJTPL.js → RenderHTML-DwhMAd9l.js} +1 -1
  7. package/dist/assets/{RunButton-CT16Dkr4.js → RunButton-BlpbweyH.js} +1 -1
  8. package/dist/assets/{VisuallyHidden-wlQyxf8y.js → VisuallyHidden-CBMDmozt.js} +1 -1
  9. package/dist/assets/{add-cell-with-ai-DSjyPknP.js → add-cell-with-ai-R-3DS79K.js} +1 -1
  10. package/dist/assets/{add-connection-dialog-DO478_EL.js → add-connection-dialog-BGfpw5lC.js} +1 -1
  11. package/dist/assets/{agent-panel-DIvPSTyY.js → agent-panel-B03P2qSx.js} +1 -1
  12. package/dist/assets/ai-model-dropdown-DCmiuk7x.js +3 -0
  13. package/dist/assets/alert-dialog-CA-2mBs3.js +11 -0
  14. package/dist/assets/{any-language-editor-kw0XJFxM.js → any-language-editor-DflLjPSQ.js} +1 -1
  15. package/dist/assets/{app-config-button-CAZWYP6R.js → app-config-button-DUJC6b6x.js} +1 -1
  16. package/dist/assets/{blob-B82D3b64.js → blob-B2d_dHwI.js} +1 -1
  17. package/dist/assets/{cache-panel-iphovHma.js → cache-panel-DqgtC98s.js} +1 -1
  18. package/dist/assets/{cell-editor-CL59E8W0.js → cell-editor-QmA8u1Ay.js} +1 -1
  19. package/dist/assets/{cell-link-DOeJzvRH.js → cell-link-6burT2XF.js} +1 -1
  20. package/dist/assets/{cells-BgH2MZS9.js → cells-Cp-G34Rz.js} +3 -3
  21. package/dist/assets/{chat-display-kzxea9r-.js → chat-display-Bu405iyc.js} +1 -1
  22. package/dist/assets/{chat-panel-BVsbI9bp.js → chat-panel-BlUwNY5j.js} +1 -1
  23. package/dist/assets/{chat-ui-BIaqeCtJ.js → chat-ui-DGiVDzNh.js} +1 -1
  24. package/dist/assets/{circle-BiW8b6Xq.js → circle-ByJdIf5p.js} +1 -1
  25. package/dist/assets/{column-preview-BWoK0ZFU.js → column-preview-DHe0-7z4.js} +1 -1
  26. package/dist/assets/{command-palette-CcLmXXVs.js → command-palette-D-kPO0tm.js} +1 -1
  27. package/dist/assets/{common-DeDcgYdz.js → common-CHR7w7aQ.js} +1 -1
  28. package/dist/assets/{components-CtHLnRet.js → components-C7mWrmXr.js} +1 -1
  29. package/dist/assets/{components-DAhqHptJ.js → components-DUYCXngU.js} +1 -1
  30. package/dist/assets/config-B-r81uZ6.js +1 -0
  31. package/dist/assets/{config-BRRSKtP3.js → config-BlNM0caL.js} +1 -1
  32. package/dist/assets/{copy-icon-D522mvZL.js → copy-icon-z8fuTE3w.js} +1 -1
  33. package/dist/assets/{datasource-HG_yVRxq.js → datasource-DrODSIs0.js} +1 -1
  34. package/dist/assets/{dependency-graph-panel-CVsva03Q.js → dependency-graph-panel-AY5BEVH2.js} +1 -1
  35. package/dist/assets/{dist-ConG15vZ.js → dist-DzCQtGkt.js} +1 -1
  36. package/dist/assets/{documentation-panel-BSiOFIpg.js → documentation-panel-CaJF7e-j.js} +1 -1
  37. package/dist/assets/{download-C4umhthc.js → download-DMxOzI7b.js} +1 -1
  38. package/dist/assets/dropdown-menu-C40jM9o4.js +1 -0
  39. package/dist/assets/{edit-page-DCOdX3sJ.js → edit-page-CdCPUPqZ.js} +4 -4
  40. package/dist/assets/{error-banner-C5aiAh3q.js → error-banner-Dw5YY9wq.js} +1 -1
  41. package/dist/assets/{error-entries-Yh2iX13J.js → error-entries-Cv2m1yhc.js} +1 -1
  42. package/dist/assets/{error-panel-CGUFTbfd.js → error-panel-Bhlvt6_H.js} +1 -1
  43. package/dist/assets/{es-DP79Qs0u.js → es-CrFhA96G.js} +1 -1
  44. package/dist/assets/file-explorer-panel-DMKcHVIX.js +1 -0
  45. package/dist/assets/{file-icons-C0Mf_Axb.js → file-icons-DdGYuADJ.js} +1 -1
  46. package/dist/assets/file-name-input-K4MKESI_.js +3 -0
  47. package/dist/assets/{floating-outline-8Uo6Qp8W.js → floating-outline-DaUHnl_e.js} +1 -1
  48. package/dist/assets/{fullscreen-BFfuaW3H.js → fullscreen-BH2jz-F4.js} +5 -5
  49. package/dist/assets/{gallery-page-BpxbCG1a.js → gallery-page-C3pBpHlY.js} +1 -1
  50. package/dist/assets/{glide-data-editor-k7azNhFM.js → glide-data-editor-sICUMEhk.js} +1 -1
  51. package/dist/assets/{home-page-CEzr9Hhn.js → home-page-Cir7n_EF.js} +1 -1
  52. package/dist/assets/index-BGT7have.css +2 -0
  53. package/dist/assets/{index-kkDJK6-j.js → index-ClZGC-u9.js} +6 -6
  54. package/dist/assets/{input-D4qvzBWu.js → input-DEbY281O.js} +1 -1
  55. package/dist/assets/{kiosk-mode-BqYH0GIF.js → kiosk-mode-mxgb5lWf.js} +1 -1
  56. package/dist/assets/{layout-D5ovQPUb.js → layout-CC2AHMrW.js} +3 -3
  57. package/dist/assets/{logs-panel-Cqxpxz5Z.js → logs-panel-BGS2v3ba.js} +1 -1
  58. package/dist/assets/{markdown-renderer-zZh3O1Hm.js → markdown-renderer-BZKlbm2Q.js} +1 -1
  59. package/dist/assets/{menu-items-CsV3aDPH.js → menu-items-BSRA2YI9.js} +1 -1
  60. package/dist/assets/{mermaid-BovZosCC.js → mermaid-l6lQkCib.js} +1 -1
  61. package/dist/assets/{name-cell-input-DXP1MqrH.js → name-cell-input-BMCdK-el.js} +1 -1
  62. package/dist/assets/{outline-panel-CMMPf-P7.js → outline-panel-Dr5u73V6.js} +1 -1
  63. package/dist/assets/{packages-panel-BHZOSh3s.js → packages-panel-BdpRg9tX.js} +1 -1
  64. package/dist/assets/{pair-with-agent-modal-DgckrViE.js → pair-with-agent-modal-CbUFKJHP.js} +1 -1
  65. package/dist/assets/{panel-accordion-state-9kdNootf.js → panel-accordion-state-DjUTN7i5.js} +1 -1
  66. package/dist/assets/{panels-Ca-tbb7P.js → panels-BsXw4GTa.js} +1 -1
  67. package/dist/assets/{process-output-Bi9pDe1a.js → process-output-Ck7-P_xp.js} +1 -1
  68. package/dist/assets/{readonly-code-display-ilZfA3ua.js → readonly-code-display--S2daDa6.js} +1 -1
  69. package/dist/assets/{readonly-python-code-Bqk6NhSW.js → readonly-python-code-DpIyjHqY.js} +1 -1
  70. package/dist/assets/{renderShortcut-BnBOGXqJ.js → renderShortcut-X-CJUSM8.js} +1 -1
  71. package/dist/assets/{reveal-component-DpoL_y06.js → reveal-component-BuI7t0JO.js} +1 -1
  72. package/dist/assets/{run-page-rnCMzZmN.js → run-page-DZNsqz9H.js} +1 -1
  73. package/dist/assets/{scratchpad-panel-BBd8n8wh.js → scratchpad-panel-CARmXIqQ.js} +1 -1
  74. package/dist/assets/{secrets-panel-C5D_CNW2.js → secrets-panel-D3BpDIgg.js} +1 -1
  75. package/dist/assets/select-nLt2y0Sw.js +1 -0
  76. package/dist/assets/{session-panel-C3kmYD9D.js → session-panel-CB5EvmZs.js} +1 -1
  77. package/dist/assets/{skeleton-xsRIwsVr.js → skeleton-idYPIMw_.js} +1 -1
  78. package/dist/assets/{snippets-panel-C1fCmhNQ.js → snippets-panel-D5yy7kj0.js} +1 -1
  79. package/dist/assets/{state-DJSqAVnx.js → state-B6AklCzD.js} +1 -1
  80. package/dist/assets/{state-CsL-gymg.js → state-Di9TbuV9.js} +1 -1
  81. package/dist/assets/{switch-CYJ2u4G9.js → switch-DjXr9Y9D.js} +1 -1
  82. package/dist/assets/{tabs-DxfkQ6UI.js → tabs-Cy1qXLzH.js} +1 -1
  83. package/dist/assets/{terminal-CfkxQQwT.js → terminal-CQAFGBfN.js} +1 -1
  84. package/dist/assets/{tooltip-BO5vfMvm.js → tooltip-BUtPzKB4.js} +1 -1
  85. package/dist/assets/{tracing-BHb672Fd.js → tracing-DNk3gmWv.js} +1 -1
  86. package/dist/assets/{tracing-panel-3JaAnsDw.js → tracing-panel-Yqazr6w_.js} +2 -2
  87. package/dist/assets/{tree-actions-CzmLf39g.js → tree-actions-CG5g7aUQ.js} +1 -1
  88. package/dist/assets/{useAddCell-DuzEVBJj.js → useAddCell-DdB_uBif.js} +1 -1
  89. package/dist/assets/{useBoolean-Dh6ALPsT.js → useBoolean-BXC4CItZ.js} +1 -1
  90. package/dist/assets/{useCellActionButton-B3Ve1KW5.js → useCellActionButton-B31neI3m.js} +1 -1
  91. package/dist/assets/{useDebounce-Dulm61-t.js → useDebounce-DgpSQhrP.js} +1 -1
  92. package/dist/assets/{useDeleteCell-CEtU0g91.js → useDeleteCell-Bz49_cFj.js} +1 -1
  93. package/dist/assets/{useDependencyPanelTab-BpSWTQLC.js → useDependencyPanelTab-C_ps0r--.js} +1 -1
  94. package/dist/assets/{useNotebookActions-C3LAhEgG.js → useNotebookActions-Br4AVVRg.js} +1 -1
  95. package/dist/assets/{useRunCells-omrTl5XU.js → useRunCells-CX7oW5zy.js} +1 -1
  96. package/dist/assets/{useSplitCell-CgXD2Gcw.js → useSplitCell-Dy2_DmJR.js} +1 -1
  97. package/dist/assets/{useTheme-OSyXt1jZ.js → useTheme-C-ri8BtY.js} +1 -1
  98. package/dist/assets/utils-D5Ywm7-q.js +1 -0
  99. package/dist/assets/{vega-component-CwdVpUdb.js → vega-component-C7TCzyaU.js} +1 -1
  100. package/dist/assets/write-secret-modal-D6zoZgLY.js +2 -0
  101. package/dist/index.html +44 -44
  102. package/package.json +1 -1
  103. package/src/components/ai/ai-provider-icon.tsx +2 -2
  104. package/src/components/ai/ai-utils.ts +1 -1
  105. package/src/components/app-config/ai-config.tsx +33 -37
  106. package/src/components/app-config/user-config-form.tsx +1 -1
  107. package/src/components/data-table/renderers.tsx +2 -6
  108. package/src/components/editor/Output.tsx +40 -0
  109. package/src/components/editor/__tests__/Output.test.tsx +85 -2
  110. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +832 -0
  111. package/src/components/editor/file-tree/__tests__/file-viewer.test.tsx +27 -0
  112. package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +130 -0
  113. package/src/components/editor/file-tree/file-browser-row.tsx +82 -0
  114. package/src/components/editor/file-tree/file-explorer.tsx +377 -159
  115. package/src/components/editor/file-tree/file-operations.tsx +1 -1
  116. package/src/components/editor/file-tree/file-search-results.tsx +142 -0
  117. package/src/components/editor/file-tree/file-tree-row.tsx +40 -0
  118. package/src/components/editor/file-tree/file-viewer.tsx +2 -1
  119. package/src/components/editor/file-tree/requesting-tree.tsx +162 -32
  120. package/src/components/editor/file-tree/use-file-search.ts +142 -0
  121. package/src/components/editor/file-tree/use-hover-expand.ts +34 -0
  122. package/src/components/ui/__tests__/fullscreen.test.tsx +88 -0
  123. package/src/components/ui/fullscreen.tsx +43 -1
  124. package/src/components/ui/links.tsx +2 -1
  125. package/src/core/ai/ids/__tests__/ids.test.ts +0 -8
  126. package/src/core/ai/ids/ids.ts +1 -1
  127. package/src/core/config/config-schema.ts +1 -0
  128. package/src/core/network/__tests__/requests-toasting.test.tsx +14 -0
  129. package/src/core/network/requests-toasting.tsx +1 -1
  130. package/src/hooks/useEventListener.ts +1 -1
  131. package/dist/assets/ai-model-dropdown-BxqpRM7R.js +0 -3
  132. package/dist/assets/alert-dialog-BnNhUpVP.js +0 -11
  133. package/dist/assets/config-DnyziF11.js +0 -1
  134. package/dist/assets/dropdown-menu-B-ZAV5lw.js +0 -1
  135. package/dist/assets/file-explorer-panel-Db-8C8fm.js +0 -1
  136. package/dist/assets/file-name-input-DmwIfRLx.js +0 -3
  137. package/dist/assets/index-DuY6Lm00.css +0 -2
  138. package/dist/assets/select-BJKJFWHk.js +0 -1
  139. package/dist/assets/utils-B-_Wem_I.js +0 -1
  140. package/dist/assets/write-secret-modal-GHpJRc36.js +0 -2
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CBDbhulC.js";import{Cn as n,D as r,Sn as i,Wt as a,bn as o,kn as s,vn as c}from"./cells-BgH2MZS9.js";import{t as l}from"./compiler-runtime-CYIjoINj.js";import{n as u}from"./useEventListener-92uWqz-P.js";import{n as d}from"./constants-BDbGiS7O.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{t as m}from"./tooltip-BO5vfMvm.js";import{t as h}from"./button-Dh8EwhsF.js";import{st as g}from"./dist-BtC9ym6k.js";import{r as _}from"./requests-C6_IaFh7.js";import{n as v,t as y}from"./LazyAnyLanguageCodeMirror-nhd5JrSb.js";import{r as b}from"./useNumberFormatter-DHJ9s6Vk.js";import{D as x,E as S,O as C,T as w,b as T,j as E}from"./write-secret-modal-GHpJRc36.js";import{t as D}from"./spinner-Ck-Hgfvj.js";import{t as O}from"./plus-C4J9gIE1.js";import{r as k}from"./useTheme-OSyXt1jZ.js";import{n as A}from"./useAsyncData-Buhk-UgR.js";import{t as j}from"./RenderHTML-DlIzJTPL.js";import{n as M}from"./error-banner-C5aiAh3q.js";import{n as N,r as P,t as F}from"./react-resizable-panels.browser.esm-BSRAHC4P.js";import{t as I}from"./empty-state-kWyb5dCS.js";import{n as L,r as R}from"./panel-context-CiVjnt80.js";import{t as z}from"./readonly-code-display-ilZfA3ua.js";import{t as B}from"./kiosk-mode-BqYH0GIF.js";var V=e(t(),1),H=l(),U=p(),W=u,G=e=>{let t=(0,H.c)(6),{children:n}=e,{openModal:r,closeModal:i}=T(),a;t[0]!==i||t[1]!==r?(a=()=>r((0,U.jsx)(K,{onClose:i})),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==a?(o=(0,U.jsx)(W,{onClick:a,children:n}),t[3]=n,t[4]=a,t[5]=o):o=t[5],o},K=e=>{let t=(0,H.c)(4),{onClose:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,U.jsx)(E,{children:`Contribute a Snippet`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,U.jsxs)(C,{children:[r,(0,U.jsxs)(S,{children:[`Have a useful snippet you want to share with the community? Make a pull request`,` `,(0,U.jsx)(`a`,{href:d.githubPage,target:`_blank`,className:`underline`,children:`on GitHub`}),`.`]})]}),t[1]=i):i=t[1];let a;return t[2]===n?a=t[3]:(a=(0,U.jsxs)(w,{className:`max-w-md`,children:[i,(0,U.jsx)(x,{children:(0,U.jsx)(h,{"data-testid":`snippet-close-button`,variant:`default`,onClick:n,children:`Close`})})]}),t[2]=n,t[3]=a),a},q=[g.lineWrapping],J=()=>{let e=(0,H.c)(24),{readSnippets:t}=_(),[n,r]=V.useState(),a=L(),s=R(),l;e[0]===t?l=e[1]:(l=()=>t(),e[0]=t,e[1]=l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[2]=u):u=e[2];let{data:d,error:p,isPending:m}=A(l,u);if(p){let t;return e[3]===p?t=e[4]:(t=(0,U.jsx)(M,{error:p}),e[3]=p,e[4]=t),t}if(m||!d){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(D,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}let h=a===`vertical`,g;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(i,{placeholder:`Search snippets...`,className:`h-6 m-1`,rootClassName:`flex-1 border-r`}),e[6]=g):g=e[6];let v,y;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,U.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[g,(0,U.jsx)(G,{children:(0,U.jsx)(`button`,{className:`float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,children:(0,U.jsx)(O,{className:`h-4 w-4`})})})]}),y=(0,U.jsx)(o,{children:`No results`}),e[7]=v,e[8]=y):(v=e[7],y=e[8]);let b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>r(e),e[9]=b):b=e[9];let x;e[10]===d.snippets?x=e[11]:(x=(0,U.jsx)(F,{defaultSize:40,minSize:20,maxSize:70,children:(0,U.jsxs)(c,{className:`h-full rounded-none`,children:[v,y,(0,U.jsx)(X,{onSelect:b,snippets:d.snippets})]})}),e[10]=d.snippets,e[11]=x);let S=h?`h-1`:`w-1`,C;e[12]===S?C=e[13]:(C=f(`bg-border hover:bg-primary/50 transition-colors`,S),e[12]=S,e[13]=C);let w;e[14]===C?w=e[15]:(w=(0,U.jsx)(P,{className:C}),e[14]=C,e[15]=w);let T;e[16]===n?T=e[17]:(T=(0,U.jsx)(F,{defaultSize:60,minSize:20,children:(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(`div`,{className:`h-full snippet-viewer flex flex-col overflow-hidden`,children:n?(0,U.jsx)(Y,{snippet:n,onClose:()=>r(void 0)},n.title):(0,U.jsx)(I,{title:``,description:`Click on a snippet to view its content.`})})})}),e[16]=n,e[17]=T);let E;return e[18]!==a||e[19]!==s||e[20]!==T||e[21]!==x||e[22]!==w?(E=(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden h-full`,children:(0,U.jsxs)(N,{direction:a,className:`h-full`,children:[x,w,T]},s)}),e[18]=a,e[19]=s,e[20]=T,e[21]=x,e[22]=w,e[23]=E):E=e[23],E},Y=e=>{let t=(0,H.c)(33),{snippet:n,onClose:i}=e,{theme:o}=k(),{createNewCell:s}=r(),c=a(),l;t[0]!==s||t[1]!==c||t[2]!==n.sections?(l=()=>{for(let e of n.sections.toReversed())e.code&&s({code:e.code,before:!1,cellId:c??`__end__`,skipIfCodeExists:!0})},t[0]=s,t[1]=c,t[2]=n.sections,t[3]=l):l=t[3];let u=l,d;t[4]!==s||t[5]!==c?(d=e=>{s({code:e,before:!1,cellId:c??`__end__`})},t[4]=s,t[5]=c,t[6]=d):d=t[6];let f=d,p;t[7]===n.title?p=t[8]:(p=(0,U.jsx)(`span`,{children:n.title}),t[7]=n.title,t[8]=p);let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(b,{className:`h-4 w-4`}),t[9]=g):g=t[9];let _;t[10]===i?_=t[11]:(_=(0,U.jsx)(h,{size:`sm`,variant:`ghost`,onClick:i,className:`h-6 w-6 p-0 hover:bg-muted-foreground/10`,children:g}),t[10]=i,t[11]=_);let x;t[12]!==p||t[13]!==_?(x=(0,U.jsxs)(`div`,{className:`text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center`,children:[p,_]}),t[12]=p,t[13]=_,t[14]=x):x=t[14];let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,U.jsx)(v,{className:`ml-2 h-4 w-4`}),t[15]=S):S=t[15];let C;t[16]===u?C=t[17]:(C=(0,U.jsx)(`div`,{className:`flex justify-end`,children:(0,U.jsx)(B,{children:(0,U.jsxs)(h,{className:`float-right`,size:`xs`,variant:`outline`,onClick:u,children:[`Insert snippet`,S]})})}),t[16]=u,t[17]=C);let w;if(t[18]!==f||t[19]!==n.sections||t[20]!==n.title||t[21]!==o){let e;t[23]!==f||t[24]!==n.title||t[25]!==o?(e=e=>{let{code:t,html:r,id:i}=e;if(r)return(0,U.jsx)(`div`,{children:j({html:r})},`${n.title}-${i}`);if(!t)return null;let{language:a,code:s}=z(t);return(0,U.jsxs)(`div`,{className:`relative hover-actions-parent pr-2`,children:[(0,U.jsx)(B,{children:(0,U.jsx)(m,{content:`Insert snippet`,children:(0,U.jsx)(h,{className:`absolute -top-2 -right-1 z-10 hover-action px-2 bg-background`,size:`sm`,variant:`outline`,onClick:()=>{f(t)},children:(0,U.jsx)(v,{className:`h-5 w-5`})})})}),(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(y,{theme:o===`dark`?`dark`:`light`,language:a,className:`cm border rounded overflow-hidden`,extensions:q,value:s,readOnly:!0},`${n.title}-${i}`)})]},`${n.title}-${i}`)},t[23]=f,t[24]=n.title,t[25]=o,t[26]=e):e=t[26],w=n.sections.map(e),t[18]=f,t[19]=n.sections,t[20]=n.title,t[21]=o,t[22]=w}else w=t[22];let T;t[27]!==C||t[28]!==w?(T=(0,U.jsxs)(`div`,{className:`px-2 py-2 space-y-4 overflow-auto flex-1`,children:[C,w]}),t[27]=C,t[28]=w,t[29]=T):T=t[29];let E;return t[30]!==T||t[31]!==x?(E=(0,U.jsxs)(U.Fragment,{children:[x,T]}),t[30]=T,t[31]=x,t[32]=E):E=t[32],E},X=e=>{let t=(0,H.c)(7),{snippets:r,onSelect:i}=e,a;if(t[0]!==i||t[1]!==r){let e;t[3]===i?e=t[4]:(e=e=>(0,U.jsx)(n,{className:`rounded-none`,onSelect:()=>i(e),children:(0,U.jsx)(`div`,{className:`flex flex-row gap-2 items-center`,children:(0,U.jsx)(`span`,{className:`mt-1 text-accent-foreground`,children:e.title})})},e.title),t[3]=i,t[4]=e),a=r.map(e),t[0]=i,t[1]=r,t[2]=a}else a=t[2];let o;return t[5]===a?o=t[6]:(o=(0,U.jsx)(s,{className:`flex flex-col overflow-auto`,children:a}),t[5]=a,t[6]=o),o};export{J as default};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CBDbhulC.js";import{Cn as n,D as r,Sn as i,Wt as a,bn as o,kn as s,vn as c}from"./cells-Cp-G34Rz.js";import{t as l}from"./compiler-runtime-CYIjoINj.js";import{n as u}from"./useEventListener-92uWqz-P.js";import{n as d}from"./constants-BDbGiS7O.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{t as m}from"./tooltip-BUtPzKB4.js";import{t as h}from"./button-Dh8EwhsF.js";import{st as g}from"./dist-BtC9ym6k.js";import{r as _}from"./requests-C6_IaFh7.js";import{n as v,t as y}from"./LazyAnyLanguageCodeMirror-LboTfNDv.js";import{r as b}from"./useNumberFormatter-DHJ9s6Vk.js";import{D as x,E as S,O as C,T as w,b as T,j as E}from"./write-secret-modal-D6zoZgLY.js";import{t as D}from"./spinner-Ck-Hgfvj.js";import{t as O}from"./plus-C4J9gIE1.js";import{r as k}from"./useTheme-C-ri8BtY.js";import{n as A}from"./useAsyncData-Buhk-UgR.js";import{t as j}from"./RenderHTML-DwhMAd9l.js";import{n as M}from"./error-banner-Dw5YY9wq.js";import{n as N,r as P,t as F}from"./react-resizable-panels.browser.esm-BSRAHC4P.js";import{t as I}from"./empty-state-kWyb5dCS.js";import{n as L,r as R}from"./panel-context-CiVjnt80.js";import{t as z}from"./readonly-code-display--S2daDa6.js";import{t as B}from"./kiosk-mode-mxgb5lWf.js";var V=e(t(),1),H=l(),U=p(),W=u,G=e=>{let t=(0,H.c)(6),{children:n}=e,{openModal:r,closeModal:i}=T(),a;t[0]!==i||t[1]!==r?(a=()=>r((0,U.jsx)(K,{onClose:i})),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==a?(o=(0,U.jsx)(W,{onClick:a,children:n}),t[3]=n,t[4]=a,t[5]=o):o=t[5],o},K=e=>{let t=(0,H.c)(4),{onClose:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,U.jsx)(E,{children:`Contribute a Snippet`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,U.jsxs)(C,{children:[r,(0,U.jsxs)(S,{children:[`Have a useful snippet you want to share with the community? Make a pull request`,` `,(0,U.jsx)(`a`,{href:d.githubPage,target:`_blank`,className:`underline`,children:`on GitHub`}),`.`]})]}),t[1]=i):i=t[1];let a;return t[2]===n?a=t[3]:(a=(0,U.jsxs)(w,{className:`max-w-md`,children:[i,(0,U.jsx)(x,{children:(0,U.jsx)(h,{"data-testid":`snippet-close-button`,variant:`default`,onClick:n,children:`Close`})})]}),t[2]=n,t[3]=a),a},q=[g.lineWrapping],J=()=>{let e=(0,H.c)(24),{readSnippets:t}=_(),[n,r]=V.useState(),a=L(),s=R(),l;e[0]===t?l=e[1]:(l=()=>t(),e[0]=t,e[1]=l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[2]=u):u=e[2];let{data:d,error:p,isPending:m}=A(l,u);if(p){let t;return e[3]===p?t=e[4]:(t=(0,U.jsx)(M,{error:p}),e[3]=p,e[4]=t),t}if(m||!d){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(D,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}let h=a===`vertical`,g;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(i,{placeholder:`Search snippets...`,className:`h-6 m-1`,rootClassName:`flex-1 border-r`}),e[6]=g):g=e[6];let v,y;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,U.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[g,(0,U.jsx)(G,{children:(0,U.jsx)(`button`,{className:`float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,children:(0,U.jsx)(O,{className:`h-4 w-4`})})})]}),y=(0,U.jsx)(o,{children:`No results`}),e[7]=v,e[8]=y):(v=e[7],y=e[8]);let b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>r(e),e[9]=b):b=e[9];let x;e[10]===d.snippets?x=e[11]:(x=(0,U.jsx)(F,{defaultSize:40,minSize:20,maxSize:70,children:(0,U.jsxs)(c,{className:`h-full rounded-none`,children:[v,y,(0,U.jsx)(X,{onSelect:b,snippets:d.snippets})]})}),e[10]=d.snippets,e[11]=x);let S=h?`h-1`:`w-1`,C;e[12]===S?C=e[13]:(C=f(`bg-border hover:bg-primary/50 transition-colors`,S),e[12]=S,e[13]=C);let w;e[14]===C?w=e[15]:(w=(0,U.jsx)(P,{className:C}),e[14]=C,e[15]=w);let T;e[16]===n?T=e[17]:(T=(0,U.jsx)(F,{defaultSize:60,minSize:20,children:(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(`div`,{className:`h-full snippet-viewer flex flex-col overflow-hidden`,children:n?(0,U.jsx)(Y,{snippet:n,onClose:()=>r(void 0)},n.title):(0,U.jsx)(I,{title:``,description:`Click on a snippet to view its content.`})})})}),e[16]=n,e[17]=T);let E;return e[18]!==a||e[19]!==s||e[20]!==T||e[21]!==x||e[22]!==w?(E=(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden h-full`,children:(0,U.jsxs)(N,{direction:a,className:`h-full`,children:[x,w,T]},s)}),e[18]=a,e[19]=s,e[20]=T,e[21]=x,e[22]=w,e[23]=E):E=e[23],E},Y=e=>{let t=(0,H.c)(33),{snippet:n,onClose:i}=e,{theme:o}=k(),{createNewCell:s}=r(),c=a(),l;t[0]!==s||t[1]!==c||t[2]!==n.sections?(l=()=>{for(let e of n.sections.toReversed())e.code&&s({code:e.code,before:!1,cellId:c??`__end__`,skipIfCodeExists:!0})},t[0]=s,t[1]=c,t[2]=n.sections,t[3]=l):l=t[3];let u=l,d;t[4]!==s||t[5]!==c?(d=e=>{s({code:e,before:!1,cellId:c??`__end__`})},t[4]=s,t[5]=c,t[6]=d):d=t[6];let f=d,p;t[7]===n.title?p=t[8]:(p=(0,U.jsx)(`span`,{children:n.title}),t[7]=n.title,t[8]=p);let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(b,{className:`h-4 w-4`}),t[9]=g):g=t[9];let _;t[10]===i?_=t[11]:(_=(0,U.jsx)(h,{size:`sm`,variant:`ghost`,onClick:i,className:`h-6 w-6 p-0 hover:bg-muted-foreground/10`,children:g}),t[10]=i,t[11]=_);let x;t[12]!==p||t[13]!==_?(x=(0,U.jsxs)(`div`,{className:`text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center`,children:[p,_]}),t[12]=p,t[13]=_,t[14]=x):x=t[14];let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,U.jsx)(v,{className:`ml-2 h-4 w-4`}),t[15]=S):S=t[15];let C;t[16]===u?C=t[17]:(C=(0,U.jsx)(`div`,{className:`flex justify-end`,children:(0,U.jsx)(B,{children:(0,U.jsxs)(h,{className:`float-right`,size:`xs`,variant:`outline`,onClick:u,children:[`Insert snippet`,S]})})}),t[16]=u,t[17]=C);let w;if(t[18]!==f||t[19]!==n.sections||t[20]!==n.title||t[21]!==o){let e;t[23]!==f||t[24]!==n.title||t[25]!==o?(e=e=>{let{code:t,html:r,id:i}=e;if(r)return(0,U.jsx)(`div`,{children:j({html:r})},`${n.title}-${i}`);if(!t)return null;let{language:a,code:s}=z(t);return(0,U.jsxs)(`div`,{className:`relative hover-actions-parent pr-2`,children:[(0,U.jsx)(B,{children:(0,U.jsx)(m,{content:`Insert snippet`,children:(0,U.jsx)(h,{className:`absolute -top-2 -right-1 z-10 hover-action px-2 bg-background`,size:`sm`,variant:`outline`,onClick:()=>{f(t)},children:(0,U.jsx)(v,{className:`h-5 w-5`})})})}),(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(y,{theme:o===`dark`?`dark`:`light`,language:a,className:`cm border rounded overflow-hidden`,extensions:q,value:s,readOnly:!0},`${n.title}-${i}`)})]},`${n.title}-${i}`)},t[23]=f,t[24]=n.title,t[25]=o,t[26]=e):e=t[26],w=n.sections.map(e),t[18]=f,t[19]=n.sections,t[20]=n.title,t[21]=o,t[22]=w}else w=t[22];let T;t[27]!==C||t[28]!==w?(T=(0,U.jsxs)(`div`,{className:`px-2 py-2 space-y-4 overflow-auto flex-1`,children:[C,w]}),t[27]=C,t[28]=w,t[29]=T):T=t[29];let E;return t[30]!==T||t[31]!==x?(E=(0,U.jsxs)(U.Fragment,{children:[x,T]}),t[30]=T,t[31]=x,t[32]=E):E=t[32],E},X=e=>{let t=(0,H.c)(7),{snippets:r,onSelect:i}=e,a;if(t[0]!==i||t[1]!==r){let e;t[3]===i?e=t[4]:(e=e=>(0,U.jsx)(n,{className:`rounded-none`,onSelect:()=>i(e),children:(0,U.jsx)(`div`,{className:`flex flex-row gap-2 items-center`,children:(0,U.jsx)(`span`,{className:`mt-1 text-accent-foreground`,children:e.title})})},e.title),t[3]=i,t[4]=e),a=r.map(e),t[0]=i,t[1]=r,t[2]=a}else a=t[2];let o;return t[5]===a?o=t[6]:(o=(0,U.jsx)(s,{className:`flex flex-col overflow-auto`,children:a}),t[5]=a,t[6]=o),o};export{J as default};
@@ -1 +1 @@
1
- import{f as e}from"./useEvent-xfs0Sn4r.js";import{Co as t,ii as n,ri as r}from"./cells-BgH2MZS9.js";import{d as i}from"./arrays-BqUx5USx.js";var a=`marimo:ai:chatState:v5`,o=e(null),s=e(null),c=t(`marimo:ai:chatOptions`,{webSearch:!1},n),l=t(`marimo:ai:includeOtherCells`,!0,n);function u(e){let t=new Map;for(let[n,r]of e.entries()){if(r.messages.length===0)continue;let e=i(r.messages,e=>e.id);t.set(n,{...r,messages:e})}return t}var d=t(a,{chats:new Map,activeChatId:null},r({toSerializable:e=>({chats:[...u(e.chats).entries()],activeChatId:e.activeChatId}),fromSerializable:e=>({chats:new Map(e.chats),activeChatId:e.activeChatId})})),f=e(e=>{let t=e(d);return t.activeChatId?t.chats.get(t.activeChatId):null},(e,t,n)=>{t(d,e=>({...e,activeChatId:n}))});export{l as a,d as i,o as n,s as o,c as r,f as t};
1
+ import{f as e}from"./useEvent-xfs0Sn4r.js";import{Co as t,ii as n,ri as r}from"./cells-Cp-G34Rz.js";import{d as i}from"./arrays-BqUx5USx.js";var a=`marimo:ai:chatState:v5`,o=e(null),s=e(null),c=t(`marimo:ai:chatOptions`,{webSearch:!1},n),l=t(`marimo:ai:includeOtherCells`,!0,n);function u(e){let t=new Map;for(let[n,r]of e.entries()){if(r.messages.length===0)continue;let e=i(r.messages,e=>e.id);t.set(n,{...r,messages:e})}return t}var d=t(a,{chats:new Map,activeChatId:null},r({toSerializable:e=>({chats:[...u(e.chats).entries()],activeChatId:e.activeChatId}),fromSerializable:e=>({chats:new Map(e.chats),activeChatId:e.activeChatId})})),f=e(e=>{let t=e(d);return t.activeChatId?t.chats.get(t.activeChatId):null},(e,t,n)=>{t(d,e=>({...e,activeChatId:n}))});export{l as a,d as i,o as n,s as o,c as r,f as t};
@@ -1,3 +1,3 @@
1
- import{f as e,l as t,r as n}from"./useEvent-xfs0Sn4r.js";import{Ao as r,So as i,_o as a,ar as o,fi as s,ir as c,jo as l,mo as u,x as d,yo as f}from"./cells-BgH2MZS9.js";import{t as p}from"./get-DjNf4SIX.js";import{t as m}from"./debounce-aFmHgJZY.js";import{D as h}from"./utils-B-_Wem_I.js";import{t as g}from"./_baseSet-gX6o3Pih.js";import{g as _,v}from"./useEventListener-92uWqz-P.js";import{t as y}from"./invariant-Ci2dTZ72.js";import{E as b,M as ee,N as te,c as x,l as S,n as ne}from"./config-BRRSKtP3.js";import{n as re}from"./switch-CYJ2u4G9.js";import{l as C,y as ie}from"./readonly-python-code-Bqk6NhSW.js";import{t as ae}from"./createReducer-B_XmHROl.js";import{r as oe}from"./strings-CReV1AYG.js";import{t as w}from"./requests-C6_IaFh7.js";import{c as T,o as se}from"./markdown-renderer-zZh3O1Hm.js";import{N as ce}from"./write-secret-modal-GHpJRc36.js";import{t as le}from"./preload-helper-HclGiUj8.js";import{t as E}from"./Deferred-CrTnjj37.js";import{t as D}from"./uuid-k9DpjH68.js";import{t as ue}from"./use-toast-DpWHUGuF.js";import{n as de}from"./RenderHTML-DlIzJTPL.js";import{t as fe}from"./useRunCells-omrTl5XU.js";import{r as pe,t as me}from"./blob-B82D3b64.js";import{n as he,r as ge,t as _e}from"./share-CPtBiNgr.js";import{i as O,r as ve,t as ye}from"./events-CbeVJ6OD.js";function k(e,t,n){return e==null?e:g(e,t,n)}var be=e(null),{valueAtom:xe,useActions:Se}=ae(()=>({banners:[]}),{addBanner:(e,t)=>({...e,banners:[...e.banners,{...t,id:D()}]}),removeBanner:(e,t)=>({...e,banners:e.banners.filter(e=>e.id!==t)}),clearBanners:e=>({...e,banners:[]})}),Ce=()=>t(xe);function we(){return Se()}var A=class{subscriptions=new Map;addSubscription(e,t){this.subscriptions.has(e)||this.subscriptions.set(e,new Set),this.subscriptions.get(e)?.add(t)}removeSubscription(e,t){this.subscriptions.get(e)?.delete(t)}notify(e,t){for(let n of this.subscriptions.get(e)??[])n(t)}},j=class e{subscriptions=new A;producer;static withProducerCallback(t){return new e(t)}static empty(){return new e}constructor(e){this.producer=e}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify(`message`,e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify(`open`,new Event(`open`))})}get readyState(){return WebSocket.OPEN}reconnect(e,t){this.close(),this.connect()}close(){this.subscriptions.notify(`close`,new Event(`close`))}send(e){return this.subscriptions.notify(`message`,new MessageEvent(`message`,{data:e})),Promise.resolve()}addEventListener(e,t){this.subscriptions.addSubscription(e,t),e===`open`&&t(new Event(`open`)),e===`message`&&this.startProducer()}removeEventListener(e,t){this.subscriptions.removeSubscription(e,t)}},Te=1e10,Ee=1e3;function M(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function De(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(te)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=Ee}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=Te?++c:c=0}let u=new Map,d=new Map;function f(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw M([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let p=new Proxy(f,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>f(t,e)}),m=p;function h(e,...n){let i=n[0];if(!r.send)throw M([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),_=g,v=new Map,y=new Set;function b(e,t){if(!r.registerHandler)throw M([`registerHandler`],`register message listeners`);if(e===`*`){y.add(t);return}v.has(e)||v.set(e,new Set),v.get(e)?.add(t)}function ee(e,t){if(e===`*`){y.delete(t);return}v.get(e)?.delete(t),v.get(e)?.size===0&&v.delete(e)}async function te(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw M([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of y)t(e.id,e.payload);let t=v.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:p,requestProxy:m,send:g,sendProxy:_,addMessageListener:b,removeMessageListener:ee,proxy:{send:_,request:m},_setDebugHooks:n}}function Oe(e){return De(e)}var ke=`[transport-id]`;function Ae(e,t){let{transportId:n}=t;return n==null?e:{[ke]:n,data:e}}function je(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[ke]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function Me(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(Ae(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=je(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function Ne(e,t){return Me(e,t)}var Pe=`marimo-transport`;function Fe(e){return Oe({transport:Ne(e,{transportId:Pe}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{_.debug(`[rpc] Parent -> Worker`,e)},onReceive:e=>{_.debug(`[rpc] Worker -> Parent`,e)}}})}var N=he(),P=`marimo:file`,F=new u(null),Ie={saveFile(e){F.set(P,e)},readFile(){return F.get(P)}},Le={saveFile(e){l.setCodeForHash((0,N.compressToEncodedURIComponent)(e))},readFile(){let e=l.getCodeFromHash()||l.getCodeFromSearchParam();return e?(0,N.decompressFromEncodedURIComponent)(e):null}},Re={saveFile(e){},readFile(){let e=document.querySelector(`marimo-code`);return e?decodeURIComponent(e.textContent||``).trim():null}},ze={saveFile(e){},readFile(){if(window.location.hostname!==`marimo.app`)return null;let e=new URL(`export_demos/wasm-intro.py`,document.baseURI);return fetch(e.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Be={saveFile(e){},readFile(){return n.get(a)??null}},Ve={saveFile(e){},readFile(){return[`import marimo`,`app = marimo.App()`,``,`@app.cell`,`def __():`,` return`,``,`if __name__ == "__main__":`,` app.run()`].join(`
1
+ import{f as e,l as t,r as n}from"./useEvent-xfs0Sn4r.js";import{Ao as r,So as i,_o as a,ar as o,fi as s,ir as c,jo as l,mo as u,x as d,yo as f}from"./cells-Cp-G34Rz.js";import{t as p}from"./get-DjNf4SIX.js";import{t as m}from"./debounce-aFmHgJZY.js";import{D as h}from"./utils-D5Ywm7-q.js";import{t as g}from"./_baseSet-gX6o3Pih.js";import{g as _,v}from"./useEventListener-92uWqz-P.js";import{t as y}from"./invariant-Ci2dTZ72.js";import{E as b,M as ee,N as te,c as x,l as S,n as ne}from"./config-BlNM0caL.js";import{n as re}from"./switch-DjXr9Y9D.js";import{l as C,y as ie}from"./readonly-python-code-DpIyjHqY.js";import{t as ae}from"./createReducer-B_XmHROl.js";import{r as oe}from"./strings-CReV1AYG.js";import{t as w}from"./requests-C6_IaFh7.js";import{c as T,o as se}from"./markdown-renderer-BZKlbm2Q.js";import{N as ce}from"./write-secret-modal-D6zoZgLY.js";import{t as le}from"./preload-helper-HclGiUj8.js";import{t as E}from"./Deferred-CrTnjj37.js";import{t as D}from"./uuid-k9DpjH68.js";import{t as ue}from"./use-toast-DpWHUGuF.js";import{n as de}from"./RenderHTML-DwhMAd9l.js";import{t as fe}from"./useRunCells-CX7oW5zy.js";import{r as pe,t as me}from"./blob-B2d_dHwI.js";import{n as he,r as ge,t as _e}from"./share-CPtBiNgr.js";import{i as O,r as ve,t as ye}from"./events-CbeVJ6OD.js";function k(e,t,n){return e==null?e:g(e,t,n)}var be=e(null),{valueAtom:xe,useActions:Se}=ae(()=>({banners:[]}),{addBanner:(e,t)=>({...e,banners:[...e.banners,{...t,id:D()}]}),removeBanner:(e,t)=>({...e,banners:e.banners.filter(e=>e.id!==t)}),clearBanners:e=>({...e,banners:[]})}),Ce=()=>t(xe);function we(){return Se()}var A=class{subscriptions=new Map;addSubscription(e,t){this.subscriptions.has(e)||this.subscriptions.set(e,new Set),this.subscriptions.get(e)?.add(t)}removeSubscription(e,t){this.subscriptions.get(e)?.delete(t)}notify(e,t){for(let n of this.subscriptions.get(e)??[])n(t)}},j=class e{subscriptions=new A;producer;static withProducerCallback(t){return new e(t)}static empty(){return new e}constructor(e){this.producer=e}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify(`message`,e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify(`open`,new Event(`open`))})}get readyState(){return WebSocket.OPEN}reconnect(e,t){this.close(),this.connect()}close(){this.subscriptions.notify(`close`,new Event(`close`))}send(e){return this.subscriptions.notify(`message`,new MessageEvent(`message`,{data:e})),Promise.resolve()}addEventListener(e,t){this.subscriptions.addSubscription(e,t),e===`open`&&t(new Event(`open`)),e===`message`&&this.startProducer()}removeEventListener(e,t){this.subscriptions.removeSubscription(e,t)}},Te=1e10,Ee=1e3;function M(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function De(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(te)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=Ee}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=Te?++c:c=0}let u=new Map,d=new Map;function f(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw M([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let p=new Proxy(f,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>f(t,e)}),m=p;function h(e,...n){let i=n[0];if(!r.send)throw M([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),_=g,v=new Map,y=new Set;function b(e,t){if(!r.registerHandler)throw M([`registerHandler`],`register message listeners`);if(e===`*`){y.add(t);return}v.has(e)||v.set(e,new Set),v.get(e)?.add(t)}function ee(e,t){if(e===`*`){y.delete(t);return}v.get(e)?.delete(t),v.get(e)?.size===0&&v.delete(e)}async function te(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw M([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of y)t(e.id,e.payload);let t=v.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:p,requestProxy:m,send:g,sendProxy:_,addMessageListener:b,removeMessageListener:ee,proxy:{send:_,request:m},_setDebugHooks:n}}function Oe(e){return De(e)}var ke=`[transport-id]`;function Ae(e,t){let{transportId:n}=t;return n==null?e:{[ke]:n,data:e}}function je(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[ke]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function Me(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(Ae(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=je(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function Ne(e,t){return Me(e,t)}var Pe=`marimo-transport`;function Fe(e){return Oe({transport:Ne(e,{transportId:Pe}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{_.debug(`[rpc] Parent -> Worker`,e)},onReceive:e=>{_.debug(`[rpc] Worker -> Parent`,e)}}})}var N=he(),P=`marimo:file`,F=new u(null),Ie={saveFile(e){F.set(P,e)},readFile(){return F.get(P)}},Le={saveFile(e){l.setCodeForHash((0,N.compressToEncodedURIComponent)(e))},readFile(){let e=l.getCodeFromHash()||l.getCodeFromSearchParam();return e?(0,N.decompressFromEncodedURIComponent)(e):null}},Re={saveFile(e){},readFile(){let e=document.querySelector(`marimo-code`);return e?decodeURIComponent(e.textContent||``).trim():null}},ze={saveFile(e){},readFile(){if(window.location.hostname!==`marimo.app`)return null;let e=new URL(`export_demos/wasm-intro.py`,document.baseURI);return fetch(e.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Be={saveFile(e){},readFile(){return n.get(a)??null}},Ve={saveFile(e){},readFile(){return[`import marimo`,`app = marimo.App()`,``,`@app.cell`,`def __():`,` return`,``,`if __name__ == "__main__":`,` app.run()`].join(`
2
2
  `)}},I=class{stores;constructor(e){this.stores=e}insert(e,t){this.stores.splice(e,0,t)}saveFile(e){this.stores.forEach(t=>t.saveFile(e))}readFile(){for(let e of this.stores){let t=e.readFile();if(t)return t}return null}},L=new I([Be,Re,Le]),R=new I([Ie,ze,Ve]),z=class e{static get INSTANCE(){let t=`_marimo_private_PyodideBridge`;return window[t]||(window[t]=new e),window[t]}rpc;saveRpc;pendingSessionSave=Promise.resolve();interruptBuffer;messageConsumer;initialized=new E;getSaveWorker(){return b()===`read`?(_.debug(`Using partially disabled SaveWorker in read-mode`),{readFile:v,readNotebook:async()=>await L.readFile()??``,saveNotebook:v}):Fe(new Worker(new URL(``+new URL(`save-worker-DfWXpMak.js`,import.meta.url).href,``+import.meta.url),{type:`module`,name:B()})).proxy.request}constructor(){if(!te())return;let e=new Worker(new URL(``+new URL(`worker-Dog-z1OZ.js`,import.meta.url).href,``+import.meta.url),{type:`module`,name:B()});this.rpc=Fe(e),this.rpc.addMessageListener(`ready`,()=>{this.startSession()}),this.rpc.addMessageListener(`initialized`,()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),n.set(C,{kind:`ready`}),this.initialized.resolve()}),this.rpc.addMessageListener(`initializingMessage`,({message:e})=>{n.get(C).kind===`loading`&&n.set(C,{kind:`loading`,message:e})}),this.rpc.addMessageListener(`initializedError`,({error:e})=>{if(this.initialized.status===`resolved`){_.error(e),ue({title:`Error initializing`,description:e,variant:`danger`});return}n.set(C,{kind:`error`,message:e}),this.initialized.reject(Error(e))}),this.rpc.addMessageListener(`kernelMessage`,({message:e})=>{this.messageConsumer?.(new MessageEvent(`message`,{data:e}))})}async startSession(){let e=await L.readFile(),t=await R.readFile(),r=n.get(f)??l.getFilename(),i=n.get(h),a={},o=new URLSearchParams(window.location.search);for(let e of o.keys()){let t=o.getAll(e);a[e]=t.length===1?t[0]:t}await this.rpc.proxy.request.startSession({queryParameters:a,code:e||t||``,filename:r,userConfig:{...i,runtime:{...i.runtime,auto_instantiate:b()===`read`||i.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):_.warn(`Not running in a secure context; interrupts are not available.`)}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}sendRename=async({filename:e})=>e===null?null:(l.setFilename(e),await this.rpc.proxy.request.bridge({functionName:`rename_file`,payload:e}),null);sendSave=async e=>{if(!this.saveRpc)return _.warn(`Save RPC not initialized`),null;let t=this.saveRpc.saveNotebook(e);this.pendingSessionSave=this.pendingSessionSave.catch(()=>void 0).then(async()=>{await t,await this.rpc.proxy.request.saveNotebook(e)}),this.pendingSessionSave.catch(e=>{_.error(e)}),await t;let n=await this.readCode();return n.contents&&(L.saveFile(n.contents),R.saveFile(n.contents)),null};sendCopy=async()=>{v()};sendStdin=async e=>(await this.rpc.proxy.request.bridge({functionName:`put_input`,payload:e.text}),null);sendPdb=async()=>{v()};sendSetBreakpoints=async()=>{v()};sendRun=async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
3
  `)),await this.putControlRequest({type:`execute-cells`,...e}),null);sendRunScratchpad=async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:`execute-scratchpad`,...e}),null);sendInterrupt=async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null);sendShutdown=async()=>(window.close(),null);sendFormat=async e=>await this.rpc.proxy.request.bridge({functionName:`format`,payload:e});sendDeleteCell=async e=>(await this.putControlRequest({type:`delete-cell`,...e}),null);sendInstallMissingPackages=async e=>(this.putControlRequest({type:`install-packages`,...e}),null);sendCodeCompletionRequest=async e=>(n.get(d)||await this.rpc.proxy.request.bridge({functionName:`code_complete`,payload:e}),null);saveUserConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_user_config`,payload:e}),re.post(`/kernel/save_user_config`,e,{baseUrl:`/`}).catch(e=>(_.error(e),null)));saveAppConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_app_config`,payload:e}),null);saveCellConfig=async e=>(await this.putControlRequest({type:`update-cell-config`,...e}),null);sendRestart=async()=>{let e=await this.readCode();return e.contents&&(L.saveFile(e.contents),R.saveFile(e.contents)),ge(),null};readCode=async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(_.warn(`Save RPC not initialized`),{contents:``});readSnippets=async()=>await this.rpc.proxy.request.bridge({functionName:`read_snippets`,payload:void 0});openFile=async({path:e})=>{let t=_e({code:null,baseUrl:window.location.origin});return window.open(t,`_blank`),null};sendListFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`list_files`,payload:e});getFileRoots=async()=>await this.rpc.proxy.request.bridge({functionName:`file_roots`,payload:void 0});sendSearchFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`search_files`,payload:e});sendComponentValues=async e=>(await this.putControlRequest({type:`update-ui-element`,...e,token:D()}),null);sendInstantiate=async e=>null;sendFunctionRequest=async e=>(await this.putControlRequest({type:`invoke-function`,...e}),null);sendCreateFileOrFolder=async e=>{let t=null;return e.file&&(t=(await pe(e.file)).split(`,`)[1]??``),await this.rpc.proxy.request.bridge({functionName:`create_file_or_directory`,payload:{path:e.path,type:e.type,name:e.name,contents:t}})};sendDeleteFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`delete_file_or_directory`,payload:e});sendCopyFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`copy_file_or_directory`,payload:e});sendRenameFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`move_file_or_directory`,payload:e});sendUpdateFile=async e=>await this.rpc.proxy.request.bridge({functionName:`update_file`,payload:e});sendFileDetails=async e=>await this.rpc.proxy.request.bridge({functionName:`file_details`,payload:e});exportAsHTML=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_html`,payload:e}));exportAsMarkdown=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_markdown`,payload:e}));exportAsScript=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_script`,payload:e}));previewDatasetColumn=async e=>(await this.putControlRequest({type:`preview-dataset-column`,...e}),null);previewSQLTable=async e=>(await this.putControlRequest({type:`preview-sql-table`,...e}),null);previewSQLTableList=async e=>(await this.putControlRequest({type:`list-sql-tables`,...e}),null);previewSQLSchemaList=async e=>(await this.putControlRequest({type:`list-sql-schemas`,...e}),null);previewDataSourceConnection=async e=>(await this.putControlRequest({type:`list-data-source-connection`,...e}),null);validateSQL=async e=>(await this.putControlRequest({type:`validate-sql`,...e}),null);sendModelValue=async e=>(await this.putControlRequest({type:`model`,...e}),null);sendDocumentTransaction=()=>Promise.resolve(null);addPackage=async e=>this.rpc.proxy.request.addPackage(e);removePackage=async e=>this.rpc.proxy.request.removePackage(e);getPackageList=async()=>await this.rpc.proxy.request.listPackages();getDependencyTree=async()=>({tree:{dependencies:[],name:``,tags:[],version:null}});listSecretKeys=async e=>(await this.putControlRequest({type:`list-secret-keys`,...e}),null);discoverDataSources=async e=>(await this.putControlRequest({type:`discover-data-sources`,...e}),null);getUsageStats=v;getEnvironmentInfo=async()=>await this.rpc.proxy.request.bridge({functionName:`get_environment_info`,payload:void 0});openTutorial=v;getRecentFiles=v;getWorkspaceFiles=v;getRunningNotebooks=v;shutdownSession=v;getExportAvailability=v;installExportRequirements=v;exportAsIPYNB=v;exportAsPDF=v;autoExportAsHTML=v;autoExportAsMarkdown=v;autoExportAsIPYNB=v;updateCellOutputs=v;writeSecret=v;invokeAiTool=v;clearCache=v;getCacheInfo=v;listStorageEntries=v;downloadStorage=v;async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:`put_control_request`,payload:e})}};function He(){return j.withProducerCallback(e=>{z.INSTANCE.attachMessageConsumer(e)})}function B(){let e=typeof window<`u`&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0;return ie()+(e?`::controller`:``)}function Ue(e=x()){let t=window.fetch;return window.fetch=async(n,r)=>{let i=n instanceof Request?n.url:n.toString();if(i.startsWith(`data:`))return t(n,r);try{let a=H(i,e);if(a){let e=await(await t(a)).arrayBuffer();return new Response(e,{headers:{"Content-Type":We(i)}})}return t(n,r)}catch(e){return _.error(`Error parsing URL`,e),t(n,r)}},()=>{window.fetch=t}}function We(e){return e.endsWith(`.csv`)?`text/csv`:e.endsWith(`.json`)?`application/json`:e.endsWith(`.txt`)?`text/plain`:`application/octet-stream`}function Ge(e,t=x()){let n=e.http.bind(e),r=e.load.bind(e);return e.http=async e=>{let r=H(e,t);if(r)return await window.fetch(r).then(e=>e.text());try{return await n(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},e.load=async e=>{let n=H(e,t);if(n)return await window.fetch(n).then(e=>e.text());try{return await r(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},()=>{e.http=n,e.load=r}}function V(e){return e.startsWith(`.`)?e.slice(1):e}function Ke(e,t=x()){let n=H(e,t);if(!n)return e;let r=me(n);return URL.createObjectURL(r)}function H(e,t){let n=document.baseURI;n.startsWith(`blob:`)&&(n=n.replace(`blob:`,``));let r=new URL(e,n).pathname,i=U(e),a=U(r);return t[e]||t[V(e)]||t[r]||t[V(r)]||i&&t[i]||a&&t[a]}function U(e){let t=e.indexOf(`/@file/`);return t===-1?null:e.slice(t)}function W(e,t){return{get(t){return e.get(t)},set(t,n){e.set(t,n)},save_changes(){e.save_changes()},send:e.send.bind(e),on(n,r){t.aborted||(e.on(n,r),t.addEventListener(`abort`,()=>e.off(n,r),{once:!0}))},off(t,n){e.off(t??null,n??null)},widget_manager:{async get_model(n){return W(await e.widget_manager.get_model(n),t)}}}}function G(e){return typeof e==`string`&&e.length>0}function K(e){if(typeof e==`string`&&e.startsWith(`anywidget:`)){let t=e.slice(10);if(G(t))return t}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(e)}`)}function qe(e,t){return{async getModel(n){let r=K(n);return W(await e.getModel(r),t)},async getWidget(n){let r=K(n),i=await e.getWidget(r);return{exports:i.exports,async render({el:e,signal:n}){await i.render({el:e,signal:n??t})}}}}}var q=Symbol(`marimo`);function J(e){return e[q]}var Y=class e{#e=`change`;#t;#n;#r;#i={};static _modelManager;constructor(e,t,n){this.#n=e,this.#r=t,this.#t=new Set,n&&n.addEventListener(`abort`,()=>{_.debug(`[Model] Signal aborted, clearing all listeners`),this.#i={}})}[q]={updateAndEmitDiffs:e=>this.#o(e),emitCustomMessage:(e,t)=>this.#s(e,t)};off(e,t){if(!e){this.#i={};return}if(!t){this.#i[e]=new Set;return}this.#i[e]?.delete(t)}send(e,t,n){let r=(n??[]).map(e=>e instanceof ArrayBuffer?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength));return this.#r.sendCustomMessage(e,r).then(()=>t?.())}widget_manager={async get_model(t){let n=await e._modelManager.getModel(t);if(!n)throw Error(`Model not found with id: ${t}. This is likely because the model was not registered.`);return n}};get(e){return this.#n[e]}set(e,t){this.#n={...this.#n,[e]:t},this.#t.add(e),this.#a(`change:${e}`,t),this.#c()}save_changes(){if(this.#t.size===0)return;let e=Object.fromEntries([...this.#t].map(e=>[e,this.#n[e]]));this.#t.clear(),this.#r.sendUpdate(e)}on(e,t,n){let r=n?.signal;r?.aborted||(this.#i[e]||(this.#i[e]=new Set),this.#i[e].add(t),r?.addEventListener(`abort`,()=>this.off(e,t),{once:!0}))}#a(e,t){let n=this.#i[e];if(n)for(let e of[...n])try{e(t)}catch(e){_.error(`Error emitting event`,e)}}#o(e){e!=null&&Object.keys(e).forEach(t=>{let n=t;this.#t.delete(n),this.#n[n]!==e[n]&&(this.#n={...this.#n,[n]:e[n]},this.#a(`change:${n}`,e[n]),this.#c())})}#s(e,t=[]){let n=this.#i[`msg:custom`];if(n)for(let r of[...n])try{r(e.content,t)}catch(e){_.error(`Error emitting event`,e)}}#c=m(()=>{let e=this.#i[this.#e];if(e)for(let t of[...e])try{t()}catch(e){_.error(`Error emitting event`,e)}},0)};function Je(e){return typeof e==`function`}function Ye(e){return typeof e==`function`}function Xe(e){return o(e)&&(Je(e.render)||Ye(e.initialize))}function Ze(e){return typeof e==`function`||Xe(e)}function Qe(e){return o(e)&&Ze(e.default)}var $e=new Set,et=new WeakMap;function tt(e,t){if(Qe(e))return e.default;if(!o(e)||e.default!==void 0)return null;let n=Je(e.render)?e.render:void 0,r=Ye(e.initialize)?e.initialize:void 0;if(n===void 0&&r===void 0)return null;let i=et.get(e);if(i)return i;$e.has(t)||($e.add(t),_.warn(`Anywidget module at ${t} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let a={render:n,initialize:r};return et.set(e,a),a}function nt(e,t){let n=`https://anywidget.dev/en/afm/`,r=o(e)&&c(e,`render`),i=o(e)&&c(e,`initialize`);if(o(e)&&e.default!==void 0)return Error(`Anywidget module at ${t} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${n}`);if(r||i){let e=[r?"`render`":null,i?"`initialize`":null].filter(Boolean).join(` and `),a=[r?`render`:null,i?`initialize`:null].filter(e=>e!==null),o=`export default { ${a.join(`, `)} }`,s=a.length===1?`export function ${a[0]}`:`named export function ...`;return Error(`Anywidget module at ${t} uses named exports (${e}). Per the AFM spec, use a default export instead: \`${o}\` (not \`${s}\`). See ${n}`)}return Error(`Anywidget module at ${t} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${n}`)}function rt(e){return typeof e!=`string`||e.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(e)||at(e))}function it(){return n.get(fe)||de()}function at(e){return e.startsWith(`data:text/javascript;base64,`)||e.startsWith(`data:application/javascript;base64,`)||e.startsWith(`data:text/css;base64,`)?it():!1}var ot={invoke:async()=>{let e=`anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues`;throw _.warn(e),Error(e)}};function st(e){if(typeof AbortSignal.any==`function`)return AbortSignal.any(e);let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(n.reason),t.signal;n.addEventListener(`abort`,()=>t.abort(n.reason),{once:!0})}return t.signal}var ct=class{#e=new Map;getModule(e){let{jsUrl:t,jsHash:n,kernelAuthored:r=!1}=e,i=this.#e.get(n);if(i)return i;let a=this.#t(t,{kernelAuthored:r}).catch(e=>{throw this.#e.delete(n),e});return this.#e.set(n,a),a}invalidate(e){this.#e.delete(e)}async#t(e,t={}){if(!(rt(e)||t.kernelAuthored===!0&&/^(https?:|data:)/.test(e)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(e)}`);let n=ne(e).toString();return S()&&(n=Ke(n)),le(()=>import(n),[],import.meta.url)}};function X(e){return typeof e==`function`}async function lt(e,t){try{await e()}catch(e){_.warn(`[WidgetBinding] ${t} cleanup failed`,e)}}var ut=class e{#e;#t;#n;#r;#i;#a=new Set;#o=new Set;constructor(e){this.#t=e.widget,this.#n=e.model,this.#r=e.exports,this.#e=e.controller,this.#i=e.createHost}static async create({widgetDef:t,model:n,createHost:r,controller:i=new AbortController}){let a=i.signal,o=typeof t==`function`?await t():t,s=Promise.resolve(o.initialize?.({model:W(n,a),experimental:ot,signal:a}));s.then(async e=>{a.aborted&&X(e)&&await lt(e,`late initialize`)}).catch(()=>void 0);let c=await Promise.race([s,new Promise((e,t)=>{let n=()=>t(Error(`[anywidget] binding destroyed`));if(a.aborted){n();return}a.addEventListener(`abort`,n,{once:!0})})]);if(a.aborted)throw Error(`[anywidget] binding destroyed`);let l,u;X(c)?(u=c,l=void 0):l=typeof c==`object`&&c?c:void 0;let d=new e({widget:o,model:n,exports:l,controller:i,createHost:r});return u&&a.addEventListener(`abort`,()=>void d.#c(u,`initialize`),{once:!0}),d}get exports(){return this.#r}async createView(e,t){let n=this.#s(e,t);this.#o.add(n);try{await n}finally{this.#o.delete(n)}}async#s(e,t){let n=this.#t;if(!n.render)return;let r=st([t.signal,this.#e.signal]);if(r.aborted)return;e.el.innerHTML=``;let i=this.#i(r),a=await n.render({model:W(this.#n,r),el:e.el,experimental:ot,signal:r,host:i});if(X(a)){let e=()=>{let e=t.signal.aborted?`view unmount`:`binding destroyed`;return _.debug(`[WidgetBinding] Render cleanup triggered (reason: ${e})`),this.#c(a,`render`)};if(r.aborted){await e();return}r.addEventListener(`abort`,()=>void e(),{once:!0})}}#c(e,t){let n=lt(e,t);return this.#a.add(n),n.finally(()=>this.#a.delete(n)),n}async destroy(){for(_.debug(`[WidgetBinding] Destroying binding generation`),this.#e.abort(),await Promise.allSettled(this.#o);this.#a.size>0;)await Promise.all(this.#a)}},dt=new ct,ft=class{#e;#t;#n;#r;#i;#a=new AbortController;#o=new E;#s=new Set;#c=new Map;#l;#u;#d;#f=Promise.resolve();#p=``;constructor(e,t){this.#e=e,this.#t=t.timeout,this.#n=t.isEditMode,this.#r=t.createHost,this.#i=t.onModelTimeout}getModel(){return this.#o.status===`pending`&&!this.#l&&(this.#l=setTimeout(()=>{this.#o.status===`pending`&&(this.#l=void 0,this.#o.reject(Error(`Model not found for key: ${this.#e}`)),this.#i())},this.#t)),this.#o.promise}getModelSync(){return this.#o.status===`resolved`?this.#o.value:void 0}createModel(e){this.#o.status===`pending`&&this.#m(e(this.#a.signal))}setModel(e){this.#o.status===`pending`&&this.#m(e)}#m(e){this.#l&&=(clearTimeout(this.#l),void 0),this.#o.resolve(e);let t=e.get(`_css`);this.#p=typeof t==`string`?t:``,e.on(`change:_css`,e=>{this.#p=typeof e==`string`?e:``;for(let e of this.#c.values())e.update(this.#p)},{signal:this.#a.signal})}setSpec(e){if(!this.#u){this.#u=e;return}this.#n()&&(this.#u=e,this.#d&&this.#d.hash!==e.hash&&this.#v(e))}async getWidget(){return{exports:(await this.#h()).exports,render:async({el:e,signal:t})=>{await this.createView({el:e,signal:t??this.#a.signal})}}}async createView(e){if(e.signal.aborted||this.#a.signal.aborted)return;let t={el:e.el,signal:e.signal};this.#s.add(t),this.#x(t),e.signal.addEventListener(`abort`,()=>this.#s.delete(t),{once:!0}),await this.#b(t)}async#h(){for(;!this.#a.signal.aborted;){let e=await this.getModel(),t=this.#d;if(!t){let n=this.#u;if(!n)throw Error(`[anywidget] No ESM spec for model ${this.#e}: nothing ever provided this widget's code`);t=this.#_(n,e)}try{let e=await t.promise;if(t===this.#d)return e}catch(e){if(!this.#d||t===this.#d)throw e}}throw Error(`[anywidget] widget runtime destroyed`)}async#g(e){let{spec:t,model:n,controller:r}=e,i=await dt.getModule({jsUrl:t.url,jsHash:t.hash,kernelAuthored:!0}),a=tt(i,t.url);if(!a)throw dt.invalidate(t.hash),nt(i,t.url);return ut.create({widgetDef:a,model:n,createHost:this.#r,controller:r})}#_(e,t){let n=new AbortController,r={hash:e.hash,controller:n,promise:this.#g({spec:e,model:t,controller:n})};return r.promise.catch(()=>{this.#d===r&&(this.#d=void 0)}),this.#d=r,r}#v(e){let t=this.#d;if(!t)return;_.debug(`[WidgetRuntime] Hot-swapping generation for model=${this.#e}`);let n=this.#y(t),r=this.getModelSync();if(!r)return;let i=this.#_(e,r);for(let e of this.#s)e.generation=void 0,n.then(()=>this.#b(e,i)).catch(e=>{_.error(`[WidgetRuntime] Error replacing widget view`,e)})}#y(e){e.controller.abort();let t=this.#f.then(async()=>{try{await(await e.promise).destroy()}catch{}});return this.#f=t,t}async#b(e,t){if(e.signal.aborted||this.#a.signal.aborted)return;let n=t??this.#d,r=n?await n.promise:await this.#h(),i=this.#d;if(!(!i||i!==(n??i))&&e.generation!==i){e.generation=i;try{await r.createView({el:e.el},{signal:e.signal})}catch(t){if(i!==this.#d){e.generation=void 0;return}throw t}}}#x(e){let t=e.el.getRootNode();if(!Z(t)&&!pt(t))return;let n=this.#c.get(t);n||(n=mt(t,this.#p),this.#c.set(t,n)),n.references+=1;let r=!1;e.signal.addEventListener(`abort`,()=>{if(r)return;r=!0;let e=this.#c.get(t);e&&(--e.references,e.references===0&&(e.dispose(),this.#c.delete(t)))},{once:!0})}dispose(){if(!this.#a.signal.aborted){_.debug(`[WidgetRuntime] Disposing model=${this.#e}`),this.#l&&=(clearTimeout(this.#l),void 0),this.#o.status===`pending`&&(this.#o.promise.catch(()=>void 0),this.#o.reject(Error(`[anywidget] widget runtime destroyed`))),this.#d&&this.#y(this.#d),this.#a.abort(),this.#s.clear();for(let e of this.#c.values())e.dispose();this.#c.clear()}}};function Z(e){return e.nodeType===Node.DOCUMENT_NODE}function pt(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}function mt(e,t){let n=Z(e)?e:e.ownerDocument??document,r=n.defaultView??window;if(`adoptedStyleSheets`in e&&r.CSSStyleSheet!==void 0&&typeof r.CSSStyleSheet.prototype.replaceSync==`function`)try{let n=new r.CSSStyleSheet;return n.replaceSync(t),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],{references:0,update(e){n.replaceSync(e)},dispose(){e.adoptedStyleSheets=e.adoptedStyleSheets.filter(e=>e!==n)}}}catch{}let i=n.createElement(`style`);return i.textContent=t,Z(e)?n.head.append(i):e.append(i),{references:0,update(e){i.textContent=e},dispose(){i.remove()}}}function Q(e,t=[]){let n=[];if(e instanceof DataView)n.push(t);else if(Array.isArray(e))for(let[r,i]of e.entries())n.push(...Q(i,[...t,r]));else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))n.push(...Q(i,[...t,r]));return n}function ht(e){let t=Q(e);if(t.length===0)return{state:e,buffers:[],bufferPaths:[]};let n=structuredClone(e),r=[],i=[];for(let a of t){let t=p(e,a);if(t instanceof DataView){let e=T(t);r.push(e),i.push(a),k(n,a,e)}}return{state:n,buffers:r,bufferPaths:i}}function gt(e){let{state:t,bufferPaths:n,buffers:r}=e;if(!n||n.length===0)return t;r&&y(r.length===n.length,`Buffers and buffer paths not the same length`);let i=t;for(let[e,t]of n.entries()){let n=r?.[e];if(n==null){_.warn(`[anywidget] Could not find buffer at path`,t);continue}typeof n==`string`?k(i,t,se(n)):k(i,t,n)}return i}function _t(){let e=n.get(ee).mode;return e===`edit`||e===`present`}var $=new class{#e=new Map;#t;#n;constructor(e=1e4,t=_t){this.#t=e,this.#n=t}#r(e){let t=this.#e.get(e);if(!t){let n=new ft(e,{timeout:this.#t,isEditMode:this.#n,createHost:e=>qe(this,e),onModelTimeout:()=>{this.#e.get(e)===n&&(n.dispose(),this.#e.delete(e))}});t=n,this.#e.set(e,t)}return t}getModel(e){return this.#r(e).getModel()}getModelSync(e){return this.#e.get(e)?.getModelSync()}createModel(e,t){this.#r(e).createModel(t)}setModel(e,t){this.#r(e).setModel(t)}setSpec(e,t){this.#r(e).setSpec(t)}getWidget(e){return this.#r(e).getWidget()}createView(e){return this.#r(e.modelId).createView(e)}delete(e){let t=this.#e.get(e);t&&(t.dispose(),this.#e.delete(e))}};Y._modelManager=$;async function vt(e,t){let n=t.model_id;if(!G(n))throw Error(`[anywidget] Invalid model id: ${String(n)}`);let r=t.message,i=(`buffers`in r?r.buffers:[]).map(se);switch(r.method){case`open`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=gt({state:t,bufferPaths:a,buffers:i}),s=e.getModelSync(n);if(s){J(s).updateAndEmitDiffs(o);return}e.createModel(n,e=>{let t=S()?{sendUpdate:async()=>void 0,sendCustomMessage:async()=>void 0}:{async sendUpdate(t){if(e.aborted){_.debug(`[Model] sendUpdate suppressed for model=${n} (signal aborted)`);return}let{state:r,buffers:i,bufferPaths:a}=ht(t);await w().sendModelValue({modelId:n,message:{method:`update`,state:r,bufferPaths:a},buffers:i})},async sendCustomMessage(t,r){if(e.aborted){_.debug(`[Model] sendCustomMessage suppressed for model=${n} (signal aborted)`);return}await w().sendModelValue({modelId:n,message:{method:`custom`,content:t},buffers:r.map(T)})}};return new Y(o,t,e)});return}case`custom`:J(await e.getModel(n)).emitCustomMessage({method:`custom`,content:r.content},i);return;case`close`:e.delete(n);return;case`update`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=gt({state:t,bufferPaths:a,buffers:i});J(await e.getModel(n)).updateAndEmitDiffs(o);return}default:oe(r)}}s($,`WIDGET_REGISTRY`);function yt(e){return typeof e!=`object`||!e?!1:`type`in e&&e.type===`marimo-ui-value-update`}var bt=class e{entries;static get INSTANCE(){let t=`_marimo_private_UIElementRegistry`;return window[t]||(window[t]=new e),window[t]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,t){this.entries.has(e)&&_.debug(`UIElementRegistry overwriting entry for objectId.`,e),this.entries.set(e,{objectId:e,value:t,elements:new Set})}registerInstance(e,t){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:r(t,this),elements:new Set([t])}):n.elements.add(t)}removeInstance(e,t){let n=this.entries.get(e);n?.elements.has(t)&&n.elements.delete(t)}removeElementsByCell(e){[...this.entries.keys()].filter(t=>t.startsWith(`${e}-`)).forEach(e=>{this.entries.delete(e)})}lookupValue(e){let t=this.entries.get(e);return t===void 0?void 0:t.value}broadcastMessage(e,t,n){let r=this.entries.get(e);if(r===void 0){_.warn(`UIElementRegistry missing entry`,e);return}if(yt(t)){r.value=t.value,r.elements.forEach(e=>{e.dispatchEvent(O.create({bubbles:!1,composed:!0,detail:{value:t.value,element:e}}))});return}r.elements.forEach(r=>{r.dispatchEvent(ye.create({bubbles:!1,composed:!0,detail:{objectId:e,message:t,buffers:n}}))})}broadcastValueUpdate(e,t,n){let r=this.entries.get(t);r===void 0?_.warn(`UIElementRegistry missing entry`,t):(r.value=n,r.elements.forEach(t=>{t!==e&&t.dispatchEvent(O.create({bubbles:!1,composed:!0,detail:{value:n,element:t}}))}),document.dispatchEvent(ve.create({bubbles:!0,composed:!0,detail:{objectId:t}})))}},xt=bt.INSTANCE,St=new ce(`function-call-result`,async(e,t)=>{await w().sendFunctionRequest({functionCallId:e,...t})}),Ct=`68px`,wt=`288px`,Tt=e=>e?/^\d+$/.test(e)?`${e}px`:e:wt,Et=i({isOpen:!0},(e,t)=>{if(!t)return e;switch(t.type){case`toggle`:return{...e,isOpen:t.isOpen??e.isOpen};case`setWidth`:return{...e,width:t.width};default:return e}});export{A as _,bt as a,we as b,vt as c,Ue as d,Ge as f,j as g,L as h,St as i,rt as l,He as m,Tt as n,xt as o,z as p,Et as r,$ as s,Ct as t,G as u,be as v,k as x,Ce as y};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{t as r}from"./compiler-runtime-CYIjoINj.js";import{g as i,o as a}from"./useEventListener-92uWqz-P.js";import{r as o}from"./config-BRRSKtP3.js";import{n as s,t as c}from"./cn-ldLVeaqm.js";import{t as l}from"./jsx-runtime-B74pBk57.js";import{C as u,w as d,x as f,y as p}from"./fullscreen-BFfuaW3H.js";import{o as m}from"./dist-ConG15vZ.js";import{h}from"./select-BJKJFWHk.js";import{t as g}from"./strings-CReV1AYG.js";import{r as _}from"./errors-DzO-nXy-.js";function v(){try{return window.__MARIMO_MOUNT_CONFIG__.version}catch{return i.warn(`Failed to get version from mount config`),null}}var y=v()||`latest`,b=t(y),x=t(!0),S=t(null),C=e(n(),1),w=l(),T=`Switch`,[E,ee]=u(T),[D,O]=E(T),k=C.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:o,required:s,disabled:c,value:l=`on`,onCheckedChange:u,form:m,...h}=e,[g,_]=C.useState(null),v=a(t,e=>_(e)),y=C.useRef(!1),b=!g||m||!!g.closest(`form`),[x,S]=p({prop:i,defaultProp:o??!1,onChange:u,caller:T});return(0,w.jsxs)(D,{scope:n,checked:x,disabled:c,children:[(0,w.jsx)(d.button,{type:`button`,role:`switch`,"aria-checked":x,"aria-required":s,"data-state":P(x),"data-disabled":c?``:void 0,disabled:c,value:l,...h,ref:v,onClick:f(e.onClick,e=>{S(e=>!e),b&&(y.current=e.isPropagationStopped(),y.current||e.stopPropagation())})}),b&&(0,w.jsx)(N,{control:g,bubbles:!y.current,name:r,value:l,checked:x,required:s,disabled:c,form:m,style:{transform:`translateX(-100%)`}})]})});k.displayName=T;var A=`SwitchThumb`,j=C.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=O(A,n);return(0,w.jsx)(d.span,{"data-state":P(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});j.displayName=A;var M=`SwitchBubbleInput`,N=C.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},o)=>{let s=C.useRef(null),c=a(s,o),l=h(n),u=m(t);return C.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(l!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[l,n,r]),(0,w.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:c,style:{...i.style,...u,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});N.displayName=M;function P(e){return e?`checked`:`unchecked`}var F=k,I=j,L={"Content-Type":`application/json`},R=/\{[^{}]+\}/g,z=class extends Request{constructor(e,t){super(e,t);for(let e in t)e in this||(this[e]=t[e])}};function B(e){let{baseUrl:t=``,fetch:n=globalThis.fetch,querySerializer:r,bodySerializer:i,headers:a,...o}={...e};t.endsWith(`/`)&&(t=t.substring(0,t.length-1)),a=J(L,a);let s=[];async function c(e,c){let{fetch:l=n,headers:u,params:d={},parseAs:f=`json`,querySerializer:p,bodySerializer:m=i??K,...h}=c||{},g=typeof r==`function`?r:W(r);p&&(g=typeof p==`function`?p:W({...typeof r==`object`?r:{},...p}));let _={redirect:`follow`,...o,...h,headers:J(a,u,d.header)};_.body&&=m(_.body),_.body instanceof FormData&&_.headers.delete(`Content-Type`);let v=new z(q(e,{baseUrl:t,params:d,querySerializer:g}),_),y={baseUrl:t,fetch:l,parseAs:f,querySerializer:g,bodySerializer:m};for(let t of s)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){v.schemaPath=e,v.params=d;let n=await t.onRequest(v,y);if(n){if(!(n instanceof Request))throw Error(`Middleware must return new Request() when modifying the request`);v=n}}let b=await l(v);for(let e=s.length-1;e>=0;e--){let t=s[e];if(t&&typeof t==`object`&&typeof t.onResponse==`function`){let e=await t.onResponse(b,y);if(e){if(!(e instanceof Response))throw Error(`Middleware must return new Response() when modifying the response`);b=e}}}if(b.status===204||b.headers.get(`Content-Length`)===`0`)return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok)return f===`stream`?{data:b.body,response:b}:{data:await b[f](),response:b};let x=await b.text();try{x=JSON.parse(x)}catch{}return{error:x,response:b}}return{async GET(e,t){return c(e,{...t,method:`GET`})},async PUT(e,t){return c(e,{...t,method:`PUT`})},async POST(e,t){return c(e,{...t,method:`POST`})},async DELETE(e,t){return c(e,{...t,method:`DELETE`})},async OPTIONS(e,t){return c(e,{...t,method:`OPTIONS`})},async HEAD(e,t){return c(e,{...t,method:`HEAD`})},async PATCH(e,t){return c(e,{...t,method:`PATCH`})},async TRACE(e,t){return c(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");s.push(t)}},eject(...e){for(let t of e){let e=s.indexOf(t);e!==-1&&s.splice(e,1)}}}}function V(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function H(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(V(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function U(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(V(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function W(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){n.push(U(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(H(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(V(r,i,e))}}return n.join(`&`)}}function G(e,t){let n=e;for(let r of e.match(R)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,U(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,H(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${V(e,o)}`);continue}n=n.replace(r,a===`label`?`.${o}`:o)}return n}function K(e){return JSON.stringify(e)}function q(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=G(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function J(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function Y(e){return B(e)}function X(){let e=o().httpURL;return e.search=``,e.hash=``,e.toString()}function Z(e){if(!e)return;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1])}catch{return}let n=e.match(/filename="([^"]+)"/i);if(n)return n[1];let r=e.match(/filename=([^;]+)/i);if(r)return r[1].trim()}function te(e){let t=Z(e.headers.get(`Content-Disposition`));return t||i.warn(`Export response is missing a readable Content-Disposition filename`),t}var Q={post(e,t,n={}){let r=`${g.withTrailingSlash(n.baseUrl??X())}api${e}`;return fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`,...Q.headers(),...n.headers},body:JSON.stringify(t),signal:n.signal}).then(async e=>{let t=e.headers.get(`Content-Type`)?.startsWith(`application/json`);if(!e.ok){let n=t?await e.json():await e.text();throw new _(e.status,e.statusText,n)}return t?e.json():e.text()}).catch(e=>{throw i.error(`Error requesting ${r}`,e),e})},get(e,t={}){let n=`${g.withTrailingSlash(t.baseUrl??X())}api${e}`;return fetch(n,{method:`GET`,headers:{...Q.headers(),...t.headers}}).then(e=>{if(!e.ok)throw new _(e.status,e.statusText);return e.headers.get(`Content-Type`)?.startsWith(`application/json`)?e.json():null}).catch(e=>{throw i.error(`Error requesting ${n}`,e),e})},headers(){return o().headers()},handleResponse:e=>e.error?Promise.reject(new _(e.response.status,e.response.statusText,e.error)):Promise.resolve(e.data),handleExportResponse:async(e,t)=>{let n=await Q.handleResponse(e),r=e.response.headers.get(`Content-Type`);if(!r)throw Error(`Export response is missing a media type`);return{contents:n,filename:te(e.response)??t.defaultFilename,mediaType:r}},handleResponseReturnNull:e=>e.error?Promise.reject(new _(e.response.status,e.response.statusText,e.error)):Promise.resolve(null)};function ne(e){let t=Y({baseUrl:e.httpURL.toString()});return t.use({onRequest:t=>{let n=e.headers();for(let[e,r]of Object.entries(n))t.headers.set(e,r);return t}}),t}var re=r(),ie=s(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,{variants:{size:{default:`h-6 w-11 mb-1`,sm:`h-4.5 w-8.5`,xs:`h-4 w-7`}},defaultVariants:{size:`default`}}),ae=s(`pointer-events-none block rounded-full bg-background shadow-xs ring-0 transition-transform`,{variants:{size:{default:`h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`,sm:`h-3.5 w-3.5 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`,xs:`h-3 w-3 data-[state=checked]:translate-x-3 data-[state=unchecked]:translate-x-0`}},defaultVariants:{size:`default`}}),$=C.forwardRef((e,t)=>{let n=(0,re.c)(16),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,size:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]!==r||n[5]!==a?(o=c(ie({size:a}),r),n[4]=r,n[5]=a,n[6]=o):o=n[6];let s;n[7]===a?s=n[8]:(s=c(ae({size:a})),n[7]=a,n[8]=s);let l;n[9]===s?l=n[10]:(l=(0,w.jsx)(I,{className:s}),n[9]=s,n[10]=l);let u;return n[11]!==i||n[12]!==t||n[13]!==o||n[14]!==l?(u=(0,w.jsx)(F,{className:o,...i,ref:t,children:l}),n[11]=i,n[12]=t,n[13]=o,n[14]=l,n[15]=u):u=n[15],u});$.displayName=F.displayName;export{S as a,b as i,Q as n,x as o,ne as r,$ as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{t as r}from"./compiler-runtime-CYIjoINj.js";import{g as i,o as a}from"./useEventListener-92uWqz-P.js";import{r as o}from"./config-BlNM0caL.js";import{n as s,t as c}from"./cn-ldLVeaqm.js";import{t as l}from"./jsx-runtime-B74pBk57.js";import{S as u,T as d,b as f,w as p}from"./fullscreen-BH2jz-F4.js";import{o as m}from"./dist-DzCQtGkt.js";import{h}from"./select-nLt2y0Sw.js";import{t as g}from"./strings-CReV1AYG.js";import{r as _}from"./errors-DzO-nXy-.js";function v(){try{return window.__MARIMO_MOUNT_CONFIG__.version}catch{return i.warn(`Failed to get version from mount config`),null}}var y=v()||`latest`,b=t(y),x=t(!0),S=t(null),C=e(n(),1),w=l(),T=`Switch`,[E,ee]=p(T),[D,O]=E(T),k=C.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:o,required:s,disabled:c,value:l=`on`,onCheckedChange:p,form:m,...h}=e,[g,_]=C.useState(null),v=a(t,e=>_(e)),y=C.useRef(!1),b=!g||m||!!g.closest(`form`),[x,S]=f({prop:i,defaultProp:o??!1,onChange:p,caller:T});return(0,w.jsxs)(D,{scope:n,checked:x,disabled:c,children:[(0,w.jsx)(d.button,{type:`button`,role:`switch`,"aria-checked":x,"aria-required":s,"data-state":P(x),"data-disabled":c?``:void 0,disabled:c,value:l,...h,ref:v,onClick:u(e.onClick,e=>{S(e=>!e),b&&(y.current=e.isPropagationStopped(),y.current||e.stopPropagation())})}),b&&(0,w.jsx)(N,{control:g,bubbles:!y.current,name:r,value:l,checked:x,required:s,disabled:c,form:m,style:{transform:`translateX(-100%)`}})]})});k.displayName=T;var A=`SwitchThumb`,j=C.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=O(A,n);return(0,w.jsx)(d.span,{"data-state":P(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});j.displayName=A;var M=`SwitchBubbleInput`,N=C.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},o)=>{let s=C.useRef(null),c=a(s,o),l=h(n),u=m(t);return C.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(l!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[l,n,r]),(0,w.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:c,style:{...i.style,...u,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});N.displayName=M;function P(e){return e?`checked`:`unchecked`}var F=k,I=j,L={"Content-Type":`application/json`},R=/\{[^{}]+\}/g,z=class extends Request{constructor(e,t){super(e,t);for(let e in t)e in this||(this[e]=t[e])}};function B(e){let{baseUrl:t=``,fetch:n=globalThis.fetch,querySerializer:r,bodySerializer:i,headers:a,...o}={...e};t.endsWith(`/`)&&(t=t.substring(0,t.length-1)),a=J(L,a);let s=[];async function c(e,c){let{fetch:l=n,headers:u,params:d={},parseAs:f=`json`,querySerializer:p,bodySerializer:m=i??K,...h}=c||{},g=typeof r==`function`?r:W(r);p&&(g=typeof p==`function`?p:W({...typeof r==`object`?r:{},...p}));let _={redirect:`follow`,...o,...h,headers:J(a,u,d.header)};_.body&&=m(_.body),_.body instanceof FormData&&_.headers.delete(`Content-Type`);let v=new z(q(e,{baseUrl:t,params:d,querySerializer:g}),_),y={baseUrl:t,fetch:l,parseAs:f,querySerializer:g,bodySerializer:m};for(let t of s)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){v.schemaPath=e,v.params=d;let n=await t.onRequest(v,y);if(n){if(!(n instanceof Request))throw Error(`Middleware must return new Request() when modifying the request`);v=n}}let b=await l(v);for(let e=s.length-1;e>=0;e--){let t=s[e];if(t&&typeof t==`object`&&typeof t.onResponse==`function`){let e=await t.onResponse(b,y);if(e){if(!(e instanceof Response))throw Error(`Middleware must return new Response() when modifying the response`);b=e}}}if(b.status===204||b.headers.get(`Content-Length`)===`0`)return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok)return f===`stream`?{data:b.body,response:b}:{data:await b[f](),response:b};let x=await b.text();try{x=JSON.parse(x)}catch{}return{error:x,response:b}}return{async GET(e,t){return c(e,{...t,method:`GET`})},async PUT(e,t){return c(e,{...t,method:`PUT`})},async POST(e,t){return c(e,{...t,method:`POST`})},async DELETE(e,t){return c(e,{...t,method:`DELETE`})},async OPTIONS(e,t){return c(e,{...t,method:`OPTIONS`})},async HEAD(e,t){return c(e,{...t,method:`HEAD`})},async PATCH(e,t){return c(e,{...t,method:`PATCH`})},async TRACE(e,t){return c(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");s.push(t)}},eject(...e){for(let t of e){let e=s.indexOf(t);e!==-1&&s.splice(e,1)}}}}function V(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function H(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(V(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function U(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(V(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function W(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){n.push(U(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(H(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(V(r,i,e))}}return n.join(`&`)}}function G(e,t){let n=e;for(let r of e.match(R)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,U(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,H(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${V(e,o)}`);continue}n=n.replace(r,a===`label`?`.${o}`:o)}return n}function K(e){return JSON.stringify(e)}function q(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=G(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function J(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function Y(e){return B(e)}function X(){let e=o().httpURL;return e.search=``,e.hash=``,e.toString()}function Z(e){if(!e)return;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1])}catch{return}let n=e.match(/filename="([^"]+)"/i);if(n)return n[1];let r=e.match(/filename=([^;]+)/i);if(r)return r[1].trim()}function te(e){let t=Z(e.headers.get(`Content-Disposition`));return t||i.warn(`Export response is missing a readable Content-Disposition filename`),t}var Q={post(e,t,n={}){let r=`${g.withTrailingSlash(n.baseUrl??X())}api${e}`;return fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`,...Q.headers(),...n.headers},body:JSON.stringify(t),signal:n.signal}).then(async e=>{let t=e.headers.get(`Content-Type`)?.startsWith(`application/json`);if(!e.ok){let n=t?await e.json():await e.text();throw new _(e.status,e.statusText,n)}return t?e.json():e.text()}).catch(e=>{throw i.error(`Error requesting ${r}`,e),e})},get(e,t={}){let n=`${g.withTrailingSlash(t.baseUrl??X())}api${e}`;return fetch(n,{method:`GET`,headers:{...Q.headers(),...t.headers}}).then(e=>{if(!e.ok)throw new _(e.status,e.statusText);return e.headers.get(`Content-Type`)?.startsWith(`application/json`)?e.json():null}).catch(e=>{throw i.error(`Error requesting ${n}`,e),e})},headers(){return o().headers()},handleResponse:e=>e.error?Promise.reject(new _(e.response.status,e.response.statusText,e.error)):Promise.resolve(e.data),handleExportResponse:async(e,t)=>{let n=await Q.handleResponse(e),r=e.response.headers.get(`Content-Type`);if(!r)throw Error(`Export response is missing a media type`);return{contents:n,filename:te(e.response)??t.defaultFilename,mediaType:r}},handleResponseReturnNull:e=>e.error?Promise.reject(new _(e.response.status,e.response.statusText,e.error)):Promise.resolve(null)};function ne(e){let t=Y({baseUrl:e.httpURL.toString()});return t.use({onRequest:t=>{let n=e.headers();for(let[e,r]of Object.entries(n))t.headers.set(e,r);return t}}),t}var re=r(),ie=s(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,{variants:{size:{default:`h-6 w-11 mb-1`,sm:`h-4.5 w-8.5`,xs:`h-4 w-7`}},defaultVariants:{size:`default`}}),ae=s(`pointer-events-none block rounded-full bg-background shadow-xs ring-0 transition-transform`,{variants:{size:{default:`h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`,sm:`h-3.5 w-3.5 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`,xs:`h-3 w-3 data-[state=checked]:translate-x-3 data-[state=unchecked]:translate-x-0`}},defaultVariants:{size:`default`}}),$=C.forwardRef((e,t)=>{let n=(0,re.c)(16),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,size:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]!==r||n[5]!==a?(o=c(ie({size:a}),r),n[4]=r,n[5]=a,n[6]=o):o=n[6];let s;n[7]===a?s=n[8]:(s=c(ae({size:a})),n[7]=a,n[8]=s);let l;n[9]===s?l=n[10]:(l=(0,w.jsx)(I,{className:s}),n[9]=s,n[10]=l);let u;return n[11]!==i||n[12]!==t||n[13]!==o||n[14]!==l?(u=(0,w.jsx)(F,{className:o,...i,ref:t,children:l}),n[11]=i,n[12]=t,n[13]=o,n[14]=l,n[15]=u):u=n[15],u});$.displayName=F.displayName;export{S as a,b as i,Q as n,x as o,ne as r,$ as t};
@@ -1 +1 @@
1
- import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{t as n}from"./react-CBDbhulC.js";import{t as r}from"./compiler-runtime-CYIjoINj.js";import{t as i}from"./cn-ldLVeaqm.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{C as o,_ as s,v as c,w as l,x as u,y as d}from"./fullscreen-BFfuaW3H.js";import{u as f}from"./menu-items-CsV3aDPH.js";import{i as p,n as m,r as h}from"./circle-BiW8b6Xq.js";var g=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),_=t(((e,t)=>{t.exports=g()})),v=e(n(),1),y=a(),b=`Tabs`,[x,S]=o(b,[p]),C=p(),[w,T]=x(b),E=v.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:c,activationMode:u=`automatic`,...p}=e,m=f(c),[h,g]=d({prop:r,onChange:i,defaultProp:a??``,caller:b});return(0,y.jsx)(w,{scope:n,baseId:s(),value:h,onValueChange:g,orientation:o,dir:m,activationMode:u,children:(0,y.jsx)(l.div,{dir:m,"data-orientation":o,...p,ref:t})})});E.displayName=b;var D=`TabsList`,O=v.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=T(D,n),o=C(n);return(0,y.jsx)(h,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,y.jsx)(l.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});O.displayName=D;var k=`TabsTrigger`,A=v.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=T(k,n),s=C(n),c=N(o.baseId,r),d=P(o.baseId,r),f=r===o.value;return(0,y.jsx)(m,{asChild:!0,...s,focusable:!i,active:f,children:(0,y.jsx)(l.button,{type:`button`,role:`tab`,"aria-selected":f,"aria-controls":d,"data-state":f?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:u(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:u(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:u(e.onFocus,()=>{let e=o.activationMode!==`manual`;!f&&!i&&e&&o.onValueChange(r)})})})});A.displayName=k;var j=`TabsContent`,M=v.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=T(j,n),u=N(s.baseId,r),d=P(s.baseId,r),f=r===s.value,p=v.useRef(f);return v.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,y.jsx)(c,{present:i||f,children:({present:n})=>(0,y.jsx)(l.div,{"data-state":f?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":u,hidden:!n,id:d,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&a})})});M.displayName=j;function N(e,t){return`${e}-trigger-${t}`}function P(e,t){return`${e}-content-${t}`}var F=E,I=O,L=A,R=M,z=r(),B=F,V=v.forwardRef((e,t)=>{let n=(0,z.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=i(`inline-flex max-h-14 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,y.jsx)(I,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});V.displayName=I.displayName;var H=v.forwardRef((e,t)=>{let n=(0,z.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=i(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm`,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,y.jsx)(L,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});H.displayName=L.displayName;var U=v.forwardRef((e,t)=>{let n=(0,z.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=i(`mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2`,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,y.jsx)(R,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});U.displayName=R.displayName;export{_ as a,H as i,U as n,V as r,B as t};
1
+ import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{t as n}from"./react-CBDbhulC.js";import{t as r}from"./compiler-runtime-CYIjoINj.js";import{t as i}from"./cn-ldLVeaqm.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{S as o,T as s,b as c,v as l,w as u,y as d}from"./fullscreen-BH2jz-F4.js";import{u as f}from"./menu-items-BSRA2YI9.js";import{i as p,n as m,r as h}from"./circle-ByJdIf5p.js";var g=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),_=t(((e,t)=>{t.exports=g()})),v=e(n(),1),y=a(),b=`Tabs`,[x,S]=u(b,[p]),C=p(),[w,T]=x(b),E=v.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:u,activationMode:d=`automatic`,...p}=e,m=f(u),[h,g]=c({prop:r,onChange:i,defaultProp:a??``,caller:b});return(0,y.jsx)(w,{scope:n,baseId:l(),value:h,onValueChange:g,orientation:o,dir:m,activationMode:d,children:(0,y.jsx)(s.div,{dir:m,"data-orientation":o,...p,ref:t})})});E.displayName=b;var D=`TabsList`,O=v.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=T(D,n),o=C(n);return(0,y.jsx)(h,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,y.jsx)(s.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});O.displayName=D;var k=`TabsTrigger`,A=v.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,c=T(k,n),l=C(n),u=N(c.baseId,r),d=P(c.baseId,r),f=r===c.value;return(0,y.jsx)(m,{asChild:!0,...l,focusable:!i,active:f,children:(0,y.jsx)(s.button,{type:`button`,role:`tab`,"aria-selected":f,"aria-controls":d,"data-state":f?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:u,...a,ref:t,onMouseDown:o(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?c.onValueChange(r):e.preventDefault()}),onKeyDown:o(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&c.onValueChange(r)}),onFocus:o(e.onFocus,()=>{let e=c.activationMode!==`manual`;!f&&!i&&e&&c.onValueChange(r)})})})});A.displayName=k;var j=`TabsContent`,M=v.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,c=T(j,n),l=N(c.baseId,r),u=P(c.baseId,r),f=r===c.value,p=v.useRef(f);return v.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,y.jsx)(d,{present:i||f,children:({present:n})=>(0,y.jsx)(s.div,{"data-state":f?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:u,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&a})})});M.displayName=j;function N(e,t){return`${e}-trigger-${t}`}function P(e,t){return`${e}-content-${t}`}var F=E,I=O,L=A,R=M,z=r(),B=F,V=v.forwardRef((e,t)=>{let n=(0,z.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=i(`inline-flex max-h-14 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,y.jsx)(I,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});V.displayName=I.displayName;var H=v.forwardRef((e,t)=>{let n=(0,z.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=i(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm`,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,y.jsx)(L,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});H.displayName=L.displayName;var U=v.forwardRef((e,t)=>{let n=(0,z.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=i(`mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2`,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,y.jsx)(R,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});U.displayName=R.displayName;export{_ as a,H as i,U as n,V as r,B as t};