@marimo-team/frontend 0.15.1-dev35 → 0.15.1-dev36

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 (100) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-BYxPTiA6.js → ConnectedDataExplorerComponent-D8km1NYJ.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-DBpvpxlw.js → ImageComparisonComponent-CERR01UB.js} +1 -1
  3. package/dist/assets/{VegaLite-DzkGo9LJ.js → VegaLite-DzZIYwlo.js} +1 -1
  4. package/dist/assets/{_baseEach-CnK_W3-W.js → _baseEach-DO-XcSIV.js} +1 -1
  5. package/dist/assets/_baseMap-Dg1mkEJY.js +1 -0
  6. package/dist/assets/{_baseUniq-DsEUejTO.js → _baseUniq-urG2vBXB.js} +1 -1
  7. package/dist/assets/{_createAggregator-xSD3e6yX.js → _createAggregator-DBxX1xI5.js} +1 -1
  8. package/dist/assets/{any-language-editor-CSLfx3Fo.js → any-language-editor-BhBzti0Q.js} +1 -1
  9. package/dist/assets/{architectureDiagram-KFL7JDKH-DDJcEe4E.js → architectureDiagram-KFL7JDKH-mgZE9P9E.js} +1 -1
  10. package/dist/assets/{blockDiagram-ZYB65J3Q-DrajNxU6.js → blockDiagram-ZYB65J3Q-DhlvqBBN.js} +1 -1
  11. package/dist/assets/{c4Diagram-AAMF2YG6-DkbBAlkB.js → c4Diagram-AAMF2YG6-WgF7TmcX.js} +1 -1
  12. package/dist/assets/channel-D1aHTD78.js +1 -0
  13. package/dist/assets/{chunk-ANTBXLJU-CyFpCIAD.js → chunk-ANTBXLJU-Cc0FLBv4.js} +1 -1
  14. package/dist/assets/{chunk-FHKO5MBM-DaRG9EJ9.js → chunk-FHKO5MBM-TDVJkINs.js} +1 -1
  15. package/dist/assets/{chunk-GLLZNHP4-C852Uilf.js → chunk-GLLZNHP4-BFZQsgmM.js} +1 -1
  16. package/dist/assets/{chunk-JBRWN2VN-DF6c2w7p.js → chunk-JBRWN2VN-jewL7EcA.js} +1 -1
  17. package/dist/assets/{chunk-LXBSTHXV-DJc1jClD.js → chunk-LXBSTHXV-DtMvensd.js} +1 -1
  18. package/dist/assets/{chunk-NRVI72HA-BYzJjL14.js → chunk-NRVI72HA-B7LxIi5N.js} +1 -1
  19. package/dist/assets/{chunk-OMD6QJNC-DpzW6M54.js → chunk-OMD6QJNC-D77lwHsv.js} +1 -1
  20. package/dist/assets/{chunk-WVR4S24B-Ds_Fnulu.js → chunk-WVR4S24B-BdzaJi_f.js} +1 -1
  21. package/dist/assets/{circle-play-ILK7D0lo.js → circle-play-DbLJhgWd.js} +1 -1
  22. package/dist/assets/classDiagram-3BZAVTQC-C8Rjm-tQ.js +1 -0
  23. package/dist/assets/classDiagram-v2-QTMF73CY-C8Rjm-tQ.js +1 -0
  24. package/dist/assets/clone-BWlvmMhq.js +1 -0
  25. package/dist/assets/{compile-Q6b1NW0Y.js → compile-ittiAa-p.js} +1 -1
  26. package/dist/assets/{dagre-2BBEFEWP-DUplj_Iy.js → dagre-2BBEFEWP-woDg8Awj.js} +1 -1
  27. package/dist/assets/{data-grid-overlay-editor-BHVNUwJL.js → data-grid-overlay-editor-ncLMoVIb.js} +1 -1
  28. package/dist/assets/{diagram-4IRLE6MV-CqSPK4-w.js → diagram-4IRLE6MV-PAN7AATi.js} +1 -1
  29. package/dist/assets/{diagram-GUPCWM2R-Yz9pe62o.js → diagram-GUPCWM2R-Ce2AHqMP.js} +1 -1
  30. package/dist/assets/{diagram-RP2FKANI-DAvv4Av_.js → diagram-RP2FKANI-2WiKea8D.js} +1 -1
  31. package/dist/assets/{edit-page-hlKtRc6p.js → edit-page-CZn2bhY3.js} +42 -42
  32. package/dist/assets/{erDiagram-HZWUO2LU-BIlDOHrw.js → erDiagram-HZWUO2LU-D5yTZwmt.js} +1 -1
  33. package/dist/assets/{flowDiagram-THRYKUMA-w6HYIjcR.js → flowDiagram-THRYKUMA-CgN86sZ8.js} +1 -1
  34. package/dist/assets/{ganttDiagram-WV7ZQ7D5-CS1t__7-.js → ganttDiagram-WV7ZQ7D5-5skQ2H3l.js} +1 -1
  35. package/dist/assets/{gitGraphDiagram-OJR772UL-DCcukZnI.js → gitGraphDiagram-OJR772UL-C75De8fN.js} +1 -1
  36. package/dist/assets/{glide-data-editor-BoQ4MEIu.js → glide-data-editor-x0d0Up5U.js} +4 -4
  37. package/dist/assets/{graph-DzywueYf.js → graph-Die-6Bfl.js} +1 -1
  38. package/dist/assets/{home-page-CTLf7o0o.js → home-page-XrEKfDMd.js} +1 -1
  39. package/dist/assets/{index-CTTXrsVd.js → index-B1-fG89N.js} +1 -1
  40. package/dist/assets/{index-BsZupkBE.js → index-B3-zxsj0.js} +1 -1
  41. package/dist/assets/{index-BNpIaqHq.js → index-B7JwzNrx.js} +1 -1
  42. package/dist/assets/{index-DMgZFfTJ.js → index-BSJet7Zq.js} +1 -1
  43. package/dist/assets/{index-txir7kB2.js → index-BWBg8Lhk.js} +1 -1
  44. package/dist/assets/{index-BVdia1-T.js → index-BfqMljbw.js} +1 -1
  45. package/dist/assets/{index-EaCZDGUn.js → index-CCZkMG5j.js} +1 -1
  46. package/dist/assets/{index-DMvScaq6.js → index-CXwX4pUI.js} +114 -114
  47. package/dist/assets/{index-DUumP-lt.js → index-CoAopzxc.js} +1 -1
  48. package/dist/assets/{index-BOaSI40H.js → index-D9ot8WPl.js} +1 -1
  49. package/dist/assets/{index-CjvmeMRd.js → index-D_ebOE-e.js} +1 -1
  50. package/dist/assets/{index-C_ZOWmXX.js → index-De7juNGF.js} +1 -1
  51. package/dist/assets/{index-BobSdMcV.js → index-Dh8C39yO.js} +1 -1
  52. package/dist/assets/{index-gZP0fYKG.js → index-Dlrab0dK.js} +1 -1
  53. package/dist/assets/{index-Dl6_NSX4.js → index-DmHX1Rlv.js} +1 -1
  54. package/dist/assets/{index-BbrvgVGd.js → index-F531CohR.js} +1 -1
  55. package/dist/assets/{index-BNuSEPHf.js → index-UAPuSZUk.js} +1 -1
  56. package/dist/assets/{index-DNjb9MyH.js → index-jwhWh6uS.js} +1 -1
  57. package/dist/assets/{index-DsMyERcC.js → index-kraNHKP1.js} +1 -1
  58. package/dist/assets/{index-B8egTd_Y.js → index-v546YXgW.js} +1 -1
  59. package/dist/assets/infoDiagram-6WOFNB3A-mJ455ogl.js +2 -0
  60. package/dist/assets/{journeyDiagram-FFXJYRFH-IwybgEnB.js → journeyDiagram-FFXJYRFH-CrWxkiXG.js} +1 -1
  61. package/dist/assets/{kanban-definition-KOZQBZVT-BnLxznwF.js → kanban-definition-KOZQBZVT-D5haTqpz.js} +1 -1
  62. package/dist/assets/{layout-lIKJEEeS.js → layout-BEc7rmra.js} +1 -1
  63. package/dist/assets/{linear-DzfVWjvh.js → linear-BLmy5c_P.js} +1 -1
  64. package/dist/assets/{links-yIZ6advT.js → links-BGVSWGyv.js} +1 -1
  65. package/dist/assets/{mermaid-CEpdDmik.js → mermaid-Bu2fp8N3.js} +4 -4
  66. package/dist/assets/{min-CH9RTxJs.js → min-BF5a70Ha.js} +1 -1
  67. package/dist/assets/{mindmap-definition-LNHGMQRG-BGOBqdZQ.js → mindmap-definition-LNHGMQRG-jD2ylGBG.js} +1 -1
  68. package/dist/assets/{number-overlay-editor-Bp8EEFG4.js → number-overlay-editor-BadGHMrr.js} +1 -1
  69. package/dist/assets/{pieDiagram-DBDJKBY4-BH18DMec.js → pieDiagram-DBDJKBY4-B11UeqxS.js} +1 -1
  70. package/dist/assets/{quadrantDiagram-YPSRARAO-DyEaA3Tj.js → quadrantDiagram-YPSRARAO-DznrQXs-.js} +1 -1
  71. package/dist/assets/{react-plotly-BWJyJ31U.js → react-plotly-B6W1vV_l.js} +1 -1
  72. package/dist/assets/{requirementDiagram-EGVEC5DT-BIDYwWds.js → requirementDiagram-EGVEC5DT-BuWp2ov9.js} +1 -1
  73. package/dist/assets/{run-page-CFGHZjjp.js → run-page-BD4YehOu.js} +1 -1
  74. package/dist/assets/{sankeyDiagram-HRAUVNP4-CI7WE82z.js → sankeyDiagram-HRAUVNP4-BmDCzHkG.js} +1 -1
  75. package/dist/assets/{sequenceDiagram-WFGC7UMF-CAt5_R3a.js → sequenceDiagram-WFGC7UMF-B6aCHwAd.js} +1 -1
  76. package/dist/assets/{slides-component-BE3m7wod.js → slides-component-CkHAJhvv.js} +1 -1
  77. package/dist/assets/{sortBy-D8wYLA9x.js → sortBy-BgSF6Z3p.js} +1 -1
  78. package/dist/assets/{stateDiagram-UUKSUZ4H-B9ghWYn7.js → stateDiagram-UUKSUZ4H-DcGKoXUB.js} +1 -1
  79. package/dist/assets/stateDiagram-v2-EYPG3UTE-BW5Lhcrb.js +1 -0
  80. package/dist/assets/{storage-BseyfFaj.js → storage-BX5GfYeC.js} +3 -3
  81. package/dist/assets/{terminal-R2SnqHO_.js → terminal-CpmTRzDD.js} +1 -1
  82. package/dist/assets/{time-CftJc27E.js → time-igUPFhda.js} +1 -1
  83. package/dist/assets/{timeline-definition-3HZDQTIS-B8ej5Uev.js → timeline-definition-3HZDQTIS-7b4K28uW.js} +1 -1
  84. package/dist/assets/{tracing-OU6KdAjg.js → tracing-BWeRyJmf.js} +2 -2
  85. package/dist/assets/{trash-BX0buH-6.js → trash-Bv9cD3VE.js} +1 -1
  86. package/dist/assets/{treemap-75Q7IDZK-C6t8vi8s.js → treemap-75Q7IDZK-DPkOPTcz.js} +1 -1
  87. package/dist/assets/{vega-component-a-Wve7v1.js → vega-component-CGVDFtwG.js} +1 -1
  88. package/dist/assets/{xychartDiagram-FDP5SA34-DmTMju1m.js → xychartDiagram-FDP5SA34-BbvKlNzf.js} +1 -1
  89. package/dist/index.html +1 -1
  90. package/package.json +1 -1
  91. package/src/components/editor/Cell.tsx +16 -17
  92. package/src/components/editor/navigation/navigation.ts +7 -7
  93. package/src/components/editor/navigation/state.ts +34 -2
  94. package/dist/assets/_baseMap-CIc0IDdl.js +0 -1
  95. package/dist/assets/channel-D2aPrBH4.js +0 -1
  96. package/dist/assets/classDiagram-3BZAVTQC-DAUNRz1h.js +0 -1
  97. package/dist/assets/classDiagram-v2-QTMF73CY-DAUNRz1h.js +0 -1
  98. package/dist/assets/clone-CYXehyk_.js +0 -1
  99. package/dist/assets/infoDiagram-6WOFNB3A-B1zwcYam.js +0 -2
  100. package/dist/assets/stateDiagram-v2-EYPG3UTE-DtL7XYtB.js +0 -1
