{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "Progress",
  "dependencies": [
    "@base-ui/react",
    "cn",
    "rescript-base-ui"
  ],
  "files": [
    {
      "path": "registry/base/ui/Progress.res",
      "content": "@@directive(\"'use client'\")\n\n@module(\"cn\")\nexternal cn: (string, option<string>) => string = \"cn\"\n\n@react.componentWithProps(BaseUi.Progress.Root.props)\nlet make = (props: BaseUi.Progress.Root.props) => {\n  let children = props.children->Option.getOr(React.null)\n  <BaseUi.Progress.Root\n    {...props}\n    dataSlot={props.dataSlot->Option.getOr(\"progress\")}\n    className={cn(\" flex flex-wrap gap-3\", props.className)}\n  >\n    {children}\n    <BaseUi.Progress.Track\n      dataSlot=\"progress-track\"\n      className=\"bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden\"\n    >\n      <BaseUi.Progress.Indicator\n        dataSlot=\"progress-indicator\" className=\"bg-primary h-full transition-all\"\n      />\n    </BaseUi.Progress.Track>\n  </BaseUi.Progress.Root>\n}\n\nmodule Track = {\n  @react.componentWithProps(BaseUi.Types.BaseUIComponentProps.t)\n  let make = (props: BaseUi.Types.BaseUIComponentProps.t) =>\n    <BaseUi.Progress.Track\n      {...props}\n      dataSlot={props.dataSlot->Option.getOr(\"progress-track\")}\n      className={cn(\n        \"bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden\",\n        props.className,\n      )}\n    />\n}\n\nmodule Indicator = {\n  @react.componentWithProps(BaseUi.Types.BaseUIComponentProps.t)\n  let make = (props: BaseUi.Types.BaseUIComponentProps.t) =>\n    <BaseUi.Progress.Indicator\n      {...props}\n      dataSlot={props.dataSlot->Option.getOr(\"progress-indicator\")}\n      className={cn(\"bg-primary h-full transition-all\", props.className)}\n    />\n}\n\nmodule Label = {\n  @react.componentWithProps(BaseUi.Types.BaseUIComponentProps.t)\n  let make = (props: BaseUi.Types.BaseUIComponentProps.t) =>\n    <BaseUi.Progress.Label\n      {...props}\n      dataSlot={props.dataSlot->Option.getOr(\"progress-label\")}\n      className={cn(\"text-sm font-medium\", props.className)}\n    />\n}\n\nmodule Value = {\n  @react.componentWithProps(BaseUi.Types.BaseUIComponentProps.t)\n  let make = (props: BaseUi.Types.BaseUIComponentProps.t) =>\n    <BaseUi.Progress.Value\n      {...props}\n      dataSlot={props.dataSlot->Option.getOr(\"progress-value\")}\n      className={cn(\"text-muted-foreground ml-auto text-sm tabular-nums\", props.className)}\n    />\n}\n",
      "type": "registry:file",
      "target": "@ui/Progress.res"
    }
  ],
  "type": "registry:ui"
}