diff --git a/src/assets/style/_scss/_reactium-style-molecules-loader.scss b/src/assets/style/_scss/_reactium-style-molecules-loader.scss new file mode 100644 index 0000000..f18607c --- /dev/null +++ b/src/assets/style/_scss/_reactium-style-molecules-loader.scss @@ -0,0 +1,67 @@ +@use "sass:map"; + +$reactium-blue: #4f82ba !default; +$reactium-white: #ffffff !default; +$jmj-loading-bg: radial-gradient(#1D2758, #111735); +$jmj-image-logo: map.get($assets, "jmj-loader-logo") !default; + +$reactium-loading-zindex: 1000 !default; + +.reactium-loading { + z-index: $reactium-loading-zindex; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + position: fixed; + background-color: $reactium-white; + background-image: $jmj-loading-bg; + + &, + * { + box-sizing: border-box; + } + + &:before { + content: ''; + width: 224px; + height: 224px; + border-radius: 100%; + z-index: $reactium-loading-zindex + 1; + left: 50%; + top: 50%; + position: absolute; + transform: translate(-50%, -50%); + box-shadow: 0 0 0 0 rgba(#111735, 1); + animation: reactium-pulse 1.2s infinite; + } + + &:after { + content: ''; + width: 224px; + height: 150px; + z-index: 2; + left: 50%; + top: 50%; + position: absolute; + transform: translate(-50%, -50%); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + background-image: url($jmj-image-logo); + } +} + +@keyframes reactium-pulse { + 0% { + box-shadow: 0 0 0 0 rgba(#111735, 0.7); + } + + 70% { + box-shadow: 0 0 0 48px rgba(#1D2758, 0); + } + + 100% { + box-shadow: 0 0 0 0 rgba(#fff, 0); + } +}