'use client' import React, { createContext, useContext, useMemo, useState, type ElementType, type MouseEvent as ReactMouseEvent, 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 { useDisabled } from '../../internal/disabled' import { useProvidedId } from '../../internal/id' import type { Props } from '../../types' import { forwardRefWithAs, useRender, type HasDisplayName, type RefProp } from '../../utils/render' // --- interface SharedData { slot?: {} name?: string props?: Record } let LabelContext = createContext< ({ value: string | undefined; register(value: string): () => void } & SharedData) | null >(null) LabelContext.displayName = 'LabelContext' export function useLabelContext() { let context = useContext(LabelContext) if (context === null) { let err = new Error('You used a