import React from 'react';
import cls from 'classnames';
import { cssClasses, strings } from '@douyinfe/semi-foundation/floatButton/constants';
import '@douyinfe/semi-foundation/floatButton/floatButton.scss';
import { IconSearchStroked, IconHelpCircleStroked } from '@douyinfe/semi-icons';
const iconImgs = {
default: {
small: 'https://cdn-tos-cn.bytedance.net/obj/ies-semi/images/mcvcjc2y-ytad407.svg',
medium: 'https://cdn-tos-cn.bytedance.net/obj/ies-semi/images/mcvcjc2y-hfkzeke.svg',
large: 'https://cdn-tos-cn.bytedance.net/obj/ies-semi/images/mcvcjc2y-y4y9tsx.svg',
},
disabled: {
small: 'https://cdn-tos-cn.bytedance.net/obj/ies-semi/images/mcvrr4gn-9vdet0m.svg',
medium: 'https://cdn-tos-cn.bytedance.net/obj/ies-semi/images/mcvcjc2y-bm6q1vr.svg',
large: 'https://cdn-tos-cn.bytedance.net/obj/ies-semi/images/mcvcjc2y-7un8des.svg',
},
};
const badgeContents = {
small: '3',
large: '99+',
};
function FloatButton({ type = 'default', status = 'normal', size = 'medium', showRectangle = false, showBadge = false, badgeContent = '', group = false, groupItems = [] }) {
const iconCls = cls(cssClasses.ICON_BTN,
`${cssClasses.ICON_BTN}-${size}`,
`${cssClasses.ICON_BTN}-${type}`,
{
[`${cssClasses.ICON_BTN}-disabled`]: status === 'disabled',
}
);
const imgCls = cls(cssClasses.ICON_IMG, `${cssClasses.ICON_IMG}-${size}`);
// 单枚浮动按钮
if (!group) {
return (
{showRectangle ? (
) : null}
{showBadge ? (
{badgeContent}
) : null}
);
}
// 按钮组
return (
{groupItems.map((item, idx) => {
const iconBtnCls = cls(cssClasses.GROUP_ITEM, {
[`${cssClasses.ICON_BTN}-disabled`]: item.status === 'disabled',
});
return (
{item.iconType === 'img' ? (
) : item.iconType === 'search' ? (
) : (
)}
{item.label}
{item.showRectangle ? (
) : null}
{item.showBadge ? (
{item.badgeContent}
) : null}
);
})}
);
}
export default FloatButton;