From c060aa81841e09ddaf811b03681f72101986f332 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Thu, 22 Aug 2019 11:00:40 +0200
Subject: [PATCH] Add missing file

---
 packages/common/vpu-spinner.js | 121 +++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)
 create mode 100644 packages/common/vpu-spinner.js

diff --git a/packages/common/vpu-spinner.js b/packages/common/vpu-spinner.js
new file mode 100644
index 00000000..32ae449d
--- /dev/null
+++ b/packages/common/vpu-spinner.js
@@ -0,0 +1,121 @@
+// Note: This doesn't have a lit-element dependency on purpose, so it can be loaded faster before
+// other web components (assuming it's not bundled)
+
+class Spinner extends HTMLElement {
+
+    constructor() {
+        super();
+        let shadowRoot = this.attachShadow({mode: 'open'});
+        shadowRoot.innerHTML = `
+<style>
+:host {
+    display: block;
+}
+#all-spinner-tuglogo {
+  width:130px;
+    height:130px;
+      position:relative;
+        background-color:transparent;
+          margin:0 auto;
+}
+
+.all-spinner-tuglogo-box {
+  width:20%;
+    height:20%;
+     background-color:#e4154b;
+        position:absolute;
+          top:50%;
+            left:50%;
+          animation-duration: 1.6s;
+            animation-direction:alternate;
+              animation-iteration-count:infinite;
+    animation-fill-mode:both;
+      animation-timing-function:ease;
+        transition: transform 0.5s, background-color 0.2s 0.5s;
+}
+
+#all-spinner-tuglogo-box-1 {
+      animation-name: box1;
+        transform:translateX(-160%) translateY(-50%);
+}
+
+#all-spinner-tuglogo-box-2 {
+      transform-origin:0 0;
+      animation-name: box2;
+transform:scale(1) translateX(-50%) translateY(-50%);
+}
+
+#all-spinner-tuglogo-box-3 {
+
+      animation-name: box3;
+        animation-delay:0.3s;
+          transform:translateX(60%) translateY(-50%); visibility:visible;
+}
+
+#all-spinner-tuglogo-box-4 {
+
+      animation-name: box4;
+        animation-delay:0.1s;
+transform:translateX(0%) translateY(-100%);  visibility:visible;
+}
+
+#all-spinner-tuglogo-box-5 {
+
+      animation-name: box5;
+        animation-delay:0.2s;
+transform:translateX(-100%) translateY(0%);  visibility:visible;
+}
+
+@keyframes box1 {
+    0% { transform:translateX(-50%) translateY(-50%); visibility:hidden; }
+    50% { transform:translateX(-50%) translateY(-50%); visibility:hidden; }
+    70% { transform:translateX(-170%) translateY(-50%); visibility:visible;}
+    80% { transform:translateX(-160%) translateY(-50%); visibility:visible;}
+  100%  { transform:translateX(-160%) translateY(-50%); visibility:visible;}
+}
+
+@keyframes box2 {
+    0% { transform:scale(0) translateX(-50%) translateY(-50%);}
+    5% { transform:scale(0) translateX(-50%) translateY(-50%);}
+    30% { transform:scale(1.2) translateX(-50%) translateY(-50%);}
+    35% { transform:scale(1) translateX(-50%) translateY(-50%);}
+  100% { transform:scale(1) translateX(-50%) translateY(-50%);}
+
+}
+
+@keyframes box3 {
+    0% { transform:translateX(-50%) translateY(-50%); visibility:hidden; }
+    50% { transform:translateX(-50%) translateY(-50%); visibility:hidden; }
+    70% { transform:translateX(70%) translateY(-50%); visibility:visible;}
+    80% { transform:translateX(60%) translateY(-50%); visibility:visible;}
+  100%  { transform:translateX(60%) translateY(-50%); visibility:visible;}
+}
+
+@keyframes box4 {
+    0%  { transform:translateX(-50%) translateY(-50%);  visibility:hidden; }
+    50% { transform:translateX(-50%) translateY(-50%);  visibility:hidden; }
+    70% { transform:translateX(10%) translateY(-110%);  visibility:visible;}
+    80% { transform:translateX(0%) translateY(-100%);  visibility:visible;}
+  100%  { transform:translateX(0%) translateY(-100%);  visibility:visible;}
+}
+@keyframes box5 {
+    0%  { transform:translateX(-50%) translateY(-50%);  visibility:hidden; }
+    50% { transform:translateX(-50%) translateY(-50%);  visibility:hidden; }
+    70% { transform:translateX(-110%) translateY(10%);  visibility:visible;}
+    80% { transform:translateX(-100%) translateY(0%);  visibility:visible;}
+  100%  { transform:translateX(-100%) translateY(0%);  visibility:visible;}
+}
+</style>
+
+<div id="all-spinner-tuglogo">
+  <div id="all-spinner-tuglogo-box-1" class="all-spinner-tuglogo-box"></div>
+  <div id="all-spinner-tuglogo-box-2" class="all-spinner-tuglogo-box"></div>
+  <div id="all-spinner-tuglogo-box-3" class="all-spinner-tuglogo-box"></div>
+  <div id="all-spinner-tuglogo-box-4" class="all-spinner-tuglogo-box"></div>
+  <div id="all-spinner-tuglogo-box-5" class="all-spinner-tuglogo-box"></div>
+</div>`;
+    }
+}
+
+if (!customElements.get('vpu-spinner'))
+    customElements.define('vpu-spinner', Spinner);
-- 
GitLab