@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.
Files changed (73) hide show
  1. package/lib/module/DatePicker/TimePicker.js +26 -46
  2. package/lib/module/DatePicker/TimePicker.js.map +1 -1
  3. package/lib/module/DatePicker/partials/AnimatedItem.js +52 -0
  4. package/lib/module/DatePicker/partials/AnimatedItem.js.map +1 -0
  5. package/lib/module/Input/InputFile.js +76 -275
  6. package/lib/module/Input/InputFile.js.map +1 -1
  7. package/lib/module/Input/README_INPUT_FILE.md +144 -23
  8. package/lib/module/Input/TextArea.js +5 -2
  9. package/lib/module/Input/TextArea.js.map +1 -1
  10. package/lib/module/Input/partials/InputFile/CardTrigger.js +77 -0
  11. package/lib/module/Input/partials/InputFile/CardTrigger.js.map +1 -0
  12. package/lib/module/Input/partials/InputFile/CardTriggerSmall.js +86 -0
  13. package/lib/module/Input/partials/InputFile/CardTriggerSmall.js.map +1 -0
  14. package/lib/module/Input/partials/InputFile/ItemPicker.js +43 -0
  15. package/lib/module/Input/partials/InputFile/ItemPicker.js.map +1 -0
  16. package/lib/module/Input/partials/InputFile/ItemPreview.js +149 -0
  17. package/lib/module/Input/partials/InputFile/ItemPreview.js.map +1 -0
  18. package/lib/module/Input/partials/InputFile/ModalDelete.js +76 -0
  19. package/lib/module/Input/partials/InputFile/ModalDelete.js.map +1 -0
  20. package/lib/module/Input/partials/InputFile/ModalPicker.js +72 -0
  21. package/lib/module/Input/partials/InputFile/ModalPicker.js.map +1 -0
  22. package/lib/module/LabelForm/LabelForm.js +3 -1
  23. package/lib/module/LabelForm/LabelForm.js.map +1 -1
  24. package/lib/module/Step/Step.js +1 -1
  25. package/lib/module/Step/StepItem.js +14 -6
  26. package/lib/module/Step/StepItem.js.map +1 -1
  27. package/lib/module/Ui/Center.js.map +1 -1
  28. package/lib/module/styles/layouting.js +3 -0
  29. package/lib/module/styles/layouting.js.map +1 -1
  30. package/lib/typescript/src/DatePicker/TimePicker.d.ts +4 -1
  31. package/lib/typescript/src/DatePicker/TimePicker.d.ts.map +1 -1
  32. package/lib/typescript/src/DatePicker/partials/AnimatedItem.d.ts +11 -0
  33. package/lib/typescript/src/DatePicker/partials/AnimatedItem.d.ts.map +1 -0
  34. package/lib/typescript/src/Input/InputFile.d.ts +17 -4
  35. package/lib/typescript/src/Input/InputFile.d.ts.map +1 -1
  36. package/lib/typescript/src/Input/TextArea.d.ts +1 -1
  37. package/lib/typescript/src/Input/TextArea.d.ts.map +1 -1
  38. package/lib/typescript/src/Input/partials/InputFile/CardTrigger.d.ts +11 -0
  39. package/lib/typescript/src/Input/partials/InputFile/CardTrigger.d.ts.map +1 -0
  40. package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts +12 -0
  41. package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts.map +1 -0
  42. package/lib/typescript/src/Input/partials/InputFile/ItemPicker.d.ts +10 -0
  43. package/lib/typescript/src/Input/partials/InputFile/ItemPicker.d.ts.map +1 -0
  44. package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts +11 -0
  45. package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts.map +1 -0
  46. package/lib/typescript/src/Input/partials/InputFile/ModalDelete.d.ts +12 -0
  47. package/lib/typescript/src/Input/partials/InputFile/ModalDelete.d.ts.map +1 -0
  48. package/lib/typescript/src/Input/partials/InputFile/ModalPicker.d.ts +18 -0
  49. package/lib/typescript/src/Input/partials/InputFile/ModalPicker.d.ts.map +1 -0
  50. package/lib/typescript/src/LabelForm/LabelForm.d.ts +2 -1
  51. package/lib/typescript/src/LabelForm/LabelForm.d.ts.map +1 -1
  52. package/lib/typescript/src/Step/StepItem.d.ts.map +1 -1
  53. package/lib/typescript/src/Ui/Center.d.ts +2 -2
  54. package/lib/typescript/src/Ui/Center.d.ts.map +1 -1
  55. package/lib/typescript/src/styles/layouting.d.ts +3 -0
  56. package/lib/typescript/src/styles/layouting.d.ts.map +1 -1
  57. package/package.json +1 -1
  58. package/src/DatePicker/TimePicker.tsx +37 -74
  59. package/src/DatePicker/partials/AnimatedItem.tsx +62 -0
  60. package/src/Input/InputFile.tsx +148 -296
  61. package/src/Input/README_INPUT_FILE.md +144 -23
  62. package/src/Input/TextArea.tsx +3 -0
  63. package/src/Input/partials/InputFile/CardTrigger.tsx +87 -0
  64. package/src/Input/partials/InputFile/CardTriggerSmall.tsx +120 -0
  65. package/src/Input/partials/InputFile/ItemPicker.tsx +46 -0
  66. package/src/Input/partials/InputFile/ItemPreview.tsx +182 -0
  67. package/src/Input/partials/InputFile/ModalDelete.tsx +84 -0
  68. package/src/Input/partials/InputFile/ModalPicker.tsx +86 -0
  69. package/src/LabelForm/LabelForm.tsx +7 -2
  70. package/src/Step/Step.tsx +1 -1
  71. package/src/Step/StepItem.tsx +15 -3
  72. package/src/Ui/Center.tsx +2 -2
  73. package/src/styles/layouting.ts +1 -0
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import React, { useRef, useState, useEffect, useMemo } from 'react';
4
- import { View, StyleSheet, Text, Dimensions, Animated } from 'react-native';
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
- }, [isOpen, selectedMinute, selectedHour, CENTER_INDEX_HOUR, CENTER_INDEX_MINUTE]);
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: "Batal",
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: "Pilih",
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: "Pilih Waktu"
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) => renderAnimatedItem(h, 'hour', i, hourScrollY))
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) => renderAnimatedItem(m, 'minute', i, minuteScrollY))
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","useRef","useState","useEffect","useMemo","View","StyleSheet","Text","Dimensions","Animated","BottomSheet","Button","Typography","Color","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","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","renderAnimatedItem","value","scrollY","normalizedValue","inputRange","scale","interpolate","outputRange","extrapolate","opacity","style","styles","item","transform","children","itemText","toString","padStart","footer","flex1","title","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","m","create","position","height","marginBottom","flexDirection","gap","flex","justifyContent","paddingVertical","overflow","alignItems","fontSize","fontWeight","zIndex","top","left","right","bottom","backgroundColor","primary"],"sourceRoot":"../../../src","sources":["DatePicker/TimePicker.tsx"],"mappings":"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","ignoreList":[]}
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":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACnE,SACEC,QAAQ,EACRC,UAAU,EAIVC,UAAU,EACVC,IAAI,QACC,cAAc;AACrB,OAAOC,WAAW,MAAM,+BAA4B;AACpD,OAAOC,MAAM,MAAM,qBAAkB;AACrC,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,UAAU,MAAM,6BAA0B;AACjD,OAAOC,YAAY,MAAM,4BAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnD,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,YAAY,GAAGb,UAAU,CAACc,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;AACnD,MAAMC,aAAa,GAAG,CAAC;AACvB,MAAMC,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACH,aAAa,GAAG,CAAC,CAAC;AAClD,MAAMI,YAAY,GAAG,CAAC;AAWtB,MAAMC,aAAa,GAAIC,GAAW,IAAKC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAEH;AAAI,CAAC,EAAE,CAACI,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC;AAE/E,MAAMC,WAAW,GAAGA,CAACC,KAAe,EAAEC,WAAmB,KACvDP,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAEK;AAAY,CAAC,CAAC,CAACC,OAAO,CAAC,MAAMF,KAAK,CAAC;AAE1D,eAAe,SAASG,eAAeA,CAAC;EACtCC,MAAM;EACNC,OAAO;EACPC,QAAQ;EACRC,KAAK,GAAG,aAAa;EACrBC,WAAW,GAAG,OAAO;EACrBC,YAAY,GAAG;AACA,CAAC,EAAE;EAClB,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG1C,QAAQ,CAAS,CAAC,CAAC;EAC3D,MAAM,CAAC2C,cAAc,EAAEC,iBAAiB,CAAC,GAAG5C,QAAQ,CAAS,CAAC,CAAC;EAE/D,MAAM6C,OAAO,GAAG9C,MAAM,CAAa,IAAI,CAAC;EACxC,MAAM+C,SAAS,GAAG/C,MAAM,CAAa,IAAI,CAAC;EAE1C,MAAMgD,WAAW,GAAGhD,MAAM,CAAC,IAAIE,QAAQ,CAAC+C,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EACzD,MAAMC,aAAa,GAAGnD,MAAM,CAAC,IAAIE,QAAQ,CAAC+C,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAE3D,MAAME,SAAS,GAAG5B,aAAa,CAAC,EAAE,CAAC;EACnC,MAAM6B,WAAW,GAAG7B,aAAa,CAAC,EAAE,CAAC;EAErC,MAAM8B,KAAK,GAAGvD,OAAO,CACnB,MAAMgC,WAAW,CAACqB,SAAS,EAAE7B,YAAY,CAAC,EAC1C,CAAC6B,SAAS,CACZ,CAAC;EACD,MAAMG,OAAO,GAAGxD,OAAO,CACrB,MAAMgC,WAAW,CAACsB,WAAW,EAAE9B,YAAY,CAAC,EAC5C,CAAC8B,WAAW,CACd,CAAC;EAED,MAAMG,iBAAiB,GACrBnC,IAAI,CAACC,KAAK,CAACgC,KAAK,CAAC1B,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAGc,YAAY;EACvD,MAAMe,mBAAmB,GACvBpC,IAAI,CAACC,KAAK,CAACiC,OAAO,CAAC3B,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAGgB,cAAc;EAE3D9C,SAAS,CAAC,MAAM;IACd,IAAIsC,MAAM,EAAE;MACVsB,UAAU,CAAC,MAAM;QACfC,aAAa,CAACb,OAAO,EAAEU,iBAAiB,CAAC;QACzCG,aAAa,CAACZ,SAAS,EAAEU,mBAAmB,CAAC;MAC/C,CAAC,EAAE,GAAG,CAAC;IACT;;IAEA;EACF,CAAC,EAAE,CAACrB,MAAM,CAAC,CAAC;EAEZ,MAAMuB,aAAa,GAAGA,CACpBC,GAAuC,EACvCC,KAAa,EACbC,QAAiB,GAAG,IAAI,KACrB;IACHF,GAAG,CAACV,OAAO,EAAEa,QAAQ,CAAC;MAAEC,CAAC,EAAEH,KAAK,GAAG9C,WAAW;MAAE+C;IAAS,CAAC,CAAC;EAC7D,CAAC;EAED,MAAMG,eAAe,GAAGA,CACtBC,KAA8C,EAC9CC,IAAuB,KACpB;IACH,MAAMC,OAAO,GAAGF,KAAK,CAACG,WAAW,CAACC,aAAa,CAACN,CAAC;IACjD,MAAMH,KAAK,GAAGxC,IAAI,CAACkD,KAAK,CAACH,OAAO,GAAGrD,WAAW,CAAC;IAE/C,IAAIoD,IAAI,KAAK,MAAM,EAAE;MACnB,MAAMK,SAAS,GAAGlB,KAAK,CAACO,KAAK,GAAG,EAAE,CAAW;MAC7ClB,eAAe,CAAC6B,SAAS,CAAC;MAE1B,MAAMC,SAAS,GAAGpD,IAAI,CAACC,KAAK,CAACgC,KAAK,CAAC1B,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG4C,SAAS;MACpE,IAAInD,IAAI,CAACqD,GAAG,CAACb,KAAK,GAAGY,SAAS,CAAC,GAAG,EAAE,EAAE;QACpCd,aAAa,CAACb,OAAO,EAAE2B,SAAS,EAAE,KAAK,CAAC;MAC1C;IACF,CAAC,MAAM;MACL,MAAMD,SAAS,GAAGjB,OAAO,CAACM,KAAK,GAAG,EAAE,CAAW;MAC/ChB,iBAAiB,CAAC2B,SAAS,CAAC;MAE5B,MAAMC,SAAS,GAAGpD,IAAI,CAACC,KAAK,CAACiC,OAAO,CAAC3B,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG4C,SAAS;MACtE,IAAInD,IAAI,CAACqD,GAAG,CAACb,KAAK,GAAGY,SAAS,CAAC,GAAG,EAAE,EAAE;QACpCd,aAAa,CAACZ,SAAS,EAAE0B,SAAS,EAAE,KAAK,CAAC;MAC5C;IACF;EACF,CAAC;EAED,MAAME,YAAY,GAAGA,CAAA,KAAM;IACzBrC,QAAQ,GAAG;MAAEsC,IAAI,EAAElC,YAAY;MAAEmC,MAAM,EAAEjC;IAAe,CAAC,CAAC;IAC1DP,OAAO,GAAG,CAAC;EACb,CAAC;EAED,oBACEvB,KAAA,CAACR,WAAW;IACV8B,MAAM,EAAEA,MAAO;IACfC,OAAO,EAAEA,OAAQ;IACjByC,MAAM,eACJhE,KAAA,CAACT,IAAI;MAAC0E,KAAK,EAAEC,MAAM,CAACF,MAAO;MAAAG,QAAA,gBACzBrE,IAAA,CAACP,IAAI;QAAC0E,KAAK,EAAEC,MAAM,CAACE,KAAM;QAAAD,QAAA,eACxBrE,IAAA,CAACL,MAAM;UACLgC,KAAK,EAAEC,WAAY;UACnB2C,OAAO,EAAC,UAAU;UAClBC,OAAO,EAAE/C,OAAQ;UACjBgD,KAAK,EAAC,SAAS;UACfC,IAAI,EAAC;QAAQ,CACd;MAAC,CACE,CAAC,eACP1E,IAAA,CAACP,IAAI;QAAC0E,KAAK,EAAEC,MAAM,CAACE,KAAM;QAAAD,QAAA,eACxBrE,IAAA,CAACL,MAAM;UACLgC,KAAK,EAAEE,YAAa;UACpB2C,OAAO,EAAET,YAAa;UACtBU,KAAK,EAAC,SAAS;UACfC,IAAI,EAAC;QAAQ,CACd;MAAC,CACE,CAAC;IAAA,CACH,CACP;IAAAL,QAAA,gBAEDrE,IAAA,CAACH,UAAU;MACT0E,OAAO,EAAC,IAAI;MACZI,MAAM,EAAC,UAAU;MACjBF,KAAK,EAAE7E,KAAK,CAACgF,IAAI,CAAC,GAAG,CAAE;MACvBC,MAAM;MACNV,KAAK,EAAEC,MAAM,CAACU,QAAS;MAAAT,QAAA,EAEtB1C;IAAK,CACI,CAAC,eAEbzB,KAAA,CAACT,IAAI;MAAC0E,KAAK,EAAEC,MAAM,CAACW,SAAU;MAAAV,QAAA,gBAE5BrE,IAAA,CAACP,IAAI;QAAC0E,KAAK,EAAEC,MAAM,CAACY,gBAAiB;QAACC,aAAa,EAAC,MAAM;QAAAZ,QAAA,eACxDrE,IAAA,CAACP,IAAI;UAAC0E,KAAK,EAAEC,MAAM,CAACc;QAAU,CAAE;MAAC,CAC7B,CAAC,eAEPhF,KAAA,CAACT,IAAI;QAAC0E,KAAK,EAAEC,MAAM,CAACe,eAAgB;QAAAd,QAAA,gBAClCrE,IAAA,CAACP,IAAI;UAAC0E,KAAK,EAAEC,MAAM,CAACgB,YAAa;UAAAf,QAAA,eAC/BrE,IAAA,CAACV,QAAQ,CAAC+F,UAAU;YAClBrC,GAAG,EAAEd,OAAQ;YACboD,4BAA4B,EAAE,KAAM;YACpCC,cAAc,EAAEpF,WAAY;YAC5BqF,gBAAgB,EAAC,MAAM;YACvBC,mBAAmB,EAAGC,CAAC,IAAKrC,eAAe,CAACqC,CAAC,EAAE,MAAM,CAAE;YACvDC,QAAQ,EAAErG,QAAQ,CAACgE,KAAK,CACtB,CAAC;cAAEG,WAAW,EAAE;gBAAEC,aAAa,EAAE;kBAAEN,CAAC,EAAEhB;gBAAY;cAAE;YAAE,CAAC,CAAC,EACxD;cAAEwD,eAAe,EAAE;YAAK,CAC1B,CAAE;YACFC,mBAAmB,EAAE,EAAG;YACxBC,qBAAqB,EAAE1B,MAAM,CAAC2B,aAAc;YAAA1B,QAAA,EAE3C3B,KAAK,CAACsD,GAAG,CAAC,CAACC,CAAC,EAAE/E,CAAC,kBACdlB,IAAA,CAACF,YAAY;cAEXmD,KAAK,EAAE/B,CAAE;cACTgF,KAAK,EAAED,CAAE;cACT1C,IAAI,EAAC,MAAM;cACX4C,OAAO,EAAE/D;YAAY,GAJhBlB,CAKN,CACF;UAAC,CACiB;QAAC,CAClB,CAAC,eAEPlB,IAAA,CAACP,IAAI;UAAC0E,KAAK,EAAEC,MAAM,CAACgB,YAAa;UAAAf,QAAA,eAC/BrE,IAAA,CAACV,QAAQ,CAAC+F,UAAU;YAClBrC,GAAG,EAAEb,SAAU;YACfmD,4BAA4B,EAAE,KAAM;YACpCC,cAAc,EAAEpF,WAAY;YAC5BqF,gBAAgB,EAAC,MAAM;YACvBC,mBAAmB,EAAGC,CAAC,IAAKrC,eAAe,CAACqC,CAAC,EAAE,QAAQ,CAAE;YACzDC,QAAQ,EAAErG,QAAQ,CAACgE,KAAK,CACtB,CAAC;cAAEG,WAAW,EAAE;gBAAEC,aAAa,EAAE;kBAAEN,CAAC,EAAEb;gBAAc;cAAE;YAAE,CAAC,CAAC,EAC1D;cAAEqD,eAAe,EAAE;YAAK,CAC1B,CAAE;YACFC,mBAAmB,EAAE,EAAG;YACxBC,qBAAqB,EAAE1B,MAAM,CAAC2B,aAAc;YAAA1B,QAAA,EAE3C1B,OAAO,CAACqD,GAAG,CAAC,CAACI,CAAC,EAAElF,CAAC,kBAChBlB,IAAA,CAACF,YAAY;cAEXmD,KAAK,EAAE/B,CAAE;cACTgF,KAAK,EAAEE,CAAE;cACT7C,IAAI,EAAC,QAAQ;cACb4C,OAAO,EAAE5D;YAAc,GAJlBrB,CAKN,CACF;UAAC,CACiB;QAAC,CAClB,CAAC;MAAA,CACH,CAAC;IAAA,CACH,CAAC;EAAA,CACI,CAAC;AAElB;AAEA,MAAMkD,MAAM,GAAG5E,UAAU,CAAC6G,MAAM,CAAC;EAC/BtB,SAAS,EAAE;IACTuB,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAEpG,WAAW,GAAGI,aAAa;IACnCiG,YAAY,EAAE;EAChB,CAAC;EACDtC,MAAM,EAAE;IACNuC,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAE;EACP,CAAC;EACDpC,KAAK,EAAE;IACLqC,IAAI,EAAE;EACR,CAAC;EACDxB,eAAe,EAAE;IACfsB,aAAa,EAAE,KAAK;IACpBG,cAAc,EAAE;EAClB,CAAC;EACDb,aAAa,EAAE;IACbc,eAAe,EAAE1G,WAAW,GAAGK;EACjC,CAAC;EACD4E,YAAY,EAAE;IACZ9E,KAAK,EAAEF,YAAY,GAAG,IAAI;IAC1BmG,MAAM,EAAEpG,WAAW,GAAGI,aAAa;IACnCuG,QAAQ,EAAE;EACZ,CAAC;EACD9B,gBAAgB,EAAE;IAChBsB,QAAQ,EAAE,UAAU;IACpBS,MAAM,EAAE,CAAC,CAAC;IACVC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTP,cAAc,EAAE;EAClB,CAAC;EACD1B,SAAS,EAAE;IACTqB,MAAM,EAAEpG,WAAW;IACnB4G,MAAM,EAAE,CAAC,CAAC;IACVK,eAAe,EAAExH,KAAK,CAACyH,OAAO,CAAC,EAAE;EACnC,CAAC;EACDvC,QAAQ,EAAE;IAAE0B,YAAY,EAAE;EAAG;AAC/B,CAAC,CAAC","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 { useState, useEffect } from 'react';
4
- import { Image, StyleSheet, TouchableOpacity, View } from 'react-native';
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 Icon from "../Icon/index.js";
10
+ import { spacing } from "../styles/spacing.js";
17
11
  import Input from "./Input.js";
