@herca/rn-kit 0.1.91 → 0.1.93

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, useEffect } from 'react';
3
+ import { useState } from 'react';
4
4
  import { View, StyleSheet, TouchableOpacity, Pressable } from 'react-native';
5
5
  import Color from "../Color/Color.js";
6
6
  import Icon from "../Icon/index.js";
@@ -42,6 +42,11 @@ const Calendar = ({
42
42
  const [currentDate, setCurrentDate] = useState(initialDate);
43
43
  const [startDate, setStartDate] = useState(null);
44
44
  const [endDate, setEndDate] = useState(null);
45
+
46
+ // HYBRID LOGIC: Pakai props jika ada, fallback ke internal state
47
+ const isControlled = dateStart !== undefined || dateEnd !== undefined;
48
+ const internalStartDate = isControlled ? dateStart ?? null : startDate;
49
+ const internalEndDate = isControlled ? dateEnd ?? null : endDate;
45
50
  const getDaysInMonth = (month, year) => new Date(year, month + 1, 0).getDate();
46
51
  const formatDateKey = date => {
47
52
  const year = date.getFullYear();
@@ -130,15 +135,18 @@ const Calendar = ({
130
135
  if (maxDate && date > maxDate) return true;
131
136
  return false;
132
137
  };
133
- const isSameDate = (a, b) => !!a && a.getTime() === b.getTime();
134
- const isDateInRange = date => startDate && endDate && date >= startDate && date <= endDate;
138
+ const isSameDate = (a, b) => {
139
+ if (!a) return false;
140
+ return normalizeDate(a).getTime() === normalizeDate(b).getTime();
141
+ };
142
+ const isDateInRange = date => internalStartDate && internalEndDate && date >= internalStartDate && date <= internalEndDate;
135
143
  const isMarkDisableDate = mark => !!mark?.disabled;
136
144
  const setBackgroundDay = (date, keyWeek) => {
137
145
  const key = formatDateKey(date);
138
146
  const mark = markedDates[key];
139
147
  const inRange = isDateInRange(date);
140
- const isStart = isSameDate(startDate, date);
141
- const isEnd = isSameDate(endDate, date);
148
+ const isStart = isSameDate(internalStartDate, date);
149
+ const isEnd = isSameDate(internalEndDate, date);
142
150
  if (disabledDays && disabledDays[keyWeek]) {
143
151
  return typeof disabledDays[keyWeek] === 'object' && disabledDays[keyWeek].hasOwnProperty('backgroundColor') ? disabledDays[keyWeek].backgroundColor : disabledBackgroundColor;
144
152
  }
@@ -166,30 +174,44 @@ const Calendar = ({
166
174
  return Color.gray[700];
167
175
  };
168
176
  const handlePressDay = date => {
177
+ const key = formatDateKey(date);
178
+ const mark = markedDates[key];
179
+ if (isMarkDisableDate(mark) || isDisabledDate(date)) return;
169
180
  const selected = normalizeDate(date);
170
181
  if (mode === 'single') {
171
- setStartDate(selected);
172
- setEndDate(null);
182
+ if (!isControlled) {
183
+ setStartDate(selected);
184
+ setEndDate(null);
185
+ }
173
186
  onChange?.({
174
187
  date: selected
175
188
  });
176
189
  } else {
190
+ // Range mode
191
+ if (!isControlled) {
192
+ if (!startDate || startDate && endDate) {
193
+ setStartDate(selected);
194
+ setEndDate(null);
195
+ } else if (selected >= startDate) {
196
+ setEndDate(selected);
197
+ } else {
198
+ setStartDate(selected);
199
+ setEndDate(null);
200
+ }
201
+ }
202
+
203
+ // Always call onChange
177
204
  if (!startDate || startDate && endDate) {
178
- setStartDate(selected);
179
- setEndDate(null);
180
205
  onChange?.({
181
206
  startDate: selected,
182
207
  endDate: null
183
208
  });
184
209
  } else if (selected >= startDate) {
185
- setEndDate(selected);
186
210
  onChange?.({
187
- startDate,
211
+ startDate: startDate,
188
212
  endDate: selected
189
213
  });
190
214
  } else {
191
- setStartDate(selected);
192
- setEndDate(null);
193
215
  onChange?.({
194
216
  startDate: selected,
195
217
  endDate: null
@@ -210,17 +232,6 @@ const Calendar = ({
210
232
  };
211
233
  const calendarMatrix = generateCalendarMatrix();
212
234
  const year = currentDate.getFullYear();
213
- useEffect(() => {
214
- if (mode === 'range' && !dateStart && !dateEnd) {
215
- setStartDate(null);
216
- setEndDate(null);
217
- }
218
- console.log({
219
- dateStart,
220
- dateEnd
221
- });
222
- // eslint-disable-next-line react-hooks/exhaustive-deps
223
- }, [dateStart, dateEnd]);
224
235
  return /*#__PURE__*/_jsxs(View, {
225
236
  style: styles.container,
226
237
  children: [/*#__PURE__*/_jsxs(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","View","StyleSheet","TouchableOpacity","Pressable","Color","Icon","Typography","Dropdown","generateMonthOptions","generateYearOptions","layouting","spacing","jsx","_jsx","jsxs","_jsxs","DAYS","DEFAULT_SELECTED_BACKGROUND_COLOR","primary","DEFAULT_SELECTED_TEXT_COLOR","base","white100","DEFAULT_DISABLED_BACKGROUND_COLOR","DEFAULT_DISABLED_TEXT_COLOR","gray","formatDate","date","y","getFullYear","m","getMonth","padStart","d","getDate","Calendar","markedDates","disabledDays","minDate","maxDate","mode","onChange","selectedBackgroundColor","selectedTextColor","disabledBackgroundColor","disabledTextColor","dayName","language","initialDate","Date","dateStart","dateEnd","currentDate","setCurrentDate","startDate","setStartDate","endDate","setEndDate","getDaysInMonth","month","year","formatDateKey","String","day","generateCalendarMatrix","matrix","firstDay","getDay","maxDays","prevMonth","prevYear","prevMonthDays","row","i","push","from","length","nextDay","nextMonth","nextYear","normalizeDate","setHours","goToNextMonth","newDate","setMonth","goToPrevMonth","handleOnSelectYearDropdown","value","setFullYear","Number","handleOnSelectMonthDropdown","isWeekDay","isDisabledDate","dayOfWeek","isSameDate","a","b","getTime","isDateInRange","isMarkDisableDate","mark","disabled","setBackgroundDay","keyWeek","key","inRange","isStart","isEnd","hasOwnProperty","backgroundColor","selected","setTextColor","textColor","handlePressDay","getDayCellOpacity","cell","isSelected","hasCustomColor","calendarMatrix","console","log","style","styles","container","children","header","buttonNav","onPress","name","color","size","flex","rowCenter","gap","options","onSelect","renderButton","containerDropDown","variant","weight","toLocaleString","maxHeight","weekRow","map","index","center","week","rowIndex","colIndex","opacity","dayCell","baseDot","dots","Array","isArray","dotsContainer","dot","dotColor","create","flexDirection","justifyContent","alignItems","marginBottom","height","width","borderRadius","margin","padding","marginTop","marginHorizontal","textAlign"],"sourceRoot":"../../../src","sources":["Calendar/Calendar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","View","StyleSheet","TouchableOpacity","Pressable","Color","Icon","Typography","Dropdown","generateMonthOptions","generateYearOptions","layouting","spacing","jsx","_jsx","jsxs","_jsxs","DAYS","DEFAULT_SELECTED_BACKGROUND_COLOR","primary","DEFAULT_SELECTED_TEXT_COLOR","base","white100","DEFAULT_DISABLED_BACKGROUND_COLOR","DEFAULT_DISABLED_TEXT_COLOR","gray","formatDate","date","y","getFullYear","m","getMonth","padStart","d","getDate","Calendar","markedDates","disabledDays","minDate","maxDate","mode","onChange","selectedBackgroundColor","selectedTextColor","disabledBackgroundColor","disabledTextColor","dayName","language","initialDate","Date","dateStart","dateEnd","currentDate","setCurrentDate","startDate","setStartDate","endDate","setEndDate","isControlled","undefined","internalStartDate","internalEndDate","getDaysInMonth","month","year","formatDateKey","String","day","generateCalendarMatrix","matrix","firstDay","getDay","maxDays","prevMonth","prevYear","prevMonthDays","row","i","push","from","length","nextDay","nextMonth","nextYear","normalizeDate","setHours","goToNextMonth","newDate","setMonth","goToPrevMonth","handleOnSelectYearDropdown","value","setFullYear","Number","handleOnSelectMonthDropdown","isWeekDay","isDisabledDate","dayOfWeek","isSameDate","a","b","getTime","isDateInRange","isMarkDisableDate","mark","disabled","setBackgroundDay","keyWeek","key","inRange","isStart","isEnd","hasOwnProperty","backgroundColor","selected","setTextColor","textColor","handlePressDay","getDayCellOpacity","cell","isSelected","hasCustomColor","calendarMatrix","style","styles","container","children","header","buttonNav","onPress","name","color","size","flex","rowCenter","gap","options","onSelect","renderButton","containerDropDown","variant","weight","toLocaleString","maxHeight","weekRow","map","index","center","week","rowIndex","colIndex","opacity","dayCell","baseDot","dots","Array","isArray","dotsContainer","dot","dotColor","create","flexDirection","justifyContent","alignItems","marginBottom","height","width","borderRadius","margin","padding","marginTop","marginHorizontal","textAlign"],"sourceRoot":"../../../src","sources":["Calendar/Calendar.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,IAAI,EAAEC,UAAU,EAAEC,gBAAgB,EAAEC,SAAS,QAAQ,cAAc;AAC5E,OAAOC,KAAK,MAAM,mBAAgB;AAOlC,OAAOC,IAAI,MAAM,kBAAS;AAC1B,OAAOC,UAAU,MAAM,6BAA0B;AACjD,OAAOC,QAAQ,MAAM,yBAAsB;AAC3C,SACEC,oBAAoB,EACpBC,mBAAmB,QACd,0BAAuB;AAC9B,SAASC,SAAS,QAAQ,wBAAqB;AAC/C,SAASC,OAAO,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5C,MAAMC,IAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAE5E,MAAMC,iCAAiC,GAAGb,KAAK,CAACc,OAAO,CAAC,IAAI,CAAC;AAC7D,MAAMC,2BAA2B,GAAGf,KAAK,CAACgB,IAAI,CAACC,QAAQ;AACvD,MAAMC,iCAAiC,GAAGlB,KAAK,CAACgB,IAAI,CAACC,QAAQ;AAC7D,MAAME,2BAA2B,GAAGnB,KAAK,CAACoB,IAAI,CAAC,GAAG,CAAC;AAEnD,OAAO,MAAMC,UAAU,GAAIC,IAA6B,IAAK;EAC3D,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EACtB,MAAMC,CAAC,GAAGD,IAAI,CAACE,WAAW,CAAC,CAAC;EAC5B,MAAMC,CAAC,GAAG,GAAGH,IAAI,CAACI,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACnD,MAAMC,CAAC,GAAG,GAAGN,IAAI,CAACO,OAAO,CAAC,CAAC,EAAE,CAACF,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC9C,OAAO,GAAGJ,CAAC,IAAIE,CAAC,IAAIG,CAAC,EAAE;AACzB,CAAC;AAED,MAAME,QAAQ,GAAGA,CAAC;EAChBC,WAAW,GAAG,CAAC,CAAC;EAChBC,YAAY;EACZC,OAAO,GAAG,IAAI;EACdC,OAAO,GAAG,IAAI;EACdC,IAAI,GAAG,QAAQ;EACfC,QAAQ;EACRC,uBAAuB,GAAGxB,iCAAiC;EAC3DyB,iBAAiB,GAAGvB,2BAA2B;EAC/CwB,uBAAuB,GAAGrB,iCAAiC;EAC3DsB,iBAAiB,GAAGrB,2BAA2B;EAC/CsB,OAAO,GAAG7B,IAAI;EACd8B,QAAQ,GAAG,IAAI;EACfC,WAAW,GAAG,IAAIC,IAAI,CAAC,CAAC;EACxBC,SAAS;EACTC;AACa,CAAC,KAAK;EACnB,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGrD,QAAQ,CAACgD,WAAW,CAAC;EAC3D,MAAM,CAACM,SAAS,EAAEC,YAAY,CAAC,GAAGvD,QAAQ,CAAc,IAAI,CAAC;EAC7D,MAAM,CAACwD,OAAO,EAAEC,UAAU,CAAC,GAAGzD,QAAQ,CAAc,IAAI,CAAC;;EAEzD;EACA,MAAM0D,YAAY,GAAGR,SAAS,KAAKS,SAAS,IAAIR,OAAO,KAAKQ,SAAS;EACrE,MAAMC,iBAAiB,GAAGF,YAAY,GAAIR,SAAS,IAAI,IAAI,GAAII,SAAS;EACxE,MAAMO,eAAe,GAAGH,YAAY,GAAIP,OAAO,IAAI,IAAI,GAAIK,OAAO;EAElE,MAAMM,cAAc,GAAGA,CAACC,KAAa,EAAEC,IAAY,KACjD,IAAIf,IAAI,CAACe,IAAI,EAAED,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC7B,OAAO,CAAC,CAAC;EAExC,MAAM+B,aAAa,GAAItC,IAAU,IAAK;IACpC,MAAMqC,IAAI,GAAGrC,IAAI,CAACE,WAAW,CAAC,CAAC;IAC/B,MAAMkC,KAAK,GAAGG,MAAM,CAACvC,IAAI,CAACI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC1D,MAAMmC,GAAG,GAAGD,MAAM,CAACvC,IAAI,CAACO,OAAO,CAAC,CAAC,CAAC,CAACF,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACnD,OAAO,GAAGgC,IAAI,IAAID,KAAK,IAAII,GAAG,EAAE;EAClC,CAAC;EAED,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACnC,MAAMC,MAAM,GAAG,EAAE;IACjB,MAAML,IAAI,GAAGZ,WAAW,CAACvB,WAAW,CAAC,CAAC;IACtC,MAAMkC,KAAK,GAAGX,WAAW,CAACrB,QAAQ,CAAC,CAAC;IACpC,MAAMuC,QAAQ,GAAG,IAAIrB,IAAI,CAACe,IAAI,EAAED,KAAK,EAAE,CAAC,CAAC,CAACQ,MAAM,CAAC,CAAC;IAClD,MAAMC,OAAO,GAAGV,cAAc,CAACC,KAAK,EAAEC,IAAI,CAAC;IAC3C,MAAMS,SAAS,GAAGV,KAAK,KAAK,CAAC,GAAG,EAAE,GAAGA,KAAK,GAAG,CAAC;IAC9C,MAAMW,QAAQ,GAAGX,KAAK,KAAK,CAAC,GAAGC,IAAI,GAAG,CAAC,GAAGA,IAAI;IAC9C,MAAMW,aAAa,GAAGb,cAAc,CAACW,SAAS,EAAEC,QAAQ,CAAC;IAEzD,IAAIE,GAAG,GAAG,EAAE;;IAEZ;IACA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,QAAQ,EAAEO,CAAC,EAAE,EAAE;MACjC,MAAMV,GAAG,GAAGQ,aAAa,GAAGL,QAAQ,GAAGO,CAAC,GAAG,CAAC;MAC5CD,GAAG,CAACE,IAAI,CAAC;QACPnD,IAAI,EAAE,IAAIsB,IAAI,CAACyB,QAAQ,EAAED,SAAS,EAAEN,GAAG,CAAC;QACxCY,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;;IAEA;IACA,KAAK,IAAIZ,GAAG,GAAG,CAAC,EAAEA,GAAG,IAAIK,OAAO,EAAEL,GAAG,EAAE,EAAE;MACvCS,GAAG,CAACE,IAAI,CAAC;QACPnD,IAAI,EAAE,IAAIsB,IAAI,CAACe,IAAI,EAAED,KAAK,EAAEI,GAAG,CAAC;QAChCY,IAAI,EAAE;MACR,CAAC,CAAC;MACF,IAAIH,GAAG,CAACI,MAAM,KAAK,CAAC,EAAE;QACpBX,MAAM,CAACS,IAAI,CAACF,GAAG,CAAC;QAChBA,GAAG,GAAG,EAAE;MACV;IACF;;IAEA;IACA,IAAIK,OAAO,GAAG,CAAC;IACf,MAAMC,SAAS,GAAGnB,KAAK,KAAK,EAAE,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC;IAC9C,MAAMoB,QAAQ,GAAGpB,KAAK,KAAK,EAAE,GAAGC,IAAI,GAAG,CAAC,GAAGA,IAAI;IAC/C,IAAIY,GAAG,CAACI,MAAM,GAAG,CAAC,EAAE;MAClB,OAAOJ,GAAG,CAACI,MAAM,GAAG,CAAC,EAAE;QACrBJ,GAAG,CAACE,IAAI,CAAC;UACPnD,IAAI,EAAE,IAAIsB,IAAI,CAACkC,QAAQ,EAAED,SAAS,EAAED,OAAO,CAAC;UAC5CF,IAAI,EAAE;QACR,CAAC,CAAC;QACFE,OAAO,EAAE;MACX;MACAZ,MAAM,CAACS,IAAI,CAACF,GAAG,CAAC;IAClB;IAEA,OAAOP,MAAM;EACf,CAAC;EAED,MAAMe,aAAa,GAAIzD,IAAU,IAAK;IACpC,MAAMM,CAAC,GAAG,IAAIgB,IAAI,CAACtB,IAAI,CAAC;IACxBM,CAAC,CAACoD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtB,OAAOpD,CAAC;EACV,CAAC;EAED,MAAMqD,aAAa,GAAGA,CAAA,KAAM;IAC1B,MAAMC,OAAO,GAAG,IAAItC,IAAI,CAACG,WAAW,CAAC;IACrCmC,OAAO,CAACC,QAAQ,CAACD,OAAO,CAACxD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IACxCsB,cAAc,CAACkC,OAAO,CAAC;EACzB,CAAC;EAED,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC1B,MAAMF,OAAO,GAAG,IAAItC,IAAI,CAACG,WAAW,CAAC;IACrCmC,OAAO,CAACC,QAAQ,CAACD,OAAO,CAACxD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IACxCsB,cAAc,CAACkC,OAAO,CAAC;EACzB,CAAC;EAED,MAAMG,0BAA0B,GAAIC,KAAsB,IAAK;IAC7D,MAAMJ,OAAO,GAAG,IAAItC,IAAI,CAACG,WAAW,CAAC;IACrCmC,OAAO,CAACK,WAAW,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC;IAClCtC,cAAc,CAACkC,OAAO,CAAC;EACzB,CAAC;EAED,MAAMO,2BAA2B,GAAIH,KAAsB,IAAK;IAC9D,MAAMJ,OAAO,GAAG,IAAItC,IAAI,CAACG,WAAW,CAAC;IACrCmC,OAAO,CAACC,QAAQ,CAACG,KAAe,CAAC;IACjCtC,cAAc,CAACkC,OAAO,CAAC;EACzB,CAAC;EAED,MAAMQ,SAAS,GAAI5B,GAAW,IAAqBA,GAAG,IAAI,CAAC,IAAIA,GAAG,IAAI,CAAC;EAEvE,MAAM6B,cAAc,GAAIrE,IAAU,IAAK;IACrC,MAAMsE,SAAS,GAAGtE,IAAI,CAAC4C,MAAM,CAAC,CAAC;IAC/B,IAAIwB,SAAS,CAACE,SAAS,CAAC,IAAI5D,YAAY,GAAG4D,SAAS,CAAC,EAAE,OAAO,IAAI;IAClE,IAAI3D,OAAO,IAAIX,IAAI,GAAGW,OAAO,EAAE,OAAO,IAAI;IAC1C,IAAIC,OAAO,IAAIZ,IAAI,GAAGY,OAAO,EAAE,OAAO,IAAI;IAC1C,OAAO,KAAK;EACd,CAAC;EAED,MAAM2D,UAAU,GAAGA,CAACC,CAAc,EAAEC,CAAO,KAAK;IAC9C,IAAI,CAACD,CAAC,EAAE,OAAO,KAAK;IACpB,OAAOf,aAAa,CAACe,CAAC,CAAC,CAACE,OAAO,CAAC,CAAC,KAAKjB,aAAa,CAACgB,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EAClE,CAAC;EAED,MAAMC,aAAa,GAAI3E,IAAU,IAC/BiC,iBAAiB,IACjBC,eAAe,IACflC,IAAI,IAAIiC,iBAAiB,IACzBjC,IAAI,IAAIkC,eAAe;EAEzB,MAAM0C,iBAAiB,GAAIC,IAA4B,IAAK,CAAC,CAACA,IAAI,EAAEC,QAAQ;EAE5E,MAAMC,gBAAgB,GAAGA,CAAC/E,IAAU,EAAEgF,OAAgB,KAAK;IACzD,MAAMC,GAAG,GAAG3C,aAAa,CAACtC,IAAI,CAAC;IAC/B,MAAM6E,IAAI,GAAGpE,WAAW,CAACwE,GAAG,CAAC;IAC7B,MAAMC,OAAO,GAAGP,aAAa,CAAC3E,IAAI,CAAC;IAEnC,MAAMmF,OAAO,GAAGZ,UAAU,CAACtC,iBAAiB,EAAUjC,IAAI,CAAC;IAC3D,MAAMoF,KAAK,GAAGb,UAAU,CAACrC,eAAe,EAAUlC,IAAI,CAAC;IAEvD,IAAIU,YAAY,IAAIA,YAAY,CAACsE,OAAO,CAAC,EAAE;MACzC,OAAO,OAAOtE,YAAY,CAACsE,OAAO,CAAC,KAAK,QAAQ,IAC9CtE,YAAY,CAACsE,OAAO,CAAC,CAACK,cAAc,CAAC,iBAAiB,CAAC,GACrD3E,YAAY,CAACsE,OAAO,CAAC,CAACM,eAAe,GACrCrE,uBAAuB;IAC7B;IAEA,IAAIoD,cAAc,CAACrE,IAAI,CAAC,EAAE,OAAOiB,uBAAuB;IAExD,IACGJ,IAAI,KAAK,QAAQ,IAAIsE,OAAO,IAC5BtE,IAAI,KAAK,OAAO,KAAKsE,OAAO,IAAIC,KAAK,CAAE,EACxC;MACA,OAAOrE,uBAAuB;IAChC;IAEA,IAAI8D,IAAI,EAAEU,QAAQ,EAAE,OAAOV,IAAI,CAACS,eAAe,IAAIvE,uBAAuB;IAE1E,IAAImE,OAAO,EAAE,OAAOxG,KAAK,CAACc,OAAO,CAAC,EAAE,CAAC;IACrC,OAAO,OAAO;EAChB,CAAC;EAED,MAAMgG,YAAY,GAAGA,CAACxF,IAAU,EAAEgF,OAAgB,KAAK;IACrD,MAAMC,GAAG,GAAG3C,aAAa,CAACtC,IAAI,CAAC;IAC/B,MAAM6E,IAAI,GAAGpE,WAAW,CAACwE,GAAG,CAAC;IAC7B,MAAME,OAAO,GAAGZ,UAAU,CAAC5C,SAAS,EAAE3B,IAAI,CAAC;IAC3C,MAAMoF,KAAK,GAAGb,UAAU,CAAC1C,OAAO,EAAE7B,IAAI,CAAC;IAEvC,IAAIU,YAAY,IAAIA,YAAY,CAACsE,OAAO,CAAC,EAAE;MACzC,OAAO,OAAOtE,YAAY,CAACsE,OAAO,CAAC,KAAK,QAAQ,IAC9CtE,YAAY,CAACsE,OAAO,CAAC,CAACK,cAAc,CAAC,WAAW,CAAC,GAC/C3E,YAAY,CAACsE,OAAO,CAAC,CAACS,SAAS,GAC/BvE,iBAAiB;IACvB;IAEA,IAAImD,cAAc,CAACrE,IAAI,CAAC,EAAE,OAAOkB,iBAAiB;IAElD,IACGL,IAAI,KAAK,QAAQ,IAAIsE,OAAO,IAC5BtE,IAAI,KAAK,OAAO,KAAKsE,OAAO,IAAIC,KAAK,CAAE,EACxC;MACA,OAAOpE,iBAAiB;IAC1B;IAEA,IAAI6D,IAAI,EAAEU,QAAQ,EAAE,OAAOV,IAAI,EAAEY,SAAS,IAAIzE,iBAAiB;IAE/D,OAAOtC,KAAK,CAACoB,IAAI,CAAC,GAAG,CAAC;EACxB,CAAC;EAED,MAAM4F,cAAc,GAAI1F,IAAU,IAAK;IACrC,MAAMiF,GAAG,GAAG3C,aAAa,CAACtC,IAAI,CAAC;IAC/B,MAAM6E,IAAI,GAAGpE,WAAW,CAACwE,GAAG,CAAC;IAE7B,IAAIL,iBAAiB,CAACC,IAAI,CAAC,IAAIR,cAAc,CAACrE,IAAI,CAAC,EAAE;IAErD,MAAMuF,QAAQ,GAAG9B,aAAa,CAACzD,IAAI,CAAC;IAEpC,IAAIa,IAAI,KAAK,QAAQ,EAAE;MACrB,IAAI,CAACkB,YAAY,EAAE;QACjBH,YAAY,CAAC2D,QAAQ,CAAC;QACtBzD,UAAU,CAAC,IAAI,CAAC;MAClB;MAEAhB,QAAQ,GAAG;QAAEd,IAAI,EAAEuF;MAAS,CAAC,CAAC;IAChC,CAAC,MAAM;MACL;MACA,IAAI,CAACxD,YAAY,EAAE;QACjB,IAAI,CAACJ,SAAS,IAAKA,SAAS,IAAIE,OAAQ,EAAE;UACxCD,YAAY,CAAC2D,QAAQ,CAAC;UACtBzD,UAAU,CAAC,IAAI,CAAC;QAClB,CAAC,MAAM,IAAIyD,QAAQ,IAAI5D,SAAS,EAAE;UAChCG,UAAU,CAACyD,QAAQ,CAAC;QACtB,CAAC,MAAM;UACL3D,YAAY,CAAC2D,QAAQ,CAAC;UACtBzD,UAAU,CAAC,IAAI,CAAC;QAClB;MACF;;MAEA;MACA,IAAI,CAACH,SAAS,IAAKA,SAAS,IAAIE,OAAQ,EAAE;QACxCf,QAAQ,GAAG;UAAEa,SAAS,EAAE4D,QAAQ;UAAE1D,OAAO,EAAE;QAAK,CAAC,CAAC;MACpD,CAAC,MAAM,IAAI0D,QAAQ,IAAI5D,SAAS,EAAE;QAChCb,QAAQ,GAAG;UAAEa,SAAS,EAAEA,SAAiB;UAAEE,OAAO,EAAE0D;QAAS,CAAC,CAAC;MACjE,CAAC,MAAM;QACLzE,QAAQ,GAAG;UAAEa,SAAS,EAAE4D,QAAQ;UAAE1D,OAAO,EAAE;QAAK,CAAC,CAAC;MACpD;IACF;EACF,CAAC;EAED,MAAM8D,iBAAiB,GAAGA,CAACC,IAAS,EAAE5F,IAAU,EAAEgF,OAAgB,KAAK;IACrE,MAAMC,GAAG,GAAG3C,aAAa,CAACtC,IAAI,CAAC;IAC/B,MAAM6E,IAAI,GAAGpE,WAAW,CAACwE,GAAG,CAAC;IAE7B,MAAME,OAAO,GAAGZ,UAAU,CAAC5C,SAAS,EAAE3B,IAAI,CAAC;IAC3C,MAAMoF,KAAK,GAAGb,UAAU,CAAC1C,OAAO,EAAE7B,IAAI,CAAC;IACvC,MAAM6F,UAAU,GACbhF,IAAI,KAAK,QAAQ,IAAIsE,OAAO,IAC5BtE,IAAI,KAAK,OAAO,KAAKsE,OAAO,IAAIC,KAAK,CAAE;IAE1C,MAAMU,cAAc,GACjBjB,IAAI,EAAES,eAAe,IAAIT,IAAI,CAACU,QAAQ,IACtC7E,YAAY,IAAIA,YAAY,CAACsE,OAAO,CAAE,IACvCX,cAAc,CAACrE,IAAI,CAAC;IAEtB,IAAI8F,cAAc,IAAID,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAID,IAAI,CAACxC,IAAI,KAAK,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,CAAC;EACZ,CAAC;EAED,MAAM2C,cAAc,GAAGtD,sBAAsB,CAAC,CAAC;EAC/C,MAAMJ,IAAI,GAAGZ,WAAW,CAACvB,WAAW,CAAC,CAAC;EAEtC,oBACEb,KAAA,CAACf,IAAI;IAAC0H,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B9G,KAAA,CAACf,IAAI;MAAC0H,KAAK,EAAEC,MAAM,CAACG,MAAO;MAAAD,QAAA,gBACzBhH,IAAA,CAACX,gBAAgB;QAACwH,KAAK,EAAEC,MAAM,CAACI,SAAU;QAACC,OAAO,EAAExC,aAAc;QAAAqC,QAAA,eAChEhH,IAAA,CAACR,IAAI;UAAC4H,IAAI,EAAC,WAAW;UAACC,KAAK,EAAE9H,KAAK,CAACgB,IAAI,CAACC,QAAS;UAAC8G,IAAI,EAAE;QAAG,CAAE;MAAC,CAC/C,CAAC,eACnBpH,KAAA,CAACf,IAAI;QAAC0H,KAAK,EAAE,CAAChH,SAAS,CAAC0H,IAAI,CAACC,SAAS,EAAE1H,OAAO,CAAC2H,GAAG,CAAC,CAAC,CAAC,CAAE;QAAAT,QAAA,gBACtDhH,IAAA,CAACN,QAAQ;UACPgI,OAAO,EAAE/H,oBAAoB,CAACsC,QAAQ,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAE;UAC/D0F,QAAQ,EAAE3C,2BAA4B;UACtC4C,YAAY,eACV1H,KAAA,CAACf,IAAI;YAAC0H,KAAK,EAAEC,MAAM,CAACe,iBAAkB;YAAAb,QAAA,gBACpChH,IAAA,CAACR,IAAI;cAAC4H,IAAI,EAAC,WAAW;cAACE,IAAI,EAAE;YAAG,CAAE,CAAC,eACnCtH,IAAA,CAACP,UAAU;cACTqI,OAAO,EAAC,IAAI;cACZC,MAAM,EAAC,UAAU;cACjBV,KAAK,EAAE9H,KAAK,CAACoB,IAAI,CAAC,GAAG,CAAE;cAAAqG,QAAA,EAEtB1E,WAAW,CAAC0F,cAAc,CACzB/F,QAAQ,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,EACrC;gBAAEgB,KAAK,EAAE;cAAO,CAClB;YAAC,CACS,CAAC;UAAA,CACT,CACP;UACDgF,SAAS,EAAE;QAAI,CAChB,CAAC,eAEFjI,IAAA,CAACN,QAAQ;UACPgI,OAAO,EAAE9H,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAE;UAChD+H,QAAQ,EAAE/C,0BAA2B;UACrCgD,YAAY,eACV1H,KAAA,CAACf,IAAI;YAAC0H,KAAK,EAAEC,MAAM,CAACe,iBAAkB;YAAAb,QAAA,gBACpChH,IAAA,CAACP,UAAU;cACTqI,OAAO,EAAC,IAAI;cACZC,MAAM,EAAC,UAAU;cACjBV,KAAK,EAAE9H,KAAK,CAACoB,IAAI,CAAC,GAAG,CAAE;cAAAqG,QAAA,EAEtB9D;YAAI,CACK,CAAC,eACblD,IAAA,CAACR,IAAI;cAAC4H,IAAI,EAAC,WAAW;cAACE,IAAI,EAAE;YAAG,CAAE,CAAC;UAAA,CAC/B,CACP;UACDW,SAAS,EAAE;QAAI,CAChB,CAAC;MAAA,CACE,CAAC,eACPjI,IAAA,CAACX,gBAAgB;QAACwH,KAAK,EAAEC,MAAM,CAACI,SAAU;QAACC,OAAO,EAAE3C,aAAc;QAAAwC,QAAA,eAChEhH,IAAA,CAACR,IAAI;UAAC4H,IAAI,EAAC,YAAY;UAACC,KAAK,EAAE9H,KAAK,CAACgB,IAAI,CAACC,QAAS;UAAC8G,IAAI,EAAE;QAAG,CAAE;MAAC,CAChD,CAAC;IAAA,CACf,CAAC,eAEPtH,IAAA,CAACb,IAAI;MAAC0H,KAAK,EAAEC,MAAM,CAACoB,OAAQ;MAAAlB,QAAA,EACzBhF,OAAO,CAACmG,GAAG,CAAC,CAAC9E,GAAG,EAAE+E,KAAK,kBACtBpI,IAAA,CAACP,UAAU;QAETsI,MAAM,EAAC,QAAQ;QACfD,OAAO,EAAC,IAAI;QACZO,MAAM;QACNhB,KAAK,EAAE9H,KAAK,CAACoB,IAAI,CAAC,GAAG,CAAE;QACvBkG,KAAK,EAAEC,MAAM,CAAC9E,OAAQ;QAAAgF,QAAA,EAErB3D;MAAG,GAPC+E,KAQK,CACb;IAAC,CACE,CAAC,EAENxB,cAAc,CAACuB,GAAG,CAAC,CAACG,IAAI,EAAEC,QAAQ,kBACjCvI,IAAA,CAACb,IAAI;MAAgB0H,KAAK,EAAEC,MAAM,CAACoB,OAAQ;MAAAlB,QAAA,EACxCsB,IAAI,CAACH,GAAG,CAAC,CAAC1B,IAAI,EAAE+B,QAAQ,KAAK;QAC5B,MAAM3H,IAAI,GAAG4F,IAAI,CAAC5F,IAAI;QACtB,MAAMwC,GAAG,GAAGxC,IAAI,CAACO,OAAO,CAAC,CAAC;QAC1B,MAAM0E,GAAG,GAAG3C,aAAa,CAACtC,IAAI,CAAC;QAC/B,MAAM6E,IAAI,GAAGpE,WAAW,CAACwE,GAAG,CAAC;QAE7B,MAAMH,QAAQ,GAAGF,iBAAiB,CAACC,IAAI,CAAC,IAAIR,cAAc,CAACrE,IAAI,CAAC;QAChE,MAAMsF,eAAe,GAAGP,gBAAgB,CAAC/E,IAAI,EAAE2H,QAAmB,CAAC;QACnE,MAAMlC,SAAS,GAAGD,YAAY,CAACxF,IAAI,EAAE2H,QAAmB,CAAC;QAEzD,MAAMC,OAAO,GAAGjC,iBAAiB,CAACC,IAAI,EAAE5F,IAAI,EAAE2H,QAAmB,CAAC;QAClE,oBACEtI,KAAA,CAACZ,SAAS;UACRqG,QAAQ,EAAEA,QAAS;UAEnBwB,OAAO,EAAEA,CAAA,KAAMZ,cAAc,CAAC1F,IAAI,CAAE;UAAAmG,QAAA,gBAEpChH,IAAA,CAACb,IAAI;YAAC0H,KAAK,EAAE,CAACC,MAAM,CAAC4B,OAAO,EAAE;cAAEvC;YAAgB,CAAC,CAAE;YAAAa,QAAA,eACjDhH,IAAA,CAACP,UAAU;cACTqI,OAAO,EAAC,IAAI;cACZC,MAAM,EAAC,QAAQ;cACfV,KAAK,EAAEf,SAAU;cACjBO,KAAK,EAAE;gBAAE4B;cAAQ,CAAE;cAAAzB,QAAA,EAElB3D;YAAG,CACM;UAAC,CACT,CAAC,eACPrD,IAAA,CAACb,IAAI;YAAC0H,KAAK,EAAEC,MAAM,CAAC6B,OAAQ;YAAA3B,QAAA,EACzBtB,IAAI,EAAEkD,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACpD,IAAI,CAACkD,IAAI,CAAC,iBACrC5I,IAAA,CAACb,IAAI;cAAC0H,KAAK,EAAEC,MAAM,CAACiC,aAAc;cAAA/B,QAAA,EAC/BtB,IAAI,CAACkD,IAAI,CAACT,GAAG,CAAC,CAACa,GAAW,EAAEZ,KAAa,KAAK;gBAC7C,MAAMa,QAAQ,GAAIvD,IAAI,CAACU,QAAQ,IAAI4C,GAAG,IAAKA,GAAG,IAAI,KAAK;gBACvD,oBACEhJ,IAAA,CAACb,IAAI;kBAEH0H,KAAK,EAAE,CAACC,MAAM,CAACkC,GAAG,EAAE;oBAAE7C,eAAe,EAAE8C;kBAAS,CAAC;gBAAE,GAD9Cb,KAEN,CAAC;cAEN,CAAC;YAAC,CACE;UACP,CACG,CAAC;QAAA,GA3BFtC,GA4BI,CAAC;MAEhB,CAAC;IAAC,GA7COyC,QA8CL,CACP,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMzB,MAAM,GAAG1H,UAAU,CAAC8J,MAAM,CAAC;EAC/BnC,SAAS,EAAE,CAAC,CAAC;EACbE,MAAM,EAAE;IACNkC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,MAAM,EAAE,EAAE;IACV9B,GAAG,EAAE;EACP,CAAC;EACDS,OAAO,EAAE;IACPiB,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BE,YAAY,EAAE;EAChB,CAAC;EACDZ,OAAO,EAAE;IACPW,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,QAAQ;IACxBG,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,EAAE;IACTC,YAAY,EAAE,EAAE;IAChBC,MAAM,EAAE;EACV,CAAC;EACDxC,SAAS,EAAE;IACTf,eAAe,EAAE5G,KAAK,CAACoB,IAAI,CAAC,GAAG,CAAC;IAChC8I,YAAY,EAAE,CAAC;IACfE,OAAO,EAAE;EACX,CAAC;EACDhB,OAAO,EAAE;IACPY,MAAM,EAAE,EAAE;IACVD,YAAY,EAAE;EAChB,CAAC;EACDP,aAAa,EAAE;IACbI,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBQ,SAAS,EAAE;EACb,CAAC;EACDZ,GAAG,EAAE;IACHQ,KAAK,EAAE,CAAC;IACRD,MAAM,EAAE,CAAC;IACTE,YAAY,EAAE,CAAC;IACfI,gBAAgB,EAAE;EACpB,CAAC;EACDhC,iBAAiB,EAAE;IACjBsB,aAAa,EAAE,KAAK;IACpB1B,GAAG,EAAE,CAAC;IACN4B,UAAU,EAAE;EACd,CAAC;EACDrH,OAAO,EAAE;IAAEwH,KAAK,EAAE,EAAE;IAAEM,SAAS,EAAE;EAAS;AAC5C,CAAC,CAAC;AAEF,eAAezI,QAAQ","ignoreList":[]}
@@ -1,63 +1,83 @@
1
1
  "use strict";
2
2
 
3
- import { Image, StyleSheet, View } from 'react-native';
4
- import { Button, Color, Container, Modal, Typography } from "../index.js";
5
3
  import { useEffect } from 'react';
4
+ import { Image, Platform, StyleSheet, View } from 'react-native';
5
+ import { Button, Card, Color, Modal, Typography } from "../index.js";
6
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  export default function RequiredUpdateAppsProvider({
8
8
  title,
9
9
  description,
10
10
  buttonText = 'Update Sekarang',
11
- onUpdate
11
+ onUpdate,
12
+ fillScreen = false
12
13
  }) {
13
14
  useEffect(() => {
14
15
  onUpdate?.(false);
15
16
  }, [onUpdate]);
16
- return /*#__PURE__*/_jsx(View, {
17
- children: /*#__PURE__*/_jsxs(Modal, {
18
- height: 300,
19
- isOpen: true,
20
- closable: false,
21
- children: [/*#__PURE__*/_jsx(Image, {
17
+ return /*#__PURE__*/_jsxs(Modal, {
18
+ isOpen: true,
19
+ closable: false,
20
+ modalStyle: fillScreen ? styles.modalFill : undefined,
21
+ children: [/*#__PURE__*/_jsx(View, {
22
+ style: {
23
+ alignItems: 'center'
24
+ },
25
+ children: /*#__PURE__*/_jsx(Image, {
22
26
  source: require('../_assets/updateapps.png'),
23
27
  style: styles.image
24
- }), /*#__PURE__*/_jsxs(Container, {
25
- style: styles.container,
28
+ })
29
+ }), /*#__PURE__*/_jsxs(Card, {
30
+ style: styles.container,
31
+ borderColor: "transparent",
32
+ children: [/*#__PURE__*/_jsxs(View, {
33
+ style: styles.content,
26
34
  children: [/*#__PURE__*/_jsx(Typography, {
27
- variant: "h4",
35
+ variant: "p1",
28
36
  weight: "semibold",
29
- color: Color.gray[800],
37
+ color: Color.gray[900],
30
38
  center: true,
31
39
  children: title
32
40
  }), /*#__PURE__*/_jsx(Typography, {
33
- variant: "t1",
34
- weight: "regular",
35
- color: Color.gray[600],
41
+ variant: "t2",
42
+ color: Color.gray[700],
36
43
  center: true,
37
44
  children: description
38
- }), /*#__PURE__*/_jsx(View, {
39
- style: {},
40
- children: /*#__PURE__*/_jsx(Button, {
41
- title: buttonText,
42
- color: "primary",
43
- onPress: () => {
44
- onUpdate?.(false);
45
- }
46
- })
47
45
  })]
46
+ }), /*#__PURE__*/_jsx(View, {
47
+ children: /*#__PURE__*/_jsx(Button, {
48
+ title: buttonText,
49
+ color: "primary",
50
+ onPress: () => {
51
+ onUpdate?.(false);
52
+ }
53
+ })
48
54
  })]
49
- })
55
+ })]
50
56
  });
51
57
  }
52
58
  const styles = StyleSheet.create({
53
59
  image: {
54
- position: 'absolute',
55
- marginTop: -60,
56
- left: 30
60
+ marginTop: Platform.OS === 'ios' ? -60 : -75,
61
+ objectFit: 'contain',
62
+ height: 124
57
63
  },
58
64
  container: {
59
65
  gap: 20,
60
- marginTop: 80
66
+ padding: Platform.OS === 'ios' ? 24 : 10
67
+ },
68
+ content: {
69
+ gap: 10
70
+ },
71
+ modalFill: {
72
+ position: 'absolute',
73
+ top: 0,
74
+ left: 0,
75
+ right: 0,
76
+ bottom: 0,
77
+ width: '100%',
78
+ height: '100%',
79
+ maxHeight: 'auto',
80
+ justifyContent: 'center'
61
81
  }
62
82
  });
63
83
  //# sourceMappingURL=RequiredUpdateAppsProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Image","StyleSheet","View","Button","Color","Container","Modal","Typography","useEffect","jsx","_jsx","jsxs","_jsxs","RequiredUpdateAppsProvider","title","description","buttonText","onUpdate","children","height","isOpen","closable","source","require","style","styles","image","container","variant","weight","color","gray","center","onPress","create","position","marginTop","left","gap"],"sourceRoot":"../../../src","sources":["Provider/RequiredUpdateAppsProvider.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACtD,SAASC,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,KAAK,EAAEC,UAAU,QAAQ,aAAI;AAEhE,SAASC,SAAS,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElC,eAAe,SAASC,0BAA0BA,CAAC;EACjDC,KAAK;EACLC,WAAW;EACXC,UAAU,GAAG,iBAAiB;EAC9BC;AAC+B,CAAC,EAAE;EAClCT,SAAS,CAAC,MAAM;IACdS,QAAQ,GAAG,KAAK,CAAC;EACnB,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EACd,oBACEP,IAAA,CAACR,IAAI;IAAAgB,QAAA,eACHN,KAAA,CAACN,KAAK;MAACa,MAAM,EAAE,GAAI;MAACC,MAAM,EAAE,IAAK;MAACC,QAAQ,EAAE,KAAM;MAAAH,QAAA,gBAChDR,IAAA,CAACV,KAAK;QACJsB,MAAM,EAAEC,OAAO,CAAC,2BAA2B,CAAE;QAC7CC,KAAK,EAAEC,MAAM,CAACC;MAAM,CACrB,CAAC,eACFd,KAAA,CAACP,SAAS;QAACmB,KAAK,EAAEC,MAAM,CAACE,SAAU;QAAAT,QAAA,gBACjCR,IAAA,CAACH,UAAU;UACTqB,OAAO,EAAC,IAAI;UACZC,MAAM,EAAC,UAAU;UACjBC,KAAK,EAAE1B,KAAK,CAAC2B,IAAI,CAAC,GAAG,CAAE;UACvBC,MAAM;UAAAd,QAAA,EAELJ;QAAK,CACI,CAAC,eACbJ,IAAA,CAACH,UAAU;UACTqB,OAAO,EAAC,IAAI;UACZC,MAAM,EAAC,SAAS;UAChBC,KAAK,EAAE1B,KAAK,CAAC2B,IAAI,CAAC,GAAG,CAAE;UACvBC,MAAM;UAAAd,QAAA,EAELH;QAAW,CACF,CAAC,eACbL,IAAA,CAACR,IAAI;UAACsB,KAAK,EAAE,CAAC,CAAE;UAAAN,QAAA,eACdR,IAAA,CAACP,MAAM;YACLW,KAAK,EAAEE,UAAW;YAClBc,KAAK,EAAC,SAAS;YACfG,OAAO,EAAEA,CAAA,KAAM;cACbhB,QAAQ,GAAG,KAAK,CAAC;YACnB;UAAE,CACH;QAAC,CACE,CAAC;MAAA,CACE,CAAC;IAAA,CACP;EAAC,CACJ,CAAC;AAEX;AAEA,MAAMQ,MAAM,GAAGxB,UAAU,CAACiC,MAAM,CAAC;EAC/BR,KAAK,EAAE;IACLS,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,CAAC,EAAE;IACdC,IAAI,EAAE;EACR,CAAC;EACDV,SAAS,EAAE;IACTW,GAAG,EAAE,EAAE;IACPF,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","Image","Platform","StyleSheet","View","Button","Card","Color","Modal","Typography","jsx","_jsx","jsxs","_jsxs","RequiredUpdateAppsProvider","title","description","buttonText","onUpdate","fillScreen","isOpen","closable","modalStyle","styles","modalFill","undefined","children","style","alignItems","source","require","image","container","borderColor","content","variant","weight","color","gray","center","onPress","create","marginTop","OS","objectFit","height","gap","padding","position","top","left","right","bottom","width","maxHeight","justifyContent"],"sourceRoot":"../../../src","sources":["Provider/RequiredUpdateAppsProvider.tsx"],"mappings":"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","ignoreList":[]}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,qBAAqB,CAAC;AAiB7B,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,GAAG,SAAS,GAAG,IAAI,kBAMvD,CAAC;AACF,QAAA,MAAM,QAAQ,GAAI,8MAgBf,aAAa,4CA4Uf,CAAC;AAqDF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,qBAAqB,CAAC;AAkB7B,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,GAAG,SAAS,GAAG,IAAI,kBAMvD,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAI,8MAgBf,aAAa,4CAyWf,CAAC;AAqDF,eAAe,QAAQ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { RequiredUpdateAppsProviderProps } from './type';
2
- export default function RequiredUpdateAppsProvider({ title, description, buttonText, onUpdate, }: RequiredUpdateAppsProviderProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function RequiredUpdateAppsProvider({ title, description, buttonText, onUpdate, fillScreen, }: RequiredUpdateAppsProviderProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=RequiredUpdateAppsProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequiredUpdateAppsProvider.d.ts","sourceRoot":"","sources":["../../../../src/Provider/RequiredUpdateAppsProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,QAAQ,CAAC;AAG9D,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,KAAK,EACL,WAAW,EACX,UAA8B,EAC9B,QAAQ,GACT,EAAE,+BAA+B,2CAyCjC"}
1
+ {"version":3,"file":"RequiredUpdateAppsProvider.d.ts","sourceRoot":"","sources":["../../../../src/Provider/RequiredUpdateAppsProvider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,KAAK,EACL,WAAW,EACX,UAA8B,EAC9B,QAAQ,EACR,UAAkB,GACnB,EAAE,+BAA+B,2CA2CjC"}
@@ -3,5 +3,6 @@ export interface RequiredUpdateAppsProviderProps {
3
3
  description?: string;
4
4
  buttonText?: string;
5
5
  onUpdate?: (value: boolean) => void;
6
+ fillScreen?: boolean;
6
7
  }
7
8
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Provider/type.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/Provider/type.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herca/rn-kit",
3
- "version": "0.1.91",
3
+ "version": "0.1.93",
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, useEffect } from 'react';
1
+ import { useState } from 'react';
2
2
  import { View, StyleSheet, TouchableOpacity, Pressable } from 'react-native';
3
3
  import Color from '../Color/Color';
4
4
  import type {
@@ -23,6 +23,7 @@ const DEFAULT_SELECTED_BACKGROUND_COLOR = Color.primary[1000];
23
23
  const DEFAULT_SELECTED_TEXT_COLOR = Color.base.white100;
24
24
  const DEFAULT_DISABLED_BACKGROUND_COLOR = Color.base.white100;
25
25
  const DEFAULT_DISABLED_TEXT_COLOR = Color.gray[400];
26
+
26
27
  export const formatDate = (date: Date | undefined | null) => {
27
28
  if (!date) return null;
28
29
  const y = date.getFullYear();
@@ -30,6 +31,7 @@ export const formatDate = (date: Date | undefined | null) => {
30
31
  const d = `${date.getDate()}`.padStart(2, '0');
31
32
  return `${y}-${m}-${d}`;
32
33
  };
34
+
33
35
  const Calendar = ({
34
36
  markedDates = {},
35
37
  disabledDays,
@@ -51,6 +53,11 @@ const Calendar = ({
51
53
  const [startDate, setStartDate] = useState<Date | null>(null);
52
54
  const [endDate, setEndDate] = useState<Date | null>(null);
53
55
 
56
+ // HYBRID LOGIC: Pakai props jika ada, fallback ke internal state
57
+ const isControlled = dateStart !== undefined || dateEnd !== undefined;
58
+ const internalStartDate = isControlled ? (dateStart ?? null) : startDate;
59
+ const internalEndDate = isControlled ? (dateEnd ?? null) : endDate;
60
+
54
61
  const getDaysInMonth = (month: number, year: number) =>
55
62
  new Date(year, month + 1, 0).getDate();
56
63
 
@@ -135,11 +142,13 @@ const Calendar = ({
135
142
  newDate.setFullYear(Number(value));
136
143
  setCurrentDate(newDate);
137
144
  };
145
+
138
146
  const handleOnSelectMonthDropdown = (value: string | number) => {
139
147
  const newDate = new Date(currentDate);
140
148
  newDate.setMonth(value as number);
141
149
  setCurrentDate(newDate);
142
150
  };
151
+
143
152
  const isWeekDay = (day: number): day is WeekDay => day >= 0 && day <= 6;
144
153
 
145
154
  const isDisabledDate = (date: Date) => {
@@ -150,11 +159,16 @@ const Calendar = ({
150
159
  return false;
151
160
  };
152
161
 
153
- const isSameDate = (a: Date | null, b: Date) =>
154
- !!a && a.getTime() === b.getTime();
162
+ const isSameDate = (a: Date | null, b: Date) => {
163
+ if (!a) return false;
164
+ return normalizeDate(a).getTime() === normalizeDate(b).getTime();
165
+ };
155
166
 
156
167
  const isDateInRange = (date: Date) =>
157
- startDate && endDate && date >= startDate && date <= endDate;
168
+ internalStartDate &&
169
+ internalEndDate &&
170
+ date >= internalStartDate &&
171
+ date <= internalEndDate;
158
172
 
159
173
  const isMarkDisableDate = (mark: MarkedDate | undefined) => !!mark?.disabled;
160
174
 
@@ -162,8 +176,10 @@ const Calendar = ({
162
176
  const key = formatDateKey(date);
163
177
  const mark = markedDates[key];
164
178
  const inRange = isDateInRange(date);
165
- const isStart = isSameDate(startDate, date);
166
- const isEnd = isSameDate(endDate, date);
179
+
180
+ const isStart = isSameDate(internalStartDate as Date, date);
181
+ const isEnd = isSameDate(internalEndDate as Date, date);
182
+
167
183
  if (disabledDays && disabledDays[keyWeek]) {
168
184
  return typeof disabledDays[keyWeek] === 'object' &&
169
185
  disabledDays[keyWeek].hasOwnProperty('backgroundColor')
@@ -172,13 +188,16 @@ const Calendar = ({
172
188
  }
173
189
 
174
190
  if (isDisabledDate(date)) return disabledBackgroundColor;
191
+
175
192
  if (
176
193
  (mode === 'single' && isStart) ||
177
194
  (mode === 'range' && (isStart || isEnd))
178
195
  ) {
179
196
  return selectedBackgroundColor;
180
197
  }
198
+
181
199
  if (mark?.selected) return mark.backgroundColor || selectedBackgroundColor;
200
+
182
201
  if (inRange) return Color.primary[50];
183
202
  return 'white';
184
203
  };
@@ -197,33 +216,54 @@ const Calendar = ({
197
216
  }
198
217
 
199
218
  if (isDisabledDate(date)) return disabledTextColor;
219
+
200
220
  if (
201
221
  (mode === 'single' && isStart) ||
202
222
  (mode === 'range' && (isStart || isEnd))
203
223
  ) {
204
224
  return selectedTextColor;
205
225
  }
226
+
206
227
  if (mark?.selected) return mark?.textColor || selectedTextColor;
228
+
207
229
  return Color.gray[700];
208
230
  };
209
231
 
210
232
  const handlePressDay = (date: Date) => {
233
+ const key = formatDateKey(date);
234
+ const mark = markedDates[key];
235
+
236
+ if (isMarkDisableDate(mark) || isDisabledDate(date)) return;
237
+
211
238
  const selected = normalizeDate(date);
239
+
212
240
  if (mode === 'single') {
213
- setStartDate(selected);
214
- setEndDate(null);
241
+ if (!isControlled) {
242
+ setStartDate(selected);
243
+ setEndDate(null);
244
+ }
245
+
215
246
  onChange?.({ date: selected });
216
247
  } else {
248
+ // Range mode
249
+ if (!isControlled) {
250
+ if (!startDate || (startDate && endDate)) {
251
+ setStartDate(selected);
252
+ setEndDate(null);
253
+ } else if (selected >= startDate) {
254
+ setEndDate(selected);
255
+ } else {
256
+ setStartDate(selected);
257
+ setEndDate(null);
258
+ }
259
+ }
260
+
261
+ // Always call onChange
217
262
  if (!startDate || (startDate && endDate)) {
218
- setStartDate(selected);
219
- setEndDate(null);
220
263
  onChange?.({ startDate: selected, endDate: null });
221
264
  } else if (selected >= startDate) {
222
- setEndDate(selected);
223
- onChange?.({ startDate, endDate: selected });
265
+ onChange?.({ startDate: startDate as Date, endDate: selected });
224
266
  } else {
225
- setStartDate(selected);
226
- setEndDate(null);
227
267
  onChange?.({ startDate: selected, endDate: null });
228
268
  }
229
269
  }
@@ -252,15 +292,6 @@ const Calendar = ({
252
292
  const calendarMatrix = generateCalendarMatrix();
253
293
  const year = currentDate.getFullYear();
254
294
 
255
- useEffect(() => {
256
- if (mode === 'range' && !dateStart && !dateEnd) {
257
- setStartDate(null);
258
- setEndDate(null);
259
- }
260
- console.log({ dateStart, dateEnd });
261
- // eslint-disable-next-line react-hooks/exhaustive-deps
262
- }, [dateStart, dateEnd]);
263
-
264
295
  return (
265
296
  <View style={styles.container}>
266
297
  <View style={styles.header}>
@@ -1,64 +1,81 @@
1
- import { Image, StyleSheet, View } from 'react-native';
2
- import { Button, Color, Container, Modal, Typography } from '..';
3
- import type { RequiredUpdateAppsProviderProps } from './type';
4
1
  import { useEffect } from 'react';
2
+ import { Image, Platform, StyleSheet, View } from 'react-native';
3
+ import { Button, Card, Color, Modal, Typography } from '..';
4
+ import type { RequiredUpdateAppsProviderProps } from './type';
5
5
 
6
6
  export default function RequiredUpdateAppsProvider({
7
7
  title,
8
8
  description,
9
9
  buttonText = 'Update Sekarang',
10
10
  onUpdate,
11
+ fillScreen = false,
11
12
  }: RequiredUpdateAppsProviderProps) {
12
13
  useEffect(() => {
13
14
  onUpdate?.(false);
14
15
  }, [onUpdate]);
15
16
  return (
16
- <View>
17
- <Modal height={300} isOpen={true} closable={false}>
17
+ <Modal
18
+ isOpen={true}
19
+ closable={false}
20
+ modalStyle={fillScreen ? styles.modalFill : undefined}
21
+ >
22
+ <View style={{ alignItems: 'center' }}>
18
23
  <Image
19
24
  source={require('../_assets/updateapps.png')}
20
25
  style={styles.image}
21
26
  />
22
- <Container style={styles.container}>
27
+ </View>
28
+ <Card style={styles.container} borderColor="transparent">
29
+ <View style={styles.content}>
23
30
  <Typography
24
- variant="h4"
31
+ variant="p1"
25
32
  weight="semibold"
26
- color={Color.gray[800]}
33
+ color={Color.gray[900]}
27
34
  center
28
35
  >
29
36
  {title}
30
37
  </Typography>
31
- <Typography
32
- variant="t1"
33
- weight="regular"
34
- color={Color.gray[600]}
35
- center
36
- >
38
+ <Typography variant="t2" color={Color.gray[700]} center>
37
39
  {description}
38
40
  </Typography>
39
- <View style={{}}>
40
- <Button
41
- title={buttonText}
42
- color="primary"
43
- onPress={() => {
44
- onUpdate?.(false);
45
- }}
46
- />
47
- </View>
48
- </Container>
49
- </Modal>
50
- </View>
41
+ </View>
42
+
43
+ <View>
44
+ <Button
45
+ title={buttonText}
46
+ color="primary"
47
+ onPress={() => {
48
+ onUpdate?.(false);
49
+ }}
50
+ />
51
+ </View>
52
+ </Card>
53
+ </Modal>
51
54
  );
52
55
  }
53
56
 
54
57
  const styles = StyleSheet.create({
55
58
  image: {
56
- position: 'absolute',
57
- marginTop: -60,
58
- left: 30,
59
+ marginTop: Platform.OS === 'ios' ? -60 : -75,
60
+ objectFit: 'contain',
61
+ height: 124,
59
62
  },
60
63
  container: {
61
64
  gap: 20,
62
- marginTop: 80,
65
+ padding: Platform.OS === 'ios' ? 24 : 10,
66
+ },
67
+ content: {
68
+ gap: 10,
69
+ },
70
+ modalFill: {
71
+ position: 'absolute',
72
+ top: 0,
73
+ left: 0,
74
+ right: 0,
75
+ bottom: 0,
76
+ width: '100%',
77
+ height: '100%',
78
+ maxHeight: 'auto',
79
+ justifyContent: 'center',
63
80
  },
64
81
  });
@@ -3,4 +3,5 @@ export interface RequiredUpdateAppsProviderProps {
3
3
  description?: string;
4
4
  buttonText?: string;
5
5
  onUpdate?: (value: boolean) => void;
6
+ fillScreen?: boolean;
6
7
  }
Binary file