UNPKG

vuestic-ui

Version:
67 lines 1.72 kB
:root, :host { /* Circle */ --va-progress-circle-position: relative; --va-progress-circle-overflow: hidden; /* Circle Wrapper */ --va-progress-circle-width: 80%; --va-progress-circle-height: 80%; /* Circle Overlay */ --va-progress-circle-overlay-transition: all ease 2s; /* Circle Info */ --va-progress-circle-font-size: 0.75rem; } .va-progress-circle { position: var(--va-progress-circle-position); overflow: var(--va-progress-circle-overflow); font-family: var(--va-font-family); } .va-progress-circle__wrapper { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; transform: rotate(-90deg); width: var(--va-progress-circle-width); height: var(--va-progress-circle-height); display: flex; justify-content: center; align-items: center; } .va-progress-circle--indeterminate .va-progress-circle__wrapper { animation: va-progress-circle__wrapper--indeterminate 2s linear infinite; } .va-progress-circle__overlay { transition: var(--va-progress-circle-overlay-transition); } .va-progress-circle--indeterminate .va-progress-circle__overlay { animation: va-progress-circle__overlay--indeterminate 2s ease-in-out infinite; } .va-progress-circle__info { font-size: var(--va-progress-circle-font-size); position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } @keyframes va-progress-circle__wrapper--indeterminate { 100% { transform: rotate(270deg); } } @keyframes va-progress-circle__overlay--indeterminate { 0% { stroke-dasharray: 1, 125; stroke-dashoffset: 0; } 50% { stroke-dasharray: 125, 125; stroke-dashoffset: -65px; } 100% { stroke-dasharray: 125, 125; stroke-dashoffset: -125px; } }