@spark-ui/components
Version:
Spark (Leboncoin design system) components.
86 lines (78 loc) • 3.06 kB
text/typescript
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as accordion from '@zag-js/accordion';
import { ComponentPropsWithoutRef, Ref, ComponentProps } from 'react';
type ExtentedZagInterface = Omit<accordion.Props, 'id' | 'ids' | 'orientation' | 'getRootNode' | 'onValueChange'> & Omit<ComponentPropsWithoutRef<'div'>, 'defaultChecked'>;
interface AccordionProps extends ExtentedZagInterface {
/**
* Change the default rendered element for the one passed as a child, merging their props and behavior.
*/
asChild?: boolean;
/**
* Whether an accordion item can be closed after it has been expanded.
*/
collapsible?: boolean;
defaultValue?: accordion.Props['value'];
/**
* Whether the accordion items are disabled
*/
disabled?: boolean;
/**
* Whether multiple accordion items can be expanded at the same time.
*/
multiple?: boolean;
/**
* The `value` of the accordion items that are currently being expanded.
*/
value?: string[];
/**
* The callback fired when the state of expanded/collapsed accordion items changes.
*/
onValueChange?: (value: string[]) => void;
design?: 'filled' | 'outlined';
ref?: Ref<HTMLDivElement>;
}
declare const Accordion$1: {
({ asChild, children, collapsible, className, defaultValue, design, disabled, multiple, value, onValueChange, ref, ...props }: AccordionProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
interface AccordionItemProps extends ComponentPropsWithoutRef<'div'> {
value: string;
asChild?: boolean;
disabled?: boolean;
ref?: Ref<HTMLDivElement>;
}
declare const Item: {
({ asChild, className, children, disabled, value, ref, ...props }: AccordionItemProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
interface AccordionItemContentProps extends ComponentPropsWithoutRef<'div'> {
asChild?: boolean;
ref?: Ref<HTMLDivElement>;
}
declare const ItemContent: {
({ asChild, className, children, ref, ...props }: AccordionItemContentProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
interface AccordionItemHeaderProps extends ComponentProps<'h3'> {
asChild?: boolean;
ref?: Ref<HTMLHeadingElement>;
}
declare const ItemHeader: {
({ asChild, children, className, ref, }: AccordionItemHeaderProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
interface AccordionItemTriggerProps extends ComponentPropsWithoutRef<'button'> {
asChild?: boolean;
ref?: Ref<HTMLButtonElement>;
}
declare const ItemTrigger: {
({ asChild, children, className, ref, ...props }: AccordionItemTriggerProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
declare const Accordion: typeof Accordion$1 & {
Item: typeof Item;
ItemHeader: typeof ItemHeader;
ItemTrigger: typeof ItemTrigger;
ItemContent: typeof ItemContent;
};
export { Accordion, type AccordionItemContentProps, type AccordionItemHeaderProps, type AccordionItemTriggerProps, type AccordionProps };