import{j as n,S as F}from"./vendor-radix-DNp60FuA.js";import{r as m}from"./vendor-react-DL0tRKZA.js";import{F as x,C as u,b as p}from"./index.esm-Djp0AcWf.js";import{p as i}from"./index-DbhEjV5W.js";import{L as I}from"./label-BaEEUFvK.js";const S=x,f=m.createContext({}),$=({...e})=>n.jsx(f.Provider,{value:{name:e.name},children:n.jsx(u,{...e})}),d=()=>{const e=m.useContext(f),t=m.useContext(l),{getFieldState:r,formState:o}=p(),s=r(e.name,o);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...s}},l=m.createContext({}),C=m.forwardRef(({className:e,...t},r)=>{const o=m.useId();return n.jsx(l.Provider,{value:{id:o},children:n.jsx("div",{ref:r,className:i("space-y-2",e),...t})})});C.displayName="FormItem";const g=m.forwardRef(({className:e,...t},r)=>{const{error:o,formItemId:s}=d();return n.jsx(I,{ref:r,className:i(o&&"text-destructive",e),htmlFor:s,...t})});g.displayName="FormLabel";const j=m.forwardRef(({...e},t)=>{const{error:r,formItemId:o,formDescriptionId:s,formMessageId:a}=d();return n.jsx(F,{ref:t,id:o,"aria-describedby":r?`${s} ${a}`:`${s}`,"aria-invalid":!!r,...e})});j.displayName="FormControl";const b=m.forwardRef(({className:e,...t},r)=>{const{formDescriptionId:o}=d();return n.jsx("p",{ref:r,id:o,className:i("text-sm text-muted-foreground",e),...t})});b.displayName="FormDescription";const v=m.forwardRef(({className:e,children:t,...r},o)=>{const{error:s,formMessageId:a}=d(),c=s?String(s==null?void 0:s.message):t;return c?n.jsx("p",{ref:o,id:a,className:i("text-sm font-medium text-destructive",e),...r,children:c}):null});v.displayName="FormMessage";export{S as F,$ as a,C as b,g as c,j as d,v as e,b as f};