react-native-nepali-picker 1.0.9 → 1.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/lib/commonjs/CalendarPicker.js +85 -76
  2. package/lib/commonjs/CalendarPicker.js.map +1 -1
  3. package/lib/commonjs/DayCell.js +57 -0
  4. package/lib/commonjs/DayCell.js.map +1 -0
  5. package/lib/commonjs/calendar/functions.js +49 -17
  6. package/lib/commonjs/calendar/functions.js.map +1 -1
  7. package/lib/commonjs/calendar/settings.js +3 -1
  8. package/lib/commonjs/calendar/settings.js.map +1 -1
  9. package/lib/commonjs/calendar/validate.js +39 -0
  10. package/lib/commonjs/calendar/validate.js.map +1 -0
  11. package/lib/commonjs/index.js +13 -0
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/module/CalendarPicker.js +88 -79
  14. package/lib/module/CalendarPicker.js.map +1 -1
  15. package/lib/module/DayCell.js +52 -0
  16. package/lib/module/DayCell.js.map +1 -0
  17. package/lib/module/calendar/functions.js +49 -17
  18. package/lib/module/calendar/functions.js.map +1 -1
  19. package/lib/module/calendar/settings.js +2 -0
  20. package/lib/module/calendar/settings.js.map +1 -1
  21. package/lib/module/calendar/validate.js +34 -0
  22. package/lib/module/calendar/validate.js.map +1 -0
  23. package/lib/module/index.js +1 -0
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/typescript/commonjs/src/CalendarPicker.d.ts +1 -1
  26. package/lib/typescript/commonjs/src/CalendarPicker.d.ts.map +1 -1
  27. package/lib/typescript/commonjs/src/DayCell.d.ts +14 -0
  28. package/lib/typescript/commonjs/src/DayCell.d.ts.map +1 -0
  29. package/lib/typescript/commonjs/src/calendar/functions.d.ts +1 -1
  30. package/lib/typescript/commonjs/src/calendar/functions.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/src/calendar/settings.d.ts +2 -0
  32. package/lib/typescript/commonjs/src/calendar/settings.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/src/calendar/validate.d.ts +2 -0
  34. package/lib/typescript/commonjs/src/calendar/validate.d.ts.map +1 -0
  35. package/lib/typescript/commonjs/src/index.d.ts +1 -0
  36. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/src/types.d.ts +3 -1
  38. package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
  39. package/lib/typescript/module/src/CalendarPicker.d.ts +1 -1
  40. package/lib/typescript/module/src/CalendarPicker.d.ts.map +1 -1
  41. package/lib/typescript/module/src/DayCell.d.ts +14 -0
  42. package/lib/typescript/module/src/DayCell.d.ts.map +1 -0
  43. package/lib/typescript/module/src/calendar/functions.d.ts +1 -1
  44. package/lib/typescript/module/src/calendar/functions.d.ts.map +1 -1
  45. package/lib/typescript/module/src/calendar/settings.d.ts +2 -0
  46. package/lib/typescript/module/src/calendar/settings.d.ts.map +1 -1
  47. package/lib/typescript/module/src/calendar/validate.d.ts +2 -0
  48. package/lib/typescript/module/src/calendar/validate.d.ts.map +1 -0
  49. package/lib/typescript/module/src/index.d.ts +1 -0
  50. package/lib/typescript/module/src/index.d.ts.map +1 -1
  51. package/lib/typescript/module/src/types.d.ts +3 -1
  52. package/lib/typescript/module/src/types.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/CalendarPicker.tsx +108 -116
  55. package/src/DayCell.tsx +70 -0
  56. package/src/calendar/functions.ts +59 -17
  57. package/src/calendar/settings.ts +2 -0
  58. package/src/calendar/validate.tsx +37 -0
  59. package/src/index.tsx +1 -0
  60. package/src/types.ts +3 -1
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.validateCalendarDates = void 0;
7
+ var _functions = require("./functions.js");
8
+ const validateCalendarDates = (date, minDate, maxDate) => {
9
+ // 1. Validate minDate
10
+ const minCheck = (0, _functions.validateDate)(minDate);
11
+ if (minCheck !== true) {
12
+ return `Invalid minDate: ${minCheck}`;
13
+ }
14
+
15
+ // 2. Validate maxDate
16
+ const maxCheck = (0, _functions.validateDate)(maxDate);
17
+ if (maxCheck !== true) {
18
+ return `Invalid maxDate: ${maxCheck}`;
19
+ }
20
+
21
+ // 3. Validate user provided date
22
+ const initialCheck = (0, _functions.validateDate)(date);
23
+ if (initialCheck !== true) {
24
+ return `Invalid provided date: ${initialCheck}`;
25
+ }
26
+
27
+ // 4. Logical range validation
28
+ if (minDate > maxDate) {
29
+ return 'minDate must be less than or equal to maxDate';
30
+ }
31
+
32
+ // 5. Initial date within range
33
+ if (date < minDate || date > maxDate) {
34
+ return 'Provided date must be between minDate and maxDate';
35
+ }
36
+ return true;
37
+ };
38
+ exports.validateCalendarDates = validateCalendarDates;
39
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_functions","require","validateCalendarDates","date","minDate","maxDate","minCheck","validateDate","maxCheck","initialCheck","exports"],"sourceRoot":"../../../src","sources":["calendar/validate.tsx"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,qBAAqB,GAAGA,CACnCC,IAAY,EACZC,OAAe,EACfC,OAAe,KACG;EAClB;EACA,MAAMC,QAAQ,GAAG,IAAAC,uBAAY,EAACH,OAAO,CAAC;EACtC,IAAIE,QAAQ,KAAK,IAAI,EAAE;IACrB,OAAO,oBAAoBA,QAAQ,EAAE;EACvC;;EAEA;EACA,MAAME,QAAQ,GAAG,IAAAD,uBAAY,EAACF,OAAO,CAAC;EACtC,IAAIG,QAAQ,KAAK,IAAI,EAAE;IACrB,OAAO,oBAAoBA,QAAQ,EAAE;EACvC;;EAEA;EACA,MAAMC,YAAY,GAAG,IAAAF,uBAAY,EAACJ,IAAI,CAAC;EACvC,IAAIM,YAAY,KAAK,IAAI,EAAE;IACzB,OAAO,0BAA0BA,YAAY,EAAE;EACjD;;EAEA;EACA,IAAIL,OAAO,GAAGC,OAAO,EAAE;IACrB,OAAO,+CAA+C;EACxD;;EAEA;EACA,IAAIF,IAAI,GAAGC,OAAO,IAAID,IAAI,GAAGE,OAAO,EAAE;IACpC,OAAO,mDAAmD;EAC5D;EAEA,OAAO,IAAI;AACb,CAAC;AAACK,OAAA,CAAAR,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -21,12 +21,25 @@ Object.defineProperty(exports, "CalendarPicker", {
21
21
  return _CalendarPicker.default;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "NEPALI_MAX_YEAR", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _settings.NEPALI_MAX_YEAR;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "NEPALI_MIN_YEAR", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _settings.NEPALI_MIN_YEAR;
