|
123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
- import React from 'react';
- import PropTypes from 'prop-types';
- import classNames from 'classnames';
- import { mapToCssModules, tagPropType } from './utils';
- import InputGroupText from './InputGroupText';
- var propTypes = {
- tag: tagPropType,
- addonType: PropTypes.oneOf(['prepend', 'append']).isRequired,
- children: PropTypes.node,
- className: PropTypes.string,
- cssModule: PropTypes.object
- };
- var defaultProps = {
- tag: 'div'
- };
-
- var InputGroupAddon = function InputGroupAddon(props) {
- var className = props.className,
- cssModule = props.cssModule,
- Tag = props.tag,
- addonType = props.addonType,
- children = props.children,
- attributes = _objectWithoutPropertiesLoose(props, ["className", "cssModule", "tag", "addonType", "children"]);
-
- var classes = mapToCssModules(classNames(className, 'input-group-' + addonType), cssModule); // Convenience to assist with transition
-
- if (typeof children === 'string') {
- return React.createElement(Tag, _extends({}, attributes, {
- className: classes
- }), React.createElement(InputGroupText, {
- children: children
- }));
- }
-
- return React.createElement(Tag, _extends({}, attributes, {
- className: classes,
- children: children
- }));
- };
-
- InputGroupAddon.propTypes = propTypes;
- InputGroupAddon.defaultProps = defaultProps;
- export default InputGroupAddon;
|