analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
69 lines (66 loc) • 3.11 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: propOpen, onOpenChange, }: DropdownMenuProps) => react_jsx_runtime.JSX.Element;
declare const DropdownMenuTrigger: {
({ className, children, onClick, store: externalStore, ...props }: ButtonHTMLAttributes<HTMLButtonElement> & {
disabled?: boolean;
store?: DropdownStoreApi;
}): react_jsx_runtime.JSX.Element;
displayName: string;
};
declare const MenuLabel: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
inset?: boolean;
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuContent: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
align?: "start" | "center" | "end";
side?: "top" | "right" | "bottom" | "left";
variant?: "menu" | "profile";
sideOffset?: number;
store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuItem: 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 DropdownMenuSeparator: 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: {
({ className, disabled, onClick, store: externalStore, ...props }: HTMLAttributes<HTMLButtonElement> & {
disabled?: boolean;
store?: DropdownStoreApi;
}): react_jsx_runtime.JSX.Element;
displayName: string;
};
export { DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, MenuLabel, ProfileMenuFooter, ProfileMenuHeader, ProfileMenuSection, ProfileMenuTrigger, createDropdownStore, DropdownMenu as default, useDropdownStore };