sevago-library 1.4.7 → 1.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/index.cjs.js +80 -80
- package/dist/index.esm.js +8039 -7542
- package/dist/src/components/elements/image/image-gallery/elements/image-gallery-main.element.d.ts +3 -0
- package/dist/src/components/elements/image/image-gallery/elements/image-gallery-navigation-button.element.d.ts +3 -0
- package/dist/src/components/elements/image/image-gallery/elements/image-gallery-thumbnail-list.element.d.ts +3 -0
- package/dist/src/components/elements/image/image-gallery/elements/image-gallery-viewer.element.d.ts +3 -0
- package/dist/src/components/elements/image/image-gallery/image-gallery.argtypes.d.ts +3 -0
- package/dist/src/components/elements/image/image-gallery/image-gallery.constant.d.ts +5 -0
- package/dist/src/components/elements/image/image-gallery/image-gallery.element.d.ts +3 -0
- package/dist/src/components/elements/image/image-gallery/image-gallery.element.stories.d.ts +9 -0
- package/dist/src/components/elements/image/image-gallery/image-gallery.interface.d.ts +110 -0
- package/dist/src/components/elements/image/image-gallery/image-gallery.util.d.ts +8 -0
- package/dist/src/components/elements/image/image-gallery/index.d.ts +2 -0
- package/dist/src/components/elements/image/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SxProps, Theme } from '@mui/material';
|
|
2
|
+
import { ImageGalleryLabels } from './image-gallery.interface';
|
|
3
|
+
export declare const IMAGE_GALLERY_DEFAULT_LABELS: ImageGalleryLabels;
|
|
4
|
+
export declare const IMAGE_GALLERY_NAVIGATION_BUTTON_SX: SxProps<Theme>;
|
|
5
|
+
export declare const IMAGE_GALLERY_COUNTER_SX: SxProps<Theme>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { ImageGalleryElement } from './image-gallery.element';
|
|
3
|
+
declare const meta: Meta<typeof ImageGalleryElement>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof ImageGalleryElement>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const SingleImage: Story;
|
|
8
|
+
export declare const CustomLayout: Story;
|
|
9
|
+
export declare const Empty: Story;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { BoxProps, SxProps, Theme } from '@mui/material';
|
|
2
|
+
import { CSSProperties, ReactNode, SyntheticEvent } from 'react';
|
|
3
|
+
export interface ImageGalleryItemObject {
|
|
4
|
+
id?: string;
|
|
5
|
+
src: string;
|
|
6
|
+
thumbnailSrc?: string;
|
|
7
|
+
alt?: string;
|
|
8
|
+
title?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export type ImageGalleryItem = string | ImageGalleryItemObject;
|
|
11
|
+
export interface NormalizedImageGalleryItem {
|
|
12
|
+
id: string;
|
|
13
|
+
src: string;
|
|
14
|
+
thumbnailSrc: string;
|
|
15
|
+
alt: string;
|
|
16
|
+
title?: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export interface ImageGalleryLabels {
|
|
19
|
+
image: (index: number) => string;
|
|
20
|
+
selectImage: (index: number) => string;
|
|
21
|
+
previous: string;
|
|
22
|
+
next: string;
|
|
23
|
+
close: string;
|
|
24
|
+
counter: (current: number, total: number) => string;
|
|
25
|
+
}
|
|
26
|
+
export interface ImageGalleryElementProps extends BoxProps {
|
|
27
|
+
images: ImageGalleryItem[];
|
|
28
|
+
activeIndex?: number;
|
|
29
|
+
initialIndex?: number;
|
|
30
|
+
mainAspectRatio?: string | number;
|
|
31
|
+
objectFit?: CSSProperties['objectFit'];
|
|
32
|
+
thumbnailObjectFit?: CSSProperties['objectFit'];
|
|
33
|
+
thumbnailSize?: number | string;
|
|
34
|
+
showThumbnails?: boolean;
|
|
35
|
+
showPreviewNavigation?: boolean;
|
|
36
|
+
showViewerCounter?: boolean;
|
|
37
|
+
openOnMainClick?: boolean;
|
|
38
|
+
loop?: boolean;
|
|
39
|
+
fallbackSrc?: string;
|
|
40
|
+
activeColor?: string;
|
|
41
|
+
borderRadius?: string;
|
|
42
|
+
emptyContent?: ReactNode;
|
|
43
|
+
labels?: Partial<ImageGalleryLabels>;
|
|
44
|
+
mainSx?: SxProps<Theme>;
|
|
45
|
+
mainImageSx?: SxProps<Theme>;
|
|
46
|
+
thumbnailListSx?: SxProps<Theme>;
|
|
47
|
+
thumbnailSx?: SxProps<Theme>;
|
|
48
|
+
viewerPaperSx?: SxProps<Theme>;
|
|
49
|
+
viewerImageSx?: SxProps<Theme>;
|
|
50
|
+
onActiveIndexChange?: (index: number, image: NormalizedImageGalleryItem) => void;
|
|
51
|
+
onOpenViewer?: (index: number, image: NormalizedImageGalleryItem) => void;
|
|
52
|
+
onCloseViewer?: () => void;
|
|
53
|
+
}
|
|
54
|
+
export interface ImageGalleryNavigationButtonProps {
|
|
55
|
+
icon: string;
|
|
56
|
+
label: string;
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
sx?: SxProps<Theme>;
|
|
59
|
+
onClick: () => void;
|
|
60
|
+
}
|
|
61
|
+
export interface ImageGalleryImageErrorOptions {
|
|
62
|
+
fallbackSrc?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface ImageGalleryMainElementProps {
|
|
65
|
+
selectedImage: NormalizedImageGalleryItem;
|
|
66
|
+
hasMultipleImages: boolean;
|
|
67
|
+
showPreviewNavigation: boolean;
|
|
68
|
+
openOnMainClick: boolean;
|
|
69
|
+
mainAspectRatio: string | number;
|
|
70
|
+
objectFit: CSSProperties['objectFit'];
|
|
71
|
+
activeColor: string;
|
|
72
|
+
canGoPrevious: boolean;
|
|
73
|
+
canGoNext: boolean;
|
|
74
|
+
labels: ImageGalleryLabels;
|
|
75
|
+
mainSx?: SxProps<Theme>;
|
|
76
|
+
mainImageSx?: SxProps<Theme>;
|
|
77
|
+
onImageError: (event: SyntheticEvent<HTMLImageElement>) => void;
|
|
78
|
+
onOpenViewer: () => void;
|
|
79
|
+
onPrevious: () => void;
|
|
80
|
+
onNext: () => void;
|
|
81
|
+
}
|
|
82
|
+
export interface ImageGalleryThumbnailListElementProps {
|
|
83
|
+
images: NormalizedImageGalleryItem[];
|
|
84
|
+
selectedIndex: number;
|
|
85
|
+
thumbnailSize: number | string;
|
|
86
|
+
thumbnailObjectFit: CSSProperties['objectFit'];
|
|
87
|
+
activeColor: string;
|
|
88
|
+
labels: ImageGalleryLabels;
|
|
89
|
+
thumbnailListSx?: SxProps<Theme>;
|
|
90
|
+
thumbnailSx?: SxProps<Theme>;
|
|
91
|
+
onSelectIndex: (index: number) => void;
|
|
92
|
+
onImageError: (event: SyntheticEvent<HTMLImageElement>) => void;
|
|
93
|
+
}
|
|
94
|
+
export interface ImageGalleryViewerElementProps {
|
|
95
|
+
open: boolean;
|
|
96
|
+
selectedImage: NormalizedImageGalleryItem;
|
|
97
|
+
selectedIndex: number;
|
|
98
|
+
imageCount: number;
|
|
99
|
+
hasMultipleImages: boolean;
|
|
100
|
+
showViewerCounter: boolean;
|
|
101
|
+
canGoPrevious: boolean;
|
|
102
|
+
canGoNext: boolean;
|
|
103
|
+
labels: ImageGalleryLabels;
|
|
104
|
+
viewerPaperSx?: SxProps<Theme>;
|
|
105
|
+
viewerImageSx?: SxProps<Theme>;
|
|
106
|
+
onImageError: (event: SyntheticEvent<HTMLImageElement>) => void;
|
|
107
|
+
onClose: () => void;
|
|
108
|
+
onPrevious: () => void;
|
|
109
|
+
onNext: () => void;
|
|
110
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SxProps, Theme } from '@mui/material';
|
|
2
|
+
import { ImageGalleryItem, ImageGalleryLabels, NormalizedImageGalleryItem } from './image-gallery.interface';
|
|
3
|
+
export declare const mergeImageGallerySx: (...sxList: Array<SxProps<Theme> | undefined>) => SxProps<Theme>;
|
|
4
|
+
export declare const mergeImageGalleryLabels: (labels?: Partial<ImageGalleryLabels>) => ImageGalleryLabels;
|
|
5
|
+
export declare const normalizeImageGalleryItem: (image: ImageGalleryItem, index: number, labels: ImageGalleryLabels) => NormalizedImageGalleryItem;
|
|
6
|
+
export declare const clampImageGalleryIndex: (index: number | undefined, length: number) => number;
|
|
7
|
+
export declare const getImageGalleryNavigationIndex: (selectedIndex: number, direction: -1 | 1, imageCount: number, loop: boolean) => number;
|
|
8
|
+
export declare const toImageGalleryCssSize: (value: number | string) => string;
|