{"name":"rhf-rating-field","title":"RHF Rating Field","description":"Star rating field with React Hook Form integration.","type":"registry:ui","docs":"/components/rhf-rating-field","categories":["forms"],"registryDependencies":["https://pb-ui-five.vercel.app/registry/rhf-base-controller","https://pb-ui-five.vercel.app/registry/rating"],"dependencies":["react-hook-form"],"files":[{"path":"components/ui/rhf-inputs/rating-field.tsx","target":"components/ui/rhf-inputs/rating-field.tsx","type":"registry:ui","content":"\"use client\";\n\nimport { FieldValues } from \"react-hook-form\";\nimport { Rating, RatingProps } from \"../rating\";\nimport { BaseController, BaseControllerProps } from \"./base-controller\";\n\ntype RatingFieldProps<T extends FieldValues> = Omit<\n  BaseControllerProps<T>,\n  \"children\"\n> &\n  Omit<RatingProps, \"value\" | \"onChange\">;\n\nexport function RatingField<T extends FieldValues>({\n  control,\n  name,\n  label,\n  description,\n  required,\n  disableFieldError = false,\n  max,\n  disabled,\n  readOnly,\n  allowHalf,\n  size,\n  className,\n}: RatingFieldProps<T>) {\n  return (\n    <BaseController\n      control={control}\n      name={name}\n      label={label}\n      required={required}\n      description={description}\n      disableFieldError={disableFieldError}\n    >\n      {({ field, fieldState, ariaDescribedBy }) => (\n        <Rating\n          value={field.value ?? 0}\n          onChange={(value) => field.onChange(value)}\n          max={max}\n          disabled={disabled}\n          readOnly={readOnly}\n          allowHalf={allowHalf}\n          size={size}\n          aria-invalid={!!fieldState.error}\n          aria-describedby={ariaDescribedBy}\n          className={className}\n        />\n      )}\n    </BaseController>\n  );\n}\n"}]}