UNPKG

@codegouvfr/react-dsfr

Version:

French State Design System React integration library

40 lines (39 loc) 1.39 kB
import React, { type ReactNode, type CSSProperties } from "react"; import type { RegisteredLinkProps } from "./link"; export type SideMenuProps = { id?: string; title?: ReactNode; className?: string; style?: CSSProperties; align?: "left" | "right"; items: SideMenuProps.Item[]; burgerMenuButtonText: ReactNode; /** Default: false */ sticky?: boolean; /** Default: false, only relevent when sticky */ fullHeight?: boolean; classes?: Partial<Record<"root" | "inner" | "title" | "list" | "item" | "link" | "button", string>>; }; export declare namespace SideMenuProps { type Item = Item.Link | Item.SubMenu; namespace Item { type Common = { text: ReactNode; /** Default: false */ isActive?: boolean; }; export type Link = Common & { linkProps: RegisteredLinkProps; }; export type SubMenu = Common & { items: Item[]; /** Default: false */ expandedByDefault?: boolean; linkProps?: RegisteredLinkProps; }; export {}; } } /** @see <https://components.react-dsfr.codegouv.studio/?path=/docs/components-sidemenu> */ export declare const SideMenu: React.MemoExoticComponent<React.ForwardRefExoticComponent<SideMenuProps & React.RefAttributes<HTMLDivElement>>>; export default SideMenu;