splitButtonGroup.tsx 997 B

1234567891011121314151617181920212223242526272829
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import classNames from 'classnames';
  4. import { cssClasses } from '@douyinfe/semi-foundation/button/constants';
  5. import '@douyinfe/semi-foundation/button/button.scss';
  6. import BaseComponent, { BaseProps } from '../_base/baseComponent';
  7. const prefixCls = cssClasses.PREFIX;
  8. export interface SplitButtonGroupProps extends BaseProps {
  9. 'aria-label'?: React.AriaAttributes['aria-label']
  10. }
  11. export default class SplitButtonGroup extends BaseComponent<SplitButtonGroupProps> {
  12. static propTypes = {
  13. style: PropTypes.object,
  14. className: PropTypes.string,
  15. 'aria-label': PropTypes.string,
  16. };
  17. render() {
  18. const { children, style, className } = this.props;
  19. const cls = classNames(`${prefixCls}-split`, className);
  20. return (
  21. <div className={cls} style={style} role="group" aria-label={this.props['aria-label']}>
  22. {children}
  23. </div>
  24. );
  25. }
  26. }