@codegouvfr/react-dsfr
Version:
French State Design System React integration library
41 lines (40 loc) • 1.2 kB
TypeScript
import React, { type ReactNode, type CSSProperties } from "react";
import type { RegisteredLinkProps } from "../link";
export type MegaMenuProps = {
classes?: Partial<Record<"root" | "leader" | "category" | "list", string>>;
style?: CSSProperties;
leader?: MegaMenuProps.Leader;
categories: MegaMenuProps.Category[];
};
export declare namespace MegaMenuProps {
type Leader = {
title: ReactNode;
paragraph: ReactNode;
link?: {
linkProps: RegisteredLinkProps;
text: ReactNode;
};
};
type Category = {
categoryMainLink: {
text: ReactNode;
linkProps: RegisteredLinkProps;
};
links: {
text: ReactNode;
linkProps: RegisteredLinkProps;
isActive?: boolean;
}[];
};
}
export declare const MegaMenu: React.MemoExoticComponent<React.ForwardRefExoticComponent<MegaMenuProps & {
id: string;
} & React.RefAttributes<HTMLDivElement>>>;
declare const addMegaMenuTranslations: (params: {
lang: string;
messages: Partial<{
close: string;
}>;
}) => void;
export { addMegaMenuTranslations };
export default MegaMenu;