{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "number-field",
  "dependencies": [
    "lucide-react",
    "react-aria-components",
    "tailwind-variants"
  ],
  "registryDependencies": [
    "https://taki-ui.com/r/field.json",
    "https://taki-ui.com/r/input.json",
    "https://taki-ui.com/r/input-group.json",
    "https://taki-ui.com/r/utils.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/number-field.tsx",
      "content": "\"use client\"\n\nimport React from \"react\"\nimport { ChevronDown, ChevronUp } from \"lucide-react\"\nimport {\n  NumberField as AriaNumberField,\n  NumberFieldProps as AriaNumberFieldProps,\n  Button,\n  ButtonProps,\n  ValidationResult,\n} from \"react-aria-components\"\nimport { VariantProps } from \"tailwind-variants\"\n\nimport { cn } from \"../lib/utils\"\nimport {\n  FieldDescription,\n  FieldError,\n  FieldLabel,\n  fieldVariants,\n} from \"./field\"\nimport { InputGroup, InputGroupInput } from \"./input-group\"\n\nexport interface NumberFieldProps\n  extends AriaNumberFieldProps,\n    VariantProps<typeof fieldVariants> {\n  label?: string\n  description?: string\n  errorMessage?: string | ((validation: ValidationResult) => string)\n}\n\nexport function NumberField({\n  label,\n  description,\n  errorMessage,\n  orientation = \"vertical\",\n  ...props\n}: NumberFieldProps) {\n  return (\n    <AriaNumberField {...props} className={fieldVariants({ orientation })}>\n      <FieldLabel>{label}</FieldLabel>\n      <InputGroup>\n        <InputGroupInput />\n        <div className=\"flex flex-col rounded-r-[inherit] border-s\">\n          <StepperButton slot=\"increment\" className=\"rounded-tr-[inherit]\">\n            <ChevronUp aria-hidden className=\"h-4 w-4\" />\n          </StepperButton>\n          <div className=\"border-b\" />\n          <StepperButton slot=\"decrement\" className=\"rounded-br-[inherit]\">\n            <ChevronDown aria-hidden className=\"h-4 w-4\" />\n          </StepperButton>\n        </div>\n      </InputGroup>\n\n      {description && <FieldDescription>{description}</FieldDescription>}\n      <FieldError>{errorMessage}</FieldError>\n    </AriaNumberField>\n  )\n}\n\nfunction StepperButton(props: ButtonProps) {\n  return (\n    <Button\n      {...props}\n      className={cn(\n        \"pressed:bg-gray-100 dark:pressed:bg-zinc-800 box-border cursor-default border-0 px-0.5 py-0 text-gray-500 group-disabled:text-gray-200 dark:text-zinc-400 dark:group-disabled:text-zinc-600 forced-colors:group-disabled:text-[GrayText]\",\n        props.className\n      )}\n    />\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}