@marimo-team/frontend 0.25.1-dev16 → 0.25.1-dev17

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 (108) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-C88h4lNt.js → ConnectedDataExplorerComponent-6WFKCUzO.js} +1 -1
  2. package/dist/assets/{ErrorBoundary-DiVAOuIu.js → ErrorBoundary-AmSQgV_f.js} +2 -2
  3. package/dist/assets/{LazyAnyLanguageCodeMirror-CkatLiPl.js → LazyAnyLanguageCodeMirror-D38yVMV5.js} +2 -2
  4. package/dist/assets/{RunButton-CUNPkj6f.js → RunButton-CmaVvEXE.js} +1 -1
  5. package/dist/assets/{abnfDiagram-VCTEODGH-Bu_tX3p0.js → abnfDiagram-VCTEODGH-DbN3lc-G.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-Cy3EWZ0o.js → add-cell-with-ai-DYEESV1_.js} +1 -1
  7. package/dist/assets/{agent-panel-swPAoSNP.js → agent-panel-BBXyOr4f.js} +1 -1
  8. package/dist/assets/{ai-model-dropdown-DMLd7Ok7.js → ai-model-dropdown-DWp8ZCIu.js} +1 -1
  9. package/dist/assets/{any-language-editor-DPDwgVWc.js → any-language-editor-DxOWP_Dz.js} +1 -1
  10. package/dist/assets/{app-config-button-BgkqErn7.js → app-config-button-DXferVy2.js} +1 -1
  11. package/dist/assets/{architectureDiagram-5GKGNRK7-9Q5iChpn.js → architectureDiagram-5GKGNRK7-CxYo7ny1.js} +1 -1
  12. package/dist/assets/{blockDiagram-I7D4REHJ-D47vsx_7.js → blockDiagram-I7D4REHJ-XXtnxNOM.js} +1 -1
  13. package/dist/assets/{cache-panel-C9dxBcWT.js → cache-panel-CDGgj_k1.js} +1 -1
  14. package/dist/assets/{cells-Cu3p4E4U.js → cells-B3WiM6w3.js} +3 -3
  15. package/dist/assets/{chat-display-DobIxXep.js → chat-display-B735hdwS.js} +1 -1
  16. package/dist/assets/{chat-panel-Ev94a9aD.js → chat-panel-CRLY-8Q_.js} +1 -1
  17. package/dist/assets/{chat-ui-DIc6DoGG.js → chat-ui-COwKnPlV.js} +1 -1
  18. package/dist/assets/{chunk-IMKFNOWR-DRUNgD5B.js → chunk-IMKFNOWR-DBsaOYkA.js} +1 -1
  19. package/dist/assets/{chunk-SHT3W25Y-BKFQDWQj.js → chunk-SHT3W25Y-NC5eClb6.js} +1 -1
  20. package/dist/assets/{chunk-SVP7TREG-BR7XpR63.js → chunk-SVP7TREG-zq4GRMSe.js} +1 -1
  21. package/dist/assets/{chunk-TICWLB2K-CPOfaVwm.js → chunk-TICWLB2K-CtF--EWj.js} +1 -1
  22. package/dist/assets/{classDiagram-ZZMXUADV-C0jDVe7U.js → classDiagram-ZZMXUADV-Ufnn74aN.js} +1 -1
  23. package/dist/assets/{classDiagram-v2-VYDZK3BY-C0jDVe7U.js → classDiagram-v2-VYDZK3BY-Ufnn74aN.js} +1 -1
  24. package/dist/assets/{code-visibility-D1cfOivN.js → code-visibility-DrRJBvIr.js} +1 -1
  25. package/dist/assets/{command-palette-CfaWFdS5.js → command-palette-qcsu_Bp2.js} +1 -1
  26. package/dist/assets/{common-ER8tZQOB.js → common-B-ub9i8J.js} +1 -1
  27. package/dist/assets/{components-Bzlif-Xy.js → components-BRVhsaex.js} +1 -1
  28. package/dist/assets/{components-CQp_u_qU.js → components-DaOSHEng.js} +1 -1
  29. package/dist/assets/{cynefinDiagram-5FMLGOSQ-xxaZ3oY1.js → cynefinDiagram-5FMLGOSQ-DEtkQ5VA.js} +1 -1
  30. package/dist/assets/{dagre-BxiUqoXs.js → dagre-Br6SwCX-.js} +1 -1
  31. package/dist/assets/{dagre-GXQ25YYZ-DjsT6A0_.js → dagre-GXQ25YYZ-CWfhwi40.js} +1 -1
  32. package/dist/assets/{data-grid-overlay-editor-BMDpaQHy.js → data-grid-overlay-editor-BQ4XUYyf.js} +1 -1
  33. package/dist/assets/{dependency-graph-panel-BN1v8eqX.js → dependency-graph-panel-DC7VQLMv.js} +1 -1
  34. package/dist/assets/{diagram-S7CK7UJ4-qn3M7v_r.js → diagram-S7CK7UJ4-DgJkPXj-.js} +1 -1
  35. package/dist/assets/{diagram-UQ7AKVKN-DjJKRGSt.js → diagram-UQ7AKVKN-BgMVSftv.js} +1 -1
  36. package/dist/assets/{diagram-VX7I27RA-Dx0eaNGE.js → diagram-VX7I27RA-DPObfkHw.js} +1 -1
  37. package/dist/assets/{diagram-Z3DM3KII-BtD5Tvot.js → diagram-Z3DM3KII-BYHzWlR5.js} +1 -1
  38. package/dist/assets/{documentation-panel-C1k9zWpE.js → documentation-panel-BauooX2S.js} +1 -1
  39. package/dist/assets/{ebnfDiagram-PWID7BFC-CUDaB3xm.js → ebnfDiagram-PWID7BFC-CoxVieSX.js} +1 -1
  40. package/dist/assets/{edit-page-BgBPK9rm.js → edit-page-DPhd7_gi.js} +5 -5
  41. package/dist/assets/{erDiagram-RLTQ6QDP-D5QfyITG.js → erDiagram-RLTQ6QDP-CryK8kTO.js} +1 -1
  42. package/dist/assets/{error-entries-BUsiy4Fq.js → error-entries-BpXezjVq.js} +1 -1
  43. package/dist/assets/{error-panel-fDWrtqWJ.js → error-panel-Chbt4Stb.js} +1 -1
  44. package/dist/assets/{feedback-button-DKnF4IZg.js → feedback-button-DSa5c3Pq.js} +1 -1
  45. package/dist/assets/{file-explorer-panel-D5b5pQm0.js → file-explorer-panel-BRzhiu8T.js} +1 -1
  46. package/dist/assets/{file-name-input-6E-vGC4V.js → file-name-input-im0iaWXy.js} +1 -1
  47. package/dist/assets/{flowDiagram-HODETNUW-3hwuEHTh.js → flowDiagram-HODETNUW-W7clPIx_.js} +1 -1
  48. package/dist/assets/{gallery-page-OvrQB8WT.js → gallery-page-B_5zGznh.js} +1 -1
  49. package/dist/assets/{glide-data-editor-DEc95Jky.js → glide-data-editor-CTXzjUkg.js} +4 -4
  50. package/dist/assets/{graphlib-CLd3V0ts.js → graphlib-5TBKpf9f.js} +1 -1
  51. package/dist/assets/has-QplVKfjH.js +1 -0
  52. package/dist/assets/{home-page-B7W1L-OK.js → home-page-gnNxFA7J.js} +1 -1
  53. package/dist/assets/{index-CFkhNhbS.js → index-BGA2MQ61.js} +9 -9
  54. package/dist/assets/{infoDiagram-27XIBGKW-DN3dObkS.js → infoDiagram-27XIBGKW-COO_rLcz.js} +1 -1
  55. package/dist/assets/{ishikawaDiagram-5VMMS53U-Cax2OAWY.js → ishikawaDiagram-5VMMS53U-KrNEKYYj.js} +1 -1
  56. package/dist/assets/{kanban-definition-UXKFOSKX-B_oBDTKt.js → kanban-definition-UXKFOSKX-mL1vOpaC.js} +1 -1
  57. package/dist/assets/{logs-panel-D6BBECr0.js → logs-panel-BKMIsY8h.js} +1 -1
  58. package/dist/assets/{mermaid-EX7AbpFE.js → mermaid-D9cuWIJ3.js} +4 -4
  59. package/dist/assets/{mindmap-definition-YA3MSWOX-qe19Ch3D.js → mindmap-definition-YA3MSWOX-0UfzA6jE.js} +1 -1
  60. package/dist/assets/{number-overlay-editor-D81yKd3F.js → number-overlay-editor-D7NjYfe7.js} +1 -1
  61. package/dist/assets/{outline-panel-BQBJjsUS.js → outline-panel-QSMLTTpe.js} +1 -1
  62. package/dist/assets/{packages-panel-BSVIZyMQ.js → packages-panel-DpmTy1Zj.js} +1 -1
  63. package/dist/assets/{panels-BreVgQOP.js → panels-Bso8csB-.js} +3 -3
  64. package/dist/assets/{pegDiagram-XKGWAZYB-Cl13AdW_.js → pegDiagram-XKGWAZYB-C_Mn8HQY.js} +1 -1
  65. package/dist/assets/{pieDiagram-E7YTZNPT-Bnd8KxW8.js → pieDiagram-E7YTZNPT-BCjUjlVJ.js} +1 -1
  66. package/dist/assets/{process-output-B9QFfnai.js → process-output-CEKLHiTm.js} +1 -1
  67. package/dist/assets/{railroadDiagram-O6MQD6OU-Bad0FlEg.js → railroadDiagram-O6MQD6OU-B1XuNasU.js} +1 -1
  68. package/dist/assets/{requirementDiagram-BXWQKSXE-34nf0NrD.js → requirementDiagram-BXWQKSXE-XekNJuFR.js} +1 -1
  69. package/dist/assets/{reveal-component-BegUwJVp.js → reveal-component-BYO2ErQd.js} +1 -1
  70. package/dist/assets/run-page-B8V4EsPe.js +1 -0
  71. package/dist/assets/{scratchpad-panel-S1y3VnQO.js → scratchpad-panel-BVRfI5pY.js} +1 -1
  72. package/dist/assets/{secrets-panel-G2Aj9SWg.js → secrets-panel-C8RCq9AF.js} +1 -1
  73. package/dist/assets/{sequenceDiagram-WJ2MYXX4-ClHJhNso.js → sequenceDiagram-WJ2MYXX4-kkt3zDHa.js} +1 -1
  74. package/dist/assets/{session-panel-Dz904qg0.js → session-panel-Ctbe5R3e.js} +1 -1
  75. package/dist/assets/snippets-panel-C-ljIDQt.js +1 -0
  76. package/dist/assets/{stateDiagram-D77RDMKH-BeZHwiLL.js → stateDiagram-D77RDMKH-Bph_mhCF.js} +1 -1
  77. package/dist/assets/{stateDiagram-v2-MP3YSRHH-D59SiroM.js → stateDiagram-v2-MP3YSRHH-DSDmMkGt.js} +1 -1
  78. package/dist/assets/{swimlanes-42K2YHIH-CEHZ_wNP.js → swimlanes-42K2YHIH-DOgT6SSZ.js} +1 -1
  79. package/dist/assets/{swimlanesDiagram-VR7AAH4N-CksbNI_5.js → swimlanesDiagram-VR7AAH4N-B0jZFEqF.js} +1 -1
  80. package/dist/assets/{swiper-component-BwuajfC4.js → swiper-component-D2sgxyxf.js} +1 -1
  81. package/dist/assets/{terminal-nQemI-ox.js → terminal-B6gr5FPU.js} +1 -1
  82. package/dist/assets/{timeline-definition-24CTP7MA-CO91WfCC.js → timeline-definition-24CTP7MA-D6roMSAh.js} +1 -1
  83. package/dist/assets/{tracing-DyWIgk_H.js → tracing-BI61lCpo.js} +1 -1
  84. package/dist/assets/{tracing-panel-ByWvTIr8.js → tracing-panel-BMqSLs2l.js} +2 -2
  85. package/dist/assets/{useCellActionButton-BZe-h0kJ.js → useCellActionButton-DOqFLFDe.js} +1 -1
  86. package/dist/assets/{vega-component-Cjh3h2aI.js → vega-component-CWmtMc1h.js} +1 -1
  87. package/dist/assets/{vega-embed-container-DfPdbYzv.js → vega-embed-container-BDH_VhfS.js} +1 -1
  88. package/dist/assets/{vennDiagram-4TSXK5OY-CCnDWK9v.js → vennDiagram-4TSXK5OY-AYIHuyE9.js} +1 -1
  89. package/dist/assets/{wardleyDiagram-VM6X3IG4-DnS2_ZhP.js → wardleyDiagram-VM6X3IG4-CogDfA2Q.js} +1 -1
  90. package/dist/assets/{write-secret-modal-CBUZw27N.js → write-secret-modal-BiG2tahJ.js} +1 -1
  91. package/dist/assets/{xychartDiagram-S5SC5T6Z-BJ7l1D92.js → xychartDiagram-S5SC5T6Z-D6Lub9hS.js} +1 -1
  92. package/dist/index.html +5 -5
  93. package/package.json +1 -1
  94. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +6 -1
  95. package/src/components/editor/notebook-cell.tsx +2 -2
  96. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  97. package/src/components/editor/output/VideoOutput.tsx +1 -1
  98. package/src/components/editor/output/ansi-reduce.ts +8 -4
  99. package/src/components/editor/output/console/text-rendering.tsx +3 -1
  100. package/src/components/home/components.tsx +1 -0
  101. package/src/components/pages/run-page.tsx +1 -0
  102. package/src/components/static-html/share-modal.tsx +2 -1
  103. package/src/components/static-html/static-banner.tsx +2 -1
  104. package/src/components/ui/links.tsx +6 -1
  105. package/src/plugins/layout/RoutesPlugin.tsx +4 -6
  106. package/dist/assets/has-Kf_VdF2W.js +0 -1
  107. package/dist/assets/run-page-C7WH_ujp.js +0 -1
  108. package/dist/assets/snippets-panel-ClVDVtd1.js +0 -1
