import type { ComponentProps, ImgHTMLAttributes, ReactElement, ReactNode } from 'react';
import type { Link as RouterLink } from 'react-router';
export interface AccordionProps {
title?: ReactNode;
icon?: ReactNode | string;
defaultOpen?: boolean;
children?: ReactNode;
}
export interface AccordionGroupProps {
children?: ReactNode;
defaultOpen?: boolean;
}
export declare function Accordion(props: AccordionProps): ReactElement;
export declare function AccordionGroup(props: AccordionGroupProps): ReactElement | null;
export type BadgeColor =
| 'gray'
| 'blue'
| 'green'
| 'yellow'
| 'orange'
| 'red'
| 'purple'
| 'white'
| 'surface'
| 'white-destructive'
| 'surface-destructive';
export type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
export type BadgeShape = 'rounded' | 'pill';
export interface BadgeProps {
color?: BadgeColor;
size?: BadgeSize;
shape?: BadgeShape;
icon?: ReactNode;
stroke?: boolean;
disabled?: boolean;
className?: string;
/** @deprecated Use `color` instead. */
tone?: 'muted' | 'primary';
children?: ReactNode;
}
export declare function Badge(props: BadgeProps): ReactElement;
export interface ButtonProps {
href?: string;
variant?: 'default' | 'outline' | 'secondary' | 'ghost' | 'destructive' | 'link';
size?: 'default' | 'xs' | 'sm' | 'lg';
icon?: ReactNode | string;
className?: string;
children?: ReactNode;
}
export declare function Button(props: ButtonProps): ReactElement;
export type CalloutVariant = 'note' | 'tip' | 'warning' | 'info' | 'check' | 'danger';
export interface CalloutProps {
title?: ReactNode;
icon?: ReactNode | string;
children?: ReactNode;
variant?: CalloutVariant;
}
export interface ChildrenProps {
children?: ReactNode;
}
export declare function Callout(props: CalloutProps): ReactElement;
export declare function Note(props: ChildrenProps): ReactElement;
export declare function Tip(props: ChildrenProps): ReactElement;
export declare function Warning(props: ChildrenProps): ReactElement;
export declare function Info(props: ChildrenProps): ReactElement;
export declare function Check(props: ChildrenProps): ReactElement;
export declare function Danger(props: ChildrenProps): ReactElement;
export declare function WarningBanner(props: ChildrenProps): ReactElement;
export type CardType = 'note' | 'info' | 'warning' | 'tip' | 'check' | 'danger';
export interface CardProps {
title?: ReactNode;
href?: string;
icon?: ReactNode | string;
color?: string;
img?: string;
cta?: string;
horizontal?: boolean;
arrow?: boolean;
type?: CardType;
children?: ReactNode;
}
export interface CardGroupProps {
children?: ReactNode;
cols?: 1 | 2 | 3 | 4;
}
export declare function Card(props: CardProps): ReactElement;
export declare function CardGroup(props: CardGroupProps): ReactElement;
export interface CodeGroupProps {
children?: ReactNode;
}
export declare function CodeGroup(props: CodeGroupProps): ReactElement | null;
export interface ColumnsProps {
children?: ReactNode;
cols?: 1 | 2 | 3 | 4;
}
export interface ColumnProps {
children?: ReactNode;
}
export declare function Columns(props: ColumnsProps): ReactElement;
export declare function Column(props: ColumnProps): ReactElement;
export interface ExpandableProps {
title: ReactNode;
children?: ReactNode;
defaultOpen?: boolean;
}
export declare function Expandable(props: ExpandableProps): ReactElement;
export interface FrameProps {
caption?: ReactNode;
hint?: ReactNode;
children?: ReactNode;
}
export declare function Frame(props: FrameProps): ReactElement;
export interface IconProps {
icon?: string;
src?: string;
color?: string;
size?: number;
className?: string;
}
export declare function Icon(props: IconProps): ReactElement | null;
export declare function Param(props: ChildrenProps): ReactElement;
export interface PropertiesTableProps {
children?: ReactNode;
}
export declare function PropertiesTable(props: PropertiesTableProps): ReactElement | null;
type FieldValue = string | number | boolean | null | undefined;
export interface PropertiesTableRowProps {
name: string;
type?: FieldValue;
default?: FieldValue;
required?: boolean;
deprecated?: boolean;
details?: ReactNode;
children?: ReactNode;
}
export declare namespace PropertiesTable {
function Row(props: PropertiesTableRowProps): ReactElement;
}
export interface StepProps {
title?: ReactNode;
children?: ReactNode;
}
export interface StepsProps {
children?: ReactNode;
}
export declare function Step(props: StepProps): ReactElement;
export declare function Steps(props: StepsProps): ReactElement | null;
export interface TabProps {
title?: ReactNode;
children?: ReactNode;
}
export interface TabsProps {
children?: ReactNode;
group?: string;
}
export declare function Tab(props: TabProps): ReactElement;
export declare function Tabs(props: TabsProps): ReactElement | null;
export interface TooltipProps {
tip?: ReactNode;
children?: ReactNode;
}
export declare function Tooltip(props: TooltipProps): ReactElement;
export interface UpdateRss {
title?: string;
description?: string;
}
export interface UpdateProps {
label: string;
description?: ReactNode;
tags?: string[];
rss?: UpdateRss;
children?: ReactNode;
}
export declare function Update(props: UpdateProps): ReactElement;
export interface ChangelogProps {
children?: ReactNode;
}
export declare function Changelog(props: ChangelogProps): ReactElement;
export type MermaidPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
export interface MermaidProps {
chart?: string;
title?: ReactNode;
actions?: boolean;
placement?: MermaidPlacement;
children?: ReactNode;
}
export declare function Mermaid(props: MermaidProps): ReactElement;
export interface PanelProps {
children?: ReactNode;
}
export declare function Panel(props: PanelProps): ReactElement;
export interface TileProps {
href: string;
title?: ReactNode;
description?: ReactNode;
children: ReactNode;
target?: '_self' | '_blank';
}
export interface TilesProps {
children?: ReactNode;
cols?: 1 | 2 | 3 | 4;
}
export declare function Tile(props: TileProps): ReactElement;
export declare function Tiles(props: TilesProps): ReactElement;
export interface TreeFolderProps {
name: string;
defaultOpen?: boolean;
openable?: boolean;
highlight?: boolean;
children?: ReactNode;
}
export interface TreeFileProps {
name: string;
highlight?: boolean;
}
export interface TreeProps {
children?: ReactNode;
style?: React.CSSProperties;
className?: string;
}
export declare function Tree(props: TreeProps): ReactElement;
export declare function FileTree(props: TreeProps): ReactElement;
export declare function TreeFolder(props: TreeFolderProps): ReactElement;
export declare function TreeFile(props: TreeFileProps): ReactElement;
export interface ZoomableImageProps extends ImgHTMLAttributes {
noZoom?: boolean;
}
export declare function ZoomableImage(props: ZoomableImageProps): ReactElement;
/** Client-side navigation link bound to Shiso's router. */
export type LinkProps = ComponentProps;
export declare function Link(props: LinkProps): ReactElement;