@herca/rn-kit 0.1.114 → 0.1.115

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useState, useCallback } from 'react';
3
+ import { useState, useCallback, useEffect } from 'react';
4
4
  import { View, FlatList, StyleSheet, TouchableOpacity } from 'react-native';
5
5
  import BottomSheet from "../BottomSheet/BottomSheet.js";
6
6
  import Typography from "../Typography/Typography.js";
@@ -14,6 +14,7 @@ export default function MonthPicker({
14
14
  onClose,
15
15
  onChange,
16
16
  mode = 'single',
17
+ value,
17
18
  cancelLabel = 'Batal',
18
19
  confirmLabel = 'pilih',
19
20
  title = 'Pilih Bulan',
@@ -25,6 +26,32 @@ export default function MonthPicker({
25
26
  });
26
27
  const [multipleValue, setMultipleValue] = useState([]);
27
28
  const [singleValue, setSingleValue] = useState(null);
29
+
30
+ // Compared as a string, not by reference: a parent that rebuilds the value
31
+ // object on every render would otherwise wipe a selection mid-sheet.
32
+ const valueKey = JSON.stringify(value ?? null);
33
+ useEffect(() => {
34
+ const incoming = JSON.parse(valueKey);
35
+
36
+ // No value at all means uncontrolled -- the sheet's own state is the
37
+ // only record of the selection, so don't touch it.
38
+ if (!isOpen || incoming === null) return;
39
+ if (Array.isArray(incoming)) {
40
+ setSingleValue(incoming[0] ?? null);
41
+ setMultipleValue(incoming);
42
+ setRangeValue({
43
+ startDate: null,
44
+ endDate: null
45
+ });
46
+ } else {
47
+ setSingleValue(null);
48
+ setMultipleValue([]);
49
+ setRangeValue({
50
+ startDate: incoming.startDate ?? null,
51
+ endDate: incoming.endDate ?? null
52
+ });
53
+ }
54
+ }, [isOpen, valueKey]);
28
55
  const handleSelectMonth = useCallback(month => {
29
56
  if (mode === 'single') {
30
57
  setSingleValue(month);
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useCallback","View","FlatList","StyleSheet","TouchableOpacity","BottomSheet","Typography","Button","Color","generateMonthOptions","getTestID","jsx","_jsx","jsxs","_jsxs","MonthPicker","isOpen","onClose","onChange","mode","cancelLabel","confirmLabel","title","testID","rangeValue","setRangeValue","startDate","endDate","multipleValue","setMultipleValue","singleValue","setSingleValue","handleSelectMonth","month","prev","includes","filter","m","isSelected","handleSubmit","footer","style","styles","containerBottomSheetFooter","children","flex1","variant","size","color","onPress","header","weight","gray","center","container","data","numColumns","keyExtractor","item","value","toString","contentContainerStyle","yearList","renderItem","selected","yearItem","option","optionSelected","label","create","gap","paddingBottom","width","margin","pagination","marginTop","flexDirection","justifyContent","alignItems","marginBottom","buttonNav","backgroundColor","borderRadius","padding","flex","paddingVertical","paddingHorizontal","borderWidth","borderColor","base","white100","primary"],"sourceRoot":"../../../src","sources":["DatePicker/MonthPicker.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useCallback","useEffect","View","FlatList","StyleSheet","TouchableOpacity","BottomSheet","Typography","Button","Color","generateMonthOptions","getTestID","jsx","_jsx","jsxs","_jsxs","MonthPicker","isOpen","onClose","onChange","mode","value","cancelLabel","confirmLabel","title","testID","rangeValue","setRangeValue","startDate","endDate","multipleValue","setMultipleValue","singleValue","setSingleValue","valueKey","JSON","stringify","incoming","parse","Array","isArray","handleSelectMonth","month","prev","includes","filter","m","isSelected","handleSubmit","footer","style","styles","containerBottomSheetFooter","children","flex1","variant","size","color","onPress","header","weight","gray","center","container","data","numColumns","keyExtractor","item","toString","contentContainerStyle","yearList","renderItem","selected","yearItem","option","optionSelected","label","create","gap","paddingBottom","width","margin","pagination","marginTop","flexDirection","justifyContent","alignItems","marginBottom","buttonNav","backgroundColor","borderRadius","padding","flex","paddingVertical","paddingHorizontal","borderWidth","borderColor","base","white100","primary"],"sourceRoot":"../../../src","sources":["DatePicker/MonthPicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ Komponen **MonthPicker** adalah komponen pemilih bulan berbasis **React Native**
14
14
  | `onClose` | `() => void` | `undefined` | Callback yang dipanggil saat pengguna menekan tombol **Batal** atau menutup **BottomSheet**. |
15
15
  | `onChange` | `(value: number[] \| { startDate: number \| null; endDate: number \| null }) => void` | `undefined` | Callback yang dipanggil ketika pengguna menekan tombol **Pilih**. Parameter yang dikirim tergantung pada `mode`. |
16
16
  | `mode` | `'single' \| 'range' \| 'multiple'` | `'single'` | Menentukan cara pemilihan bulan. |
17
+ | `value` | `number[] \| { startDate: number \| null; endDate: number \| null }` | `undefined` | Pilihan yang ditandai saat sheet dibuka. Bentuknya sama persis dengan yang dilaporkan `onChange`, jadi nilai dari `onChange` bisa langsung dikembalikan ke sini. Jika tidak diisi, picker hanya mengingat pilihan dari tap-nya sendiri. |
17
18
  | `testID` | `string` | `undefined` | ID untuk automation testing (Maestro/Detox/Appium). Menurunkan `-sheet`, `-cancel`, `-confirm`, dan `-option-{value}` untuk tiap bulan. |
18
19
 
19
20
  ### Bentuk *value* yang Dikirim oleh `onChange`
@@ -18,6 +18,7 @@ Semua outputnya dibungkus dalam komponen **BottomSheet** untuk konsistensi UI.
18
18
  | `onClose` | `() => void` | `-` | Dipanggil saat pengguna menutup picker atau menekan **Batal**. |
19
19
  | `onChange` | `(value: number[] \| { startDate: number \| null; endDate: number \| null }) => void` | `-` | Dipanggil setelah pengguna menekan **Pilih**. Bentuk *value* bergantung pada `mode`. |
20
20
  | `mode` | `'single' \| 'range' \| 'multiple'` | `'single'` | Menentukan mode pemilihan. |
21
+ | `value` | `number[] \| { startDate: number \| null; endDate: number \| null }` | `-` | Pilihan yang ditandai saat sheet dibuka; halaman ikut berpindah ke tahun tersebut. Bentuknya sama persis dengan yang dilaporkan `onChange`. Jika tidak diisi, picker hanya mengingat pilihan dari tap-nya sendiri. |
21
22
  | `testID` | `string` | `-` | ID untuk automation testing (Maestro/Detox/Appium). Menurunkan `-sheet`, `-cancel`, `-confirm`, dan `-option-{year}` untuk tiap tahun. |
22
23
 
23
24
  ### Bentuk *value* `onChange`
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useState, useCallback, useMemo } from 'react';
3
+ import { useState, useCallback, useMemo, useEffect } from 'react';
4
4
  import { View, FlatList, StyleSheet, TouchableOpacity } from 'react-native';
5
5
  import BottomSheet from "../BottomSheet/BottomSheet.js";
6
6
  import Typography from "../Typography/Typography.js";
@@ -14,6 +14,7 @@ export default function YearPicker({
14
14
  onClose,
15
15
  onChange,
16
16
  mode = 'single',
17
+ value,
17
18
  title = 'Pilih Tahun',
18
19
  cancelLabel = 'Batal',
19
20
  confirmLabel = 'Pilih',
@@ -43,6 +44,41 @@ export default function YearPicker({
43
44
  const start = pageIndex * pageSize;
44
45
  return years.slice(start, start + pageSize);
45
46
  }, [years, pageIndex]);
47
+
48
+ // Compared as a string, not by reference: a parent that rebuilds the value
49
+ // object on every render would otherwise wipe a selection mid-sheet.
50
+ const valueKey = JSON.stringify(value ?? null);
51
+ useEffect(() => {
52
+ const incoming = JSON.parse(valueKey);
53
+
54
+ // No value at all means uncontrolled -- the sheet's own state is the
55
+ // only record of the selection, so don't touch it.
56
+ if (!isOpen || incoming === null) return;
57
+
58
+ // The year the sheet should be looking at: a lone selection, or the start
59
+ // of a range. Years run 121 deep across pages, so without this the sheet
60
+ // opens on the current year and the highlight is off-screen.
61
+ let anchor;
62
+ if (Array.isArray(incoming)) {
63
+ setSingleValue(incoming[0] ?? null);
64
+ setMultipleValue(incoming);
65
+ setRangeValue({
66
+ startDate: null,
67
+ endDate: null
68
+ });
69
+ anchor = incoming[0] ?? null;
70
+ } else {
71
+ setSingleValue(null);
72
+ setMultipleValue([]);
73
+ setRangeValue({
74
+ startDate: incoming.startDate ?? null,
75
+ endDate: incoming.endDate ?? null
76
+ });
77
+ anchor = incoming.startDate ?? null;
78
+ }
79
+ const anchorIndex = anchor === null ? -1 : years.indexOf(anchor);
80
+ if (anchorIndex !== -1) setPageIndex(Math.floor(anchorIndex / pageSize));
81
+ }, [isOpen, valueKey, years]);
46
82
  const handleSelectYear = useCallback(year => {
47
83
  if (mode === 'single') {
48
84
  setSingleValue(year);
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useCallback","useMemo","View","FlatList","StyleSheet","TouchableOpacity","BottomSheet","Typography","Button","Color","Icon","getTestID","jsx","_jsx","jsxs","_jsxs","YearPicker","isOpen","onClose","onChange","mode","title","cancelLabel","confirmLabel","testID","currentYear","Date","getFullYear","pageSize","rangeValue","setRangeValue","startDate","endDate","multipleValue","setMultipleValue","singleValue","setSingleValue","years","start","total","Array","from","length","_","i","initialPageIndex","index","findIndex","y","Math","floor","pageIndex","setPageIndex","pageYears","slice","handleSelectYear","year","prev","includes","filter","isSelected","handleSubmit","footer","style","styles","containerBottomSheetFooter","children","flex1","variant","size","color","onPress","header","buttonNav","max","disabled","name","base","white100","weight","gray","container","data","numColumns","keyExtractor","item","toString","contentContainerStyle","yearList","renderItem","selected","yearItem","option","optionSelected","center","create","gap","paddingBottom","width","margin","pagination","marginTop","flexDirection","justifyContent","alignItems","marginBottom","backgroundColor","borderRadius","padding","flex","paddingVertical","paddingHorizontal","borderWidth","borderColor","primary"],"sourceRoot":"../../../src","sources":["DatePicker/YearPicker.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useCallback","useMemo","useEffect","View","FlatList","StyleSheet","TouchableOpacity","BottomSheet","Typography","Button","Color","Icon","getTestID","jsx","_jsx","jsxs","_jsxs","YearPicker","isOpen","onClose","onChange","mode","value","title","cancelLabel","confirmLabel","testID","currentYear","Date","getFullYear","pageSize","rangeValue","setRangeValue","startDate","endDate","multipleValue","setMultipleValue","singleValue","setSingleValue","years","start","total","Array","from","length","_","i","initialPageIndex","index","findIndex","y","Math","floor","pageIndex","setPageIndex","pageYears","slice","valueKey","JSON","stringify","incoming","parse","anchor","isArray","anchorIndex","indexOf","handleSelectYear","year","prev","includes","filter","isSelected","handleSubmit","footer","style","styles","containerBottomSheetFooter","children","flex1","variant","size","color","onPress","header","buttonNav","max","disabled","name","base","white100","weight","gray","container","data","numColumns","keyExtractor","item","toString","contentContainerStyle","yearList","renderItem","selected","yearItem","option","optionSelected","center","create","gap","paddingBottom","width","margin","pagination","marginTop","flexDirection","justifyContent","alignItems","marginBottom","backgroundColor","borderRadius","padding","flex","paddingVertical","paddingHorizontal","borderWidth","borderColor","primary"],"sourceRoot":"../../../src","sources":["DatePicker/YearPicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -28,6 +28,12 @@ const monthLabel = (month, language) => month === null || month === undefined ||
28
28
  language
29
29
  }
30
30
  });
31
+
32
+ /**
33
+ * Back to the 0-based index MonthPicker indexes its options by. Anything
34
+ * outside 1-12 maps to nothing, matching what the field renders.
35
+ */
36
+ const zeroBased = month => month === null || month === undefined || month < 1 || month > 12 ? null : month - 1;
31
37
  export default function InputMonth({
32
38
  label,
33
39
  placeholder,
@@ -52,6 +58,14 @@ export default function InputMonth({
52
58
  // shows whatever was last picked.
53
59
  const start = value ?? (mode === 'range' ? selected.startValue : selected.value); // prettier-ignore
54
60
  const end = valueEnd ?? selected.endValue;
61
+
62
+ // What the sheet should open on. Without this the picker only knows about
63
+ // taps it saw itself, so a value coming from a prop -- or a clear -- would
64
+ // show in the field but leave the sheet blank.
65
+ const pickerValue = mode === 'range' ? {
66
+ startDate: zeroBased(start),
67
+ endDate: zeroBased(end)
68
+ } : [zeroBased(start)].filter(m => m !== null);
55
69
  const handleOpen = () => {
56
70
  setIsOpen(true);
57
71
  onSelectClick?.();
@@ -97,6 +111,7 @@ export default function InputMonth({
97
111
  testID: testID,
98
112
  isOpen: isOpen,
99
113
  mode: mode,
114
+ value: pickerValue,
100
115
  onClose: handleClose,
101
116
  onChange: handleChange,
102
117
  ...(title ? {
@@ -1 +1 @@
1
- {"version":3,"names":["useState","View","MonthPicker","dateFormatter","PickerField","jsx","_jsx","jsxs","_jsxs","EMPTY","value","startValue","endValue","monthLabel","month","language","undefined","date","Date","options","pattern","InputMonth","label","placeholder","placeholderEnd","valueEnd","mode","onSelectClick","onPickerClose","onChange","hasClear","title","cancelLabel","confirmLabel","testID","isOpen","setIsOpen","selected","setSelected","start","end","handleOpen","handleClose","handleChange","picked","oneBased","next","Array","isArray","startDate","endDate","handleClear","children","display","displayEnd","onPress","onClear","onClose"],"sourceRoot":"../../../src","sources":["Input/InputMonth.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","View","MonthPicker","dateFormatter","PickerField","jsx","_jsx","jsxs","_jsxs","EMPTY","value","startValue","endValue","monthLabel","month","language","undefined","date","Date","options","pattern","zeroBased","InputMonth","label","placeholder","placeholderEnd","valueEnd","mode","onSelectClick","onPickerClose","onChange","hasClear","title","cancelLabel","confirmLabel","testID","isOpen","setIsOpen","selected","setSelected","start","end","pickerValue","startDate","endDate","filter","m","handleOpen","handleClose","handleChange","picked","oneBased","next","Array","isArray","handleClear","children","display","displayEnd","onPress","onClear","onClose"],"sourceRoot":"../../../src","sources":["Input/InputMonth.tsx"],"mappings":"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","ignoreList":[]}
@@ -36,6 +36,14 @@ export default function InputYear({
36
36
  const [selected, setSelected] = useState(EMPTY);
37
37
  const start = value ?? (mode === 'range' ? selected.startValue : selected.value); // prettier-ignore
38
38
  const end = valueEnd ?? selected.endValue;
39
+
40
+ // What the sheet should open on. Without this the picker only knows about
41
+ // taps it saw itself, so a value coming from a prop -- or a clear -- would
42
+ // show in the field but leave the sheet blank.
43
+ const pickerValue = mode === 'range' ? {
44
+ startDate: start ?? null,
45
+ endDate: end ?? null
46
+ } : [start].filter(y => y !== null && y !== undefined);
39
47
  const handleOpen = () => {
40
48
  setIsOpen(true);
41
49
  onSelectClick?.();
@@ -77,6 +85,7 @@ export default function InputYear({
77
85
  testID: testID,
78
86
  isOpen: isOpen,
79
87
  mode: mode,
88
+ value: pickerValue,
80
89
  onClose: handleClose,
81
90
  onChange: handleChange,
82
91
  ...(title ? {
@@ -1 +1 @@
1
- {"version":3,"names":["useState","View","YearPicker","PickerField","jsx","_jsx","jsxs","_jsxs","EMPTY","value","startValue","endValue","yearLabel","year","undefined","String","InputYear","label","placeholder","placeholderEnd","valueEnd","mode","onSelectClick","onPickerClose","onChange","hasClear","title","cancelLabel","confirmLabel","testID","isOpen","setIsOpen","selected","setSelected","start","end","handleOpen","handleClose","handleChange","picked","next","Array","isArray","startDate","endDate","handleClear","children","display","displayEnd","onPress","onClear","onClose"],"sourceRoot":"../../../src","sources":["Input/InputYear.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","View","YearPicker","PickerField","jsx","_jsx","jsxs","_jsxs","EMPTY","value","startValue","endValue","yearLabel","year","undefined","String","InputYear","label","placeholder","placeholderEnd","valueEnd","mode","onSelectClick","onPickerClose","onChange","hasClear","title","cancelLabel","confirmLabel","testID","isOpen","setIsOpen","selected","setSelected","start","end","pickerValue","startDate","endDate","filter","y","handleOpen","handleClose","handleChange","picked","next","Array","isArray","handleClear","children","display","displayEnd","onPress","onClear","onClose"],"sourceRoot":"../../../src","sources":["Input/InputYear.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["fontSizeMap","h1","h2","h3","h4","p1","p2","p3","t1","t2","t3","lineHeightMap","fontWeightMap","regular","medium","semibold","bold"],"sourceRoot":"../../../src","sources":["Typography/type.tsx"],"mappings":";;AAOA,OAAO,MAAMA,WAAmD,GAAG;EACjEC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,OAAO,MAAMC,aAAqD,GAAG;EACnEV,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,OAAO,MAAME,aAAsD,GAAG;EACpEC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["fontSizeMap","h1","h2","h3","h4","p1","p2","p3","t1","t2","t3","lineHeightMap","fontWeightMap","regular","medium","semibold","bold"],"sourceRoot":"../../../src","sources":["Typography/type.tsx"],"mappings":";;AAgBA,OAAO,MAAMA,WAAmD,GAAG;EACjEC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,OAAO,MAAMC,aAAqD,GAAG;EACnEV,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,OAAO,MAAME,aAAsD,GAAG;EACpEC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAC","ignoreList":[]}
@@ -7,11 +7,20 @@ interface MonthPickerProps {
7
7
  endDate: number | null;
8
8
  }) => void;
9
9
  mode?: PickerMode;
10
+ /**
11
+ * The selection to open on, shaped exactly like what `onChange` reports:
12
+ * an array of 0-based months for single/multiple, a pair for range. Leave
13
+ * it out to let the sheet keep whatever it was last given by a tap.
14
+ */
15
+ value?: number[] | {
16
+ startDate: number | null;
17
+ endDate: number | null;
18
+ };
10
19
  title?: string;
11
20
  cancelLabel?: string;
12
21
  confirmLabel?: string;
13
22
  testID?: string;
14
23
  }
15
- export default function MonthPicker({ isOpen, onClose, onChange, mode, cancelLabel, confirmLabel, title, testID, }: MonthPickerProps): import("react/jsx-runtime").JSX.Element;
24
+ export default function MonthPicker({ isOpen, onClose, onChange, mode, value, cancelLabel, confirmLabel, title, testID, }: MonthPickerProps): import("react/jsx-runtime").JSX.Element;
16
25
  export {};
17
26
  //# sourceMappingURL=MonthPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MonthPicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/MonthPicker.tsx"],"names":[],"mappings":"AASA,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAElD,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACnE,IAAI,CAAC;IACV,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAe,EACf,WAAqB,EACrB,YAAsB,EACtB,KAAqB,EACrB,MAAM,GACP,EAAE,gBAAgB,2CAuIlB"}
1
+ {"version":3,"file":"MonthPicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/MonthPicker.tsx"],"names":[],"mappings":"AASA,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAElD,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACnE,IAAI,CAAC;IACV,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAe,EACf,KAAK,EACL,WAAqB,EACrB,YAAsB,EACtB,KAAqB,EACrB,MAAM,GACP,EAAE,gBAAgB,2CAgKlB"}
@@ -7,11 +7,20 @@ interface YearPickerProps {
7
7
  endDate: number | null;
8
8
  }) => void;
9
9
  mode?: PickerMode;
10
+ /**
11
+ * The selection to open on, shaped exactly like what `onChange` reports:
12
+ * an array of years for single/multiple, a pair for range. Leave it out to
13
+ * let the sheet keep whatever it was last given by a tap.
14
+ */
15
+ value?: number[] | {
16
+ startDate: number | null;
17
+ endDate: number | null;
18
+ };
10
19
  title?: string;
11
20
  cancelLabel?: string;
12
21
  confirmLabel?: string;
13
22
  testID?: string;
14
23
  }
15
- export default function YearPicker({ isOpen, onClose, onChange, mode, title, cancelLabel, confirmLabel, testID, }: YearPickerProps): import("react/jsx-runtime").JSX.Element;
24
+ export default function YearPicker({ isOpen, onClose, onChange, mode, value, title, cancelLabel, confirmLabel, testID, }: YearPickerProps): import("react/jsx-runtime").JSX.Element;
16
25
  export {};
17
26
  //# sourceMappingURL=YearPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"YearPicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/YearPicker.tsx"],"names":[],"mappings":"AASA,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAElD,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACnE,IAAI,CAAC;IACV,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAe,EACf,KAAqB,EACrB,WAAqB,EACrB,YAAsB,EACtB,MAAM,GACP,EAAE,eAAe,2CAsKjB"}
1
+ {"version":3,"file":"YearPicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/YearPicker.tsx"],"names":[],"mappings":"AASA,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAElD,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACnE,IAAI,CAAC;IACV,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAe,EACf,KAAK,EACL,KAAqB,EACrB,WAAqB,EACrB,YAAsB,EACtB,MAAM,GACP,EAAE,eAAe,2CAyMjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputMonth.d.ts","sourceRoot":"","sources":["../../../../src/Input/InputMonth.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG,SAAS,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,cAAc,CAAC;AA4B/D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,QAAQ,EACR,IAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,MAAM,GACP,EAAE,eAAe,2CAwEjB"}
1
+ {"version":3,"file":"InputMonth.d.ts","sourceRoot":"","sources":["../../../../src/Input/InputMonth.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG,SAAS,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,cAAc,CAAC;AAqC/D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,QAAQ,EACR,IAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,MAAM,GACP,EAAE,eAAe,2CAiFjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputYear.d.ts","sourceRoot":"","sources":["../../../../src/Input/InputYear.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG,SAAS,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,cAAc,CAAC;AAW9D;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,QAAQ,EACR,IAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,MAAM,GACP,EAAE,cAAc,2CA4DhB"}
1
+ {"version":3,"file":"InputYear.d.ts","sourceRoot":"","sources":["../../../../src/Input/InputYear.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG,SAAS,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,cAAc,CAAC;AAW9D;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,QAAQ,EACR,IAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,MAAM,GACP,EAAE,cAAc,2CAqEhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Typography/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,MAAM,MAAM,sBAAsB,GAChC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtE,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAW9D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAWhE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAKjE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Typography/type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,MAAM,MAAM,sBAAsB,GAC9B,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAW9D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAWhE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAKjE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herca/rn-kit",
3
- "version": "0.1.114",
3
+ "version": "0.1.115",
4
4
  "description": "React Native UI Kit",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -1,4 +1,4 @@
1
- import { useState, useCallback } from 'react';
1
+ import { useState, useCallback, useEffect } from 'react';
2
2
  import { View, FlatList, StyleSheet, TouchableOpacity } from 'react-native';
3
3
  import BottomSheet from '../BottomSheet/BottomSheet';
4
4
  import Typography from '../Typography/Typography';
@@ -16,6 +16,12 @@ interface MonthPickerProps {
16
16
  value: number[] | { startDate: number | null; endDate: number | null }
17
17
  ) => void;
18
18
  mode?: PickerMode;
19
+ /**
20
+ * The selection to open on, shaped exactly like what `onChange` reports:
21
+ * an array of 0-based months for single/multiple, a pair for range. Leave
22
+ * it out to let the sheet keep whatever it was last given by a tap.
23
+ */
24
+ value?: number[] | { startDate: number | null; endDate: number | null };
19
25
  title?: string;
20
26
  cancelLabel?: string;
21
27
  confirmLabel?: string;
@@ -27,6 +33,7 @@ export default function MonthPicker({
27
33
  onClose,
28
34
  onChange,
29
35
  mode = 'single',
36
+ value,
30
37
  cancelLabel = 'Batal',
31
38
  confirmLabel = 'pilih',
32
39
  title = 'Pilih Bulan',
@@ -39,6 +46,31 @@ export default function MonthPicker({
39
46
  const [multipleValue, setMultipleValue] = useState<number[]>([]);
40
47
  const [singleValue, setSingleValue] = useState<number | null>(null);
41
48
 
49
+ // Compared as a string, not by reference: a parent that rebuilds the value
50
+ // object on every render would otherwise wipe a selection mid-sheet.
51
+ const valueKey = JSON.stringify(value ?? null);
52
+
53
+ useEffect(() => {
54
+ const incoming = JSON.parse(valueKey);
55
+
56
+ // No value at all means uncontrolled -- the sheet's own state is the
57
+ // only record of the selection, so don't touch it.
58
+ if (!isOpen || incoming === null) return;
59
+
60
+ if (Array.isArray(incoming)) {
61
+ setSingleValue(incoming[0] ?? null);
62
+ setMultipleValue(incoming);
63
+ setRangeValue({ startDate: null, endDate: null });
64
+ } else {
65
+ setSingleValue(null);
66
+ setMultipleValue([]);
67
+ setRangeValue({
68
+ startDate: incoming.startDate ?? null,
69
+ endDate: incoming.endDate ?? null,
70
+ });
71
+ }
72
+ }, [isOpen, valueKey]);
73
+
42
74
  const handleSelectMonth = useCallback(
43
75
  (month: number) => {
44
76
  if (mode === 'single') {
@@ -14,6 +14,7 @@ Komponen **MonthPicker** adalah komponen pemilih bulan berbasis **React Native**
14
14
  | `onClose` | `() => void` | `undefined` | Callback yang dipanggil saat pengguna menekan tombol **Batal** atau menutup **BottomSheet**. |
15
15
  | `onChange` | `(value: number[] \| { startDate: number \| null; endDate: number \| null }) => void` | `undefined` | Callback yang dipanggil ketika pengguna menekan tombol **Pilih**. Parameter yang dikirim tergantung pada `mode`. |
16
16
  | `mode` | `'single' \| 'range' \| 'multiple'` | `'single'` | Menentukan cara pemilihan bulan. |
17
+ | `value` | `number[] \| { startDate: number \| null; endDate: number \| null }` | `undefined` | Pilihan yang ditandai saat sheet dibuka. Bentuknya sama persis dengan yang dilaporkan `onChange`, jadi nilai dari `onChange` bisa langsung dikembalikan ke sini. Jika tidak diisi, picker hanya mengingat pilihan dari tap-nya sendiri. |
17
18
  | `testID` | `string` | `undefined` | ID untuk automation testing (Maestro/Detox/Appium). Menurunkan `-sheet`, `-cancel`, `-confirm`, dan `-option-{value}` untuk tiap bulan. |
18
19
 
19
20
  ### Bentuk *value* yang Dikirim oleh `onChange`
@@ -18,6 +18,7 @@ Semua outputnya dibungkus dalam komponen **BottomSheet** untuk konsistensi UI.
18
18
  | `onClose` | `() => void` | `-` | Dipanggil saat pengguna menutup picker atau menekan **Batal**. |
19
19
  | `onChange` | `(value: number[] \| { startDate: number \| null; endDate: number \| null }) => void` | `-` | Dipanggil setelah pengguna menekan **Pilih**. Bentuk *value* bergantung pada `mode`. |
20
20
  | `mode` | `'single' \| 'range' \| 'multiple'` | `'single'` | Menentukan mode pemilihan. |
21
+ | `value` | `number[] \| { startDate: number \| null; endDate: number \| null }` | `-` | Pilihan yang ditandai saat sheet dibuka; halaman ikut berpindah ke tahun tersebut. Bentuknya sama persis dengan yang dilaporkan `onChange`. Jika tidak diisi, picker hanya mengingat pilihan dari tap-nya sendiri. |
21
22
  | `testID` | `string` | `-` | ID untuk automation testing (Maestro/Detox/Appium). Menurunkan `-sheet`, `-cancel`, `-confirm`, dan `-option-{year}` untuk tiap tahun. |
22
23
 
23
24
  ### Bentuk *value* `onChange`
@@ -1,4 +1,4 @@
1
- import { useState, useCallback, useMemo } from 'react';
1
+ import { useState, useCallback, useMemo, useEffect } from 'react';
2
2
  import { View, FlatList, StyleSheet, TouchableOpacity } from 'react-native';
3
3
  import BottomSheet from '../BottomSheet/BottomSheet';
4
4
  import Typography from '../Typography/Typography';
@@ -16,6 +16,12 @@ interface YearPickerProps {
16
16
  value: number[] | { startDate: number | null; endDate: number | null }
17
17
  ) => void;
18
18
  mode?: PickerMode;
19
+ /**
20
+ * The selection to open on, shaped exactly like what `onChange` reports:
21
+ * an array of years for single/multiple, a pair for range. Leave it out to
22
+ * let the sheet keep whatever it was last given by a tap.
23
+ */
24
+ value?: number[] | { startDate: number | null; endDate: number | null };
19
25
  title?: string;
20
26
  cancelLabel?: string;
21
27
  confirmLabel?: string;
@@ -27,6 +33,7 @@ export default function YearPicker({
27
33
  onClose,
28
34
  onChange,
29
35
  mode = 'single',
36
+ value,
30
37
  title = 'Pilih Tahun',
31
38
  cancelLabel = 'Batal',
32
39
  confirmLabel = 'Pilih',
@@ -59,6 +66,41 @@ export default function YearPicker({
59
66
  return years.slice(start, start + pageSize);
60
67
  }, [years, pageIndex]);
61
68
 
69
+ // Compared as a string, not by reference: a parent that rebuilds the value
70
+ // object on every render would otherwise wipe a selection mid-sheet.
71
+ const valueKey = JSON.stringify(value ?? null);
72
+
73
+ useEffect(() => {
74
+ const incoming = JSON.parse(valueKey);
75
+
76
+ // No value at all means uncontrolled -- the sheet's own state is the
77
+ // only record of the selection, so don't touch it.
78
+ if (!isOpen || incoming === null) return;
79
+
80
+ // The year the sheet should be looking at: a lone selection, or the start
81
+ // of a range. Years run 121 deep across pages, so without this the sheet
82
+ // opens on the current year and the highlight is off-screen.
83
+ let anchor: number | null;
84
+
85
+ if (Array.isArray(incoming)) {
86
+ setSingleValue(incoming[0] ?? null);
87
+ setMultipleValue(incoming);
88
+ setRangeValue({ startDate: null, endDate: null });
89
+ anchor = incoming[0] ?? null;
90
+ } else {
91
+ setSingleValue(null);
92
+ setMultipleValue([]);
93
+ setRangeValue({
94
+ startDate: incoming.startDate ?? null,
95
+ endDate: incoming.endDate ?? null,
96
+ });
97
+ anchor = incoming.startDate ?? null;
98
+ }
99
+
100
+ const anchorIndex = anchor === null ? -1 : years.indexOf(anchor);
101
+ if (anchorIndex !== -1) setPageIndex(Math.floor(anchorIndex / pageSize));
102
+ }, [isOpen, valueKey, years]);
103
+
62
104
  const handleSelectYear = useCallback(
63
105
  (year: number) => {
64
106
  if (mode === 'single') {
@@ -61,6 +61,15 @@ const monthLabel = (
61
61
  options: { pattern: 'MMMM', language },
62
62
  });
63
63
 
64
+ /**
65
+ * Back to the 0-based index MonthPicker indexes its options by. Anything
66
+ * outside 1-12 maps to nothing, matching what the field renders.
67
+ */
68
+ const zeroBased = (month: number | null | undefined) =>
69
+ month === null || month === undefined || month < 1 || month > 12
70
+ ? null
71
+ : month - 1;
72
+
64
73
  export default function InputMonth({
65
74
  label,
66
75
  placeholder,
@@ -86,6 +95,14 @@ export default function InputMonth({
86
95
  const start = value ?? (mode === 'range' ? selected.startValue : selected.value); // prettier-ignore
87
96
  const end = valueEnd ?? selected.endValue;
88
97
 
98
+ // What the sheet should open on. Without this the picker only knows about
99
+ // taps it saw itself, so a value coming from a prop -- or a clear -- would
100
+ // show in the field but leave the sheet blank.
101
+ const pickerValue =
102
+ mode === 'range'
103
+ ? { startDate: zeroBased(start), endDate: zeroBased(end) }
104
+ : ([zeroBased(start)].filter((m) => m !== null) as number[]);
105
+
89
106
  const handleOpen = () => {
90
107
  setIsOpen(true);
91
108
  onSelectClick?.();
@@ -141,6 +158,7 @@ export default function InputMonth({
141
158
  testID={testID}
142
159
  isOpen={isOpen}
143
160
  mode={mode}
161
+ value={pickerValue}
144
162
  onClose={handleClose}
145
163
  onChange={handleChange}
146
164
  {...(title ? { title } : {})}
@@ -69,6 +69,14 @@ export default function InputYear({
69
69
  const start = value ?? (mode === 'range' ? selected.startValue : selected.value); // prettier-ignore
70
70
  const end = valueEnd ?? selected.endValue;
71
71
 
72
+ // What the sheet should open on. Without this the picker only knows about
73
+ // taps it saw itself, so a value coming from a prop -- or a clear -- would
74
+ // show in the field but leave the sheet blank.
75
+ const pickerValue =
76
+ mode === 'range'
77
+ ? { startDate: start ?? null, endDate: end ?? null }
78
+ : ([start].filter((y) => y !== null && y !== undefined) as number[]);
79
+
72
80
  const handleOpen = () => {
73
81
  setIsOpen(true);
74
82
  onSelectClick?.();
@@ -114,6 +122,7 @@ export default function InputYear({
114
122
  testID={testID}
115
123
  isOpen={isOpen}
116
124
  mode={mode}
125
+ value={pickerValue}
117
126
  onClose={handleClose}
118
127
  onChange={handleChange}
119
128
  {...(title ? { title } : {})}
@@ -1,7 +1,16 @@
1
1
  import type { ColorValue, StyleProp, TextStyle } from 'react-native';
2
2
  import React from 'react';
3
3
  export type TypographyVariantProps =
4
- 'h1' | 'h2' | 'h3' | 'h4' | 'p1' | 'p2' | 'p3' | 't1' | 't2' | 't3';
4
+ | 'h1'
5
+ | 'h2'
6
+ | 'h3'
7
+ | 'h4'
8
+ | 'p1'
9
+ | 'p2'
10
+ | 'p3'
11
+ | 't1'
12
+ | 't2'
13
+ | 't3';
5
14
 
6
15
  export type Weight = 'regular' | 'medium' | 'semibold' | 'bold';
7
16