This is an automated email from the ASF dual-hosted git repository.

guanmingchiu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 4aee80915ca Consolidate JSON editors to Monaco (#62708)
4aee80915ca is described below

commit 4aee80915cae96928fa5f30dd8e17c5e34532595
Author: Guan-Ming (Wesley) Chiu <[email protected]>
AuthorDate: Sat Mar 7 08:23:16 2026 +0800

    Consolidate JSON editors to Monaco (#62708)
    
    * Consolidate JSON editors to Monaco
    
    Signed-off-by: Guan-Ming (Wesley) Chiu 
<[email protected]>
    
    * Fix e2e test
    
    Signed-off-by: Guan-Ming (Wesley) Chiu 
<[email protected]>
    
    ---------
    
    Signed-off-by: Guan-Ming (Wesley) Chiu 
<[email protected]>
---
 airflow-core/src/airflow/ui/package.json           |   4 -
 airflow-core/src/airflow/ui/pnpm-lock.yaml         | 884 +--------------------
 .../ui/src/components/Assets/AssetEvent.tsx        |   4 +-
 .../src/airflow/ui/src/components/ConfigForm.tsx   |   3 +-
 .../src/airflow/ui/src/components/JsonEditor.tsx   |  80 +-
 .../ui/src/components/RenderedJsonField.tsx        |  53 +-
 .../airflow/ui/src/pages/AssetsList/AssetsList.tsx |   2 +-
 .../ui/src/pages/Connections/ConnectionForm.tsx    |   4 +-
 airflow-core/src/airflow/ui/src/pages/DagRuns.tsx  |   2 +-
 .../src/airflow/ui/src/pages/Events/Events.tsx     |   2 +-
 .../src/airflow/ui/src/pages/XCom/XComEntry.tsx    |   6 +-
 .../airflow/ui/tests/e2e/pages/ConnectionsPage.ts  |  29 +-
 12 files changed, 145 insertions(+), 928 deletions(-)

diff --git a/airflow-core/src/airflow/ui/package.json 
b/airflow-core/src/airflow/ui/package.json
index 09f6e4c6adc..1c61c86b435 100644
--- a/airflow-core/src/airflow/ui/package.json
+++ b/airflow-core/src/airflow/ui/package.json
@@ -27,7 +27,6 @@
   "dependencies": {
     "@chakra-ui/anatomy": "^2.3.4",
     "@chakra-ui/react": "^3.20.0",
-    "@codemirror/lang-json": "^6.0.2",
     "@emotion/react": "^11.14.0",
     "@lezer/highlight": "^1.2.3",
     "@guanmingchiu/sqlparser-ts": "^0.61.1",
@@ -35,8 +34,6 @@
     "@tanstack/react-query": "^5.90.11",
     "@tanstack/react-table": "^8.21.3",
     "@tanstack/react-virtual": "^3.13.12",
-    "@uiw/codemirror-themes-all": "^4.25.3",
-    "@uiw/react-codemirror": "^4.25.3",
     "@visx/group": "^3.12.0",
     "@visx/shape": "^3.12.0",
     "@xyflow/react": "^12.10.0",
@@ -61,7 +58,6 @@
     "react-i18next": "^15.5.1",
     "react-icons": "^5.5.0",
     "react-innertext": "^1.1.5",
-    "react-json-view": "^1.21.3",
     "react-markdown": "^9.1.0",
     "react-resizable-panels": "^3.0.6",
     "react-router-dom": "^7.12.0",
diff --git a/airflow-core/src/airflow/ui/pnpm-lock.yaml 
b/airflow-core/src/airflow/ui/pnpm-lock.yaml
index 8d1b2488f1d..ab7277e16e6 100644
--- a/airflow-core/src/airflow/ui/pnpm-lock.yaml
+++ b/airflow-core/src/airflow/ui/pnpm-lock.yaml
@@ -23,9 +23,6 @@ importers:
       '@chakra-ui/react':
         specifier: ^3.20.0
         version: 
3.20.0(@emotion/[email protected](@types/[email protected])([email protected]))([email protected]([email protected]))([email protected])
-      '@codemirror/lang-json':
-        specifier: ^6.0.2
-        version: 6.0.2
       '@emotion/react':
         specifier: ^11.14.0
         version: 11.14.0(@types/[email protected])([email protected])
@@ -47,12 +44,6 @@ importers:
       '@tanstack/react-virtual':
         specifier: ^3.13.12
         version: 3.13.12([email protected]([email protected]))([email protected])
-      '@uiw/codemirror-themes-all':
-        specifier: ^4.25.3
-        version: 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/react-codemirror':
-        specifier: ^4.25.3
-        version: 
4.25.3(@babel/[email protected])(@codemirror/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@lezer/[email protected]))(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])([email protected](@lezer/[email protected]))([email protected]([email protected]))([email protected])
       '@visx/group':
         specifier: ^3.12.0
         version: 3.12.0([email protected])
@@ -125,9 +116,6 @@ importers:
       react-innertext:
         specifier: ^1.1.5
         version: 1.1.5(@types/[email protected])([email protected])
-      react-json-view:
-        specifier: ^1.21.3
-        version: 
1.21.3(@types/[email protected])([email protected]([email protected]))([email protected])
       react-markdown:
         specifier: ^9.1.0
         version: 9.1.0(@types/[email protected])([email protected])
@@ -496,41 +484,6 @@ packages:
       react: '>=18'
       react-dom: '>=18'
 
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-wJGylKtMFR/Ds6Gh01+OovXE/pncPiKZNNBKuC39pKnH+XK5d9+WsNqcrdxPjFPFTigRBqse0rfxw9UxrfyhPg==}
-    peerDependencies:
-      '@codemirror/language': ^6.0.0
-      '@codemirror/state': ^6.0.0
-      '@codemirror/view': ^6.0.0
-      '@lezer/common': ^1.0.0
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-454TVgjhO6cMufsyyGN70rGIfJxJEjcqjBG2x2Y03Y/+Fm99d3O/Kv1QDYWuG6hvxsgmjXmBuATikIIYvERX+w==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-x2OtO+AvwEHrEwR0FyyPtfDUiloG3rnVTSZV1W8UteaLL8/MajQd8DpvUb2YVzC+/T18aSDv0H9mu+xw0EStoQ==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-PDFG5DjHxSEjOXk9TQYYVjZDqlZTFaDBfhQixHnQOEVDDNHUbEh/hstAjcQJaA6FQdZTD1hquXTK0rVBLADR1g==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==}
-
-  '@codemirror/[email protected]':
-    resolution: {integrity: 
sha512-ZQ0V5ovw/miKEXTvjgzRyjnrk9TwriUB1k4R5p7uNnHR9Hus+D1SXHGdJshijEzPFjU25xea/7nhIeSqYFKdbA==}
-
   '@emotion/[email protected]':
     resolution: {integrity: 
sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
 
@@ -913,24 +866,12 @@ packages:
   '@kurkle/[email protected]':
     resolution: {integrity: 
sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==}
 
-  '@lezer/[email protected]':
-    resolution: {integrity: 
sha512-L9X8uHCYU310o99L3/MpJKYxPzXPOS7S0NmBaM7UO/x2Kb2WbmMLSkfvdr1KxRIFYOpbY0Jhn7CfLSUDzL8arQ==}
-
   '@lezer/[email protected]':
     resolution: {integrity: 
sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==}
 
   '@lezer/[email protected]':
     resolution: {integrity: 
sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==}
 
-  '@lezer/[email protected]':
-    resolution: {integrity: 
sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==}
-
-  '@lezer/[email protected]':
-    resolution: {integrity: 
sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==}
-
-  '@marijn/[email protected]':
-    resolution: {integrity: 
sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==}
-
   '@monaco-editor/[email protected]':
     resolution: {integrity: 
sha512-hKoGSM+7aAc7eRTRjpqAZucPmoNOC4UUbknb/VNoTkEIkCPhqV8LfbsgM1webRM7S/z21eHEx9Fkwx8Z/C/+Xw==}
 
@@ -1010,79 +951,66 @@ packages:
     resolution: {integrity: 
sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==}
     cpu: [arm]
     os: [linux]
-    libc: [glibc]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==}
     cpu: [arm]
     os: [linux]
