@neuctra/ui 0.2.0 → 0.2.2
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/dist/components/basic/Accordation.d.ts +4 -4
- package/dist/components/basic/AudioGallery.d.ts +8 -3
- package/dist/components/basic/Avatar.d.ts +13 -3
- package/dist/components/basic/Card.d.ts +54 -9
- package/dist/components/basic/DropDown.d.ts +31 -5
- package/dist/components/basic/ImageGallery.d.ts +8 -1
- package/dist/components/basic/Table.d.ts +35 -1
- package/dist/components/basic/Tabs.d.ts +13 -0
- package/dist/components/basic/VideoGallery.d.ts +124 -13
- package/dist/components/basic/VideoPlayer.d.ts +21 -3
- package/dist/index.cjs.js +188 -42
- package/dist/index.d.ts +2 -3
- package/dist/index.es.js +3784 -2377
- package/dist/types/components/basic/Accordation.d.ts +4 -4
- package/dist/types/components/basic/AudioGallery.d.ts +8 -3
- package/dist/types/components/basic/Avatar.d.ts +13 -3
- package/dist/types/components/basic/Card.d.ts +54 -9
- package/dist/types/components/basic/DropDown.d.ts +31 -5
- package/dist/types/components/basic/ImageGallery.d.ts +8 -1
- package/dist/types/components/basic/Table.d.ts +35 -1
- package/dist/types/components/basic/Tabs.d.ts +13 -0
- package/dist/types/components/basic/VideoGallery.d.ts +124 -13
- package/dist/types/components/basic/VideoPlayer.d.ts +21 -3
- package/dist/types/index.d.ts +2 -3
- package/dist/ui.css +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
interface
|
|
2
|
+
interface AccordationItem {
|
|
3
3
|
title: string;
|
|
4
4
|
content: React.ReactNode;
|
|
5
5
|
}
|
|
6
|
-
interface
|
|
7
|
-
items:
|
|
6
|
+
interface AccordationProps {
|
|
7
|
+
items: AccordationItem[];
|
|
8
8
|
allowMultiple?: boolean;
|
|
9
9
|
defaultOpenIndex?: number[];
|
|
10
10
|
borderColor?: string;
|
|
@@ -31,5 +31,5 @@ interface AccordionProps {
|
|
|
31
31
|
className?: string;
|
|
32
32
|
style?: React.CSSProperties;
|
|
33
33
|
}
|
|
34
|
-
export declare const
|
|
34
|
+
export declare const Accordation: React.FC<AccordationProps>;
|
|
35
35
|
export {};
|
|
@@ -1,18 +1,23 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
1
|
interface AudioTrack {
|
|
3
2
|
src: string;
|
|
4
3
|
title: string;
|
|
4
|
+
artist?: string;
|
|
5
5
|
thumbnail?: string;
|
|
6
|
+
duration?: string;
|
|
6
7
|
}
|
|
7
8
|
interface AudioGalleryProps {
|
|
8
|
-
tracks
|
|
9
|
+
tracks?: AudioTrack[];
|
|
9
10
|
className?: string;
|
|
11
|
+
galleryTitle?: string;
|
|
10
12
|
primaryColor?: string;
|
|
11
13
|
backgroundColor?: string;
|
|
12
14
|
textColor?: string;
|
|
13
15
|
secondaryColor?: string;
|
|
14
16
|
autoplay?: boolean;
|
|
17
|
+
borderColor?: string;
|
|
18
|
+
border?: number;
|
|
19
|
+
maxWidth?: number;
|
|
15
20
|
loop?: boolean;
|
|
16
21
|
}
|
|
17
|
-
export declare
|
|
22
|
+
export declare function AudioGallery({ tracks, className, galleryTitle, primaryColor, backgroundColor, textColor, secondaryColor, border, borderColor, maxWidth, autoplay, loop, }: AudioGalleryProps): import("react/jsx-runtime").JSX.Element;
|
|
18
23
|
export {};
|
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
interface AvatarProps {
|
|
3
|
-
src
|
|
3
|
+
src?: string;
|
|
4
4
|
alt?: string;
|
|
5
|
-
size?: "
|
|
5
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
6
|
+
variant?: "circular" | "rounded" | "square";
|
|
6
7
|
isOnline?: boolean;
|
|
7
8
|
isOffline?: boolean;
|
|
8
9
|
className?: string;
|
|
9
10
|
style?: React.CSSProperties;
|
|
11
|
+
statusClassName?: string;
|
|
12
|
+
statusStyle?: React.CSSProperties;
|
|
13
|
+
statusPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
14
|
+
fallback?: string;
|
|
15
|
+
ring?: boolean;
|
|
16
|
+
ringColor?: string;
|
|
17
|
+
onClick?: () => void;
|
|
10
18
|
}
|
|
11
19
|
interface AvatarGroupProps {
|
|
12
20
|
avatars: AvatarProps[];
|
|
13
21
|
max?: number;
|
|
14
|
-
size?: "
|
|
22
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
15
23
|
className?: string;
|
|
16
24
|
style?: React.CSSProperties;
|
|
25
|
+
spacing?: "tight" | "normal" | "loose";
|
|
26
|
+
direction?: "left" | "right";
|
|
17
27
|
}
|
|
18
28
|
export declare const Avatar: React.FC<AvatarProps>;
|
|
19
29
|
export declare const AvatarGroup: React.FC<AvatarGroupProps>;
|
|
@@ -1,25 +1,70 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
children?:
|
|
1
|
+
import { CSSProperties, ReactNode, ElementType, ComponentPropsWithoutRef, ForwardedRef, ReactElement } from 'react';
|
|
2
|
+
type CardOwnProps = {
|
|
3
|
+
children?: ReactNode;
|
|
4
4
|
className?: string;
|
|
5
|
-
style?: CSSProperties;
|
|
6
5
|
background?: string;
|
|
7
6
|
backgroundImage?: string;
|
|
8
7
|
backgroundSize?: CSSProperties["backgroundSize"];
|
|
9
8
|
backgroundPosition?: CSSProperties["backgroundPosition"];
|
|
10
9
|
backgroundRepeat?: CSSProperties["backgroundRepeat"];
|
|
10
|
+
backgroundGradient?: string;
|
|
11
|
+
backgroundBlendMode?: CSSProperties["backgroundBlendMode"];
|
|
11
12
|
textColor?: string;
|
|
13
|
+
hoverStyles?: CSSProperties;
|
|
14
|
+
activeStyles?: CSSProperties;
|
|
12
15
|
borderRadius?: string | number;
|
|
16
|
+
border?: string;
|
|
17
|
+
borderTop?: string;
|
|
18
|
+
borderRight?: string;
|
|
19
|
+
borderBottom?: string;
|
|
20
|
+
borderLeft?: string;
|
|
21
|
+
boxShadow?: string;
|
|
22
|
+
hoverShadow?: string;
|
|
23
|
+
transition?: string;
|
|
13
24
|
padding?: string | number;
|
|
25
|
+
paddingX?: string | number;
|
|
26
|
+
paddingY?: string | number;
|
|
14
27
|
margin?: string | number;
|
|
28
|
+
marginX?: string | number;
|
|
29
|
+
marginY?: string | number;
|
|
30
|
+
width?: string | number;
|
|
31
|
+
minWidth?: string | number;
|
|
15
32
|
maxWidth?: string | number;
|
|
16
|
-
|
|
17
|
-
|
|
33
|
+
height?: string | number;
|
|
34
|
+
minHeight?: string | number;
|
|
35
|
+
maxHeight?: string | number;
|
|
18
36
|
display?: CSSProperties["display"];
|
|
19
37
|
flexDirection?: CSSProperties["flexDirection"];
|
|
20
38
|
justifyContent?: CSSProperties["justifyContent"];
|
|
21
39
|
alignItems?: CSSProperties["alignItems"];
|
|
40
|
+
alignContent?: CSSProperties["alignContent"];
|
|
41
|
+
flexWrap?: CSSProperties["flexWrap"];
|
|
42
|
+
flex?: CSSProperties["flex"];
|
|
22
43
|
gap?: string | number;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
44
|
+
position?: CSSProperties["position"];
|
|
45
|
+
top?: string | number;
|
|
46
|
+
right?: string | number;
|
|
47
|
+
bottom?: string | number;
|
|
48
|
+
left?: string | number;
|
|
49
|
+
zIndex?: number;
|
|
50
|
+
overflow?: CSSProperties["overflow"];
|
|
51
|
+
overflowX?: CSSProperties["overflowX"];
|
|
52
|
+
overflowY?: CSSProperties["overflowY"];
|
|
53
|
+
cursor?: CSSProperties["cursor"];
|
|
54
|
+
pointerEvents?: CSSProperties["pointerEvents"];
|
|
55
|
+
userSelect?: CSSProperties["userSelect"];
|
|
56
|
+
transform?: CSSProperties["transform"];
|
|
57
|
+
transformOrigin?: CSSProperties["transformOrigin"];
|
|
58
|
+
backdropFilter?: CSSProperties["backdropFilter"];
|
|
59
|
+
filter?: CSSProperties["filter"];
|
|
60
|
+
opacity?: number;
|
|
61
|
+
visibility?: CSSProperties["visibility"];
|
|
62
|
+
as?: ElementType;
|
|
63
|
+
};
|
|
64
|
+
type CardProps<T extends ElementType = "div"> = CardOwnProps & Omit<ComponentPropsWithoutRef<T>, keyof CardOwnProps>;
|
|
65
|
+
declare const Card: (<T extends ElementType = "div">(props: CardProps<T> & {
|
|
66
|
+
ref?: ForwardedRef<HTMLDivElement>;
|
|
67
|
+
}) => ReactElement) & {
|
|
68
|
+
displayName: string;
|
|
69
|
+
};
|
|
70
|
+
export { Card };
|
|
@@ -3,6 +3,7 @@ interface Option {
|
|
|
3
3
|
label: string;
|
|
4
4
|
value: string;
|
|
5
5
|
icon?: React.ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
6
7
|
}
|
|
7
8
|
interface DropdownProps {
|
|
8
9
|
options: Option[];
|
|
@@ -11,27 +12,52 @@ interface DropdownProps {
|
|
|
11
12
|
onChange?: (value: string) => void;
|
|
12
13
|
placeholder?: string;
|
|
13
14
|
disabled?: boolean;
|
|
15
|
+
searchable?: boolean;
|
|
16
|
+
multiSelect?: boolean;
|
|
17
|
+
clearable?: boolean;
|
|
18
|
+
virtualized?: boolean;
|
|
19
|
+
optionHeight?: number;
|
|
20
|
+
visibleOptions?: number;
|
|
21
|
+
width?: string;
|
|
22
|
+
height?: string;
|
|
14
23
|
borderColor?: string;
|
|
24
|
+
focusBorderColor?: string;
|
|
25
|
+
errorBorderColor?: string;
|
|
15
26
|
backgroundColor?: string;
|
|
16
27
|
textColor?: string;
|
|
28
|
+
placeholderColor?: string;
|
|
17
29
|
hoverColor?: string;
|
|
30
|
+
selectedColor?: string;
|
|
31
|
+
disabledColor?: string;
|
|
18
32
|
padding?: string;
|
|
19
33
|
margin?: string;
|
|
20
|
-
dropdownWidth?: string;
|
|
21
|
-
dropdownHeight?: string;
|
|
22
34
|
borderRadius?: string;
|
|
23
35
|
boxShadow?: string;
|
|
24
36
|
optionPadding?: string;
|
|
25
37
|
optionGap?: string;
|
|
26
38
|
transitionDuration?: string;
|
|
39
|
+
dropdownMaxHeight?: string;
|
|
40
|
+
dropdownMinWidth?: string;
|
|
27
41
|
className?: string;
|
|
28
|
-
dropdownStyle?: React.CSSProperties;
|
|
29
42
|
dropdownClassName?: string;
|
|
30
|
-
optionStyle?: React.CSSProperties;
|
|
31
43
|
optionClassName?: string;
|
|
44
|
+
inputClassName?: string;
|
|
45
|
+
style?: React.CSSProperties;
|
|
46
|
+
dropdownStyle?: React.CSSProperties;
|
|
47
|
+
optionStyle?: React.CSSProperties;
|
|
48
|
+
inputStyle?: React.CSSProperties;
|
|
32
49
|
iconPrefix?: React.ReactNode;
|
|
33
50
|
iconSuffix?: React.ReactNode;
|
|
34
|
-
|
|
51
|
+
clearIcon?: React.ReactNode;
|
|
52
|
+
dropdownIcon?: React.ReactNode;
|
|
53
|
+
checkIcon?: React.ReactNode;
|
|
54
|
+
ariaLabel?: string;
|
|
55
|
+
ariaLabelledby?: string;
|
|
56
|
+
ariaDescribedby?: string;
|
|
57
|
+
onFocus?: () => void;
|
|
58
|
+
onBlur?: () => void;
|
|
59
|
+
onOpen?: () => void;
|
|
60
|
+
onClose?: () => void;
|
|
35
61
|
}
|
|
36
62
|
export declare const Dropdown: React.FC<DropdownProps>;
|
|
37
63
|
export {};
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
interface BreakpointColumns {
|
|
3
|
+
sm?: number;
|
|
4
|
+
md?: number;
|
|
5
|
+
lg?: number;
|
|
6
|
+
xl?: number;
|
|
7
|
+
default?: number;
|
|
8
|
+
}
|
|
2
9
|
interface ImageGalleryProps {
|
|
3
10
|
images: {
|
|
4
11
|
src: string;
|
|
5
12
|
alt?: string;
|
|
6
13
|
}[];
|
|
7
|
-
columns?: number;
|
|
14
|
+
columns?: number | BreakpointColumns;
|
|
8
15
|
gap?: string;
|
|
9
16
|
layout?: "grid" | "masonry";
|
|
10
17
|
lightbox?: boolean;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
2
|
interface Column {
|
|
3
3
|
key: string;
|
|
4
4
|
label: string;
|
|
5
5
|
sortable?: boolean;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
width?: string | number;
|
|
8
|
+
align?: "left" | "center" | "right";
|
|
9
|
+
headerClassName?: string;
|
|
10
|
+
cellClassName?: string;
|
|
11
|
+
render?: (value: any, row: Record<string, any>) => ReactNode;
|
|
6
12
|
}
|
|
7
13
|
interface TableProps {
|
|
8
14
|
columns: Column[];
|
|
@@ -19,7 +25,35 @@ interface TableProps {
|
|
|
19
25
|
hoverBg?: string;
|
|
20
26
|
paginationBg?: string;
|
|
21
27
|
paginationText?: string;
|
|
28
|
+
evenRowBg?: string;
|
|
29
|
+
selectedRowBg?: string;
|
|
22
30
|
};
|
|
31
|
+
borderRadius?: {
|
|
32
|
+
table?: string;
|
|
33
|
+
header?: string;
|
|
34
|
+
pagination?: string;
|
|
35
|
+
};
|
|
36
|
+
sortable?: boolean;
|
|
37
|
+
defaultSort?: {
|
|
38
|
+
column: string;
|
|
39
|
+
direction: "asc" | "desc";
|
|
40
|
+
};
|
|
41
|
+
bodyAlign?: "left" | "center" | "right";
|
|
42
|
+
headerAlign?: "left" | "center" | "right";
|
|
43
|
+
rowSelection?: {
|
|
44
|
+
enabled?: boolean;
|
|
45
|
+
onSelect?: (selectedRows: Record<string, any>[]) => void;
|
|
46
|
+
selectionColumnWidth?: string;
|
|
47
|
+
selectionColumnHeader?: ReactNode;
|
|
48
|
+
};
|
|
49
|
+
emptyState?: ReactNode;
|
|
50
|
+
onRowClick?: (row: Record<string, any>, index: number) => void;
|
|
51
|
+
rowClassName?: (row: Record<string, any>, index: number) => string;
|
|
52
|
+
cellPadding?: string;
|
|
53
|
+
headerCellPadding?: string;
|
|
54
|
+
stickyHeader?: boolean;
|
|
55
|
+
maxHeight?: string;
|
|
56
|
+
scrollShadow?: boolean;
|
|
23
57
|
}
|
|
24
58
|
export declare const Table: React.FC<TableProps>;
|
|
25
59
|
export {};
|
|
@@ -3,6 +3,8 @@ interface TabItem {
|
|
|
3
3
|
label: React.ReactNode;
|
|
4
4
|
content: React.ReactNode;
|
|
5
5
|
icon?: React.ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
ariaLabel?: string;
|
|
6
8
|
}
|
|
7
9
|
interface TabsBaseProps {
|
|
8
10
|
tabs: TabItem[];
|
|
@@ -25,10 +27,21 @@ interface TabsBaseProps {
|
|
|
25
27
|
textColor?: string;
|
|
26
28
|
backgroundColor?: string;
|
|
27
29
|
hoverTextColor?: string;
|
|
30
|
+
disabledColor?: string;
|
|
28
31
|
responsiveBreakpoint?: number;
|
|
29
32
|
showDrawerLabel?: string;
|
|
33
|
+
drawerIcon?: React.ReactNode;
|
|
34
|
+
transitionDuration?: number;
|
|
35
|
+
onTabChange?: (index: number) => void;
|
|
36
|
+
role?: string;
|
|
37
|
+
ariaOrientation?: "horizontal" | "vertical";
|
|
30
38
|
}
|
|
31
39
|
export declare const LeftTabs: React.FC<TabsBaseProps>;
|
|
32
40
|
export declare const TopTabs: React.FC<TabsBaseProps>;
|
|
33
41
|
export declare const RightTabs: React.FC<TabsBaseProps>;
|
|
42
|
+
export declare const Tabs: {
|
|
43
|
+
Left: React.FC<TabsBaseProps>;
|
|
44
|
+
Top: React.FC<TabsBaseProps>;
|
|
45
|
+
Right: React.FC<TabsBaseProps>;
|
|
46
|
+
};
|
|
34
47
|
export {};
|
|
@@ -1,25 +1,136 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
interface
|
|
2
|
+
interface VideoData {
|
|
3
|
+
id: string;
|
|
3
4
|
src: string;
|
|
4
5
|
poster?: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
duration?: number;
|
|
9
|
+
author?: string;
|
|
10
|
+
publishDate?: string;
|
|
11
|
+
tags?: string[];
|
|
12
|
+
views?: number;
|
|
13
|
+
likes?: number;
|
|
14
|
+
category?: string;
|
|
15
|
+
thumbnail?: string;
|
|
16
|
+
quality?: "auto" | "720p" | "1080p" | "4k";
|
|
17
|
+
subtitles?: {
|
|
18
|
+
src: string;
|
|
19
|
+
label: string;
|
|
20
|
+
language: string;
|
|
21
|
+
}[];
|
|
22
|
+
chapters?: {
|
|
23
|
+
time: number;
|
|
24
|
+
title: string;
|
|
25
|
+
}[];
|
|
26
|
+
resolution?: string;
|
|
27
|
+
frameRate?: number;
|
|
28
|
+
license?: string;
|
|
29
|
+
location?: string;
|
|
5
30
|
}
|
|
6
|
-
interface
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
31
|
+
interface ResponsiveConfig {
|
|
32
|
+
xs?: number;
|
|
33
|
+
sm?: number;
|
|
34
|
+
md?: number;
|
|
35
|
+
lg?: number;
|
|
36
|
+
xl?: number;
|
|
37
|
+
"2xl"?: number;
|
|
38
|
+
"3xl"?: number;
|
|
10
39
|
}
|
|
40
|
+
interface ThemeConfig {
|
|
41
|
+
primary?: string;
|
|
42
|
+
secondary?: string;
|
|
43
|
+
accent?: string;
|
|
44
|
+
background?: string;
|
|
45
|
+
surface?: string;
|
|
46
|
+
text?: string;
|
|
47
|
+
textSecondary?: string;
|
|
48
|
+
textTertiary?: string;
|
|
49
|
+
border?: string;
|
|
50
|
+
shadow?: string;
|
|
51
|
+
hoverShadow?: string;
|
|
52
|
+
gradient?: string;
|
|
53
|
+
borderRadius?: string;
|
|
54
|
+
borderRadiusSmall?: string;
|
|
55
|
+
borderRadiusLarge?: string;
|
|
56
|
+
transitionSpeed?: string;
|
|
57
|
+
transitionEasing?: string;
|
|
58
|
+
fontFamily?: string;
|
|
59
|
+
fontSizeBase?: string;
|
|
60
|
+
fontWeightNormal?: string;
|
|
61
|
+
fontWeightBold?: string;
|
|
62
|
+
spacingUnit?: string;
|
|
63
|
+
backdropBlur?: string;
|
|
64
|
+
overlayOpacity?: string;
|
|
65
|
+
}
|
|
66
|
+
type LayoutType = "grid" | "masonry" | "carousel" | "list" | "mosaic" | "compact" | "highlight";
|
|
67
|
+
type AspectRatio = "16:9" | "4:3" | "1:1" | "3:2" | "21:9" | "auto" | "9:16" | "custom";
|
|
68
|
+
type AnimationType = "fade" | "slide" | "zoom" | "flip" | "none" | "slide-up" | "slide-down";
|
|
69
|
+
type SortOption = "date" | "title" | "views" | "likes" | "duration" | "random" | "trending";
|
|
11
70
|
interface VideoGalleryProps {
|
|
12
|
-
videos:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
gap?: string;
|
|
16
|
-
|
|
17
|
-
|
|
71
|
+
videos: VideoData[];
|
|
72
|
+
layout?: LayoutType;
|
|
73
|
+
columns?: ResponsiveConfig;
|
|
74
|
+
gap?: string | ResponsiveConfig;
|
|
75
|
+
aspectRatio?: AspectRatio;
|
|
76
|
+
theme?: ThemeConfig;
|
|
77
|
+
showThumbnails?: boolean;
|
|
78
|
+
showMetadata?: boolean;
|
|
79
|
+
metadataPosition?: "below" | "overlay" | "hover";
|
|
80
|
+
showControls?: boolean;
|
|
81
|
+
controlsPosition?: "bottom" | "top" | "sides" | "floating";
|
|
82
|
+
showProgress?: boolean;
|
|
83
|
+
showVolume?: boolean;
|
|
84
|
+
showQualityOptions?: boolean;
|
|
85
|
+
showSpeedOptions?: boolean;
|
|
18
86
|
autoPlay?: boolean;
|
|
87
|
+
autoPlayDelay?: number;
|
|
88
|
+
autoAdvance?: boolean;
|
|
89
|
+
autoAdvanceDelay?: number;
|
|
19
90
|
loop?: boolean;
|
|
20
91
|
muted?: boolean;
|
|
21
|
-
|
|
92
|
+
preload?: "none" | "metadata" | "auto";
|
|
93
|
+
lazyLoading?: boolean;
|
|
94
|
+
infiniteScroll?: boolean;
|
|
95
|
+
loadMoreThreshold?: number;
|
|
96
|
+
lightbox?: boolean;
|
|
97
|
+
lightboxAnimation?: AnimationType;
|
|
98
|
+
lightboxTransitionSpeed?: number;
|
|
99
|
+
keyboard?: boolean;
|
|
100
|
+
swipeGestures?: boolean;
|
|
101
|
+
title?: string;
|
|
102
|
+
description?: string;
|
|
103
|
+
ariaLabel?: string;
|
|
104
|
+
structured?: boolean;
|
|
105
|
+
search?: boolean;
|
|
106
|
+
searchPlaceholder?: string;
|
|
107
|
+
filter?: boolean;
|
|
108
|
+
sort?: boolean;
|
|
109
|
+
sortOptions?: SortOption[];
|
|
110
|
+
playlist?: boolean;
|
|
111
|
+
fullscreen?: boolean;
|
|
112
|
+
pictureInPicture?: boolean;
|
|
113
|
+
sharing?: boolean;
|
|
114
|
+
download?: boolean;
|
|
115
|
+
favorites?: boolean;
|
|
116
|
+
customLoader?: React.ReactNode;
|
|
117
|
+
customEmptyState?: React.ReactNode;
|
|
118
|
+
customErrorState?: React.ReactNode;
|
|
119
|
+
onVideoClick?: (video: VideoData, index: number) => void;
|
|
120
|
+
onVideoEnd?: (video: VideoData, index: number) => void;
|
|
121
|
+
onVideoPlay?: (video: VideoData, index: number) => void;
|
|
122
|
+
onVideoPause?: (video: VideoData, index: number) => void;
|
|
123
|
+
onVideoLike?: (video: VideoData, liked: boolean) => void;
|
|
124
|
+
onVideoShare?: (video: VideoData) => void;
|
|
125
|
+
onVideoDownload?: (video: VideoData) => void;
|
|
126
|
+
onLayoutChange?: (layout: LayoutType) => void;
|
|
127
|
+
onSearch?: (query: string) => void;
|
|
128
|
+
onFilter?: (category: string) => void;
|
|
129
|
+
onSort?: (sortBy: SortOption) => void;
|
|
22
130
|
className?: string;
|
|
131
|
+
containerClassName?: string;
|
|
132
|
+
videoItemClassName?: string;
|
|
133
|
+
controlsClassName?: string;
|
|
23
134
|
}
|
|
24
135
|
export declare const VideoGallery: React.FC<VideoGalleryProps>;
|
|
25
|
-
export
|
|
136
|
+
export default VideoGallery;
|
|
@@ -2,17 +2,35 @@ import { default as React } from 'react';
|
|
|
2
2
|
interface VideoPlayerProps {
|
|
3
3
|
src: string;
|
|
4
4
|
poster?: string;
|
|
5
|
+
title?: string;
|
|
5
6
|
autoPlay?: boolean;
|
|
6
7
|
loop?: boolean;
|
|
7
|
-
controls?: boolean;
|
|
8
8
|
muted?: boolean;
|
|
9
9
|
width?: string;
|
|
10
10
|
height?: string;
|
|
11
11
|
borderRadius?: string;
|
|
12
|
-
|
|
12
|
+
theme?: 'dark' | 'light' | 'glass' | 'neon';
|
|
13
13
|
primaryColor?: string;
|
|
14
|
-
padding?: string;
|
|
15
14
|
className?: string;
|
|
15
|
+
showProgress?: boolean;
|
|
16
|
+
showVolumeSlider?: boolean;
|
|
17
|
+
showSettings?: boolean;
|
|
18
|
+
showDownload?: boolean;
|
|
19
|
+
showShare?: boolean;
|
|
20
|
+
showPiP?: boolean;
|
|
21
|
+
showSubtitles?: boolean;
|
|
22
|
+
showPlaybackSpeed?: boolean;
|
|
23
|
+
showQuality?: boolean;
|
|
24
|
+
previewThumbnails?: boolean;
|
|
25
|
+
customControls?: boolean;
|
|
26
|
+
hideControlsDelay?: number;
|
|
27
|
+
seekStep?: number;
|
|
28
|
+
volumeStep?: number;
|
|
29
|
+
onPlay?: () => void;
|
|
30
|
+
onPause?: () => void;
|
|
31
|
+
onEnded?: () => void;
|
|
32
|
+
onTimeUpdate?: (time: number) => void;
|
|
33
|
+
onVolumeChange?: (volume: number) => void;
|
|
16
34
|
}
|
|
17
35
|
export declare const VideoPlayer: React.FC<VideoPlayerProps>;
|
|
18
36
|
export {};
|