UNPKG

1.62 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3import classNames from 'classnames';
4import React from 'react';
5import FormCheck from './FormCheck';
6import FormFile from './FormFile';
7import FormControl from './FormControl';
8import FormGroup from './FormGroup';
9import FormLabel from './FormLabel';
10import FormText from './FormText';
11import Switch from './Switch';
12import { useBootstrapPrefix } from './ThemeProvider';
13import createWithBsPrefix from './createWithBsPrefix';
14var FormRow = createWithBsPrefix('form-row');
15var defaultProps = {
16 inline: false
17};
18var FormImpl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
19 var bsPrefix = _ref.bsPrefix,
20 inline = _ref.inline,
21 className = _ref.className,
22 validated = _ref.validated,
23 _ref$as = _ref.as,
24 Component = _ref$as === void 0 ? 'form' : _ref$as,
25 props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "inline", "className", "validated", "as"]);
26
27 bsPrefix = useBootstrapPrefix(bsPrefix, 'form');
28 return /*#__PURE__*/React.createElement(Component, _extends({}, props, {
29 ref: ref,
30 className: classNames(className, validated && 'was-validated', inline && bsPrefix + "-inline")
31 }));
32});
33FormImpl.displayName = 'Form';
34FormImpl.defaultProps = defaultProps;
35FormImpl.Row = FormRow;
36FormImpl.Group = FormGroup;
37FormImpl.Control = FormControl;
38FormImpl.Check = FormCheck;
39FormImpl.File = FormFile;
40FormImpl.Switch = Switch;
41FormImpl.Label = FormLabel;
42FormImpl.Text = FormText;
43export default FormImpl;
\No newline at end of file