-    libc: [musl]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==}
     cpu: [arm64]
     os: [linux]
-    libc: [glibc]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==}
     cpu: [arm64]
     os: [linux]
-    libc: [musl]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==}
     cpu: [loong64]
     os: [linux]
-    libc: [glibc]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==}
     cpu: [loong64]
     os: [linux]
-    libc: [musl]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==}
     cpu: [ppc64]
     os: [linux]
-    libc: [glibc]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==}
     cpu: [ppc64]
     os: [linux]
-    libc: [musl]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==}
     cpu: [riscv64]
     os: [linux]
-    libc: [glibc]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==}
     cpu: [riscv64]
     os: [linux]
-    libc: [musl]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==}
     cpu: [s390x]
     os: [linux]
-    libc: [glibc]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==}
     cpu: [x64]
     os: [linux]
-    libc: [glibc]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==}
     cpu: [x64]
     os: [linux]
-    libc: [musl]
 
   '@rollup/[email protected]':
     resolution: {integrity: 
sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==}
@@ -1143,28 +1071,24 @@ packages:
     engines: {node: '>=10'}
     cpu: [arm64]
     os: [linux]
-    libc: [glibc]
 
   '@swc/[email protected]':
     resolution: {integrity: 
sha512-9+ZxFN5GJag4CnYnq6apKTnnezpfJhCumyz0504/JbHLo+Ue+ZtJnf3RhyA9W9TINtLE0bC4hKpWi8ZKoETyOQ==}
     engines: {node: '>=10'}
     cpu: [arm64]
     os: [linux]
-    libc: [musl]
 
   '@swc/[email protected]':
     resolution: {integrity: 
sha512-WD530qvHrki8Ywt/PloKUjaRKgstQqNGvmZl54g06kA+hqtSE2FTG9gngXr3UJxYu/cNAjJYiBifm7+w4nbHbA==}
     engines: {node: '>=10'}
     cpu: [x64]
     os: [linux]
-    libc: [glibc]
 
   '@swc/[email protected]':
     resolution: {integrity: 
sha512-Luj8y4OFYx4DHNQTWjdIuKTq2f5k6uSXICqx+FSabnXptaOBAbJHNbHT/06JZh6NRUouaf0mYXN0mcsqvkhd7Q==}
     engines: {node: '>=10'}
     cpu: [x64]
     os: [linux]
