Download components.py from harizh/rizlore: direct link, hf CLI and curl.
- Browser
- Download file 7.24 kB
-
https://huggingface.co/spaces/harizh/rizlore/resolve/main/components.py
- Command line
-
hf download hf://spaces/harizh/rizlore/components.py
-
curl -L -o components.py https://huggingface.co/spaces/harizh/rizlore/resolve/main/components.py
7.24 kB
| import streamlit as st | |
| animation_html_a = """ | |
| <div class="container"> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| </div> | |
| <svg width="0" height="0" class="svg"> | |
| <defs> | |
| <filter id="uib-jelly-ooze"> | |
| <feGaussianBlur | |
| in="SourceGraphic" | |
| stdDeviation="3" | |
| result="blur" | |
| /> | |
| <feColorMatrix | |
| in="blur" | |
| mode="matrix" | |
| values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7" | |
| result="ooze" | |
| /> | |
| <feBlend in="SourceGraphic" in2="ooze" /> | |
| </filter> | |
| </defs> | |
| </svg> | |
| <style> | |
| .container { | |
| --uib-size: 120px; | |
| --uib-color: black; | |
| --uib-speed: 2.6s; | |
| --uib-dot-size: calc(var(--uib-size) * 0.23); | |
| position: relative; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| width: var(--uib-size); | |
| height: var(--uib-dot-size); | |
| filter: url('#uib-jelly-ooze'); | |
| } | |
| .dot { | |
| position: absolute; | |
| top: calc(50% - var(--uib-dot-size) / 2); | |
| left: calc(0px - var(--uib-dot-size) / 2); | |
| display: block; | |
| height: var(--uib-dot-size); | |
| width: var(--uib-dot-size); | |
| border-radius: 50%; | |
| background-color: var(--uib-color); | |
| animation: stream var(--uib-speed) linear infinite both; | |
| transition: background-color 0.3s ease; | |
| } | |
| .dot:nth-child(2) { | |
| animation-delay: calc(var(--uib-speed) * -0.2); | |
| } | |
| .dot:nth-child(3) { | |
| animation-delay: calc(var(--uib-speed) * -0.4); | |
| } | |
| .dot:nth-child(4) { | |
| animation-delay: calc(var(--uib-speed) * -0.6); | |
| } | |
| .dot:nth-child(5) { | |
| animation-delay: calc(var(--uib-speed) * -0.8); | |
| } | |
| @keyframes stream { | |
| 0%, | |
| 100% { | |
| transform: translateX(0) scale(0); | |
| } | |
| 50% { | |
| transform: translateX(calc(var(--uib-size) * 0.5)) scale(1); | |
| } | |
| 99.999% { | |
| transform: translateX(calc(var(--uib-size))) scale(0); | |
| } | |
| } | |
| </style> | |
| """ | |
| animation_html = """ | |
| <div class="container"> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| <div class="particle"></div> | |
| </div> | |
| <style> | |
| .container { | |
| --uib-size: 110px; | |
| --uib-color: black; | |
| --uib-speed: 3s; | |
| position: relative; | |
| height: var(--uib-size); | |
| width: var(--uib-size); | |
| animation: rotate calc(var(--uib-speed) * 4) linear infinite; | |
| } | |
| @keyframes rotate { | |
| 0% { | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| .particle { | |
| position: absolute; | |
| top: 0%; | |
| left: 0; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| height: 100%; | |
| width: 100%; | |
| &:nth-child(1) { | |
| --uib-delay: 0; | |
| transform: rotate(8deg); | |
| } | |
| &:nth-child(2) { | |
| --uib-delay: -0.4; | |
| transform: rotate(36deg); | |
| } | |
| &:nth-child(3) { | |
| --uib-delay: -0.9; | |
| transform: rotate(72deg); | |
| } | |
| &:nth-child(4) { | |
| --uib-delay: -0.5; | |
| transform: rotate(90deg); | |
| } | |
| &:nth-child(5) { | |
| --uib-delay: -0.3; | |
| transform: rotate(144deg); | |
| } | |
| &:nth-child(6) { | |
| --uib-delay: -0.2; | |
| transform: rotate(180deg); | |
| } | |
| &:nth-child(7) { | |
| --uib-delay: -0.6; | |
| transform: rotate(216deg); | |
| } | |
| &:nth-child(8) { | |
| --uib-delay: -0.7; | |
| transform: rotate(252deg); | |
| } | |
| &:nth-child(9) { | |
| --uib-delay: -0.1; | |
| transform: rotate(300deg); | |
| } | |
| &:nth-child(10) { | |
| --uib-delay: -0.8; | |
| transform: rotate(324deg); | |
| } | |
| &:nth-child(11) { | |
| --uib-delay: -1.2; | |
| transform: rotate(335deg); | |
| } | |
| &:nth-child(12) { | |
| --uib-delay: -0.5; | |
| transform: rotate(290deg); | |
| } | |
| &:nth-child(13) { | |
| --uib-delay: -0.2; | |
| transform: rotate(240deg); | |
| } | |
| } | |
| .particle::before { | |
| content: ''; | |
| position: absolute; | |
| height: 17.5%; | |
| width: 17.5%; | |
| border-radius: 50%; | |
| background-color: var(--uib-color); | |
| flex-shrink: 0; | |
| transition: background-color 0.3s ease; | |
| --uib-d: calc(var(--uib-delay) * var(--uib-speed)); | |
| animation: orbit var(--uib-speed) linear var(--uib-d) infinite; | |
| } | |
| @keyframes orbit { | |
| 0% { | |
| transform: translate(calc(var(--uib-size) * 0.5)) scale(0.73684); | |
| opacity: 0.65; | |
| } | |
| 5% { | |
| transform: translate(calc(var(--uib-size) * 0.4)) scale(0.684208); | |
| opacity: 0.58; | |
| } | |
| 10% { | |
| transform: translate(calc(var(--uib-size) * 0.3)) scale(0.631576); | |
| opacity: 0.51; | |
| } | |
| 15% { | |
| transform: translate(calc(var(--uib-size) * 0.2)) scale(0.578944); | |
| opacity: 0.44; | |
| } | |
| 20% { | |
| transform: translate(calc(var(--uib-size) * 0.1)) scale(0.526312); | |
| opacity: 0.37; | |
| } | |
| 25% { | |
| transform: translate(0%) scale(0.47368); | |
| opacity: 0.3; | |
| } | |
| 30% { | |
| transform: translate(calc(var(--uib-size) * -0.1)) scale(0.526312); | |
| opacity: 0.37; | |
| } | |
| 35% { | |
| transform: translate(calc(var(--uib-size) * -0.2)) scale(0.578944); | |
| opacity: 0.44; | |
| } | |
| 40% { | |
| transform: translate(calc(var(--uib-size) * -0.3)) scale(0.631576); | |
| opacity: 0.51; | |
| } | |
| 45% { | |
| transform: translate(calc(var(--uib-size) * -0.4)) scale(0.684208); | |
| opacity: 0.58; | |
| } | |
| 50% { | |
| transform: translate(calc(var(--uib-size) * -0.5)) scale(0.73684); | |
| opacity: 0.65; | |
| } | |
| 55% { | |
| transform: translate(calc(var(--uib-size) * -0.4)) scale(0.789472); | |
| opacity: 0.72; | |
| } | |
| 60% { | |
| transform: translate(calc(var(--uib-size) * -0.3)) scale(0.842104); | |
| opacity: 0.79; | |
| } | |
| 65% { | |
| transform: translate(calc(var(--uib-size) * -0.2)) scale(0.894736); | |
| opacity: 0.86; | |
| } | |
| 70% { | |
| transform: translate(calc(var(--uib-size) * -0.1)) scale(0.947368); | |
| opacity: 0.93; | |
| } | |
| 75% { | |
| transform: translate(0%) scale(1); | |
| opacity: 1; | |
| } | |
| 80% { | |
| transform: translate(calc(var(--uib-size) * 0.1)) scale(0.947368); | |
| opacity: 0.93; | |
| } | |
| 85% { | |
| transform: translate(calc(var(--uib-size) * 0.2)) scale(0.894736); | |
| opacity: 0.86; | |
| } | |
| 90% { | |
| transform: translate(calc(var(--uib-size) * 0.3)) scale(0.842104); | |
| opacity: 0.79; | |
| } | |
| 95% { | |
| transform: translate(calc(var(--uib-size) * 0.4)) scale(0.789472); | |
| opacity: 0.72; | |
| } | |
| 100% { | |
| transform: translate(calc(var(--uib-size) * 0.5)) scale(0.73684); | |
| opacity: 0.65; | |
| } | |
| } | |
| </style> | |
| """ | |
| con_color = """ | |
| <style> | |
| body { | |
| background-image: linear-gradient(-225deg, #69EACB 0%, #EACCF8 48%, #6654F1 100%); | |
| } | |
| .stApp { | |
| background-image: linear-gradient(-225deg, #69EACB 0%, #EACCF8 48%, #6654F1 100%); | |
| } | |
| </style> | |
| """ | |
| con_colors = """ | |
| CSS | |
| <style> | |
| body { | |
| background-color: #69EACB; /* Use any single color you prefer here */ | |
| } | |
| .stApp { | |
| background-color: #69EACB; /* Match the body's background color */ | |
| } | |
| </style> | |
| """ |