import React from 'react'; import { cssClassesGroup, strings } from '@douyinfe/semi-foundation/floatButton/constants'; import '@douyinfe/semi-foundation/floatButton/floatButton.scss'; import BaseComponent from '../_base/baseComponent'; import { ArrayElement } from '../_base/base'; import Badge, { BadgeProps } from '../badge'; import cls from 'classnames'; import { FloatButtonProps } from './interface'; const prefixCls = cssClassesGroup.PREFIX; export interface FloatButtonGroupItem extends FloatButtonProps { value?: string; content?: string | React.ReactNode } export interface FloatButtonGroupProps { disabled?: boolean; items: FloatButtonGroupItem[]; className?: string; style?: React.CSSProperties; children?: React.ReactNode; onClick?: (value: string, e: React.MouseEvent) => void } interface FloatButtonGroupState { } export default class FloatButtonGroup extends BaseComponent { static defaultProps = { shape: 'round', type: 'default', size: 'medium', }; constructor(props: FloatButtonGroupProps) { super(props); } handleClick = (e) => { const value = e.target.dataset.value; this.props.onClick?.(value, e); } render(): JSX.Element { const { className, style, disabled, items } = this.props; return (
{items.map((item, index) => { if (item.badge) { return (
{item.icon} {item.content}
); } return (
{item.icon} {item.content}
);} )}
); } }