UNPKG

vitepress-plugin-bprogress

Version:

A beautiful loading progress bar plugin for VitePress that integrates seamlessly with VitePress themes

124 lines (108 loc) 3.15 kB
/* Global variables using VitePress CSS variables */ :root { --bprogress-color: var(--vp-c-brand-1); --bprogress-height: 2px; --bprogress-spinner-size: 18px; --bprogress-spinner-animation-duration: 400ms; --bprogress-spinner-border-size: 2px; --bprogress-box-shadow: 0 0 10px var(--bprogress-color), 0 0 5px var(--bprogress-color); --bprogress-z-index: var(--vp-z-index-layout-top); --bprogress-spinner-top: 15px; --bprogress-spinner-bottom: auto; --bprogress-spinner-right: 15px; --bprogress-spinner-left: auto; } .bprogress { width: 0; height: 0; pointer-events: none; z-index: var(--bprogress-z-index); } .bprogress .bar { background: var(--bprogress-color); position: fixed; z-index: var(--bprogress-z-index); top: 0; left: 0; width: 100%; height: var(--bprogress-height); } /* Fancy blur effect */ .bprogress .peg { display: block; position: absolute; right: 0; width: 100px; height: 100%; box-shadow: var(--bprogress-box-shadow); opacity: 1.0; transform: rotate(3deg) translate(0px, -4px); } /* Remove these to get rid of the spinner */ .bprogress .spinner { display: block; position: fixed; z-index: var(--bprogress-z-index); top: var(--bprogress-spinner-top); bottom: var(--bprogress-spinner-bottom); right: var(--bprogress-spinner-right); left: var(--bprogress-spinner-left); } .bprogress .spinner-icon { width: var(--bprogress-spinner-size); height: var(--bprogress-spinner-size); box-sizing: border-box; border: solid var(--bprogress-spinner-border-size) transparent; border-top-color: var(--bprogress-color); border-left-color: var(--bprogress-color); border-radius: 50%; -webkit-animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite; animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite; } /* Custom parent styles */ .bprogress-custom-parent { overflow: hidden; position: relative; } .bprogress-custom-parent .bprogress .spinner, .bprogress-custom-parent .bprogress .bar { position: absolute; } /* Styles for indeterminate progress mode */ .bprogress .indeterminate { position: fixed; top: 0; left: 0; width: 100%; height: var(--bprogress-height); overflow: hidden; } .bprogress .indeterminate .inc, .bprogress .indeterminate .dec { position: absolute; top: 0; height: 100%; background-color: var(--bprogress-color); } .bprogress .indeterminate .inc { animation: bprogress-indeterminate-increase 2s infinite; } .bprogress .indeterminate .dec { animation: bprogress-indeterminate-decrease 2s 0.5s infinite; } @-webkit-keyframes bprogress-spinner { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes bprogress-spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes bprogress-indeterminate-increase { from { left: -5%; width: 5%; } to { left: 130%; width: 100%; } } @keyframes bprogress-indeterminate-decrease { from { left: -80%; width: 80%; } to { left: 110%; width: 10%; } }