UNPKG

@kobalte/core

Version:

Unstyled components and primitives for building accessible web apps and design systems with SolidJS.

23 lines (20 loc) 978 B
import { useFormControlContext } from './YKGT7A57.js'; import { mergeDefaultProps, access } from '@kobalte/utils'; import { createEffect, onCleanup } from 'solid-js'; var FORM_CONTROL_FIELD_PROP_NAMES = ["id", "aria-label", "aria-labelledby", "aria-describedby"]; function createFormControlField(props) { const context = useFormControlContext(); const mergedProps = mergeDefaultProps({ id: context.generateId("field") }, props); createEffect(() => onCleanup(context.registerField(access(mergedProps.id)))); return { fieldProps: { id: () => access(mergedProps.id), ariaLabel: () => access(mergedProps["aria-label"]), ariaLabelledBy: () => context.getAriaLabelledBy(access(mergedProps.id), access(mergedProps["aria-label"]), access(mergedProps["aria-labelledby"])), ariaDescribedBy: () => context.getAriaDescribedBy(access(mergedProps["aria-describedby"])) } }; } export { FORM_CONTROL_FIELD_PROP_NAMES, createFormControlField };