@neuctra/ui 0.1.0 → 0.2.1
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/README.md +96 -0
- package/dist/components/basic/Accordation.d.ts +4 -4
- package/dist/components/basic/AudioGallery.d.ts +23 -0
- package/dist/components/basic/Avatar.d.ts +30 -0
- package/dist/components/basic/Card.d.ts +70 -0
- package/dist/components/basic/CheckRadioInput.d.ts +7 -0
- package/dist/components/basic/Container.d.ts +25 -27
- package/dist/components/basic/DropDown.d.ts +31 -5
- package/dist/components/basic/Flexbox.d.ts +12 -16
- package/dist/components/basic/GridView.d.ts +12 -19
- package/dist/components/basic/Image.d.ts +1 -1
- package/dist/components/{gallery → basic}/ImageGallery.d.ts +8 -1
- package/dist/components/basic/Modal.d.ts +11 -0
- 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 +136 -0
- package/dist/components/basic/VideoPlayer.d.ts +22 -3
- package/dist/index.cjs.js +241 -40
- package/dist/index.d.ts +11 -8
- package/dist/index.es.js +6176 -1566
- package/dist/types/components/basic/Accordation.d.ts +4 -4
- package/dist/types/components/basic/AudioGallery.d.ts +23 -0
- package/dist/types/components/basic/Avatar.d.ts +30 -0
- package/dist/types/components/basic/Card.d.ts +70 -0
- package/dist/types/components/basic/CheckRadioInput.d.ts +7 -0
- package/dist/types/components/basic/Container.d.ts +25 -27
- package/dist/types/components/basic/DropDown.d.ts +31 -5
- package/dist/types/components/basic/Flexbox.d.ts +12 -16
- package/dist/types/components/basic/GridView.d.ts +12 -19
- package/dist/types/components/basic/Image.d.ts +1 -1
- package/dist/types/components/{gallery → basic}/ImageGallery.d.ts +8 -1
- package/dist/types/components/basic/Modal.d.ts +11 -0
- 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 +136 -0
- package/dist/types/components/basic/VideoPlayer.d.ts +22 -3
- package/dist/types/index.d.ts +11 -8
- package/dist/ui.css +1 -1
- package/package.json +1 -1
- package/dist/components/avatar/Avatar.d.ts +0 -9
- package/dist/components/button/ToggleButton.d.ts +0 -15
- package/dist/components/card/Card.d.ts +0 -26
- package/dist/components/card/ImageCard.d.ts +0 -14
- package/dist/components/card/InteractiveCard.d.ts +0 -7
- package/dist/components/gallery/AudioGallery.d.ts +0 -21
- package/dist/components/gallery/VideoGallery.d.ts +0 -18
- package/dist/components/modal/FullScreenModal.d.ts +0 -9
- package/dist/components/modal/Modal.d.ts +0 -11
- package/dist/components/modal/ModalBody.d.ts +0 -6
- package/dist/components/modal/ModalFooter.d.ts +0 -6
- package/dist/components/modal/ModalHeader.d.ts +0 -7
- package/dist/components/table/CustomTable.d.ts +0 -7
- package/dist/components/table/SortableTableHeader.d.ts +0 -7
- package/dist/components/table/TableBody.d.ts +0 -7
- package/dist/components/table/TableColumn.d.ts +0 -7
- package/dist/components/table/TableHead.d.ts +0 -7
- package/dist/components/table/TableHeader.d.ts +0 -7
- package/dist/components/table/TableRow.d.ts +0 -7
- package/dist/components/tabs/CustomTabs.d.ts +0 -8
- package/dist/components/tabs/Tab.d.ts +0 -10
- package/dist/components/tabs/TabList.d.ts +0 -7
- package/dist/components/tabs/TabPanel.d.ts +0 -7
- package/dist/components/tabs/TabPanels.d.ts +0 -8
- package/dist/components/video/CustomVideoPlayer.d.ts +0 -11
- package/dist/components/video/EmbedVideo.d.ts +0 -6
- package/dist/components/video/PiPVideo.d.ts +0 -4
- package/dist/types/components/avatar/Avatar.d.ts +0 -9
- package/dist/types/components/button/ToggleButton.d.ts +0 -15
- package/dist/types/components/card/Card.d.ts +0 -26
- package/dist/types/components/card/ImageCard.d.ts +0 -14
- package/dist/types/components/card/InteractiveCard.d.ts +0 -7
- package/dist/types/components/gallery/AudioGallery.d.ts +0 -21
- package/dist/types/components/gallery/VideoGallery.d.ts +0 -18
- package/dist/types/components/modal/FullScreenModal.d.ts +0 -9
- package/dist/types/components/modal/Modal.d.ts +0 -11
- package/dist/types/components/modal/ModalBody.d.ts +0 -6
- package/dist/types/components/modal/ModalFooter.d.ts +0 -6
- package/dist/types/components/modal/ModalHeader.d.ts +0 -7
- package/dist/types/components/table/CustomTable.d.ts +0 -7
- package/dist/types/components/table/SortableTableHeader.d.ts +0 -7
- package/dist/types/components/table/TableBody.d.ts +0 -7
- package/dist/types/components/table/TableColumn.d.ts +0 -7
- package/dist/types/components/table/TableHead.d.ts +0 -7
- package/dist/types/components/table/TableHeader.d.ts +0 -7
- package/dist/types/components/table/TableRow.d.ts +0 -7
- package/dist/types/components/tabs/CustomTabs.d.ts +0 -8
- package/dist/types/components/tabs/Tab.d.ts +0 -10
- package/dist/types/components/tabs/TabList.d.ts +0 -7
- package/dist/types/components/tabs/TabPanel.d.ts +0 -7
- package/dist/types/components/tabs/TabPanels.d.ts +0 -8
- package/dist/types/components/video/CustomVideoPlayer.d.ts +0 -11
- package/dist/types/components/video/EmbedVideo.d.ts +0 -6
- package/dist/types/components/video/PiPVideo.d.ts +0 -4
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import 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 {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface AudioTrack {
|
|
2
|
+
src: string;
|
|
3
|
+
title: string;
|
|
4
|
+
artist?: string;
|
|
5
|
+
thumbnail?: string;
|
|
6
|
+
duration?: string;
|
|
7
|
+
}
|
|
8
|
+
interface AudioGalleryProps {
|
|
9
|
+
tracks?: AudioTrack[];
|
|
10
|
+
className?: string;
|
|
11
|
+
galleryTitle?: string;
|
|
12
|
+
primaryColor?: string;
|
|
13
|
+
backgroundColor?: string;
|
|
14
|
+
textColor?: string;
|
|
15
|
+
secondaryColor?: string;
|
|
16
|
+
autoplay?: boolean;
|
|
17
|
+
borderColor?: string;
|
|
18
|
+
border?: number;
|
|
19
|
+
maxWidth?: number;
|
|
20
|
+
loop?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function AudioGallery({ tracks, className, galleryTitle, primaryColor, backgroundColor, textColor, secondaryColor, border, borderColor, maxWidth, autoplay, loop, }: AudioGalleryProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface AvatarProps {
|
|
3
|
+
src?: string;
|
|
4
|
+
alt?: string;
|
|
5
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
6
|
+
variant?: "circular" | "rounded" | "square";
|
|
7
|
+
isOnline?: boolean;
|
|
8
|
+
isOffline?: boolean;
|
|
9
|
+
className?: string;
|
|
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;
|
|
18
|
+
}
|
|
19
|
+
interface AvatarGroupProps {
|
|
20
|
+
avatars: AvatarProps[];
|
|
21
|
+
max?: number;
|
|
22
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
23
|
+
className?: string;
|
|
24
|
+
style?: React.CSSProperties;
|
|
25
|
+
spacing?: "tight" | "normal" | "loose";
|
|
26
|
+
direction?: "left" | "right";
|
|
27
|
+
}
|
|
28
|
+
export declare const Avatar: React.FC<AvatarProps>;
|
|
29
|
+
export declare const AvatarGroup: React.FC<AvatarGroupProps>;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode, ElementType, ComponentPropsWithoutRef, ForwardedRef, ReactElement } from "react";
|
|
2
|
+
type CardOwnProps = {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
background?: string;
|
|
6
|
+
backgroundImage?: string;
|
|
7
|
+
backgroundSize?: CSSProperties["backgroundSize"];
|
|
8
|
+
backgroundPosition?: CSSProperties["backgroundPosition"];
|
|
9
|
+
backgroundRepeat?: CSSProperties["backgroundRepeat"];
|
|
10
|
+
backgroundGradient?: string;
|
|
11
|
+
backgroundBlendMode?: CSSProperties["backgroundBlendMode"];
|
|
12
|
+
textColor?: string;
|
|
13
|
+
hoverStyles?: CSSProperties;
|
|
14
|
+
activeStyles?: CSSProperties;
|
|
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;
|
|
24
|
+
padding?: string | number;
|
|
25
|
+
paddingX?: string | number;
|
|
26
|
+
paddingY?: string | number;
|
|
27
|
+
margin?: string | number;
|
|
28
|
+
marginX?: string | number;
|
|
29
|
+
marginY?: string | number;
|
|
30
|
+
width?: string | number;
|
|
31
|
+
minWidth?: string | number;
|
|
32
|
+
maxWidth?: string | number;
|
|
33
|
+
height?: string | number;
|
|
34
|
+
minHeight?: string | number;
|
|
35
|
+
maxHeight?: string | number;
|
|
36
|
+
display?: CSSProperties["display"];
|
|
37
|
+
flexDirection?: CSSProperties["flexDirection"];
|
|
38
|
+
justifyContent?: CSSProperties["justifyContent"];
|
|
39
|
+
alignItems?: CSSProperties["alignItems"];
|
|
40
|
+
alignContent?: CSSProperties["alignContent"];
|
|
41
|
+
flexWrap?: CSSProperties["flexWrap"];
|
|
42
|
+
flex?: CSSProperties["flex"];
|
|
43
|
+
gap?: string | number;
|
|
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 };
|
|
@@ -15,6 +15,13 @@ interface CheckRadioProps {
|
|
|
15
15
|
error?: string;
|
|
16
16
|
className?: string;
|
|
17
17
|
customIcon?: (checked: boolean) => React.ReactNode;
|
|
18
|
+
style?: React.CSSProperties;
|
|
19
|
+
labelStyle?: React.CSSProperties;
|
|
20
|
+
iconSize?: number;
|
|
21
|
+
iconCheckedBgColor?: string;
|
|
22
|
+
iconUncheckedBorderColor?: string;
|
|
23
|
+
textColor?: string;
|
|
24
|
+
errorStyle?: React.CSSProperties;
|
|
18
25
|
}
|
|
19
26
|
export declare const CheckRadio: React.FC<CheckRadioProps>;
|
|
20
27
|
export {};
|
|
@@ -1,32 +1,30 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
md?: T;
|
|
5
|
-
lg?: T;
|
|
6
|
-
}
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
|
+
type ScreenSize = "sm" | "md" | "lg";
|
|
3
|
+
type ResponsiveProp<T> = T | Partial<Record<ScreenSize, T>>;
|
|
7
4
|
interface ContainerProps {
|
|
8
|
-
display?:
|
|
9
|
-
flexDirection?:
|
|
10
|
-
justifyContent?:
|
|
11
|
-
alignItems?:
|
|
12
|
-
gridTemplateColumns?:
|
|
13
|
-
gridTemplateRows?:
|
|
14
|
-
gap?:
|
|
15
|
-
rowGap?:
|
|
16
|
-
columnGap?:
|
|
17
|
-
width?:
|
|
18
|
-
maxWidth?:
|
|
19
|
-
height?:
|
|
20
|
-
padding?:
|
|
21
|
-
margin?:
|
|
22
|
-
textAlign?:
|
|
5
|
+
display?: ResponsiveProp<"block" | "flex" | "grid" | "inline-block">;
|
|
6
|
+
flexDirection?: ResponsiveProp<"row" | "column" | "row-reverse" | "column-reverse">;
|
|
7
|
+
justifyContent?: ResponsiveProp<"flex-start" | "center" | "flex-end" | "space-between" | "space-around" | "space-evenly">;
|
|
8
|
+
alignItems?: ResponsiveProp<"flex-start" | "center" | "flex-end" | "stretch" | "baseline">;
|
|
9
|
+
gridTemplateColumns?: ResponsiveProp<string>;
|
|
10
|
+
gridTemplateRows?: ResponsiveProp<string>;
|
|
11
|
+
gap?: ResponsiveProp<string>;
|
|
12
|
+
rowGap?: ResponsiveProp<string>;
|
|
13
|
+
columnGap?: ResponsiveProp<string>;
|
|
14
|
+
width?: ResponsiveProp<string>;
|
|
15
|
+
maxWidth?: ResponsiveProp<string>;
|
|
16
|
+
height?: ResponsiveProp<string>;
|
|
17
|
+
padding?: ResponsiveProp<string>;
|
|
18
|
+
margin?: ResponsiveProp<string>;
|
|
19
|
+
textAlign?: ResponsiveProp<"left" | "center" | "right">;
|
|
23
20
|
backgroundColor?: string;
|
|
24
|
-
border?:
|
|
25
|
-
borderRadius?:
|
|
26
|
-
boxShadow?:
|
|
27
|
-
overflow?:
|
|
21
|
+
border?: ResponsiveProp<string>;
|
|
22
|
+
borderRadius?: ResponsiveProp<string>;
|
|
23
|
+
boxShadow?: ResponsiveProp<string>;
|
|
24
|
+
overflow?: ResponsiveProp<"visible" | "hidden" | "scroll" | "auto">;
|
|
28
25
|
children: React.ReactNode;
|
|
29
26
|
className?: string;
|
|
27
|
+
style?: CSSProperties;
|
|
30
28
|
}
|
|
31
|
-
declare const Container: React.FC<ContainerProps>;
|
|
32
|
-
export
|
|
29
|
+
export declare const Container: React.FC<ContainerProps>;
|
|
30
|
+
export {};
|
|
@@ -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,21 +1,17 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
sm?: T;
|
|
4
|
-
md?: T;
|
|
5
|
-
lg?: T;
|
|
6
|
-
}
|
|
2
|
+
type ScreenSize = "sm" | "md" | "lg";
|
|
7
3
|
interface FlexboxProps {
|
|
8
|
-
direction?:
|
|
9
|
-
align?:
|
|
10
|
-
justify?:
|
|
11
|
-
gap?:
|
|
12
|
-
padding?:
|
|
4
|
+
direction?: "row" | "column" | Partial<Record<ScreenSize, "row" | "column">>;
|
|
5
|
+
align?: "flex-start" | "flex-end" | "center" | "stretch" | "baseline";
|
|
6
|
+
justify?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
|
|
7
|
+
gap?: number | string;
|
|
8
|
+
padding?: number | string;
|
|
13
9
|
backgroundColor?: string;
|
|
10
|
+
width?: string;
|
|
11
|
+
maxWidth?: string;
|
|
12
|
+
height?: string;
|
|
13
|
+
style?: React.CSSProperties;
|
|
14
14
|
children: React.ReactNode;
|
|
15
|
-
width?: ResponsiveProps<string>;
|
|
16
|
-
maxWidth?: ResponsiveProps<string>;
|
|
17
|
-
height?: ResponsiveProps<string>;
|
|
18
|
-
className?: string;
|
|
19
15
|
}
|
|
20
|
-
declare const Flexbox: React.FC<FlexboxProps>;
|
|
21
|
-
export
|
|
16
|
+
export declare const Flexbox: React.FC<FlexboxProps>;
|
|
17
|
+
export {};
|
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
sm?: T;
|
|
4
|
-
md?: T;
|
|
5
|
-
lg?: T;
|
|
6
|
-
}
|
|
2
|
+
type ScreenSize = "sm" | "md" | "lg";
|
|
7
3
|
interface GridViewProps {
|
|
8
|
-
columns?:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
padding?: ResponsiveProps<string>;
|
|
14
|
-
alignItems?: ResponsiveProps<"start" | "center" | "end" | "stretch">;
|
|
15
|
-
justifyItems?: ResponsiveProps<"start" | "center" | "end" | "stretch">;
|
|
4
|
+
columns?: number | Partial<Record<ScreenSize, number>>;
|
|
5
|
+
gap?: string;
|
|
6
|
+
padding?: string;
|
|
7
|
+
alignItems?: "start" | "center" | "end" | "stretch";
|
|
8
|
+
justifyItems?: "start" | "center" | "end" | "stretch";
|
|
16
9
|
backgroundColor?: string;
|
|
10
|
+
width?: string;
|
|
11
|
+
maxWidth?: string;
|
|
12
|
+
height?: string;
|
|
17
13
|
children: React.ReactNode;
|
|
18
|
-
|
|
19
|
-
width?: ResponsiveProps<string>;
|
|
20
|
-
maxWidth?: ResponsiveProps<string>;
|
|
21
|
-
height?: ResponsiveProps<string>;
|
|
14
|
+
style?: React.CSSProperties;
|
|
22
15
|
}
|
|
23
|
-
declare const GridView: React.FC<GridViewProps>;
|
|
24
|
-
export
|
|
16
|
+
export declare const GridView: React.FC<GridViewProps>;
|
|
17
|
+
export {};
|
|
@@ -27,7 +27,7 @@ interface ImageProps {
|
|
|
27
27
|
overflow?: "hidden" | "scroll" | "auto" | "visible" | "x" | "y";
|
|
28
28
|
className?: string;
|
|
29
29
|
style?: React.CSSProperties;
|
|
30
|
-
onClick?: () => void;
|
|
30
|
+
onClick?: (event: React.MouseEvent<HTMLDivElement | HTMLImageElement>) => void;
|
|
31
31
|
}
|
|
32
32
|
export declare const Image: React.FC<ImageProps>;
|
|
33
33
|
export {};
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import 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;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { ReactNode, CSSProperties } from "react";
|
|
2
|
+
interface ModalProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
overlayStyle?: CSSProperties;
|
|
7
|
+
modalStyle?: CSSProperties;
|
|
8
|
+
closeButtonStyle?: CSSProperties;
|
|
9
|
+
}
|
|
10
|
+
export declare const Modal: React.FC<ModalProps>;
|
|
11
|
+
export {};
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import 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 {};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface VideoData {
|
|
3
|
+
id: string;
|
|
4
|
+
src: string;
|
|
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;
|
|
30
|
+
}
|
|
31
|
+
interface ResponsiveConfig {
|
|
32
|
+
xs?: number;
|
|
33
|
+
sm?: number;
|
|
34
|
+
md?: number;
|
|
35
|
+
lg?: number;
|
|
36
|
+
xl?: number;
|
|
37
|
+
"2xl"?: number;
|
|
38
|
+
"3xl"?: number;
|
|
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";
|
|
70
|
+
interface VideoGalleryProps {
|
|
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;
|
|
86
|
+
autoPlay?: boolean;
|
|
87
|
+
autoPlayDelay?: number;
|
|
88
|
+
autoAdvance?: boolean;
|
|
89
|
+
autoAdvanceDelay?: number;
|
|
90
|
+
loop?: boolean;
|
|
91
|
+
muted?: boolean;
|
|
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;
|
|
130
|
+
className?: string;
|
|
131
|
+
containerClassName?: string;
|
|
132
|
+
videoItemClassName?: string;
|
|
133
|
+
controlsClassName?: string;
|
|
134
|
+
}
|
|
135
|
+
export declare const VideoGallery: React.FC<VideoGalleryProps>;
|
|
136
|
+
export default VideoGallery;
|
|
@@ -2,16 +2,35 @@ import 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
|
-
|
|
8
|
+
muted?: boolean;
|
|
8
9
|
width?: string;
|
|
9
10
|
height?: string;
|
|
10
11
|
borderRadius?: string;
|
|
11
|
-
|
|
12
|
+
theme?: 'dark' | 'light' | 'glass' | 'neon';
|
|
12
13
|
primaryColor?: string;
|
|
13
|
-
padding?: string;
|
|
14
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;
|
|
15
34
|
}
|
|
16
35
|
export declare const VideoPlayer: React.FC<VideoPlayerProps>;
|
|
17
36
|
export {};
|