import React from 'react'; import classNames from 'classnames-es-ts'; import { isMobile } from '@aomao/engine'; import type { Placement, EngineInterface } from '@aomao/engine'; import Popover from 'antd/es/popover'; import Button, { ButtonProps } from '../button'; import Dropdown, { DropdownProps } from '../dropdown'; import ColorButton, { ColorButtonProps } from '../color'; import Collapse, { CollapseProps as CollapseButtonProps } from '../collapse'; import 'antd/es/popover/style/css'; import './index.css'; export type GroupButtonProps = { type: 'button'; } & Omit; export type GroupDropdownProps = { type: 'dropdown'; } & Omit; export type GroupColorProps = { type: 'color'; } & Omit; export type CollapseProps = { type: 'collapse'; } & Omit; export type GroupProps = { engine: EngineInterface; items: Array< GroupButtonProps | GroupDropdownProps | GroupColorProps | CollapseProps >; icon?: React.ReactNode; content?: React.ReactNode | ((engine?: EngineInterface) => React.ReactNode); popup?: boolean; }; const ToolbarGroup: React.FC = ({ engine, items, icon, content, popup, }) => { const renderItems = (placement?: Placement) => { return items.map((item, index) => { switch (item.type) { case 'button': return (