UNPKG

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