UNPKG

vuetify

Version:

Vue Material Component Framework

264 lines 8.63 kB
@property --v-progress-indeterminate-long-left { syntax: "<percentage>"; inherits: true; initial-value: 0%; } @property --v-progress-indeterminate-long-right { syntax: "<percentage>"; inherits: true; initial-value: 0%; } @property --v-progress-indeterminate-short-left { syntax: "<percentage>"; inherits: true; initial-value: 0%; } @property --v-progress-indeterminate-short-right { syntax: "<percentage>"; inherits: true; initial-value: 0%; } @layer vuetify-components { .v-progress-linear { background: transparent; overflow: hidden; position: relative; transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1), mask-size 0s; width: 100%; } .v-progress-linear--rounded { border-radius: 9999px; } .v-progress-linear--variant-split.v-progress-linear--rounded .v-progress-linear__determinate, .v-progress-linear--variant-split.v-progress-linear--rounded .v-progress-linear__background, .v-progress-linear--variant-split.v-progress-linear--rounded .v-progress-linear__buffer { border-radius: 9999px; } @media (forced-colors: active) { .v-progress-linear { border: thin solid buttontext; } } .v-progress-linear__background, .v-progress-linear__buffer { background: currentColor; bottom: 0; left: 0; opacity: var(--v-border-opacity); position: absolute; top: 0; width: 100%; transition-property: width, left, right; transition: inherit; } } @layer vuetify-final.trumps { @media (forced-colors: active) { .v-progress-linear__buffer { background-color: highlight; opacity: 0.5; } } } @layer vuetify-components { .v-progress-linear__content { align-items: center; display: flex; height: 100%; justify-content: center; left: 0; position: absolute; top: 0; width: 100%; } .v-progress-linear--clickable .v-progress-linear__content { pointer-events: none; } .v-progress-linear__determinate, .v-progress-linear__indeterminate { background: currentColor; } } @layer vuetify-final.trumps { @media (forced-colors: active) { .v-progress-linear__determinate, .v-progress-linear__indeterminate { background-color: highlight; } } } @layer vuetify-components { .v-progress-linear__determinate { height: inherit; left: 0; position: absolute; transition: inherit; transition-property: width, left, right; } .v-progress-linear__indeterminate { animation-play-state: paused; animation-duration: 2.2s; animation-iteration-count: infinite; animation-name: indeterminate-ltr; } .v-progress-linear__indeterminate .long, .v-progress-linear__indeterminate .short { bottom: 0; height: inherit; position: absolute; top: 0; width: auto; } .v-progress-linear__indeterminate .long { left: var(--v-progress-indeterminate-long-left); right: var(--v-progress-indeterminate-long-right); } .v-progress-linear__indeterminate .short { left: var(--v-progress-indeterminate-short-left); right: var(--v-progress-indeterminate-short-right); } .v-progress-linear__indeterminate > .v-progress-linear__background { height: 100%; border-radius: inherit; transition: none; } .v-progress-linear__indeterminate > .v-progress-linear__background:nth-child(1) { left: 0; width: clamp(0%, var(--v-progress-indeterminate-long-left) - var(--v-progress-chunk-gap), 100%); } .v-progress-linear__indeterminate > .v-progress-linear__background:nth-child(2) { left: clamp(0%, 100% - var(--v-progress-indeterminate-long-right) + var(--v-progress-chunk-gap), 100%); width: clamp(0%, var(--v-progress-indeterminate-short-left) - var(--v-progress-chunk-gap), 100%); } .v-progress-linear__indeterminate > .v-progress-linear__background:nth-child(3) { right: 0; left: unset; width: clamp(0%, var(--v-progress-indeterminate-short-right) - var(--v-progress-chunk-gap), 100%); } .v-progress-linear__stream { animation: stream 0.25s infinite linear; animation-play-state: paused; bottom: 0; left: auto; opacity: 0.3; pointer-events: none; position: absolute; transition: inherit; transition-property: width, left, right; } .v-progress-linear--reverse .v-progress-linear__background, .v-progress-linear--reverse .v-progress-linear__determinate, .v-progress-linear--reverse .v-progress-linear__content { left: auto; right: 0; } .v-progress-linear--reverse .v-progress-linear__indeterminate { animation-name: indeterminate-rtl; } .v-progress-linear--reverse .v-progress-linear__indeterminate > .v-progress-linear__background:nth-child(1) { left: unset; right: 0; width: clamp(0%, var(--v-progress-indeterminate-long-right) - var(--v-progress-chunk-gap), 100%); } .v-progress-linear--reverse .v-progress-linear__indeterminate > .v-progress-linear__background:nth-child(2) { left: unset; right: clamp(0%, 100% - var(--v-progress-indeterminate-long-left) + var(--v-progress-chunk-gap), 100%); width: clamp(0%, var(--v-progress-indeterminate-short-right) - var(--v-progress-chunk-gap), 100%); } .v-progress-linear--reverse .v-progress-linear__indeterminate > .v-progress-linear__background:nth-child(3) { right: unset; left: 0; width: clamp(0%, var(--v-progress-indeterminate-short-left) - var(--v-progress-chunk-gap), 100%); } .v-progress-linear--reverse .v-progress-linear__stream { right: auto; } .v-progress-linear--absolute, .v-progress-linear--fixed { left: 0; z-index: 1; } .v-progress-linear--absolute { position: absolute; } .v-progress-linear--fixed { position: fixed; } .v-progress-linear--rounded { border-radius: 9999px; } .v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__determinate, .v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__indeterminate { border-radius: inherit; } .v-progress-linear--striped .v-progress-linear__determinate { animation: progress-linear-stripes 1s infinite linear; background-image: linear-gradient(135deg, hsla(0, 0%, 100%, 0.25) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, 0.25) 0, hsla(0, 0%, 100%, 0.25) 75%, transparent 0, transparent); background-repeat: repeat; background-size: var(--v-progress-linear-height); } .v-progress-linear--active .v-progress-linear__indeterminate { animation-play-state: running; } .v-progress-linear--active .v-progress-linear__stream { animation-play-state: running; } .v-progress-linear--rounded-bar .v-progress-linear__determinate, .v-progress-linear--rounded-bar .v-progress-linear__indeterminate, .v-progress-linear--rounded-bar .v-progress-linear__stream + .v-progress-linear__background { border-radius: 9999px; } .v-progress-linear--rounded-bar .v-progress-linear__determinate { border-start-start-radius: 0; border-end-start-radius: 0; } @keyframes indeterminate-ltr { 0% { --v-progress-indeterminate-long-left: -90%; --v-progress-indeterminate-long-right: 107%; --v-progress-indeterminate-short-left: -200%; --v-progress-indeterminate-short-right: 107%; } 60% { --v-progress-indeterminate-long-left: -90%; --v-progress-indeterminate-long-right: 107%; --v-progress-indeterminate-short-left: 107%; --v-progress-indeterminate-short-right: -8%; } 100% { --v-progress-indeterminate-long-left: 107%; --v-progress-indeterminate-long-right: -35%; --v-progress-indeterminate-short-left: 107%; --v-progress-indeterminate-short-right: -8%; } } @keyframes indeterminate-rtl { 0% { --v-progress-indeterminate-long-left: 107%; --v-progress-indeterminate-long-right: -90%; --v-progress-indeterminate-short-left: 107%; --v-progress-indeterminate-short-right: -200%; } 60% { --v-progress-indeterminate-long-left: 107%; --v-progress-indeterminate-long-right: -90%; --v-progress-indeterminate-short-left: -8%; --v-progress-indeterminate-short-right: 107%; } 100% { --v-progress-indeterminate-long-left: -35%; --v-progress-indeterminate-long-right: 107%; --v-progress-indeterminate-short-left: -8%; --v-progress-indeterminate-short-right: 107%; } } @keyframes stream { to { transform: translateX(var(--v-progress-linear-stream-to)); } } @keyframes progress-linear-stripes { 0% { background-position-x: var(--v-progress-linear-height); } } }