"use client"; import { NumberField as NumberFieldPrimitive } from "@base-ui/react/number-field"; import { MinusIcon, PlusIcon } from "lucide-react"; import * as React from "react"; import { cn } from "~/lib/utils"; import { Label } from "~/components/ui/label"; export const NumberFieldContext: React.Context<{ fieldId: string; } | null> = React.createContext<{ fieldId: string; } | null>(null); export function NumberField({ id, className, size = "default", ...props }: NumberFieldPrimitive.Root.Props & { size?: "sm" | "default" | "lg"; }): React.ReactElement { const generatedId = React.useId(); const fieldId = id ?? generatedId; const contextValue = React.useMemo(() => ({ fieldId }), [fieldId]); return ( ); } export function NumberFieldGroup({ className, ...props }: NumberFieldPrimitive.Group.Props): React.ReactElement { return ( ); } export function NumberFieldDecrement({ className, ...props }: NumberFieldPrimitive.Decrement.Props): React.ReactElement { return ( ); } export function NumberFieldIncrement({ className, ...props }: NumberFieldPrimitive.Increment.Props): React.ReactElement { return ( ); } export function NumberFieldInput({ className, ...props }: NumberFieldPrimitive.Input.Props): React.ReactElement { return ( ); } export function NumberFieldScrubArea({ className, label, ...props }: NumberFieldPrimitive.ScrubArea.Props & { label: string; }): React.ReactElement { const context = React.use(NumberFieldContext); if (!context) { throw new Error( "NumberFieldScrubArea must be used within a NumberField component for accessibility.", ); } return ( ); } export function CursorGrowIcon(props: React.ComponentProps<"svg">): React.ReactElement { return ( ); } export { NumberFieldPrimitive };