@blueprintjs-formik/core
Version:
Bindings for using Formik and Blueprint.js
39 lines (36 loc) • 1.54 kB
JavaScript
import { __rest, __assign } from '../_virtual/_tslib.js';
import React__default from 'react';
import { Checkbox as Checkbox$1 } from '@blueprintjs/core';
import { Field } from './FieldBase.js';
/**
* Transforms the field props to checkbox props.
* @param {CheckboxToFieldProps}
* @returns {CheckboxProps}
*/
function fieldToCheckbox(_a) {
_a.disabled; var _b = _a.field, fieldOnBlur = _b.onBlur, field = __rest(_b, ["onBlur"]); _a.form; _a.type; var onBlur = _a.onBlur, props = __rest(_a, ["disabled", "field", "form", "type", "onBlur"]);
var indeterminate = !Array.isArray(field.value) && field.value == null;
return __assign(__assign({ indeterminate: indeterminate, onBlur: onBlur !== null && onBlur !== void 0 ? onBlur : function (e) {
fieldOnBlur(e !== null && e !== void 0 ? e : field.name);
} }, field), props);
}
/**
* Transforms the Formik field props to checkbox group component.
* @param {CheckboxToFieldProps}
* @returns {JSX.Element}
*/
function FieldToCheckboxGroup(_a) {
var props = __rest(_a, []);
return React__default.createElement(Checkbox$1, __assign({}, fieldToCheckbox(props)));
}
/**
* Checkbox BP wrappeed component to bind with Formik.
* @param {CheckboxProps}
* @returns {JSX.Element}
*/
function Checkbox(_a) {
var props = __rest(_a, []);
return (React__default.createElement(Field, __assign({}, props, { type: 'checkbox', component: FieldToCheckboxGroup })));
}
export { Checkbox };
//# sourceMappingURL=Checkbox.js.map