{
  "$schema": "https://shadcn-vue.com/schema/registry-item.json",
  "name": "progress",
  "title": "Progress",
  "type": "registry:ui",
  "files": [
    {
      "path": "packages/registry-vue/components/progress/Progress.vue",
      "content": "<script setup lang=\"ts\">\nimport type { ProgressRootProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\nimport { reactiveOmit } from '@vueuse/core'\nimport { ProgressIndicator, ProgressRoot } from 'reka-ui'\nimport { cn } from '@/lib/utils'\n\nconst props = withDefaults(defineProps<ProgressRootProps & { class?: HTMLAttributes['class'] }>(), {\n  modelValue: 0,\n})\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n\n<template>\n  <ProgressRoot\n    data-uipkge\n    data-slot=\"progress\"\n    v-bind=\"delegatedProps\"\n    :class=\"cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', props.class)\"\n  >\n    <ProgressIndicator\n      data-uipkge\n      data-slot=\"progress-indicator\"\n      class=\"bg-primary h-full w-full flex-1 transition-colors duration-200\"\n      :style=\"`transform: translateX(-${100 - (props.modelValue ?? 0)}%);`\"\n    />\n  </ProgressRoot>\n</template>\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/progress/Progress.vue"
    },
    {
      "path": "packages/registry-vue/components/progress/index.ts",
      "content": "export { default as Progress } from './Progress.vue'\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/progress/index.ts"
    }
  ],
  "dependencies": [
    "@vueuse/core",
    "reka-ui"
  ],
  "devDependencies": [],
  "registryDependencies": [],
  "description": "Linear progress bar — determinate or indeterminate. Two visual densities (slim, default), four tones, and an optional inline percentage label.",
  "categories": [
    "feedback"
  ]
}