UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

22 lines (21 loc) 907 B
import { createElemPropsHook, createSubcomponent } from '@workday/canvas-kit-react/common'; import { handleCsProp } from '@workday/canvas-kit-styling'; import React from 'react'; import { useFormFieldModel } from './hooks'; /** * Adds the necessary props to an `Input` component for grouped inputs. */ export const useFormFieldGroupInput = createElemPropsHook(useFormFieldModel)(({ state }) => { return { 'aria-invalid': state.error === 'error' ? true : undefined, 'aria-describedby': state.id ? `hint-${state.id}` : undefined, 'aria-required': state.isRequired ? true : undefined, }; }); export const FormFieldGroupInput = createSubcomponent('input')({ displayName: 'FormField.Input', modelHook: useFormFieldModel, elemPropsHook: useFormFieldGroupInput, })((elemProps, Element) => { return React.createElement(Element, { ...handleCsProp(elemProps) }); });