From d9e7c7a0b089841f645e019ad85d758066110eab Mon Sep 17 00:00:00 2001
From: bcakmakoglu <78412429+bcakmakoglu@users.noreply.github.com>
Date: Fri, 27 May 2022 00:00:07 +0200
Subject: [PATCH] docs: add teleport example
---
docs/components/examples/index.ts | 6 ++
docs/components/examples/teleport/App.vue | 67 +++++++++++++++++++
docs/components/examples/teleport/Sidebar.vue | 10 +++
docs/components/examples/teleport/index.ts | 3 +
docs/components/examples/teleport/style.css | 52 ++++++++++++++
docs/src/.vuepress/config.ts | 1 +
docs/src/examples/teleport.md | 16 +++++
7 files changed, 155 insertions(+)
create mode 100644 docs/components/examples/teleport/App.vue
create mode 100644 docs/components/examples/teleport/Sidebar.vue
create mode 100644 docs/components/examples/teleport/index.ts
create mode 100644 docs/components/examples/teleport/style.css
create mode 100644 docs/src/examples/teleport.md
diff --git a/docs/components/examples/index.ts b/docs/components/examples/index.ts
index 3fb50965..6c349821 100644
--- a/docs/components/examples/index.ts
+++ b/docs/components/examples/index.ts
@@ -14,6 +14,7 @@ import { HiddenApp } from './hidden'
import { InteractionApp, InteractionCSS, InteractionControls } from './interaction'
import { MultiApp, MultiCSS, MultiFlow } from './multi'
import { HorizontalApp, HorizontalElements } from './horizontal'
+import { TeleportApp, TeleportSidebar, TeleportCSS } from './teleport'
export const exampleImports = {
basic: {
@@ -89,4 +90,9 @@ export const exampleImports = {
'App.vue': HorizontalApp,
'initial-elements.js': HorizontalElements,
},
+ teleport: {
+ 'App.vue': TeleportApp,
+ 'Sidebar.vue': TeleportSidebar,
+ 'style.css': TeleportCSS,
+ },
}
diff --git a/docs/components/examples/teleport/App.vue b/docs/components/examples/teleport/App.vue
new file mode 100644
index 00000000..d66482e6
--- /dev/null
+++ b/docs/components/examples/teleport/App.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
diff --git a/docs/components/examples/teleport/Sidebar.vue b/docs/components/examples/teleport/Sidebar.vue
new file mode 100644
index 00000000..e632a47b
--- /dev/null
+++ b/docs/components/examples/teleport/Sidebar.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/docs/components/examples/teleport/index.ts b/docs/components/examples/teleport/index.ts
new file mode 100644
index 00000000..82855be9
--- /dev/null
+++ b/docs/components/examples/teleport/index.ts
@@ -0,0 +1,3 @@
+export { default as TeleportApp } from './App.vue?raw'
+export { default as TeleportSidebar } from './Sidebar.vue?raw'
+export { default as TeleportCSS } from './style.css'
diff --git a/docs/components/examples/teleport/style.css b/docs/components/examples/teleport/style.css
new file mode 100644
index 00000000..0c04f63c
--- /dev/null
+++ b/docs/components/examples/teleport/style.css
@@ -0,0 +1,52 @@
+.teleportflow {
+ flex-direction: column;
+ display: flex;
+ height: 100%;
+}
+
+.teleportflow aside {
+ color: white;
+ font-weight: 700;
+ border-right: 1px solid #eee;
+ padding: 15px 10px;
+ font-size: 12px;
+ background: rgba(16, 185, 129, 0.75);
+ -webkit-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.3);
+ box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.3);
+}
+
+.teleportflow aside .port > * {
+ position: relative;
+ margin-bottom: 10px;
+ cursor: grab;
+ font-weight: 500;
+ -webkit-box-shadow: 5px 5px 10px 2px rgba(0,0,0,0.25);
+ box-shadow: 5px 5px 10px 2px rgba(0,0,0,0.25);
+}
+
+.teleportflow aside .description {
+ margin-bottom: 10px;
+}
+
+.teleportflow .vue-flow-wrapper {
+ flex-grow: 1;
+ height: 100%;
+}
+
+@media screen and (min-width: 640px) {
+ .teleportflow {
+ flex-direction: row;
+ }
+
+ .teleportflow aside {
+ min-width: 25%;
+ }
+}
+
+@media screen and (max-width: 639px) {
+ .teleportflow aside .port {
+ display: flex;
+ flex-direction: row;
+ gap: 5px;
+ }
+}
diff --git a/docs/src/.vuepress/config.ts b/docs/src/.vuepress/config.ts
index 9fe172ed..1bbbf921 100644
--- a/docs/src/.vuepress/config.ts
+++ b/docs/src/.vuepress/config.ts
@@ -115,6 +115,7 @@ export default defineUserConfig({
'/examples/interaction',
'/examples/multi',
'/examples/horizontal',
+ '/examples/teleport',
'/examples/pinia',
'/examples/stress',
],
diff --git a/docs/src/examples/teleport.md b/docs/src/examples/teleport.md
new file mode 100644
index 00000000..5d769ee4
--- /dev/null
+++ b/docs/src/examples/teleport.md
@@ -0,0 +1,16 @@
+---
+pageClass: examples
+
+---
+
+# Teleport
+
+Teleport your nodes to another dom element using Vue 3 [`Teleport`](https://vuejs.org/guide/built-ins/teleport.html).
+
+
+
+
+
+
+
+