Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

FormControl.js 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  4. exports.__esModule = true;
  5. exports.default = void 0;
  6. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  7. var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  8. var _classnames = _interopRequireDefault(require("classnames"));
  9. var _react = _interopRequireWildcard(require("react"));
  10. var _warning = _interopRequireDefault(require("warning"));
  11. var _Feedback = _interopRequireDefault(require("./Feedback"));
  12. var _FormContext = _interopRequireDefault(require("./FormContext"));
  13. var _ThemeProvider = require("./ThemeProvider");
  14. var FormControl = _react.default.forwardRef(function (_ref, ref) {
  15. var bsPrefix = _ref.bsPrefix,
  16. type = _ref.type,
  17. size = _ref.size,
  18. id = _ref.id,
  19. className = _ref.className,
  20. isValid = _ref.isValid,
  21. isInvalid = _ref.isInvalid,
  22. plaintext = _ref.plaintext,
  23. readOnly = _ref.readOnly,
  24. _ref$as = _ref.as,
  25. Component = _ref$as === void 0 ? 'input' : _ref$as,
  26. props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "type", "size", "id", "className", "isValid", "isInvalid", "plaintext", "readOnly", "as"]);
  27. var _useContext = (0, _react.useContext)(_FormContext.default),
  28. controlId = _useContext.controlId;
  29. bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-control');
  30. var classes;
  31. if (plaintext) {
  32. var _classes;
  33. classes = (_classes = {}, _classes[bsPrefix + "-plaintext"] = true, _classes);
  34. } else if (type === 'file') {
  35. var _classes2;
  36. classes = (_classes2 = {}, _classes2[bsPrefix + "-file"] = true, _classes2);
  37. } else {
  38. var _classes3;
  39. classes = (_classes3 = {}, _classes3[bsPrefix] = true, _classes3[bsPrefix + "-" + size] = size, _classes3);
  40. }
  41. process.env.NODE_ENV !== "production" ? (0, _warning.default)(controlId == null || !id, '`controlId` is ignored on `<FormControl>` when `id` is specified.') : void 0;
  42. return _react.default.createElement(Component, (0, _extends2.default)({}, props, {
  43. type: type,
  44. ref: ref,
  45. readOnly: readOnly,
  46. id: id || controlId,
  47. className: (0, _classnames.default)(className, classes, isValid && "is-valid", isInvalid && "is-invalid")
  48. }));
  49. });
  50. FormControl.displayName = 'FormControl';
  51. FormControl.Feedback = _Feedback.default;
  52. var _default = FormControl;
  53. exports.default = _default;
  54. module.exports = exports["default"];