34
+ }
35
+ });
24
36
  Object.defineProperty(exports, "NepaliToday", {
25
37
  enumerable: true,
26
38
  get: function () {
27
39
  return _functions.NepaliToday;
28
40
  }
29
41
  });
42
+ var _settings = require("./calendar/settings.js");
30
43
  var _functions = require("./calendar/functions.js");
31
44
  var _CalendarPicker = _interopRequireDefault(require("./CalendarPicker.js"));
32
45
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -1 +1 @@
1
- {"version":3,"names":["_functions","require","_CalendarPicker","_interopRequireDefault","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA6D,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_settings","require","_functions","_CalendarPicker","_interopRequireDefault","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA6D,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import { useEffect, useState } from 'react';
3
+ import { useCallback, useEffect, useMemo, useState, useRef } from 'react';
4
4
  import { Modal, Pressable, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
5
  import DateSyncLogo from "./assets/DateSync.js";
6
6
  import { ChevronIcon } from "./assets/Icons.js";
7
7
  import Triangle from "./assets/Triangle.js";
8
8
  import { bs, daysInEnglish, daysInNepali, getNepaliNumber, monthsInEnglish, monthsInNepali } from "./calendar/config.js";
9
- import { NepaliToday, validateDate } from "./calendar/functions.js";
10
- import { calcFirstDay, isToday } from "./calendar/settings.js";
9
+ import { NepaliToday } from "./calendar/functions.js";
10
+ import { calcFirstDay, NEPALI_MAX_YEAR, NEPALI_MIN_YEAR } from "./calendar/settings.js";
11
+ import DayCell from "./DayCell.js";
12
+ import { validateCalendarDates } from "./calendar/validate.js";
11
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
14
  const CalendarPicker = ({
13
15
  visible,
@@ -15,7 +17,9 @@ const CalendarPicker = ({
15
17
  theme = 'light',
16
18
  onDateSelect,
17
19
  language = 'np',
18
- initialDate = NepaliToday(),
20
+ date = NepaliToday(),
21
+ minDate = '2000-01-01',
22
+ maxDate = '2099-12-30',
19
23
  brandColor = '#2081b9',
20
24
  titleTextStyle = {
21
25
  fontSize: 20,
@@ -30,35 +34,50 @@ const CalendarPicker = ({
30
34
  fontWeight: '600'
31
35
  }
32
36
  }) => {
33
- const value = validateDate(initialDate);
34
- console.log('the initial date is ', initialDate);
35
- const [TodayNepaliDate, setTodayNepaliDate] = useState(initialDate);
36
- const cYear = parseInt(TodayNepaliDate.split('-')[0], 10);
37
- const cMonth = parseInt(TodayNepaliDate.split('-')[1], 10);
38
- const cDay = parseInt(TodayNepaliDate.split('-')[2], 10);
39
- const [firstDayOfMonth, setFirstDayOfMonth] = useState(0);
37
+ const yearModelScrollRef = useRef(null);
38
+ const value = validateCalendarDates(date, minDate, maxDate);
39
+ const [userSelectedDate, setUserSelectedDate] = useState(date);
40
+ const cYear = parseInt(userSelectedDate.split('-')[0], 10);
41
+ const cMonth = parseInt(userSelectedDate.split('-')[1], 10);
42
+ const cDay = parseInt(userSelectedDate.split('-')[2], 10);
40
43
  const [month, setMonth] = useState(cMonth);
41
44
  const [year, setYear] = useState(cYear);
42
- const [calendarDate, setCalendarDate] = useState([]);
43
45
  const [yearModal, setYearModal] = useState(false);
44
46
  const syncToday = () => {
45
47
  setMonth(cMonth);
46
48
  setYear(cYear);
47
49
  };
48
- const handleDateClick = day => {
50
+ const handleDateClick = useCallback(day => {
49
51
  const date = `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`;
50
- setTodayNepaliDate(date);
52
+ setUserSelectedDate(date);
51
53
  onDateSelect(date);
52
54
  onClose();
53
- };
55
+ }, [year, month, onDateSelect, onClose]);
56
+
57
+ //check weather the date is disabled or not?(with maximum and minimum date provided)
58
+ const isDateDisabled = useCallback(day => {
59
+ const date = `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`;
60
+ if (minDate && date < minDate) return true;
61
+ if (maxDate && date > maxDate) return true;
62
+ return false;
63
+ }, [year, month, minDate, maxDate]);
64
+
65
+ // Set the user selected date is as NepaliDate (initially it will be always
66
+ // current Nepali Date)
54
67
  useEffect(() => {
55
- setTodayNepaliDate(initialDate);
56
- }, [initialDate]);
68
+ setUserSelectedDate(date);
69
+ }, [date]);
70
+
71
+ // It will calculate the current date number
72
+ const selectedDay = useMemo(() => {
73
+ const [y, m, d] = userSelectedDate.split('-').map(Number);
74
+ return y === year && m === month ? d : null;
75
+ }, [userSelectedDate, year, month]);
57
76
 
58
- //Handle Next Month Click
77
+ //Handle Next Month button Click
59
78
  const handleNextClick = () => {
60
79
  if (month === 12) {
61
- if (year < 2099) {
80
+ if (year < NEPALI_MAX_YEAR) {
62
81
  setYear(prev => prev + 1);
63
82
  setMonth(1);
64
83
  }
@@ -67,10 +86,10 @@ const CalendarPicker = ({
67
86
  }
68
87
  };
69
88
 
70
- //Handle Previous Month Click
89
+ //Handle Previous Month button Click
71
90
  const handlePreviousClick = () => {
72
91
  if (month === 1) {
73
- if (year > 2000) {
92
+ if (year > NEPALI_MIN_YEAR) {
74
93
  setYear(prev => prev - 1);
75
94
  setMonth(12);
76
95
  }
@@ -78,37 +97,53 @@ const CalendarPicker = ({
78
97
  setMonth(prev => prev - 1);
79
98
  }
80
99
  };
81
- const openYearView = () => {
100
+
101
+ //open the model which shows the list of years(2000-2099)BS
102
+ const openYearView = async () => {
82
103
  setYearModal(true);
104
+
105
+ //wait for model to open completely before to scroll down
106
+ await new Promise(resolve => setTimeout(resolve, 10));
107
+ // After model is opened, need ot scrolldown to that year
108
+ // Here we need to calculate (roughly) how much to scroll to keep the seelcted year in
109
+ // focus
110
+ // - For that we take the height of the year button and one row contain around 3-5(
111
+ // we will take 4) column of buttons so,
112
+ // approx Height = (year number(82 for 2082) * button height)/cloumn number
113
+ // NOTE: This is approx just to make the button visible when model is opened.
114
+ const vHeight = (year - NEPALI_MIN_YEAR) * 36 / 4;
115
+ yearModelScrollRef.current?.scrollTo({
116
+ y: vHeight,
117
+ animated: true
118
+ });
83
119
  };
120
+
121
+ //close the year view model
84
122
  const closeYearView = () => {
85
123
  setYearModal(false);
86
124
  };
87
- useEffect(() => {
88
- // calculate First Day Of Month (FDOM) and Days In Month(DIM)
125
+
126
+ // Calculating the number of cells on that month and year(Max it can have 42 cells)
127
+ // If the cells don't have the date, it will be null otherwise it will contain the actual
128
+ // date number (1,2,3...upto 32)
129
+ const calendarDate = useMemo(() => {
89
130
  const FDOM = calcFirstDay(year, month);
90
131
  const DIM = bs[year][month];
91
- setFirstDayOfMonth(FDOM);
92
-
93
- // array which contain 42 cells and it only fill the date with number if the date is present otherwise it fill cells with null.
94
- const calendarCells = Array.from({
132
+ return Array.from({
95
133
  length: 42
96
134
  }, (_, index) => {
97
- const dayNumber = index - FDOM + 1;
98
- if (dayNumber > 0 && dayNumber <= DIM) {
99
- return dayNumber;
100
- } else {
101
- return null;
102
- }
135
+ const dayNum = index - FDOM + 1;
136
+ return dayNum > 0 && dayNum <= DIM ? dayNum : null;
103
137
  });
104
- setCalendarDate(calendarCells);
105
- }, [year, month, initialDate]);
138
+ }, [year, month]);
106
139
  const handleYearClick = y => {
107
140
  setYear(y);
108
141
  closeYearView();
109
142
  };
110
143
  const dark = theme === 'dark';
111
144
  const weekDays = language === 'en' ? daysInEnglish : daysInNepali;
145
+
146
+ // If the user prvided (initial value ) is not in correct format i.e (YYYY-MM-DD)
112
147
  if (value !== true) {
113
148
  return /*#__PURE__*/_jsx(Modal, {
114
149
  visible: visible,
@@ -136,7 +171,7 @@ const CalendarPicker = ({
136
171
  paddingHorizontal: 10,
137
172
  paddingVertical: 10
138
173
  },
139
- children: "Unsupported date range on initialDate"
174
+ children: "Unsupported date range on Provided Date"
140
175
  }), /*#__PURE__*/_jsx(Text, {
141
176
  style: {
142
177
  color: dark ? 'white' : 'black',
@@ -169,7 +204,7 @@ const CalendarPicker = ({
169
204
  color: dark ? 'white' : 'black',
170
205
  paddingHorizontal: 10
171
206
  },
172
- children: language === 'np' ? 'आजको मिति ' : "Today's Date"
207
+ children: language === 'np' ? 'तपाईंको मिति ' : "Selected Date"
173
208
  }), /*#__PURE__*/_jsxs(View, {
174
209
  style: {
175
210
  display: 'flex',
@@ -263,30 +298,16 @@ const CalendarPicker = ({
263
298
  })
264
299
  }), /*#__PURE__*/_jsx(View, {
265
300
  style: styles.datesContainer,
266
- children: calendarDate.map((dayItem, index) => {
267
- return /*#__PURE__*/_jsx(TouchableOpacity, {
268
- style: styles.dateItem,
269
- onPress:
270
- //execute on day item press, Only execute when dayItem is not null
271
- dayItem ? () => handleDateClick(dayItem) : () => {},
272
- children: dayItem ? /*#__PURE__*/_jsx(View, {
273
- style: {
274
- paddingHorizontal: 6,
275
- paddingVertical: 3,
276
- borderRadius: 999,
277
- //check if the date is today or not and apply conditional styling.
278
- backgroundColor: isToday(TodayNepaliDate, index, year, month, firstDayOfMonth) ? brandColor : dark ? '#383838' : '#fff'
279
- },
280
- children: /*#__PURE__*/_jsx(Text, {
281
- style: {
282
- ...dayTextStyle,
283
- color: isToday(TodayNepaliDate, index, year, month, firstDayOfMonth) ? '#fff' : dark ? 'white' : 'black'
284
- },
285
- children: language === 'np' ? getNepaliNumber(dayItem) : dayItem
286
- })
287
- }) : null
288
- }, index);
289
- })
301
+ children: calendarDate.map((day, index) => /*#__PURE__*/_jsx(DayCell, {
302
+ day: day,
303
+ isSelectedDay: day !== null && day === selectedDay,
304
+ disabled: day !== null && isDateDisabled(day),
305
+ onPress: handleDateClick,
306
+ dark: dark,
307
+ brandColor: brandColor,
308
+ language: language,
309
+ dayTextStyle: dayTextStyle
310
+ }, index))
290
311
  })]
291
312
  })]
292
313
  })
@@ -308,6 +329,7 @@ const CalendarPicker = ({
308
329
  },
309
330
  children: /*#__PURE__*/_jsx(ScrollView, {
310
331
  showsVerticalScrollIndicator: false,
332
+ ref: yearModelScrollRef,
311
333
  contentContainerStyle: {
312
334
  display: 'flex',
313
335
  paddingVertical: 10,
@@ -317,7 +339,7 @@ const CalendarPicker = ({
317
339
  },
318
340
  children: Array(100).fill(0).map((_, index) => {
319
341
  return /*#__PURE__*/_jsx(TouchableOpacity, {
320
- onPress: () => handleYearClick(index + 2000),
342
+ onPress: () => handleYearClick(index + NEPALI_MIN_YEAR),
321
343
  style: {
322
344
  paddingHorizontal: 20,
323
345
  paddingVertical: 6,
@@ -325,15 +347,15 @@ const CalendarPicker = ({
325
347
  marginVertical: 4,
326
348
  borderColor: dark ? 'white' : 'black',
327
349
  borderRadius: 20,
328
- backgroundColor: index + 2000 === year ? brandColor : '',
350
+ backgroundColor: index + NEPALI_MIN_YEAR === year ? brandColor : '',
329
351
  borderWidth: 0.4
330
352
  },
331
353
  children: /*#__PURE__*/_jsx(Text, {
332
354
  style: {
333
355
  fontWeight: '500',
334
- color: index + 2000 === year ? 'white' : dark ? 'white' : 'black'
356
+ color: index + NEPALI_MIN_YEAR === year ? 'white' : dark ? 'white' : 'black'
335
357
  },
336
- children: language === 'np' ? getNepaliNumber(index + 2000) : index + 2000
358
+ children: language === 'np' ? getNepaliNumber(index + NEPALI_MIN_YEAR) : index + NEPALI_MIN_YEAR
337
359
  })
338
360
  }, index);
339
361
  })
@@ -371,11 +393,6 @@ const styles = StyleSheet.create({
371
393
  alignItems: 'center',
372
394
  paddingVertical: 18
373
395
  },
374
- //WeekText: {
375
- // fontWeight: 'bold',
376
- // fontSize: 14,
377
- // color: 'black',
378
- //},
379
396
  datesContainer: {
380
397
  flexDirection: 'row',
381
398
  flexWrap: 'wrap'
@@ -387,10 +404,6 @@ const styles = StyleSheet.create({
387
404
  alignItems: 'center',
388
405
  paddingVertical: 10
389
406
  },
390
- //DayText: {
391
- // fontSize: 14,
392
- // fontWeight: '600',
393
- //},
394
407
  CButton: {
395
408
  paddingHorizontal: 20,
396
409
  paddingVertical: 10
@@ -404,10 +417,6 @@ const styles = StyleSheet.create({
404
417
  outerDateConainer: {
405
418
  paddingHorizontal: 3
406
419
  },
407
- //TitleText: {
408
- // fontSize: 20,
409
- // fontWeight: 'bold',
410
- //},
411
420
  // for year view modal
412
421
  YearInnerPressable: {
413
422
  justifyContent: 'center',
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","Modal","Pressable","ScrollView","StyleSheet","Text","TouchableOpacity","View","DateSyncLogo","ChevronIcon","Triangle","bs","daysInEnglish","daysInNepali","getNepaliNumber","monthsInEnglish","monthsInNepali","NepaliToday","validateDate","calcFirstDay","isToday","jsx","_jsx","jsxs","_jsxs","CalendarPicker","visible","onClose","theme","onDateSelect","language","initialDate","brandColor","titleTextStyle","fontSize","fontWeight","weekTextStyle","dayTextStyle","value","console","log","TodayNepaliDate","setTodayNepaliDate","cYear","parseInt","split","cMonth","cDay","firstDayOfMonth","setFirstDayOfMonth","month","setMonth","year","setYear","calendarDate","setCalendarDate","yearModal","setYearModal","syncToday","handleDateClick","day","date","toString","padStart","handleNextClick","prev","handlePreviousClick","openYearView","closeYearView","FDOM","DIM","calendarCells","Array","from","length","_","index","dayNumber","handleYearClick","y","dark","weekDays","onRequestClose","transparent","children","style","styles","outerPressable","onPress","innerPressable","innerView","minHeight","minWidth","justifyContent","alignItems","backgroundColor","color","paddingHorizontal","paddingVertical","display","flexDirection","marginBottom","ButtonContainer","CButton","direction","marginRight","height","width","outerDateConainer","weekContainer","map","item","WeekItem","datesContainer","dayItem","dateItem","borderRadius","YearInnerPressable","InnerYearView","showsVerticalScrollIndicator","contentContainerStyle","flexWrap","fill","marginHorizontal","marginVertical","borderColor","borderWidth","create","maxWidth","padding","overflow","maxHeight"],"sourceRoot":"../../src","sources":["CalendarPicker.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useState","useRef","Modal","Pressable","ScrollView","StyleSheet","Text","TouchableOpacity","View","DateSyncLogo","ChevronIcon","Triangle","bs","daysInEnglish","daysInNepali","getNepaliNumber","monthsInEnglish","monthsInNepali","NepaliToday","calcFirstDay","NEPALI_MAX_YEAR","NEPALI_MIN_YEAR","DayCell","validateCalendarDates","jsx","_jsx","jsxs","_jsxs","CalendarPicker","visible","onClose","theme","onDateSelect","language","date","minDate","maxDate","brandColor","titleTextStyle","fontSize","fontWeight","weekTextStyle","dayTextStyle","yearModelScrollRef","value","userSelectedDate","setUserSelectedDate","cYear","parseInt","split","cMonth","cDay","month","setMonth","year","setYear","yearModal","setYearModal","syncToday","handleDateClick","day","toString","padStart","isDateDisabled","selectedDay","y","m","d","map","Number","handleNextClick","prev","handlePreviousClick","openYearView","Promise","resolve","setTimeout","vHeight","current","scrollTo","animated","closeYearView","calendarDate","FDOM","DIM","Array","from","length","_","index","dayNum","handleYearClick","dark","weekDays","onRequestClose","transparent","children","style","styles","outerPressable","onPress","innerPressable","innerView","minHeight","minWidth","justifyContent","alignItems","backgroundColor","color","paddingHorizontal","paddingVertical","display","flexDirection","marginBottom","ButtonContainer","CButton","direction","marginRight","height","width","outerDateConainer","weekContainer","item","WeekItem","datesContainer","isSelectedDay","disabled","YearInnerPressable","InnerYearView","showsVerticalScrollIndicator","ref","contentContainerStyle","flexWrap","fill","marginHorizontal","marginVertical","borderColor","borderRadius","borderWidth","create","maxWidth","padding","dateItem","overflow","maxHeight"],"sourceRoot":"../../src","sources":["CalendarPicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Text, TouchableOpacity, View } from 'react-native';
5
+ import { getNepaliNumber } from "./calendar/config.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const DayCell = /*#__PURE__*/React.memo(({
8
+ day,
9
+ isSelectedDay,
10
+ onPress,
11
+ dark,
12
+ brandColor,
13
+ language,
14
+ dayTextStyle,
15
+ disabled
16
+ }) => {
17
+ if (!day) {
18
+ return /*#__PURE__*/_jsx(View, {
19
+ style: {
20
+ width: '14.28%',
21
+ paddingVertical: 10
22
+ }
23
+ });
24
+ }
25
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
26
+ onPress: () => !disabled && onPress(day),
27
+ style: [{
28
+ width: '14.28%',
29
+ justifyContent: 'center',
30
+ alignItems: 'center',
31
+ paddingVertical: 10
32
+ }, disabled && {
33
+ opacity: 0.35
34
+ }],
35
+ children: /*#__PURE__*/_jsx(View, {
36
+ style: {
37
+ paddingHorizontal: 6,
38
+ paddingVertical: 3,
39
+ borderRadius: 999,
40
+ backgroundColor: isSelectedDay ? brandColor : dark ? '#383838' : '#fff'
41
+ },
42
+ children: /*#__PURE__*/_jsx(Text, {
43
+ style: [dayTextStyle, {
44
+ color: isSelectedDay ? '#fff' : dark ? '#fff' : '#000'
45
+ }],
46
+ children: language === 'np' ? getNepaliNumber(day) : day
47
+ })
48
+ })
49
+ });
50
+ });
51
+ export default DayCell;
52
+ //# sourceMappingURL=DayCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Text","TouchableOpacity","View","getNepaliNumber","jsx","_jsx","DayCell","memo","day","isSelectedDay","onPress","dark","brandColor","language","dayTextStyle","disabled","style","width","paddingVertical","justifyContent","alignItems","opacity","children","paddingHorizontal","borderRadius","backgroundColor","color"],"sourceRoot":"../../src","sources":["DayCell.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAC3D,SAASC,eAAe,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAapD,MAAMC,OAAO,gBAAGP,KAAK,CAACQ,IAAI,CACxB,CAAC;EACCC,GAAG;EACHC,aAAa;EACbC,OAAO;EACPC,IAAI;EACJC,UAAU;EACVC,QAAQ;EACRC,YAAY;EACZC;AACY,CAAC,KAAK;EAClB,IAAI,CAACP,GAAG,EAAE;IACR,oBAAOH,IAAA,CAACH,IAAI;MAACc,KAAK,EAAE;QAAEC,KAAK,EAAE,QAAQ;QAAEC,eAAe,EAAE;MAAG;IAAE,CAAE,CAAC;EAClE;EAEA,oBACEb,IAAA,CAACJ,gBAAgB;IACfS,OAAO,EAAEA,CAAA,KAAM,CAACK,QAAQ,IAAIL,OAAO,CAACF,GAAG,CAAE;IACzCQ,KAAK,EAAE,CAAC;MACNC,KAAK,EAAE,QAAQ;MACfE,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBF,eAAe,EAAE;IACnB,CAAC,EACDH,QAAQ,IAAI;MAAEM,OAAO,EAAE;IAAK,CAAC,CAAE;IAAAC,QAAA,eAE/BjB,IAAA,CAACH,IAAI;MACHc,KAAK,EAAE;QACLO,iBAAiB,EAAE,CAAC;QACpBL,eAAe,EAAE,CAAC;QAClBM,YAAY,EAAE,GAAG;QACjBC,eAAe,EAAEhB,aAAa,GAC1BG,UAAU,GACVD,IAAI,GACF,SAAS,GACT;MACR,CAAE;MAAAW,QAAA,eAEFjB,IAAA,CAACL,IAAI;QACHgB,KAAK,EAAE,CACLF,YAAY,EACZ;UACEY,KAAK,EAAEjB,aAAa,GAAG,MAAM,GAAGE,IAAI,GAAG,MAAM,GAAG;QAClD,CAAC,CACD;QAAAW,QAAA,EAEDT,QAAQ,KAAK,IAAI,GAAGV,eAAe,CAACK,GAAG,CAAC,GAAGA;MAAG,CAC3C;IAAC,CACH;EAAC,CACS,CAAC;AAEvB,CACF,CAAC;AAED,eAAeF,OAAO","ignoreList":[]}
@@ -1,24 +1,56 @@
1
1
  "use strict";
2
2
 
3
3
  import { bs } from "./config.js";
4
+ import { NEPALI_MAX_YEAR, NEPALI_MIN_YEAR } from "./settings.js";
4
5
  const formatDate = date => {
5
6
  const year = date.getFullYear();
6
7
  const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are zero-based
7
8
  const day = String(date.getDate()).padStart(2, '0');
8
9
  return `${year}-${month}-${day}`;
9
10
  };
10
- export const validateDate = date => {
11
- const dateArray = date.split('-');
12
- const [userYear, userMonth, _] = dateArray.map(Number);
13
- if (dateArray.length !== 3) {
14
- return 'Invalid date format';
15
- } else if (userYear < 2000 || userYear >= 2100) {
16
- return 'Year Range is 2000 to 2099';
17
- } else if (userMonth < 1 || userMonth > 12) {
18
- return 'Month Range is 1 to 12';
19
- } else {
20
- return true;
11
+
12
+ // Add padart 0 if the date is day or months are denoted by single number
13
+ const normalizeNepaliDate = date => {
14
+ const parts = date.split('-');
15
+ if (parts.length !== 3) return null;
16
+ const [y, m, d] = parts;
17
+ if (!/^\d{4}$/.test(y)) return null;
18
+ if (!/^\d{1,2}$/.test(m)) return null;
19
+ if (!/^\d{1,2}$/.test(d)) return null;
20
+ return `${y}-${m.padStart(2, '0')}-${d.padStart(2, '0')}`;
21
+ };
22
+ export const validateDate = uDate => {
23
+ const normalized = normalizeNepaliDate(uDate);
24
+ if (!normalized) {
25
+ return 'Date format must be YYYY-MM-DD';
26
+ }
27
+
28
+ // format check
29
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(normalized)) {
30
+ return 'Date format must be YYYY-MM-DD';
31
+ }
32
+ const [yearStr, monthStr, dayStr] = normalized.split('-');
33
+ const year = Number(yearStr);
34
+ const month = Number(monthStr);
35
+ const day = Number(dayStr);
36
+
37
+ // Year range
38
+ if (year < NEPALI_MIN_YEAR || year > NEPALI_MAX_YEAR) {
39
+ return 'Year range must be between 2000 and 2099 (BS)';
40
+ }
41
+ // Month range
42
+ if (month < 1 || month > 12) {
43
+ return 'Month range must be between 01 and 12';
44
+ }
45
+ //Day range using BS data
46
+ const daysInMonth = bs?.[year]?.[month];
47
+ if (!daysInMonth) {
48
+ return 'Invalid Nepali calendar data';
49
+ }
50
+ if (day < 1 || day > daysInMonth) {
51
+ return `Day range for ${year}-${monthStr} is 01 to ${daysInMonth}`;
21
52
  }
53
+ return true;
22
54
  };
23
55
  const FindDateDifference = (date1, date2) => {
24
56
  const diffInMs = date2 - date1;
@@ -35,13 +67,13 @@ const AdToBs = UserDate => {
35
67
 
36
68
  // number of days from that reference date
37
69
  const DateDifference = FindDateDifference(ReferenceDate, UserTimeDate);
38
- let nepaliYear = 2000;
70
+ let nepaliYear = NEPALI_MIN_YEAR;
39
71
  let nepaliMonth = 1;
40
72
  let nepaliDay = 1;
41
73
  //difference can calculate upto previous day so add 1 to get current day(Today)
42
74
 
43
75
  let DD = DateDifference + 1;
44
- outerLoop: for (let year = 2000; year < 2100; year++) {
76
+ outerLoop: for (let year = NEPALI_MIN_YEAR; year <= NEPALI_MAX_YEAR; year++) {
45
77
  for (let month = 1; month <= 12; month++) {
46
78
  if (DD <= bs[year][month]) {
47
79
  nepaliYear = year;
@@ -61,12 +93,12 @@ const NepaliToday = () => {
61
93
  const date = new Date(TodayDate);
62
94
  // number of return from that reference date
63
95
  const DateDifference = FindDateDifference(ReferenceDate, new Date(formatDate(date)).getTime());
64
- let nepaliYear = 2000;
96
+ let nepaliYear = NEPALI_MIN_YEAR;
65
97
  let nepaliMonth = 1;
66
98
  let nepaliDay = 1;
67
99
  //difference can calculate upto previous day so add 1 to get current day(Today)
68
100
  let DD = DateDifference + 1;
69
- outerLoop: for (let year = 2000; year < 2100; year++) {
101
+ outerLoop: for (let year = NEPALI_MIN_YEAR; year <= NEPALI_MAX_YEAR; year++) {
70
102
  for (let month = 1; month <= 12; month++) {
71
103
  if (DD <= bs[year][month]) {
72
104
  nepaliYear = year;
@@ -90,7 +122,7 @@ const BsToAd = userDate => {
90
122
  throw new Error('Invalid date format');
91
123
  }
92
124
  const [userYear, userMonth, userDay] = dateArray.map(Number);
93
- if (userYear < 2000 || userYear >= 2100) {
125
+ if (userYear < NEPALI_MIN_YEAR || userYear > NEPALI_MAX_YEAR) {
94
126
  throw new Error('Year Range is 2000 to 2099');
95
127
  }
96
128
  if (userMonth < 1 || userMonth > 12) {
@@ -101,7 +133,7 @@ const BsToAd = userDate => {
101
133
  // throw new Error('Month out of supported range');
102
134
  // }
103
135
 
104
- for (let year = 2000; year < userYear; year++) {
136
+ for (let year = NEPALI_MIN_YEAR; year < userYear; year++) {
105
137
  for (let month = 1; month <= 12; month++) {
106
138
  dateDifference += bs[year][month];
107
139
  }