Dashboard sipadu mbip
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

FormControl.js 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
  3. import classNames from 'classnames';
  4. import React, { useContext } from 'react';
  5. import warning from 'warning';
  6. import Feedback from './Feedback';
  7. import FormContext from './FormContext';
  8. import { useBootstrapPrefix } from './ThemeProvider';
  9. var FormControl = React.forwardRef(function (_ref, ref) {
  10. var bsPrefix = _ref.bsPrefix,
  11. type = _ref.type,
  12. size = _ref.size,
  13. id = _ref.id,
  14. className = _ref.className,
  15. isValid = _ref.isValid,
  16. isInvalid = _ref.isInvalid,
  17. plaintext = _ref.plaintext,
  18. readOnly = _ref.readOnly,
  19. _ref$as = _ref.as,
  20. Component = _ref$as === void 0 ? 'input' : _ref$as,
  21. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "type", "size", "id", "className", "isValid", "isInvalid", "plaintext", "readOnly", "as"]);
  22. var _useContext = useContext(FormContext),
  23. controlId = _useContext.controlId;
  24. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');
  25. var classes;
  26. if (plaintext) {
  27. var _classes;
  28. classes = (_classes = {}, _classes[bsPrefix + "-plaintext"] = true, _classes);
  29. } else if (type === 'file') {
  30. var _classes2;
  31. classes = (_classes2 = {}, _classes2[bsPrefix + "-file"] = true, _classes2);
  32. } else {
  33. var _classes3;
  34. classes = (_classes3 = {}, _classes3[bsPrefix] = true, _classes3[bsPrefix + "-" + size] = size, _classes3);
  35. }
  36. process.env.NODE_ENV !== "production" ? warning(controlId == null || !id, '`controlId` is ignored on `<FormControl>` when `id` is specified.') : void 0;
  37. return React.createElement(Component, _extends({}, props, {
  38. type: type,
  39. ref: ref,
  40. readOnly: readOnly,
  41. id: id || controlId,
  42. className: classNames(className, classes, isValid && "is-valid", isInvalid && "is-invalid")
  43. }));
  44. });
  45. FormControl.displayName = 'FormControl';
  46. FormControl.Feedback = Feedback;
  47. export default FormControl;