UNPKG

react-bootstrap-v5

Version:

Bootstrap 4 components built with React

31 lines (29 loc) 1.53 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; import classNames from 'classnames'; import React, { useContext } from 'react'; import FormContext from './FormContext'; import FormFileButton from './FormFileButton'; import FormFileText from './FormFileText'; import { useBootstrapPrefix } from './ThemeProvider'; var FormFileLabel = React.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, htmlFor = _ref.htmlFor, _ref$label = _ref.label, label = _ref$label === void 0 ? 'Choose file...' : _ref$label, _ref$button = _ref.button, button = _ref$button === void 0 ? 'Browse' : _ref$button, children = _ref.children, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "htmlFor", "label", "button", "children"]); var _useContext = useContext(FormContext), controlId = _useContext.controlId; bsPrefix = useBootstrapPrefix(bsPrefix, 'form-file-label'); return /*#__PURE__*/React.createElement("label", _extends({}, props, { ref: ref, htmlFor: htmlFor || controlId, className: classNames(className, bsPrefix) }), children || /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormFileText, null, label), /*#__PURE__*/React.createElement(FormFileButton, null, button))); }); FormFileLabel.displayName = 'FormFileLabel'; export default FormFileLabel;