UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

58 lines (57 loc) 1.95 kB
import { ThemingProps } from "../theme/types.js"; import "../theme/index.js"; import { SystemProps } from "../system/system.js"; import "../system/index.js"; import { IconProp } from "../icon/icon.types.js"; import "../icon/index.js"; import { BoxProps } from "../box/box.types.js"; import "../box/index.js"; import { ReactNode } from "react"; //#region src/sidemenu/sidemenu.types.d.ts type SidemenuOrientation = 'vertical' | 'horizontal'; type SidemenuProps = SystemProps & ThemingProps<'Sidemenu'> & { /** Collection of menu items */ items?: SidemenuItemProps[]; /** Whether the menu is expanded @default false */ isExpanded?: boolean; isSticky?: boolean; /** External callback for navigation to the item path, could be a custom function or React Router hook: https://reactrouter.com/en/main/hooks/use-navigate */ onNavigate?: (to: string) => void; /** With of the container when the side menu is expanded @default 280 */ width?: number; }; type SidemenuItemProps = BoxProps & { /** Custom class name */ className?: string; /** Children */ children?: ReactNode; /** Custom class name */ icon?: IconProp; /** Icon size @default md */ iconSize?: 'md' | 'sm'; /** Whether the item is active */ isActive?: boolean; /** Whether the item is expanded vertically */ isExpanded?: boolean; /** On click callback */ onClick?: () => void; /** On collapse callback @default true */ onCollapse?: () => void; /** On expand callback */ onExpand?: () => void; /** Router path */ path?: string; /** Title */ title: string; }; type SidemenuTopProps = BoxProps & { /** Custom class name */ className?: string; /** Left slod (always visible) */ leftSlot?: ReactNode; /** Right slod (hiden if the sidemenu is collapsed) */ rightSlot?: ReactNode; }; //#endregion export { SidemenuItemProps, SidemenuOrientation, SidemenuProps, SidemenuTopProps }; //# sourceMappingURL=sidemenu.types.d.ts.map