import { IconAlertTriangle, IconClose } from '@douyinfe/semi-icons'; import { Button, Modal, Tag } from '@douyinfe/semi-ui'; import { cloneElement, type ReactElement, type ReactNode } from 'react'; export type WorkspaceDialogBadgeColor = 'blue' | 'green' | 'grey' | 'orange' | 'red'; export type WorkspaceDialogSummaryItem = { label: string; value: ReactNode; detail: string; tone?: 'neutral' | 'primary' | 'success' | 'warning' | 'danger'; }; export type WorkspaceDialogProps = { visible: boolean; ariaLabel: string; closeLabel: string; title: string; description: string; icon: ReactNode; badge?: ReactNode; badgeColor?: WorkspaceDialogBadgeColor; width?: string | number; className?: string; closeOnEsc?: boolean; maskClosable?: boolean; closeDisabled?: boolean; footer?: ReactNode; children: ReactNode; onCancel: () => void; }; export function WorkspaceDialog({ visible, ariaLabel, closeLabel, title, description, icon, badge, badgeColor = 'blue', width = 480, className = '', closeOnEsc = true, maskClosable = true, closeDisabled = false, footer, children, onCancel }: WorkspaceDialogProps) { return {title}{description} {badge ? {badge} : null} } >

{description}

{summaryItems.map((item) => {item.label} {item.value} {item.detail} )}
; }