@herca/rn-kit 0.1.68 → 0.1.70
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/lib/module/DatePicker/TimePicker.js +26 -46
- package/lib/module/DatePicker/TimePicker.js.map +1 -1
- package/lib/module/DatePicker/partials/AnimatedItem.js +52 -0
- package/lib/module/DatePicker/partials/AnimatedItem.js.map +1 -0
- package/lib/module/Input/InputFile.js +76 -275
- package/lib/module/Input/InputFile.js.map +1 -1
- package/lib/module/Input/README_INPUT_FILE.md +144 -23
- package/lib/module/Input/TextArea.js +5 -2
- package/lib/module/Input/TextArea.js.map +1 -1
- package/lib/module/Input/partials/InputFile/CardTrigger.js +77 -0
- package/lib/module/Input/partials/InputFile/CardTrigger.js.map +1 -0
- package/lib/module/Input/partials/InputFile/CardTriggerSmall.js +86 -0
- package/lib/module/Input/partials/InputFile/CardTriggerSmall.js.map +1 -0
- package/lib/module/Input/partials/InputFile/ItemPicker.js +43 -0
- package/lib/module/Input/partials/InputFile/ItemPicker.js.map +1 -0
- package/lib/module/Input/partials/InputFile/ItemPreview.js +149 -0
- package/lib/module/Input/partials/InputFile/ItemPreview.js.map +1 -0
- package/lib/module/Input/partials/InputFile/ModalDelete.js +76 -0
- package/lib/module/Input/partials/InputFile/ModalDelete.js.map +1 -0
- package/lib/module/Input/partials/InputFile/ModalPicker.js +72 -0
- package/lib/module/Input/partials/InputFile/ModalPicker.js.map +1 -0
- package/lib/module/LabelForm/LabelForm.js +3 -1
- package/lib/module/LabelForm/LabelForm.js.map +1 -1
- package/lib/module/Step/Step.js +1 -1
- package/lib/module/Step/StepItem.js +14 -6
- package/lib/module/Step/StepItem.js.map +1 -1
- package/lib/module/Ui/Center.js.map +1 -1
- package/lib/module/styles/layouting.js +3 -0
- package/lib/module/styles/layouting.js.map +1 -1
- package/lib/typescript/src/DatePicker/TimePicker.d.ts +4 -1
- package/lib/typescript/src/DatePicker/TimePicker.d.ts.map +1 -1
- package/lib/typescript/src/DatePicker/partials/AnimatedItem.d.ts +11 -0
- package/lib/typescript/src/DatePicker/partials/AnimatedItem.d.ts.map +1 -0
- package/lib/typescript/src/Input/InputFile.d.ts +17 -4
- package/lib/typescript/src/Input/InputFile.d.ts.map +1 -1
- package/lib/typescript/src/Input/TextArea.d.ts +1 -1
- package/lib/typescript/src/Input/TextArea.d.ts.map +1 -1
- package/lib/typescript/src/Input/partials/InputFile/CardTrigger.d.ts +11 -0
- package/lib/typescript/src/Input/partials/InputFile/CardTrigger.d.ts.map +1 -0
- package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts +12 -0
- package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts.map +1 -0
- package/lib/typescript/src/Input/partials/InputFile/ItemPicker.d.ts +10 -0
- package/lib/typescript/src/Input/partials/InputFile/ItemPicker.d.ts.map +1 -0
- package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts +11 -0
- package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts.map +1 -0
- package/lib/typescript/src/Input/partials/InputFile/ModalDelete.d.ts +12 -0
- package/lib/typescript/src/Input/partials/InputFile/ModalDelete.d.ts.map +1 -0
- package/lib/typescript/src/Input/partials/InputFile/ModalPicker.d.ts +18 -0
- package/lib/typescript/src/Input/partials/InputFile/ModalPicker.d.ts.map +1 -0
- package/lib/typescript/src/LabelForm/LabelForm.d.ts +2 -1
- package/lib/typescript/src/LabelForm/LabelForm.d.ts.map +1 -1
- package/lib/typescript/src/Step/StepItem.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Center.d.ts +2 -2
- package/lib/typescript/src/Ui/Center.d.ts.map +1 -1
- package/lib/typescript/src/styles/layouting.d.ts +3 -0
- package/lib/typescript/src/styles/layouting.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/DatePicker/TimePicker.tsx +37 -74
- package/src/DatePicker/partials/AnimatedItem.tsx +62 -0
- package/src/Input/InputFile.tsx +148 -296
- package/src/Input/README_INPUT_FILE.md +144 -23
- package/src/Input/TextArea.tsx +3 -0
- package/src/Input/partials/InputFile/CardTrigger.tsx +87 -0
- package/src/Input/partials/InputFile/CardTriggerSmall.tsx +120 -0
- package/src/Input/partials/InputFile/ItemPicker.tsx +46 -0
- package/src/Input/partials/InputFile/ItemPreview.tsx +182 -0
- package/src/Input/partials/InputFile/ModalDelete.tsx +84 -0
- package/src/Input/partials/InputFile/ModalPicker.tsx +86 -0
- package/src/LabelForm/LabelForm.tsx +7 -2
- package/src/Step/Step.tsx +1 -1
- package/src/Step/StepItem.tsx +15 -3
- package/src/Ui/Center.tsx +2 -2
- package/src/styles/layouting.ts +1 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, {
|
|
4
|
-
import {
|
|
3
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { Animated, Dimensions, StyleSheet, View } from 'react-native';
|
|
5
5
|
import BottomSheet from "../BottomSheet/BottomSheet.js";
|
|
6
6
|
import Button from "../Button/Button.js";
|
|
7
|
-
import Typography from "../Typography/Typography.js";
|
|
8
7
|
import Color from "../Color/Color.js";
|
|
8
|
+
import Typography from "../Typography/Typography.js";
|
|
9
|
+
import AnimatedItem from "./partials/AnimatedItem.js";
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
const ITEM_HEIGHT = 40;
|
|
11
12
|
const SCREEN_WIDTH = Dimensions.get('window').width;
|
|
@@ -21,7 +22,10 @@ const repeatItems = (items, repeatCount) => Array.from({
|
|
|
21
22
|
export default function TimePickerWheel({
|
|
22
23
|
isOpen,
|
|
23
24
|
onClose,
|
|
24
|
-
onChange
|
|
25
|
+
onChange,
|
|
26
|
+
title = 'Pilih Waktu',
|
|
27
|
+
cancelLabel = 'Batal',
|
|
28
|
+
confirmLabel = 'Pilih'
|
|
25
29
|
}) {
|
|
26
30
|
const [selectedHour, setSelectedHour] = useState(0);
|
|
27
31
|
const [selectedMinute, setSelectedMinute] = useState(0);
|
|
@@ -42,7 +46,9 @@ export default function TimePickerWheel({
|
|
|
42
46
|
scrollToIndex(minuteRef, CENTER_INDEX_MINUTE);
|
|
43
47
|
}, 100);
|
|
44
48
|
}
|
|
45
|
-
|
|
49
|
+
|
|
50
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
|
+
}, [isOpen]);
|
|
46
52
|
const scrollToIndex = (ref, index, animated = true) => {
|
|
47
53
|
ref.current?.scrollTo({
|
|
48
54
|
y: index * ITEM_HEIGHT,
|
|
@@ -75,32 +81,6 @@ export default function TimePickerWheel({
|
|
|
75
81
|
});
|
|
76
82
|
onClose?.();
|
|
77
83
|
};
|
|
78
|
-
const renderAnimatedItem = (value, type, index, scrollY) => {
|
|
79
|
-
const normalizedValue = type === 'hour' ? (value % 24 + 24) % 24 : (value % 60 + 60) % 60;
|
|
80
|
-
const inputRange = [(index - 2) * ITEM_HEIGHT, (index - 1) * ITEM_HEIGHT, index * ITEM_HEIGHT, (index + 1) * ITEM_HEIGHT, (index + 2) * ITEM_HEIGHT];
|
|
81
|
-
const scale = scrollY.interpolate({
|
|
82
|
-
inputRange,
|
|
83
|
-
outputRange: [0.7, 0.85, 1, 0.85, 0.7],
|
|
84
|
-
extrapolate: 'clamp'
|
|
85
|
-
});
|
|
86
|
-
const opacity = scrollY.interpolate({
|
|
87
|
-
inputRange,
|
|
88
|
-
outputRange: [0.3, 0.6, 1, 0.6, 0.3],
|
|
89
|
-
extrapolate: 'clamp'
|
|
90
|
-
});
|
|
91
|
-
return /*#__PURE__*/_jsx(Animated.View, {
|
|
92
|
-
style: [styles.item, {
|
|
93
|
-
transform: [{
|
|
94
|
-
scale
|
|
95
|
-
}],
|
|
96
|
-
opacity
|
|
97
|
-
}],
|
|
98
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
99
|
-
style: styles.itemText,
|
|
100
|
-
children: normalizedValue.toString().padStart(2, '0')
|
|
101
|
-
})
|
|
102
|
-
}, `${type}-${index}`);
|
|
103
|
-
};
|
|
104
84
|
return /*#__PURE__*/_jsxs(BottomSheet, {
|
|
105
85
|
isOpen: isOpen,
|
|
106
86
|
onClose: onClose,
|
|
@@ -109,7 +89,7 @@ export default function TimePickerWheel({
|
|
|
109
89
|
children: [/*#__PURE__*/_jsx(View, {
|
|
110
90
|
style: styles.flex1,
|
|
111
91
|
children: /*#__PURE__*/_jsx(Button, {
|
|
112
|
-
title:
|
|
92
|
+
title: cancelLabel,
|
|
113
93
|
variant: "tertiary",
|
|
114
94
|
onPress: onClose,
|
|
115
95
|
color: "primary",
|
|
@@ -118,7 +98,7 @@ export default function TimePickerWheel({
|
|
|
118
98
|
}), /*#__PURE__*/_jsx(View, {
|
|
119
99
|
style: styles.flex1,
|
|
120
100
|
children: /*#__PURE__*/_jsx(Button, {
|
|
121
|
-
title:
|
|
101
|
+
title: confirmLabel,
|
|
122
102
|
onPress: handleSubmit,
|
|
123
103
|
color: "primary",
|
|
124
104
|
size: "medium"
|
|
@@ -131,7 +111,7 @@ export default function TimePickerWheel({
|
|
|
131
111
|
color: Color.gray[900],
|
|
132
112
|
center: true,
|
|
133
113
|
style: styles.hintTime,
|
|
134
|
-
children:
|
|
114
|
+
children: title
|
|
135
115
|
}), /*#__PURE__*/_jsxs(View, {
|
|
136
116
|
style: styles.container,
|
|
137
117
|
children: [/*#__PURE__*/_jsx(View, {
|
|
@@ -161,7 +141,12 @@ export default function TimePickerWheel({
|
|
|
161
141
|
}),
|
|
162
142
|
scrollEventThrottle: 16,
|
|
163
143
|
contentContainerStyle: styles.scrollContent,
|
|
164
|
-
children: hours.map((h, i) =>
|
|
144
|
+
children: hours.map((h, i) => /*#__PURE__*/_jsx(AnimatedItem, {
|
|
145
|
+
index: i,
|
|
146
|
+
value: h,
|
|
147
|
+
type: "hour",
|
|
148
|
+
scrollY: hourScrollY
|
|
149
|
+
}, i))
|
|
165
150
|
})
|
|
166
151
|
}), /*#__PURE__*/_jsx(View, {
|
|
167
152
|
style: styles.pickerColumn,
|
|
@@ -182,7 +167,12 @@ export default function TimePickerWheel({
|
|
|
182
167
|
}),
|
|
183
168
|
scrollEventThrottle: 16,
|
|
184
169
|
contentContainerStyle: styles.scrollContent,
|
|
185
|
-
children: minutes.map((m, i) =>
|
|
170
|
+
children: minutes.map((m, i) => /*#__PURE__*/_jsx(AnimatedItem, {
|
|
171
|
+
index: i,
|
|
172
|
+
value: m,
|
|
173
|
+
type: "minute",
|
|
174
|
+
scrollY: minuteScrollY
|
|
175
|
+
}, i))
|
|
186
176
|
})
|
|
187
177
|
})]
|
|
188
178
|
})]
|
|
@@ -214,16 +204,6 @@ const styles = StyleSheet.create({
|
|
|
214
204
|
height: ITEM_HEIGHT * VISIBLE_ITEMS,
|
|
215
205
|
overflow: 'hidden'
|
|
216
206
|
},
|
|
217
|
-
item: {
|
|
218
|
-
height: ITEM_HEIGHT,
|
|
219
|
-
justifyContent: 'center',
|
|
220
|
-
alignItems: 'center'
|
|
221
|
-
},
|
|
222
|
-
itemText: {
|
|
223
|
-
fontSize: 22,
|
|
224
|
-
color: Color.gray[900],
|
|
225
|
-
fontWeight: '600'
|
|
226
|
-
},
|
|
227
207
|
highlightOverlay: {
|
|
228
208
|
position: 'absolute',
|
|
229
209
|
zIndex: -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useRef","useState","Animated","Dimensions","StyleSheet","View","BottomSheet","Button","Color","Typography","AnimatedItem","jsx","_jsx","jsxs","_jsxs","ITEM_HEIGHT","SCREEN_WIDTH","get","width","VISIBLE_ITEMS","MIDDLE_INDEX","Math","floor","REPEAT_COUNT","generateItems","max","Array","from","length","_","i","repeatItems","items","repeatCount","flatMap","TimePickerWheel","isOpen","onClose","onChange","title","cancelLabel","confirmLabel","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","hourRef","minuteRef","hourScrollY","Value","current","minuteScrollY","hoursBase","minutesBase","hours","minutes","CENTER_INDEX_HOUR","CENTER_INDEX_MINUTE","setTimeout","scrollToIndex","ref","index","animated","scrollTo","y","handleScrollEnd","event","type","offsetY","nativeEvent","contentOffset","round","realValue","newCenter","abs","handleSubmit","hour","minute","footer","style","styles","children","flex1","variant","onPress","color","size","weight","gray","center","hintTime","container","highlightOverlay","pointerEvents","highlight","scrollContainer","pickerColumn","ScrollView","showsVerticalScrollIndicator","snapToInterval","decelerationRate","onMomentumScrollEnd","e","onScroll","useNativeDriver","scrollEventThrottle","contentContainerStyle","scrollContent","map","h","value","scrollY","m","create","position","height","marginBottom","flexDirection","gap","flex","justifyContent","paddingVertical","overflow","zIndex","top","left","right","bottom","backgroundColor","primary"],"sourceRoot":"../../../src","sources":["DatePicker/TimePicker.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Animated, StyleSheet, Text } from 'react-native';
|
|
5
|
+
import Color from "../../Color/Color.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const ITEM_HEIGHT = 40;
|
|
8
|
+
const AnimatedItem = /*#__PURE__*/React.memo(({
|
|
9
|
+
value,
|
|
10
|
+
scrollY,
|
|
11
|
+
index,
|
|
12
|
+
type
|
|
13
|
+
}) => {
|
|
14
|
+
const normalizedValue = type === 'hour' ? (value % 24 + 24) % 24 : (value % 60 + 60) % 60;
|
|
15
|
+
const inputRange = [(index - 2) * ITEM_HEIGHT, (index - 1) * ITEM_HEIGHT, index * ITEM_HEIGHT, (index + 1) * ITEM_HEIGHT, (index + 2) * ITEM_HEIGHT];
|
|
16
|
+
const scale = scrollY.interpolate({
|
|
17
|
+
inputRange,
|
|
18
|
+
outputRange: [0.7, 0.85, 1, 0.85, 0.7],
|
|
19
|
+
extrapolate: 'clamp'
|
|
20
|
+
});
|
|
21
|
+
const opacity = scrollY.interpolate({
|
|
22
|
+
inputRange,
|
|
23
|
+
outputRange: [0.3, 0.6, 1, 0.6, 0.3],
|
|
24
|
+
extrapolate: 'clamp'
|
|
25
|
+
});
|
|
26
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
27
|
+
style: [styles.item, {
|
|
28
|
+
transform: [{
|
|
29
|
+
scale
|
|
30
|
+
}],
|
|
31
|
+
opacity
|
|
32
|
+
}],
|
|
33
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
34
|
+
style: styles.itemText,
|
|
35
|
+
children: normalizedValue.toString().padStart(2, '0')
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
const styles = StyleSheet.create({
|
|
40
|
+
itemText: {
|
|
41
|
+
fontSize: 22,
|
|
42
|
+
color: Color.gray[900],
|
|
43
|
+
fontWeight: '600'
|
|
44
|
+
},
|
|
45
|
+
item: {
|
|
46
|
+
height: ITEM_HEIGHT,
|
|
47
|
+
justifyContent: 'center',
|
|
48
|
+
alignItems: 'center'
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
export default AnimatedItem;
|
|
52
|
+
//# sourceMappingURL=AnimatedItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Animated","StyleSheet","Text","Color","jsx","_jsx","ITEM_HEIGHT","AnimatedItem","memo","value","scrollY","index","type","normalizedValue","inputRange","scale","interpolate","outputRange","extrapolate","opacity","View","style","styles","item","transform","children","itemText","toString","padStart","create","fontSize","color","gray","fontWeight","height","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["DatePicker/partials/AnimatedItem.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACzD,OAAOC,KAAK,MAAM,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAStC,MAAMC,WAAW,GAAG,EAAE;AAEtB,MAAMC,YAAY,gBAAGR,KAAK,CAACS,IAAI,CAC7B,CAAC;EAAEC,KAAK;EAAEC,OAAO;EAAEC,KAAK;EAAEC;AAAwB,CAAC,KAAK;EACtD,MAAMC,eAAe,GACnBD,IAAI,KAAK,MAAM,GAAG,CAAEH,KAAK,GAAG,EAAE,GAAI,EAAE,IAAI,EAAE,GAAG,CAAEA,KAAK,GAAG,EAAE,GAAI,EAAE,IAAI,EAAE;EAEvE,MAAMK,UAAU,GAAG,CACjB,CAACH,KAAK,GAAG,CAAC,IAAIL,WAAW,EACzB,CAACK,KAAK,GAAG,CAAC,IAAIL,WAAW,EACzBK,KAAK,GAAGL,WAAW,EACnB,CAACK,KAAK,GAAG,CAAC,IAAIL,WAAW,EACzB,CAACK,KAAK,GAAG,CAAC,IAAIL,WAAW,CAC1B;EAED,MAAMS,KAAK,GAAGL,OAAO,CAACM,WAAW,CAAC;IAChCF,UAAU;IACVG,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC;IACtCC,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGT,OAAO,CAACM,WAAW,CAAC;IAClCF,UAAU;IACVG,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACpCC,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,oBACEb,IAAA,CAACL,QAAQ,CAACoB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,SAAS,EAAE,CAAC;QAAET;MAAM,CAAC,CAAC;MAAEI;IAAQ,CAAC,CAAE;IAAAM,QAAA,eACvEpB,IAAA,CAACH,IAAI;MAACmB,KAAK,EAAEC,MAAM,CAACI,QAAS;MAAAD,QAAA,EAC1BZ,eAAe,CAACc,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG;IAAC,CACxC;EAAC,CACM,CAAC;AAEpB,CACF,CAAC;AAED,MAAMN,MAAM,GAAGrB,UAAU,CAAC4B,MAAM,CAAC;EAC/BH,QAAQ,EAAE;IACRI,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE5B,KAAK,CAAC6B,IAAI,CAAC,GAAG,CAAC;IACtBC,UAAU,EAAE;EACd,CAAC;EACDV,IAAI,EAAE;IACJW,MAAM,EAAE5B,WAAW;IACnB6B,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAe7B,YAAY","ignoreList":[]}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import BottomSheet from "../BottomSheet/BottomSheet.js";
|
|
6
|
-
import Button from "../Button/Button.js";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
7
5
|
import Color from "../Color/Color.js";
|
|
8
|
-
import List from "../List/List.js";
|
|
9
|
-
import ListItem from "../List/ListItem.js";
|
|
10
6
|
import Typography from "../Typography/Typography.js";
|
|
11
|
-
import Card from "../Ui/Card.js";
|
|
12
|
-
import Center from "../Ui/Center.js";
|
|
13
7
|
import { pick } from '@react-native-documents/picker';
|
|
14
8
|
import { viewDocument } from '@react-native-documents/viewer';
|
|
15
9
|
import { launchCamera, launchImageLibrary } from 'react-native-image-picker';
|
|
16
|
-
import
|
|
10
|
+
import { spacing } from "../styles/spacing.js";
|
|
17
11
|
import Input from "./Input.js";
|
|
18
|
-
import
|
|
12
|
+
import CardTrigger from "./partials/InputFile/CardTrigger.js";
|
|
13
|
+
import ItemPreview from "./partials/InputFile/ItemPreview.js";
|
|
14
|
+
import ModalDelete from "./partials/InputFile/ModalDelete.js";
|
|
15
|
+
import ModalPicker from "./partials/InputFile/ModalPicker.js";
|
|
16
|
+
import CardTriggerSmall from "./partials/InputFile/CardTriggerSmall.js";
|
|
17
|
+
|
|
18
|
+
// Union type
|
|
19
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
20
|
export default function InputFile({
|
|
20
21
|
title = 'Upload File',
|
|
21
22
|
description = 'File harus berformat JPG, PNG dan PDF',
|
|
@@ -27,6 +28,9 @@ export default function InputFile({
|
|
|
27
28
|
modalDeleteText,
|
|
28
29
|
useChangeLabel = false,
|
|
29
30
|
changeLableProps,
|
|
31
|
+
variant = 'default',
|
|
32
|
+
hint,
|
|
33
|
+
hasError,
|
|
30
34
|
onChange
|
|
31
35
|
}) {
|
|
32
36
|
const [isOpenBottomSheetTypeFile, setIsOpenBottomSheetTypeFile] = useState(false);
|
|
@@ -160,36 +164,37 @@ export default function InputFile({
|
|
|
160
164
|
setFiles(value ?? []);
|
|
161
165
|
}, [value]);
|
|
162
166
|
return /*#__PURE__*/_jsxs(View, {
|
|
163
|
-
style:
|
|
164
|
-
children: [/*#__PURE__*/_jsx(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
167
|
+
style: spacing.gap[12],
|
|
168
|
+
children: [variant === 'default' && /*#__PURE__*/_jsx(CardTrigger, {
|
|
169
|
+
title: title,
|
|
170
|
+
hint: hint,
|
|
171
|
+
hasError: hasError,
|
|
172
|
+
description: description,
|
|
173
|
+
btnSelect: btnChooseFileText,
|
|
174
|
+
onPress: handleOnPresChoseFile
|
|
175
|
+
}), variant === 'small' && /*#__PURE__*/_jsxs(View, {
|
|
176
|
+
style: spacing.gap[4],
|
|
177
|
+
children: [/*#__PURE__*/_jsx(CardTriggerSmall, {
|
|
178
|
+
files: files,
|
|
179
|
+
title: title,
|
|
180
|
+
textButton: btnChooseFileText,
|
|
181
|
+
onChooseFile: handleOnPresChoseFile,
|
|
182
|
+
onPreview: handlePreviewFile,
|
|
183
|
+
onReplace: handleReplaceFile,
|
|
184
|
+
onDelete: confirmDeleteFile
|
|
185
|
+
}), files.length > 0 && /*#__PURE__*/_jsx(_Fragment, {
|
|
186
|
+
children: files.filter(file => !!file.error).map((file, index) => /*#__PURE__*/_jsx(Typography, {
|
|
176
187
|
variant: "t3",
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
size: "small",
|
|
184
|
-
onPress: handleOnPresChoseFile
|
|
185
|
-
})]
|
|
186
|
-
})
|
|
187
|
-
}), files.map((file, index) => /*#__PURE__*/_jsxs(View, {
|
|
188
|
-
style: styles.previewWrapper,
|
|
188
|
+
color: Color.danger[500],
|
|
189
|
+
children: file.hint
|
|
190
|
+
}, index))
|
|
191
|
+
})]
|
|
192
|
+
}), variant === 'default' && files.map((file, index) => /*#__PURE__*/_jsxs(View, {
|
|
193
|
+
style: spacing.gap[12],
|
|
189
194
|
children: [useChangeLabel && /*#__PURE__*/_jsx(Input, {
|
|
190
195
|
label: `${changeLableProps?.label || 'Nama Dokumen'} ${index + 1}`,
|
|
191
|
-
placeholder: changeLableProps?.placeholder || 'Masukan Nama Dokumen',
|
|
192
196
|
value: file.labelFile,
|
|
197
|
+
placeholder: changeLableProps?.placeholder || 'Masukan Nama Dokumen',
|
|
193
198
|
onChangeText: text => {
|
|
194
199
|
const updatedFiles = files.map((f, i) => i === index ? {
|
|
195
200
|
...f,
|
|
@@ -199,256 +204,52 @@ export default function InputFile({
|
|
|
199
204
|
onChange?.(updatedFiles);
|
|
200
205
|
}
|
|
201
206
|
}), /*#__PURE__*/_jsxs(View, {
|
|
202
|
-
style:
|
|
203
|
-
children: [/*#__PURE__*/_jsx(
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
style: [styles.containerListItem, styles.flex1],
|
|
210
|
-
children: [file.type.startsWith('image') ? /*#__PURE__*/_jsx(Image, {
|
|
211
|
-
source: file.uri?.endsWith('.pdf') ? require('../Input/assets/input-file.png') : {
|
|
212
|
-
uri: file.uri
|
|
213
|
-
},
|
|
214
|
-
style: styles.previewImage
|
|
215
|
-
}) : /*#__PURE__*/_jsx(View, {
|
|
216
|
-
style: styles.previewImage,
|
|
217
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
218
|
-
name: "Document",
|
|
219
|
-
color: Color.primary[1000]
|
|
220
|
-
})
|
|
221
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
222
|
-
style: styles.fileDetails,
|
|
223
|
-
children: [/*#__PURE__*/_jsx(Typography, {
|
|
224
|
-
variant: "t1",
|
|
225
|
-
weight: "semibold",
|
|
226
|
-
color: Color.gray[600],
|
|
227
|
-
numberOfLines: 1,
|
|
228
|
-
children: file.name || `Image_${index + 1}`
|
|
229
|
-
}), /*#__PURE__*/_jsxs(Typography, {
|
|
230
|
-
variant: "t2",
|
|
231
|
-
weight: "regular",
|
|
232
|
-
color: Color.gray[600],
|
|
233
|
-
children: [((file?.size ?? file?.fileSize ?? 0) / (1024 * 1024)).toFixed(2), "MB"]
|
|
234
|
-
})]
|
|
235
|
-
})]
|
|
236
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
237
|
-
style: styles.action,
|
|
238
|
-
children: [file.error && /*#__PURE__*/_jsx(Icon, {
|
|
239
|
-
name: "exclamation-triangle",
|
|
240
|
-
color: Color.danger[500],
|
|
241
|
-
size: 20
|
|
242
|
-
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
243
|
-
onPress: () => handleReplaceFile(index),
|
|
244
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
245
|
-
name: "rotate-right",
|
|
246
|
-
size: 18,
|
|
247
|
-
color: Color.gray[700]
|
|
248
|
-
})
|
|
249
|
-
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
250
|
-
onPress: () => confirmDeleteFile(index),
|
|
251
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
252
|
-
name: "Times",
|
|
253
|
-
size: 12,
|
|
254
|
-
color: Color.gray[700]
|
|
255
|
-
})
|
|
256
|
-
})]
|
|
257
|
-
})]
|
|
258
|
-
})
|
|
259
|
-
})
|
|
207
|
+
style: spacing.gap[4],
|
|
208
|
+
children: [/*#__PURE__*/_jsx(ItemPreview, {
|
|
209
|
+
index: index,
|
|
210
|
+
file: file,
|
|
211
|
+
onPress: () => handlePreviewFile(file),
|
|
212
|
+
onReplace: () => handleReplaceFile(index),
|
|
213
|
+
onDelete: () => confirmDeleteFile(index)
|
|
260
214
|
}), file.hint && /*#__PURE__*/_jsx(Typography, {
|
|
261
215
|
variant: "t3",
|
|
262
216
|
color: !file.error ? Color.gray[700] : Color.danger[500],
|
|
263
217
|
children: file.hint
|
|
264
218
|
})]
|
|
265
219
|
})]
|
|
266
|
-
}, index)), /*#__PURE__*/_jsx(
|
|
220
|
+
}, index)), /*#__PURE__*/_jsx(ModalPicker, {
|
|
267
221
|
isOpen: isOpenBottomSheetTypeFile,
|
|
268
222
|
onClose: () => setIsOpenBottomSheetTypeFile(false),
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
children: [/*#__PURE__*/_jsx(Icon, {
|
|
291
|
-
name: "Camera",
|
|
292
|
-
color: Color.primary[1000]
|
|
293
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
294
|
-
children: [/*#__PURE__*/_jsx(Typography, {
|
|
295
|
-
variant: "t2",
|
|
296
|
-
weight: "semibold",
|
|
297
|
-
color: Color.gray[800],
|
|
298
|
-
children: modalPickFileText?.camera?.title || 'Ambil Foto'
|
|
299
|
-
}), /*#__PURE__*/_jsx(Typography, {
|
|
300
|
-
variant: "t2",
|
|
301
|
-
color: Color.gray[600],
|
|
302
|
-
children: modalPickFileText?.camera?.description || 'Langsung ambil gambar dari kamera'
|
|
303
|
-
})]
|
|
304
|
-
})]
|
|
305
|
-
})
|
|
306
|
-
})
|
|
307
|
-
}), /*#__PURE__*/_jsx(ListItem, {
|
|
308
|
-
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
309
|
-
onPress: handleOnPressButtonGallery,
|
|
310
|
-
children: /*#__PURE__*/_jsxs(View, {
|
|
311
|
-
style: styles.containerListItem,
|
|
312
|
-
children: [/*#__PURE__*/_jsx(Icon, {
|
|
313
|
-
name: "Image",
|
|
314
|
-
color: Color.primary[1000]
|
|
315
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
316
|
-
children: [/*#__PURE__*/_jsx(Typography, {
|
|
317
|
-
variant: "t2",
|
|
318
|
-
weight: "semibold",
|
|
319
|
-
color: Color.gray[800],
|
|
320
|
-
children: modalPickFileText?.gallery?.title || 'Pilih dari Galeri'
|
|
321
|
-
}), /*#__PURE__*/_jsx(Typography, {
|
|
322
|
-
variant: "t2",
|
|
323
|
-
color: Color.gray[600],
|
|
324
|
-
children: modalPickFileText?.gallery?.description || 'Cari gambar dari galeri perangkatmu'
|
|
325
|
-
})]
|
|
326
|
-
})]
|
|
327
|
-
})
|
|
328
|
-
})
|
|
329
|
-
}), /*#__PURE__*/_jsx(ListItem, {
|
|
330
|
-
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
331
|
-
onPress: handlePickFile,
|
|
332
|
-
children: /*#__PURE__*/_jsxs(View, {
|
|
333
|
-
style: styles.containerListItem,
|
|
334
|
-
children: [/*#__PURE__*/_jsx(Icon, {
|
|
335
|
-
name: "Document",
|
|
336
|
-
color: Color.primary[1000]
|
|
337
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
338
|
-
children: [/*#__PURE__*/_jsx(Typography, {
|
|
339
|
-
variant: "t2",
|
|
340
|
-
weight: "semibold",
|
|
341
|
-
color: Color.gray[800],
|
|
342
|
-
children: modalPickFileText?.document?.title || 'Pilih Dokumen'
|
|
343
|
-
}), /*#__PURE__*/_jsx(Typography, {
|
|
344
|
-
variant: "t2",
|
|
345
|
-
color: Color.gray[600],
|
|
346
|
-
children: modalPickFileText?.document?.description || 'Pilih dokumen dari perangkatmu'
|
|
347
|
-
})]
|
|
348
|
-
})]
|
|
349
|
-
})
|
|
350
|
-
})
|
|
351
|
-
})]
|
|
352
|
-
})]
|
|
353
|
-
})
|
|
354
|
-
}), /*#__PURE__*/_jsx(BottomSheet, {
|
|
223
|
+
title: modalPickFileText?.title || 'Upload Dokumen',
|
|
224
|
+
description: modalPickFileText?.description || 'Unggah dokumen maksimal',
|
|
225
|
+
camera: {
|
|
226
|
+
icon: 'Camera',
|
|
227
|
+
title: modalPickFileText?.camera?.title || 'Ambil Foto',
|
|
228
|
+
onPress: handleOnPressButtonCamera,
|
|
229
|
+
description: modalPickFileText?.camera?.description || 'Langsung ambil gambar dari kamera'
|
|
230
|
+
},
|
|
231
|
+
gallery: {
|
|
232
|
+
icon: 'Image',
|
|
233
|
+
title: modalPickFileText?.gallery?.title || 'Pilih Dari Galeri',
|
|
234
|
+
onPress: handleOnPressButtonGallery,
|
|
235
|
+
description: modalPickFileText?.gallery?.description || 'Cari gambar dari galeri perangkatmu'
|
|
236
|
+
},
|
|
237
|
+
document: {
|
|
238
|
+
icon: 'Document',
|
|
239
|
+
title: modalPickFileText?.document?.title || 'Pilih Dokumen',
|
|
240
|
+
onPress: handlePickFile,
|
|
241
|
+
description: modalPickFileText?.document?.description || 'Pilih dokumen dari perangkatmu'
|
|
242
|
+
}
|
|
243
|
+
}), /*#__PURE__*/_jsx(ModalDelete, {
|
|
355
244
|
isOpen: isOpenBottomSheetDeleteFile,
|
|
356
245
|
onClose: () => setIsOpenBottomSheetDeleteFile(false),
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
weight: "semibold",
|
|
364
|
-
color: Color.gray[800],
|
|
365
|
-
center: true,
|
|
366
|
-
children: modalDeleteText?.title || 'Hapus Dokumen'
|
|
367
|
-
}), /*#__PURE__*/_jsx(Typography, {
|
|
368
|
-
variant: "t1",
|
|
369
|
-
weight: "regular",
|
|
370
|
-
color: Color.gray[500],
|
|
371
|
-
center: true,
|
|
372
|
-
children: modalDeleteText?.description || 'Apakah kamu akan menghapus dokumen yang dipilih?'
|
|
373
|
-
})]
|
|
374
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
375
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
376
|
-
color: "danger",
|
|
377
|
-
title: modalDeleteText?.confirmBtn?.confirm || 'Hapus',
|
|
378
|
-
onPress: deleteFile
|
|
379
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
380
|
-
color: "primary",
|
|
381
|
-
variant: "tertiary",
|
|
382
|
-
title: modalDeleteText?.confirmBtn?.cancel || 'Batal',
|
|
383
|
-
onPress: () => setIsOpenBottomSheetDeleteFile(false)
|
|
384
|
-
})]
|
|
385
|
-
})]
|
|
386
|
-
})
|
|
246
|
+
title: modalDeleteText?.title || 'Hapus Dokumen',
|
|
247
|
+
descripition: modalDeleteText?.description || 'Apakah kamu akan menghapus dokumen yang dipilih?',
|
|
248
|
+
confirm: modalDeleteText?.confirmBtn?.confirm || 'Hapus',
|
|
249
|
+
onConfirm: deleteFile,
|
|
250
|
+
cancel: modalDeleteText?.confirmBtn?.cancel || 'Batal',
|
|
251
|
+
onCnacel: () => setIsOpenBottomSheetDeleteFile(false)
|
|
387
252
|
})]
|
|
388
253
|
});
|
|
389
254
|
}
|
|
390
|
-
const styles = StyleSheet.create({
|
|
391
|
-
wrapper: {
|
|
392
|
-
gap: 12
|
|
393
|
-
},
|
|
394
|
-
containerInput: {
|
|
395
|
-
borderStyle: 'dashed',
|
|
396
|
-
backgroundColor: Color.gray[50],
|
|
397
|
-
borderRadius: 16
|
|
398
|
-
},
|
|
399
|
-
centerInput: {
|
|
400
|
-
gap: 14
|
|
401
|
-
},
|
|
402
|
-
containerPreview: {
|
|
403
|
-
flexDirection: 'row',
|
|
404
|
-
justifyContent: 'space-between',
|
|
405
|
-
alignItems: 'center',
|
|
406
|
-
gap: 8
|
|
407
|
-
},
|
|
408
|
-
previewImage: {
|
|
409
|
-
width: 44,
|
|
410
|
-
height: 44,
|
|
411
|
-
borderRadius: 6,
|
|
412
|
-
alignItems: 'center',
|
|
413
|
-
justifyContent: 'center'
|
|
414
|
-
},
|
|
415
|
-
fileDetails: {
|
|
416
|
-
justifyContent: 'center',
|
|
417
|
-
gap: 4,
|
|
418
|
-
flex: 1
|
|
419
|
-
},
|
|
420
|
-
containerListItem: {
|
|
421
|
-
flexDirection: 'row',
|
|
422
|
-
gap: 8,
|
|
423
|
-
alignItems: 'center'
|
|
424
|
-
},
|
|
425
|
-
bottomSheetContent: {
|
|
426
|
-
gap: 16
|
|
427
|
-
},
|
|
428
|
-
bottomSheetCenter: {
|
|
429
|
-
alignItems: 'center'
|
|
430
|
-
},
|
|
431
|
-
deleteFileContent: {
|
|
432
|
-
gap: 10
|
|
433
|
-
},
|
|
434
|
-
deleteFileCenter: {
|
|
435
|
-
alignItems: 'center',
|
|
436
|
-
gap: 4
|
|
437
|
-
},
|
|
438
|
-
action: {
|
|
439
|
-
flexDirection: 'row',
|
|
440
|
-
alignItems: 'center',
|
|
441
|
-
gap: 12,
|
|
442
|
-
flexShrink: 0
|
|
443
|
-
},
|
|
444
|
-
previewWrapper: {
|
|
445
|
-
gap: 12
|
|
446
|
-
},
|
|
447
|
-
flex1: {
|
|
448
|
-
flex: 1
|
|
449
|
-
},
|
|
450
|
-
gap4: {
|
|
451
|
-
gap: 4
|
|
452
|
-
}
|
|
453
|
-
});
|
|
454
255
|
//# sourceMappingURL=InputFile.js.map
|