-    libc: [musl]
 
   '@swc/[email protected]':
     resolution: {integrity: 
sha512-cZ6UpumhF9SDJvv4DA2fo9WIzlNFuKSkZpZmPG1c+4PFSEMy5DFOjBSllCvnqihCabzXzpn6ykCwBmHpy31vQw==}
@@ -1542,143 +1466,6 @@ packages:
     resolution: {integrity: 
sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-F1doRyD50CWScwGHG2bBUtUpwnOv/zqSnzkZqJcX5YAHQx6Z1CuX8jdnFMH6qktRrPU1tfpNYftTWu3QIoHiMA==}
-    peerDependencies:
-      '@codemirror/autocomplete': '>=6.0.0'
-      '@codemirror/commands': '>=6.0.0'
-      '@codemirror/language': '>=6.0.0'
-      '@codemirror/lint': '>=6.0.0'
-      '@codemirror/search': '>=6.0.0'
-      '@codemirror/state': '>=6.0.0'
-      '@codemirror/view': '>=6.0.0'
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-A9l/vxgE/xt/EkjEPsl/U9Uf2eP13P5fJg3a2kcJn+MGz3mZEAdASOFWtQ6IaeibX2edehrkMSpSZ3i/ek+t6Q==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-5EXmnazBqKhkzg7u4+QJciBHb3Q0sSyk2ceo7CcTEP7Ljp3zkmk9fUS2eD5MzttwVMRahIX7mu8vz+Y9IVO3Lw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-d7L8aWfHGZgpywCKO3Kk+sEuw16949wFJXa/jotwVJ+RNPPaeWN39+dalz3k2xwhvS+4BBiWkQpColNQTmtJww==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-peFPAT7DGdt1CcRXlLjPioGrNHIF3VFu2pxOAjGxovgDesWTCcxgi608Zs/mLykHJyWN8p0CXU4gP2BImRrBxQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-4ZVHm1sQ+R5y4pnUMGccd8kGZYTzg1Nb6ZwGaMtOadpCQlbIjH9+P9dDdHmWrRcW+HOelzgDu+XNzr35ZZpmNQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-i+egWQ8SU169O/+ZJr4Fwnswa4Jp6eHDux2zunpWvaRKM3j9ZtkvT5w4WZ/O/v3iYEbq9eBs2XkFf3ed2Yn+5A==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-552w8l/D9PfVlwvX1Wmc5v4ONlusfTaNJxlH9kV1pIwckIz+ynoqcojskF+rADf3m9eTHuEqD7P1Bg7YJm8Agg==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-f+WCsHm4KMyC/gStKIhCxK2bWxaIQKysutYRVDxjb/a6wh5cJru8SsYsqFNyUcgbSm+qwMBEYx1ngN5v49pmcA==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-sKa4oFgRbnnBI6QmYeNuOERYhYkbcRYGMTstwVQE2WX2bCKRb3SECmntHkBvxGWCBiM1cC2PUculNAxYdUbRMQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-aXpz//Y18ECIIsJoljsiGbUX5ApJvCl3ePaJYLN7tu+5JTpbpD/7qxv/UyxIDGZlh159PS50ikBSYMc6OsZWuw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-9Me4TxXNJlCda6y8CrxoYgenSbU8SV2FJ0D8HaVjkFwEkop1503hESAJCIq90RHw/Rk/muGILlxHFNK3bHyVAw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-bpBJiEuBzJsugAkLQ4MMBwRExdNlHI7k2qyxrcRHenA63b4A4H8OVrPYkalaoaq/YF03OtXoS9NHNe871SkRZw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-Mg7B10rLgZyBB0Ctexvxi2Uk+KTiuRuTLMuddGZ4wS2JiRwsW2fi5drvsyqlIUrW0fG1jUr0jotajG+eQ0zYBg==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-gRHmAhKfPJYFd6N7Hte8dokjPwG4LxxrIcraSWznh0eP2WMDw3PL3F4KIsUrEe6uOmeY7SKx1QXyiVqdkuRsGw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-TcO+zjFdQiKPRomsHHiqc/lMmeZ8a9/Xq0o1os5EAsY2ghCKrwes8DFRnSf3wE3cM7QiO3kPBp2ZV/VG6TgCsA==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-KdmcO9VicsBgsDErNrNBqwMuTbJRIpeMl9oIjmrNx2iEfIDSOMBIKlX+BkgwTAU+VmhqYY/68/kmF1K8z2FxrQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-YFTPofCEOGiLXp00KuJNeCtg3c5AIqb2W5O96wX7Xdkp0iUlCtjsrft5fWtQyz9UgwkPXJtg6q3qYfvf3OGsVg==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-X7C/sNCo/cGLsTYqPbnJp9/825RjvDHRjjG/uD+2v7VKxkz9kmMA3uD3Sv7EG7cbwi+izMpsBC4XKGqTCkTKYw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-8R0t7KH640coPOsen9OlFqv5U60c3SEEvabl0YiOahcAMrClg1H7axXRdToPl4as9QPRoOw74YCj7weIJUEbZA==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-k6llkWGUfoWQuEgA2KtiB8BC2+OnycmVCnbGH+3Pd8Kk9uwM0uAWihluszYcUSjkYztU5ni0X28ClOFW0F9uWQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-1Zx5O6pyxaMXrY+zVgnUICbzJzaW7R6XGwuR68u7bbEuYL7Z0leZfUSxfTb72RqZdpAvF6AaKTCZflNudNAOSQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-6J7cfiOVona9ZT1yEF5h8FQzfWyPYW32OJkmlmESmYoGtHlHzRNkbgvIIo6x2yZ8pOgwd+Pyn+xFmdDvf2KnUg==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-krmPOOPd8kZyOkF9b9hld9i0SrWxdxxxgjo/TTOd4X9huu1oLBGg/32idVKIk16ej3gDMHSDfauPoEWycF91Tw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-ulxLBuy5ov7liH0ndtmd5gS/ZR/2WcGBQ09JG5uy1LA/U7/mFMDld3i717o+mKJqVBRah/kPLnTGSlev1X3TPw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-zDOYJkyROl0Pjp4pIR1XZQ0VD3cmAPOhHHfn1fWBttzexE+3PhvocGuXETFO0dlsocXuUvcd4SLlnQTAM569/Q==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-NtrH7/h1irYv7WNEtFzG1ilLbhCpbO57cA7jdkQesFYvd01zxbfJ/xapSf6u0wmv00SSAdBRBF26Ne1ZgqaYZw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-vbuOia4nc3J3gWiIQrh3EYWIjNEjO7alUCzpb4V21W97EtFTmh/xSLtjPRxTfZMho95Q6kd+GE1HkmbO8Jxh8g==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-ozCR+xtsV0XZRWVtYKD37NahXEXO+ZHU1QOpCiyqKJ3AM1jY1hg852qrajqe06xYXx2pEnTUPPe3nzVYP6ut9Q==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-mzYwx2KWba6jEdF5iquyxuOMxVK+iJcJrkMfmAk3d5Dxlt6JnOK6DW5+mxfdHBvK8WNB+TaqS2Z/2sf0c7tx3g==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-Z2Ku8goadYziR6eJPR/RNAmC8xy515RqWdF2hK8mbxEhZjAMlYFeb7jpRnydj7l/zKFAeWUxKO7czHoNY7Zorg==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-vqmw52WBUhC/wRZRmNIwEAm9GpFU+HIK+TMGt4BHdtbPhPV5LensZZA9HY/ORLT1169+/ufk7rX/C4jkAM9DYA==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-OvjyoM6lnmmW9G8zXohfqpY7uywq1th3W0H4T0QgtFYCLRYghvp8Vy5RRPt+E8mcg7SrNL8tq9XqQQxLYWjlKg==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-4bKsR1P3Lit/ycJKIOeK1/w28Y8oxhGekLxQw93/2CYXH/B/MyUs1y1vmGCCL5Cq1qIZ+w2nFvXbZYELKFiwXw==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-pA0A7SLNrzK1mVPJy6XEY9z+XZAABBA45nrYARNAHGSa4HWm4MIhBpVzYlTu7ItzEdsvGCbUNMpJyoJm3fCEDQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-nv3XWEpszoJ3XkgMTkDTgVzNbTQ7HPoG6Lx0Rsu1otvvWVYxq34wygdBm2pLd2ZxCzCbNM7KsQS5BGD0ZwiJvA==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-stN/BBHzVtSXQRP8A9/qnvH5RBiUg4cC2SpNnlUAmzK/vfjcNVscx3L95VBnK5epjKlrOYdZbpm4fWoR83FsMQ==}
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-k7/B7Vf4jU/WcdewgJWP9tMFxbjB6UpUymZ3fx/TsbGwt2JXAouw0uyqCn1RlYBfr7YQnvEs3Ju9ECkd2sKzdg==}
-    peerDependencies:
-      '@codemirror/language': '>=6.0.0'
-      '@codemirror/state': '>=6.0.0'
-      '@codemirror/view': '>=6.0.0'
-
-  '@uiw/[email protected]':
-    resolution: {integrity: 
sha512-1wtBZTXPIp8u6F/xjHvsUAYlEeF5Dic4xZBnqJyLzv7o7GjGYEUfSz9Z7bo9aK9GAx2uojG/AuBMfhA4uhvIVQ==}
-    peerDependencies:
-      '@babel/runtime': '>=7.11.0'
-      '@codemirror/state': '>=6.0.0'
-      '@codemirror/theme-one-dark': '>=6.0.0'
-      '@codemirror/view': '>=6.0.0'
-      codemirror: '>=6.0.0'
-      react: '>=17.0.0'
-      react-dom: '>=17.0.0'
-
   '@ungap/[email protected]':
     resolution: {integrity: 
sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
 
@@ -2060,9 +1847,6 @@ packages:
     resolution: {integrity: 
sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
     engines: {node: '>= 0.4'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
-
   [email protected]:
     resolution: {integrity: 
sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
     engines: {node: '>=12'}
@@ -2116,9 +1900,6 @@ packages:
     resolution: {integrity: 
sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==}
     engines: {node: 20 || >=22}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==}
-
   [email protected]:
     resolution: {integrity: 
sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
     engines: {node: '>=8'}
@@ -2276,9 +2057,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==}
-
   [email protected]:
     resolution: {integrity: 
sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
     engines: {node: '>=7.0.0'}
@@ -2331,12 +2109,6 @@ packages:
     resolution: {integrity: 
sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
     engines: {node: '>=10'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
-
-  [email protected]:
-    resolution: {integrity: 
sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==}
-
   [email protected]:
     resolution: {integrity: 
sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==}
 
@@ -2773,15 +2545,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==}
-
-  [email protected]:
-    resolution: {integrity: 
sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==}
-
-  [email protected]:
-    resolution: {integrity: 
sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==}
-
   [email protected]:
     resolution: {integrity: 
sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
     engines: {node: '>=12.0.0'}
@@ -2817,11 +2580,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==}
-    peerDependencies:
-      react: ^15.0.2 || ^16.0.0 || ^17.0.0
-
   [email protected]:
     resolution: {integrity: 
sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
     engines: {node: '>=4.0'}
@@ -3330,15 +3088,9 @@ packages:
     resolution: {integrity: 
sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
     engines: {node: '>=10'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==}
-
   [email protected]:
     resolution: {integrity: 
sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==}
-
   [email protected]:
     resolution: {integrity: 
sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
 
@@ -3361,8 +3113,8 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==}
+  [email protected]:
+    resolution: {integrity: 
sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==}
     engines: {node: 20 || >=22}
 
   [email protected]:
@@ -3551,10 +3303,6 @@ packages:
     resolution: {integrity: 
sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
     engines: {node: '>=16 || 14 >=14.17'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
-    engines: {node: '>=16 || 14 >=14.17'}
-
   [email protected]:
     resolution: {integrity: 
sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
     engines: {node: '>= 18'}
@@ -3734,9 +3482,9 @@ packages:
     resolution: {integrity: 
sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
     engines: {node: '>=16 || 14 >=14.18'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
-    engines: {node: 18 || 20 || >=22}
+  [email protected]:
+    resolution: {integrity: 
sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==}
+    engines: {node: 20 || >=22}
 
   [email protected]:
     resolution: {integrity: 
sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
@@ -3822,9 +3570,6 @@ packages:
     resolution: {integrity: 
sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
     engines: {node: '>=6'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
-
   [email protected]:
     resolution: {integrity: 
sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
 
@@ -3847,15 +3592,9 @@ packages:
     resolution: {integrity: 
sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
     engines: {node: '>=6'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==}
-
   [email protected]:
     resolution: {integrity: 
sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==}
-
   [email protected]:
     resolution: {integrity: 
sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==}
     peerDependencies:
@@ -3912,15 +3651,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==}
-    peerDependencies:
-      react: ^17.0.0 || ^16.3.0 || ^15.5.4
-      react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4
-
-  [email protected]:
-    resolution: {integrity: 
sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
-
   [email protected]:
     resolution: {integrity: 
sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==}
     peerDependencies:
@@ -3965,12 +3695,6 @@ packages:
     peerDependencies:
       react: '>= 0.14.0'
 
-  [email protected]:
-    resolution: {integrity: 
sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==}
-    engines: {node: '>=10'}
-    peerDependencies:
-      react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
   [email protected]:
     resolution: {integrity: 
sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
     peerDependencies:
@@ -4106,9 +3830,6 @@ packages:
     resolution: {integrity: 
sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
     engines: {node: '>= 0.4'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
-
   [email protected]:
     resolution: {integrity: 
sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
     engines: {node: '>=8'}
@@ -4242,9 +3963,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==}
-
   [email protected]:
     resolution: {integrity: 
sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==}
 
@@ -4391,10 +4109,6 @@ packages:
     engines: {node: '>=14.17'}
     hasBin: true
 
-  [email protected]:
-    resolution: {integrity: 
sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==}
-    hasBin: true
-
   [email protected]:
     resolution: {integrity: 
sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
 
@@ -4449,15 +4163,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==}
-    peerDependencies:
-      '@types/react': '*'
-      react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-    peerDependenciesMeta:
-      '@types/react':
-        optional: true
-
   [email protected]:
     resolution: {integrity: 
sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw==}
     engines: {node: '>= 16.0.0'}
@@ -4473,15 +4178,6 @@ packages:
       '@types/react':
         optional: true
 
-  [email protected]:
-    resolution: {integrity: 
sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==}
-    peerDependencies:
-      '@types/react': '*'
-      react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-    peerDependenciesMeta:
-      '@types/react':
-        optional: true
-
   [email protected]:
     resolution: {integrity: 
sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==}
     peerDependencies:
@@ -4584,9 +4280,6 @@ packages:
     resolution: {integrity: 
sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
     engines: {node: '>=0.10.0'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
-
   [email protected]:
     resolution: {integrity: 
sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==}
 
@@ -5060,70 +4753,6 @@ snapshots:
       react: 19.2.4
       react-dom: 19.2.4([email protected])
 
-  
'@codemirror/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@lezer/[email protected])':
-    dependencies:
-      '@codemirror/language': 6.11.0
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-      '@lezer/common': 1.5.1
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/language': 6.11.0
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-      '@lezer/common': 1.5.1
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/language': 6.11.0
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-      '@lezer/common': 1.3.0
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/language': 6.11.0
-      '@lezer/json': 1.0.3
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-      '@lezer/common': 1.3.0
-      '@lezer/highlight': 1.2.3
-      '@lezer/lr': 1.4.2
-      style-mod: 4.1.2
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-      crelt: 1.0.6
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-      crelt: 1.0.6
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@marijn/find-cluster-break': 1.0.2
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/language': 6.11.0
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-      '@lezer/highlight': 1.2.3
-
-  '@codemirror/[email protected]':
-    dependencies:
-      '@codemirror/state': 6.5.2
-      style-mod: 4.1.2
-      w3c-keyname: 2.2.8
-
   '@emotion/[email protected]':
     dependencies:
       '@babel/helper-module-imports': 7.25.9
@@ -5409,7 +5038,7 @@ snapshots:
 
   '@isaacs/[email protected]':
     dependencies:
-      minipass: 7.1.3
+      minipass: 7.1.2
 
   '@istanbuljs/[email protected]': {}
 
@@ -5451,26 +5080,12 @@ snapshots:
 
   '@kurkle/[email protected]': {}
 
-  '@lezer/[email protected]': {}
-
   '@lezer/[email protected]': {}
 
   '@lezer/[email protected]':
     dependencies:
       '@lezer/common': 1.5.1
 
-  '@lezer/[email protected]':
-    dependencies:
-      '@lezer/common': 1.3.0
-      '@lezer/highlight': 1.2.3
-      '@lezer/lr': 1.4.2
-
-  '@lezer/[email protected]':
-    dependencies:
-      '@lezer/common': 1.3.0
-
-  '@marijn/[email protected]': {}
-
   '@monaco-editor/[email protected]':
     dependencies:
       state-local: 1.0.7
@@ -6077,362 +5692,6 @@ snapshots:
       '@typescript-eslint/types': 8.49.0
       eslint-visitor-keys: 4.2.1
 
-  
'@uiw/[email protected](@codemirror/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@lezer/[email protected]))(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@codemirror/autocomplete': 
6.18.2(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@lezer/[email protected])
-      '@codemirror/commands': 6.9.0
-      '@codemirror/language': 6.11.0
-      '@codemirror/lint': 6.8.2
-      '@codemirror/search': 6.5.6
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@uiw/codemirror-theme-abcdef': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-abyss': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-androidstudio': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-andromeda': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-atomone': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-aura': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-basic': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-bbedit': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-bespin': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-console': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-copilot': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-darcula': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-dracula': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-duotone': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-eclipse': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-github': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-gruvbox-dark': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-kimbie': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-material': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-monokai': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-monokai-dimmed': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-noctis-lilac': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-nord': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-okaidia': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-quietlight': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-red': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-solarized': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-sublime': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-tokyo-night': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-tokyo-night-day': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-tokyo-night-storm': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-tomorrow-night-blue': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-vscode': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-white': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-theme-xcode': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      '@uiw/codemirror-themes': 
4.25.3(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-    transitivePeerDependencies:
-      - '@codemirror/language'
-      - '@codemirror/state'
-      - '@codemirror/view'
-
-  
'@uiw/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])':
-    dependencies:
-      '@codemirror/language': 6.11.0
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-
-  
'@uiw/[email protected](@babel/[email protected])(@codemirror/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@lezer/[email protected]))(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])([email protected](@lezer/[email protected]))([email protected]([email protected]))([email protected])':
-    dependencies:
-      '@babel/runtime': 7.28.4
-      '@codemirror/commands': 6.9.0
-      '@codemirror/state': 6.5.2
-      '@codemirror/theme-one-dark': 6.1.2
-      '@codemirror/view': 6.36.4
-      '@uiw/codemirror-extensions-basic-setup': 
4.25.3(@codemirror/[email protected](@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@lezer/[email protected]))(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])
-      codemirror: 6.0.1(@lezer/[email protected])
-      react: 19.2.4
-      react-dom: 19.2.4([email protected])
-    transitivePeerDependencies:
-      - '@codemirror/autocomplete'
-      - '@codemirror/language'
-      - '@codemirror/lint'
-      - '@codemirror/search'
-
   '@ungap/[email protected]': {}
 
   '@visx/[email protected]':
@@ -7202,8 +6461,6 @@ snapshots:
       get-intrinsic: 1.3.0
       is-array-buffer: 3.0.5
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -7255,8 +6512,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -7420,18 +6675,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected](@lezer/[email protected]):
-    dependencies:
-      '@codemirror/autocomplete': 
6.18.2(@codemirror/[email protected])(@codemirror/[email protected])(@codemirror/[email protected])(@lezer/[email protected])
-      '@codemirror/commands': 6.10.2
-      '@codemirror/language': 6.11.0
-      '@codemirror/lint': 6.8.2
-      '@codemirror/search': 6.5.6
-      '@codemirror/state': 6.5.2
-      '@codemirror/view': 6.36.4
-    transitivePeerDependencies:
-      - '@lezer/common'
-
   [email protected]:
     dependencies:
       color-name: 1.1.4
@@ -7474,14 +6717,6 @@ snapshots:
       path-type: 4.0.0
       yaml: 1.10.2
 
-  [email protected]: {}
-
-  [email protected]:
-    dependencies:
-      node-fetch: 2.7.0
-    transitivePeerDependencies:
-      - encoding
-
   [email protected]:
     dependencies:
       node-fetch: 2.7.0
@@ -8052,26 +7287,6 @@ snapshots:
     dependencies:
       format: 0.2.2
 
-  [email protected]:
-    dependencies:
-      fbjs: 3.0.5
-    transitivePeerDependencies:
-      - encoding
-
-  [email protected]: {}
-
-  [email protected]:
-    dependencies:
-      cross-fetch: 3.2.0
-      fbjs-css-vars: 1.0.2
-      loose-envify: 1.4.0
-      object-assign: 4.1.1
-      promise: 7.3.1
-      setimmediate: 1.0.5
-      ua-parser-js: 1.0.41
-    transitivePeerDependencies:
-      - encoding
-
   [email protected]([email protected]):
     optionalDependencies:
       picomatch: 4.0.3
@@ -8103,14 +7318,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]([email protected]):
-    dependencies:
-      fbemitter: 3.0.0
-      fbjs: 3.0.5
-      react: 19.2.4
-    transitivePeerDependencies:
-      - encoding
-
   [email protected]: {}
 
   [email protected]:
@@ -8211,9 +7418,9 @@ snapshots:
       foreground-child: 3.3.1
       jackspeak: 4.2.3
       minimatch: 10.2.4
-      minipass: 7.1.3
+      minipass: 7.1.2
       package-json-from-dist: 1.0.1
-      path-scurry: 2.0.2
+      path-scurry: 2.0.1
 
   [email protected]: {}
 
@@ -8638,12 +7845,8 @@ snapshots:
     dependencies:
       p-locate: 5.0.0
 
-  [email protected]: {}
-
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -8663,7 +7866,7 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
+  [email protected]: {}
 
   [email protected]:
     dependencies:
@@ -9059,11 +8262,9 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
-      minipass: 7.1.3
+      minipass: 7.1.2
 
   [email protected]:
     dependencies:
@@ -9279,10 +8480,10 @@ snapshots:
       lru-cache: 10.4.3
       minipass: 7.1.2
 
-  [email protected]:
+  [email protected]:
     dependencies:
-      lru-cache: 11.2.6
-      minipass: 7.1.3
+      lru-cache: 11.2.5
+      minipass: 7.1.2
 
   [email protected]: {}
 
@@ -9346,10 +8547,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]:
-    dependencies:
-      asap: 2.0.6
-
   [email protected]:
     dependencies:
       loose-envify: 1.4.0
@@ -9372,20 +8569,11 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
       defu: 6.1.4
       destr: 2.0.5
 
-  [email protected]:
-    dependencies:
-      base16: 1.0.0
-      lodash.curry: 4.1.1
-      lodash.flow: 3.5.0
-      pure-color: 1.3.0
-
   [email protected]([email protected])([email protected]):
     dependencies:
       chart.js: 4.5.1
@@ -9428,20 +8616,6 @@ snapshots:
 
   [email protected]: {}
 
-  
[email protected](@types/[email protected])([email protected]([email protected]))([email protected]):
-    dependencies:
-      flux: 4.0.4([email protected])
-      react: 19.2.4
-      react-base16-styling: 0.6.0
-      react-dom: 19.2.4([email protected])
-      react-lifecycles-compat: 3.0.4
-      react-textarea-autosize: 8.5.9(@types/[email protected])([email protected])
-    transitivePeerDependencies:
-      - '@types/react'
-      - encoding
-
-  [email protected]: {}
-
   [email protected](@types/[email protected])([email protected]):
     dependencies:
       '@types/hast': 3.0.4
@@ -9508,15 +8682,6 @@ snapshots:
       react: 19.2.4
       refractor: 3.6.0
 
-  [email protected](@types/[email protected])([email protected]):
-    dependencies:
-      '@babel/runtime': 7.28.4
-      react: 19.2.4
-      use-composed-ref: 1.4.0(@types/[email protected])([email protected])
-      use-latest: 1.3.0(@types/[email protected])([email protected])
-    transitivePeerDependencies:
-      - '@types/react'
-
   [email protected]([email protected]([email protected]))([email protected]):
     dependencies:
       '@babel/runtime': 7.28.4
@@ -9722,8 +8887,6 @@ snapshots:
       es-errors: 1.3.0
       es-object-atoms: 1.1.1
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
       shebang-regex: 3.0.0
@@ -9883,8 +9046,6 @@ snapshots:
     dependencies:
       js-tokens: 9.0.1
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
       style-to-object: 1.0.8
@@ -9911,7 +9072,7 @@ snapshots:
     dependencies:
       '@isaacs/fs-minipass': 4.0.1
       chownr: 3.0.0
-      minipass: 7.1.3
+      minipass: 7.1.2
       minizlib: 3.1.0
       yallist: 5.0.0
 
@@ -10031,8 +9192,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -10098,12 +9257,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected](@types/[email protected])([email protected]):
-    dependencies:
-      react: 19.2.4
-    optionalDependencies:
-      '@types/react': 19.2.7
-
   [email protected]([email protected]):
     dependencies:
       react: 19.2.4
@@ -10114,13 +9267,6 @@ snapshots:
     optionalDependencies:
       '@types/react': 19.2.7
 
-  [email protected](@types/[email protected])([email protected]):
-    dependencies:
-      react: 19.2.4
-      use-isomorphic-layout-effect: 1.2.1(@types/[email protected])([email protected])
-    optionalDependencies:
-      '@types/react': 19.2.7
-
   [email protected]([email protected]):
     dependencies:
       react: 19.2.4
@@ -10229,8 +9375,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
diff --git a/airflow-core/src/airflow/ui/src/components/Assets/AssetEvent.tsx 
b/airflow-core/src/airflow/ui/src/components/Assets/AssetEvent.tsx
index 4a63d33f952..eef73e9c983 100644
--- a/airflow-core/src/airflow/ui/src/components/Assets/AssetEvent.tsx
+++ b/airflow-core/src/airflow/ui/src/components/Assets/AssetEvent.tsx
@@ -102,9 +102,7 @@ export const AssetEvent = ({
           </Text>
         </HStack>
       )}
-      {Object.keys(extra).length >= 1 ? (
-        <RenderedJsonField content={extra} jsonProps={{ collapsed: true }} />
-      ) : undefined}
+      {Object.keys(extra).length >= 1 ? <RenderedJsonField collapsed 
content={extra} /> : undefined}
     </Box>
   );
 };
diff --git a/airflow-core/src/airflow/ui/src/components/ConfigForm.tsx 
b/airflow-core/src/airflow/ui/src/components/ConfigForm.tsx
index 6d65cfbcc12..d03c1ea7351 100644
--- a/airflow-core/src/airflow/ui/src/components/ConfigForm.tsx
+++ b/airflow-core/src/airflow/ui/src/components/ConfigForm.tsx
@@ -109,10 +109,11 @@ const ConfigForm = <T extends FieldValues = FieldValues>({
                 <Field.Root invalid={Boolean(errors.conf)} mt={6}>
                   <Field.Label 
fontSize="md">{translate("configForm.configJson")}</Field.Label>
                   <JsonEditor
-                    {...field}
                     onBlur={() => {
                       field.onChange(validateAndPrettifyJson(field.value as 
string));
                     }}
+                    onChange={field.onChange}
+                    value={field.value as string}
                   />
                   {Boolean(errors.conf) ? 
<Field.ErrorText>{errors.conf}</Field.ErrorText> : undefined}
                 </Field.Root>
diff --git a/airflow-core/src/airflow/ui/src/components/JsonEditor.tsx 
b/airflow-core/src/airflow/ui/src/components/JsonEditor.tsx
index d422fab6abe..3b9cc6f4e01 100644
--- a/airflow-core/src/airflow/ui/src/components/JsonEditor.tsx
+++ b/airflow-core/src/airflow/ui/src/components/JsonEditor.tsx
@@ -16,36 +16,74 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import { json } from "@codemirror/lang-json";
-import { githubLight, githubDark } from "@uiw/codemirror-themes-all";
-import CodeMirror, { type ReactCodeMirrorProps, type ReactCodeMirrorRef } from 
"@uiw/react-codemirror";
-import { forwardRef } from "react";
+import Editor, { type EditorProps } from "@monaco-editor/react";
+import { useRef } from "react";
 
 import { useColorMode } from "src/context/colorMode";
 
-export const JsonEditor = forwardRef<ReactCodeMirrorRef, 
ReactCodeMirrorProps>((props, ref) => {
+type JsonEditorProps = {
+  readonly editable?: boolean;
+  readonly height?: string;
+  readonly id?: string;
+  readonly name?: string;
+  readonly onBlur?: () => void;
+  readonly onChange?: (value: string) => void;
+  readonly value?: string;
+};
+
+export const JsonEditor = ({
+  editable = true,
+  height = "200px",
+  onBlur,
+  onChange,
+  value,
+  ...rest
+}: JsonEditorProps) => {
   const { colorMode } = useColorMode();
+  const onBlurRef = useRef(onBlur);
+
+  onBlurRef.current = onBlur;
+
+  const options: EditorProps["options"] = {
+    automaticLayout: true,
+    folding: true,
+    fontSize: 14,
+    lineNumbers: "on",
+    minimap: { enabled: false },
+    readOnly: !editable,
+    renderLineHighlight: "none",
+    scrollBeyondLastLine: false,
+  };
+
+  const theme = colorMode === "dark" ? "vs-dark" : "vs-light";
+
+  const handleChange = (val: string | undefined) => {
+    onChange?.(val ?? "");
+  };
 
   return (
-    <CodeMirror
-      basicSetup={{
-        autocompletion: true,
-        bracketMatching: true,
-        foldGutter: true,
-        lineNumbers: true,
-      }}
-      extensions={[json()]}
-      height="200px"
-      ref={ref}
+    <div
       style={{
         border: "1px solid var(--chakra-colors-border-emphasized)",
         borderRadius: "8px",
-        outline: "none",
-        padding: "2px",
+        overflow: "hidden",
         width: "100%",
       }}
-      theme={colorMode === "dark" ? githubDark : githubLight}
-      {...props}
-    />
+      {...rest}
+    >
+      <Editor
+        height={height}
+        language="json"
+        onChange={handleChange}
+        onMount={(editor) => {
+          editor.onDidBlurEditorText(() => {
+            onBlurRef.current?.();
+          });
+        }}
+        options={options}
+        theme={theme}
+        value={value}
+      />
+    </div>
   );
-});
+};
diff --git a/airflow-core/src/airflow/ui/src/components/RenderedJsonField.tsx 
b/airflow-core/src/airflow/ui/src/components/RenderedJsonField.tsx
index 89c04a28db5..634fecd6007 100644
--- a/airflow-core/src/airflow/ui/src/components/RenderedJsonField.tsx
+++ b/airflow-core/src/airflow/ui/src/components/RenderedJsonField.tsx
@@ -17,35 +17,58 @@
  * under the License.
  */
 import { Flex, type FlexProps } from "@chakra-ui/react";
-import ReactJson, { type ReactJsonViewProps } from "react-json-view";
+import Editor, { type OnMount } from "@monaco-editor/react";
+import { useCallback } from "react";
 
 import { ClipboardRoot, ClipboardIconButton } from "src/components/ui";
 import { useColorMode } from "src/context/colorMode";
 
 type Props = {
+  readonly collapsed?: boolean;
   readonly content: object;
   readonly enableClipboard?: boolean;
-  readonly jsonProps?: Omit<ReactJsonViewProps, "src">;
 } & FlexProps;
 
-const RenderedJsonField = ({ content, enableClipboard = true, jsonProps, 
...rest }: Props) => {
-  const contentFormatted = JSON.stringify(content, undefined, 4);
+const RenderedJsonField = ({ collapsed = false, content, enableClipboard = 
true, ...rest }: Props) => {
+  const contentFormatted = JSON.stringify(content, undefined, 2);
   const { colorMode } = useColorMode();
+  const lineCount = contentFormatted.split("\n").length;
+  const height = `${Math.min(Math.max(lineCount * 19 + 10, 40), 300)}px`;
+  const theme = colorMode === "dark" ? "vs-dark" : "vs-light";
+
+  const handleMount: OnMount = useCallback(
+    (editorInstance) => {
+      if (collapsed) {
+        void editorInstance.getAction("editor.foldAll")?.run();
+      }
+    },
+    [collapsed],
+  );
 
   return (
     <Flex {...rest}>
-      <ReactJson
-        displayDataTypes={false}
-        enableClipboard={false}
-        iconStyle="triangle"
-        indentWidth={2}
-        name={false}
-        src={content}
-        style={{
-          backgroundColor: "inherit",
+      <Editor
+        height={height}
+        language="json"
+        onMount={handleMount}
+        options={{
+          automaticLayout: true,
+          contextmenu: false,
+          folding: true,
+          fontSize: 13,
+          glyphMargin: false,
+          lineDecorationsWidth: 0,
+          lineNumbers: "off",
+          minimap: { enabled: false },
+          overviewRulerLanes: 0,
+          readOnly: true,
+          renderLineHighlight: "none",
+          scrollbar: { vertical: "hidden", verticalScrollbarSize: 0 },
+          scrollBeyondLastLine: false,
+          wordWrap: "on",
         }}
-        theme={colorMode === "dark" ? "monokai" : "rjv-default"}
-        {...jsonProps}
+        theme={theme}
+        value={contentFormatted}
       />
       {enableClipboard ? (
         <ClipboardRoot value={contentFormatted}>
diff --git a/airflow-core/src/airflow/ui/src/pages/AssetsList/AssetsList.tsx 
b/airflow-core/src/airflow/ui/src/pages/AssetsList/AssetsList.tsx
index b0e5d96674a..dbbadde6641 100644
--- a/airflow-core/src/airflow/ui/src/pages/AssetsList/AssetsList.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/AssetsList/AssetsList.tsx
@@ -98,7 +98,7 @@ const createColumns = (
     accessorKey: "extra",
     cell: ({ row: { original } }) => {
       if (original.extra !== null) {
-        return <RenderedJsonField content={original.extra ?? {}} jsonProps={{ 
collapsed: !open }} />;
+        return <RenderedJsonField collapsed={!open} content={original.extra ?? 
{}} />;
       }
 
       return undefined;
diff --git 
a/airflow-core/src/airflow/ui/src/pages/Connections/ConnectionForm.tsx 
b/airflow-core/src/airflow/ui/src/pages/Connections/ConnectionForm.tsx
index 1ca48be75eb..55194ed3a23 100644
--- a/airflow-core/src/airflow/ui/src/pages/Connections/ConnectionForm.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/Connections/ConnectionForm.tsx
@@ -234,10 +234,12 @@ const ConnectionForm = ({
                   render={({ field }) => (
                     <Field.Root invalid={Boolean(errors.conf)}>
                       <JsonEditor
-                        {...field}
                         onBlur={() => {
                           field.onChange(validateAndPrettifyJson(field.value));
+                          field.onBlur();
                         }}
+                        onChange={field.onChange}
+                        value={field.value}
                       />
                       {Boolean(errors.conf) ? 
<Field.ErrorText>{errors.conf}</Field.ErrorText> : undefined}
                       {isEditMode ? (
diff --git a/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx 
b/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx
index fba73b61f55..a05a756c0a4 100644
--- a/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx
@@ -168,7 +168,7 @@ const runColumns = (translate: TFunction, dagId?: string): 
Array<ColumnDef<DAGRu
     accessorKey: "conf",
     cell: ({ row: { original } }) =>
       original.conf && Object.keys(original.conf).length > 0 ? (
-        <RenderedJsonField content={original.conf} jsonProps={{ collapsed: 
true }} />
+        <RenderedJsonField collapsed content={original.conf} />
       ) : undefined,
     header: translate("dagRun.conf"),
   },
diff --git a/airflow-core/src/airflow/ui/src/pages/Events/Events.tsx 
b/airflow-core/src/airflow/ui/src/pages/Events/Events.tsx
index fca0d6e3d94..7d8a86e45d3 100644
--- a/airflow-core/src/airflow/ui/src/pages/Events/Events.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/Events/Events.tsx
@@ -77,7 +77,7 @@ const eventsColumn = (
         try {
           const parsed = JSON.parse(original.extra) as Record<string, unknown>;
 
-          return <RenderedJsonField content={parsed} jsonProps={{ collapsed: 
!open }} />;
+          return <RenderedJsonField collapsed={!open} content={parsed} />;
         } catch {
           return <Code>{original.extra}</Code>;
         }
diff --git a/airflow-core/src/airflow/ui/src/pages/XCom/XComEntry.tsx 
b/airflow-core/src/airflow/ui/src/pages/XCom/XComEntry.tsx
index b1829b44625..a51d07808b4 100644
--- a/airflow-core/src/airflow/ui/src/pages/XCom/XComEntry.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/XCom/XComEntry.tsx
@@ -89,11 +89,7 @@ export const XComEntry = ({ dagId, mapIndex, open = false, 
runId, taskId, xcomKe
   ) : (
     <HStack>
       {isObjectOrArray ? (
-        <RenderedJsonField
-          content={xcomValue as object}
-          enableClipboard={false}
-          jsonProps={{ collapsed: !open }}
-        />
+        <RenderedJsonField collapsed={!open} content={xcomValue as object} 
enableClipboard={false} />
       ) : (
         <Text>{renderTextWithLinks(valueFormatted)}</Text>
       )}
diff --git a/airflow-core/src/airflow/ui/tests/e2e/pages/ConnectionsPage.ts 
b/airflow-core/src/airflow/ui/tests/e2e/pages/ConnectionsPage.ts
index ebad0e1d2cf..31a1dfe7f94 100644
--- a/airflow-core/src/airflow/ui/tests/e2e/pages/ConnectionsPage.ts
+++ b/airflow-core/src/airflow/ui/tests/e2e/pages/ConnectionsPage.ts
@@ -264,12 +264,31 @@ export class ConnectionsPage extends BasePage {
 
       if (accordionVisible) {
         await extraAccordion.click();
-        const extraEditor = 
this.page.locator('.cm-content[contenteditable="true"]:visible').first();
+        const monacoEditor = this.page.locator(".monaco-editor").first();
+
+        await monacoEditor.waitFor({ state: "visible", timeout: 5000 });
+
+        // Set value via Monaco API to avoid auto-closing bracket/quote issues 
with keyboard input
+        await monacoEditor.evaluate((container, value) => {
+          const monacoApi = (globalThis as Record<string, unknown>).monaco as
+            | {
+                editor: {
+                  getEditors: () => Array<{ getDomNode: () => Node; setValue: 
(v: string) => void }>;
+                };
+              }
+            | undefined;
+
+          if (monacoApi !== undefined) {
+            const editor = monacoApi.editor.getEditors().find((e) => 
container.contains(e.getDomNode()));
+
+            if (editor !== undefined) {
+              editor.setValue(value);
+            }
+          }
+        }, details.extra);
 
-        await extraEditor.waitFor({ state: "visible", timeout: 5000 });
-        await extraEditor.clear();
-        await extraEditor.fill(details.extra);
-        await extraEditor.blur();
+        // Click outside to trigger blur
+        await this.connectionIdInput.click();
       }
     }
   }

Reply via email to