18
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
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: styles.wrapper,
164
- children: [/*#__PURE__*/_jsx(Card, {
165
- style: styles.containerInput,
166
- children: /*#__PURE__*/_jsxs(Center, {
167
- style: styles.centerInput,
168
- children: [/*#__PURE__*/_jsx(Image, {
169
- source: require('./assets/input-file.png')
170
- }), /*#__PURE__*/_jsx(Typography, {
171
- variant: "t1",
172
- weight: "semibold",
173
- color: Color.gray[500],
174
- children: title
175
- }), /*#__PURE__*/_jsx(Typography, {
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
- weight: "regular",
178
- color: Color.gray[500],
179
- children: description
180
- }), /*#__PURE__*/_jsx(Button, {
181
- color: "primary",
182
- title: btnChooseFileText,
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: styles.gap4,
203
- children: [/*#__PURE__*/_jsx(Card, {
204
- children: /*#__PURE__*/_jsx(TouchableOpacity, {
205
- onPress: () => handlePreviewFile(file),
206
- children: /*#__PURE__*/_jsxs(View, {
207
- style: styles.containerPreview,
208
- children: [/*#__PURE__*/_jsxs(View, {
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(BottomSheet, {
220
+ }, index)), /*#__PURE__*/_jsx(ModalPicker, {
267
221
  isOpen: isOpenBottomSheetTypeFile,
268
222
  onClose: () => setIsOpenBottomSheetTypeFile(false),
269
- children: /*#__PURE__*/_jsxs(View, {
270
- style: styles.bottomSheetContent,
271
- children: [/*#__PURE__*/_jsxs(Center, {
272
- style: styles.bottomSheetCenter,
273
- children: [/*#__PURE__*/_jsx(Typography, {
274
- variant: "p2",
275
- weight: "semibold",
276
- color: Color.gray[800],
277
- children: modalPickFileText?.title || 'Upload Dokumen'
278
- }), /*#__PURE__*/_jsx(Typography, {
279
- variant: "t1",
280
- weight: "regular",
281
- color: Color.gray[600],
282
- children: modalPickFileText?.description || 'Unggah dokumen maksimal'
283
- })]
284
- }), /*#__PURE__*/_jsxs(List, {
285
- children: [/*#__PURE__*/_jsx(ListItem, {
286
- children: /*#__PURE__*/_jsx(TouchableOpacity, {
287
- onPress: handleOnPressButtonCamera,
288
- children: /*#__PURE__*/_jsxs(View, {
289
- style: styles.containerListItem,
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
- children: /*#__PURE__*/_jsxs(View, {
358
- style: styles.deleteFileContent,
359
- children: [/*#__PURE__*/_jsxs(Center, {
360
- style: styles.deleteFileCenter,
361
- children: [/*#__PURE__*/_jsx(Typography, {
362
- variant: "p2",
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