From de2b78405547a9119cd242e3eb14ca008427b6cc Mon Sep 17 00:00:00 2001 From: riya-kaurav Date: Tue, 3 Mar 2026 16:35:22 +0530 Subject: [PATCH 1/7] feat : add a placeholder in monaco editor --- package-lock.json | 21 ++++++++++++++++--- src/components/MonacoEditor.tsx | 37 ++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index c962618e..5f3b792a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "json-schema-studio", - "version": "0.5.3-beta", + "version": "0.5.6-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "json-schema-studio", - "version": "0.5.3-beta", + "version": "0.5.6-beta", "license": "MIT", "dependencies": { "@apidevtools/json-schema-ref-parser": "^14.1.1", @@ -90,6 +90,7 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -1822,6 +1823,7 @@ "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -1876,6 +1878,7 @@ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", @@ -2134,6 +2137,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2308,6 +2312,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -2504,6 +2509,7 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -2703,6 +2709,7 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -3726,7 +3733,8 @@ "version": "0.52.2", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.2.tgz", "integrity": "sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/ms": { "version": "2.1.3", @@ -3918,6 +3926,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -3979,6 +3988,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3988,6 +3998,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -4311,6 +4322,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -4376,6 +4388,7 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4479,6 +4492,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -4570,6 +4584,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, diff --git a/src/components/MonacoEditor.tsx b/src/components/MonacoEditor.tsx index a5584dc2..2fea5fba 100644 --- a/src/components/MonacoEditor.tsx +++ b/src/components/MonacoEditor.tsx @@ -215,7 +215,14 @@ const MonacoEditor = () => { }, [schemaFormat]); useEffect(() => { - if (!schemaText.trim()) return; + if (schemaText.trim().length === 0) { + setSchemaValidation({ + status: "success", + message: "", + }); + setCompiledSchema(null); + return; + } const timeout = setTimeout(async () => { try { @@ -300,19 +307,21 @@ const MonacoEditor = () => { ref={editorPanelRef} collapsible > - setSchemaText(value ?? "")} - onMount={handleEditorDidMount} - /> + setSchemaText(value ?? "")} + onMount={handleEditorDidMount} +/> +
{schemaValidation.message} From 30e6f505a8cd764696f1bf645639431b24414058 Mon Sep 17 00:00:00 2001 From: riya-kaurav Date: Wed, 4 Mar 2026 10:05:54 +0530 Subject: [PATCH 2/7] updated version in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b18ebec9..1e5e3107 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "json-schema-studio", - "version": "0.5.6-beta", + "version": "0.6.0-beta", "type": "module", "homepage": "studio.ioflux.org", "repository": "https://github.com/ioflux-org/studio-json-schema", From 810553e3532053b35684b20e58b238e52e26774b Mon Sep 17 00:00:00 2001 From: riya-kaurav Date: Wed, 4 Mar 2026 13:29:56 +0530 Subject: [PATCH 3/7] updated version in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1e5e3107..6afdee59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "json-schema-studio", - "version": "0.6.0-beta", + "version": "0.5.7-beta", "type": "module", "homepage": "studio.ioflux.org", "repository": "https://github.com/ioflux-org/studio-json-schema", From 088429a530e32bb0b5547d2b01c696ab616fe7cb Mon Sep 17 00:00:00 2001 From: riya-kaurav Date: Wed, 4 Mar 2026 16:30:03 +0530 Subject: [PATCH 4/7] spacing and indention improvement --- src/components/MonacoEditor.tsx | 64 +++++++++++++++++---------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/src/components/MonacoEditor.tsx b/src/components/MonacoEditor.tsx index 2fea5fba..53423b2c 100644 --- a/src/components/MonacoEditor.tsx +++ b/src/components/MonacoEditor.tsx @@ -215,14 +215,14 @@ const MonacoEditor = () => { }, [schemaFormat]); useEffect(() => { - if (schemaText.trim().length === 0) { - setSchemaValidation({ - status: "success", - message: "", - }); - setCompiledSchema(null); - return; - } + if (schemaText.trim().length === 0) { + setSchemaValidation({ + status: "success", + message: "", + }); + setCompiledSchema(null); + return; + } const timeout = setTimeout(async () => { try { @@ -263,13 +263,13 @@ const MonacoEditor = () => { setSchemaValidation( !dialect && typeof parsedSchema !== "boolean" ? { - status: "warning", - message: VALIDATION_UI["warning"].message, - } + status: "warning", + message: VALIDATION_UI["warning"].message, + } : { - status: "success", - message: VALIDATION_UI["success"].message, - } + status: "success", + message: VALIDATION_UI["success"].message, + } ); saveSchemaJSON(SESSION_SCHEMA_KEY, copy); @@ -289,9 +289,8 @@ const MonacoEditor = () => { return (
{isFullScreen && (
@@ -307,20 +306,23 @@ const MonacoEditor = () => { ref={editorPanelRef} collapsible > - setSchemaText(value ?? "")} - onMount={handleEditorDidMount} -/> + setSchemaText(value ?? "")} + onMount={handleEditorDidMount} + />
From 74ee83cf4d4818d82be188967ebc659a94730a0c Mon Sep 17 00:00:00 2001 From: riya-kaurav Date: Thu, 5 Mar 2026 01:08:03 +0530 Subject: [PATCH 5/7] revert unintended formatting changes in validation block --- src/components/MonacoEditor.tsx | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/components/MonacoEditor.tsx b/src/components/MonacoEditor.tsx index 53423b2c..0c09413d 100644 --- a/src/components/MonacoEditor.tsx +++ b/src/components/MonacoEditor.tsx @@ -215,14 +215,7 @@ const MonacoEditor = () => { }, [schemaFormat]); useEffect(() => { - if (schemaText.trim().length === 0) { - setSchemaValidation({ - status: "success", - message: "", - }); - setCompiledSchema(null); - return; - } + if (!schemaText.trim()) return; const timeout = setTimeout(async () => { try { @@ -263,13 +256,13 @@ const MonacoEditor = () => { setSchemaValidation( !dialect && typeof parsedSchema !== "boolean" ? { - status: "warning", - message: VALIDATION_UI["warning"].message, - } + status: "warning", + message: VALIDATION_UI["warning"].message, + } : { - status: "success", - message: VALIDATION_UI["success"].message, - } + status: "success", + message: VALIDATION_UI["success"].message, + } ); saveSchemaJSON(SESSION_SCHEMA_KEY, copy); From 5a2a1338f60497fca03af25cb515bb1b60943d2c Mon Sep 17 00:00:00 2001 From: riya-kaurav Date: Sun, 8 Mar 2026 19:23:59 +0530 Subject: [PATCH 6/7] add aria-label to fullscreen toggle button for accessibility --- package-lock.json | 4 ++-- src/components/FullscreenToggleButton.tsx | 1 + src/components/GraphView.tsx | 5 +++++ src/components/NavigationBar.tsx | 4 ++++ src/components/NodeDetailsPopup.tsx | 2 ++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5f3b792a..d5d9156b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "json-schema-studio", - "version": "0.5.6-beta", + "version": "0.5.7-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "json-schema-studio", - "version": "0.5.6-beta", + "version": "0.5.7-beta", "license": "MIT", "dependencies": { "@apidevtools/json-schema-ref-parser": "^14.1.1", diff --git a/src/components/FullscreenToggleButton.tsx b/src/components/FullscreenToggleButton.tsx index 3b0a012a..213edc1a 100644 --- a/src/components/FullscreenToggleButton.tsx +++ b/src/components/FullscreenToggleButton.tsx @@ -7,6 +7,7 @@ const FullscreenToggleButton = () => { return (