@herca/rn-kit 0.1.63 → 0.1.65

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 (38) hide show
  1. package/README.md +8 -0
  2. package/lib/module/DatePicker/DatePicker.js +2 -2
  3. package/lib/module/DatePicker/DatePicker.js.map +1 -1
  4. package/lib/module/Input/InputDate.js +170 -0
  5. package/lib/module/Input/InputDate.js.map +1 -0
  6. package/lib/module/Input/README_INPUT_DATE.md +265 -0
  7. package/lib/module/Modal/Modal.js +24 -22
  8. package/lib/module/Modal/Modal.js.map +1 -1
  9. package/lib/module/Ui/README_VIEWINSETS.md +126 -0
  10. package/lib/module/Ui/ViewInsets.js +33 -0
  11. package/lib/module/Ui/ViewInsets.js.map +1 -0
  12. package/lib/module/function/README_DATE_FORMATTER.md +397 -0
  13. package/lib/module/function/dateFormatter.js +38 -0
  14. package/lib/module/function/dateFormatter.js.map +1 -0
  15. package/lib/module/index.js +3 -0
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/typescript/src/Calendar/CalendarPropsType.d.ts +5 -0
  18. package/lib/typescript/src/Calendar/CalendarPropsType.d.ts.map +1 -1
  19. package/lib/typescript/src/Input/InputDate.d.ts +27 -0
  20. package/lib/typescript/src/Input/InputDate.d.ts.map +1 -0
  21. package/lib/typescript/src/Modal/Modal.d.ts.map +1 -1
  22. package/lib/typescript/src/Ui/ViewInsets.d.ts +13 -0
  23. package/lib/typescript/src/Ui/ViewInsets.d.ts.map +1 -0
  24. package/lib/typescript/src/function/dateFormatter.d.ts +14 -0
  25. package/lib/typescript/src/function/dateFormatter.d.ts.map +1 -0
  26. package/lib/typescript/src/index.d.ts +4 -1
  27. package/lib/typescript/src/index.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/Calendar/CalendarPropsType.tsx +6 -0
  30. package/src/DatePicker/DatePicker.tsx +2 -2
  31. package/src/Input/InputDate.tsx +216 -0
  32. package/src/Input/README_INPUT_DATE.md +265 -0
  33. package/src/Modal/Modal.tsx +31 -46
  34. package/src/Ui/README_VIEWINSETS.md +126 -0
  35. package/src/Ui/ViewInsets.tsx +46 -0
  36. package/src/function/README_DATE_FORMATTER.md +397 -0
  37. package/src/function/dateFormatter.ts +54 -0
  38. package/src/index.tsx +8 -1
package/README.md CHANGED
@@ -113,6 +113,7 @@ Komponen untuk mengumpulkan input dari pengguna.
113
113
  - [DropDown](./src/DropDown/README.md)
114
114
  - [Input](./src/Input/README_INPUT.md)
115
115
  - [Input Select](./src/Input/README_INPUT_SELECT.md)
116
+ - [Input Date](./src/Input/README_INPUT_DATE.md)
116
117
  - [InputOtp](./src/Input/README_INPUT_OTP.md)
117
118
  - [Input Month](./src/Datepicker/README_MONTHPICKER.md)
118
119
  - [Input Password](./src/InputPassword/README.md)
@@ -168,6 +169,7 @@ Komponen untuk menampilkan informasi atau elemen visual.
168
169
  - [Devider](./src/Ui/README_DEVIDER.md)
169
170
  - [Drawing](./src/Drawing/README.md)
170
171
  - [Footer](./src/Ui/README_FOOTER.md)
172
+ - [ViewInsets](./src/Ui/README_VIEWINSETS.md)
171
173
  - [Icon](./src/Icon/README.md)
172
174
  - [List](./src/List/README.md)
173
175
  - [Timeline](./src/Timeline/README.md)
@@ -181,6 +183,12 @@ Komponen untuk menampilkan informasi atau elemen visual.
181
183
 
182
184
  - [Provider](./src/Provider/README.md)
183
185
 
186
+ ---
187
+
188
+ ### Function
189
+
190
+ - [Date Formatter](./src/function/README_DATE_FORMATTER.md)
191
+
184
192
  ## 🤝 Kontribusi
185
193
 
