@herca/rn-kit 0.1.118 → 0.1.119

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 { useCallback, useState, useEffect } from 'react';
3
+ import { useCallback, useState, useEffect, useMemo } from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  import BottomSheet from "../BottomSheet/BottomSheet.js";
6
6
  import Calendar, { formatDate } from "../Calendar/Calendar.js";
@@ -19,10 +19,13 @@ export default function DatePicker({
19
19
  hint,
20
20
  mode,
21
21
  value,
22
+ markedDates: callerMarkedDates,
22
23
  confirmLabel = 'Terapkan',
23
24
  cancelLabel = 'Batalkan',
24
25
  isCancelButtonDisabled = false,
25
26
  isConfirmButtonDisabled = false,
27
+ selectedBackgroundColor = Color.primary[1000],
28
+ selectedTextColor = Color.base.white100,
26
29
  testID,
27
30
  ...calendarProps
28
31
  }) {
@@ -67,7 +70,9 @@ export default function DatePicker({
67
70
  if (mode === 'single' && value?.date) {
68
71
  updatedMarkDates = {
69
72
  [formatDate(value.date)]: {
70
- selected: true
73
+ selected: true,
74
+ backgroundColor: selectedBackgroundColor,
75
+ textColor: selectedTextColor
71
76
  }
72
77
  };
73
78
  }
@@ -99,7 +104,24 @@ export default function DatePicker({
99
104
  endDate: null,
100
105
  date: null
101
106
  });
102
- }, [isOpen, value, mode]);
107
+ }, [isOpen, value, mode, selectedBackgroundColor, selectedTextColor]);
108
+
109
+ // the value the caller already applied has to survive the marks the caller
110
+ // paints for its own reasons -- an override would drop the selection, and a
111
+ // caller's colours on that same day would hide it, so the selection sits on
112
+ // top of the mark it shares a day with and leaves the rest of it alone
113
+ const markedDates = useMemo(() => {
114
+ const merged = {
115
+ ...callerMarkedDates
116
+ };
117
+ Object.entries(markDates ?? {}).forEach(([date, mark]) => {
118
+ merged[date] = {
119
+ ...merged[date],
120
+ ...mark
121
+ };
122
+ });
123
+ return merged;
124
+ }, [callerMarkedDates, markDates]);
103
125
  return /*#__PURE__*/_jsx(View, {
104
126
  children: /*#__PURE__*/_jsxs(BottomSheet, {
105
127
  testID: getTestID(testID, 'sheet'),
@@ -129,10 +151,12 @@ export default function DatePicker({
129
151
  })]
130
152
  }),
131
153
  children: [/*#__PURE__*/_jsx(Calendar, {
132
- markedDates: markDates,
154
+ ...calendarProps,
155
+ markedDates: markedDates,
156
+ selectedBackgroundColor: selectedBackgroundColor,
157
+ selectedTextColor: selectedTextColor,
133
158
  mode: mode,
134
- onChange: handleOnChangeCalendar,
135
- ...calendarProps
159
+ onChange: handleOnChangeCalendar
136
160
  }), testID ? /*#__PURE__*/_jsx(View, {
137
161
  testID: getTestID(testID, 'error'),
138
162
  children: /*#__PURE__*/_jsx(Alert, {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useState","useEffect","StyleSheet","View","BottomSheet","Calendar","formatDate","Button","Alert","Color","getTestID","jsx","_jsx","jsxs","_jsxs","DatePicker","onChange","isOpen","onClose","required","hasError","onHasError","hint","mode","value","confirmLabel","cancelLabel","isCancelButtonDisabled","isConfirmButtonDisabled","testID","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","disabled","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","useMemo","StyleSheet","View","BottomSheet","Calendar","formatDate","Button","Alert","Color","getTestID","jsx","_jsx","jsxs","_jsxs","DatePicker","onChange","isOpen","onClose","required","hasError","onHasError","hint","mode","value","markedDates","callerMarkedDates","confirmLabel","cancelLabel","isCancelButtonDisabled","isConfirmButtonDisabled","selectedBackgroundColor","primary","selectedTextColor","base","white100","testID","calendarProps","errorValidate","setErrorValidate","markDates","setMarkDates","valueDatepicker","setValueDatepicker","startDate","endDate","date","handleOnChangeCalendar","val","handleOnPressSubmitButton","isEmpty","isRangeMode","isInvalidRange","handleOnPressCancelButton","updatedMarkDates","selected","backgroundColor","textColor","start","Date","end","dates","dt","setDate","getDate","dateStr","gray","merged","Object","entries","forEach","mark","children","footer","style","styles","footerContainer","buttonWrapper","variant","title","color","onPress","disabled","message","hide","create","flexDirection","justifyContent","flex"],"sourceRoot":"../../../src","sources":["DatePicker/DatePicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,6 @@ interface DatePickerProps extends CalendarTypes {
15
15
  isConfirmButtonDisabled?: boolean;
16
16
  testID?: string;
17
17
  }
18
- export default function DatePicker({ onChange, isOpen, onClose, required, hasError, onHasError, hint, mode, value, confirmLabel, cancelLabel, isCancelButtonDisabled, isConfirmButtonDisabled, testID, ...calendarProps }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
18
+ export default function DatePicker({ onChange, isOpen, onClose, required, hasError, onHasError, hint, mode, value, markedDates: callerMarkedDates, confirmLabel, cancelLabel, isCancelButtonDisabled, isConfirmButtonDisabled, selectedBackgroundColor, selectedTextColor, testID, ...calendarProps }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
19
19
  export {};
20
20
  //# sourceMappingURL=DatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAIvC,UAAU,eAAgB,SAAQ,aAAa;IAC7C,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,YAAyB,EACzB,WAAwB,EACxB,sBAA8B,EAC9B,uBAA+B,EAC/B,MAAM,EACN,GAAG,aAAa,EACjB,EAAE,eAAe,2CAgJjB"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAIvC,UAAU,eAAgB,SAAQ,aAAa;IAC7C,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,WAAW,EAAE,iBAAiB,EAC9B,YAAyB,EACzB,WAAwB,EACxB,sBAA8B,EAC9B,uBAA+B,EAC/B,uBAA6C,EAC7C,iBAAuC,EACvC,MAAM,EACN,GAAG,aAAa,EACjB,EAAE,eAAe,2CAoKjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herca/rn-kit",
3
- "version": "0.1.118",
3
+ "version": "0.1.119",
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 { useCallback, useState, useEffect } from 'react';
1
+ import { useCallback, useState, useEffect, useMemo } from 'react';
2
2
  import { StyleSheet, View } from 'react-native';
3
3
  import BottomSheet from '../BottomSheet/BottomSheet';
4
4
  import Calendar, { formatDate } from '../Calendar/Calendar';
@@ -40,10 +40,13 @@ export default function DatePicker({
40
40
  hint,
41
41
  mode,
42
42
  value,
43
+ markedDates: callerMarkedDates,
43
44
  confirmLabel = 'Terapkan',
44
45
  cancelLabel = 'Batalkan',
45
46
  isCancelButtonDisabled = false,
46
47
  isConfirmButtonDisabled = false,
48
+ selectedBackgroundColor = Color.primary[1000],
49
+ selectedTextColor = Color.base.white100,
47
50
  testID,
48
51
  ...calendarProps
49
52
  }: DatePickerProps) {
@@ -95,7 +98,11 @@ export default function DatePicker({
95
98
 
96
99
  if (mode === 'single' && value?.date) {
97
100
  updatedMarkDates = {
98
- [formatDate(value.date) as string]: { selected: true },
101
+ [formatDate(value.date) as string]: {
102
+ selected: true,
103
+ backgroundColor: selectedBackgroundColor,
104
+ textColor: selectedTextColor,
105
+ },
99
106
  };
100
107
  }
101
108
 
@@ -134,7 +141,21 @@ export default function DatePicker({
134
141
  date: null,
135
142
  }
136
143
  );
137
- }, [isOpen, value, mode]);
144
+ }, [isOpen, value, mode, selectedBackgroundColor, selectedTextColor]);
145
+
146
+ // the value the caller already applied has to survive the marks the caller
147
+ // paints for its own reasons -- an override would drop the selection, and a
148
+ // caller's colours on that same day would hide it, so the selection sits on
149
+ // top of the mark it shares a day with and leaves the rest of it alone
150
+ const markedDates = useMemo(() => {
151
+ const merged: CalendarMarkDatesType = { ...callerMarkedDates };
152
+
153
+ Object.entries(markDates ?? {}).forEach(([date, mark]) => {
154
+ merged[date] = { ...merged[date], ...mark };
155
+ });
156
+
157
+ return merged;
158
+ }, [callerMarkedDates, markDates]);
138
159
 
139
160
  return (
140
161
  <View>
@@ -167,10 +188,12 @@ export default function DatePicker({
167
188
  }
168
189
  >
169
190
  <Calendar
170
- markedDates={markDates}
191
+ {...calendarProps}
192
+ markedDates={markedDates}
193
+ selectedBackgroundColor={selectedBackgroundColor}
194
+ selectedTextColor={selectedTextColor}
171
195
  mode={mode}
172
196
  onChange={handleOnChangeCalendar}
173
- {...calendarProps}
174
197
  />
175
198
  {testID ? (
176
199
  <View testID={getTestID(testID, 'error')}>