import React, { createContext, useContext, useMemo, useState, type ElementType, type ReactNode, type Ref, } from 'react' import { useEvent } from '../../hooks/use-event' import { useId } from '../../hooks/use-id' import { useIsoMorphicEffect } from '../../hooks/use-iso-morphic-effect' import { useSyncRefs } from '../../hooks/use-sync-refs' import type { Props } from '../../types' import { forwardRefWithAs, render, type HasDisplayName, type RefProp } from '../../utils/render' // --- interface SharedData { slot?: {} name?: string props?: {} } let LabelContext = createContext<({ register(value: string): () => void } & SharedData) | null>( null ) function useLabelContext() { let context = useContext(LabelContext) if (context === null) { let err = new Error('You used a