@@ -256,6 +256,7 @@ export const pipInstallReplacer: Replacer = (domNode: DOMNode) => {
256
256
  );
257
257
  }
258
258
 
259
+ // oxlint-disable-next-line react/jsx-no-useless-fragment -- html-react-parser replacers must return a React element.
259
260
  return <>{segments}</>;
260
261
  };
261
262
 
@@ -283,6 +284,7 @@ export const urlReplacer: Replacer = (domNode: DOMNode) => {
283
284
  return undefined;
284
285
  }
285
286
 
287
+ // oxlint-disable-next-line react/jsx-no-useless-fragment -- html-react-parser replacers must return a React element.
286
288
  return <>{result}</>;
287
289
  };
288
290
 
@@ -331,5 +333,5 @@ export const RenderTextWithLinks = ({ text }: { text: string }) => {
331
333
  );
332
334
  }, [text]);
333
335
 
334
- return <>{content}</>;
336
+ return content;
335
337
  };
@@ -170,6 +170,7 @@ export const ResourceLinks: React.FC = () => {
170
170
  key={resource.title}
171
171
  href={resource.url}
172
172
  target="_blank"
173
+ rel="noreferrer"
173
174
  aria-label={`${resource.title}: ${resource.description}`}
174
175
  className="flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs"
175
176
  >
@@ -50,6 +50,7 @@ const Watermark = () => {
50
50
  <a
51
51
  href={Constants.githubPage}
52
52
  target="_blank"
53
+ rel="noreferrer"
53
54
  className="text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2"
54
55
  >
55
56
  <span>made with marimo</span>
@@ -74,6 +74,7 @@ export const ShareStaticNotebookModal: React.FC<{
74
74
  <a
75
75
  href={Constants.issuesPage}
76
76
  target="_blank"
77
+ rel="noreferrer"
77
78
  className="underline"
78
79
  >
79
80
  GitHub
@@ -102,7 +103,7 @@ export const ShareStaticNotebookModal: React.FC<{
102
103
  <DialogDescription>
103
104
  You can publish a static, non-interactive version of this notebook
104
105
  to the public web. We will create a link for you that lives on{" "}
105
- <a href={BASE_URL} target="_blank">
106
+ <a href={BASE_URL} target="_blank" rel="noreferrer">
106
107
  {BASE_URL}
107
108
  </a>
108
109
  .
@@ -1,6 +1,5 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  /* oxlint-disable react/jsx-no-comment-textnodes */
3
- /* oxlint-disable react/jsx-no-target-blank */
4
3
 
5
4
  import { useAtomValue } from "jotai";
6
5
  import { CopyIcon, DownloadIcon } from "lucide-react";
@@ -49,6 +48,7 @@ export const StaticBanner: React.FC = () => {
49
48
  <a
50
49
  href={Constants.githubPage}
51
50
  target="_blank"
51
+ rel="noreferrer"
52
52
  className="text-(--sky-11) font-medium underline"
53
53
  >
54
54
  marimo
@@ -93,6 +93,7 @@ const StaticBannerDialog = ({ code }: { code: string }) => {
93
93
  <a
94
94
  href={Constants.githubPage}
95
95
  target="_blank"
96
+ rel="noreferrer"
96
97
  className="text-(--sky-11) hover:underline font-medium"
97
98
  >
98
99
  marimo
@@ -21,7 +21,12 @@ export const ExternalLink = ({
21
21
  children: React.ReactNode;
22
22
  }) => {
23
23
  return (
24
- <a href={href} target="_blank" className="text-link hover:underline">
24
+ <a
25
+ href={href}
26
+ target="_blank"
27
+ rel="noreferrer"
28
+ className="text-link hover:underline"
29
+ >
25
30
  {children}
26
31
  </a>
27
32
  );
@@ -1,6 +1,5 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  import React, {
3
- type JSX,
4
3
  type PropsWithChildren,
5
4
  useEffect,
6
5
  useMemo,
@@ -28,7 +27,7 @@ export class RoutesPlugin implements IStatelessPlugin<Data> {
28
27
  routes: z.array(z.string()),
29
28
  });
30
29
 
31
- render(props: IStatelessPluginProps<Data>): JSX.Element {
30
+ render(props: IStatelessPluginProps<Data>): React.ReactElement {
32
31
  return <RoutesComponent {...props.data}>{props.children}</RoutesComponent>;
33
32
  }
34
33
  }
@@ -36,7 +35,7 @@ export class RoutesPlugin implements IStatelessPlugin<Data> {
36
35
  const RoutesComponent = ({
37
36
  routes,
38
37
  children,
39
- }: PropsWithChildren<Data>): JSX.Element => {
38
+ }: PropsWithChildren<Data>): React.ReactNode => {
40
39
  const childCount = React.Children.count(children);
41
40
  if (childCount !== routes.length) {
42
41
  throw new Error(
@@ -69,12 +68,11 @@ const RoutesComponent = ({
69
68
  }, [handleFindMatch]);
70
69
 
71
70
  if (!matched) {
72
- // oxlint-disable-next-line react/jsx-no-useless-fragment
73
- return <></>;
71
+ return null;
74
72
  }
75
73
 
76
74
  const matchedIndex = routes.indexOf(matched);
77
75
  const child = React.Children.toArray(children)[matchedIndex];
78
76
 
79
- return <>{child}</>;
77
+ return child;
80
78
  };
@@ -1 +0,0 @@
1
- import{Ga as e}from"./index-CFkhNhbS.js";var t=Object.prototype.hasOwnProperty;function n(e,n){return e!=null&&t.call(e,n)}function r(t,r){return t!=null&&e(t,r,n)}export{r as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r}from"./useEvent-Dc9HkKI2.js";import{t as i}from"./react-CUdNIagt.js";import{D as a,La as o,g as s,oo as c,x as l}from"./cells-Cu3p4E4U.js";import{t as u}from"./compiler-runtime-BQ9S8nyo.js";import{C as d}from"./config-BxZgoFvi.js";import{r as f}from"./utils-B4K466FK.js";import{t as p}from"./session-DXKMv4Bs.js";import{T as m,_ as h,l as g,p as _}from"./config-DpGPGznL.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{a as b,c as x,i as S,l as C,n as w,s as T,t as E}from"./alert-dialog-CeE3i3Qa.js";import{n as D,t as O}from"./button-BoklZTGL.js";import{n as k}from"./paths-CzfpItSz.js";import{a as A,c as j,et as ee,it as M,n as N,o as P,q as F,s as I,st as L,t as R}from"./panels-BreVgQOP.js";import{t as z}from"./copy-RyCOE8jo.js";import{Gt as te,Ut as ne,Wt as re,Xt as ie,Zt as ae,qt as B}from"./input-BDakodZ2.js";import{n as V}from"./copy-BhJktFeI.js";import{t as H}from"./use-toast-CC89xOwH.js";import{r as U}from"./requests-yTHMxhVa.js";import{Ci as W,In as G,Ln as K,Rn as q,Ti as J,ar as oe,dn as se,ei as ce,hn as le,ja as ue,mn as de,ui as fe,zn as Y,zt as pe}from"./index-CFkhNhbS.js";import{n as X}from"./code-visibility-D1cfOivN.js";import{n as me,t as he}from"./marimo-icons-B_1oPpIE.js";var ge=e(i(),1),Z=u(),Q=y(),_e=()=>{let e=(0,Z.c)(25),[n,r]=t(F);if(n===null)return null;let i;e[0]===n?i=e[1]:(i=async()=>{try{await navigator.clipboard.writeText(n),H({title:`Copied to clipboard`,description:`Error details have been copied to your clipboard.`})}catch{H({title:`Failed to copy`,description:`Could not copy to clipboard.`,variant:`danger`})}},e[0]=n,e[1]=i);let a=i,o;e[2]===r?o=e[3]:(o=()=>{r(null)},e[2]=r,e[3]=o);let s=o,l=ve,u;e[4]===s?u=e[5]:(u=e=>!e&&s(),e[4]=s,e[5]=u);let d;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsxs)(x,{children:[(0,Q.jsxs)(C,{className:`flex items-center gap-2 text-destructive`,children:[(0,Q.jsx)(c,{className:`h-5 w-5`}),`Kernel Startup Failed`]}),(0,Q.jsx)(b,{children:`The kernel failed to start. This usually happens when the package manager can't install your notebook's dependencies.`})]}),e[6]=d):d=e[6];let f;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground`,children:`Error Details`}),e[7]=f):f=e[7];let p;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(z,{className:`h-3 w-3`}),e[8]=p):p=e[8];let m;e[9]===a?m=e[10]:(m=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[f,(0,Q.jsxs)(O,{variant:`outline`,size:`xs`,onClick:a,className:`flex items-center gap-1`,children:[p,`Copy`]})]}),e[9]=a,e[10]=m);let h;e[11]===n?h=e[12]:(h=(0,Q.jsx)(`pre`,{className:`bg-muted p-4 rounded-md text-sm font-mono overflow-auto max-h-80`,children:n}),e[11]=n,e[12]=h);let g;e[13]!==m||e[14]!==h?(g=(0,Q.jsxs)(`div`,{className:`my-4 overflow-hidden`,children:[m,h]}),e[13]=m,e[14]=h,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsxs)(O,{variant:`outline`,onClick:l,className:`flex items-center gap-2`,children:[(0,Q.jsx)(M,{className:`h-4 w-4`}),`Return to Home`]}),e[16]=_):_=e[16];let v;e[17]===s?v=e[18]:(v=(0,Q.jsxs)(T,{children:[_,(0,Q.jsx)(w,{onClick:s,children:`Dismiss`})]}),e[17]=s,e[18]=v);let y;e[19]!==v||e[20]!==g?(y=(0,Q.jsxs)(S,{className:`max-w-2xl`,children:[d,g,v]}),e[19]=v,e[20]=g,e[21]=y):y=e[21];let D;return e[22]!==y||e[23]!==u?(D=(0,Q.jsx)(E,{open:!0,onOpenChange:u,children:y}),e[22]=y,e[23]=u,e[24]=D):D=e[24],D};function ve(){let e=document.baseURI.split(`?`)[0];window.open(e,`_self`)}var ye=e=>{let t=(0,Z.c)(2),{reason:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(`div`,{className:`font-mono text-center text-base text-(--red-11)`,children:(0,Q.jsx)(`p`,{children:n})}),t[0]=n,t[1]=r),r},be=e=>{let t=(0,Z.c)(7),{connection:n,className:r,children:i}=e,a;t[0]!==n.reason||t[1]!==n.state?(a=n.state===m.CLOSED&&(0,Q.jsx)(ye,{reason:n.reason}),t[0]=n.reason,t[1]=n.state,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==r||t[5]!==a?(o=(0,Q.jsxs)(`div`,{className:r,children:[i,a]}),t[3]=i,t[4]=r,t[5]=a,t[6]=o):o=t[6],o},xe=n(e=>e(s)||!_(e(h).state)),Se=e=>{let t=(0,Z.c)(22),{appConfig:n,hideHeader:i}=e,{setCells:o}=a(),{sendComponentValues:s}=U(),c;t[0]===s?c=t[1]:(c=()=>(A.INSTANCE.start(s),Ce),t[0]=s,t[1]=c);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[2]=u):u=t[2],(0,ge.useEffect)(c,u);let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=p(),t[3]=d):d=t[3];let f;t[4]===o?f=t[5]:(f={autoInstantiate:!0,setCells:o,sessionId:d},t[4]=o,t[5]=f);let{connection:m,reconnect:h}=N(f),g=r(l),_;if(t[6]===Symbol.for(`react.memo_cache_sentinel`)){bb0:{if(typeof window>`u`){_=null;break bb0}let e=new URL(window.location.href);if(!e.searchParams.has(`file`)){_=null;break bb0}e.searchParams.delete(`file`);let t=e.searchParams.toString();_=t?`${e.pathname}?${t}`:e.pathname}t[6]=_}else _=t[6];let y=_,b;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(_e,{}),t[7]=b):b=t[7];let x=i?`hidden`:`sm:pt-8`,S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=y&&(0,Q.jsx)(`div`,{className:`flex items-center px-6 pt-4 sm:-mt-8`,children:(0,Q.jsxs)(`a`,{href:y,"aria-label":`Back to gallery`,className:v(D({variant:`text`,size:`sm`}),`gap-2 px-0 text-muted-foreground hover:text-foreground`),children:[(0,Q.jsx)(L,{className:`size-4`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{children:`Back`})]})}),t[8]=S):S=t[8];let C;t[9]!==m||t[10]!==x?(C=(0,Q.jsx)(be,{connection:m,className:x,children:S}),t[9]=m,t[10]=x,t[11]=C):C=t[11];let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ce,{className:`mx-auto`}),(0,Q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground mt-2`,children:`Connecting...`})]}),t[12]=w):w=t[12];let T;t[13]===n?T=t[14]:(T=(0,Q.jsx)(j,{requires:xe,delay:2e3,fallback:w,children:(0,Q.jsx)(P,{appConfig:n,mode:`read`})}),t[13]=n,t[14]=T);let E;return t[15]!==n.width||t[16]!==m||t[17]!==g||t[18]!==h||t[19]!==T||t[20]!==C?(E=(0,Q.jsxs)(I,{connection:m,isRunning:g,width:n.width,onReconnect:h,children:[b,C,T]}),t[15]=n.width,t[16]=m,t[17]=g,t[18]=h,t[19]=T,t[20]=C,t[21]=E):E=t[21],E};function Ce(){A.INSTANCE.stop()}var we=()=>{let e=(0,Z.c)(3),t=r(o);if(!g()||!t)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(`span`,{children:[`Static`,` `,(0,Q.jsx)(`a`,{href:f.githubPage,target:`_blank`,className:`text-(--sky-11) font-medium underline`,children:`marimo`}),` `,`notebook - Run or edit for full interactivity`]}),e[0]=n):n=e[0];let i;return e[1]===t?i=e[2]:(i=(0,Q.jsxs)(`div`,{className:`px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm`,"data-testid":`static-notebook-banner`,children:[n,(0,Q.jsx)(`span`,{className:`shrink-0`,children:(0,Q.jsx)(Te,{code:t})})]}),e[1]=t,e[2]=i),i},Te=e=>{let t=(0,Z.c)(44),{code:n}=e,r=k.basename(oe()||`notebook.py`),[i]=d(),a=i.sharing?.molab??!0,o=Ee(window.location.href,r),s=o!==r,c=ee(o),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(ae,{asChild:!0,children:(0,Q.jsx)(O,{"data-testid":`static-notebook-dialog-trigger`,variant:`outline`,size:`xs`,children:`Run or Edit`})}),t[0]=l):l=t[0];let u;t[1]===r?u=t[2]:(u=(0,Q.jsx)(ie,{children:r}),t[1]=r,t[2]=u);let p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(`a`,{href:f.githubPage,target:`_blank`,className:`text-(--sky-11) hover:underline font-medium`,children:`marimo`}),t[3]=p):p=t[3];let m=s?`Run it`:`Download it, then run it`,h;t[4]===m?h=t[5]:(h=(0,Q.jsxs)(`p`,{children:[`This is a static`,` `,p,` `,`notebook. `,m,` `,`locally for full interactivity.`]}),t[4]=m,t[5]=h);let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsxs)(q,{"aria-label":`Package manager`,children:[(0,Q.jsx)(Y,{value:`uv`,children:`uv`}),(0,Q.jsx)(Y,{value:`pip`,children:`pip`}),(0,Q.jsx)(Y,{value:`conda`,children:`conda`})]}),t[6]=g):g=t[6];let _=`uvx marimo edit --sandbox ${c}`,v;t[7]===_?v=t[8]:(v=(0,Q.jsx)(K,{value:`uv`,children:(0,Q.jsx)($,{command:_})}),t[7]=_,t[8]=v);let y=`pip install marimo\nmarimo edit ${c}`,b;t[9]===y?b=t[10]:(b=(0,Q.jsx)(K,{value:`pip`,children:(0,Q.jsx)($,{command:y})}),t[9]=y,t[10]=b);let x=`conda install -c conda-forge marimo\nmarimo edit ${c}`,S;t[11]===x?S=t[12]:(S=(0,Q.jsx)(K,{value:`conda`,children:(0,Q.jsx)($,{command:x})}),t[11]=x,t[12]=S);let C;t[13]!==b||t[14]!==S||t[15]!==v?(C=(0,Q.jsxs)(G,{defaultValue:`uv`,children:[g,v,b,S]}),t[13]=b,t[14]=S,t[15]=v,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==a?(w=a&&(0,Q.jsx)(De,{code:n}),t[17]=n,t[18]=a,t[19]=w):w=t[19];let T;t[20]!==C||t[21]!==w||t[22]!==h?(T=(0,Q.jsx)(te,{asChild:!0,children:(0,Q.jsxs)(`div`,{className:`pt-3 text-left space-y-3`,children:[h,C,w]})}),t[20]=C,t[21]=w,t[22]=h,t[23]=T):T=t[23];let E;t[24]!==T||t[25]!==u?(E=(0,Q.jsxs)(B,{children:[u,T]}),t[24]=T,t[25]=u,t[26]=E):E=t[26];let D;t[27]===n?D=t[28]:(D=async()=>{await V(n),H({title:`Copied to clipboard`})},t[27]=n,t[28]=D);let A;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Q.jsx)(z,{className:`w-3 h-3 mr-2`}),t[29]=A):A=t[29];let j;t[30]===D?j=t[31]:(j=(0,Q.jsxs)(O,{"data-testid":`copy-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:D,children:[A,`Copy code`]}),t[30]=D,t[31]=j);let M;t[32]!==n||t[33]!==r?(M=()=>{pe(new Blob([n],{type:`text/plain`}),r)},t[32]=n,t[33]=r,t[34]=M):M=t[34];let N;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Q.jsx)(ue,{className:`w-3 h-3 mr-2`}),t[35]=N):N=t[35];let P;t[36]===M?P=t[37]:(P=(0,Q.jsxs)(O,{"data-testid":`download-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:M,children:[N,`Download`]}),t[36]=M,t[37]=P);let F;t[38]!==j||t[39]!==P?(F=(0,Q.jsxs)(`div`,{className:`flex gap-3 pt-2`,children:[j,P]}),t[38]=j,t[39]=P,t[40]=F):F=t[40];let I;return t[41]!==E||t[42]!==F?(I=(0,Q.jsxs)(ne,{children:[l,(0,Q.jsxs)(re,{children:[E,F]})]}),t[41]=E,t[42]=F,t[43]=I):I=t[43],I};function Ee(e,t){let n=new URL(e);if(n.protocol!==`http:`&&n.protocol!==`https:`)return t;let r=n.pathname.endsWith(`.html`)&&n.search===``,i=n.protocol===`https:`&&(n.hostname===`marimo.app`||n.hostname===`links.marimo.app`||n.hostname===`static.marimo.app`&&n.pathname.startsWith(`/static`)||n.pathname.includes(`/notebooks/nb`));return!r&&!i?t:(n.hash=``,n.href)}var $=e=>{let t=(0,Z.c)(10),{command:n}=e,r;t[0]===n?r=t[1]:(r=(0,Q.jsx)(`pre`,{className:`p-3 pr-10 font-mono text-(--sky-11) leading-relaxed whitespace-pre-wrap break-all`,children:n}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=async()=>{await V(n),H({title:`Command copied to clipboard`})},t[2]=n,t[3]=i);let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(z,{className:`w-3.5 h-3.5`}),t[4]=a):a=t[4];let o;t[5]===i?o=t[6]:(o=(0,Q.jsx)(O,{"aria-label":`Copy command`,className:`absolute right-2 top-2`,variant:`ghost`,size:`icon`,onClick:i,children:a}),t[5]=i,t[6]=o);let s;return t[7]!==r||t[8]!==o?(s=(0,Q.jsxs)(`div`,{className:`relative rounded-lg border bg-(--sky-2) border-(--sky-7)`,children:[r,o]}),t[7]=r,t[8]=o,t[9]=s):s=t[9],s},De=e=>{let t=(0,Z.c)(8),{code:n}=e,r;t[0]===n?r=t[1]:(r=fe({code:n,baseUrl:`${f.molab}/new`}),t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(me,{size:12,strokeWidth:1.5,className:`mr-1.5 mt-px text-(--grass-11)`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,Q.jsx)(O,{asChild:!0,variant:`outline`,size:`xs`,className:`shrink-0`,children:(0,Q.jsxs)(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,children:[a,`Open in molab`]})}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsxs)(`p`,{className:`text-sm text-(--sky-12)`,children:[`Run this notebook in `,(0,Q.jsx)(`span`,{className:`font-semibold`,children:`molab`}),`, marimo's cloud-hosted notebook platform.`]}),t[5]=s):s=t[5];let c;return t[6]===o?c=t[7]:(c=(0,Q.jsxs)(`div`,{className:`pt-3 border-t flex gap-2 items-center`,children:[o,s]}),t[6]=o,t[7]=c),c},Oe=e=>{let t=(0,Z.c)(17),n=r(X).kind,i=n===`static`||n===`wasm`,{selectedLayout:a}=J(),o;t[0]===a?o=t[1]:(o=W({selectedLayout:a,isReading:!0,searchParams:new URLSearchParams(window.location.search)}),t[0]=a,t[1]=o);let s=i&&o===`slides`,c;t[2]===s?c=t[3]:(c=!s&&(0,Q.jsx)(we,{}),t[2]=s,t[3]=c);let l;t[4]!==s||t[5]!==e.appConfig?(l=(0,Q.jsx)(Se,{appConfig:e.appConfig,hideHeader:s}),t[4]=s,t[5]=e.appConfig,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==s?(u=i&&!s&&(0,Q.jsx)(ke,{}),t[7]=i,t[8]=s,t[9]=u):u=t[9];let d;t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,Q.jsxs)(de,{children:[c,l,u]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13];let f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(se,{}),t[14]=f):f=t[14];let p;return t[15]===d?p=t[16]:(p=(0,Q.jsx)(R,{children:(0,Q.jsxs)(le,{direction:`horizontal`,autoSaveId:`marimo:chrome:v1:run1`,children:[d,f]})}),t[15]=d,t[16]=p),p},ke=()=>{let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`fixed bottom-0 right-0 z-50 print:hidden`,"data-testid":`watermark`,children:(0,Q.jsxs)(`a`,{href:f.githubPage,target:`_blank`,className:`text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{children:`made with marimo`}),(0,Q.jsx)(he,{className:`h-4 w-auto`})]})}),e[0]=t):t=e[0],t};export{Oe as default};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{Cn as n,D as r,Rt as i,_n as a,fn as o,gn as s,mn as c}from"./cells-Cu3p4E4U.js";import{t as l}from"./compiler-runtime-BQ9S8nyo.js";import{n as u}from"./useEventListener-BdZUApHd.js";import{r as d}from"./utils-B4K466FK.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{t as m}from"./tooltip-DR2Z2N4w.js";import{t as h}from"./button-BoklZTGL.js";import{m as g}from"./panels-BreVgQOP.js";import{n as _,t as v}from"./LazyAnyLanguageCodeMirror-CkatLiPl.js";import{r as y}from"./useNumberFormatter-C4-_TnkF.js";import{b}from"./write-secret-modal-CBUZw27N.js";import{t as x}from"./plus-gbN72xHe.js";import{Gt as S,Kt as C,Wt as w,Xt as T,qt as E}from"./input-BDakodZ2.js";import{st as D}from"./dist-BczecT6V.js";import{r as O}from"./requests-yTHMxhVa.js";import{r as k}from"./useTheme-DcnXlv0_.js";import{n as A}from"./useAsyncData-DucTwMkf.js";import{Hn as j,Oi as M,ei as N,gn as P,hn as F,mn as I}from"./index-CFkhNhbS.js";import{t as L}from"./empty-state-CzxjZqGW.js";import{n as R,r as z}from"./panel-context-BPaQeOuV.js";import{i as B}from"./edit-page-BgBPK9rm.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}=b(),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)(T,{children:`Contribute a Snippet`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,U.jsxs)(E,{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)(C,{children:(0,U.jsx)(h,{"data-testid":`snippet-close-button`,variant:`default`,onClick:n,children:`Close`})})]}),t[2]=n,t[3]=a),a},q=[D.lineWrapping],J=()=>{let e=(0,H.c)(24),{readSnippets:t}=O(),[n,r]=V.useState(),i=R(),a=z(),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)(j,{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)(N,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}let h=i===`vertical`,g;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(s,{placeholder:`Search snippets...`,className:`h-6 m-1`,rootClassName:`flex-1 border-r`}),e[6]=g):g=e[6];let _,v;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(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)(x,{className:`h-4 w-4`})})})]}),v=(0,U.jsx)(c,{children:`No results`}),e[7]=_,e[8]=v):(_=e[7],v=e[8]);let y;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>r(e),e[9]=y):y=e[9];let b;e[10]===d.snippets?b=e[11]:(b=(0,U.jsx)(I,{defaultSize:40,minSize:20,maxSize:70,children:(0,U.jsxs)(o,{className:`h-full rounded-none`,children:[_,v,(0,U.jsx)(X,{onSelect:y,snippets:d.snippets})]})}),e[10]=d.snippets,e[11]=b);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)(I,{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)(L,{title:``,description:`Click on a snippet to view its content.`})})})}),e[16]=n,e[17]=T);let E;return e[18]!==i||e[19]!==a||e[20]!==T||e[21]!==b||e[22]!==w?(E=(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden h-full`,children:(0,U.jsxs)(F,{direction:i,className:`h-full`,children:[b,w,T]},a)}),e[18]=i,e[19]=a,e[20]=T,e[21]=b,e[22]=w,e[23]=E):E=e[23],E},Y=e=>{let t=(0,H.c)(33),{snippet:n,onClose:a}=e,{theme:o}=k(),{createNewCell:s}=r(),c=i(),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 b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,U.jsx)(y,{className:`h-4 w-4`}),t[9]=b):b=t[9];let x;t[10]===a?x=t[11]:(x=(0,U.jsx)(h,{size:`sm`,variant:`ghost`,onClick:a,className:`h-6 w-6 p-0 hover:bg-muted-foreground/10`,children:b}),t[10]=a,t[11]=x);let S;t[12]!==p||t[13]!==x?(S=(0,U.jsxs)(`div`,{className:`text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center`,children:[p,x]}),t[12]=p,t[13]=x,t[14]=S):S=t[14];let C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,U.jsx)(_,{className:`ml-2 h-4 w-4`}),t[15]=C):C=t[15];let w;t[16]===u?w=t[17]:(w=(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`,C]})})}),t[16]=u,t[17]=w);let T;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:M({html:r})},`${n.title}-${i}`);if(!t)return null;let{language:a,code:s}=g(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)(_,{className:`h-5 w-5`})})})}),(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(v,{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],T=n.sections.map(e),t[18]=f,t[19]=n.sections,t[20]=n.title,t[21]=o,t[22]=T}else T=t[22];let E;t[27]!==w||t[28]!==T?(E=(0,U.jsxs)(`div`,{className:`px-2 py-2 space-y-4 overflow-auto flex-1`,children:[w,T]}),t[27]=w,t[28]=T,t[29]=E):E=t[29];let D;return t[30]!==E||t[31]!==S?(D=(0,U.jsxs)(U.Fragment,{children:[S,E]}),t[30]=E,t[31]=S,t[32]=D):D=t[32],D},X=e=>{let t=(0,H.c)(7),{snippets:r,onSelect:i}=e,o;if(t[0]!==i||t[1]!==r){let e;t[3]===i?e=t[4]:(e=e=>(0,U.jsx)(a,{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),o=r.map(e),t[0]=i,t[1]=r,t[2]=o}else o=t[2];let s;return t[5]===o?s=t[6]:(s=(0,U.jsx)(n,{className:`flex flex-col overflow-auto`,children:o}),t[5]=o,t[6]=s),s};export{J as default};