@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
42 lines (41 loc) • 1.71 kB
text/typescript
import { Trigger } from "../types/trigger.mjs";
import "../types/index.mjs";
import { Placement } from "../utils/placement.mjs";
import { MenuCheckboxItemType } from "../Menu/checkboxItem.mjs";
import { MenuSwitchItemType } from "../Menu/switchItem.mjs";
import { BaseMenuItemType } from "../Menu/baseItem.mjs";
import { IconSpaceMode } from "../Menu/renderUtils.mjs";
import "../Menu/index.mjs";
import "./renderItems.mjs";
import { ReactNode } from "react";
import { MenuPopupProps, MenuPortalProps, MenuPositionerProps, MenuRootProps, MenuTriggerProps } from "@base-ui/react/menu";
//#region src/DropdownMenu/type.d.ts
type DropdownMenuPlacement = Placement;
type DropdownMenuCheckboxItem = MenuCheckboxItemType;
type DropdownMenuSwitchItem = MenuSwitchItemType;
type DropdownItem = BaseMenuItemType;
interface DropdownMenuProps<Payload = unknown> extends Omit<MenuRootProps<Payload>, 'children'> {
children: ReactNode;
/**
* 图标空间保留模式
* - 'global': 当任何一个选项有图标时,所有 item 都保留图标位
* - 'group': 只有当一个分组中存在图标时,该分组才保留图标位
* @default 'global'
*/
iconSpaceMode?: IconSpaceMode;
items: DropdownItem[] | (() => DropdownItem[]);
nativeButton?: boolean;
placement?: DropdownMenuPlacement;
popupProps?: MenuPopupProps;
portalProps?: MenuPortalProps;
positionerProps?: MenuPositionerProps;
/**
* 触发方式
* @default 'click'
*/
trigger?: Trigger;
triggerProps?: Omit<MenuTriggerProps<Payload>, 'children'>;
}
//#endregion
export { DropdownItem, DropdownMenuCheckboxItem, DropdownMenuPlacement, DropdownMenuProps, DropdownMenuSwitchItem };
//# sourceMappingURL=type.d.mts.map