@herca/rn-kit 0.1.10 → 0.1.11
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 +1 -1
- package/lib/module/Chip/Chip.js +10 -5
- package/lib/module/Chip/Chip.js.map +1 -1
- package/lib/module/Drawing/Drawing.js +33 -12
- package/lib/module/Drawing/Drawing.js.map +1 -1
- package/lib/module/Drawing/README.md +31 -0
- package/lib/module/Drawing/type.js +2 -0
- package/lib/module/Drawing/type.js.map +1 -0
- package/lib/module/FileView/PdfView.js +12 -19
- package/lib/module/FileView/PdfView.js.map +1 -1
- package/lib/module/Provider/FooterProvider.js +4 -1
- package/lib/module/Provider/FooterProvider.js.map +1 -1
- package/lib/module/Select/Select.js +20 -13
- package/lib/module/Select/Select.js.map +1 -1
- package/lib/module/Tab/TabItem.js +1 -5
- package/lib/module/Tab/TabItem.js.map +1 -1
- package/lib/module/Ui/Footer.js +11 -9
- package/lib/module/Ui/Footer.js.map +1 -1
- package/lib/module/hooks/useOptionalFocusEffect.js +19 -0
- package/lib/module/hooks/useOptionalFocusEffect.js.map +1 -0
- package/lib/typescript/src/Chip/Chip.d.ts.map +1 -1
- package/lib/typescript/src/Chip/type.d.ts +2 -0
- package/lib/typescript/src/Chip/type.d.ts.map +1 -1
- package/lib/typescript/src/Drawing/Drawing.d.ts +4 -2
- package/lib/typescript/src/Drawing/Drawing.d.ts.map +1 -1
- package/lib/typescript/src/Drawing/type.d.ts +1 -0
- package/lib/typescript/src/Drawing/type.d.ts.map +1 -0
- package/lib/typescript/src/FileView/PdfView.d.ts +11 -1
- package/lib/typescript/src/FileView/PdfView.d.ts.map +1 -1
- package/lib/typescript/src/Provider/FooterProvider.d.ts.map +1 -1
- package/lib/typescript/src/Select/Select.d.ts +1 -1
- package/lib/typescript/src/Select/Select.d.ts.map +1 -1
- package/lib/typescript/src/Select/type.d.ts +2 -0
- package/lib/typescript/src/Select/type.d.ts.map +1 -1
- package/lib/typescript/src/Tab/TabItem.d.ts +3 -1
- package/lib/typescript/src/Tab/TabItem.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Footer.d.ts +1 -1
- package/lib/typescript/src/Ui/Footer.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useOptionalFocusEffect.d.ts +2 -0
- package/lib/typescript/src/hooks/useOptionalFocusEffect.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/Chip/Chip.tsx +9 -3
- package/src/Chip/type.tsx +2 -0
- package/src/Drawing/Drawing.tsx +44 -17
- package/src/Drawing/README.md +31 -0
- package/src/Drawing/type.tsx +0 -0
- package/src/FileView/PdfView.tsx +22 -19
- package/src/Provider/FooterProvider.tsx +2 -1
- package/src/Select/Select.tsx +20 -11
- package/src/Select/type.tsx +2 -0
- package/src/Tab/TabItem.tsx +3 -4
- package/src/Ui/Footer.tsx +14 -9
- package/src/hooks/useOptionalFocusEffect.ts +18 -0
package/README.md
CHANGED
package/lib/module/Chip/Chip.js
CHANGED
|
@@ -17,7 +17,9 @@ const Chip = ({
|
|
|
17
17
|
block = false,
|
|
18
18
|
size = 'medium',
|
|
19
19
|
onRefresh,
|
|
20
|
-
refreshing = false
|
|
20
|
+
refreshing = false,
|
|
21
|
+
onEndReached,
|
|
22
|
+
footer
|
|
21
23
|
}) => {
|
|
22
24
|
const isHorizontal = direction === 'horizontal';
|
|
23
25
|
const normalizeSelected = val => Array.isArray(val) ? val : val ? [val] : [];
|
|
@@ -64,6 +66,7 @@ const Chip = ({
|
|
|
64
66
|
}),
|
|
65
67
|
keyExtractor: item => String(item.value),
|
|
66
68
|
horizontal: isHorizontal,
|
|
69
|
+
onEndReached: onEndReached,
|
|
67
70
|
onRefresh: onRefresh,
|
|
68
71
|
refreshing: refreshing,
|
|
69
72
|
scrollEnabled: scrollable,
|
|
@@ -73,16 +76,18 @@ const Chip = ({
|
|
|
73
76
|
flexDirection: isHorizontal ? 'row' : 'column',
|
|
74
77
|
alignItems: block ? 'stretch' : 'flex-start'
|
|
75
78
|
}],
|
|
76
|
-
columnWrapperStyle: numColumns > 1 ?
|
|
77
|
-
|
|
78
|
-
flexWrap: 'wrap'
|
|
79
|
-
} : undefined
|
|
79
|
+
columnWrapperStyle: numColumns > 1 ? styles.wrapperStyle : undefined,
|
|
80
|
+
ListFooterComponent: footer
|
|
80
81
|
});
|
|
81
82
|
};
|
|
82
83
|
const styles = StyleSheet.create({
|
|
83
84
|
container: {
|
|
84
85
|
gap: 8
|
|
85
86
|
},
|
|
87
|
+
wrapperStyle: {
|
|
88
|
+
gap: 8,
|
|
89
|
+
flexWrap: 'wrap'
|
|
90
|
+
},
|
|
86
91
|
chip: {
|
|
87
92
|
borderRadius: 8,
|
|
88
93
|
borderWidth: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useMemo","FlatList","StyleSheet","ChipItem","jsx","_jsx","Chip","options","selected","onSelect","onPress","direction","color","renderItem","multiple","scrollable","block","size","onRefresh","refreshing","isHorizontal","normalizeSelected","val","Array","isArray","internalSelected","setInternalSelected","newSelected","JSON","stringify","isSelected","value","includes","handleSelect","length","filter","v","numColumns","handleOnPresChipItem","isDisabled","item","data","keyExtractor","String","horizontal","scrollEnabled","keyboardShouldPersistTaps","contentContainerStyle","styles","container","flexDirection","alignItems","columnWrapperStyle","
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useMemo","FlatList","StyleSheet","ChipItem","jsx","_jsx","Chip","options","selected","onSelect","onPress","direction","color","renderItem","multiple","scrollable","block","size","onRefresh","refreshing","onEndReached","footer","isHorizontal","normalizeSelected","val","Array","isArray","internalSelected","setInternalSelected","newSelected","JSON","stringify","isSelected","value","includes","handleSelect","length","filter","v","numColumns","handleOnPresChipItem","isDisabled","item","data","keyExtractor","String","horizontal","scrollEnabled","keyboardShouldPersistTaps","contentContainerStyle","styles","container","flexDirection","alignItems","columnWrapperStyle","wrapperStyle","undefined","ListFooterComponent","create","gap","flexWrap","chip","borderRadius","borderWidth","alignSelf","chipSmall","paddingVertical","paddingHorizontal","chipMedium","chipLarge","blockChip","width"],"sourceRoot":"../../../src","sources":["Chip/Chip.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,37 +8,58 @@ import Button from "../Button/Button.js";
|
|
|
8
8
|
import Color from "../Color/Color.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
const Drawing = ({
|
|
11
|
-
|
|
11
|
+
onChange,
|
|
12
|
+
onEnd,
|
|
13
|
+
onStart
|
|
12
14
|
}) => {
|
|
13
15
|
const ref = useRef(null);
|
|
14
16
|
const handleSignature = signature => {
|
|
15
|
-
if (signature &&
|
|
16
|
-
|
|
17
|
+
if (signature && onChange) {
|
|
18
|
+
onChange(signature);
|
|
17
19
|
}
|
|
18
20
|
};
|
|
21
|
+
const refreshSignature = () => requestAnimationFrame(() => ref.current?.readSignature());
|
|
19
22
|
const handleEmpty = () => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
console.log('Signature cleared');
|
|
23
|
+
if (onChange) {
|
|
24
|
+
onChange(null);
|
|
25
|
+
}
|
|
24
26
|
};
|
|
25
27
|
const handleError = error => {
|
|
26
28
|
console.error('Signature pad error:', error);
|
|
27
29
|
};
|
|
28
30
|
const handleEnd = () => {
|
|
29
|
-
|
|
31
|
+
refreshSignature();
|
|
32
|
+
if (onEnd) {
|
|
33
|
+
onEnd();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const handleBegin = () => {
|
|
37
|
+
if (onStart) {
|
|
38
|
+
onStart();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const undo = () => {
|
|
42
|
+
ref.current?.undo();
|
|
43
|
+
refreshSignature();
|
|
44
|
+
};
|
|
45
|
+
const redo = () => {
|
|
46
|
+
ref.current?.redo();
|
|
47
|
+
refreshSignature();
|
|
48
|
+
};
|
|
49
|
+
const clear = () => {
|
|
50
|
+
ref.current?.clearSignature();
|
|
51
|
+
if (onChange) {
|
|
52
|
+
onChange(null);
|
|
53
|
+
}
|
|
30
54
|
};
|
|
31
|
-
const undo = () => ref.current?.undo();
|
|
32
|
-
const redo = () => ref.current?.redo();
|
|
33
|
-
const clear = () => ref.current?.clearSignature();
|
|
34
55
|
return /*#__PURE__*/_jsxs(View, {
|
|
35
56
|
style: styles.container,
|
|
36
57
|
children: [/*#__PURE__*/_jsx(SignatureCanvas, {
|
|
37
58
|
ref: ref,
|
|
38
59
|
onEnd: handleEnd,
|
|
60
|
+
onBegin: handleBegin,
|
|
39
61
|
onOK: handleSignature,
|
|
40
62
|
onEmpty: handleEmpty,
|
|
41
|
-
onClear: handleClear,
|
|
42
63
|
onError: handleError,
|
|
43
64
|
descriptionText: " ",
|
|
44
65
|
webStyle: `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","StyleSheet","View","TouchableOpacity","SignatureCanvas","Icon","Button","Color","jsx","_jsx","jsxs","_jsxs","Drawing","
|
|
1
|
+
{"version":3,"names":["useRef","StyleSheet","View","TouchableOpacity","SignatureCanvas","Icon","Button","Color","jsx","_jsx","jsxs","_jsxs","Drawing","onChange","onEnd","onStart","ref","handleSignature","signature","refreshSignature","requestAnimationFrame","current","readSignature","handleEmpty","handleError","error","console","handleEnd","handleBegin","undo","redo","clear","clearSignature","style","styles","container","children","onBegin","onOK","onEmpty","onError","descriptionText","webStyle","gray","clearText","penColor","backgroundColor","base","white100","webviewProps","cacheEnabled","androidLayerType","footerConteiner","actionButtonContainer","onPress","name","variant","color","title","size","create","height","flexDirection","justifyContent","alignContent","alignItems","gap","preview","width","marginTop"],"sourceRoot":"../../../src","sources":["Drawing/Drawing.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AACjE,OAAOC,eAAe,MAEf,+BAA+B;AACtC,OAAOC,IAAI,MAAM,kBAAS;AAC1B,OAAOC,MAAM,MAAM,qBAAkB;AACrC,OAAOC,KAAK,MAAM,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQnC,MAAMC,OAAO,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAsB,CAAC,KAAK;EAC9D,MAAMC,GAAG,GAAGhB,MAAM,CAA0B,IAAI,CAAC;EAEjD,MAAMiB,eAAe,GAAIC,SAAiB,IAAK;IAC7C,IAAIA,SAAS,IAAIL,QAAQ,EAAE;MACzBA,QAAQ,CAACK,SAAS,CAAC;IACrB;EACF,CAAC;EAED,MAAMC,gBAAgB,GAAGA,CAAA,KACvBC,qBAAqB,CAAC,MAAMJ,GAAG,CAACK,OAAO,EAAEC,aAAa,CAAC,CAAC,CAAC;EAE3D,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIV,QAAQ,EAAE;MACZA,QAAQ,CAAC,IAAI,CAAC;IAChB;EACF,CAAC;EAED,MAAMW,WAAW,GAAIC,KAAY,IAAK;IACpCC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;EAC9C,CAAC;EAED,MAAME,SAAS,GAAGA,CAAA,KAAM;IACtBR,gBAAgB,CAAC,CAAC;IAClB,IAAIL,KAAK,EAAE;MACTA,KAAK,CAAC,CAAC;IACT;EACF,CAAC;EAED,MAAMc,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIb,OAAO,EAAE;MACXA,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EAED,MAAMc,IAAI,GAAGA,CAAA,KAAM;IACjBb,GAAG,CAACK,OAAO,EAAEQ,IAAI,CAAC,CAAC;IACnBV,gBAAgB,CAAC,CAAC;EACpB,CAAC;EAED,MAAMW,IAAI,GAAGA,CAAA,KAAM;IACjBd,GAAG,CAACK,OAAO,EAAES,IAAI,CAAC,CAAC;IACnBX,gBAAgB,CAAC,CAAC;EACpB,CAAC;EAED,MAAMY,KAAK,GAAGA,CAAA,KAAM;IAClBf,GAAG,CAACK,OAAO,EAAEW,cAAc,CAAC,CAAC;IAC7B,IAAInB,QAAQ,EAAE;MACZA,QAAQ,CAAC,IAAI,CAAC;IAChB;EACF,CAAC;EAED,oBACEF,KAAA,CAACT,IAAI;IAAC+B,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B3B,IAAA,CAACL,eAAe;MACdY,GAAG,EAAEA,GAAI;MACTF,KAAK,EAAEa,SAAU;MACjBU,OAAO,EAAET,WAAY;MACrBU,IAAI,EAAErB,eAAgB;MACtBsB,OAAO,EAAEhB,WAAY;MACrBiB,OAAO,EAAEhB,WAAY;MACrBiB,eAAe,EAAC,GAAG;MACnBC,QAAQ,EAAE;AAClB,6DAA6DnC,KAAK,CAACoC,IAAI,CAAC,GAAG,CAAC;AAC5E,iDAAiDpC,KAAK,CAACoC,IAAI,CAAC,GAAG,CAAC;AAChE;AACA;AACA;AACA,SAAU;MACFC,SAAS,EAAE,OAAQ;MACnBC,QAAQ,EAAEtC,KAAK,CAACoC,IAAI,CAAC,GAAG,CAAE;MAC1BG,eAAe,EAAEvC,KAAK,CAACwC,IAAI,CAACC,QAAS;MACrCC,YAAY,EAAE;QACZC,YAAY,EAAE,IAAI;QAClBC,gBAAgB,EAAE;MACpB;IAAE,CACH,CAAC,eACFxC,KAAA,CAACT,IAAI;MAAC+B,KAAK,EAAEC,MAAM,CAACkB,eAAgB;MAAAhB,QAAA,gBAClCzB,KAAA,CAACT,IAAI;QAAC+B,KAAK,EAAEC,MAAM,CAACmB,qBAAsB;QAAAjB,QAAA,gBACxC3B,IAAA,CAACN,gBAAgB;UAACmD,OAAO,EAAEzB,IAAK;UAAAO,QAAA,eAC9B3B,IAAA,CAACJ,IAAI;YAACkD,IAAI,EAAC;UAAc,CAAE;QAAC,CACZ,CAAC,eACnB9C,IAAA,CAACN,gBAAgB;UAACmD,OAAO,EAAExB,IAAK;UAAAM,QAAA,eAC9B3B,IAAA,CAACJ,IAAI;YAACkD,IAAI,EAAC;UAAiB,CAAE;QAAC,CACf,CAAC;MAAA,CACf,CAAC,eACP9C,IAAA,CAACH,MAAM;QACLkD,OAAO,EAAC,SAAS;QACjBC,KAAK,EAAC,SAAS;QACfC,KAAK,EAAC,OAAO;QACbC,IAAI,EAAC,OAAO;QACZL,OAAO,EAAEvB;MAAM,CAChB,CAAC;IAAA,CACE,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMG,MAAM,GAAGjC,UAAU,CAAC2D,MAAM,CAAC;EAC/BzB,SAAS,EAAE;IACT0B,MAAM,EAAE;EACV,CAAC;EACDT,eAAe,EAAE;IACfU,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,YAAY,EAAE,QAAQ;IACtBC,UAAU,EAAE;EACd,CAAC;EACDZ,qBAAqB,EAAE;IACrBS,aAAa,EAAE,KAAK;IACpBI,GAAG,EAAE;EACP,CAAC;EACDC,OAAO,EAAE;IACPC,KAAK,EAAE,GAAG;IACVP,MAAM,EAAE,GAAG;IACXf,eAAe,EAAE,SAAS;IAC1BiB,cAAc,EAAE,QAAQ;IACxBE,UAAU,EAAE,QAAQ;IACpBI,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,eAAezD,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
## Contoh
|
|
2
|
+
|
|
3
|
+
```tsx
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import { View, Image } from 'react-native';
|
|
6
|
+
import Drawing from './components/Drawing/Drawing';
|
|
7
|
+
|
|
8
|
+
export default function SignatureForm() {
|
|
9
|
+
const [result, setResult] = useState<string | undefined>();
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<View style={{ flex: 1, padding: 16 }}>
|
|
13
|
+
<Drawing onDraw={setResult} />
|
|
14
|
+
|
|
15
|
+
{result && (
|
|
16
|
+
<Image
|
|
17
|
+
source={{ uri: result }}
|
|
18
|
+
style={{ width: 300, height: 100, marginTop: 24 }}
|
|
19
|
+
resizeMode="contain"
|
|
20
|
+
/>
|
|
21
|
+
)}
|
|
22
|
+
</View>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## props
|
|
28
|
+
|
|
29
|
+
| Prop | Tipe | Default | Deskripsi |
|
|
30
|
+
| -------- | -------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
31
|
+
| `onDraw` | `(value?: string \| undefined) ⇒ void` | `undefined` | Callback berisi tanda tangan **base64** saat pengguna menggambar (dipicu otomatis di `onDraw`). |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["Drawing/type.tsx"],"mappings":"","ignoreList":[]}
|
|
@@ -1,36 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { View,
|
|
3
|
+
import { View, StyleSheet } from 'react-native';
|
|
4
4
|
import Pdf from 'react-native-pdf';
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
const PdfView = ({
|
|
7
|
-
source
|
|
7
|
+
source
|
|
8
8
|
}) => {
|
|
9
|
-
if (!source) {
|
|
10
|
-
return /*#__PURE__*/_jsx(View, {});
|
|
11
|
-
}
|
|
9
|
+
if (!source) return /*#__PURE__*/_jsx(View, {});
|
|
12
10
|
return /*#__PURE__*/_jsx(View, {
|
|
13
|
-
style: styles.
|
|
11
|
+
style: styles.container,
|
|
14
12
|
children: /*#__PURE__*/_jsx(Pdf, {
|
|
15
13
|
source: source,
|
|
16
|
-
onLoadComplete:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
console.log(`current page: ${page}`);
|
|
21
|
-
},
|
|
22
|
-
onError: error => {
|
|
23
|
-
console.log(error);
|
|
24
|
-
},
|
|
25
|
-
style: [styles.flex, {
|
|
26
|
-
width: Dimensions.get('window').width
|
|
27
|
-
}]
|
|
14
|
+
onLoadComplete: pages => console.log('number of pages:', pages),
|
|
15
|
+
onPageChanged: page => console.log('current page:', page),
|
|
16
|
+
onError: err => console.error(err),
|
|
17
|
+
style: styles.pdf
|
|
28
18
|
})
|
|
29
19
|
});
|
|
30
20
|
};
|
|
31
21
|
export default PdfView;
|
|
32
22
|
const styles = StyleSheet.create({
|
|
33
|
-
|
|
23
|
+
container: {
|
|
24
|
+
flex: 1
|
|
25
|
+
},
|
|
26
|
+
pdf: {
|
|
34
27
|
flex: 1
|
|
35
28
|
}
|
|
36
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","
|
|
1
|
+
{"version":3,"names":["View","StyleSheet","Pdf","jsx","_jsx","PdfView","source","style","styles","container","children","onLoadComplete","pages","console","log","onPageChanged","page","onError","err","error","pdf","create","flex"],"sourceRoot":"../../../src","sources":["FileView/PdfView.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,OAAOC,GAAG,MAAM,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAanC,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAClD,IAAI,CAACA,MAAM,EAAE,oBAAOF,IAAA,CAACJ,IAAI,IAAE,CAAC;EAE5B,oBACEI,IAAA,CAACJ,IAAI;IAACO,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BN,IAAA,CAACF,GAAG;MACFI,MAAM,EAAEA,MAAO;MACfK,cAAc,EAAGC,KAAK,IAAKC,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAEF,KAAK,CAAE;MAClEG,aAAa,EAAGC,IAAI,IAAKH,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEE,IAAI,CAAE;MAC5DC,OAAO,EAAGC,GAAG,IAAKL,OAAO,CAACM,KAAK,CAACD,GAAG,CAAE;MACrCX,KAAK,EAAEC,MAAM,CAACY;IAAI,CACnB;EAAC,CACE,CAAC;AAEX,CAAC;AAED,eAAef,OAAO;AAEtB,MAAMG,MAAM,GAAGP,UAAU,CAACoB,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IAAEa,IAAI,EAAE;EAAE,CAAC;EACtBF,GAAG,EAAE;IAAEE,IAAI,EAAE;EAAE;AACjB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { createContext, useContext, useState } from 'react';
|
|
4
|
+
import LayoutWithFooter from "./LayoutWithFooter.js";
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
const FooterContext = /*#__PURE__*/createContext(undefined);
|
|
6
7
|
export const FooterProvider = ({
|
|
@@ -12,7 +13,9 @@ export const FooterProvider = ({
|
|
|
12
13
|
footer,
|
|
13
14
|
setFooter
|
|
14
15
|
},
|
|
15
|
-
children:
|
|
16
|
+
children: /*#__PURE__*/_jsx(LayoutWithFooter, {
|
|
17
|
+
children: children
|
|
18
|
+
})
|
|
16
19
|
});
|
|
17
20
|
};
|
|
18
21
|
export const useFooter = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useState","jsx","_jsx","FooterContext","undefined","FooterProvider","children","footer","setFooter","Provider","value","useFooter","context","Error"],"sourceRoot":"../../../src","sources":["Provider/FooterProvider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAwB,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useState","LayoutWithFooter","jsx","_jsx","FooterContext","undefined","FooterProvider","children","footer","setFooter","Provider","value","useFooter","context","Error"],"sourceRoot":"../../../src","sources":["Provider/FooterProvider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAwB,OAAO;AAC3E,OAAOC,gBAAgB,MAAM,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOlD,MAAMC,aAAa,gBAAGN,aAAa,CAAgCO,SAAS,CAAC;AAE7E,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAAkC,CAAC,KAAK;EACvE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGT,QAAQ,CAAmB,IAAI,CAAC;EAE5D,oBACEG,IAAA,CAACC,aAAa,CAACM,QAAQ;IAACC,KAAK,EAAE;MAAEH,MAAM;MAAEC;IAAU,CAAE;IAAAF,QAAA,eACnDJ,IAAA,CAACF,gBAAgB;MAAAM,QAAA,EAAEA;IAAQ,CAAmB;EAAC,CACzB,CAAC;AAE7B,CAAC;AAED,OAAO,MAAMK,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAMC,OAAO,GAAGd,UAAU,CAACK,aAAa,CAAC;EACzC,IAAI,CAACS,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { View, StyleSheet, TouchableWithoutFeedback, Keyboard } from 'react-native';
|
|
4
|
-
import { useState,
|
|
4
|
+
import { useState, useCallback } from 'react';
|
|
5
5
|
import BottomSheet from "../BottomSheet/BottomSheet.js";
|
|
6
6
|
import Button from "../Button/Button.js";
|
|
7
7
|
import Input from "../Input/Input.js";
|
|
@@ -22,25 +22,30 @@ export default function Select({
|
|
|
22
22
|
delaySearch = 300,
|
|
23
23
|
height,
|
|
24
24
|
onRefresh,
|
|
25
|
-
refreshing
|
|
25
|
+
refreshing,
|
|
26
|
+
footer,
|
|
27
|
+
onEndReached
|
|
26
28
|
}) {
|
|
27
|
-
const [isOpenSelect, setIsOpenSelect] = useState(false);
|
|
29
|
+
// const [isOpenSelect, setIsOpenSelect] = useState<boolean | undefined>(false);
|
|
28
30
|
const [selected, setSelected] = useState();
|
|
29
31
|
const {
|
|
30
32
|
show
|
|
31
33
|
} = useToast();
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
|
|
34
|
-
}, [isOpen]);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
// useEffect(() => {
|
|
35
|
+
// setIsOpenSelect(isOpen);
|
|
36
|
+
// }, [isOpen]);
|
|
37
|
+
|
|
38
|
+
const handleOnCloseBottom = useCallback(val => {
|
|
39
|
+
if (onClose) {
|
|
40
|
+
onClose?.(val);
|
|
41
|
+
}
|
|
42
|
+
}, [onClose]);
|
|
38
43
|
const handleOnPresSubmitSelect = () => {
|
|
39
44
|
if (required && (!selected || selected.length === 0)) {
|
|
40
45
|
show('Please fill a item');
|
|
41
46
|
return false;
|
|
42
47
|
}
|
|
43
|
-
setIsOpenSelect(false);
|
|
48
|
+
// setIsOpenSelect(false);
|
|
44
49
|
onSubmit?.(selected ? selected : []);
|
|
45
50
|
return true;
|
|
46
51
|
};
|
|
@@ -50,8 +55,8 @@ export default function Select({
|
|
|
50
55
|
}, delaySearch);
|
|
51
56
|
};
|
|
52
57
|
return /*#__PURE__*/_jsx(BottomSheet, {
|
|
53
|
-
onClose: handleOnCloseBottom,
|
|
54
|
-
isOpen:
|
|
58
|
+
onClose: val => handleOnCloseBottom(val),
|
|
59
|
+
isOpen: isOpen,
|
|
55
60
|
height: height,
|
|
56
61
|
footer: /*#__PURE__*/_jsx(Button, {
|
|
57
62
|
title: "lanjutkan",
|
|
@@ -79,12 +84,14 @@ export default function Select({
|
|
|
79
84
|
selected: selected,
|
|
80
85
|
multiple: multiple,
|
|
81
86
|
onSelect: setSelected,
|
|
87
|
+
onEndReached: onEndReached,
|
|
82
88
|
color: "primary",
|
|
83
89
|
size: "large",
|
|
84
90
|
renderItem: renderItem,
|
|
85
91
|
onRefresh: onRefresh,
|
|
86
92
|
block: true,
|
|
87
|
-
refreshing: refreshing
|
|
93
|
+
refreshing: refreshing,
|
|
94
|
+
footer: footer
|
|
88
95
|
})]
|
|
89
96
|
})
|
|
90
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","StyleSheet","TouchableWithoutFeedback","Keyboard","useState","
|
|
1
|
+
{"version":3,"names":["View","StyleSheet","TouchableWithoutFeedback","Keyboard","useState","useCallback","BottomSheet","Button","Input","Chip","useToast","Loading","jsx","_jsx","jsxs","_jsxs","Select","isOpen","data","renderItem","onClose","onSubmit","multiple","onSearch","required","loading","delaySearch","height","onRefresh","refreshing","footer","onEndReached","selected","setSelected","show","handleOnCloseBottom","val","handleOnPresSubmitSelect","length","handleOnSearch","setTimeout","title","color","onPress","children","style","styles","container","containerSearch","dismiss","accessible","submitBehavior","icon","placeholder","onChangeText","options","direction","scrollable","onSelect","size","block","create","marginBottom","gap","padding"],"sourceRoot":"../../../src","sources":["Select/Select.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
const TabItem = () => {
|
|
6
|
-
return /*#__PURE__*/_jsx(View, {});
|
|
7
|
-
};
|
|
3
|
+
const TabItem = _props => null;
|
|
8
4
|
export default TabItem;
|
|
9
5
|
//# sourceMappingURL=TabItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["TabItem","_props"],"sourceRoot":"../../../src","sources":["Tab/TabItem.tsx"],"mappings":";;AAGA,MAAMA,OAA+B,GAAIC,MAAM,IAAK,IAAI;AACxD,eAAeD,OAAO","ignoreList":[]}
|
package/lib/module/Ui/Footer.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
3
|
+
// Footer.tsx
|
|
4
|
+
import React, { useMemo } from 'react';
|
|
5
|
+
import { SafeAreaView, StyleSheet } from 'react-native';
|
|
6
6
|
import { useFooter } from "../Provider/Provider.js";
|
|
7
|
+
import Color from "../Color/Color.js";
|
|
8
|
+
import { useOptionalFocusEffect } from "../hooks/useOptionalFocusEffect.js";
|
|
7
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
10
|
const Footer = ({
|
|
9
11
|
children,
|
|
@@ -12,14 +14,14 @@ const Footer = ({
|
|
|
12
14
|
const {
|
|
13
15
|
setFooter
|
|
14
16
|
} = useFooter();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const footerElement = useMemo(() => /*#__PURE__*/_jsx(SafeAreaView, {
|
|
18
|
+
style: [styles.container, style],
|
|
19
|
+
children: children
|
|
20
|
+
}), [children, style]);
|
|
21
|
+
useOptionalFocusEffect(() => {
|
|
20
22
|
setFooter(footerElement);
|
|
21
23
|
return () => setFooter(null);
|
|
22
|
-
}
|
|
24
|
+
});
|
|
23
25
|
return null;
|
|
24
26
|
};
|
|
25
27
|
export default Footer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","useMemo","SafeAreaView","StyleSheet","useFooter","Color","useOptionalFocusEffect","jsx","_jsx","Footer","children","style","setFooter","footerElement","styles","container","create","backgroundColor","base","white100","position","bottom","left","right","zIndex"],"sourceRoot":"../../../src","sources":["Ui/Footer.tsx"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,YAAY,EAAEC,UAAU,QAAwB,cAAc;AACvE,SAASC,SAAS,QAAQ,yBAAsB;AAChD,OAAOC,KAAK,MAAM,mBAAgB;AAClC,SAASC,sBAAsB,QAAQ,oCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzE,MAAMC,MAA6B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC7D,MAAM;IAAEC;EAAU,CAAC,GAAGR,SAAS,CAAC,CAAC;EAEjC,MAAMS,aAAa,GAAGZ,OAAO,CAC3B,mBACEO,IAAA,CAACN,YAAY;IAACS,KAAK,EAAE,CAACG,MAAM,CAACC,SAAS,EAAEJ,KAAK,CAAE;IAAAD,QAAA,EAAEA;EAAQ,CAAe,CACzE,EACD,CAACA,QAAQ,EAAEC,KAAK,CAClB,CAAC;EAEDL,sBAAsB,CAAC,MAAM;IAC3BM,SAAS,CAACC,aAAa,CAAC;IACxB,OAAO,MAAMD,SAAS,CAAC,IAAI,CAAC;EAC9B,CAAC,CAAC;EAEF,OAAO,IAAI;AACb,CAAC;AAED,eAAeH,MAAM;AAErB,MAAMK,MAAM,GAAGX,UAAU,CAACa,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTE,eAAe,EAAEZ,KAAK,CAACa,IAAI,CAACC,QAAQ;IACpCC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// src/hooks/useOptionalFocusEffect.ts
|
|
4
|
+
import { useContext, useEffect, useCallback } from 'react';
|
|
5
|
+
import { NavigationContext, useFocusEffect } from '@react-navigation/native';
|
|
6
|
+
export function useOptionalFocusEffect(callback) {
|
|
7
|
+
const navigation = useContext(NavigationContext);
|
|
8
|
+
const effect = useCallback(callback, [callback]);
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
11
|
+
if (navigation) {
|
|
12
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
13
|
+
useFocusEffect(effect);
|
|
14
|
+
} else {
|
|
15
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
16
|
+
useEffect(() => effect(), [effect]);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=useOptionalFocusEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useContext","useEffect","useCallback","NavigationContext","useFocusEffect","useOptionalFocusEffect","callback","navigation","effect"],"sourceRoot":"../../../src","sources":["hooks/useOptionalFocusEffect.ts"],"mappings":";;AAAA;AACA,SAASA,UAAU,EAAEC,SAAS,EAAEC,WAAW,QAAQ,OAAO;AAC1D,SAASC,iBAAiB,EAAEC,cAAc,QAAQ,0BAA0B;AAE5E,OAAO,SAASC,sBAAsBA,CAACC,QAAmC,EAAE;EAC1E,MAAMC,UAAU,GAAGP,UAAU,CAACG,iBAAiB,CAAC;EAEhD,MAAMK,MAAM,GAAGN,WAAW,CAACI,QAAQ,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEhD;EACA,IAAIC,UAAU,EAAE;IACd;IACAH,cAAc,CAACI,MAAM,CAAC;EACxB,CAAC,MAAM;IACL;IACAP,SAAS,CAAC,MAAMO,MAAM,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACrC;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,QAAQ,CAAC;AAGhB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,QAAQ,CAAC;AAGhB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAgG7B,CAAC;AAiCF,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Chip/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,gBAAgB,EAChB;IACE,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,UAAU,CAAC;IAChC,iBAAiB,EAAE,UAAU,CAAC;IAC9B,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,UAAU,CAAC;IAChC,iBAAiB,EAAE,UAAU,CAAC;CAC/B,CA0FF,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,SAAS,EAAE,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,KACd,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACxC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACjE;AACD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Chip/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,gBAAgB,EAChB;IACE,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,UAAU,CAAC;IAChC,iBAAiB,EAAE,UAAU,CAAC;IAC9B,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,UAAU,CAAC;IAChC,iBAAiB,EAAE,UAAU,CAAC;CAC/B,CA0FF,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,SAAS,EAAE,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,KACd,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACxC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACjE;AACD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;CAC7B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
interface DrawingProps {
|
|
2
|
-
|
|
2
|
+
onChange?: (value?: string | undefined | null) => void;
|
|
3
|
+
onStart?: () => void;
|
|
4
|
+
onEnd?: () => void;
|
|
3
5
|
}
|
|
4
|
-
declare const Drawing: ({
|
|
6
|
+
declare const Drawing: ({ onChange, onEnd, onStart }: DrawingProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
7
|
export default Drawing;
|
|
6
8
|
//# sourceMappingURL=Drawing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawing.d.ts","sourceRoot":"","sources":["../../../../src/Drawing/Drawing.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Drawing.d.ts","sourceRoot":"","sources":["../../../../src/Drawing/Drawing.tsx"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,OAAO,GAAI,8BAA8B,YAAY,4CAgG1D,CAAC;AA0BF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Drawing/type.tsx"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
type Source = {
|
|
2
|
+
uri?: string;
|
|
3
|
+
headers?: {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
};
|
|
6
|
+
cache?: boolean;
|
|
7
|
+
cacheFileName?: string;
|
|
8
|
+
expiration?: number;
|
|
9
|
+
method?: string;
|
|
10
|
+
};
|
|
1
11
|
declare const PdfView: ({ source }: {
|
|
2
|
-
source
|
|
12
|
+
source: Source;
|
|
3
13
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
14
|
export default PdfView;
|
|
5
15
|
//# sourceMappingURL=PdfView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdfView.d.ts","sourceRoot":"","sources":["../../../../src/FileView/PdfView.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,OAAO,GAAI
|
|
1
|
+
{"version":3,"file":"PdfView.d.ts","sourceRoot":"","sources":["../../../../src/FileView/PdfView.tsx"],"names":[],"mappings":"AAGA,KAAK,MAAM,GAAG;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,QAAA,MAAM,OAAO,GAAI,YAAY;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,4CAc9C,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FooterProvider.d.ts","sourceRoot":"","sources":["../../../../src/Provider/FooterProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FooterProvider.d.ts","sourceRoot":"","sources":["../../../../src/Provider/FooterProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5E,UAAU,iBAAiB;IACzB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/C;AAID,eAAO,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAQnE,CAAC;AAEF,eAAO,MAAM,SAAS,yBAMrB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type SelectProps } from './type';
|
|
2
|
-
export default function Select({ isOpen, data, renderItem, onClose, onSubmit, multiple, onSearch, required, loading, delaySearch, height, onRefresh, refreshing, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export default function Select({ isOpen, data, renderItem, onClose, onSubmit, multiple, onSearch, required, loading, delaySearch, height, onRefresh, refreshing, footer, onEndReached, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/Select/Select.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAQ1C,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,WAAiB,EACjB,MAAM,EACN,SAAS,EACT,UAAU,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/Select/Select.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAQ1C,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,WAAiB,EACjB,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,YAAY,GACb,EAAE,WAAW,2CAkFb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Select/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,KACd,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Select/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,KACd,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabItem.d.ts","sourceRoot":"","sources":["../../../../src/Tab/TabItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TabItem.d.ts","sourceRoot":"","sources":["../../../../src/Tab/TabItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAoB,CAAC;AACzD,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/Ui/Footer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/Ui/Footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKxE,UAAU,WAAW;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAgBjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOptionalFocusEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useOptionalFocusEffect.ts"],"names":[],"mappings":"AAIA,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,QAazE"}
|
package/package.json
CHANGED
package/src/Chip/Chip.tsx
CHANGED
|
@@ -22,6 +22,8 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
22
22
|
size = 'medium',
|
|
23
23
|
onRefresh,
|
|
24
24
|
refreshing = false,
|
|
25
|
+
onEndReached,
|
|
26
|
+
footer,
|
|
25
27
|
}) => {
|
|
26
28
|
const isHorizontal = direction === 'horizontal';
|
|
27
29
|
|
|
@@ -85,6 +87,7 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
85
87
|
)}
|
|
86
88
|
keyExtractor={(item) => String(item.value)}
|
|
87
89
|
horizontal={isHorizontal}
|
|
90
|
+
onEndReached={onEndReached}
|
|
88
91
|
onRefresh={onRefresh}
|
|
89
92
|
refreshing={refreshing}
|
|
90
93
|
scrollEnabled={scrollable}
|
|
@@ -97,9 +100,8 @@ const Chip: React.FC<ChipProps> = ({
|
|
|
97
100
|
alignItems: block ? 'stretch' : 'flex-start',
|
|
98
101
|
},
|
|
99
102
|
]}
|
|
100
|
-
columnWrapperStyle={
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
+
columnWrapperStyle={numColumns > 1 ? styles.wrapperStyle : undefined}
|
|
104
|
+
ListFooterComponent={footer}
|
|
103
105
|
/>
|
|
104
106
|
);
|
|
105
107
|
};
|
|
@@ -108,6 +110,10 @@ const styles = StyleSheet.create({
|
|
|
108
110
|
container: {
|
|
109
111
|
gap: 8,
|
|
110
112
|
},
|
|
113
|
+
wrapperStyle: {
|
|
114
|
+
gap: 8,
|
|
115
|
+
flexWrap: 'wrap',
|
|
116
|
+
},
|
|
111
117
|
chip: {
|
|
112
118
|
borderRadius: 8,
|
|
113
119
|
borderWidth: 1,
|
package/src/Chip/type.tsx
CHANGED
package/src/Drawing/Drawing.tsx
CHANGED
|
@@ -1,51 +1,78 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
2
|
import { StyleSheet, View, TouchableOpacity } from 'react-native';
|
|
3
|
-
import SignatureCanvas, {
|
|
3
|
+
import SignatureCanvas, {
|
|
4
|
+
type SignatureViewRef,
|
|
5
|
+
} from 'react-native-signature-canvas';
|
|
4
6
|
import Icon from '../Icon';
|
|
5
7
|
import Button from '../Button/Button';
|
|
6
8
|
import Color from '../Color/Color';
|
|
7
9
|
|
|
8
10
|
interface DrawingProps {
|
|
9
|
-
|
|
11
|
+
onChange?: (value?: string | undefined | null) => void;
|
|
12
|
+
onStart?: () => void;
|
|
13
|
+
onEnd?: () => void;
|
|
10
14
|
}
|
|
11
15
|
|
|
12
|
-
const Drawing = ({
|
|
16
|
+
const Drawing = ({ onChange, onEnd, onStart }: DrawingProps) => {
|
|
13
17
|
const ref = useRef<SignatureViewRef | null>(null);
|
|
14
18
|
|
|
15
|
-
const handleSignature = (signature
|
|
16
|
-
if (signature &&
|
|
17
|
-
|
|
19
|
+
const handleSignature = (signature: string) => {
|
|
20
|
+
if (signature && onChange) {
|
|
21
|
+
onChange(signature);
|
|
18
22
|
}
|
|
19
23
|
};
|
|
20
24
|
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
};
|
|
25
|
+
const refreshSignature = () =>
|
|
26
|
+
requestAnimationFrame(() => ref.current?.readSignature());
|
|
24
27
|
|
|
25
|
-
const
|
|
26
|
-
|
|
28
|
+
const handleEmpty = () => {
|
|
29
|
+
if (onChange) {
|
|
30
|
+
onChange(null);
|
|
31
|
+
}
|
|
27
32
|
};
|
|
28
33
|
|
|
29
|
-
const handleError = (error
|
|
34
|
+
const handleError = (error: Error) => {
|
|
30
35
|
console.error('Signature pad error:', error);
|
|
31
36
|
};
|
|
32
37
|
|
|
33
38
|
const handleEnd = () => {
|
|
34
|
-
|
|
39
|
+
refreshSignature();
|
|
40
|
+
if (onEnd) {
|
|
41
|
+
onEnd();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const handleBegin = () => {
|
|
46
|
+
if (onStart) {
|
|
47
|
+
onStart();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const undo = () => {
|
|
52
|
+
ref.current?.undo();
|
|
53
|
+
refreshSignature();
|
|
35
54
|
};
|
|
36
55
|
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
56
|
+
const redo = () => {
|
|
57
|
+
ref.current?.redo();
|
|
58
|
+
refreshSignature();
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const clear = () => {
|
|
62
|
+
ref.current?.clearSignature();
|
|
63
|
+
if (onChange) {
|
|
64
|
+
onChange(null);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
40
67
|
|
|
41
68
|
return (
|
|
42
69
|
<View style={styles.container}>
|
|
43
70
|
<SignatureCanvas
|
|
44
71
|
ref={ref}
|
|
45
72
|
onEnd={handleEnd}
|
|
73
|
+
onBegin={handleBegin}
|
|
46
74
|
onOK={handleSignature}
|
|
47
75
|
onEmpty={handleEmpty}
|
|
48
|
-
onClear={handleClear}
|
|
49
76
|
onError={handleError}
|
|
50
77
|
descriptionText=" "
|
|
51
78
|
webStyle={`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
## Contoh
|
|
2
|
+
|
|
3
|
+
```tsx
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import { View, Image } from 'react-native';
|
|
6
|
+
import Drawing from './components/Drawing/Drawing';
|
|
7
|
+
|
|
8
|
+
export default function SignatureForm() {
|
|
9
|
+
const [result, setResult] = useState<string | undefined>();
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<View style={{ flex: 1, padding: 16 }}>
|
|
13
|
+
<Drawing onDraw={setResult} />
|
|
14
|
+
|
|
15
|
+
{result && (
|
|
16
|
+
<Image
|
|
17
|
+
source={{ uri: result }}
|
|
18
|
+
style={{ width: 300, height: 100, marginTop: 24 }}
|
|
19
|
+
resizeMode="contain"
|
|
20
|
+
/>
|
|
21
|
+
)}
|
|
22
|
+
</View>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## props
|
|
28
|
+
|
|
29
|
+
| Prop | Tipe | Default | Deskripsi |
|
|
30
|
+
| -------- | -------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
31
|
+
| `onDraw` | `(value?: string \| undefined) ⇒ void` | `undefined` | Callback berisi tanda tangan **base64** saat pengguna menggambar (dipicu otomatis di `onDraw`). |
|
|
File without changes
|
package/src/FileView/PdfView.tsx
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
import { View,
|
|
1
|
+
import { View, StyleSheet } from 'react-native';
|
|
2
2
|
import Pdf from 'react-native-pdf';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
type Source = {
|
|
5
|
+
uri?: string;
|
|
6
|
+
headers?: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
cache?: boolean;
|
|
10
|
+
cacheFileName?: string;
|
|
11
|
+
expiration?: number;
|
|
12
|
+
method?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const PdfView = ({ source }: { source: Source }) => {
|
|
16
|
+
if (!source) return <View />;
|
|
17
|
+
|
|
8
18
|
return (
|
|
9
|
-
<View style={styles.
|
|
19
|
+
<View style={styles.container}>
|
|
10
20
|
<Pdf
|
|
11
21
|
source={source}
|
|
12
|
-
onLoadComplete={(
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
console.log(`current page: ${page}`);
|
|
17
|
-
}}
|
|
18
|
-
onError={(error) => {
|
|
19
|
-
console.log(error);
|
|
20
|
-
}}
|
|
21
|
-
style={[styles.flex, { width: Dimensions.get('window').width }]}
|
|
22
|
+
onLoadComplete={(pages) => console.log('number of pages:', pages)}
|
|
23
|
+
onPageChanged={(page) => console.log('current page:', page)}
|
|
24
|
+
onError={(err) => console.error(err)}
|
|
25
|
+
style={styles.pdf}
|
|
22
26
|
/>
|
|
23
27
|
</View>
|
|
24
28
|
);
|
|
@@ -27,7 +31,6 @@ const PdfView = ({ source = null }) => {
|
|
|
27
31
|
export default PdfView;
|
|
28
32
|
|
|
29
33
|
const styles = StyleSheet.create({
|
|
30
|
-
flex:
|
|
31
|
-
|
|
32
|
-
},
|
|
34
|
+
container: { flex: 1 },
|
|
35
|
+
pdf: { flex: 1 },
|
|
33
36
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createContext, useContext, useState, type ReactNode } from 'react';
|
|
2
|
+
import LayoutWithFooter from './LayoutWithFooter';
|
|
2
3
|
|
|
3
4
|
interface FooterContextType {
|
|
4
5
|
footer: ReactNode | null;
|
|
@@ -12,7 +13,7 @@ export const FooterProvider = ({ children }: { children: ReactNode }) => {
|
|
|
12
13
|
|
|
13
14
|
return (
|
|
14
15
|
<FooterContext.Provider value={{ footer, setFooter }}>
|
|
15
|
-
{children}
|
|
16
|
+
<LayoutWithFooter>{children}</LayoutWithFooter>
|
|
16
17
|
</FooterContext.Provider>
|
|
17
18
|
);
|
|
18
19
|
};
|
package/src/Select/Select.tsx
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
TouchableWithoutFeedback,
|
|
5
5
|
Keyboard,
|
|
6
6
|
} from 'react-native';
|
|
7
|
-
import { useState,
|
|
7
|
+
import { useState, useCallback } from 'react';
|
|
8
8
|
import { type SelectProps } from './type';
|
|
9
9
|
import BottomSheet from '../BottomSheet/BottomSheet';
|
|
10
10
|
import Button from '../Button/Button';
|
|
@@ -27,24 +27,31 @@ export default function Select({
|
|
|
27
27
|
height,
|
|
28
28
|
onRefresh,
|
|
29
29
|
refreshing,
|
|
30
|
+
footer,
|
|
31
|
+
onEndReached,
|
|
30
32
|
}: SelectProps) {
|
|
31
|
-
const [isOpenSelect, setIsOpenSelect] = useState<boolean | undefined>(false);
|
|
33
|
+
// const [isOpenSelect, setIsOpenSelect] = useState<boolean | undefined>(false);
|
|
32
34
|
const [selected, setSelected] = useState<ChipSelectedProps>();
|
|
33
35
|
const { show } = useToast();
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
|
|
36
|
-
}, [isOpen]);
|
|
36
|
+
// useEffect(() => {
|
|
37
|
+
// setIsOpenSelect(isOpen);
|
|
38
|
+
// }, [isOpen]);
|
|
37
39
|
|
|
38
|
-
const handleOnCloseBottom = (
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
const handleOnCloseBottom = useCallback(
|
|
41
|
+
(val: boolean) => {
|
|
42
|
+
if (onClose) {
|
|
43
|
+
onClose?.(val);
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
[onClose]
|
|
47
|
+
);
|
|
41
48
|
|
|
42
49
|
const handleOnPresSubmitSelect = (): boolean => {
|
|
43
50
|
if (required && (!selected || selected.length === 0)) {
|
|
44
51
|
show('Please fill a item');
|
|
45
52
|
return false;
|
|
46
53
|
}
|
|
47
|
-
setIsOpenSelect(false);
|
|
54
|
+
// setIsOpenSelect(false);
|
|
48
55
|
onSubmit?.(selected ? selected : []);
|
|
49
56
|
return true;
|
|
50
57
|
};
|
|
@@ -56,8 +63,8 @@ export default function Select({
|
|
|
56
63
|
};
|
|
57
64
|
return (
|
|
58
65
|
<BottomSheet
|
|
59
|
-
onClose={handleOnCloseBottom}
|
|
60
|
-
isOpen={
|
|
66
|
+
onClose={(val: boolean) => handleOnCloseBottom(val)}
|
|
67
|
+
isOpen={isOpen}
|
|
61
68
|
height={height}
|
|
62
69
|
footer={
|
|
63
70
|
<Button
|
|
@@ -91,12 +98,14 @@ export default function Select({
|
|
|
91
98
|
selected={selected}
|
|
92
99
|
multiple={multiple}
|
|
93
100
|
onSelect={setSelected}
|
|
101
|
+
onEndReached={onEndReached}
|
|
94
102
|
color="primary"
|
|
95
103
|
size="large"
|
|
96
104
|
renderItem={renderItem}
|
|
97
105
|
onRefresh={onRefresh}
|
|
98
106
|
block
|
|
99
107
|
refreshing={refreshing}
|
|
108
|
+
footer={footer}
|
|
100
109
|
/>
|
|
101
110
|
)}
|
|
102
111
|
</View>
|
package/src/Select/type.tsx
CHANGED
package/src/Tab/TabItem.tsx
CHANGED
package/src/Ui/Footer.tsx
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import type
|
|
4
|
-
import Color from '../Color/Color';
|
|
1
|
+
// Footer.tsx
|
|
2
|
+
import React, { useMemo } from 'react';
|
|
3
|
+
import { SafeAreaView, StyleSheet, type ViewStyle } from 'react-native';
|
|
5
4
|
import { useFooter } from '../Provider/Provider';
|
|
5
|
+
import Color from '../Color/Color';
|
|
6
|
+
import { useOptionalFocusEffect } from '../hooks/useOptionalFocusEffect';
|
|
6
7
|
|
|
7
8
|
interface FooterProps {
|
|
8
9
|
children: React.ReactNode;
|
|
9
10
|
style?: ViewStyle;
|
|
10
11
|
}
|
|
12
|
+
|
|
11
13
|
const Footer: React.FC<FooterProps> = ({ children, style }) => {
|
|
12
14
|
const { setFooter } = useFooter();
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
const footerElement = useMemo(
|
|
17
|
+
() => (
|
|
16
18
|
<SafeAreaView style={[styles.container, style]}>{children}</SafeAreaView>
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
+
),
|
|
20
|
+
[children, style]
|
|
21
|
+
);
|
|
19
22
|
|
|
23
|
+
useOptionalFocusEffect(() => {
|
|
24
|
+
setFooter(footerElement);
|
|
20
25
|
return () => setFooter(null);
|
|
21
|
-
}
|
|
26
|
+
});
|
|
22
27
|
|
|
23
28
|
return null;
|
|
24
29
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/hooks/useOptionalFocusEffect.ts
|
|
2
|
+
import { useContext, useEffect, useCallback } from 'react';
|
|
3
|
+
import { NavigationContext, useFocusEffect } from '@react-navigation/native';
|
|
4
|
+
|
|
5
|
+
export function useOptionalFocusEffect(callback: () => void | (() => void)) {
|
|
6
|
+
const navigation = useContext(NavigationContext);
|
|
7
|
+
|
|
8
|
+
const effect = useCallback(callback, [callback]);
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
11
|
+
if (navigation) {
|
|
12
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
13
|
+
useFocusEffect(effect);
|
|
14
|
+
} else {
|
|
15
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
16
|
+
useEffect(() => effect(), [effect]);
|
|
17
|
+
}
|
|
18
|
+
}
|