import { AriaRole, HTMLProps, ReactNode } from 'react';
export type LoaderVariant = "small" | "medium" | "large";
export interface LoaderProps {
variant?: LoaderVariant;
textDescription: string;
className?: string;
dataTestAutoId?: string;
role?: AriaRole;
inline?: boolean;
/**
* Antall millisekunder komponenten vil vente før den rendrer
* @default 0
*/
delay?: number;
}
export interface SkeletonAnimationProps extends Pick, "style"> {
className?: string;
children: ReactNode;
/** @default "Vennligst vent" */
textDescription?: string;
role?: AriaRole;
/**
* Antall millisekunder komponenten vil vente før den rendrer
* @default 0
*/
delay?: number;
}
export interface SkeletonElementProps extends Pick, "style"> {
className?: string;
shape?: "rect" | "circle";
width: number | string;
height: number | string;
}
export interface SkeletonButtonProps extends Omit {
}
export interface SkeletonLabelProps extends Omit {
className?: string;
}
export interface SkeletonCheckboxGroupProps {
className?: string;
checkboxes: number;
labelProps?: SkeletonLabelProps;
inputProps?: SkeletonElementProps;
}
export interface SkeletonInputProps {
className?: string;
labelProps?: SkeletonLabelProps;
inputProps?: SkeletonElementProps;
}
export interface SkeletonRadioButtonGroupProps {
className?: string;
labelProps?: SkeletonLabelProps;
inputProps?: SkeletonElementProps;
radioButtons: number;
}
export interface SkeletonTableProps extends Pick, "style"> {
className?: string;
children: ReactNode;
width?: number | string;
}
export interface SkeletonTableHeaderProps {
className?: string;
children: ReactNode;
}
export interface SkeletonTableRowProps {
className?: string;
children: ReactNode;
}
export interface SkeletonTextAreaProps {
className?: string;
labelProps?: SkeletonLabelProps;
inputProps?: SkeletonElementProps;
}