@coldsmirk/inkstone-react 0.27.2 → 0.27.4

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.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as CodeMirrorDiffEditor, i as CodeMirrorEditor, n as normalizeContext, r as searchPhrasesZhCn, t as codeMirrorLanguages } from "./codemirror-bROXidfr.js";
2
- import { i as MonacoDiffEditor, n as monacoLanguages, r as MonacoEditor, t as DEFAULT_MONACO_OPTIONS } from "./monaco-DczRavzN.js";
2
+ import { i as MonacoDiffEditor, n as monacoLanguages, r as MonacoEditor, t as DEFAULT_MONACO_OPTIONS } from "./monaco-FFb6p4ut.js";
3
3
  import { t as useShikiHighlighter } from "./use-shiki-highlighter-CzSQcX2f.js";
4
4
  import "./shiki.js";
5
5
  export { CodeMirrorDiffEditor, CodeMirrorEditor, DEFAULT_MONACO_OPTIONS, MonacoDiffEditor, MonacoEditor, codeMirrorLanguages, monacoLanguages, normalizeContext, searchPhrasesZhCn, useShikiHighlighter };
@@ -249,6 +249,14 @@ function MonacoEditor({ value, onChange, language = "javascript", dark = false,
249
249
  path,
250
250
  valueRef
251
251
  ]);
252
+ useEffect(() => () => {
253
+ const model = editorRef.current?.getModel();
254
+ const monaco = monacoRef.current;
255
+ if (!model || !monaco) return;
256
+ queueMicrotask(() => {
257
+ if (!model.isDisposed() && monaco.editor.getEditors().every((other) => other.getModel() !== model)) model.dispose();
258
+ });
259
+ }, []);
252
260
  const handleChange = useCallback((next) => {
253
261
  if (pathChangingRef.current || valueTransitionRef.current || reconcilingRef.current) return;
254
262
  onChangeRef.current?.(next ?? "");
@@ -300,6 +308,7 @@ function MonacoEditor({ value, onChange, language = "javascript", dark = false,
300
308
  };
301
309
  const theme = shikiState === "ready" ? shikiThemeId(dark) : dark ? "vs-dark" : "vs";
302
310
  return /* @__PURE__ */ jsx(Editor, {
311
+ keepCurrentModel: true,
303
312
  beforeMount: handleBeforeMount,
304
313
  className,
305
314
  defaultValue: value,
package/dist/monaco.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as MonacoDiffEditor, n as monacoLanguages, r as MonacoEditor, t as DEFAULT_MONACO_OPTIONS } from "./monaco-DczRavzN.js";
1
+ import { i as MonacoDiffEditor, n as monacoLanguages, r as MonacoEditor, t as DEFAULT_MONACO_OPTIONS } from "./monaco-FFb6p4ut.js";
2
2
  export { DEFAULT_MONACO_OPTIONS, MonacoDiffEditor, MonacoEditor, monacoLanguages };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coldsmirk/inkstone-react",
3
- "version": "0.27.2",
3
+ "version": "0.27.4",
4
4
  "description": "Drop-in React code editors: a preconfigured Monaco <MonacoEditor> (offline workers, Shiki catppuccin themes, dark switching, opt-in zh-CN UI) and a controlled CodeMirror 6 <CodeMirrorEditor> (catppuccin themes, dark switching, sizing).",
5
5
  "keywords": [
6
6
  "react",
@@ -48,9 +48,9 @@
48
48
  ],
49
49
  "dependencies": {
50
50
  "@monaco-editor/react": "^4.7.0",
51
- "@coldsmirk/inkstone-codemirror": "^0.27.2",
52
- "@coldsmirk/inkstone-monaco": "^0.27.2",
53
- "@coldsmirk/inkstone-core": "^0.27.2"
51
+ "@coldsmirk/inkstone-codemirror": "^0.27.4",
52
+ "@coldsmirk/inkstone-core": "^0.27.4",
53
+ "@coldsmirk/inkstone-monaco": "^0.27.4"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@codemirror/autocomplete": "^6.20.3",