UNPKG

pdh-design-system

Version:

PDH Design System React Components

785 lines (658 loc) 25.5 kB
import { AccordionBodyProps } from 'react-bootstrap'; import { AccordionProps as AccordionProps_2 } from 'react-bootstrap'; import { Alert } from 'react-bootstrap'; import { BadgeProps as BadgeProps_2 } from 'react-bootstrap'; import { BreadcrumbProps as BreadcrumbProps_2 } from 'react-bootstrap'; import { BsPrefixRefForwardingComponent } from 'react-bootstrap/esm/helpers'; import { ButtonGroup } from 'react-bootstrap'; import { ButtonProps as ButtonProps_2 } from 'react-bootstrap/Button'; import { ButtonToolbar } from 'react-bootstrap'; import { CardProps as CardProps_2 } from 'react-bootstrap'; import { CarouselProps as CarouselProps_2 } from 'react-bootstrap'; import { Col } from 'react-bootstrap'; import { Container } from 'react-bootstrap'; import { default as default_2 } from 'react'; import { Dropdown } from 'react-bootstrap'; import { DropdownButton } from 'react-bootstrap'; import { DropdownDivider } from 'react-bootstrap'; import { DropdownDividerProps } from 'react-bootstrap'; import { DropdownHeaderProps } from 'react-bootstrap'; import { DropdownItemProps } from 'react-bootstrap'; import { DropdownItemTextProps } from 'react-bootstrap'; import { Form } from 'react-bootstrap'; import { FormCheckProps } from 'react-bootstrap'; import { FormControl } from 'react-bootstrap'; import { FormControlProps } from 'react-bootstrap'; import { FormSelectProps } from 'react-bootstrap'; import { Image as Image_2 } from 'react-bootstrap'; import { InputGroup } from 'react-bootstrap'; import { ListGroupProps as ListGroupProps_2 } from 'react-bootstrap'; import { ModalProps as ModalProps_2 } from 'react-bootstrap'; import { Nav } from 'react-bootstrap'; import { NavbarProps as NavbarProps_2 } from 'react-bootstrap/Navbar'; import { NavDropdown } from 'react-bootstrap'; import { NavDropdownProps } from 'react-bootstrap'; import { NavLink } from 'react-bootstrap'; import { NavLinkProps } from 'react-bootstrap'; import { NavLinkProps as NavLinkProps_2 } from 'react-bootstrap/NavLink'; import { OffcanvasProps } from 'react-bootstrap'; import { OverlayTrigger } from 'react-bootstrap'; import { OverlayTriggerProps } from 'react-bootstrap'; import { Popover } from 'react-bootstrap'; import { ProgressBar } from 'react-bootstrap'; import { Row } from 'react-bootstrap'; import { Spinner } from 'react-bootstrap'; import { SpinnerProps } from 'react-bootstrap'; import { TableProps } from 'react-bootstrap'; import { TabsProps } from 'react-bootstrap'; import { ToastPosition } from 'react-bootstrap/ToastContainer'; import { ToastProps as ToastProps_2 } from 'react-bootstrap/Toast'; import { TooltipProps as TooltipProps_2 } from 'react-bootstrap'; export declare const Accordion: ({ options, ...props }: AccordionProps) => default_2.JSX.Element; export declare interface AccordionProps extends AccordionProps_2 { options: Array<{ id: string; title: default_2.ReactNode; component: default_2.ReactNode; bodyOptions?: AccordionBodyProps; }>; } export { Alert } export declare const Badge: ({ subtle, bg, children, badge, className, ...props }: BadgeProps) => default_2.JSX.Element; export declare interface BadgeProps extends BadgeProps_2 { badge?: string; subtle?: boolean; } export declare namespace bgs { let PRIMARY_1: string; { PRIMARY_1 as PRIMARY }; let SECONDARY_1: string; { SECONDARY_1 as SECONDARY }; let TERTIARY_1: string; { TERTIARY_1 as TERTIARY }; let SUCCESS_1: string; { SUCCESS_1 as SUCCESS }; let INFO_1: string; { INFO_1 as INFO }; let DANGER_1: string; { DANGER_1 as DANGER }; let WARNING_1: string; { WARNING_1 as WARNING }; let PURPLE_1: string; { PURPLE_1 as PURPLE }; let MUTED: string; } declare type bgs_2 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light'; declare type bgs_3 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light'; export declare const Breadcrumb: ({ data, onClick, ...props }: BreadcrumbProps) => default_2.JSX.Element; export declare interface BreadcrumbProps extends Omit<BreadcrumbProps_2, 'onClick'> { onClick?: (item: Crumb, e: default_2.MouseEvent<HTMLElement, MouseEvent>) => void; data: Crumb[]; } declare type Breakpoint = "sm" | "md" | "lg" | "xl" | "xxl"; export declare const Button: ({ children, className, iconName, opacity, variant, presentation, ...props }: ButtonProps) => default_2.JSX.Element; export { ButtonGroup } export declare interface ButtonProps extends ButtonProps_2 { iconName?: string; children?: any; size?: "sm" | undefined | "lg"; opacity?: undefined | "0" | "25" | "50" | "75" | "100"; disabled?: boolean; presentation?: "normal" | "outline" | "subtle"; } export { ButtonToolbar } export declare const Canvas: ({ title, children, ...props }: CanvasProps) => default_2.JSX.Element; export declare interface CanvasProps extends OffcanvasProps { title: string; } export declare const Card: (props: CardProps) => default_2.JSX.Element; export declare interface CardProps extends CardProps_2 { width?: number | string; header?: any; imagevariant?: 'top' | 'bottom' | undefined; image?: string; headerclasses?: string; footerclasses?: string; orientation?: 'horizontal' | 'vertical' | undefined; textBg?: bgs_2 | undefined; border?: bgs_2; title?: string; body?: any; children?: default_2.ReactNode; maxWidth?: number | string; footer?: any; tags?: { name: string; bg: bgs_2; }[]; buttons?: { name: string; iconName: string; variant: bgs_2; }[]; } export declare const Carousel: ({ data, maxHeight, minHeight, ...props }: CarouselProps) => default_2.JSX.Element; export declare interface CarouselProps extends CarouselProps_2 { data: Array<{ id: string; src: string; title: string; subTitle: string; }>; maxHeight?: number | string; minHeight?: number | string; } export declare let CheckboxGroup: default_2.FC<CheckboxGroupProps>; export declare interface CheckboxGroupProps { data: Array<{ id: string; name: string; disabled?: boolean; }>; name?: string; value: string[]; type: 'list' | 'inline' | 'stack'; onChange?: (values: string[], event: default_2.ChangeEvent<HTMLInputElement>) => void; inline?: boolean; flush?: boolean; } export { Col } export declare const colours: string[]; export declare const colourshades: string[]; export declare interface Column { title: string; dataIndex: string; render?: (value: any, row: any) => default_2.ReactNode; } export declare const Confirm: ({ title, children, onSave, onCancel, type, contentClassName, noBtnText, yesBtnText, ...props }: ConfirmProps) => default_2.JSX.Element; export declare interface ConfirmProps extends ModalProps_2 { title: string; children: default_2.ReactNode; show: boolean; centered: boolean; contentClassName: string; type: keyof typeof icons_2; noBtnText?: string; yesBtnText?: string; onSave?: () => void; onCancel?: () => void; } export { Container } export declare const CountryButton: ({ countryCode, badge, subtle, badgeVariant, buttonVariant, buttonPresentation, href, onClick }: CountryButtonProps) => default_2.JSX.Element; export declare interface CountryButtonProps { countryCode: string; badge: string; subtle?: boolean; badgeVariant?: string; buttonVariant?: string; buttonPresentation?: 'normal' | 'outline' | 'subtle'; href?: string; onClick?: () => void; } export declare type Crumb = { title: default_2.ReactNode; href?: string; }; export declare const Datacard: (props: DataCardProps) => default_2.JSX.Element; export declare interface DataCardProps extends Omit<CardProps_2, 'title'> { header?: any; image?: default_2.ReactNode; title?: default_2.ReactNode; href?: string; body?: any; children?: default_2.ReactNode; footer?: any; tags?: { name: string; bg: bgs_3; icon?: string; }[]; inlinetags?: { name: string; bg: bgs_3; icon?: string; }[]; sourcetags?: { name: string; bg: bgs_3; icon?: string; }[]; buttons?: any; variant?: 'basic' | 'flip' | 'slide'; imagevariant?: 'top' | 'bottom'; icons?: any; } export { Dropdown } export { DropdownButton } export declare const DropdownChecks: ({ data, groups, defaultText, multiple, value, toggleValue, onChange, maxHeight, disabled, variant, ...props }: DropdownsCheckProps) => default_2.JSX.Element; export { DropdownDivider } export declare const Dropdowns: ({ data, defaultText, value, toggleValue, onChange, maxHeight, variant, ...props }: DropdownsProps) => default_2.JSX.Element; export declare interface DropdownsCheckProps { data: Array<{ id: string; name: string; href?: string; disabled?: boolean; }>; groups?: { [key: string]: string[]; }; value?: string[]; defaultText?: string; onChange?: (value: string[], e: any) => void; maxHeight?: number | string; disabled?: boolean; variant?: string; toggleValue?: string; multiple?: boolean; } export declare interface DropdownsProps { data: Array<{ id: string; name: string; href?: string; disabled?: boolean; }>; value: string; defaultText: string; onChange: (value: string, event: any) => void; maxHeight: number | string; variant?: string; toggleValue?: string; } export declare const FlagIcon: ({ name, onClick, className }: IconProps) => default_2.JSX.Element; export declare const Flip: ({ children, orientation, className, ...props }: FlipProps) => default_2.JSX.Element; export declare interface FlipProps { children?: default_2.ReactNode; orientation?: 'horizontal' | 'vertical' | undefined; className?: string | undefined; } export declare const Footer: { ({ children, copyright }: FooterProps): default_2.JSX.Element; Heading: ({ title, children }: { title: string; children?: default_2.ReactNode; }) => default_2.JSX.Element; Link: ({ href, className, children, ...props }: NavLinkProps_2) => default_2.JSX.Element; }; export declare interface FooterProps { children?: default_2.ReactNode; copyright?: default_2.ReactNode; } export { Form } export { FormControl } export declare const gradients: string[]; export declare const Header: (props: HeaderProps) => default_2.JSX.Element; export declare interface HeaderProps { className?: string | undefined; Brand?: default_2.ReactElement | ((props: any) => default_2.JSX.Element | undefined | null) | undefined | null; PrimaryItems?: default_2.ReactElement[] | default_2.ReactElement | ((props: any) => default_2.JSX.Element | undefined | null) | undefined | null; SecondaryItems?: default_2.ReactElement[] | default_2.ReactElement | ((props: any) => default_2.JSX.Element | undefined | null) | undefined | null; SearchComponent?: default_2.ReactElement | ((props: any) => default_2.JSX.Element | undefined | null) | undefined | null; BannerComponent?: default_2.ReactElement | ((props: any) => default_2.JSX.Element | undefined | null) | undefined | null; breakpoint?: Breakpoint; alignNav?: "start" | "center" | "end"; } export declare const horizontals: (string | boolean)[]; export declare const Icon: ({ name, color, onClick, className }: IconProps) => default_2.JSX.Element; export declare interface IconProps { name: string; onClick?: () => void; color?: string; className?: string; } export declare const icons: { type: string; names: string[]; }[]; declare const icons_2: { confirm: default_2.JSX.Element; warning: default_2.JSX.Element; info: default_2.JSX.Element; error: default_2.JSX.Element; }; export { Image_2 as Image } export { InputGroup } export declare const IntroBanner: ({ children, title, ...props }: IntroBannerProps) => default_2.JSX.Element; export declare interface IntroBannerProps { children?: default_2.ReactNode; src?: string; title?: default_2.ReactNode; } export declare const ListGroup: ({ action, data, value, onChange, flush, ...props }: ListGroupProps) => default_2.JSX.Element; export declare interface ListGroupProps extends Omit<ListGroupProps_2, "onChange"> { data: { id: string; name: string; disabled?: boolean; }[]; value: string; action?: boolean; flush?: boolean; onChange?: (value: string, event: any) => void; } export declare const Loading: ({ className, open, background, variant, ...props }: LoadingProps) => false | default_2.JSX.Element; export declare interface LoadingProps extends SpinnerProps { open: boolean; background?: string; } export declare const Modal: ({ title, children, footer, show, onHide, onSave, onCancel, backdrop, ...props }: ModalProps) => default_2.JSX.Element; export declare interface ModalProps extends ModalProps_2 { title: any; children: any; footer: any; show: boolean; backdrop: boolean; onHide?: () => void; onSave?: () => void; onCancel?: () => void; } export { Nav } export declare const Navbar: { (props: NavbarProps): default_2.JSX.Element; Link: BsPrefixRefForwardingComponent<"a", NavLinkProps>; Dropdown: BsPrefixRefForwardingComponent<"div", NavDropdownProps> & { Item: BsPrefixRefForwardingComponent<"a", DropdownItemProps>; ItemText: BsPrefixRefForwardingComponent<"span", DropdownItemTextProps>; Divider: BsPrefixRefForwardingComponent<"hr", DropdownDividerProps>; Header: BsPrefixRefForwardingComponent<"div", DropdownHeaderProps>; }; Divider: BsPrefixRefForwardingComponent<"hr", DropdownDividerProps>; }; export declare interface NavbarProps extends NavbarProps_2 { Brand?: default_2.ReactElement | ((props: any) => default_2.JSX.Element | undefined | null) | undefined | null; Search?: default_2.ReactElement | ((props: any) => default_2.JSX.Element | undefined | null) | undefined | null; brandClassName?: string | undefined; navClassName?: string | undefined; toggleClassName?: string | undefined; alignNav?: "start" | "center" | "end"; } export { NavDropdown } export { NavLink } export { OverlayTrigger } export declare const Paginations: ({ count, pageSize, activeIndex, onChange, config, size, ...props }: PaginationsProps) => default_2.JSX.Element; export declare interface PaginationsProps { count?: number; pageSize?: number; activeIndex?: number; onChange?: (index: number) => void; config?: 3 | 5 | 7 | 9 | 11; size?: 'sm' | 'lg'; } export declare const Placeholders: ({ children, className, isMargin, ...props }: PlaceholdersProps) => default_2.JSX.Element; export declare interface PlaceholdersProps { children: default_2.ReactNode; className?: string; isMargin?: boolean; } export declare namespace placements { let AUTO_START: string; let AUTO: string; let AUTO_END: string; let TOP_START: string; let TOP: string; let TOP_END: string; let RIGHT_START: string; let RIGHT: string; let RIGHT_END: string; let BOTTOM_END: string; let BOTTOM: string; let BOTTOM_START: string; let LEFT_END: string; let LEFT: string; let LEFT_START: string; } export { Popover } export declare const Popovers: (props: PopoversProps) => default_2.JSX.Element; export declare interface PopoversProps extends Omit<OverlayTriggerProps, "overlay" | "onHide" | "children"> { children: default_2.ReactNode; title: default_2.ReactNode; component: default_2.ReactNode; containerClassName: string; backdrop: boolean; onHide?: () => void; } export { ProgressBar } export declare let RadioGroup: ({ data, value, onChange, name, inline, ...props }: RadioGroupProps) => default_2.JSX.Element; export declare interface RadioGroupProps extends Omit<FormCheckProps, "onChange"> { data: { id: string; name: string; disabled?: boolean; }[]; value: string; onChange?: (value: string, event: any) => void; } export { Row } export declare const Search: ({ value, onChange, onKeyDown, onSearch, className, inputClassName, buttonClassName, buttonStyle, searchOnReset, status, ...props }: SearchProps) => default_2.JSX.Element; export declare const SearchBar: ({ onSearch, ...props }: SearchBarProps) => default_2.JSX.Element; export declare interface SearchBarProps extends SearchProps { onSearch: (value: string) => void; } export declare interface SearchProps extends TextFieldProps { onSearch?: (value: string) => void; inputClassName?: string; buttonStyle?: "icon" | "text"; buttonClassName?: string; searchOnReset?: boolean; status?: "" | "loading" | "disabled"; } export declare const Select: ({ data, value, onChange, ...props }: SelectProps) => default_2.JSX.Element; export declare interface SelectProps extends Omit<FormSelectProps, 'onChange'> { data: { id: string | number; name: string | number; disabled?: boolean; }[]; value: string; onChange: (value: string, e: default_2.ChangeEvent<HTMLSelectElement>) => void; } export declare const SlickCarousel: ({ children, slidesToShow, slidesToScroll, autoplay, autoplaySpeed, dots, arrows, infinite, className, responsive, }: SlickCarouselProps) => default_2.JSX.Element; export declare interface SlickCarouselProps { children: default_2.ReactNode; slidesToShow?: number; slidesToScroll?: number; autoplay?: boolean; autoplaySpeed?: number; dots?: boolean; arrows?: boolean; infinite?: boolean; className?: string; responsive?: Array<{ breakpoint: number; settings: { slidesToShow: number; slidesToScroll: number; }; }>; } export declare const Slide: ({ children, className, ...props }: SlideProps) => default_2.JSX.Element; export declare interface SlideProps { children?: default_2.ReactNode; className?: string | undefined; } export declare const Space: ({ className, direction, size, align, wrap, style, ...props }: SpaceProps) => default_2.JSX.Element; declare interface SpaceProps { className?: string; direction?: 'horizontal' | 'vertical'; size?: string | 'sm' | 'lg'; align?: 'start' | 'end' | 'center' | 'baseline'; wrap?: boolean; style?: default_2.CSSProperties; } export { Spinner } export declare const Tables: ({ data: initData, columns, rowKey, value, onChange, ellipsis, className, maxHeight, theadClassName, pagination, PaginationsProps: initPaginationsProps, renderDataNotFound, variant, ...props }: TablesProps) => default_2.JSX.Element; export declare interface TablesProps extends Omit<TableProps, "onChange"> { data: Array<Object>; columns: Array<Column>; rowKey: string; value: string; onChange: (value: string, event: default_2.MouseEvent, rowData: Object) => void; ellipsis: boolean; className: string; maxHeight: string; theadClassName: string; pagination: boolean; PaginationsProps: PaginationsProps; renderDataNotFound: (className: string) => default_2.ReactNode; size?: 'sm' | 'lg'; } export declare interface TabProps extends TabsProps { tabs: any[]; vertical?: boolean; } export declare const Tabs: ({ tabs, vertical, ...props }: TabProps) => default_2.JSX.Element; export declare const TextField: ({ children, groupClassName, size, value, onChange, onKeyDown, ...props }: TextFieldProps) => default_2.JSX.Element; export declare interface TextFieldProps extends Omit<FormControlProps, "onChange"> { children?: any; groupClassName?: string; size?: "sm" | "lg" | undefined; value?: string; onChange?: (value: string, e: default_2.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void; onKeyDown?: (e: any) => void; } export declare interface ToastProps extends ToastProps_2 { header?: default_2.ReactNode; position?: ToastPosition; } export declare const Toasts: ({ header, position, delay, children, ...props }: ToastProps) => default_2.JSX.Element; declare type ToggleButtonCheckboxProps = { type: 'checkbox'; options: Array<{ [key: string]: string | JSX.Element; }>; value: Array<any>; onChange: (value: Array<any>) => void; name?: string; variant?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'link'; labelKey?: string; valueKey?: string; }; export declare const ToggleButtonGroup: ({ options, type, name, value, onChange, variant, labelKey, valueKey, ...props }: ToggleButtonGroupProps) => default_2.JSX.Element; export declare type ToggleButtonGroupProps = ToggleButtonRadioProps | ToggleButtonCheckboxProps; declare type ToggleButtonRadioProps = { type: 'radio'; options: Array<{ [key: string]: string | JSX.Element; }>; value: string; onChange: (value: string, event: any) => void; name?: string; variant?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'link'; labelKey?: string; valueKey?: string; }; export declare const Tooltip: ({ children, title, containerClassName, ...props }: TooltipProps) => default_2.JSX.Element; export declare interface TooltipProps extends TooltipProps_2 { containerClassName: string; } export declare const TreeView: ({ data, buttonVariant, ...props }: TreeViewProps) => default_2.JSX.Element; export declare interface TreeViewItemProps { id: string; title: JSX.Element | string; onClick?: (id: string) => void; toggleOnClick?: boolean; isOpenDefault?: boolean; children?: Array<TreeViewItemProps>; className?: string; buttonVariant?: string; buttonClassName?: string; iconNames?: [string, string]; } export declare interface TreeViewProps { className?: string; buttonVariant?: 'default' | 'right' | 'far-right'; data: Array<TreeViewItemProps>; } export declare const Typography: ({ className, bg, color, emphasis, align, transform, size, ellipsis, ...props }: TypographyProps) => default_2.JSX.Element; export declare const typographyAlign: { START: string; CENTER: string; END: string; }; export declare const typographyBg: { PRIMARY: string; SECONDARY: string; SUCCESS: string; DANGER: string; WARNING: string; INFO: string; LIGHT: string; DARK: string; BODY: string; WHITE: string; }; export declare const typographyColor: { PRIMARY: string; SECONDARY: string; SUCCESS: string; DANGER: string; WARNING: string; INFO: string; LIGHT: string; DARK: string; BODY: string; MUTED: string; WHITE: string; BLACK_50: string; WHITE_50: string; }; declare interface TypographyProps { className?: string; color?: keyof typeof typographyColor; emphasis?: boolean; bg?: keyof typeof typographyBg; align?: keyof typeof typographyAlign; transform?: keyof typeof typographyTransform; size?: keyof typeof typographySize; ellipsis?: boolean; } export declare const typographySize: { FS_1: string; FS_2: string; FS_3: string; FS_4: string; FS_5: string; FS_6: string; }; export declare const typographyTransform: { LOWERCASE: string; UPPERCASE: string; CAPITALIZE: string; }; export declare namespace variants { let PRIMARY: string; let SECONDARY: string; let TERTIARY: string; let INFO: string; let SUCCESS: string; let DANGER: string; let WARNING: string; let PURPLE: string; let DARK: string; let LIGHT: string; let LINK: string; } export declare namespace variantsOutline { let OUTLINE_PRIMARY: string; let OUTLINE_SECONDARY: string; let OUTLINE_TERTIARY: string; let OUTLINE_INFO: string; let OUTLINE_SUCCESS: string; let OUTLINE_DANGER: string; let OUTLINE_WARNING: string; let OUTLINE_PURPLE: string; let OUTLINE_DARK: string; let OUTLINE_LIGHT: string; } export declare namespace variantsSubtle { let SUBTLE_PRIMARY: string; let SUBTLE_SECONDARY: string; let SUBTLE_SUCCESS: string; let SUBTLE_INFO: string; let SUBTLE_WARNING: string; let SUBTLE_DANGER: string; let SUBTLE_TERTIARY: string; let SUBTLE_MUTED: string; } export { }