186
194
  Silakan baca panduan kontribusi pada [CONTRIBUTING.md](CONTRIBUTING.md) untuk mengetahui alur pengembangan dan kontribusi pada proyek ini.
@@ -27,9 +27,9 @@ export default function DatePicker({
27
27
  endDate: null,
28
28
  date: null
29
29
  });
30
- const handleOnChangeCalendar = useCallback(value => {
30
+ const handleOnChangeCalendar = useCallback(val => {
31
31
  setMarkDates({});
32
- setValueDatepicker(value);
32
+ setValueDatepicker(val);
33
33
  setErrorValidate(false);
34
34
  }, []);
35
35
  const handleOnPressSubmitButton = useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useState","useEffect","StyleSheet","View","BottomSheet","Calendar","formatDate","Button","Alert","Color","jsx","_jsx","jsxs","_jsxs","DatePicker","onChange","isOpen","onClose","required","hasError","onHasError","hint","mode","value","calendarProps","errorValidate","setErrorValidate","markDates","setMarkDates","valueDatepicker","setValueDatepicker","startDate","endDate","date","handleOnChangeCalendar","handleOnPressSubmitButton","isEmpty","isRangeMode","isInvalidRange","handleOnPressCancelButton","updatedMarkDates","selected","start","Date","end","dates","dt","setDate","getDate","dateStr","backgroundColor","primary","textColor","gray","base","white100","children","footer","style","styles","footerContainer","buttonWrapper","variant","title","color","onPress","markedDates","message","hide","create","flexDirection","justifyContent","flex"],"sourceRoot":"../../../src","sources":["DatePicker/DatePicker.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useState","useEffect","StyleSheet","View","BottomSheet","Calendar","formatDate","Button","Alert","Color","jsx","_jsx","jsxs","_jsxs","DatePicker","onChange","isOpen","onClose","required","hasError","onHasError","hint","mode","value","calendarProps","errorValidate","setErrorValidate","markDates","setMarkDates","valueDatepicker","setValueDatepicker","startDate","endDate","date","handleOnChangeCalendar","val","handleOnPressSubmitButton","isEmpty","isRangeMode","isInvalidRange","handleOnPressCancelButton","updatedMarkDates","selected","start","Date","end","dates","dt","setDate","getDate","dateStr","backgroundColor","primary","textColor","gray","base","white100","children","footer","style","styles","footerContainer","buttonWrapper","variant","title","color","onPress","markedDates","message","hide","create","flexDirection","justifyContent","flex"],"sourceRoot":"../../../src","sources":["DatePicker/DatePicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ import { Color, DatePicker, Icon, Typography } from '@herca/rn-kit';
4
+ import { useState } from 'react';
5
+ import { Pressable, StyleSheet, View } from 'react-native';
6
+ import { dateFormatter } from "../function/dateFormatter.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export default function InputDate({
9
+ label,
10
+ placeholder = 'Select here...',
11
+ placeholderDateEnd = 'Select here...',
12
+ datePickerProps,
13
+ value,
14
+ valueDateEnd,
15
+ onSelectClick,
16
+ onDatePickerClose,
17
+ onDateChange,
18
+ mode = 'single',
19
+ language,
20
+ ...props
21
+ }) {
22
+ const [isDatePickerOpen, setSelectOpen] = useState(false);
23
+ const [dateValue, setDateValue] = useState();
24
+ const [raw, setRaw] = useState();
25
+ const handleOpenSelect = () => {
26
+ setSelectOpen(true);
27
+ onSelectClick?.();
28
+ };
29
+ const handleCloseDatePicker = () => {
30
+ setSelectOpen(false);
31
+ onDatePickerClose?.();
32
+ };
33
+ const handleDateChange = val => {
34
+ onDateChange?.({
35
+ date: val.date ?? null,
36
+ startDate: val.startDate ?? null,
37
+ endDate: val.endDate ?? null
38
+ });
39
+ const formattedValue = dateFormatter({
40
+ date: val.date,
41
+ options: {
42
+ language,
43
+ format: language ? 'localized' : 'default'
44
+ }
45
+ });
46
+ const formattedStartDate = dateFormatter({
47
+ date: val.startDate,
48
+ options: {
49
+ language,
50
+ format: language ? 'localized' : 'default'
51
+ }
52
+ });
53
+ const formattedEndDate = dateFormatter({
54
+ date: val.endDate,
55
+ options: {
56
+ language,
57
+ format: language ? 'localized' : 'default'
58
+ }
59
+ });
60
+ setDateValue({
61
+ date: formattedValue,
62
+ startDate: formattedStartDate,
63
+ endDate: formattedEndDate
64
+ });
65
+ setRaw(val);
66
+ };
67
+ const startDate = () => {
68
+ if (!value) {
69
+ if (mode === 'single') {
70
+ return dateValue?.date;
71
+ } else if (mode === 'range') {
72
+ return dateValue?.startDate;
73
+ }
74
+ }
75
+ return value;
76
+ };
77
+ const endDate = () => {
78
+ if (mode === 'single') return null;
79
+ if (!valueDateEnd) {
80
+ return dateValue?.endDate;
81
+ }
82
+ return valueDateEnd;
83
+ };
84
+ const rawValue = () => {
85
+ if (mode === 'single') {
86
+ return {
87
+ date: datePickerProps?.value?.date ?? raw?.date
88
+ };
89
+ } else {
90
+ return {
91
+ startDate: datePickerProps?.value?.startDate ?? raw?.startDate,
92
+ endDate: datePickerProps?.value?.endDate ?? raw?.endDate
93
+ };
94
+ }
95
+ };
96
+ return /*#__PURE__*/_jsxs(View, {
97
+ style: styles.gap4,
98
+ children: [/*#__PURE__*/_jsx(Typography, {
99
+ variant: "t2",
100
+ weight: "semibold",
101
+ color: Color.gray[900],
102
+ children: label
103
+ }), /*#__PURE__*/_jsxs(View, {
104
+ style: styles.wrapper,
105
+ children: [/*#__PURE__*/_jsxs(Pressable, {
106
+ style: [styles.pickerTrigger, value !== '' && styles.hasValue],
107
+ onPress: handleOpenSelect,
108
+ ...props,
109
+ children: [/*#__PURE__*/_jsx(Typography, {
110
+ variant: "t2",
111
+ color: Color.gray[900],
112
+ weight: "medium",
113
+ children: startDate() ?? placeholder
114
+ }), /*#__PURE__*/_jsx(Icon, {
115
+ name: "ArrowDown",
116
+ size: 14,
117
+ color: Color.gray[700]
118
+ })]
119
+ }), mode === 'range' && /*#__PURE__*/_jsxs(Pressable, {
120
+ style: [styles.pickerTrigger, value !== '' && styles.hasValue],
121
+ onPress: handleOpenSelect,
122
+ ...props,
123
+ children: [/*#__PURE__*/_jsx(Typography, {
124
+ variant: "t2",
125
+ color: Color.gray[900],
126
+ weight: "medium",
127
+ children: endDate() ?? placeholderDateEnd
128
+ }), /*#__PURE__*/_jsx(Icon, {
129
+ name: "ArrowDown",
130
+ size: 14,
131
+ color: Color.gray[700]
132
+ })]
133
+ })]
134
+ }), /*#__PURE__*/_jsx(DatePicker, {
135
+ ...datePickerProps,
136
+ mode: mode,
137
+ isOpen: isDatePickerOpen,
138
+ onClose: handleCloseDatePicker,
139
+ value: rawValue(),
140
+ onChange: val => {
141
+ handleDateChange(val);
142
+ }
143
+ })]
144
+ });
145
+ }
146
+ const styles = StyleSheet.create({
147
+ gap4: {
148
+ gap: 4
149
+ },
150
+ pickerTrigger: {
151
+ paddingVertical: 10,
152
+ paddingHorizontal: 12,
153
+ borderRadius: 8,
154
+ flexDirection: 'row',
155
+ justifyContent: 'space-between',
156
+ alignItems: 'center',
157
+ borderWidth: 1,
158
+ borderColor: Color.gray[200],
159
+ flex: 1
160
+ },
161
+ hasValue: {
162
+ borderColor: Color.primary[300]
163
+ },
164
+ wrapper: {
165
+ flexDirection: 'row',
166
+ gap: 8,
167
+ alignItems: 'center'
168
+ }
169
+ });
170
+ //# sourceMappingURL=InputDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Color","DatePicker","Icon","Typography","useState","Pressable","StyleSheet","View","dateFormatter","jsx","_jsx","jsxs","_jsxs","InputDate","label","placeholder","placeholderDateEnd","datePickerProps","value","valueDateEnd","onSelectClick","onDatePickerClose","onDateChange","mode","language","props","isDatePickerOpen","setSelectOpen","dateValue","setDateValue","raw","setRaw","handleOpenSelect","handleCloseDatePicker","handleDateChange","val","date","startDate","endDate","formattedValue","options","format","formattedStartDate","formattedEndDate","rawValue","style","styles","gap4","children","variant","weight","color","gray","wrapper","pickerTrigger","hasValue","onPress","name","size","isOpen","onClose","onChange","create","gap","paddingVertical","paddingHorizontal","borderRadius","flexDirection","justifyContent","alignItems","borderWidth","borderColor","flex","primary"],"sourceRoot":"../../../src","sources":["Input/InputDate.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,265 @@
1
+ # InputDate Component
2
+
3
+ Komponen React Native untuk input tanggal dengan dukungan mode single date dan date range. Terintegrasi dengan DatePicker dari `@herca/rn-kit` dan menyediakan UI yang user-friendly untuk pemilihan tanggal.
4
+
5
+ ## Penggunaan Dasar
6
+
7
+ ### Single Date Mode
8
+
9
+ ```jsx
10
+ import InputDate from './InputDate';
11
+
12
+ function MyForm() {
13
+ const [date, setDate] = useState('');
14
+
15
+ return (
16
+ <InputDate
17
+ label="Tanggal Lahir"
18
+ placeholder="Pilih tanggal"
19
+ value={date}
20
+ onDateChange={(val) => setDate(val.date)}
21
+ />
22
+ );
23
+ }
24
+ ```
25
+
26
+ ### Date Range Mode
27
+
28
+ ```jsx
29
+ import InputDate from './InputDate';
30
+
31
+ function MyForm() {
32
+ const [startDate, setStartDate] = useState('');
33
+ const [endDate, setEndDate] = useState('');
34
+
35
+ return (
36
+ <InputDate
37
+ mode="range"
38
+ label="Periode"
39
+ placeholder="Tanggal mulai"
40
+ placeholderDateEnd="Tanggal selesai"
41
+ value={startDate}
42
+ valueDateEnd={endDate}
43
+ onDateChange={(val) => {
44
+ setStartDate(val.startDate);
45
+ setEndDate(val.endDate);
46
+ }}
47
+ />
48
+ );
49
+ }
50
+ ```
51
+
52
+ ## Props
53
+
54
+ ### Base Props
55
+
56
+ | Prop | Type | Default | Deskripsi |
57
+ | ------------------- | --------------------------------- | ------------------ | -------------------------------------------------- |
58
+ | `label` | `string` | **Required** | Label yang ditampilkan di atas input |
59
+ | `placeholder` | `string` | `"Select here..."` | Placeholder untuk tanggal pertama/single |
60
+ | `value` | `string` | `undefined` | Nilai tanggal terpilih (formatted) |
61
+ | `valueDateEnd` | `string` | `undefined` | Nilai tanggal akhir untuk mode range (formatted) |
62
+ | `datePickerProps` | `DatePickerPropsWithoutOnChange` | `undefined` | Props tambahan untuk DatePicker (kecuali onChange) |
63
+ | `onSelectClick` | `() => void` | `undefined` | Callback ketika input diklik |
64
+ | `onDatePickerClose` | `() => void` | `undefined` | Callback ketika DatePicker ditutup |
65
+ | `onDateChange` | `(value: DateRangeProps) => void` | `undefined` | Callback ketika tanggal berubah |
66
+ | `mode` | `'single' \| 'range'` | `'single'` | Mode pemilihan tanggal |
67
+ | `language` | `'en' \| 'id'` | `undefined` | Bahasa untuk format tanggal |
68
+
69
+ ### Single Mode Specific Props
70
+
71
+ Ketika `mode` tidak diset atau `mode="single"`:
72
+
73
+ | Prop | Type | Deskripsi |
74
+ | -------------------- | ------- | ----------------------------- |
75
+ | `placeholderDateEnd` | `never` | Tidak tersedia di single mode |
76
+
77
+ ### Range Mode Specific Props
78
+
79
+ Ketika `mode="range"`:
80
+
81
+ | Prop | Type | Deskripsi |
82
+ | -------------------- | -------- | ---------------------------------------------- |
83
+ | `placeholderDateEnd` | `string` | **Required** - Placeholder untuk tanggal akhir |
84
+
85
+ ## Return Value dari onDateChange
86
+
87
+ Callback `onDateChange` menerima objek dengan struktur:
88
+
89
+ ```typescript
90
+ {
91
+ date: string | null; // Untuk single mode
92
+ startDate: string | null; // Untuk range mode (tanggal mulai)
93
+ endDate: string | null; // Untuk range mode (tanggal selesai)
94
+ }
95
+ ```
96
+
97
+ ## Contoh Penggunaan
98
+
99
+ ### Single Date dengan Language
100
+
101
+ ```jsx
102
+ <InputDate
103
+ label="Select Date"
104
+ placeholder="Choose a date"
105
+ mode="single"
106
+ language="id"
107
+ onDateChange={(val) => console.log(val.date)}
108
+ />
109
+ ```
110
+
111
+ ### Date Range dengan Controlled Values
112
+
113
+ ```jsx
114
+ function BookingForm() {
115
+ const [dateRange, setDateRange] = useState({
116
+ start: '',
117
+ end: '',
118
+ });
119
+
120
+ return (
121
+ <InputDate
122
+ mode="range"
123
+ label="Periode Booking"
124
+ placeholder="Check-in"
125
+ placeholderDateEnd="Check-out"
126
+ value={dateRange.start}
127
+ valueDateEnd={dateRange.end}
128
+ onDateChange={(val) => {
129
+ setDateRange({
130
+ start: val.startDate || '',
131
+ end: val.endDate || '',
132
+ });
133
+ }}
134
+ />
135
+ );
136
+ }
137
+ ```
138
+
139
+ ### Dengan Custom DatePicker Props
140
+
141
+ ```jsx
142
+ <InputDate
143
+ label="Tanggal Lahir"
144
+ placeholder="Pilih tanggal"
145
+ datePickerProps={{
146
+ minDate: new Date('1900-01-01'),
147
+ maxDate: new Date(),
148
+ value: { date: new Date() },
149
+ }}
150
+ onDateChange={(val) => console.log(val)}
151
+ />
152
+ ```
153
+
154
+ ### Dengan Event Callbacks
155
+
156
+ ```jsx
157
+ <InputDate
158
+ label="Appointment Date"
159
+ placeholder="Select date"
160
+ onSelectClick={() => console.log('Picker opened')}
161
+ onDatePickerClose={() => console.log('Picker closed')}
162
+ onDateChange={(val) => {
163
+ console.log('Date changed:', val);
164
+ }}
165
+ />
166
+ ```
167
+
168
+ ### English Language Format
169
+
170
+ ```jsx
171
+ <InputDate
172
+ label="Birth Date"
173
+ placeholder="Select date"
174
+ language="en"
175
+ onDateChange={(val) => console.log(val.date)}
176
+ />
177
+ ```
178
+
179
+ ### Indonesian Language Format
180
+
181
+ ```jsx
182
+ <InputDate
183
+ label="Tanggal Lahir"
184
+ placeholder="Pilih tanggal"
185
+ language="id"
186
+ onDateChange={(val) => console.log(val.date)}
187
+ />
188
+ ```
189
+
190
+ ## Fitur
191
+
192
+ - ✅ Dua mode: Single date dan Date range
193
+ - ✅ Support multi-bahasa (English & Indonesian)
194
+ - ✅ Controlled component dengan value props
195
+ - ✅ Auto-formatting tanggal berdasarkan bahasa
196
+ - ✅ Visual feedback untuk nilai yang sudah dipilih
197
+ - ✅ Terintegrasi dengan DatePicker dari @herca/rn-kit
198
+ - ✅ TypeScript support dengan discriminated unions untuk type safety
199
+ - ✅ Customizable melalui datePickerProps
200
+ - ✅ Event callbacks untuk lifecycle DatePicker
201
+
202
+ ## Styling
203
+
204
+ Komponen menggunakan styling internal dengan karakteristik:
205
+
206
+ - Border color berubah ke `primary[300]` ketika ada nilai terpilih
207
+ - Layout responsive dengan flexbox
208
+ - Gap 8px antara input start date dan end date (mode range)
209
+ - Border radius 8px dengan padding yang konsisten
210
+ - Typography menggunakan variant `t2` dari @herca/rn-kit
211
+
212
+ ## State Management Internal
213
+
214
+ Komponen mengelola beberapa state internal:
215
+
216
+ - `isDatePickerOpen`: Status buka/tutup DatePicker
217
+ - `dateValue`: Nilai tanggal yang sudah diformat
218
+ - `raw`: Nilai tanggal raw dari DatePicker
219
+
220
+ State internal ini memungkinkan komponen bekerja baik sebagai controlled maupun uncontrolled component.
221
+
222
+ ## TypeScript
223
+
224
+ Komponen menggunakan discriminated unions untuk type safety antara single dan range mode:
225
+
226
+ ```typescript
227
+ type SingleModeProps = BaseProps & {
228
+ mode?: 'single';
229
+ placeholderDateEnd?: never;
230
+ };
231
+
232
+ type RangeModeProps = BaseProps & {
233
+ mode: 'range';
234
+ placeholderDateEnd: string;
235
+ };
236
+
237
+ export type Props = SingleModeProps | RangeModeProps;
238
+ ```
239
+
240
+ Ini memastikan `placeholderDateEnd` hanya required ketika `mode="range"`.
241
+
242
+ ## Dependencies
243
+
244
+ - `@herca/rn-kit` - Untuk komponen DatePicker, Icon, Typography, dan Color
245
+ - `react-native` - Core components (View, Pressable, StyleSheet)
246
+
247
+ ## Best Practices
248
+
249
+ 1. **Selalu provide label yang jelas** untuk accessibility
250
+ 2. **Gunakan language prop** untuk konsistensi format tanggal di aplikasi
251
+ 3. **Handle onDateChange** untuk update state parent component
252
+ 4. **Gunakan controlled values** untuk form validation
253
+ 5. **Provide meaningful placeholders** yang menjelaskan expected input
254
+
255
+ ## Catatan
256
+
257
+ - Props tambahan akan diteruskan ke Pressable trigger
258
+ - Nilai yang dikembalikan via `onDateChange` selalu dalam format yang sudah diproses menggunakan `dateFormatter`
259
+ - Raw value dari DatePicker tetap tersimpan untuk keperluan internal
260
+ - Komponen dapat bekerja sebagai controlled maupun uncontrolled component
261
+ - Border color otomatis berubah ketika ada nilai terpilih untuk visual feedback
262
+
263
+ ## License
264
+
265
+ MIT
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ import { Color, Icon } from '@herca/rn-kit';
3
4
  import React, { useState, useEffect, useCallback } from 'react';
