diff --git a/examples/browser-app.ts b/examples/browser-app.ts
index ee6a51e..854727a 100644
--- a/examples/browser-app.ts
+++ b/examples/browser-app.ts
@@ -23,6 +23,7 @@ import runRandomGraphDistributed from "./random-graph-distributed/src/standalone
import runSvgPreRendered from "./svg/src/standalone";
import runMulticore from "./multicore/src/multicore";
import runFlowchart from "./flowchart/src/standalone";
+import runJsxample from "./jsxample/src/standalone";
const appDiv = document.getElementById('sprotty-app');
if (appDiv) {
@@ -41,6 +42,8 @@ if (appDiv) {
runMulticore();
else if (appMode === 'flowchart')
runFlowchart();
+ else if (appMode === 'jsxample')
+ runJsxample();
else
throw new Error('Dunno what to do :-(');
}
diff --git a/examples/index.html b/examples/index.html
index 0a418e4..f427c62 100644
--- a/examples/index.html
+++ b/examples/index.html
@@ -30,6 +30,8 @@
Without Server
If you zoom in, the communication channels between the cores appear.
Flowchart:
A flowchart with custom views for nodes and edges. The labels on nodes and edges are editable and the nodes and edges are moveable.
+
JSXample:
+ A demonstration how to use React alike components in Sprotty views.
With Server
diff --git a/examples/jsxample/css/diagram.css b/examples/jsxample/css/diagram.css
new file mode 100644
index 0000000..d5bc402
--- /dev/null
+++ b/examples/jsxample/css/diagram.css
@@ -0,0 +1,38 @@
+/********************************************************************************
+ * Copyright (c) 2024 TypeFox and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the Eclipse
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
+ * with the GNU Classpath Exception which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ ********************************************************************************/
+
+ :root {
+ --black: #000;
+ --white: #fff;
+ --stroke-normal: 2;
+ --stroke-medium: 3;
+ --stroke-bold: 5;
+ --red-500: #f44336;
+ --yellow-500: #ffeb3b;
+ --amber-500: #ffc107;
+}
+
+/* graph */
+.sprotty-graph {
+ font-size: 15pt;
+}
+
+/* nodes */
+.sprotty-node {
+ stroke: var(--black);
+ stroke-width: var(--stroke-normal);
+ fill: var(--white);
+}
\ No newline at end of file
diff --git a/examples/jsxample/css/page.css b/examples/jsxample/css/page.css
new file mode 100644
index 0000000..6e242fa
--- /dev/null
+++ b/examples/jsxample/css/page.css
@@ -0,0 +1,50 @@
+/********************************************************************************
+ * Copyright (c) 2024 TypeFox and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the Eclipse
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
+ * with the GNU Classpath Exception which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ ********************************************************************************/
+
+
+ .footer {
+ margin-top: 10px;
+ text-align: right;
+ font-size: 10px;
+ color: #888;
+
+ display: flex;
+ justify-content: space-between;
+}
+
+.shortcuts {
+ text-align: left;
+}
+
+.copyright {
+ text-align: right;
+}
+
+.help {
+ margin-top: 24px;
+ text-align: right;
+ font-size: 16px;
+ color: #888;
+}
+
+svg {
+ margin-top: 15px;
+ width: 100%;
+ height: 600px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #bbb;
+}
diff --git a/examples/jsxample/jsxample.html b/examples/jsxample/jsxample.html
new file mode 100644
index 0000000..b4d605c
--- /dev/null
+++ b/examples/jsxample/jsxample.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+ Sprotty JSXample
+
+
+
+
+
+
+
+
+
+