UNPKG

@vue-interface/activity-indicator

Version:
160 lines (130 loc) 5.71 kB
@theme { --activity-indicator-spinner-width: 2.5em; --activity-indicator-spinner-height: 2.5em; --activity-indicator-spinner-bg: currentColor; --activity-indicator-spinner-animation: activity-indicator-spinner 1.2s infinite ease-in-out both; --activity-indicator-spinner-bar-width: 10%; --activity-indicator-spinner-bar-height: 33.333%; --activity-indicator-spinner-bar-margin: 0 auto; --activity-indicator-spinner-bar-display: block; --activity-indicator-spinner-bar-content: ''; --activity-indicator-spinner-position: relative; --activity-indicator-spinner-child-position: absolute; --activity-indicator-spinner-child-width: 100%; --activity-indicator-spinner-child-height: 100%; --activity-indicator-spinner-child-left: 0; --activity-indicator-spinner-child-top: 0; --activity-indicator-spinner-spinner2-rotate: rotate(30deg); --activity-indicator-spinner-spinner3-rotate: rotate(60deg); --activity-indicator-spinner-spinner4-rotate: rotate(90deg); --activity-indicator-spinner-spinner5-rotate: rotate(120deg); --activity-indicator-spinner-spinner6-rotate: rotate(150deg); --activity-indicator-spinner-spinner7-rotate: rotate(180deg); --activity-indicator-spinner-spinner8-rotate: rotate(210deg); --activity-indicator-spinner-spinner9-rotate: rotate(240deg); --activity-indicator-spinner-spinner10-rotate: rotate(270deg); --activity-indicator-spinner-spinner11-rotate: rotate(300deg); --activity-indicator-spinner-spinner12-rotate: rotate(330deg); --activity-indicator-spinner-spinner2-delay: -1.1s; --activity-indicator-spinner-spinner3-delay: -1s; --activity-indicator-spinner-spinner4-delay: -0.9s; --activity-indicator-spinner-spinner5-delay: -0.8s; --activity-indicator-spinner-spinner6-delay: -0.7s; --activity-indicator-spinner-spinner7-delay: -0.6s; --activity-indicator-spinner-spinner8-delay: -0.5s; --activity-indicator-spinner-spinner9-delay: -0.4s; --activity-indicator-spinner-spinner10-delay: -0.3s; --activity-indicator-spinner-spinner11-delay: -0.2s; --activity-indicator-spinner-spinner12-delay: -0.1s; } @utility activity-indicator-spinner { width: var(--activity-indicator-spinner-width); height: var(--activity-indicator-spinner-height); position: var(--activity-indicator-spinner-position); & .activity-indicator-spinner { width: var(--activity-indicator-spinner-child-width); height: var(--activity-indicator-spinner-child-height); position: var(--activity-indicator-spinner-child-position); left: var(--activity-indicator-spinner-child-left); top: var(--activity-indicator-spinner-child-top); &::before { content: var(--activity-indicator-spinner-bar-content); display: var(--activity-indicator-spinner-bar-display); margin: var(--activity-indicator-spinner-bar-margin); width: var(--activity-indicator-spinner-bar-width); height: var(--activity-indicator-spinner-bar-height); background-color: var(--activity-indicator-spinner-bg); animation: var(--activity-indicator-spinner-animation); } } } @utility activity-indicator-spinner2 { transform: var(--activity-indicator-spinner-spinner2-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner2-delay); } } @utility activity-indicator-spinner3 { transform: var(--activity-indicator-spinner-spinner3-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner3-delay); } } @utility activity-indicator-spinner4 { transform: var(--activity-indicator-spinner-spinner4-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner4-delay); } } @utility activity-indicator-spinner5 { transform: var(--activity-indicator-spinner-spinner5-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner5-delay); } } @utility activity-indicator-spinner6 { transform: var(--activity-indicator-spinner-spinner6-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner6-delay); } } @utility activity-indicator-spinner7 { transform: var(--activity-indicator-spinner-spinner7-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner7-delay); } } @utility activity-indicator-spinner8 { transform: var(--activity-indicator-spinner-spinner8-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner8-delay); } } @utility activity-indicator-spinner9 { transform: var(--activity-indicator-spinner-spinner9-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner9-delay); } } @utility activity-indicator-spinner10 { transform: var(--activity-indicator-spinner-spinner10-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner10-delay); } } @utility activity-indicator-spinner11 { transform: var(--activity-indicator-spinner-spinner11-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner11-delay); } } @utility activity-indicator-spinner12 { transform: var(--activity-indicator-spinner-spinner12-rotate); .activity-indicator-spinner &::before { animation-delay: var(--activity-indicator-spinner-spinner12-delay); } } @keyframes activity-indicator-spinner { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }