@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
84 lines (83 loc) • 2.52 kB
TypeScript
/**
* MSKCC DSM 2021, 2024
*/
import * as React from 'react';
import PropTypes from 'prop-types';
export type FooterNavItemType = 'link' | 'button';
export type FooterNavItems = {
label?: string;
href?: string;
type?: FooterNavItemType;
linkProps?: React.AnchorHTMLAttributes<HTMLAnchorElement>;
buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
};
export interface FooterProps {
/**
* Add custom class
*/
className?: string;
/**
* Specify the contents of the footer
*/
children?: React.ReactNode;
/**
* Render a custom logo
*/
logo?: React.ReactNode;
/**
* Specify the location of the logo file
*/
logoSrc?: string;
/**
* Specify the max width of the contents inside the footer
*/
maxWidth?: 'default' | 'fluid' | 'max';
/**
* Pass an array of right side navigation items with a pre-defined data structure.
*/
navItems?: FooterNavItems[];
/**
* Render an bottom section at the bottom of the footer
*/
bottomSection?: React.ReactNode;
}
export declare const Footer: {
({ className, children, logo, logoSrc, maxWidth, navItems, bottomSection, ...other }: FooterProps): JSX.Element;
displayName: string;
propTypes: {
/**
* Render an bottom section at the bottom of the footer
*/
bottomSection: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* Specify the contents of the footer
*/
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* Add custom class
*/
className: PropTypes.Requireable<string>;
/**
* Render a custom logo
*/
logo: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* Specify the location of the logo file
*/
logoSrc: PropTypes.Requireable<string>;
/**
* Specify the max width of the contents inside the footer
*/
maxWidth: PropTypes.Requireable<string>;
/**
* Pass an array of right side navigation items with a pre-defined data structure.
*/
navItems: PropTypes.Requireable<(PropTypes.InferProps<{
type: PropTypes.Requireable<string>;
label: PropTypes.Requireable<string>;
linkProps: PropTypes.Requireable<object>;
buttonProps: PropTypes.Requireable<object>;
}> | null | undefined)[]>;
};
};
export default Footer;