wikimedia/mediawiki-extensions-Wikibase

View on GitHub
client/data-bridge/src/presentation/components/IndeterminateProgressBar.vue

Summary

Maintainability
Test Coverage
<template>
    <div class="wb-ui-indeterminate-progress-bar__box">
        <div
            class="wb-ui-indeterminate-progress-bar__bar"
            aria-busy="true"
            aria-live="polite"
        />
    </div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent( {
    name: 'IndeterminateProgressBar',
    compatConfig: { MODE: 3 },
} );
</script>
<style lang="scss">
.wb-ui-indeterminate-progress-bar__box {
    position: absolute;
    height: 20px;
    width: 90%;
    left: 5%;
    top: 50%;
    transform: translate( 0%, -50% );
    border: 1px solid #a2a9b1;
    box-shadow: 0 2px 0 0 rgba( 0, 0, 0, 0.15 );
    box-sizing: border-box;
    border-radius: 2px;
    overflow: hidden;
    background-color: #fff;
}

.wb-ui-indeterminate-progress-bar__bar {
    animation: wb-ui-indeterminate-progress-bar__bar--slide 2s infinite linear;
    background-color: $color-primary;
    width: 40%;
    height: 100%;
    display: block;
}

@keyframes wb-ui-indeterminate-progress-bar__bar--slide {
    from {
        transform: translate( -100% );
    }

    to {
        transform: translate( 350% );
    }
}
</style>