add Progress component and Reorganize UI exports

This commit is contained in:
Gregor Vostrak
2026-03-11 13:41:18 +01:00
parent 189682cfaf
commit c94ca804f8
5 changed files with 304 additions and 157 deletions

View File

@@ -0,0 +1,25 @@
<script setup lang="ts">
import { cn } from '../utils/cn';
import { ProgressIndicator, ProgressRoot, type ProgressRootProps } from 'reka-ui';
import { computed, type HTMLAttributes } from 'vue';
const props = withDefaults(defineProps<ProgressRootProps & { class?: HTMLAttributes['class'] }>(), {
modelValue: 0,
});
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props;
return delegated;
});
</script>
<template>
<ProgressRoot
v-bind="delegatedProps"
:class="cn('relative h-2 w-full overflow-hidden rounded-full bg-primary/20', props.class)">
<ProgressIndicator
class="h-full w-full flex-1 bg-quaternary transition-all"
:style="`transform: translateX(-${100 - (props.modelValue ?? 0)}%)`" />
</ProgressRoot>
</template>

View File

@@ -0,0 +1 @@
export { default as Progress } from './Progress.vue';