4
5
  import { View, StyleSheet, Modal, TouchableOpacity, Animated, SafeAreaView, Platform } from 'react-native';
5
- import Icon from "../Icon/index.js";
6
- import Color from "../Color/Color.js";
7
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
7
  const ModalPopUp = ({
9
8
  isOpen,
@@ -17,10 +16,9 @@ const ModalPopUp = ({
17
16
  containerStyle,
18
17
  modalStyle
19
18
  }) => {
20
- const [isVisible, setIsVisible] = useState(isOpen);
19
+ const [isVisible, setIsVisible] = useState(isOpen ?? false);
21
20
  const scaleAnim = useState(() => new Animated.Value(0))[0];
22
- const showModal = useCallback(() => {
23
- setIsVisible(true);
21
+ const animateIn = useCallback(() => {
24
22
  Animated.spring(scaleAnim, {
25
23
  toValue: 1,
26
24
  useNativeDriver: true,
@@ -28,23 +26,28 @@ const ModalPopUp = ({
28
26
  stiffness: 200
29
27
  }).start();
30
28
  }, [scaleAnim]);
31
- const hideModal = useCallback(() => {
32
- setIsVisible(false);
33
- onRequestClose?.();
34
- onClose?.();
35
- }, [onClose, onRequestClose]);
36
- const handleBackdropPress = useCallback(() => {
37
- if (closable) {
38
- hideModal?.();
39
- }
40
- }, [closable, hideModal]);
41
29
  useEffect(() => {
42
30
  if (isOpen) {
43
- showModal();
31
+ setIsVisible(true);
32
+ animateIn();
33
+ } else if (isVisible) {
34
+ setIsVisible(false);
35
+ onRequestClose?.();
36
+ onClose?.();
44
37
  }
45
-
46
- // eslint-disable-next-line react-hooks/exhaustive-deps
47
- }, [isOpen]);
38
+ }, [isOpen, isVisible, animateIn, onRequestClose, onClose]);
39
+ const userClose = useCallback(() => {
40
+ if (!closable) return;
41
+ setIsVisible(false);
42
+ onRequestClose?.();
43
+ onClose?.();
44
+ }, [closable, onClose, onRequestClose]);
45
+ const handleBackdropPress = () => {
46
+ userClose();
47
+ };
48
+ const handleRequestClose = () => {
49
+ userClose();
50
+ };
48
51
  const modalContentStyle = StyleSheet.flatten([{
49
52
  transform: [{
50
53
  scale: scaleAnim
@@ -56,7 +59,7 @@ const ModalPopUp = ({
56
59
  return /*#__PURE__*/_jsx(Modal, {
57
60
  transparent: true,
58
61
  visible: isVisible,
59
- onRequestClose: handleBackdropPress,
62
+ onRequestClose: handleRequestClose,
60
63
  statusBarTranslucent: true,
61
64
  children: /*#__PURE__*/_jsxs(View, {
62
65
  style: [styles.modalContainer, containerStyle],
@@ -69,7 +72,7 @@ const ModalPopUp = ({
69
72
  children: [closable && /*#__PURE__*/_jsx(View, {
70
73
  style: styles.closeButtonContainer,
71
74
  children: /*#__PURE__*/_jsx(TouchableOpacity, {
72
- onPress: hideModal,
75
+ onPress: userClose,
73
76
  style: styles.closeButton,
74
77
  children: /*#__PURE__*/_jsx(View, {
75
78
  style: styles.iconButtonClose,
@@ -134,7 +137,6 @@ const styles = StyleSheet.create({
134
137
  justifyContent: 'center',
135
138
  alignContent: 'center',
136
139
  alignItems: 'center',
137
- top: 'auto',
138
140
  flex: 1
139
141
  },
140
142
  closeButton: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useCallback","View","StyleSheet","Modal","TouchableOpacity","Animated","SafeAreaView","Platform","Icon","Color","jsx","_jsx","jsxs","_jsxs","ModalPopUp","isOpen","onClose","children","backdrop","closable","onRequestClose","bgColor","width","containerStyle","modalStyle","isVisible","setIsVisible","scaleAnim","Value","showModal","spring","toValue","useNativeDriver","damping","stiffness","start","hideModal","handleBackdropPress","modalContentStyle","flatten","transform","scale","backgroundColor","maxHeight","transparent","visible","statusBarTranslucent","style","styles","modalContainer","backdropTouch","activeOpacity","onPress","modalContent","closeButtonContainer","closeButton","iconButtonClose","name","size","color","gray","contentContainer","create","flex","justifyContent","alignItems","position","top","left","right","bottom","height","borderRadius","overflow","select","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","elevation","zIndex","alignContent","padding"],"sourceRoot":"../../../src","sources":["Modal/Modal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Color","Icon","React","useState","useEffect","useCallback","View","StyleSheet","Modal","TouchableOpacity","Animated","SafeAreaView","Platform","jsx","_jsx","jsxs","_jsxs","ModalPopUp","isOpen","onClose","children","backdrop","closable","onRequestClose","bgColor","width","containerStyle","modalStyle","isVisible","setIsVisible","scaleAnim","Value","animateIn","spring","toValue","useNativeDriver","damping","stiffness","start","userClose","handleBackdropPress","handleRequestClose","modalContentStyle","flatten","transform","scale","backgroundColor","maxHeight","transparent","visible","statusBarTranslucent","style","styles","modalContainer","backdropTouch","activeOpacity","onPress","modalContent","closeButtonContainer","closeButton","iconButtonClose","name","size","color","gray","contentContainer","create","flex","justifyContent","alignItems","position","top","left","right","bottom","height","borderRadius","overflow","select","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","elevation","zIndex","alignContent","padding"],"sourceRoot":"../../../src","sources":["Modal/Modal.tsx"],"mappings":"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","ignoreList":[]}