@furystack/shades-common-components
Version:
Common UI components for FuryStack Shades
62 lines • 1.77 kB
TypeScript
export type ImageProps = {
/**
* The image source URL
*/
src: string;
/**
* Alt text for the image
*/
alt?: string;
/**
* Width of the image
*/
width?: string;
/**
* Height of the image
*/
height?: string;
/**
* Object-fit CSS property for the image
*/
objectFit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
/**
* Fallback content to display when the image fails to load
*/
fallback?: JSX.Element | string;
/**
* Whether clicking the image opens a preview lightbox
*/
preview?: boolean;
/**
* Whether to use lazy loading (loading="lazy")
*/
lazy?: boolean;
/**
* Optional style overrides
*/
style?: Partial<CSSStyleDeclaration>;
};
export type ImageGroupProps = {
/**
* Gap between images
*/
gap?: string;
};
/**
* Image component with preview lightbox, zoom/rotate, fallback, and lazy loading support.
*/
export declare const Image: (props: ImageProps & Omit<Partial<HTMLElement>, "style"> & {
style?: Partial<CSSStyleDeclaration>;
} & {
ref?: import("@furystack/shades").RefObject<Element>;
}, children?: import("@furystack/shades").ChildrenList) => JSX.Element;
/**
* ImageGroup wraps multiple Image components and enables group preview navigation.
* When one image is clicked, the lightbox shows navigation controls to browse all images in the group.
*/
export declare const ImageGroup: (props: ImageGroupProps & Omit<Partial<HTMLElement>, "style"> & {
style?: Partial<CSSStyleDeclaration>;
} & {
ref?: import("@furystack/shades").RefObject<Element>;
}, children?: import("@furystack/shades").ChildrenList) => JSX.Element;
//# sourceMappingURL=image.d.ts.map