UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

55 lines 2.73 kB
import { StoreApi } from 'zustand'; import { ReactNode, HTMLAttributes } from 'react'; type MenuVariant = 'menu' | 'menu2' | 'menu-overflow' | 'menu-overflow-col' | 'breadcrumb'; interface MenuStore { value: string; /** User-initiated selection (e.g. a MenuItem click): fires `onValueChange`. */ setValue: (value: string) => void; /** * Syncs the controlled `value`/`defaultValue` prop into the store WITHOUT * firing `onValueChange`. A prop change is not a user selection, so it must * not dispatch a click — otherwise a route-driven `value` change would * trigger navigation (e.g. bouncing `/atividades/detalhes/:id` back to * `/atividades`). */ syncValue: (value: string) => void; onValueChange?: (value: string) => void; } type MenuStoreApi = StoreApi<MenuStore>; export declare const useMenuStore: (externalStore?: MenuStoreApi) => MenuStoreApi; interface MenuProps extends HTMLAttributes<HTMLDivElement> { children: ReactNode; defaultValue: string; value?: string; variant?: MenuVariant; onValueChange?: (value: string) => void; } declare const Menu: import("react").ForwardRefExoticComponent<MenuProps & import("react").RefAttributes<HTMLDivElement>>; interface MenuContentProps extends HTMLAttributes<HTMLUListElement> { children: ReactNode; variant?: MenuVariant; } declare const MenuContent: import("react").ForwardRefExoticComponent<MenuContentProps & import("react").RefAttributes<HTMLUListElement>>; interface MenuItemProps extends HTMLAttributes<HTMLLIElement> { value: string; disabled?: boolean; store?: MenuStoreApi; variant?: MenuVariant; separator?: boolean; } declare const MenuItem: import("react").ForwardRefExoticComponent<MenuItemProps & import("react").RefAttributes<HTMLLIElement>>; declare const MenuItemIcon: ({ className, icon, ...props }: HTMLAttributes<HTMLSpanElement> & { icon: ReactNode; }) => import("react/jsx-runtime").JSX.Element; export declare const internalScroll: (container: HTMLUListElement | null, direction: "left" | "right") => void; export declare const internalCheckScroll: (container: HTMLUListElement | null, setShowLeftArrow: (v: boolean) => void, setShowRightArrow: (v: boolean) => void) => void; interface MenuOverflowProps extends HTMLAttributes<HTMLDivElement> { children: ReactNode; defaultValue: string; value?: string; onValueChange?: (value: string) => void; } declare const MenuOverflow: ({ children, className, defaultValue, value, onValueChange, ...props }: MenuOverflowProps) => import("react/jsx-runtime").JSX.Element; export default Menu; export { Menu, MenuContent, MenuItem, MenuOverflow, MenuItemIcon }; //# sourceMappingURL=Menu.d.ts.map