Progress
progressuiLinear progress bar — determinate or indeterminate. Two visual densities (slim, default), four tones, and an optional inline percentage label.
Installation
$pnpm dlx shadcn-vue@latest add https://uipkge.dev/r/vue/progress.json$npx shadcn-vue@latest add https://uipkge.dev/r/vue/progress.json$yarn dlx shadcn-vue@latest add https://uipkge.dev/r/vue/progress.json$bunx shadcn-vue@latest add https://uipkge.dev/r/vue/progress.jsonNamed registry:
npx shadcn-vue@latest add @uipkge/progressInstalls to:app/components/ui/progress/Examples
Loading interactive previews…
Loading interactive previews…
Props
| Name | Type / Values | Default | Required |
|---|---|---|---|
class | HTMLAttributes['class'] | — | optional |
npm dependencies
Used by
ad-spend-roi-dashboardagent-memory-inspectorai-agent-orchestratorai-crm-pipeline-dashboardai-saas-command-centerairbnb-host-earningsassignment-submission-dropzonebento-01bento-asymmetric-gridbilling-accountbilling-usage-centercart-drawercash-flow-treasury-dashboardcdc-replication-streamcloud-backup-schedulecold-chain-temp-monitorcolumn-profiling-summarycoming-sooncommute-reimbursement-claimscompensation-band-benchmarkingcompliance-soc2-readinesscourse-curriculum-outlinecustomer-journey-mapcustomer-reviewsdata-explorerdata-mesh-domain-catalogdata-product-carddata-quality-metricsdata-retention-policy-managerdemo-guided-tourdispatch-assignment-boardemployee-pulse-survey-resultsetl-pipeline-dagexit-interview-surveyfeature-flags-managerfeatures-2x2-spotlightfile-managerfine-tuning-job-monitorflashcard-study-deckhabit-streak-trackerhow-it-works-scroll-stepperinfluencer-campaign-cardinsurance-eligibility-checkerkafka-stream-monitorlakehouse-table-optimizerleaflet-neighborhood-walkscore-cardlesson-video-playerllm-eval-benchmark-matrixloyalty-rewards-tier-hubmodel-token-cost-optimizerneighborhood-walkscore-cardonboarding-checklistparquet-metadata-inspectorperformance-review-matrixpersonal-finance-budgetpodcast-audio-playerpomodoro-focus-timerprogress-itemquiz-assessment-runnerrag-pipeline-visualizerrate-limiting-configratings-review-badgesratings-star-summaryrecruitment-candidate-pipelinereferral-program-widgetschema-drift-alert-boardseo-audit-checklistskill-assessment-radarspark-job-stage-visualizersticky-ctasticky-cta-reading-progressstream-processing-flink-topologysubpoena-legal-hold-managersubscription-churn-analyticssynthetic-data-generatortax-summary-reporttime-off-portaltraining-compliance-trackerusage-metering-dashboarduser-profile-pagevector-embeddings-inspectorvideo-playlist-sidebarvirtual-card-managervitals-tracker-chartvulnerability-scanner-reportwaitlist-referral-positionwarehouse-inventory-grid
Files installed (2)
app/components/ui/progress/Progress.vue1.3 kB
<script setup lang="ts"> import type { ProgressRootProps } from 'reka-ui' import type { HTMLAttributes } from 'vue' import { computed } from 'vue' import { reactiveOmit } from '@vueuse/core' import { ProgressIndicator, ProgressRoot } from 'reka-ui' import { cn } from '@/lib/utils' const props = withDefaults(defineProps<ProgressRootProps & { class?: HTMLAttributes['class'] }>(), { modelValue: 0, }) const delegatedProps = reactiveOmit(props, 'class') // Clamp so out-of-range modelValue cannot push the indicator past the track. const clampedValue = computed(() => Math.min(100, Math.max(0, props.modelValue ?? 0))) </script> <template> <ProgressRoot data-uipkge data-slot="progress" v-bind="delegatedProps" :model-value="clampedValue" :aria-label="$attrs['aria-label'] !== undefined || $attrs['aria-labelledby'] !== undefined ? undefined : 'Progress'" :class="cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', props.class)" > <ProgressIndicator data-uipkge data-slot="progress-indicator" class="bg-primary h-full w-full flex-1 transition-transform duration-500 ease-out motion-reduce:transition-none" :style="`transform: translateX(-${100 - clampedValue}%);`" /> </ProgressRoot> </template>app/components/ui/progress/index.ts0.1 kB
export { default as Progress } from './Progress.vue'
Raw manifest:https://uipkge.dev/r/vue/progress.json