analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
61 lines (58 loc) • 2.85 kB
text/typescript
import * as react from 'react';
import { ReactNode, ButtonHTMLAttributes, HTMLAttributes } from 'react';
import * as react_jsx_runtime from 'react/jsx-runtime';
import { StoreApi } from 'zustand';
interface DropdownStore {
open: boolean;
setOpen: (open: boolean) => void;
}
type DropdownStoreApi = StoreApi<DropdownStore>;
declare function createDropdownStore(): DropdownStoreApi;
declare const useDropdownStore: (externalStore?: DropdownStoreApi) => DropdownStoreApi;
interface DropdownMenuProps {
children: ReactNode;
open?: boolean;
onOpenChange?: (open: boolean) => void;
}
declare const DropdownMenu: ({ children, open, onOpenChange }: DropdownMenuProps) => react_jsx_runtime.JSX.Element;
declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLButtonElement>>;
declare const MenuLabel: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
inset?: boolean;
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const MenuContent: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
align?: "start" | "center" | "end";
side?: "top" | "right" | "bottom" | "left";
sideOffset?: number;
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const MenuItem: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
inset?: boolean;
size?: "small" | "medium";
iconLeft?: ReactNode;
iconRight?: ReactNode;
disabled?: boolean;
variant?: "profile" | "menu";
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const MenuSeparator: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const ProfileMenuTrigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLButtonElement>>;
declare const ProfileMenuHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
name: string;
email: string;
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const ProfileMenuSection: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const ProfileMenuFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & {
disabled?: boolean;
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLButtonElement>>;
export { DropdownMenuTrigger, MenuContent, MenuItem, MenuLabel, MenuSeparator, ProfileMenuFooter, ProfileMenuHeader, ProfileMenuSection, ProfileMenuTrigger, createDropdownStore, DropdownMenu as default, useDropdownStore };