UNPKG

@ozen-ui/kit

Version:

React component library

34 lines (33 loc) 1.53 kB
import { __assign, __read, __rest } from "tslib"; import './FieldHint.css'; import React, { forwardRef, Children } from 'react'; import { cn } from '../../utils/classname'; import { useFieldControl } from '../FieldControl'; export var FIELD_HINT_DEFAULT_TAG = 'div'; export var cnFieldHint = cn('FieldHint'); export var FieldHint = forwardRef(function (_a, ref) { var children = _a.children, errorProp = _a.error, disabledProp = _a.disabled, sizeProp = _a.size, className = _a.className, other = __rest(_a, ["children", "error", "disabled", "size", "className"]); var context = useFieldControl(); var _b = __read(context, 1), fieldControl = _b[0]; var Tag = FIELD_HINT_DEFAULT_TAG; var size = sizeProp; var error = errorProp; var disabled = disabledProp; var childrenCount = Children.toArray(children).filter(function (element) { return element !== undefined; }).length; if (!childrenCount) { return null; } if (fieldControl) { if (size === undefined && fieldControl.size) { size = fieldControl.size; } if (error === undefined && fieldControl.error) { error = fieldControl.error; } if (disabled === undefined && fieldControl.disabled) { disabled = fieldControl.disabled; } } return (React.createElement(Tag, __assign({ className: cnFieldHint({ error: error, disabled: disabled, size: size }, [className]) }, other, { ref: ref }), children)); }); FieldHint.displayName = 'FieldHint';