beta-parity-react
Version:
Beta Parity React Components
145 lines (144 loc) • 4.55 kB
TypeScript
import React from 'react';
import './index.css';
import './variables.css';
import { BaseProps } from '../Base';
/**
* Props for the Accordion component.
*
* Extends properties from the `Base` component.
*/
export interface AccordionProps extends BaseProps {
/**
* The type of accordion. It can be either 'single' for a single open item at a time,
* or 'multiple' for allowing multiple items to be open at the same time.
*
* @default 'single'
* @memberof AccordionProps
*/
type?: 'single' | 'multiple';
/**
* The kind of accordion. It can be 'flush' for items without borders,
* or 'contained' for items with borders.
*
* @default 'contained'
* @memberof AccordionProps
*/
kind?: 'flush' | 'contained';
/**
* The icon used for the accordion trigger. It can be either 'chevron' or 'cross'.
*
* @default 'chevron'
* @memberof AccordionProps
*/
icon?: 'chevron' | 'cross';
/**
* The side where the icon will be displayed in the accordion trigger. It can be either 'left' or 'right'.
*
* @default 'right'
* @memberof AccordionProps
*/
iconSide?: 'left' | 'right';
/**
* The default value of the accordion. It can be a string or an array of strings.
* This defines which item(s) are open by default.
*
* @memberof AccordionProps
*/
defaultValue?: string | string[];
/**
* The controlled value of the accordion. It can be a string or an array of strings.
* This defines which item(s) are open and should be managed externally.
*
* @memberof AccordionProps
*/
value?: string | string[];
/**
* The callback function that is called when the value changes.
*
* @param {string | string[]} value - The new value of the accordion.
* @memberof AccordionProps
*/
onChange?: (value: string | string[]) => void;
/**
* The items to be rendered in the accordion. Each item contains a title, content,
* and optional additional properties.
*
* @memberof AccordionProps
*/
items?: {
title: React.ReactNode;
content: React.ReactNode;
value: string;
itemProps?: Omit<AccordionItemProps, 'value'> & React.HTMLAttributes<HTMLDivElement>;
}[];
}
/**
* **Parity Accordion**
*
* @see {@link https://beta-parity-react.vercel.app/accordion Parity Accordion}
*/
export declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
/**
* Props for the AccordionItem component.
*/
export interface AccordionItemProps {
/**
* The unique value for the accordion item, used to identify it.
*
* @memberof AccordionItemProps
*/
value: string;
/**
* Indicates whether the accordion item is disabled.
*
* @default false
* @memberof AccordionItemProps
*/
disabled?: boolean;
/**
* Clone props
*/
currentValue?: string | string[];
handleChange?: (value: string) => void;
type?: 'single' | 'multiple';
}
/**
* **Parity Accordion Item**
*
* @see {@link https://beta-parity-react.vercel.app/accordion Parity Accordion}
*/
export declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
/**
* Props for the AccordionItemTrigger component.
*/
export interface AccordionItemTriggerProps {
/**
* Clone props
*/
isExpanded?: boolean;
disabled?: boolean;
handleChange?: () => void;
icon?: 'chevron' | 'cross';
iconSide?: 'left' | 'right';
}
/**
* **Parity Accordion Item Trigger**
*
* @see {@link https://beta-parity-react.vercel.app/accordion Parity Accordion}
*/
export declare const AccordionItemTrigger: React.ForwardRefExoticComponent<AccordionItemTriggerProps & React.HTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
/**
* Props for the AccordionItemContent component.
*/
export interface AccordionItemContentProps {
/**
* Clone props
*/
isExpanded?: boolean;
}
/**
* **Parity Accordion Item Content**
* @see {@link https://beta-parity-react.vercel.app/accordion Parity Accordion}
*/
export declare const AccordionItemContent: React.ForwardRefExoticComponent<AccordionItemContentProps & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=index.d.ts.map