UNPKG

@lobehub/editor

Version:

A powerful and extensible rich text editor built on Meta's Lexical framework, providing a modern editing experience with React integration.

38 lines (37 loc) 1.31 kB
import type { FlexboxProps, MenuInfo, MenuItemType, TooltipProps } from '@lobehub/ui'; import type { ReactNode } from 'react'; export type FloatActionsEvent = Pick<MenuInfo, 'key' | 'keyPath' | 'domEvent'>; export interface ActionItem extends MenuItemType { active?: boolean; children?: ReactNode; tooltipProps?: TooltipProps; wrapper?: (dom: ReactNode) => ReactNode; } export type DividerItem = { type: 'divider'; }; export type CollapseItem = { children: (ActionItem | DividerItem)[]; type: 'collapse'; }; export type DropdownItem = Omit<ActionItem, 'children' | 'type'> & { children: MenuItemType[]; type: 'dropdown'; }; export type FloatActionsItem = ActionItem | DividerItem | CollapseItem | DropdownItem; export interface FloatActionsProps extends Omit<FlexboxProps, 'children'> { defaultGroupCollapse?: boolean; disabled?: boolean; groupCollapse?: boolean; items?: FloatActionsItem[]; onActionClick?: (action: FloatActionsEvent) => void; onGroupCollapseChange?: (collapse: boolean) => void; } export interface FloatActionsCollapseProps { children?: ReactNode; collapse?: boolean; gap?: FlexboxProps['gap']; groupCollapse?: boolean; mode?: 'default' | 'popup'; onGroupCollapseChange?: (collapse: boolean) => void; }