@blueprintjs-formik/core
Version:
Bindings for using Formik and Blueprint.js
30 lines (27 loc) • 1.11 kB
JavaScript
import { __rest, __assign } from '../_virtual/_tslib.js';
import React__default from 'react';
import { useField } from 'formik';
import { FormGroup as FormGroup$1, Intent } from '@blueprintjs/core';
/**
* Transformes field props to form group.
* @param {Omit<FormGroupProps, "children">} props
* @param {FieldInputProps<any>} field
* @param {FieldMetaProps<any>} meta
* @returns {PBFormGroupProps}
*/
var fieldToFormGroup = function (props, field, meta) {
var showError = meta.touched && meta.error;
return __assign({ labelFor: field.name, intent: showError ? Intent.DANGER : Intent.NONE, helperText: showError ? meta.error : '' }, props);
};
/**
* Form group.
* @param {FormGroupProps}
* @returns {React.JSX}
*/
function FormGroup(_a) {
var children = _a.children, props = __rest(_a, ["children"]);
var _b = useField(props.name), field = _b[0], meta = _b[1];
return (React__default.createElement(FormGroup$1, __assign({}, fieldToFormGroup(props, field, meta), { children: children })));
}
export { FormGroup };
//# sourceMappingURL=FormGroup.js.map