Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

31 wiersze
1.2 KiB

  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 FormContext from './FormContext';
  6. import { useBootstrapPrefix } from './ThemeProvider';
  7. var FormFileLabel = React.forwardRef(function (_ref, ref) {
  8. var bsPrefix = _ref.bsPrefix,
  9. bsCustomPrefix = _ref.bsCustomPrefix,
  10. className = _ref.className,
  11. htmlFor = _ref.htmlFor,
  12. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "bsCustomPrefix", "className", "htmlFor"]);
  13. var _useContext = useContext(FormContext),
  14. controlId = _useContext.controlId,
  15. custom = _useContext.custom;
  16. var _ref2 = custom ? [bsCustomPrefix, 'custom-file-label'] : [bsPrefix, 'form-file-label'],
  17. prefix = _ref2[0],
  18. defaultPrefix = _ref2[1];
  19. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  20. return /*#__PURE__*/React.createElement("label", _extends({}, props, {
  21. ref: ref,
  22. htmlFor: htmlFor || controlId,
  23. className: classNames(className, bsPrefix),
  24. "data-browse": props['data-browse']
  25. }));
  26. });
  27. FormFileLabel.displayName = 'FormFileLabel';
  28. export default FormFileLabel;