prizmux 1.1.4 → 1.2.0
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/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +31 -39
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.types.d.ts +9 -4
- package/dist/components/Button/Button.types.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts +4 -0
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -0
- package/dist/components/EmptyState/EmptyState.js +37 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.types.d.ts +8 -0
- package/dist/components/EmptyState/EmptyState.types.d.ts.map +1 -0
- package/dist/components/EmptyState/EmptyState.types.js +3 -0
- package/dist/components/EmptyState/EmptyState.types.js.map +1 -0
- package/dist/components/EmptyState/index.d.ts +3 -0
- package/dist/components/EmptyState/index.d.ts.map +1 -0
- package/dist/components/EmptyState/index.js +6 -0
- package/dist/components/EmptyState/index.js.map +1 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.d.ts +4 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.d.ts.map +1 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.js +91 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.js.map +1 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.types.d.ts +15 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.types.d.ts.map +1 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.types.js +3 -0
- package/dist/components/HeaderWithBack/HeaderWithBack.types.js.map +1 -0
- package/dist/components/HeaderWithBack/index.d.ts +3 -0
- package/dist/components/HeaderWithBack/index.d.ts.map +1 -0
- package/dist/components/HeaderWithBack/index.js +6 -0
- package/dist/components/HeaderWithBack/index.js.map +1 -0
- package/dist/components/ImagePreview/ImagePreview.d.ts +5 -0
- package/dist/components/ImagePreview/ImagePreview.d.ts.map +1 -0
- package/dist/components/ImagePreview/ImagePreview.js +183 -0
- package/dist/components/ImagePreview/ImagePreview.js.map +1 -0
- package/dist/components/ImagePreview/ImagePreview.types.d.ts +12 -0
- package/dist/components/ImagePreview/ImagePreview.types.d.ts.map +1 -0
- package/dist/components/ImagePreview/ImagePreview.types.js +3 -0
- package/dist/components/ImagePreview/ImagePreview.types.js.map +1 -0
- package/dist/components/ImagePreview/index.d.ts +3 -0
- package/dist/components/ImagePreview/index.d.ts.map +1 -0
- package/dist/components/ImagePreview/index.js +10 -0
- package/dist/components/ImagePreview/index.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA2ClD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2GxC,CAAC"}
|
|
@@ -2,46 +2,40 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Button = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const colors_1 = require("../../theme/colors");
|
|
6
5
|
const react_native_1 = require("react-native");
|
|
7
|
-
// Button Configuration - All styles defined here for maintainability
|
|
8
6
|
const BUTTON_CONFIG = {
|
|
9
7
|
colors: {
|
|
10
|
-
primary:
|
|
8
|
+
primary: '#6366F1',
|
|
11
9
|
primaryDisabled: '#9CA3AF',
|
|
12
|
-
outlineBorder:
|
|
10
|
+
outlineBorder: '#6366F1',
|
|
13
11
|
outlineBorderDisabled: '#9CA3AF',
|
|
14
12
|
text: {
|
|
15
13
|
filled: '#FFFFFF',
|
|
16
|
-
outline:
|
|
14
|
+
outline: '#6366F1',
|
|
17
15
|
outlineDisabled: '#9CA3AF',
|
|
18
16
|
},
|
|
19
|
-
shadow:
|
|
17
|
+
shadow: '#6366F1',
|
|
20
18
|
},
|
|
21
19
|
sizes: {
|
|
22
20
|
small: {
|
|
23
21
|
paddingVertical: 10,
|
|
24
22
|
paddingHorizontal: 16,
|
|
25
23
|
fontSize: 14,
|
|
26
|
-
iconSize: 16,
|
|
27
24
|
gap: 6,
|
|
28
25
|
},
|
|
29
26
|
medium: {
|
|
30
27
|
paddingVertical: 14,
|
|
31
28
|
paddingHorizontal: 20,
|
|
32
29
|
fontSize: 16,
|
|
33
|
-
iconSize: 20,
|
|
34
30
|
gap: 8,
|
|
35
31
|
},
|
|
36
32
|
large: {
|
|
37
33
|
paddingVertical: 16,
|
|
38
34
|
paddingHorizontal: 24,
|
|
39
35
|
fontSize: 18,
|
|
40
|
-
iconSize: 22,
|
|
41
36
|
gap: 10,
|
|
42
37
|
},
|
|
43
38
|
},
|
|
44
|
-
borderRadius: 12,
|
|
45
39
|
shadow: {
|
|
46
40
|
shadowOffset: { width: 0, height: 4 },
|
|
47
41
|
shadowOpacity: 0.2,
|
|
@@ -49,55 +43,57 @@ const BUTTON_CONFIG = {
|
|
|
49
43
|
elevation: 4,
|
|
50
44
|
},
|
|
51
45
|
};
|
|
52
|
-
const Button = ({ title, variant = 'filled', size = 'medium', onPress, isLoading = false, disabled = false, style, textStyle, icon, iconPosition = 'left', fullWidth = false,
|
|
46
|
+
const Button = ({ title, variant = 'filled', size = 'medium', onPress, onLongPress, isLoading = false, disabled = false, style, contentStyle, textStyle, icon, iconPosition = 'left', fullWidth = false, borderRadius = 0, // default 12 — same as before, now overridable
|
|
47
|
+
hitSlop, accessibilityLabel, }) => {
|
|
53
48
|
const isDisabled = disabled || isLoading;
|
|
54
49
|
const sizeConfig = BUTTON_CONFIG.sizes[size];
|
|
55
50
|
const isFilled = variant === 'filled';
|
|
56
|
-
// Get base button style
|
|
57
51
|
const getButtonStyle = () => {
|
|
58
52
|
const baseStyle = isFilled ? styles.filledButton : styles.outlineButton;
|
|
59
53
|
const sizeStyle = styles[`${size}Button`];
|
|
60
54
|
const disabledStyle = isDisabled
|
|
61
|
-
?
|
|
55
|
+
? isFilled
|
|
56
|
+
? styles.filledButtonDisabled
|
|
57
|
+
: styles.outlineButtonDisabled
|
|
62
58
|
: undefined;
|
|
63
59
|
return [
|
|
64
60
|
baseStyle,
|
|
65
61
|
sizeStyle,
|
|
66
62
|
disabledStyle,
|
|
67
63
|
fullWidth && styles.fullWidth,
|
|
64
|
+
{ borderRadius }, // applied from prop, not hardcoded
|
|
68
65
|
style,
|
|
69
66
|
].filter(Boolean);
|
|
70
67
|
};
|
|
71
|
-
// Get text style
|
|
72
68
|
const getTextStyle = () => {
|
|
73
|
-
const baseTextStyle = isFilled
|
|
69
|
+
const baseTextStyle = isFilled
|
|
70
|
+
? styles.filledButtonText
|
|
71
|
+
: styles.outlineButtonText;
|
|
74
72
|
const sizeTextStyle = styles[`${size}ButtonText`];
|
|
75
|
-
const disabledTextStyle = isDisabled && !isFilled
|
|
76
|
-
|
|
77
|
-
: null;
|
|
78
|
-
return [
|
|
79
|
-
baseTextStyle,
|
|
80
|
-
sizeTextStyle,
|
|
81
|
-
disabledTextStyle,
|
|
82
|
-
textStyle,
|
|
83
|
-
];
|
|
73
|
+
const disabledTextStyle = isDisabled && !isFilled ? styles.outlineButtonTextDisabled : null;
|
|
74
|
+
return [baseTextStyle, sizeTextStyle, disabledTextStyle, textStyle];
|
|
84
75
|
};
|
|
85
|
-
// Get loading indicator color
|
|
86
76
|
const getLoadingColor = () => {
|
|
87
77
|
if (isFilled)
|
|
88
78
|
return BUTTON_CONFIG.colors.text.filled;
|
|
89
|
-
return
|
|
79
|
+
return isDisabled
|
|
80
|
+
? BUTTON_CONFIG.colors.text.outlineDisabled
|
|
81
|
+
: BUTTON_CONFIG.colors.text.outline;
|
|
90
82
|
};
|
|
91
|
-
return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: getButtonStyle(), onPress: onPress, disabled: isDisabled, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.buttonContent, children: isLoading ? ((0, jsx_runtime_1.jsx)(react_native_1.ActivityIndicator, { size: "small", color: getLoadingColor() })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [icon && iconPosition === 'left' && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
|
|
83
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: getButtonStyle(), onPress: onPress, onLongPress: onLongPress, disabled: isDisabled, hitSlop: hitSlop, accessibilityLabel: accessibilityLabel ?? title, accessibilityRole: "button", accessibilityState: { disabled: isDisabled, busy: isLoading }, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.buttonContent, contentStyle], children: isLoading ? ((0, jsx_runtime_1.jsx)(react_native_1.ActivityIndicator, { size: "small", color: getLoadingColor() })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [icon && iconPosition === 'left' && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
|
|
84
|
+
styles.iconContainer,
|
|
85
|
+
title ? { marginRight: sizeConfig.gap } : undefined,
|
|
86
|
+
], children: icon })), title && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: getTextStyle(), children: title })), icon && iconPosition === 'right' && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
|
|
87
|
+
styles.iconContainer,
|
|
88
|
+
title ? { marginLeft: sizeConfig.gap } : undefined,
|
|
89
|
+
], children: icon }))] })) }) }));
|
|
92
90
|
};
|
|
93
91
|
exports.Button = Button;
|
|
94
92
|
const styles = react_native_1.StyleSheet.create({
|
|
95
|
-
// Base Button Styles
|
|
96
93
|
filledButton: {
|
|
97
94
|
backgroundColor: BUTTON_CONFIG.colors.primary,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
justifyContent: "center",
|
|
95
|
+
alignItems: 'center',
|
|
96
|
+
justifyContent: 'center',
|
|
101
97
|
shadowColor: BUTTON_CONFIG.colors.shadow,
|
|
102
98
|
...BUTTON_CONFIG.shadow,
|
|
103
99
|
},
|
|
@@ -108,15 +104,13 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
108
104
|
outlineButton: {
|
|
109
105
|
borderWidth: 2,
|
|
110
106
|
borderColor: BUTTON_CONFIG.colors.outlineBorder,
|
|
111
|
-
borderRadius: BUTTON_CONFIG.borderRadius,
|
|
112
107
|
backgroundColor: 'transparent',
|
|
113
|
-
alignItems:
|
|
114
|
-
justifyContent:
|
|
108
|
+
alignItems: 'center',
|
|
109
|
+
justifyContent: 'center',
|
|
115
110
|
},
|
|
116
111
|
outlineButtonDisabled: {
|
|
117
112
|
borderColor: BUTTON_CONFIG.colors.outlineBorderDisabled,
|
|
118
113
|
},
|
|
119
|
-
// Size Variants
|
|
120
114
|
smallButton: {
|
|
121
115
|
paddingVertical: BUTTON_CONFIG.sizes.small.paddingVertical,
|
|
122
116
|
paddingHorizontal: BUTTON_CONFIG.sizes.small.paddingHorizontal,
|
|
@@ -129,14 +123,13 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
129
123
|
paddingVertical: BUTTON_CONFIG.sizes.large.paddingVertical,
|
|
130
124
|
paddingHorizontal: BUTTON_CONFIG.sizes.large.paddingHorizontal,
|
|
131
125
|
},
|
|
132
|
-
// Text Styles
|
|
133
126
|
filledButtonText: {
|
|
134
127
|
color: BUTTON_CONFIG.colors.text.filled,
|
|
135
|
-
fontWeight:
|
|
128
|
+
fontWeight: '600',
|
|
136
129
|
},
|
|
137
130
|
outlineButtonText: {
|
|
138
131
|
color: BUTTON_CONFIG.colors.text.outline,
|
|
139
|
-
fontWeight:
|
|
132
|
+
fontWeight: '600',
|
|
140
133
|
},
|
|
141
134
|
outlineButtonTextDisabled: {
|
|
142
135
|
color: BUTTON_CONFIG.colors.text.outlineDisabled,
|
|
@@ -150,7 +143,6 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
150
143
|
largeButtonText: {
|
|
151
144
|
fontSize: BUTTON_CONFIG.sizes.large.fontSize,
|
|
152
145
|
},
|
|
153
|
-
// Layout Styles
|
|
154
146
|
buttonContent: {
|
|
155
147
|
flexDirection: 'row',
|
|
156
148
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { ViewStyle, TextStyle } from 'react-native';
|
|
2
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { ViewStyle, TextStyle } from 'react-native';
|
|
3
3
|
export interface ButtonProps {
|
|
4
|
-
title
|
|
4
|
+
title?: string;
|
|
5
5
|
onPress: () => void;
|
|
6
|
+
onLongPress?: () => void;
|
|
6
7
|
variant?: 'filled' | 'outline';
|
|
7
8
|
size?: 'small' | 'medium' | 'large';
|
|
8
9
|
isLoading?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
9
11
|
icon?: ReactNode;
|
|
10
12
|
iconPosition?: 'left' | 'right';
|
|
11
|
-
|
|
13
|
+
fullWidth?: boolean;
|
|
14
|
+
borderRadius?: number;
|
|
15
|
+
hitSlop?: number;
|
|
16
|
+
accessibilityLabel?: string;
|
|
12
17
|
style?: ViewStyle;
|
|
18
|
+
contentStyle?: ViewStyle;
|
|
13
19
|
textStyle?: TextStyle;
|
|
14
|
-
fullWidth?: boolean;
|
|
15
20
|
}
|
|
16
21
|
//# sourceMappingURL=Button.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAYhD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmptyState = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const EmptyState = ({ title, description, icon, action, }) => ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [icon && (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.iconContainer, children: icon }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.title, children: title }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.description, children: description }), action && (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.actionContainer, children: action })] }));
|
|
7
|
+
exports.EmptyState = EmptyState;
|
|
8
|
+
const styles = react_native_1.StyleSheet.create({
|
|
9
|
+
container: {
|
|
10
|
+
flex: 1,
|
|
11
|
+
justifyContent: 'center',
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
padding: 30,
|
|
14
|
+
backgroundColor: '#F9FAFB',
|
|
15
|
+
},
|
|
16
|
+
iconContainer: {
|
|
17
|
+
marginBottom: 20,
|
|
18
|
+
},
|
|
19
|
+
title: {
|
|
20
|
+
fontSize: 20,
|
|
21
|
+
fontWeight: '700',
|
|
22
|
+
color: '#111827',
|
|
23
|
+
marginBottom: 10,
|
|
24
|
+
textAlign: 'center',
|
|
25
|
+
},
|
|
26
|
+
description: {
|
|
27
|
+
fontSize: 15,
|
|
28
|
+
color: '#6B7280',
|
|
29
|
+
textAlign: 'center',
|
|
30
|
+
lineHeight: 22,
|
|
31
|
+
marginBottom: 30,
|
|
32
|
+
},
|
|
33
|
+
actionContainer: {
|
|
34
|
+
width: '100%',
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":";;;;AACA,+CAAsD;AAG/C,MAAM,UAAU,GAA8B,CAAC,EACpD,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,GACP,EAAE,EAAE,CAAC,CACJ,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,aAC1B,IAAI,IAAI,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAAG,IAAI,GAAQ,EACzD,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAQ,EACzC,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,YAAG,WAAW,GAAQ,EACpD,MAAM,IAAI,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,eAAe,YAAG,MAAM,GAAQ,IAC1D,CACR,CAAC;AAZW,QAAA,UAAU,cAYrB;AAEF,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;KAC3B;IACD,aAAa,EAAE;QACb,YAAY,EAAE,EAAE;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KACjB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.types.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.types.js","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmptyState = void 0;
|
|
4
|
+
var EmptyState_1 = require("./EmptyState");
|
|
5
|
+
Object.defineProperty(exports, "EmptyState", { enumerable: true, get: function () { return EmptyState_1.EmptyState; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/EmptyState/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderWithBack.d.ts","sourceRoot":"","sources":["../../../src/components/HeaderWithBack/HeaderWithBack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4DxD,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeaderWithBack = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const HeaderWithBack = ({ title, avatar, titlePosition = 'center', onBackPress, backIcon, actions = [], }) => {
|
|
7
|
+
const titleStyle = titlePosition === 'left'
|
|
8
|
+
? styles.titleLeft
|
|
9
|
+
: titlePosition === 'right'
|
|
10
|
+
? styles.titleRight
|
|
11
|
+
: styles.titleCenter;
|
|
12
|
+
const visibleActions = actions.slice(0, 4);
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: onBackPress, style: styles.backButton, android_ripple: { color: 'rgba(0, 0, 0, 0.1)' }, children: backIcon ?? (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.backIcon, children: "\u2039" }) }), avatar && (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.avatarContainer, children: avatar }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.title, titleStyle], numberOfLines: 1, children: title }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.actionsContainer, children: visibleActions.map((action, index) => ((0, jsx_runtime_1.jsxs)(react_native_1.Pressable, { onPress: action.onPress, style: styles.actionButton, android_ripple: { color: 'rgba(0, 0, 0, 0.1)' }, children: [action.icon, action.badge !== undefined && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.badge, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.badgeText, numberOfLines: 1, children: typeof action.badge === 'number' && action.badge > 99
|
|
14
|
+
? '99+'
|
|
15
|
+
: action.badge }) }))] }, index))) })] }));
|
|
16
|
+
};
|
|
17
|
+
exports.HeaderWithBack = HeaderWithBack;
|
|
18
|
+
const styles = react_native_1.StyleSheet.create({
|
|
19
|
+
header: {
|
|
20
|
+
flexDirection: 'row',
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
paddingHorizontal: 8,
|
|
23
|
+
paddingVertical: 12,
|
|
24
|
+
backgroundColor: '#FFFFFF',
|
|
25
|
+
borderBottomWidth: 1,
|
|
26
|
+
borderBottomColor: '#E5E7EB',
|
|
27
|
+
},
|
|
28
|
+
backButton: {
|
|
29
|
+
width: 40,
|
|
30
|
+
height: 40,
|
|
31
|
+
borderRadius: 20,
|
|
32
|
+
backgroundColor: '#F3F4F6',
|
|
33
|
+
justifyContent: 'center',
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
},
|
|
36
|
+
backIcon: {
|
|
37
|
+
fontSize: 28,
|
|
38
|
+
color: '#111827',
|
|
39
|
+
lineHeight: 32,
|
|
40
|
+
fontWeight: '300',
|
|
41
|
+
},
|
|
42
|
+
avatarContainer: {
|
|
43
|
+
marginLeft: 6,
|
|
44
|
+
width: 40,
|
|
45
|
+
height: 40,
|
|
46
|
+
borderRadius: 20,
|
|
47
|
+
overflow: 'hidden',
|
|
48
|
+
justifyContent: 'center',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
},
|
|
51
|
+
title: {
|
|
52
|
+
flex: 1,
|
|
53
|
+
fontSize: 18,
|
|
54
|
+
fontWeight: 'bold',
|
|
55
|
+
color: '#111827',
|
|
56
|
+
marginHorizontal: 8,
|
|
57
|
+
},
|
|
58
|
+
titleLeft: { textAlign: 'left' },
|
|
59
|
+
titleCenter: { textAlign: 'center' },
|
|
60
|
+
titleRight: { textAlign: 'right' },
|
|
61
|
+
actionsContainer: {
|
|
62
|
+
flexDirection: 'row',
|
|
63
|
+
alignItems: 'center',
|
|
64
|
+
gap: 4,
|
|
65
|
+
},
|
|
66
|
+
actionButton: {
|
|
67
|
+
width: 40,
|
|
68
|
+
height: 40,
|
|
69
|
+
borderRadius: 20,
|
|
70
|
+
justifyContent: 'center',
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
},
|
|
73
|
+
badge: {
|
|
74
|
+
position: 'absolute',
|
|
75
|
+
top: 4,
|
|
76
|
+
right: 4,
|
|
77
|
+
minWidth: 16,
|
|
78
|
+
height: 16,
|
|
79
|
+
borderRadius: 8,
|
|
80
|
+
backgroundColor: '#EF4444',
|
|
81
|
+
justifyContent: 'center',
|
|
82
|
+
alignItems: 'center',
|
|
83
|
+
paddingHorizontal: 3,
|
|
84
|
+
},
|
|
85
|
+
badgeText: {
|
|
86
|
+
fontSize: 10,
|
|
87
|
+
fontWeight: '700',
|
|
88
|
+
color: '#FFFFFF',
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=HeaderWithBack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderWithBack.js","sourceRoot":"","sources":["../../../src/components/HeaderWithBack/HeaderWithBack.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface HeaderAction {
|
|
3
|
+
icon: ReactNode;
|
|
4
|
+
onPress: () => void;
|
|
5
|
+
badge?: number | string;
|
|
6
|
+
}
|
|
7
|
+
export interface HeaderWithBackProps {
|
|
8
|
+
title: string;
|
|
9
|
+
avatar?: ReactNode;
|
|
10
|
+
titlePosition?: 'left' | 'center' | 'right';
|
|
11
|
+
onBackPress: () => void;
|
|
12
|
+
backIcon?: ReactNode;
|
|
13
|
+
actions?: HeaderAction[];
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=HeaderWithBack.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderWithBack.types.d.ts","sourceRoot":"","sources":["../../../src/components/HeaderWithBack/HeaderWithBack.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderWithBack.types.js","sourceRoot":"","sources":["../../../src/components/HeaderWithBack/HeaderWithBack.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/HeaderWithBack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeaderWithBack = void 0;
|
|
4
|
+
var HeaderWithBack_1 = require("./HeaderWithBack");
|
|
5
|
+
Object.defineProperty(exports, "HeaderWithBack", { enumerable: true, get: function () { return HeaderWithBack_1.HeaderWithBack; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/HeaderWithBack/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePreview.d.ts","sourceRoot":"","sources":["../../../src/components/ImagePreview/ImagePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAa3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAQ9D,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuLpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImagePreview = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const react_native_1 = require("react-native");
|
|
7
|
+
const { width: SCREEN_WIDTH, height: SCREEN_HEIGHT } = react_native_1.Dimensions.get('window');
|
|
8
|
+
const DefaultCloseIcon = () => (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.defaultIcon, children: "\u2715" });
|
|
9
|
+
const DefaultPrevIcon = () => (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.navIcon, children: "\u2039" });
|
|
10
|
+
const DefaultNextIcon = () => (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.navIcon, children: "\u203A" });
|
|
11
|
+
const ImagePreview = ({ visible, images, initialIndex = 0, onClose, title, closeIcon, prevIcon, nextIcon, }) => {
|
|
12
|
+
const [currentIndex, setCurrentIndex] = (0, react_1.useState)(initialIndex);
|
|
13
|
+
// Only show loader if image takes more than 300ms — avoids flash for cached/fast images
|
|
14
|
+
const [loadingVisible, setLoadingVisible] = (0, react_1.useState)({});
|
|
15
|
+
const [imageErrors, setImageErrors] = (0, react_1.useState)({});
|
|
16
|
+
const loadTimers = (0, react_1.useRef)({});
|
|
17
|
+
const scrollViewRef = (0, react_1.useRef)(null);
|
|
18
|
+
const imageArray = Array.isArray(images) ? images : [images];
|
|
19
|
+
const hasMultipleImages = imageArray.length > 1;
|
|
20
|
+
const clearTimer = (index) => {
|
|
21
|
+
if (loadTimers.current[index]) {
|
|
22
|
+
clearTimeout(loadTimers.current[index]);
|
|
23
|
+
delete loadTimers.current[index];
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
(0, react_1.useEffect)(() => {
|
|
27
|
+
if (visible) {
|
|
28
|
+
setCurrentIndex(initialIndex);
|
|
29
|
+
setLoadingVisible({});
|
|
30
|
+
setImageErrors({});
|
|
31
|
+
if (hasMultipleImages && scrollViewRef.current) {
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
scrollViewRef.current?.scrollTo({
|
|
34
|
+
x: initialIndex * SCREEN_WIDTH,
|
|
35
|
+
animated: false,
|
|
36
|
+
});
|
|
37
|
+
}, 100);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// Clear all pending timers on close
|
|
42
|
+
Object.keys(loadTimers.current).forEach((k) => clearTimer(Number(k)));
|
|
43
|
+
setLoadingVisible({});
|
|
44
|
+
setImageErrors({});
|
|
45
|
+
}
|
|
46
|
+
}, [visible, initialIndex, hasMultipleImages]);
|
|
47
|
+
const handleLoadStart = (index) => {
|
|
48
|
+
clearTimer(index);
|
|
49
|
+
// Only show spinner if image hasn't loaded within 300ms
|
|
50
|
+
loadTimers.current[index] = setTimeout(() => {
|
|
51
|
+
setLoadingVisible((prev) => ({ ...prev, [index]: true }));
|
|
52
|
+
}, 300);
|
|
53
|
+
};
|
|
54
|
+
const handleLoadEnd = (index) => {
|
|
55
|
+
clearTimer(index);
|
|
56
|
+
setLoadingVisible((prev) => ({ ...prev, [index]: false }));
|
|
57
|
+
};
|
|
58
|
+
const handleError = (index) => {
|
|
59
|
+
clearTimer(index);
|
|
60
|
+
setLoadingVisible((prev) => ({ ...prev, [index]: false }));
|
|
61
|
+
setImageErrors((prev) => ({ ...prev, [index]: true }));
|
|
62
|
+
};
|
|
63
|
+
const handleScroll = (event) => {
|
|
64
|
+
const index = Math.round(event.nativeEvent.contentOffset.x / SCREEN_WIDTH);
|
|
65
|
+
if (index !== currentIndex && index >= 0 && index < imageArray.length) {
|
|
66
|
+
setCurrentIndex(index);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const goToPrevious = () => {
|
|
70
|
+
if (currentIndex > 0) {
|
|
71
|
+
const newIndex = currentIndex - 1;
|
|
72
|
+
setCurrentIndex(newIndex);
|
|
73
|
+
scrollViewRef.current?.scrollTo({ x: newIndex * SCREEN_WIDTH, animated: true });
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const goToNext = () => {
|
|
77
|
+
if (currentIndex < imageArray.length - 1) {
|
|
78
|
+
const newIndex = currentIndex + 1;
|
|
79
|
+
setCurrentIndex(newIndex);
|
|
80
|
+
scrollViewRef.current?.scrollTo({ x: newIndex * SCREEN_WIDTH, animated: true });
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const renderImage = (uri, index) => ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.imageContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri }, style: styles.image, resizeMode: "contain", onLoadStart: () => handleLoadStart(index), onLoad: () => handleLoadEnd(index), onError: () => handleError(index) }), loadingVisible[index] && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.loaderOverlay, children: (0, jsx_runtime_1.jsx)(react_native_1.ActivityIndicator, { size: "large", color: "#FFFFFF" }) })), imageErrors[index] && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.loaderOverlay, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.errorText, children: "Failed to load image" }) }))] }, index));
|
|
84
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Modal, { visible: visible, transparent: true, animationType: "fade", onRequestClose: onClose, statusBarTranslucent: true, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [title && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.title, numberOfLines: 1, children: title })), hasMultipleImages && ((0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.counter, children: [currentIndex + 1, " / ", imageArray.length] })), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: styles.closeButton, onPress: onClose, children: closeIcon ?? (0, jsx_runtime_1.jsx)(DefaultCloseIcon, {}) })] }), hasMultipleImages ? ((0, jsx_runtime_1.jsx)(react_native_1.ScrollView, { ref: scrollViewRef, horizontal: true, pagingEnabled: true, showsHorizontalScrollIndicator: false, onScroll: handleScroll, scrollEventThrottle: 16, style: styles.scrollView, children: imageArray.map((uri, index) => renderImage(uri, index)) })) : (renderImage(imageArray[0] ?? '', 0)), hasMultipleImages && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [currentIndex > 0 && ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [styles.navButton, styles.prevButton], onPress: goToPrevious, activeOpacity: 0.7, children: prevIcon ?? (0, jsx_runtime_1.jsx)(DefaultPrevIcon, {}) })), currentIndex < imageArray.length - 1 && ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [styles.navButton, styles.nextButton], onPress: goToNext, activeOpacity: 0.7, children: nextIcon ?? (0, jsx_runtime_1.jsx)(DefaultNextIcon, {}) }))] }))] }) }));
|
|
85
|
+
};
|
|
86
|
+
exports.ImagePreview = ImagePreview;
|
|
87
|
+
exports.default = exports.ImagePreview;
|
|
88
|
+
const styles = react_native_1.StyleSheet.create({
|
|
89
|
+
container: {
|
|
90
|
+
flex: 1,
|
|
91
|
+
backgroundColor: 'rgba(0, 0, 0, 0.95)',
|
|
92
|
+
},
|
|
93
|
+
header: {
|
|
94
|
+
position: 'absolute',
|
|
95
|
+
top: 0,
|
|
96
|
+
left: 0,
|
|
97
|
+
right: 0,
|
|
98
|
+
flexDirection: 'row',
|
|
99
|
+
alignItems: 'center',
|
|
100
|
+
justifyContent: 'space-between',
|
|
101
|
+
paddingHorizontal: 20,
|
|
102
|
+
paddingTop: 50,
|
|
103
|
+
paddingBottom: 15,
|
|
104
|
+
zIndex: 10,
|
|
105
|
+
backgroundColor: 'rgba(0, 0, 0, 0.3)',
|
|
106
|
+
},
|
|
107
|
+
title: {
|
|
108
|
+
flex: 1,
|
|
109
|
+
fontSize: 18,
|
|
110
|
+
fontWeight: '600',
|
|
111
|
+
color: '#FFFFFF',
|
|
112
|
+
marginRight: 10,
|
|
113
|
+
},
|
|
114
|
+
counter: {
|
|
115
|
+
fontSize: 16,
|
|
116
|
+
fontWeight: '600',
|
|
117
|
+
color: '#FFFFFF',
|
|
118
|
+
marginRight: 15,
|
|
119
|
+
},
|
|
120
|
+
closeButton: {
|
|
121
|
+
width: 44,
|
|
122
|
+
height: 44,
|
|
123
|
+
borderRadius: 22,
|
|
124
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
125
|
+
justifyContent: 'center',
|
|
126
|
+
alignItems: 'center',
|
|
127
|
+
},
|
|
128
|
+
scrollView: {
|
|
129
|
+
flex: 1,
|
|
130
|
+
},
|
|
131
|
+
imageContainer: {
|
|
132
|
+
width: SCREEN_WIDTH,
|
|
133
|
+
height: SCREEN_HEIGHT,
|
|
134
|
+
justifyContent: 'center',
|
|
135
|
+
alignItems: 'center',
|
|
136
|
+
},
|
|
137
|
+
image: {
|
|
138
|
+
width: SCREEN_WIDTH,
|
|
139
|
+
height: SCREEN_HEIGHT,
|
|
140
|
+
},
|
|
141
|
+
loaderOverlay: {
|
|
142
|
+
...react_native_1.StyleSheet.absoluteFillObject,
|
|
143
|
+
justifyContent: 'center',
|
|
144
|
+
alignItems: 'center',
|
|
145
|
+
},
|
|
146
|
+
errorText: {
|
|
147
|
+
fontSize: 16,
|
|
148
|
+
color: '#FFFFFF',
|
|
149
|
+
textAlign: 'center',
|
|
150
|
+
},
|
|
151
|
+
// Nav buttons — use top 50% + translateY(-half height) for true vertical centering
|
|
152
|
+
navButton: {
|
|
153
|
+
position: 'absolute',
|
|
154
|
+
top: '50%',
|
|
155
|
+
transform: [{ translateY: -25 }], // half of height (50) to truly center
|
|
156
|
+
width: 50,
|
|
157
|
+
height: 50,
|
|
158
|
+
borderRadius: 25,
|
|
159
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
160
|
+
justifyContent: 'center',
|
|
161
|
+
alignItems: 'center',
|
|
162
|
+
zIndex: 10,
|
|
163
|
+
},
|
|
164
|
+
prevButton: {
|
|
165
|
+
left: 16,
|
|
166
|
+
},
|
|
167
|
+
nextButton: {
|
|
168
|
+
right: 16,
|
|
169
|
+
},
|
|
170
|
+
defaultIcon: {
|
|
171
|
+
fontSize: 16,
|
|
172
|
+
color: '#FFFFFF',
|
|
173
|
+
fontWeight: '600',
|
|
174
|
+
},
|
|
175
|
+
navIcon: {
|
|
176
|
+
fontSize: 32,
|
|
177
|
+
color: '#FFFFFF',
|
|
178
|
+
fontWeight: '300',
|
|
179
|
+
lineHeight: 20,
|
|
180
|
+
marginBottom: 6, // visually center the arrow within the circle
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
//# sourceMappingURL=ImagePreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePreview.js","sourceRoot":"","sources":["../../../src/components/ImagePreview/ImagePreview.tsx"],"names":[],"mappings":";;;;AAAA,iCAA2D;AAC3D,+CAWsB;AAGtB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,yBAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEhF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,uBAAU,CAAC;AACzE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,uBAAU,CAAC;AACpE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,uBAAU,CAAC;AAE7D,MAAM,YAAY,GAAgC,CAAC,EACxD,OAAO,EACP,MAAM,EACN,YAAY,GAAG,CAAC,EAChB,OAAO,EACP,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAC;IAC/D,wFAAwF;IACxF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAA6B,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAA6B,EAAE,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAA,cAAM,EAAmD,EAAE,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAA,cAAM,EAAa,IAAI,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACnC,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,iBAAiB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC/C,UAAU,CAAC,GAAG,EAAE;oBACd,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC;wBAC9B,CAAC,EAAE,YAAY,GAAG,YAAY;wBAC9B,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,wDAAwD;QACxD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;QACtC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;QACpC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3D,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAC3E,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YACtE,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;YAClC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;YAClC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAClD,wBAAC,mBAAI,IAAa,KAAK,EAAE,MAAM,CAAC,cAAc,aAC5C,uBAAC,oBAAK,IACJ,MAAM,EAAE,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAC,SAAS,EACpB,WAAW,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EACzC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GACjC,EACD,cAAc,CAAC,KAAK,CAAC,IAAI,CACxB,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAC/B,uBAAC,gCAAiB,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG,GAC7C,CACR,EACA,WAAW,CAAC,KAAK,CAAC,IAAI,CACrB,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAC/B,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,qCAA6B,GACrD,CACR,KAlBQ,KAAK,CAmBT,CACR,CAAC;IAEF,OAAO,CACL,uBAAC,oBAAK,IACJ,OAAO,EAAE,OAAO,EAChB,WAAW,QACX,aAAa,EAAC,MAAM,EACpB,cAAc,EAAE,OAAO,EACvB,oBAAoB,kBAEpB,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,aAG3B,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,aACvB,KAAK,IAAI,CACR,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,YACxC,KAAK,GACD,CACR,EACA,iBAAiB,IAAI,CACpB,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,aACxB,YAAY,GAAG,CAAC,SAAK,UAAU,CAAC,MAAM,IAClC,CACR,EACD,uBAAC,wBAAS,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,YACnD,SAAS,IAAI,uBAAC,gBAAgB,KAAG,GACxB,IACP,EAGN,iBAAiB,CAAC,CAAC,CAAC,CACnB,uBAAC,yBAAU,IACT,GAAG,EAAE,aAAa,EAClB,UAAU,QACV,aAAa,QACb,8BAA8B,EAAE,KAAK,EACrC,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,EAAE,EACvB,KAAK,EAAE,MAAM,CAAC,UAAU,YAEvB,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,GAC7C,CACd,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACpC,EAGA,iBAAiB,IAAI,CACpB,6DACG,YAAY,GAAG,CAAC,IAAI,CACnB,uBAAC,+BAAgB,IACf,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,EAC5C,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,GAAG,YAEjB,QAAQ,IAAI,uBAAC,eAAe,KAAG,GACf,CACpB,EACA,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CACvC,uBAAC,+BAAgB,IACf,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,EAC5C,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,GAAG,YAEjB,QAAQ,IAAI,uBAAC,eAAe,KAAG,GACf,CACpB,IACA,CACJ,IACI,GACD,CACT,CAAC;AACJ,CAAC,CAAC;AAvLW,QAAA,YAAY,gBAuLvB;AAEF,kBAAe,oBAAY,CAAC;AAE5B,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,eAAe,EAAE,qBAAqB;KACvC;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,eAAe;QAC/B,iBAAiB,EAAE,EAAE;QACrB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,oBAAoB;KACtC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,EAAE;KAChB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,EAAE;KAChB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,oBAAoB;QACrC,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,CAAC;KACR;IACD,cAAc,EAAE;QACd,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;KACtB;IACD,aAAa,EAAE;QACb,GAAG,yBAAU,CAAC,kBAAkB;QAChC,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,mFAAmF;IACnF,SAAS,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,sCAAsC;QACxE,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,oBAAoB;QACrC,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,EAAE;KACX;IACD,UAAU,EAAE;QACV,IAAI,EAAE,EAAE;KACT;IACD,UAAU,EAAE;QACV,KAAK,EAAE,EAAE;KACV;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,KAAK;KAClB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,CAAC,EAAE,8CAA8C;KAEhE;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ImagePreviewProps {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
images: string | string[];
|
|
5
|
+
initialIndex?: number;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
title?: string;
|
|
8
|
+
closeIcon?: ReactNode;
|
|
9
|
+
prevIcon?: ReactNode;
|
|
10
|
+
nextIcon?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ImagePreview.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePreview.types.d.ts","sourceRoot":"","sources":["../../../src/components/ImagePreview/ImagePreview.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePreview.types.js","sourceRoot":"","sources":["../../../src/components/ImagePreview/ImagePreview.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ImagePreview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ImagePreviewNamed = exports.ImagePreview = void 0;
|
|
7
|
+
var ImagePreview_1 = require("./ImagePreview");
|
|
8
|
+
Object.defineProperty(exports, "ImagePreview", { enumerable: true, get: function () { return __importDefault(ImagePreview_1).default; } });
|
|
9
|
+
Object.defineProperty(exports, "ImagePreviewNamed", { enumerable: true, get: function () { return ImagePreview_1.ImagePreview; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ImagePreview/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA4F;AAAnF,6HAAA,OAAO,OAAgB;AAAE,iHAAA,YAAY,OAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -17,4 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./Button"), exports);
|
|
18
18
|
__exportStar(require("./Card"), exports);
|
|
19
19
|
__exportStar(require("./BottomSheet"), exports);
|
|
20
|
+
__exportStar(require("./ImagePreview"), exports);
|
|
21
|
+
__exportStar(require("./HeaderWithBack"), exports);
|
|
22
|
+
__exportStar(require("./EmptyState"), exports);
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,gDAA8B;AAC9B,iDAA+B;AAC/B,mDAAgC;AAChC,+CAA6B"}
|