@@ -33,7 +33,7 @@ import {
33
33
  useCellSelectionActions,
34
34
  useIsCellSelected,
35
35
  } from "./selection";
36
- import { temporarilyShownCodeAtom } from "./state";
36
+ import { useTemporarilyShownCodeActions } from "./state";
37
37
  import { handleVimKeybinding } from "./vim-bindings";
38
38
 
39
39
  interface HotkeyHandler {
@@ -85,7 +85,7 @@ function addSingleHandler(handler: HotkeyHandler["bulkHandle"]): HotkeyHandler {
85
85
  function useCellFocusProps(cellId: CellId) {
86
86
  const focusActions = useCellFocusActions();
87
87
  const actions = useCellActions();
88
- const setTemporarilyShownCode = useSetAtom(temporarilyShownCodeAtom);
88
+ const temporarilyShownCodeActions = useTemporarilyShownCodeActions();
89
89
 
90
90
  // This occurs at the cell level and descedants.
91
91
  const { focusWithinProps } = useFocusWithin({
@@ -95,7 +95,7 @@ function useCellFocusProps(cellId: CellId) {
95
95
  },
96
96
  onBlurWithin: () => {
97
97
  // On blur, hide the code if it was temporarily shown.
98
- setTemporarilyShownCode(false);
98
+ temporarilyShownCodeActions.remove(cellId);
99
99
  actions.markTouched({ cellId });
100
100
  focusActions.blurCell();
101
101
  },
@@ -132,7 +132,7 @@ export function useCellNavigationProps(
132
132
  const setAiCompletionCell = useSetAtom(aiCompletionCellAtom);
133
133
  const actions = useCellActions();
134
134
  const store = useStore();
135
- const setTemporarilyShownCode = useSetAtom(temporarilyShownCodeAtom);
135
+ const temporarilyShownCodeActions = useTemporarilyShownCodeActions();
136
136
  const runCells = useRunCells();
137
137
  const keymapPreset = useAtomValue(keymapPresetAtom);
138
138
  const { copyCells, pasteAtCell } = useCellClipboard();
@@ -275,7 +275,7 @@ export function useCellNavigationProps(
275
275
  },
276
276
  // Enter will focus the cell editor.
277
277
  Enter: () => {
278
- setTemporarilyShownCode(true);
278
+ temporarilyShownCodeActions.add(cellId);
279
279
  focusCellEditor(store, cellId);
280
280
  selectionActions.clear();
281
281
  return true;
@@ -608,7 +608,7 @@ export function useCellEditorNavigationProps(
608
608
  cellId: CellId,
609
609
  editorView: React.RefObject<EditorView | null>,
610
610
  ) {
611
- const setTemporarilyShownCode = useSetAtom(temporarilyShownCodeAtom);
611
+ const temporarilyShownCodeActions = useTemporarilyShownCodeActions();
612
612
  const keymapPreset = useAtomValue(keymapPresetAtom);
613
613
  const hotkeys = useAtomValue(hotkeysAtom);
614
614
 
@@ -618,7 +618,7 @@ export function useCellEditorNavigationProps(
618
618
  }, [hotkeys]);
619
619
 
620
620
  const exitToCommandMode = () => {
621
- setTemporarilyShownCode(false);
621
+ temporarilyShownCodeActions.remove(cellId);
622
622
  focusCell(cellId);
623
623
  };
624
624
 
@@ -1,5 +1,37 @@
1
1
  /* Copyright 2024 Marimo. All rights reserved. */
2
2
 
3
- import { atom } from "jotai";
3
+ import { atom, useAtomValue } from "jotai";
4
+ import { useMemo } from "react";
5
+ import type { CellId } from "@/core/cells/ids";
6
+ import { createReducerAndAtoms } from "@/utils/createReducer";
4
7
 
5
- export const temporarilyShownCodeAtom = atom<boolean>(false);
8
+ type TemporarilyShownCodeState = Set<CellId>;
9
+
10
+ // This previously used jotai-scope, but unfortunately this bug creates unnecessary work:
11
+ // https://github.com/jotaijs/jotai-scope/issues/25
12
+
13
+ const {
14
+ valueAtom: temporarilyShownCodeAtom,
15
+ useActions: useTemporarilyShownCodeActions,
16
+ } = createReducerAndAtoms(() => new Set<CellId>(), {
17
+ add: (state: TemporarilyShownCodeState, cellId: CellId) => {
18
+ const newState = new Set(state);
19
+ newState.add(cellId);
20
+ return newState;
21
+ },
22
+ remove: (state: TemporarilyShownCodeState, cellId: CellId) => {
23
+ const newState = new Set(state);
24
+ newState.delete(cellId);
25
+ return newState;
26
+ },
27
+ });
28
+
29
+ const createTemporarilyShownCodeAtom = (cellId: CellId) =>
30
+ atom((get) => get(temporarilyShownCodeAtom).has(cellId));
31
+
32
+ export function useTemporarilyShownCode(cellId: CellId) {
33
+ const atom = useMemo(() => createTemporarilyShownCodeAtom(cellId), [cellId]);
34
+ return useAtomValue(atom);
35
+ }
36
+
37
+ export { temporarilyShownCodeAtom, useTemporarilyShownCodeActions };
@@ -1 +0,0 @@
1
- import{b as m}from"./_baseEach-CnK_W3-W.js";import{x as s}from"./index-DMvScaq6.js";function e(r,o){var a=-1,t=s(r)?Array(r.length):[];return m(r,function(n,f,i){t[++a]=o(n,f,i)}),t}export{e as b};
@@ -1 +0,0 @@
1
- import{U as s,C as o}from"./mermaid-CEpdDmik.js";const n=(a,r)=>s.lang.round(o.parse(a)[r]);export{n as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as t,C as o}from"./chunk-JBRWN2VN-DF6c2w7p.js";import{_ as e}from"./mermaid-CEpdDmik.js";import"./transform-B8bpuzxV.js";import"./chunk-GLLZNHP4-C852Uilf.js";import"./chunk-WVR4S24B-Ds_Fnulu.js";import"./chunk-NRVI72HA-BYzJjL14.js";import"./index-DMvScaq6.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:t,get db(){return new o},renderer:s,styles:a,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as t,C as o}from"./chunk-JBRWN2VN-DF6c2w7p.js";import{_ as e}from"./mermaid-CEpdDmik.js";import"./transform-B8bpuzxV.js";import"./chunk-GLLZNHP4-C852Uilf.js";import"./chunk-WVR4S24B-Ds_Fnulu.js";import"./chunk-NRVI72HA-BYzJjL14.js";import"./index-DMvScaq6.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:t,get db(){return new o},renderer:s,styles:a,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};
@@ -1 +0,0 @@
1
- import{b as n}from"./_baseUniq-DsEUejTO.js";function o(r){return n(r,4)}export{o as c};
@@ -1,2 +0,0 @@
1
- import{_ as a,l as i,I as s,d as p,K as n}from"./mermaid-CEpdDmik.js";import{p as m}from"./treemap-75Q7IDZK-C6t8vi8s.js";import"./index-DMvScaq6.js";import"./transform-B8bpuzxV.js";import"./timer-BwIYMJWC.js";import"./step-BwsUM5iJ.js";import"./_baseEach-CnK_W3-W.js";import"./_baseUniq-DsEUejTO.js";import"./min-CH9RTxJs.js";import"./_baseMap-CIc0IDdl.js";import"./clone-CYXehyk_.js";import"./_createAggregator-xSD3e6yX.js";var d={parse:a(async r=>{const t=await m("info",r);i.debug(t)},"parse")},g={version:n.version+""},v={parser:d,db:{getVersion:a(()=>g.version,"getVersion")},renderer:{draw:a((r,t,o)=>{i.debug(`rendering info diagram
2
- `+r);const e=s(t);p(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw")}};export{v as diagram};
@@ -1 +0,0 @@
1
- import{s as t,b as a,a as e,S as o}from"./chunk-LXBSTHXV-DJc1jClD.js";import{_ as s}from"./mermaid-CEpdDmik.js";import"./transform-B8bpuzxV.js";import"./chunk-WVR4S24B-Ds_Fnulu.js";import"./chunk-NRVI72HA-BYzJjL14.js";import"./index-DMvScaq6.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:e,get db(){return new o(2)},renderer:a,styles:t,init:s(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};