@teamsnap/teamsnap-ui
Version:
a CSS component library for TeamSnap
68 lines (67 loc) • 2.91 kB
TypeScript
/**
* @name Nav
*
* @description
* A component for rendering a vertical, usually left-aligned, navigation.
* This component offers a collapsable width.
*
* Please see the Storybook example for a more robust way of how we recommend using the Nav component.
*
* <Nav>
* <Nav.Item onClick={() => alert("Home clicked!")}>Home</Nav.Item>
* <Nav.Item link="https://www.teamsnap.com" linkProps={{target: "_blank"}}>External Link</Nav.Item>
* </Nav>
*/
import * as React from 'react';
import * as PropTypes from 'prop-types';
declare const navPropTypes: {
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
className: PropTypes.Requireable<string>;
mods: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
testId: PropTypes.Requireable<string>;
otherProps: PropTypes.Requireable<object>;
headerItem: PropTypes.Requireable<PropTypes.InferProps<{
title: PropTypes.Requireable<string>;
subtitle: PropTypes.Requireable<string>;
image: PropTypes.Requireable<string>;
useBadge: PropTypes.Requireable<boolean>;
}>>;
flyoutSections: PropTypes.Requireable<PropTypes.InferProps<{
heading: PropTypes.Requireable<string>;
tree: PropTypes.Requireable<PropTypes.InferProps<{
title: PropTypes.Validator<string>;
image: PropTypes.Requireable<string>;
useBadge: PropTypes.Requireable<boolean>;
wrapItem: PropTypes.Requireable<(...args: any[]) => any>;
tree: PropTypes.Requireable<PropTypes.InferProps<{
title: PropTypes.Validator<string>;
image: PropTypes.Requireable<string>;
useBadge: PropTypes.Requireable<boolean>;
wrapItem: PropTypes.Requireable<(...args: any[]) => any>;
tree: PropTypes.Requireable<PropTypes.InferProps<{
title: PropTypes.Validator<string>;
image: PropTypes.Requireable<string>;
useBadge: PropTypes.Requireable<boolean>;
wrapItem: PropTypes.Requireable<(...args: any[]) => any>;
}>[]>;
}>[]>;
}>[]>;
}>[]>;
includeOverlay: PropTypes.Requireable<boolean>;
openItems: PropTypes.Requireable<boolean>;
};
declare const itemPropTypes: {
icon: PropTypes.Requireable<string>;
iconModifiers: PropTypes.Requireable<string>;
isActive: PropTypes.Requireable<boolean>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
wrapItem: PropTypes.Requireable<(...args: any[]) => any>;
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
};
declare type NavType = React.FunctionComponent<PropTypes.InferProps<typeof navPropTypes>>;
declare type ItemType = React.FunctionComponent<PropTypes.InferProps<typeof itemPropTypes>>;
declare const Nav: NavType & {
Item: ItemType;
};
export default Nav;