diff --git a/src/App.vue b/src/App.vue
index 24f9cc7..1b8746a 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -2,6 +2,7 @@
import PagedJsWrapper from './components/PagedJsWrapper.vue';
import EditorPanel from './components/editor/EditorPanel.vue';
import ElementPopup from './components/ElementPopup.vue';
+import PreviewLoader from './components/PreviewLoader.vue';
import { onMounted, ref, watch, computed, provide } from 'vue';
import { useStylesheetStore } from './stores/stylesheet';
import Coloris from '@melloware/coloris';
@@ -147,9 +148,7 @@ onMounted(() => renderPreview(true));
:class="{ shifted: activeTab.length > 0 }"
>
-
+
@@ -183,39 +182,4 @@ onMounted(() => renderPreview(true));
z-index: 0;
opacity: 0;
}
-
-.preview-loader {
- position: fixed;
- top: 2rem;
- right: 2rem;
- z-index: 1000;
- pointer-events: none;
- transition: all 0.2s ease-in-out var(--curve);
-}
-
-.preview-loader.shifted {
- right: calc(2rem + 19rem * 0.7);
- top: calc(2rem - 30vh * 0.7);
- transform: scale(0.7);
-}
-
-.spinner {
- width: 48px;
- height: 48px;
- border-radius: 50%;
- display: inline-block;
- border-top: 3px solid #fff;
- border-right: 3px solid transparent;
- box-sizing: border-box;
- animation: rotation 1s linear infinite;
-}
-
-@keyframes rotation {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(360deg);
- }
-}
diff --git a/src/components/PreviewLoader.vue b/src/components/PreviewLoader.vue
new file mode 100644
index 0000000..a1c43d8
--- /dev/null
+++ b/src/components/PreviewLoader.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+