react-native-paper-dates 0.8.7 → 0.9.2

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 (185) hide show
  1. package/README.md +30 -1
  2. package/lib/commonjs/Date/AnimatedCrossView.js.map +1 -1
  3. package/lib/commonjs/Date/AutoSizer.js.map +1 -1
  4. package/lib/commonjs/Date/Calendar.js +6 -2
  5. package/lib/commonjs/Date/Calendar.js.map +1 -1
  6. package/lib/commonjs/Date/CalendarEdit.js +4 -4
  7. package/lib/commonjs/Date/CalendarEdit.js.map +1 -1
  8. package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
  9. package/lib/commonjs/Date/DatePickerInput.js +33 -87
  10. package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
  11. package/lib/commonjs/Date/DatePickerInput.shared.js +6 -0
  12. package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -0
  13. package/lib/commonjs/Date/DatePickerInputWithoutModal.js +117 -0
  14. package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -0
  15. package/lib/commonjs/Date/DatePickerModal.js +1 -1
  16. package/lib/commonjs/Date/DatePickerModal.js.map +1 -1
  17. package/lib/commonjs/Date/DatePickerModalContent.js +14 -8
  18. package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
  19. package/lib/commonjs/Date/DatePickerModalContentHeader.js +5 -3
  20. package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
  21. package/lib/commonjs/Date/DatePickerModalHeader.js +5 -5
  22. package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
  23. package/lib/commonjs/Date/DatePickerModalHeaderBackground.js.map +1 -1
  24. package/lib/commonjs/Date/DateRangeInput.js +3 -2
  25. package/lib/commonjs/Date/DateRangeInput.js.map +1 -1
  26. package/lib/commonjs/Date/Day.js.map +1 -1
  27. package/lib/commonjs/Date/DayName.js.map +1 -1
  28. package/lib/commonjs/Date/DayNames.js.map +1 -1
  29. package/lib/commonjs/Date/DayRange.js.map +1 -1
  30. package/lib/commonjs/Date/Month.js.map +1 -1
  31. package/lib/commonjs/Date/Swiper.js.map +1 -1
  32. package/lib/commonjs/Date/Swiper.native.js +2 -1
  33. package/lib/commonjs/Date/Swiper.native.js.map +1 -1
  34. package/lib/commonjs/Date/SwiperUtils.js.map +1 -1
  35. package/lib/commonjs/Date/Week.js.map +1 -1
  36. package/lib/commonjs/Date/YearPicker.js +5 -5
  37. package/lib/commonjs/Date/YearPicker.js.map +1 -1
  38. package/lib/commonjs/Date/dateUtils.js.map +1 -1
  39. package/lib/commonjs/Date/dateUtils.test.js.map +1 -1
  40. package/lib/commonjs/Date/inputUtils.js +1 -1
  41. package/lib/commonjs/Date/inputUtils.js.map +1 -1
  42. package/lib/commonjs/TextInputMask.js +1 -1
  43. package/lib/commonjs/TextInputMask.js.map +1 -1
  44. package/lib/commonjs/Time/AmPmSwitcher.js.map +1 -1
  45. package/lib/commonjs/Time/AnalogClock.js +1 -1
  46. package/lib/commonjs/Time/AnalogClock.js.map +1 -1
  47. package/lib/commonjs/Time/AnalogClockHours.js +1 -1
  48. package/lib/commonjs/Time/AnalogClockHours.js.map +1 -1
  49. package/lib/commonjs/Time/AnalogClockMinutes.js.map +1 -1
  50. package/lib/commonjs/Time/AnimatedClockSwitcher.js.map +1 -1
  51. package/lib/commonjs/Time/TimeInput.js +1 -1
  52. package/lib/commonjs/Time/TimeInput.js.map +1 -1
  53. package/lib/commonjs/Time/TimeInputs.js +2 -2
  54. package/lib/commonjs/Time/TimeInputs.js.map +1 -1
  55. package/lib/commonjs/Time/TimePicker.js.map +1 -1
  56. package/lib/commonjs/Time/TimePickerModal.js +7 -2
  57. package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
  58. package/lib/commonjs/Time/timeUtils.js +7 -1
  59. package/lib/commonjs/Time/timeUtils.js.map +1 -1
  60. package/lib/commonjs/index.js.map +1 -1
  61. package/lib/commonjs/translations/ar.js +25 -0
  62. package/lib/commonjs/translations/ar.js.map +1 -0
  63. package/lib/commonjs/translations/de.js.map +1 -1
  64. package/lib/commonjs/translations/en.js.map +1 -1
  65. package/lib/commonjs/translations/enGB.js.map +1 -1
  66. package/lib/commonjs/translations/fr.js +25 -0
  67. package/lib/commonjs/translations/fr.js.map +1 -0
  68. package/lib/commonjs/translations/ko.js +25 -0
  69. package/lib/commonjs/translations/ko.js.map +1 -0
  70. package/lib/commonjs/translations/nl.js.map +1 -1
  71. package/lib/commonjs/translations/pl.js.map +1 -1
  72. package/lib/commonjs/translations/pt.js.map +1 -1
  73. package/lib/commonjs/translations/utils.js +1 -1
  74. package/lib/commonjs/translations/utils.js.map +1 -1
  75. package/lib/commonjs/utils.js.map +1 -1
  76. package/lib/module/Date/AnimatedCrossView.js.map +1 -1
  77. package/lib/module/Date/AutoSizer.js.map +1 -1
  78. package/lib/module/Date/Calendar.js +6 -2
  79. package/lib/module/Date/Calendar.js.map +1 -1
  80. package/lib/module/Date/CalendarEdit.js +4 -4
  81. package/lib/module/Date/CalendarEdit.js.map +1 -1
  82. package/lib/module/Date/CalendarHeader.js.map +1 -1
  83. package/lib/module/Date/DatePickerInput.js +34 -87
  84. package/lib/module/Date/DatePickerInput.js.map +1 -1
  85. package/lib/module/Date/DatePickerInput.shared.js +2 -0
  86. package/lib/module/Date/DatePickerInput.shared.js.map +1 -0
  87. package/lib/module/Date/DatePickerInputWithoutModal.js +97 -0
  88. package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -0
  89. package/lib/module/Date/DatePickerModal.js +1 -1
  90. package/lib/module/Date/DatePickerModal.js.map +1 -1
  91. package/lib/module/Date/DatePickerModalContent.js +14 -8
  92. package/lib/module/Date/DatePickerModalContent.js.map +1 -1
  93. package/lib/module/Date/DatePickerModalContentHeader.js +5 -3
  94. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  95. package/lib/module/Date/DatePickerModalHeader.js +5 -5
  96. package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
  97. package/lib/module/Date/DatePickerModalHeaderBackground.js.map +1 -1
  98. package/lib/module/Date/DateRangeInput.js +3 -2
  99. package/lib/module/Date/DateRangeInput.js.map +1 -1
  100. package/lib/module/Date/Day.js.map +1 -1
  101. package/lib/module/Date/DayName.js.map +1 -1
  102. package/lib/module/Date/DayNames.js.map +1 -1
  103. package/lib/module/Date/DayRange.js.map +1 -1
  104. package/lib/module/Date/Month.js.map +1 -1
  105. package/lib/module/Date/Swiper.js.map +1 -1
  106. package/lib/module/Date/Swiper.native.js +2 -1
  107. package/lib/module/Date/Swiper.native.js.map +1 -1
  108. package/lib/module/Date/SwiperUtils.js.map +1 -1
  109. package/lib/module/Date/Week.js.map +1 -1
  110. package/lib/module/Date/YearPicker.js +5 -5
  111. package/lib/module/Date/YearPicker.js.map +1 -1
  112. package/lib/module/Date/dateUtils.js.map +1 -1
  113. package/lib/module/Date/dateUtils.test.js.map +1 -1
  114. package/lib/module/Date/inputUtils.js +1 -1
  115. package/lib/module/Date/inputUtils.js.map +1 -1
  116. package/lib/module/TextInputMask.js +1 -1
  117. package/lib/module/TextInputMask.js.map +1 -1
  118. package/lib/module/Time/AmPmSwitcher.js.map +1 -1
  119. package/lib/module/Time/AnalogClock.js +1 -1
  120. package/lib/module/Time/AnalogClock.js.map +1 -1
  121. package/lib/module/Time/AnalogClockHours.js +1 -1
  122. package/lib/module/Time/AnalogClockHours.js.map +1 -1
  123. package/lib/module/Time/AnalogClockMinutes.js.map +1 -1
  124. package/lib/module/Time/AnimatedClockSwitcher.js.map +1 -1
  125. package/lib/module/Time/TimeInput.js +1 -1
  126. package/lib/module/Time/TimeInput.js.map +1 -1
  127. package/lib/module/Time/TimeInputs.js +2 -2
  128. package/lib/module/Time/TimeInputs.js.map +1 -1
  129. package/lib/module/Time/TimePicker.js.map +1 -1
  130. package/lib/module/Time/TimePickerModal.js +8 -3
  131. package/lib/module/Time/TimePickerModal.js.map +1 -1
  132. package/lib/module/Time/timeUtils.js +3 -0
  133. package/lib/module/Time/timeUtils.js.map +1 -1
  134. package/lib/module/index.js.map +1 -1
  135. package/lib/module/translations/ar.js +18 -0
  136. package/lib/module/translations/ar.js.map +1 -0
  137. package/lib/module/translations/de.js.map +1 -1
  138. package/lib/module/translations/en.js.map +1 -1
  139. package/lib/module/translations/enGB.js.map +1 -1
  140. package/lib/module/translations/fr.js +18 -0
  141. package/lib/module/translations/fr.js.map +1 -0
  142. package/lib/module/translations/ko.js +18 -0
  143. package/lib/module/translations/ko.js.map +1 -0
  144. package/lib/module/translations/nl.js.map +1 -1
  145. package/lib/module/translations/pl.js.map +1 -1
  146. package/lib/module/translations/pt.js.map +1 -1
  147. package/lib/module/translations/utils.js +1 -1
  148. package/lib/module/translations/utils.js.map +1 -1
  149. package/lib/module/utils.js.map +1 -1
  150. package/lib/typescript/Date/Calendar.d.ts +2 -0
  151. package/lib/typescript/Date/DatePickerInput.d.ts +2 -16
  152. package/lib/typescript/Date/DatePickerInput.shared.d.ts +13 -0
  153. package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +51 -0
  154. package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -0
  155. package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +3 -0
  156. package/lib/typescript/Date/DatePickerModalHeader.d.ts +2 -0
  157. package/lib/typescript/Date/DateRangeInput.d.ts +2 -1
  158. package/lib/typescript/Date/YearPicker.d.ts +3 -1
  159. package/lib/typescript/TextInputMask.d.ts +31 -6
  160. package/lib/typescript/Time/TimePickerModal.d.ts +3 -1
  161. package/lib/typescript/Time/timeUtils.d.ts +1 -0
  162. package/lib/typescript/translations/ar.d.ts +3 -0
  163. package/lib/typescript/translations/fr.d.ts +3 -0
  164. package/lib/typescript/translations/ko.d.ts +3 -0
  165. package/package.json +26 -25
  166. package/src/Date/Calendar.tsx +7 -1
  167. package/src/Date/CalendarEdit.tsx +4 -4
  168. package/src/Date/DatePickerInput.shared.tsx +17 -0
  169. package/src/Date/DatePickerInput.tsx +32 -102
  170. package/src/Date/DatePickerInputWithoutModal.tsx +110 -0
  171. package/src/Date/DatePickerModalContent.tsx +12 -3
  172. package/src/Date/DatePickerModalContentHeader.tsx +13 -2
  173. package/src/Date/DatePickerModalHeader.tsx +6 -3
  174. package/src/Date/DateRangeInput.tsx +8 -2
  175. package/src/Date/Swiper.native.tsx +1 -0
  176. package/src/Date/YearPicker.tsx +5 -4
  177. package/src/Date/inputUtils.ts +1 -1
  178. package/src/Time/AnalogClockHours.tsx +1 -1
  179. package/src/Time/TimeInputs.tsx +2 -2
  180. package/src/Time/TimePickerModal.tsx +9 -2
  181. package/src/Time/timeUtils.ts +10 -0
  182. package/src/translations/ar.ts +21 -0
  183. package/src/translations/fr.ts +23 -0
  184. package/src/translations/ko.ts +21 -0
  185. package/src/translations/utils.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["Month.tsx"],"names":["Month","props","index","mode","date","dates","startDate","endDate","onPressYear","selectingYear","onPressDate","scrollMode","primaryColor","selectColor","roundness","disableWeekDays","locale","validRange","theme","textColorOnPrimary","realIndex","isHorizontal","isDisabled","isWithinValidRange","monthName","month","year","React","useMemo","md","Date","y","getFullYear","m","getMonth","formatter","Intl","DateTimeFormat","format","grid","today","daysInMonth","dayOfWeek","emptyDays","monthGrid","map","days","weekGrid","weekIndex","generatedDays","_","dayIndex","isFirstWeek","realDayIndex","beforeWeekDay","dayOfMonth","afterWeekDay","day","isToday","inRange","disabled","selected","leftCrop","rightCrop","isFirstDayOfMonth","isLastDayOfMonth","selectedStartDay","selectedEndDay","safeDates","some","d","yesterday","tomorrow","yesterdaySelected","tomorrowSelected","isWithinOptionalValidRange","styles","height","getMonthHeight","monthHeader","marginTop","monthHeaderSingleMarginTop","marginBottom","monthHeaderSingleMarginBottom","undefined","yearButton","borderRadius","yearButtonInner","monthLabel","fonts","medium","opacity1","opacity0","week","filter","gd","weekMargin","weekSize","daySize","montHeaderHeight","monthHeaderSingleHeight","StyleSheet","create","flexDirection","justifyContent","overflow","fontSize","opacity","alignSelf","marginLeft","paddingLeft","alignItems","Array","fill","getIndexCount","startAtIndex","weeksOffset","off","i","cIndex","gridCounts","getIndexFromHorizontalOffset","offset","width","Math","floor","getIndexFromVerticalOffset","estimatedIndex","ceil","estimatedMonthHeight","realOffset","getVerticalMonthsOffset","difference","beginOffset","getHorizontalMonthOffset","count","ob","monthsHeight","c","dayNamesHeight","calendarHeight","gc","currentMonthHeight","extraHeight","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { IconButton, Text, useTheme, TouchableRipple } from 'react-native-paper'\nimport Day, { EmptyDay } from './Day'\n\nimport {\n addMonths,\n areDatesOnSameDay,\n daySize,\n DisableWeekDaysType,\n getDaysInMonth,\n getFirstDayOfMonth,\n getRealIndex,\n getGridCount,\n isDateBetween,\n gridCounts,\n showWeekDay,\n startAtIndex,\n beginOffset,\n estimatedMonthHeight,\n useRangeChecker,\n} from './dateUtils'\nimport { getCalendarHeaderHeight } from './CalendarHeader'\nimport type {\n CalendarDate,\n CalendarDates,\n ModeType,\n ValidRangeType,\n} from './Calendar'\nimport { dayNamesHeight } from './DayNames'\nimport { useTextColorOnPrimary } from '../utils'\n\ninterface BaseMonthProps {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n disableWeekDays?: DisableWeekDaysType\n mode: ModeType\n index: number\n onPressYear: (year: number) => any\n selectingYear: boolean\n onPressDate: (date: Date) => any\n primaryColor: string\n selectColor: string\n roundness: number\n validRange?: ValidRangeType\n\n // some of these should be required in final implementation\n startDate?: CalendarDate\n endDate?: CalendarDate\n date?: CalendarDate\n dates?: CalendarDates\n}\n\ninterface MonthRangeProps extends BaseMonthProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n}\n\ninterface MonthSingleProps extends BaseMonthProps {\n mode: 'single'\n date: CalendarDate\n}\n\ninterface MonthMultiProps extends BaseMonthProps {\n mode: 'multiple'\n dates: CalendarDates\n}\n\nfunction Month(props: MonthSingleProps | MonthRangeProps | MonthMultiProps) {\n const {\n index,\n mode,\n date,\n dates,\n startDate,\n endDate,\n onPressYear,\n selectingYear,\n onPressDate,\n scrollMode,\n primaryColor,\n selectColor,\n roundness,\n disableWeekDays,\n locale,\n validRange,\n } = props\n const theme = useTheme()\n const textColorOnPrimary = useTextColorOnPrimary()\n const realIndex = getRealIndex(index)\n const isHorizontal = scrollMode === 'horizontal'\n const { isDisabled, isWithinValidRange } = useRangeChecker(validRange)\n const { monthName, month, year } = React.useMemo(() => {\n const md = addMonths(new Date(), realIndex)\n const y = md.getFullYear()\n const m = md.getMonth()\n const formatter = new Intl.DateTimeFormat(locale, {\n month: 'long',\n })\n return { monthName: formatter.format(md), month: m, year: y }\n }, [realIndex, locale])\n\n const grid = React.useMemo(() => {\n const today = new Date()\n\n const daysInMonth = getDaysInMonth({ year, month })\n const dayOfWeek = getFirstDayOfMonth({ year, month })\n const emptyDays = dayOfWeek\n\n return monthGrid(index).map(({ days, weekGrid }) => {\n return {\n weekIndex: weekGrid,\n generatedDays: days.map((_, dayIndex) => {\n const isFirstWeek = weekGrid === 0\n const realDayIndex = emptyDays - dayIndex\n const beforeWeekDay = isFirstWeek && realDayIndex > 0\n const dayOfMonth = weekGrid * 7 + dayIndex - emptyDays + 1\n const afterWeekDay = dayOfMonth > daysInMonth\n\n const day = new Date(year, month, dayOfMonth)\n const isToday = areDatesOnSameDay(day, today)\n\n let inRange = false\n let disabled = isDisabled(day)\n let selected = false\n\n let leftCrop = dayOfMonth === 1\n let rightCrop = dayOfMonth === daysInMonth\n\n const isFirstDayOfMonth = dayOfMonth === 1\n const isLastDayOfMonth = dayOfMonth === daysInMonth\n\n if (mode === 'range') {\n const selectedStartDay = areDatesOnSameDay(day, startDate)\n const selectedEndDay = areDatesOnSameDay(day, endDate)\n selected = selectedStartDay || selectedEndDay\n inRange = isDateBetween(day, {\n startDate,\n endDate,\n })\n if (selectedStartDay) {\n leftCrop = true\n }\n if (selectedEndDay) {\n rightCrop = true\n }\n if (dayIndex === 0 && !selectedStartDay) {\n leftCrop = false\n }\n\n if (dayIndex === 6 && !selectedEndDay) {\n rightCrop = false\n }\n\n if (\n (isFirstDayOfMonth && selectedEndDay) ||\n (isLastDayOfMonth && selectedStartDay)\n ) {\n inRange = false\n }\n } else if (mode === 'multiple') {\n const safeDates = dates || []\n selected = safeDates.some((d) => areDatesOnSameDay(day, d))\n\n const yesterday = new Date(year, month, dayOfMonth - 1)\n const tomorrow = new Date(year, month, dayOfMonth + 1)\n\n const yesterdaySelected = safeDates.some((d) =>\n areDatesOnSameDay(d, yesterday)\n )\n const tomorrowSelected = safeDates.some((d) =>\n areDatesOnSameDay(d, tomorrow)\n )\n\n if (selected) {\n if (tomorrowSelected && yesterdaySelected) {\n inRange = true\n }\n if (tomorrowSelected && !yesterdaySelected) {\n inRange = true\n leftCrop = true\n }\n\n if (yesterdaySelected && !tomorrowSelected) {\n inRange = true\n rightCrop = true\n }\n\n if (isFirstDayOfMonth && !tomorrowSelected) {\n inRange = false\n }\n\n if (isLastDayOfMonth && !yesterdaySelected) {\n inRange = false\n }\n\n if (inRange && !leftCrop && !rightCrop) {\n selected = false\n }\n }\n } else if (mode === 'single') {\n selected = areDatesOnSameDay(day, date)\n }\n\n const isWithinOptionalValidRange = isWithinValidRange(day)\n\n if (inRange && !disabled) {\n disabled = false\n }\n\n if (!isWithinOptionalValidRange) {\n disabled = true\n }\n\n return {\n beforeWeekDay,\n afterWeekDay,\n year,\n month,\n dayOfMonth,\n dayIndex,\n mode,\n selected,\n inRange,\n leftCrop,\n rightCrop,\n isToday,\n disabled,\n }\n }),\n }\n })\n }, [\n year,\n month,\n index,\n isDisabled,\n mode,\n isWithinValidRange,\n startDate,\n endDate,\n dates,\n date,\n ])\n\n return (\n <View style={[styles.month, { height: getMonthHeight(scrollMode, index) }]}>\n <View\n style={[\n styles.monthHeader,\n isHorizontal\n ? {\n marginTop: monthHeaderSingleMarginTop,\n marginBottom: monthHeaderSingleMarginBottom,\n }\n : null,\n ]}\n >\n <TouchableRipple\n disabled={!isHorizontal}\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n accessibilityRole=\"button\"\n accessibilityLabel={`${monthName} ${year}`}\n style={[\n styles.yearButton,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <View\n style={[\n styles.yearButtonInner,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <Text\n style={[styles.monthLabel, theme.fonts.medium]}\n selectable={false}\n >\n {monthName} {year}\n </Text>\n <View style={isHorizontal ? styles.opacity1 : styles.opacity0}>\n <IconButton\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n icon={selectingYear ? 'chevron-up' : 'chevron-down'}\n />\n </View>\n </View>\n </TouchableRipple>\n </View>\n\n {grid.map(({ weekIndex, generatedDays }) => (\n <View style={styles.week} key={weekIndex}>\n {generatedDays\n .filter((gd) => showWeekDay(gd.dayIndex, disableWeekDays))\n .map((gd) =>\n gd.beforeWeekDay || gd.afterWeekDay ? (\n <EmptyDay key={gd.dayIndex} />\n ) : (\n <Day\n key={gd.dayIndex}\n theme={theme}\n day={gd.dayOfMonth}\n month={gd.month}\n year={gd.year}\n selected={gd.selected}\n inRange={gd.inRange}\n leftCrop={gd.leftCrop}\n rightCrop={gd.rightCrop}\n onPressDate={onPressDate}\n isToday={gd.isToday}\n selectColor={selectColor}\n primaryColor={primaryColor}\n disabled={gd.disabled}\n textColorOnPrimary={textColorOnPrimary}\n />\n )\n )}\n </View>\n ))}\n </View>\n )\n}\n\nexport const weekMargin = 6\nexport const weekSize = daySize + weekMargin\nexport const montHeaderHeight = 56\nexport const monthHeaderSingleMarginTop = 4\nexport const monthHeaderSingleMarginBottom = 8 + 44 + 12\nexport const monthHeaderSingleHeight =\n monthHeaderSingleMarginTop + monthHeaderSingleMarginBottom\n\nconst styles = StyleSheet.create({\n week: {\n flexDirection: 'row',\n marginBottom: weekMargin,\n height: daySize,\n },\n\n month: {},\n\n monthHeader: {\n height: montHeaderHeight,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n monthLabel: { fontSize: 14, opacity: 0.7 },\n yearButton: { alignSelf: 'flex-start', marginLeft: 6 },\n yearButtonInner: {\n paddingLeft: 16,\n flexDirection: 'row',\n alignItems: 'center',\n },\n opacity0: { opacity: 0 },\n opacity1: { opacity: 1 },\n})\n\nconst monthGrid = (index: number) => {\n return Array(getGridCount(index))\n .fill(null)\n .map((_, weekGrid) => {\n const days = Array(7).fill(null)\n return { weekGrid, days }\n })\n}\n\nfunction getIndexCount(index: number): number {\n if (index > startAtIndex) {\n return index - startAtIndex\n }\n\n return -(startAtIndex - index)\n}\n\nfunction weeksOffset(index: number): number {\n if (index === startAtIndex) {\n return 0\n }\n let off = 0\n if (index > startAtIndex) {\n for (let i = 0; i < index - startAtIndex; i++) {\n const cIndex = startAtIndex + i\n off += gridCounts[cIndex] || getGridCount(cIndex)\n }\n } else {\n for (let i = 0; i < startAtIndex - index; i++) {\n const cIndex = startAtIndex - i - 1\n off -= gridCounts[cIndex] || getGridCount(cIndex)\n }\n }\n return off\n}\n\nexport function getIndexFromHorizontalOffset(\n offset: number,\n width: number\n): number {\n return startAtIndex + Math.floor(offset / width)\n}\n\nexport function getIndexFromVerticalOffset(offset: number): number {\n let estimatedIndex = startAtIndex + Math.ceil(offset / estimatedMonthHeight)\n\n const realOffset = getVerticalMonthsOffset(estimatedIndex)\n const difference = (realOffset - beginOffset - offset) / estimatedMonthHeight\n if (difference >= 1 || difference <= -1) {\n estimatedIndex -= Math.floor(difference)\n }\n return estimatedIndex\n}\n\nexport function getHorizontalMonthOffset(index: number, width: number) {\n if (index < 0) {\n return 0\n }\n return width * index\n}\n\nexport function getVerticalMonthsOffset(index: number) {\n const count = getIndexCount(index)\n const ob = weeksOffset(index)\n const monthsHeight = weekSize * ob\n const c = monthsHeight + count * (dayNamesHeight + montHeaderHeight)\n\n return (c || 0) + beginOffset\n}\n\nexport function getMonthHeight(\n scrollMode: 'horizontal' | 'vertical',\n index: number\n): number {\n const calendarHeight = getCalendarHeaderHeight(scrollMode)\n const gc = getGridCount(index)\n\n const currentMonthHeight = weekSize * gc\n const extraHeight =\n scrollMode === 'horizontal' ? monthHeaderSingleHeight : montHeaderHeight\n const c = calendarHeight + currentMonthHeight + extraHeight\n return c || 0\n}\n\nexport default React.memo(Month)\n"]}
1
+ {"version":3,"names":["Month","props","index","mode","date","dates","startDate","endDate","onPressYear","selectingYear","onPressDate","scrollMode","primaryColor","selectColor","roundness","disableWeekDays","locale","validRange","theme","useTheme","textColorOnPrimary","useTextColorOnPrimary","realIndex","getRealIndex","isHorizontal","isDisabled","isWithinValidRange","useRangeChecker","monthName","month","year","React","useMemo","md","addMonths","Date","y","getFullYear","m","getMonth","formatter","Intl","DateTimeFormat","format","grid","today","daysInMonth","getDaysInMonth","dayOfWeek","getFirstDayOfMonth","emptyDays","monthGrid","map","days","weekGrid","weekIndex","generatedDays","_","dayIndex","isFirstWeek","realDayIndex","beforeWeekDay","dayOfMonth","afterWeekDay","day","isToday","areDatesOnSameDay","inRange","disabled","selected","leftCrop","rightCrop","isFirstDayOfMonth","isLastDayOfMonth","selectedStartDay","selectedEndDay","isDateBetween","safeDates","some","d","yesterday","tomorrow","yesterdaySelected","tomorrowSelected","isWithinOptionalValidRange","styles","height","getMonthHeight","monthHeader","marginTop","monthHeaderSingleMarginTop","marginBottom","monthHeaderSingleMarginBottom","undefined","yearButton","borderRadius","yearButtonInner","monthLabel","fonts","medium","opacity1","opacity0","week","filter","gd","showWeekDay","weekMargin","weekSize","daySize","montHeaderHeight","monthHeaderSingleHeight","StyleSheet","create","flexDirection","justifyContent","overflow","fontSize","opacity","alignSelf","marginLeft","paddingLeft","alignItems","Array","getGridCount","fill","getIndexCount","startAtIndex","weeksOffset","off","i","cIndex","gridCounts","getIndexFromHorizontalOffset","offset","width","Math","floor","getIndexFromVerticalOffset","estimatedIndex","ceil","estimatedMonthHeight","realOffset","getVerticalMonthsOffset","difference","beginOffset","getHorizontalMonthOffset","count","ob","monthsHeight","c","dayNamesHeight","calendarHeight","getCalendarHeaderHeight","gc","currentMonthHeight","extraHeight","memo"],"sources":["Month.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { IconButton, Text, useTheme, TouchableRipple } from 'react-native-paper'\nimport Day, { EmptyDay } from './Day'\n\nimport {\n addMonths,\n areDatesOnSameDay,\n daySize,\n DisableWeekDaysType,\n getDaysInMonth,\n getFirstDayOfMonth,\n getRealIndex,\n getGridCount,\n isDateBetween,\n gridCounts,\n showWeekDay,\n startAtIndex,\n beginOffset,\n estimatedMonthHeight,\n useRangeChecker,\n} from './dateUtils'\nimport { getCalendarHeaderHeight } from './CalendarHeader'\nimport type {\n CalendarDate,\n CalendarDates,\n ModeType,\n ValidRangeType,\n} from './Calendar'\nimport { dayNamesHeight } from './DayNames'\nimport { useTextColorOnPrimary } from '../utils'\n\ninterface BaseMonthProps {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n disableWeekDays?: DisableWeekDaysType\n mode: ModeType\n index: number\n onPressYear: (year: number) => any\n selectingYear: boolean\n onPressDate: (date: Date) => any\n primaryColor: string\n selectColor: string\n roundness: number\n validRange?: ValidRangeType\n\n // some of these should be required in final implementation\n startDate?: CalendarDate\n endDate?: CalendarDate\n date?: CalendarDate\n dates?: CalendarDates\n}\n\ninterface MonthRangeProps extends BaseMonthProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n}\n\ninterface MonthSingleProps extends BaseMonthProps {\n mode: 'single'\n date: CalendarDate\n}\n\ninterface MonthMultiProps extends BaseMonthProps {\n mode: 'multiple'\n dates: CalendarDates\n}\n\nfunction Month(props: MonthSingleProps | MonthRangeProps | MonthMultiProps) {\n const {\n index,\n mode,\n date,\n dates,\n startDate,\n endDate,\n onPressYear,\n selectingYear,\n onPressDate,\n scrollMode,\n primaryColor,\n selectColor,\n roundness,\n disableWeekDays,\n locale,\n validRange,\n } = props\n const theme = useTheme()\n const textColorOnPrimary = useTextColorOnPrimary()\n const realIndex = getRealIndex(index)\n const isHorizontal = scrollMode === 'horizontal'\n const { isDisabled, isWithinValidRange } = useRangeChecker(validRange)\n const { monthName, month, year } = React.useMemo(() => {\n const md = addMonths(new Date(), realIndex)\n const y = md.getFullYear()\n const m = md.getMonth()\n const formatter = new Intl.DateTimeFormat(locale, {\n month: 'long',\n })\n return { monthName: formatter.format(md), month: m, year: y }\n }, [realIndex, locale])\n\n const grid = React.useMemo(() => {\n const today = new Date()\n\n const daysInMonth = getDaysInMonth({ year, month })\n const dayOfWeek = getFirstDayOfMonth({ year, month })\n const emptyDays = dayOfWeek\n\n return monthGrid(index).map(({ days, weekGrid }) => {\n return {\n weekIndex: weekGrid,\n generatedDays: days.map((_, dayIndex) => {\n const isFirstWeek = weekGrid === 0\n const realDayIndex = emptyDays - dayIndex\n const beforeWeekDay = isFirstWeek && realDayIndex > 0\n const dayOfMonth = weekGrid * 7 + dayIndex - emptyDays + 1\n const afterWeekDay = dayOfMonth > daysInMonth\n\n const day = new Date(year, month, dayOfMonth)\n const isToday = areDatesOnSameDay(day, today)\n\n let inRange = false\n let disabled = isDisabled(day)\n let selected = false\n\n let leftCrop = dayOfMonth === 1\n let rightCrop = dayOfMonth === daysInMonth\n\n const isFirstDayOfMonth = dayOfMonth === 1\n const isLastDayOfMonth = dayOfMonth === daysInMonth\n\n if (mode === 'range') {\n const selectedStartDay = areDatesOnSameDay(day, startDate)\n const selectedEndDay = areDatesOnSameDay(day, endDate)\n selected = selectedStartDay || selectedEndDay\n inRange = isDateBetween(day, {\n startDate,\n endDate,\n })\n if (selectedStartDay) {\n leftCrop = true\n }\n if (selectedEndDay) {\n rightCrop = true\n }\n if (dayIndex === 0 && !selectedStartDay) {\n leftCrop = false\n }\n\n if (dayIndex === 6 && !selectedEndDay) {\n rightCrop = false\n }\n\n if (\n (isFirstDayOfMonth && selectedEndDay) ||\n (isLastDayOfMonth && selectedStartDay)\n ) {\n inRange = false\n }\n } else if (mode === 'multiple') {\n const safeDates = dates || []\n selected = safeDates.some((d) => areDatesOnSameDay(day, d))\n\n const yesterday = new Date(year, month, dayOfMonth - 1)\n const tomorrow = new Date(year, month, dayOfMonth + 1)\n\n const yesterdaySelected = safeDates.some((d) =>\n areDatesOnSameDay(d, yesterday)\n )\n const tomorrowSelected = safeDates.some((d) =>\n areDatesOnSameDay(d, tomorrow)\n )\n\n if (selected) {\n if (tomorrowSelected && yesterdaySelected) {\n inRange = true\n }\n if (tomorrowSelected && !yesterdaySelected) {\n inRange = true\n leftCrop = true\n }\n\n if (yesterdaySelected && !tomorrowSelected) {\n inRange = true\n rightCrop = true\n }\n\n if (isFirstDayOfMonth && !tomorrowSelected) {\n inRange = false\n }\n\n if (isLastDayOfMonth && !yesterdaySelected) {\n inRange = false\n }\n\n if (inRange && !leftCrop && !rightCrop) {\n selected = false\n }\n }\n } else if (mode === 'single') {\n selected = areDatesOnSameDay(day, date)\n }\n\n const isWithinOptionalValidRange = isWithinValidRange(day)\n\n if (inRange && !disabled) {\n disabled = false\n }\n\n if (!isWithinOptionalValidRange) {\n disabled = true\n }\n\n return {\n beforeWeekDay,\n afterWeekDay,\n year,\n month,\n dayOfMonth,\n dayIndex,\n mode,\n selected,\n inRange,\n leftCrop,\n rightCrop,\n isToday,\n disabled,\n }\n }),\n }\n })\n }, [\n year,\n month,\n index,\n isDisabled,\n mode,\n isWithinValidRange,\n startDate,\n endDate,\n dates,\n date,\n ])\n\n return (\n <View style={[styles.month, { height: getMonthHeight(scrollMode, index) }]}>\n <View\n style={[\n styles.monthHeader,\n isHorizontal\n ? {\n marginTop: monthHeaderSingleMarginTop,\n marginBottom: monthHeaderSingleMarginBottom,\n }\n : null,\n ]}\n >\n <TouchableRipple\n disabled={!isHorizontal}\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n accessibilityRole=\"button\"\n accessibilityLabel={`${monthName} ${year}`}\n style={[\n styles.yearButton,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <View\n style={[\n styles.yearButtonInner,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <Text\n style={[styles.monthLabel, theme.fonts.medium]}\n selectable={false}\n >\n {monthName} {year}\n </Text>\n <View style={isHorizontal ? styles.opacity1 : styles.opacity0}>\n <IconButton\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n icon={selectingYear ? 'chevron-up' : 'chevron-down'}\n />\n </View>\n </View>\n </TouchableRipple>\n </View>\n\n {grid.map(({ weekIndex, generatedDays }) => (\n <View style={styles.week} key={weekIndex}>\n {generatedDays\n .filter((gd) => showWeekDay(gd.dayIndex, disableWeekDays))\n .map((gd) =>\n gd.beforeWeekDay || gd.afterWeekDay ? (\n <EmptyDay key={gd.dayIndex} />\n ) : (\n <Day\n key={gd.dayIndex}\n theme={theme}\n day={gd.dayOfMonth}\n month={gd.month}\n year={gd.year}\n selected={gd.selected}\n inRange={gd.inRange}\n leftCrop={gd.leftCrop}\n rightCrop={gd.rightCrop}\n onPressDate={onPressDate}\n isToday={gd.isToday}\n selectColor={selectColor}\n primaryColor={primaryColor}\n disabled={gd.disabled}\n textColorOnPrimary={textColorOnPrimary}\n />\n )\n )}\n </View>\n ))}\n </View>\n )\n}\n\nexport const weekMargin = 6\nexport const weekSize = daySize + weekMargin\nexport const montHeaderHeight = 56\nexport const monthHeaderSingleMarginTop = 4\nexport const monthHeaderSingleMarginBottom = 8 + 44 + 12\nexport const monthHeaderSingleHeight =\n monthHeaderSingleMarginTop + monthHeaderSingleMarginBottom\n\nconst styles = StyleSheet.create({\n week: {\n flexDirection: 'row',\n marginBottom: weekMargin,\n height: daySize,\n },\n\n month: {},\n\n monthHeader: {\n height: montHeaderHeight,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n monthLabel: { fontSize: 14, opacity: 0.7 },\n yearButton: { alignSelf: 'flex-start', marginLeft: 6 },\n yearButtonInner: {\n paddingLeft: 16,\n flexDirection: 'row',\n alignItems: 'center',\n },\n opacity0: { opacity: 0 },\n opacity1: { opacity: 1 },\n})\n\nconst monthGrid = (index: number) => {\n return Array(getGridCount(index))\n .fill(null)\n .map((_, weekGrid) => {\n const days = Array(7).fill(null)\n return { weekGrid, days }\n })\n}\n\nfunction getIndexCount(index: number): number {\n if (index > startAtIndex) {\n return index - startAtIndex\n }\n\n return -(startAtIndex - index)\n}\n\nfunction weeksOffset(index: number): number {\n if (index === startAtIndex) {\n return 0\n }\n let off = 0\n if (index > startAtIndex) {\n for (let i = 0; i < index - startAtIndex; i++) {\n const cIndex = startAtIndex + i\n off += gridCounts[cIndex] || getGridCount(cIndex)\n }\n } else {\n for (let i = 0; i < startAtIndex - index; i++) {\n const cIndex = startAtIndex - i - 1\n off -= gridCounts[cIndex] || getGridCount(cIndex)\n }\n }\n return off\n}\n\nexport function getIndexFromHorizontalOffset(\n offset: number,\n width: number\n): number {\n return startAtIndex + Math.floor(offset / width)\n}\n\nexport function getIndexFromVerticalOffset(offset: number): number {\n let estimatedIndex = startAtIndex + Math.ceil(offset / estimatedMonthHeight)\n\n const realOffset = getVerticalMonthsOffset(estimatedIndex)\n const difference = (realOffset - beginOffset - offset) / estimatedMonthHeight\n if (difference >= 1 || difference <= -1) {\n estimatedIndex -= Math.floor(difference)\n }\n return estimatedIndex\n}\n\nexport function getHorizontalMonthOffset(index: number, width: number) {\n if (index < 0) {\n return 0\n }\n return width * index\n}\n\nexport function getVerticalMonthsOffset(index: number) {\n const count = getIndexCount(index)\n const ob = weeksOffset(index)\n const monthsHeight = weekSize * ob\n const c = monthsHeight + count * (dayNamesHeight + montHeaderHeight)\n\n return (c || 0) + beginOffset\n}\n\nexport function getMonthHeight(\n scrollMode: 'horizontal' | 'vertical',\n index: number\n): number {\n const calendarHeight = getCalendarHeaderHeight(scrollMode)\n const gc = getGridCount(index)\n\n const currentMonthHeight = weekSize * gc\n const extraHeight =\n scrollMode === 'horizontal' ? monthHeaderSingleHeight : montHeaderHeight\n const c = calendarHeight + currentMonthHeight + extraHeight\n return c || 0\n}\n\nexport default React.memo(Month)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["Swiper.tsx"],"names":["Swiper","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","isHorizontal","index","setIndex","React","useState","onPrev","useCallback","prev","onNext","renderProps","indexRef","newIndex","currentIndexRef","styles","flex1","width","height","estimatedMonthHeight","visibleArray","i","VerticalScroller","estimatedHeight","idx","useRef","visibleIndexes","setVisibleIndexes","parentRef","useIsomorphicLayoutEffect","element","current","top","montHeaderHeight","scrollTo","setVisibleIndexesThrottled","useDebouncedCallback","onScroll","e","currentTarget","scrollTop","offset","beginOffset","overflow","totalMonths","position","map","vi","willChange","transform","left","right","empty","StyleSheet","create","flex","callback","mounted","latest","timerId","useEffect","window","cancelAnimationFrame","args","requestAnimationFrame","useLayoutEffect","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\n\nimport {\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport { useLatest } from '../utils'\nimport { RenderProps, SwiperProps, useYearChange } from './SwiperUtils'\nimport AutoSizer from './AutoSizer'\n\nfunction Swiper({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n}: SwiperProps) {\n const isHorizontal = scrollMode === 'horizontal'\n const [index, setIndex] = React.useState(initialIndex)\n\n const onPrev = React.useCallback(() => {\n setIndex((prev) => prev - 1)\n }, [setIndex])\n\n const onNext = React.useCallback(() => {\n setIndex((prev) => prev + 1)\n }, [setIndex])\n\n const renderProps = {\n index,\n onPrev,\n onNext,\n }\n const indexRef = useLatest(index)\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n setIndex(newIndex)\n }\n },\n {\n selectedYear,\n currentIndexRef: indexRef,\n }\n )\n\n return (\n <>\n {renderHeader && renderHeader(renderProps)}\n {isHorizontal ? (\n <View style={styles.flex1}>\n {renderItem({ index, onPrev, onNext })}\n </View>\n ) : (\n <AutoSizer>\n {({ width, height }) => (\n <VerticalScroller\n width={width}\n height={height}\n initialIndex={initialIndex}\n estimatedHeight={estimatedMonthHeight}\n renderItem={renderItem}\n />\n )}\n </AutoSizer>\n )}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nconst visibleArray = (i: number) => [i - 2, i - 1, i, i + 1, i + 2]\n\nfunction VerticalScroller({\n width,\n height,\n initialIndex,\n estimatedHeight,\n renderItem,\n}: {\n renderItem: (renderProps: RenderProps) => any\n width: number\n height: number\n initialIndex: number\n estimatedHeight: number\n}) {\n const idx = React.useRef<number>(initialIndex)\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n visibleArray(initialIndex)\n )\n // eslint-disable-next-line no-undef\n const parentRef = React.useRef<HTMLDivElement | null>(null)\n\n useIsomorphicLayoutEffect(() => {\n const element = parentRef.current\n if (!element) {\n return\n }\n const top = getVerticalMonthsOffset(idx.current) - montHeaderHeight\n\n element.scrollTo({\n top,\n })\n }, [parentRef, idx])\n\n const setVisibleIndexesThrottled = useDebouncedCallback(setVisibleIndexes)\n\n const onScroll = React.useCallback(\n (e: React.UIEvent) => {\n const top = e.currentTarget.scrollTop\n if (top === 0) {\n return\n }\n\n const offset = top - beginOffset\n const index = getIndexFromVerticalOffset(offset)\n\n if (idx.current !== index) {\n idx.current = index\n setVisibleIndexesThrottled(visibleArray(index))\n }\n },\n [setVisibleIndexesThrottled]\n )\n\n return (\n <div\n ref={parentRef}\n style={{\n height,\n width,\n overflow: 'auto',\n }}\n onScroll={onScroll}\n >\n <div\n style={{\n height: estimatedHeight * totalMonths,\n position: 'relative',\n }}\n >\n {[0, 1, 2, 3, 4].map((vi) => (\n <div\n key={vi}\n style={{\n willChange: 'transform',\n transform: `translateY(${getVerticalMonthsOffset(\n visibleIndexes[vi]\n )}px)`,\n left: 0,\n right: 0,\n position: 'absolute',\n height: getMonthHeight('vertical', visibleIndexes[vi]),\n // transform: `translateY(${getMonthsOffset('vertical', vi)}px)`,\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: empty,\n onNext: empty,\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst empty = () => null\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n})\n\nexport function useDebouncedCallback(callback: any): any {\n const mounted = React.useRef<boolean>(true)\n const latest = useLatest(callback)\n const timerId = React.useRef<any>(null)\n\n React.useEffect(() => {\n return () => {\n mounted.current = false\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n }\n }, [mounted, timerId])\n\n return React.useCallback(\n (args: any) => {\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n timerId.current = window.requestAnimationFrame(function () {\n if (mounted.current) {\n latest.current(args)\n }\n })\n },\n [mounted, timerId, latest]\n )\n}\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport default React.memo(Swiper)\n"]}
1
+ {"version":3,"names":["Swiper","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","isHorizontal","index","setIndex","React","useState","onPrev","useCallback","prev","onNext","renderProps","indexRef","useLatest","useYearChange","newIndex","currentIndexRef","styles","flex1","width","height","estimatedMonthHeight","visibleArray","i","VerticalScroller","estimatedHeight","idx","useRef","visibleIndexes","setVisibleIndexes","parentRef","useIsomorphicLayoutEffect","element","current","top","getVerticalMonthsOffset","montHeaderHeight","scrollTo","setVisibleIndexesThrottled","useDebouncedCallback","onScroll","e","currentTarget","scrollTop","offset","beginOffset","getIndexFromVerticalOffset","overflow","totalMonths","position","map","vi","willChange","transform","left","right","getMonthHeight","empty","StyleSheet","create","flex","callback","mounted","latest","timerId","useEffect","window","cancelAnimationFrame","args","requestAnimationFrame","useLayoutEffect","memo"],"sources":["Swiper.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\n\nimport {\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport { useLatest } from '../utils'\nimport { RenderProps, SwiperProps, useYearChange } from './SwiperUtils'\nimport AutoSizer from './AutoSizer'\n\nfunction Swiper({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n}: SwiperProps) {\n const isHorizontal = scrollMode === 'horizontal'\n const [index, setIndex] = React.useState(initialIndex)\n\n const onPrev = React.useCallback(() => {\n setIndex((prev) => prev - 1)\n }, [setIndex])\n\n const onNext = React.useCallback(() => {\n setIndex((prev) => prev + 1)\n }, [setIndex])\n\n const renderProps = {\n index,\n onPrev,\n onNext,\n }\n const indexRef = useLatest(index)\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n setIndex(newIndex)\n }\n },\n {\n selectedYear,\n currentIndexRef: indexRef,\n }\n )\n\n return (\n <>\n {renderHeader && renderHeader(renderProps)}\n {isHorizontal ? (\n <View style={styles.flex1}>\n {renderItem({ index, onPrev, onNext })}\n </View>\n ) : (\n <AutoSizer>\n {({ width, height }) => (\n <VerticalScroller\n width={width}\n height={height}\n initialIndex={initialIndex}\n estimatedHeight={estimatedMonthHeight}\n renderItem={renderItem}\n />\n )}\n </AutoSizer>\n )}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nconst visibleArray = (i: number) => [i - 2, i - 1, i, i + 1, i + 2]\n\nfunction VerticalScroller({\n width,\n height,\n initialIndex,\n estimatedHeight,\n renderItem,\n}: {\n renderItem: (renderProps: RenderProps) => any\n width: number\n height: number\n initialIndex: number\n estimatedHeight: number\n}) {\n const idx = React.useRef<number>(initialIndex)\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n visibleArray(initialIndex)\n )\n // eslint-disable-next-line no-undef\n const parentRef = React.useRef<HTMLDivElement | null>(null)\n\n useIsomorphicLayoutEffect(() => {\n const element = parentRef.current\n if (!element) {\n return\n }\n const top = getVerticalMonthsOffset(idx.current) - montHeaderHeight\n\n element.scrollTo({\n top,\n })\n }, [parentRef, idx])\n\n const setVisibleIndexesThrottled = useDebouncedCallback(setVisibleIndexes)\n\n const onScroll = React.useCallback(\n (e: React.UIEvent) => {\n const top = e.currentTarget.scrollTop\n if (top === 0) {\n return\n }\n\n const offset = top - beginOffset\n const index = getIndexFromVerticalOffset(offset)\n\n if (idx.current !== index) {\n idx.current = index\n setVisibleIndexesThrottled(visibleArray(index))\n }\n },\n [setVisibleIndexesThrottled]\n )\n\n return (\n <div\n ref={parentRef}\n style={{\n height,\n width,\n overflow: 'auto',\n }}\n onScroll={onScroll}\n >\n <div\n style={{\n height: estimatedHeight * totalMonths,\n position: 'relative',\n }}\n >\n {[0, 1, 2, 3, 4].map((vi) => (\n <div\n key={vi}\n style={{\n willChange: 'transform',\n transform: `translateY(${getVerticalMonthsOffset(\n visibleIndexes[vi]\n )}px)`,\n left: 0,\n right: 0,\n position: 'absolute',\n height: getMonthHeight('vertical', visibleIndexes[vi]),\n // transform: `translateY(${getMonthsOffset('vertical', vi)}px)`,\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: empty,\n onNext: empty,\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst empty = () => null\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n})\n\nexport function useDebouncedCallback(callback: any): any {\n const mounted = React.useRef<boolean>(true)\n const latest = useLatest(callback)\n const timerId = React.useRef<any>(null)\n\n React.useEffect(() => {\n return () => {\n mounted.current = false\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n }\n }, [mounted, timerId])\n\n return React.useCallback(\n (args: any) => {\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n timerId.current = window.requestAnimationFrame(function () {\n if (mounted.current) {\n latest.current(args)\n }\n })\n },\n [mounted, timerId, latest]\n )\n}\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport default React.memo(Swiper)\n"],"mappings":"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"}
@@ -23,7 +23,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
23
 
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
 
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
26
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
27
 
28
28
  const styles = _reactNative.StyleSheet.create({
29
29
  viewPager: {
@@ -145,6 +145,7 @@ function SwiperInner(_ref3) {
145
145
  currentIndexRef: idx
146
146
  });
147
147
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_reactNative.ScrollView, {
148
+ scrollsToTop: false,
148
149
  ref: parentRef,
149
150
  horizontal: isHorizontal,
150
151
  pagingEnabled: isHorizontal,
@@ -1 +1 @@
1
- {"version":3,"sources":["Swiper.native.tsx"],"names":["styles","StyleSheet","create","viewPager","flex","inner","position","getVisibleArray","i","isHorizontal","height","Swiper","props","width","SwiperInner","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","idx","React","useRef","visibleIndexes","setVisibleIndexes","useState","parentRef","scrollTo","useCallback","index","animated","current","offset","montHeaderHeight","y","x","onPrev","onNext","scrollToInitial","onMomentumScrollEnd","e","contentOffset","nativeEvent","viewSize","layoutMeasurement","newIndex","Math","floor","beginOffset","renderProps","currentIndexRef","estimatedMonthHeight","totalMonths","Array","length","fill","undefined","map","_","vi","top","left","right","bottom","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n ScrollView,\n StyleSheet,\n View,\n} from 'react-native'\nimport {\n getHorizontalMonthOffset,\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { SwiperProps, useYearChange } from './SwiperUtils'\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport AutoSizer from './AutoSizer'\n\nconst styles = StyleSheet.create({\n viewPager: {\n flex: 1,\n },\n inner: {\n position: 'relative',\n },\n})\n\nfunction getVisibleArray(\n i: number,\n { isHorizontal, height }: { isHorizontal: boolean; height: number }\n) {\n if (isHorizontal || height < 700) {\n return [i - 1, i, i + 1]\n }\n return [i - 2, i - 1, i, i + 1, i + 2]\n}\n\nfunction Swiper(props: SwiperProps) {\n return (\n <AutoSizer>\n {({ width, height }) => (\n <SwiperInner {...props} width={width} height={height} />\n )}\n </AutoSizer>\n )\n}\n\nfunction SwiperInner({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n width,\n height,\n}: SwiperProps & { width: number; height: number }) {\n const idx = React.useRef<number>(initialIndex)\n const isHorizontal = scrollMode === 'horizontal'\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n getVisibleArray(initialIndex, { isHorizontal, height })\n )\n\n const parentRef = React.useRef<ScrollView | null>(null)\n\n const scrollTo = React.useCallback(\n (index: number, animated: boolean) => {\n idx.current = index\n setVisibleIndexes(getVisibleArray(index, { isHorizontal, height }))\n\n if (!parentRef.current) {\n return\n }\n const offset = isHorizontal\n ? getHorizontalMonthOffset(index, width)\n : getVerticalMonthsOffset(index) - montHeaderHeight\n\n if (isHorizontal) {\n parentRef.current.scrollTo({\n y: 0,\n x: offset,\n animated,\n })\n } else {\n parentRef.current.scrollTo({\n y: offset,\n x: 0,\n animated,\n })\n }\n },\n [parentRef, isHorizontal, width, height]\n )\n\n const onPrev = React.useCallback(() => {\n scrollTo(idx.current - 1, true)\n }, [scrollTo, idx])\n\n const onNext = React.useCallback(() => {\n scrollTo(idx.current + 1, true)\n }, [scrollTo, idx])\n\n const scrollToInitial = React.useCallback(() => {\n scrollTo(idx.current, false)\n }, [scrollTo])\n\n const onMomentumScrollEnd = React.useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffset = e.nativeEvent.contentOffset\n const viewSize = e.nativeEvent.layoutMeasurement\n const newIndex = isHorizontal\n ? Math.floor(contentOffset.x / viewSize.width)\n : getIndexFromVerticalOffset(contentOffset.y - beginOffset)\n\n if (newIndex === 0) {\n return\n }\n\n if (idx.current !== newIndex) {\n idx.current = newIndex\n setVisibleIndexes(getVisibleArray(newIndex, { isHorizontal, height }))\n }\n },\n [idx, height, isHorizontal]\n )\n\n const renderProps = {\n index: 0,\n onPrev,\n onNext,\n }\n\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n scrollTo(newIndex, false)\n }\n },\n {\n selectedYear,\n currentIndexRef: idx,\n }\n )\n\n return (\n <>\n <ScrollView\n ref={parentRef}\n horizontal={isHorizontal}\n pagingEnabled={isHorizontal}\n style={styles.viewPager}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onMomentumScrollEnd}\n onLayout={scrollToInitial}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n decelerationRate=\"fast\"\n scrollEventThrottle={10}\n >\n <View\n style={[\n styles.inner,\n {\n height: isHorizontal\n ? height\n : estimatedMonthHeight * totalMonths,\n width: isHorizontal ? width * totalMonths : width,\n },\n ]}\n >\n {visibleIndexes\n ? new Array(visibleIndexes.length).fill(undefined).map((_, vi) => (\n <View\n key={vi}\n style={{\n top: isHorizontal\n ? 0\n : getVerticalMonthsOffset(visibleIndexes[vi]),\n left: isHorizontal\n ? getHorizontalMonthOffset(visibleIndexes[vi], width)\n : 0,\n right: isHorizontal ? undefined : 0,\n bottom: isHorizontal ? 0 : undefined,\n position: 'absolute',\n width: isHorizontal ? width : undefined,\n height: isHorizontal\n ? undefined\n : getMonthHeight(scrollMode, visibleIndexes[vi]),\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: onPrev,\n onNext: onNext,\n })}\n </View>\n ))\n : null}\n </View>\n </ScrollView>\n {renderHeader && renderHeader(renderProps)}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nexport default React.memo(Swiper)\n"]}
1
+ {"version":3,"names":["styles","StyleSheet","create","viewPager","flex","inner","position","getVisibleArray","i","isHorizontal","height","Swiper","props","width","SwiperInner","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","idx","React","useRef","visibleIndexes","setVisibleIndexes","useState","parentRef","scrollTo","useCallback","index","animated","current","offset","getHorizontalMonthOffset","getVerticalMonthsOffset","montHeaderHeight","y","x","onPrev","onNext","scrollToInitial","onMomentumScrollEnd","e","contentOffset","nativeEvent","viewSize","layoutMeasurement","newIndex","Math","floor","getIndexFromVerticalOffset","beginOffset","renderProps","useYearChange","currentIndexRef","estimatedMonthHeight","totalMonths","Array","length","fill","undefined","map","_","vi","top","left","right","bottom","getMonthHeight","memo"],"sources":["Swiper.native.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n ScrollView,\n StyleSheet,\n View,\n} from 'react-native'\nimport {\n getHorizontalMonthOffset,\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { SwiperProps, useYearChange } from './SwiperUtils'\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport AutoSizer from './AutoSizer'\n\nconst styles = StyleSheet.create({\n viewPager: {\n flex: 1,\n },\n inner: {\n position: 'relative',\n },\n})\n\nfunction getVisibleArray(\n i: number,\n { isHorizontal, height }: { isHorizontal: boolean; height: number }\n) {\n if (isHorizontal || height < 700) {\n return [i - 1, i, i + 1]\n }\n return [i - 2, i - 1, i, i + 1, i + 2]\n}\n\nfunction Swiper(props: SwiperProps) {\n return (\n <AutoSizer>\n {({ width, height }) => (\n <SwiperInner {...props} width={width} height={height} />\n )}\n </AutoSizer>\n )\n}\n\nfunction SwiperInner({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n width,\n height,\n}: SwiperProps & { width: number; height: number }) {\n const idx = React.useRef<number>(initialIndex)\n const isHorizontal = scrollMode === 'horizontal'\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n getVisibleArray(initialIndex, { isHorizontal, height })\n )\n\n const parentRef = React.useRef<ScrollView | null>(null)\n\n const scrollTo = React.useCallback(\n (index: number, animated: boolean) => {\n idx.current = index\n setVisibleIndexes(getVisibleArray(index, { isHorizontal, height }))\n\n if (!parentRef.current) {\n return\n }\n const offset = isHorizontal\n ? getHorizontalMonthOffset(index, width)\n : getVerticalMonthsOffset(index) - montHeaderHeight\n\n if (isHorizontal) {\n parentRef.current.scrollTo({\n y: 0,\n x: offset,\n animated,\n })\n } else {\n parentRef.current.scrollTo({\n y: offset,\n x: 0,\n animated,\n })\n }\n },\n [parentRef, isHorizontal, width, height]\n )\n\n const onPrev = React.useCallback(() => {\n scrollTo(idx.current - 1, true)\n }, [scrollTo, idx])\n\n const onNext = React.useCallback(() => {\n scrollTo(idx.current + 1, true)\n }, [scrollTo, idx])\n\n const scrollToInitial = React.useCallback(() => {\n scrollTo(idx.current, false)\n }, [scrollTo])\n\n const onMomentumScrollEnd = React.useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffset = e.nativeEvent.contentOffset\n const viewSize = e.nativeEvent.layoutMeasurement\n const newIndex = isHorizontal\n ? Math.floor(contentOffset.x / viewSize.width)\n : getIndexFromVerticalOffset(contentOffset.y - beginOffset)\n\n if (newIndex === 0) {\n return\n }\n\n if (idx.current !== newIndex) {\n idx.current = newIndex\n setVisibleIndexes(getVisibleArray(newIndex, { isHorizontal, height }))\n }\n },\n [idx, height, isHorizontal]\n )\n\n const renderProps = {\n index: 0,\n onPrev,\n onNext,\n }\n\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n scrollTo(newIndex, false)\n }\n },\n {\n selectedYear,\n currentIndexRef: idx,\n }\n )\n\n return (\n <>\n <ScrollView\n scrollsToTop={false}\n ref={parentRef}\n horizontal={isHorizontal}\n pagingEnabled={isHorizontal}\n style={styles.viewPager}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onMomentumScrollEnd}\n onLayout={scrollToInitial}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n decelerationRate=\"fast\"\n scrollEventThrottle={10}\n >\n <View\n style={[\n styles.inner,\n {\n height: isHorizontal\n ? height\n : estimatedMonthHeight * totalMonths,\n width: isHorizontal ? width * totalMonths : width,\n },\n ]}\n >\n {visibleIndexes\n ? new Array(visibleIndexes.length).fill(undefined).map((_, vi) => (\n <View\n key={vi}\n style={{\n top: isHorizontal\n ? 0\n : getVerticalMonthsOffset(visibleIndexes[vi]),\n left: isHorizontal\n ? getHorizontalMonthOffset(visibleIndexes[vi], width)\n : 0,\n right: isHorizontal ? undefined : 0,\n bottom: isHorizontal ? 0 : undefined,\n position: 'absolute',\n width: isHorizontal ? width : undefined,\n height: isHorizontal\n ? undefined\n : getMonthHeight(scrollMode, visibleIndexes[vi]),\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: onPrev,\n onNext: onNext,\n })}\n </View>\n ))\n : null}\n </View>\n </ScrollView>\n {renderHeader && renderHeader(renderProps)}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nexport default React.memo(Swiper)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["SwiperUtils.ts"],"names":["useYearChange","onChange","selectedYear","currentIndexRef","onChangeRef","React","useEffect","currentIndex","current","currentDate","Date","setFullYear","today","months","newIndex","startAtIndex"],"mappings":";;;;;;;AACA;;AACA;;AACA;;;;;;AAsBO,SAASA,aAAT,CACLC,QADK,QASL;AAAA,MAPA;AACEC,IAAAA,YADF;AAEEC,IAAAA;AAFF,GAOA;AACA,QAAMC,WAAW,GAAG,sBAAUH,QAAV,CAApB;AACAI,EAAAA,KAAK,CAACC,SAAN,CAAgB,MAAM;AACpB,QAAIJ,YAAJ,EAAkB;AAChB,YAAMK,YAAY,GAAGJ,eAAe,CAACK,OAAhB,IAA2B,CAAhD;AACA,YAAMC,WAAW,GAAG,0BAAU,IAAIC,IAAJ,EAAV,EAAsB,6BAAaH,YAAb,CAAtB,CAApB;AACAE,MAAAA,WAAW,CAACE,WAAZ,CAAwBT,YAAxB;AAEA,YAAMU,KAAK,GAAG,IAAIF,IAAJ,EAAd;AACA,YAAMG,MAAM,GAAG,mCAAmBD,KAAnB,EAA0BH,WAA1B,CAAf;AAEA,YAAMK,QAAQ,GAAGC,0BAAeF,MAAhC;;AACA,UAAIN,YAAY,KAAKO,QAArB,EAA+B;AAC7BV,QAAAA,WAAW,CAACI,OAAZ,CAAoBM,QAApB;AACD;AACF;AACF,GAdD,EAcG,CAACX,eAAD,EAAkBC,WAAlB,EAA+BF,YAA/B,CAdH;AAeD","sourcesContent":["import type { MutableRefObject } from 'react'\nimport { useLatest } from '../utils'\nimport * as React from 'react'\nimport {\n addMonths,\n differenceInMonths,\n getRealIndex,\n startAtIndex,\n} from './dateUtils'\n\nexport type RenderProps = {\n index: number\n onNext: () => any\n onPrev: () => any\n}\n\nexport type SwiperProps = {\n initialIndex: number\n scrollMode: 'horizontal' | 'vertical'\n renderItem: (renderProps: RenderProps) => any\n renderHeader?: (renderProps: RenderProps) => any\n renderFooter?: (renderProps: RenderProps) => any\n selectedYear: number | undefined\n}\n\nexport function useYearChange(\n onChange: (index: number | undefined) => void,\n {\n selectedYear,\n currentIndexRef,\n }: {\n currentIndexRef: MutableRefObject<number>\n selectedYear: number | undefined\n }\n) {\n const onChangeRef = useLatest(onChange)\n React.useEffect(() => {\n if (selectedYear) {\n const currentIndex = currentIndexRef.current || 0\n const currentDate = addMonths(new Date(), getRealIndex(currentIndex))\n currentDate.setFullYear(selectedYear)\n\n const today = new Date()\n const months = differenceInMonths(today, currentDate)\n\n const newIndex = startAtIndex + months\n if (currentIndex !== newIndex) {\n onChangeRef.current(newIndex)\n }\n }\n }, [currentIndexRef, onChangeRef, selectedYear])\n}\n"]}
1
+ {"version":3,"names":["useYearChange","onChange","selectedYear","currentIndexRef","onChangeRef","useLatest","React","useEffect","currentIndex","current","currentDate","addMonths","Date","getRealIndex","setFullYear","today","months","differenceInMonths","newIndex","startAtIndex"],"sources":["SwiperUtils.ts"],"sourcesContent":["import type { MutableRefObject } from 'react'\nimport { useLatest } from '../utils'\nimport * as React from 'react'\nimport {\n addMonths,\n differenceInMonths,\n getRealIndex,\n startAtIndex,\n} from './dateUtils'\n\nexport type RenderProps = {\n index: number\n onNext: () => any\n onPrev: () => any\n}\n\nexport type SwiperProps = {\n initialIndex: number\n scrollMode: 'horizontal' | 'vertical'\n renderItem: (renderProps: RenderProps) => any\n renderHeader?: (renderProps: RenderProps) => any\n renderFooter?: (renderProps: RenderProps) => any\n selectedYear: number | undefined\n}\n\nexport function useYearChange(\n onChange: (index: number | undefined) => void,\n {\n selectedYear,\n currentIndexRef,\n }: {\n currentIndexRef: MutableRefObject<number>\n selectedYear: number | undefined\n }\n) {\n const onChangeRef = useLatest(onChange)\n React.useEffect(() => {\n if (selectedYear) {\n const currentIndex = currentIndexRef.current || 0\n const currentDate = addMonths(new Date(), getRealIndex(currentIndex))\n currentDate.setFullYear(selectedYear)\n\n const today = new Date()\n const months = differenceInMonths(today, currentDate)\n\n const newIndex = startAtIndex + months\n if (currentIndex !== newIndex) {\n onChangeRef.current(newIndex)\n }\n }\n }, [currentIndexRef, onChangeRef, selectedYear])\n}\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;;;;;AAsBO,SAASA,aAAT,CACLC,QADK,QASL;EAAA,IAPA;IACEC,YADF;IAEEC;EAFF,CAOA;EACA,MAAMC,WAAW,GAAG,IAAAC,gBAAA,EAAUJ,QAAV,CAApB;EACAK,KAAK,CAACC,SAAN,CAAgB,MAAM;IACpB,IAAIL,YAAJ,EAAkB;MAChB,MAAMM,YAAY,GAAGL,eAAe,CAACM,OAAhB,IAA2B,CAAhD;MACA,MAAMC,WAAW,GAAG,IAAAC,oBAAA,EAAU,IAAIC,IAAJ,EAAV,EAAsB,IAAAC,uBAAA,EAAaL,YAAb,CAAtB,CAApB;MACAE,WAAW,CAACI,WAAZ,CAAwBZ,YAAxB;MAEA,MAAMa,KAAK,GAAG,IAAIH,IAAJ,EAAd;MACA,MAAMI,MAAM,GAAG,IAAAC,6BAAA,EAAmBF,KAAnB,EAA0BL,WAA1B,CAAf;MAEA,MAAMQ,QAAQ,GAAGC,uBAAA,GAAeH,MAAhC;;MACA,IAAIR,YAAY,KAAKU,QAArB,EAA+B;QAC7Bd,WAAW,CAACK,OAAZ,CAAoBS,QAApB;MACD;IACF;EACF,CAdD,EAcG,CAACf,eAAD,EAAkBC,WAAlB,EAA+BF,YAA/B,CAdH;AAeD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["Week.tsx"],"names":["Week"],"mappings":";;;;;;;AAAe,SAASA,IAAT,GAAgB;AAC7B,SAAO,IAAP;AACD","sourcesContent":["export default function Week() {\n return null\n}\n"]}
1
+ {"version":3,"names":["Week"],"sources":["Week.tsx"],"sourcesContent":["export default function Week() {\n return null\n}\n"],"mappings":";;;;;;;AAAe,SAASA,IAAT,GAAgB;EAC7B,OAAO,IAAP;AACD"}
@@ -18,18 +18,18 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
18
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
19
 
20
20
  const ITEM_HEIGHT = 62;
21
- const startYear = 1800;
22
- const endYear = 2200;
23
- const years = (0, _utils.range)(startYear, endYear);
24
21
 
25
22
  function YearPicker(_ref) {
26
23
  let {
27
24
  selectedYear,
28
25
  selectingYear,
29
- onPressYear
26
+ onPressYear,
27
+ startYear,
28
+ endYear
30
29
  } = _ref;
31
30
  const theme = (0, _reactNativePaper.useTheme)();
32
- const flatList = React.useRef(null); // scroll to selected year
31
+ const flatList = React.useRef(null);
32
+ const years = (0, _utils.range)(isNaN(startYear) ? 1800 : startYear, isNaN(endYear) ? 2200 : endYear); // scroll to selected year
33
33
 
34
34
  React.useEffect(() => {
35
35
  if (flatList.current && selectedYear) {
@@ -1 +1 @@
1
- {"version":3,"sources":["YearPicker.tsx"],"names":["ITEM_HEIGHT","startYear","endYear","years","YearPicker","selectedYear","selectingYear","onPressYear","theme","flatList","React","useRef","useEffect","current","indexToGo","scrollToOffset","offset","animated","StyleSheet","absoluteFill","styles","root","backgroundColor","colors","surface","opacity1","opacity0","list","item","YearPure","year","selected","String","yearButton","yearInner","primary","yearLabel","Year","memo","create","flex","top","zIndex","marginLeft","marginRight","height","justifyContent","color","borderRadius","overflow","alignItems","fontSize","opacity"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { Text, TouchableRipple, useTheme } from 'react-native-paper'\nimport { range } from '../utils'\n\nconst ITEM_HEIGHT = 62\n\nconst startYear = 1800\nconst endYear = 2200\nconst years = range(startYear, endYear)\n\nexport default function YearPicker({\n selectedYear,\n selectingYear,\n onPressYear,\n}: {\n selectedYear: number | undefined\n selectingYear: boolean\n onPressYear: (year: number) => any\n}) {\n const theme = useTheme()\n const flatList = React.useRef<FlatList<number> | null>(null)\n\n // scroll to selected year\n React.useEffect(() => {\n if (flatList.current && selectedYear) {\n const indexToGo = selectedYear - startYear\n flatList.current.scrollToOffset({\n offset: (indexToGo / 3) * ITEM_HEIGHT - ITEM_HEIGHT,\n animated: false,\n })\n }\n }, [flatList, selectedYear])\n\n return (\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.root,\n { backgroundColor: theme.colors.surface },\n selectingYear ? styles.opacity1 : styles.opacity0,\n ]}\n pointerEvents={selectingYear ? 'auto' : 'none'}\n >\n <FlatList<number>\n ref={flatList}\n style={styles.list}\n data={years}\n renderItem={({ item }) => (\n <Year\n year={item}\n selected={selectedYear === item}\n onPressYear={onPressYear}\n />\n )}\n keyExtractor={(item) => `${item}`}\n numColumns={3}\n />\n </View>\n )\n}\n\nfunction YearPure({\n year,\n selected,\n onPressYear,\n}: {\n year: number\n selected: boolean\n onPressYear: (newYear: number) => any\n}) {\n const theme = useTheme()\n return (\n <View style={styles.year}>\n <TouchableRipple\n onPress={() => onPressYear(year)}\n accessibilityRole=\"button\"\n accessibilityLabel={String(year)}\n style={styles.yearButton}\n >\n <View\n style={[\n styles.yearInner,\n selected ? { backgroundColor: theme.colors.primary } : null,\n ]}\n >\n <Text\n style={[styles.yearLabel, selected ? styles.selectedYear : null]}\n selectable={false}\n >\n {year}\n </Text>\n </View>\n </TouchableRipple>\n </View>\n )\n}\nconst Year = React.memo(YearPure)\n\nconst styles = StyleSheet.create({\n root: {\n flex: 1,\n top: 56,\n zIndex: 100,\n },\n\n list: {\n flex: 1,\n },\n year: {\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n height: ITEM_HEIGHT,\n justifyContent: 'center',\n },\n selectedYear: { color: '#fff' },\n yearButton: {\n borderRadius: 46 / 2,\n overflow: 'hidden',\n },\n yearInner: {\n borderRadius: 46 / 2,\n height: 46,\n alignItems: 'center',\n justifyContent: 'center',\n },\n yearLabel: {\n fontSize: 16,\n },\n opacity0: {\n opacity: 0,\n },\n opacity1: {\n opacity: 1,\n },\n})\n"]}
1
+ {"version":3,"names":["ITEM_HEIGHT","YearPicker","selectedYear","selectingYear","onPressYear","startYear","endYear","theme","useTheme","flatList","React","useRef","years","range","isNaN","useEffect","current","indexToGo","scrollToOffset","offset","animated","StyleSheet","absoluteFill","styles","root","backgroundColor","colors","surface","opacity1","opacity0","list","item","YearPure","year","selected","String","yearButton","yearInner","primary","yearLabel","Year","memo","create","flex","top","zIndex","marginLeft","marginRight","height","justifyContent","color","borderRadius","overflow","alignItems","fontSize","opacity"],"sources":["YearPicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { Text, TouchableRipple, useTheme } from 'react-native-paper'\nimport { range } from '../utils'\n\nconst ITEM_HEIGHT = 62\n\nexport default function YearPicker({\n selectedYear,\n selectingYear,\n onPressYear,\n startYear,\n endYear,\n}: {\n selectedYear: number | undefined\n selectingYear: boolean\n onPressYear: (year: number) => any\n startYear: number\n endYear: number\n}) {\n const theme = useTheme()\n const flatList = React.useRef<FlatList<number> | null>(null)\n const years = range(isNaN(startYear) ? 1800 : startYear, isNaN(endYear) ? 2200 : endYear)\n\n // scroll to selected year\n React.useEffect(() => {\n if (flatList.current && selectedYear) {\n const indexToGo = selectedYear - startYear\n flatList.current.scrollToOffset({\n offset: (indexToGo / 3) * ITEM_HEIGHT - ITEM_HEIGHT,\n animated: false,\n })\n }\n }, [flatList, selectedYear])\n\n return (\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.root,\n { backgroundColor: theme.colors.surface },\n selectingYear ? styles.opacity1 : styles.opacity0,\n ]}\n pointerEvents={selectingYear ? 'auto' : 'none'}\n >\n <FlatList<number>\n ref={flatList}\n style={styles.list}\n data={years}\n renderItem={({ item }) => (\n <Year\n year={item}\n selected={selectedYear === item}\n onPressYear={onPressYear}\n />\n )}\n keyExtractor={(item) => `${item}`}\n numColumns={3}\n />\n </View>\n )\n}\n\nfunction YearPure({\n year,\n selected,\n onPressYear,\n}: {\n year: number\n selected: boolean\n onPressYear: (newYear: number) => any\n}) {\n const theme = useTheme()\n return (\n <View style={styles.year}>\n <TouchableRipple\n onPress={() => onPressYear(year)}\n accessibilityRole=\"button\"\n accessibilityLabel={String(year)}\n style={styles.yearButton}\n >\n <View\n style={[\n styles.yearInner,\n selected ? { backgroundColor: theme.colors.primary } : null,\n ]}\n >\n <Text\n style={[styles.yearLabel, selected ? styles.selectedYear : null]}\n selectable={false}\n >\n {year}\n </Text>\n </View>\n </TouchableRipple>\n </View>\n )\n}\nconst Year = React.memo(YearPure)\n\nconst styles = StyleSheet.create({\n root: {\n flex: 1,\n top: 56,\n zIndex: 100,\n },\n\n list: {\n flex: 1,\n },\n year: {\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n height: ITEM_HEIGHT,\n justifyContent: 'center',\n },\n selectedYear: { color: '#fff' },\n yearButton: {\n borderRadius: 46 / 2,\n overflow: 'hidden',\n },\n yearInner: {\n borderRadius: 46 / 2,\n height: 46,\n alignItems: 'center',\n justifyContent: 'center',\n },\n yearLabel: {\n fontSize: 16,\n },\n opacity0: {\n opacity: 0,\n },\n opacity1: {\n opacity: 1,\n },\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["dateUtils.tsx"],"names":["showWeekDay","dayIndex","disableWeekDays","some","di","dateToUnix","d","Math","round","getTime","addMonths","date","count","n","getDate","n2","Date","setDate","setMonth","getMonth","min","getDaysInMonth","year","getFullYear","month","isLeapYear","getFirstDayOfMonth","getDay","useRangeChecker","validRange","validStart","startDate","validEnd","endDate","startUnix","getStartOfDay","undefined","endUnix","getEndOfDay","validDisabledDatesRef","disabledDates","isWithinValidRange","React","useCallback","day","isDateWithinOptionalRange","isDisabled","current","disabledDate","areDatesOnSameDay","a","b","isDateBetween","dateUnix","daySize","estimatedMonthHeight","startAtIndex","totalMonths","beginOffset","gridCounts","Array","getGridCount","index","cHeight","monthDate","getRealIndex","h","getGridCountForDate","daysInMonth","dayOfWeek","ceil","getInitialIndex","today","months","differenceInMonths","useInputFormatter","locale","useMemo","Intl","DateTimeFormat","useInputFormat","formatter","inputDate","format","replace","firstDate","secondDate","diffMonths"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAKO,SAASA,WAAT,CACLC,QADK,EAELC,eAFK,EAGI;AACT,SAAO,EAAEA,eAAe,IAAIA,eAAe,CAACC,IAAhB,CAAsBC,EAAD,IAAQA,EAAE,KAAKH,QAApC,CAArB,CAAP;AACD;;AAEM,SAASI,UAAT,CAAoBC,CAApB,EAAqC;AAC1C,SAAOC,IAAI,CAACC,KAAL,CAAWF,CAAC,CAACG,OAAF,KAAc,IAAzB,CAAP;AACD;;AAEM,SAASC,SAAT,CAAmBC,IAAnB,EAA+BC,KAA/B,EAA8C;AACnD,MAAIC,CAAC,GAAGF,IAAI,CAACG,OAAL,EAAR;AACA,MAAIC,EAAE,GAAG,IAAIC,IAAJ,CAASL,IAAI,CAACF,OAAL,EAAT,CAAT;AACAM,EAAAA,EAAE,CAACE,OAAH,CAAW,CAAX;AACAF,EAAAA,EAAE,CAACG,QAAH,CAAYH,EAAE,CAACI,QAAH,KAAgBP,KAA5B;AACAG,EAAAA,EAAE,CAACE,OAAH,CACEV,IAAI,CAACa,GAAL,CACEP,CADF,EAEEQ,cAAc,CAAC;AAAEC,IAAAA,IAAI,EAAEP,EAAE,CAACQ,WAAH,EAAR;AAA0BC,IAAAA,KAAK,EAAET,EAAE,CAACI,QAAH;AAAjC,GAAD,CAFhB,CADF;AAOA,SAAOJ,EAAP;AACD,C,CAED;AACA;;;AACO,SAASM,cAAT,OAMI;AAAA,MANoB;AAC7BC,IAAAA,IAD6B;AAE7BE,IAAAA;AAF6B,GAMpB;AACT,SAAO,CACL,EADK,EAELC,UAAU,CAAC;AAAEH,IAAAA;AAAF,GAAD,CAAV,GAAuB,EAAvB,GAA4B,EAFvB,EAGL,EAHK,EAIL,EAJK,EAKL,EALK,EAML,EANK,EAOL,EAPK,EAQL,EARK,EASL,EATK,EAUL,EAVK,EAWL,EAXK,EAYL,EAZK,EAaLE,KAbK,CAAP;AAcD;;AAEM,SAASE,kBAAT,QAMI;AAAA,MANwB;AACjCJ,IAAAA,IADiC;AAEjCE,IAAAA;AAFiC,GAMxB;AACT,SAAO,IAAIR,IAAJ,CAASM,IAAT,EAAeE,KAAf,EAAsB,CAAtB,EAAyBG,MAAzB,EAAP;AACD;;AAEM,SAASC,eAAT,CAAyBC,UAAzB,EAAiE;AACtE,QAAMC,UAAU,GAAGD,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAEE,SAA/B;AACA,QAAMC,QAAQ,GAAGH,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAEI,OAA7B;AACA,QAAMC,SAAS,GACbJ,UAAU,YAAYd,IAAtB,GACIX,UAAU,CAAC8B,aAAa,CAACL,UAAD,CAAd,CADd,GAEIM,SAHN;AAKA,QAAMC,OAAO,GACXL,QAAQ,YAAYhB,IAApB,GAA2BX,UAAU,CAACiC,WAAW,CAACN,QAAD,CAAZ,CAArC,GAA+DI,SADjE;AAGA,QAAMG,qBAAqB,GAAG,sBAAUV,UAAV,aAAUA,UAAV,uBAAUA,UAAU,CAAEW,aAAtB,CAA9B;AAEA,QAAMC,kBAAkB,GAAGC,KAAK,CAACC,WAAN,CACxBC,GAAD,IAAe;AACb,WAAOC,yBAAyB,CAACD,GAAD,EAAM;AACpCV,MAAAA,SAAS,EAAEA,SADyB;AAEpCG,MAAAA,OAAO,EAAEA;AAF2B,KAAN,CAAhC;AAID,GANwB,EAOzB,CAACH,SAAD,EAAYG,OAAZ,CAPyB,CAA3B;AAUA,QAAMS,UAAU,GAAGJ,KAAK,CAACC,WAAN,CAChBC,GAAD,IAAe;AACb,WAAOL,qBAAqB,CAACQ,OAAtB,GACHR,qBAAqB,CAACQ,OAAtB,CAA8B5C,IAA9B,CAAoC6C,YAAD,IACjCC,iBAAiB,CAACD,YAAD,EAAeJ,GAAf,CADnB,CADG,GAIH,KAJJ;AAKD,GAPgB,EAQjB,CAACL,qBAAD,CARiB,CAAnB;AAWA,SAAO;AAAEO,IAAAA,UAAF;AAAcL,IAAAA,kBAAd;AAAkCX,IAAAA,UAAlC;AAA8CE,IAAAA;AAA9C,GAAP;AACD;;AAEM,SAASiB,iBAAT,CAA2BC,CAA3B,EAAoCC,CAApC,EAAiE;AACtE,MAAI,CAACA,CAAL,EAAQ;AACN,WAAO,KAAP;AACD;;AAED,SACED,CAAC,CAAC3B,WAAF,OAAoB4B,CAAC,CAAC5B,WAAF,EAApB,IACA2B,CAAC,CAAC/B,QAAF,OAAiBgC,CAAC,CAAChC,QAAF,EADjB,IAEA+B,CAAC,CAACpC,OAAF,OAAgBqC,CAAC,CAACrC,OAAF,EAHlB;AAKD;;AAEM,SAASsC,aAAT,CACLzC,IADK,SASI;AAAA,MAPT;AACEoB,IAAAA,SADF;AAEEE,IAAAA;AAFF,GAOS;;AACT,MAAI,CAACF,SAAD,IAAc,CAACE,OAAnB,EAA4B;AAC1B,WAAO,KAAP;AACD;;AACD,SAAOtB,IAAI,IAAIsB,OAAR,IAAmBtB,IAAI,IAAIoB,SAAlC;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASc,yBAAT,CACLlC,IADK,SAML;AAAA,MAJA;AACEuB,IAAAA,SADF;AAEEG,IAAAA;AAFF,GAIA;AACA,QAAMgB,QAAQ,GAAGhD,UAAU,CAACM,IAAD,CAA3B,CADA,CAEA;;AACA,MAAIuB,SAAS,IAAImB,QAAQ,GAAGnB,SAA5B,EAAuC;AACrC,WAAO,KAAP;AACD,GALD,CAOA;;;AACA,MAAIG,OAAO,IAAIgB,QAAQ,GAAGhB,OAA1B,EAAmC;AACjC,WAAO,KAAP;AACD;;AAED,SAAO,IAAP;AACD;;AAEM,SAASZ,UAAT,QAAgD;AAAA,MAA5B;AAAEH,IAAAA;AAAF,GAA4B;AACrD,SAAQA,IAAI,GAAG,CAAP,KAAa,CAAb,IAAkBA,IAAI,GAAG,GAAP,KAAe,CAAlC,IAAwCA,IAAI,GAAG,GAAP,KAAe,CAA9D;AACD;;AAEM,MAAMgC,OAAO,GAAG,EAAhB;;AACA,MAAMC,oBAAoB,GAAG,GAA7B;;AACA,MAAMC,YAAY,GAAG,IAArB;;AACA,MAAMC,WAAW,GAAGD,YAAY,GAAG,CAAnC;;AACA,MAAME,WAAW,GAAGH,oBAAoB,GAAGC,YAA3C;;AACA,MAAMG,UAAU,GAAG,IAAIC,KAAJ,CAA8BH,WAA9B,CAAnB;;;AAEA,SAASI,YAAT,CAAsBC,KAAtB,EAAqC;AAC1C,QAAMC,OAAO,GAAGJ,UAAU,CAACG,KAAD,CAA1B;;AACA,MAAIC,OAAJ,EAAa;AACX,WAAOA,OAAP;AACD;;AACD,QAAMC,SAAS,GAAGtD,SAAS,CAAC,IAAIM,IAAJ,EAAD,EAAaiD,YAAY,CAACH,KAAD,CAAzB,CAA3B;AACA,QAAMI,CAAC,GAAGC,mBAAmB,CAACH,SAAD,CAA7B;AACAL,EAAAA,UAAU,CAACG,KAAD,CAAV,GAAoBI,CAApB;AACA,SAAOA,CAAP;AACD;;AAEM,SAASC,mBAAT,CAA6BxD,IAA7B,EAAyC;AAC9C,QAAMW,IAAI,GAAGX,IAAI,CAACY,WAAL,EAAb;AACA,QAAMC,KAAK,GAAGb,IAAI,CAACQ,QAAL,EAAd;AACA,QAAMiD,WAAW,GAAG/C,cAAc,CAAC;AAAEC,IAAAA,IAAF;AAAQE,IAAAA;AAAR,GAAD,CAAlC;AACA,QAAM6C,SAAS,GAAG3C,kBAAkB,CAAC;AAAEJ,IAAAA,IAAF;AAAQE,IAAAA;AAAR,GAAD,CAApC;AACA,SAAOjB,IAAI,CAAC+D,IAAL,CAAU,CAACF,WAAW,GAAGC,SAAf,IAA4B,CAAtC,CAAP;AACD;;AAEM,SAASJ,YAAT,CAAsBH,KAAtB,EAAqC;AAC1C,SAAOA,KAAK,GAAGN,YAAf;AACD;;AAEM,SAASe,eAAT,CAAyB5D,IAAzB,EAAiD;AACtD,MAAI,CAACA,IAAL,EAAW;AACT,WAAO6C,YAAP;AACD;;AAED,QAAMgB,KAAK,GAAG,IAAIxD,IAAJ,EAAd;AACA,QAAMyD,MAAM,GAAGC,kBAAkB,CAACF,KAAD,EAAQ7D,IAAR,CAAjC;AAEA,SAAO6C,YAAY,GAAGiB,MAAtB;AACD;;AAEM,SAASE,iBAAT,QAAuE;AAAA,MAA5C;AAAEC,IAAAA;AAAF,GAA4C;AAC5E,SAAOlC,KAAK,CAACmC,OAAN,CAAc,MAAM;AACzB,WAAO,IAAIC,IAAI,CAACC,cAAT,CAAwBH,MAAxB,EAAgC;AACrCpD,MAAAA,KAAK,EAAE,SAD8B;AAErCoB,MAAAA,GAAG,EAAE,SAFgC;AAGrCtB,MAAAA,IAAI,EAAE;AAH+B,KAAhC,CAAP;AAKD,GANM,EAMJ,CAACsD,MAAD,CANI,CAAP;AAOD;;AACM,SAASzC,aAAT,CAAuB7B,CAAvB,EAAsC;AAC3C,SAAO,IAAIU,IAAJ,CAASV,CAAC,CAACiB,WAAF,EAAT,EAA0BjB,CAAC,CAACa,QAAF,EAA1B,EAAwCb,CAAC,CAACQ,OAAF,EAAxC,EAAqD,CAArD,EAAwD,CAAxD,EAA2D,CAA3D,CAAP;AACD;;AACM,SAASwB,WAAT,CAAqBhC,CAArB,EAAoC;AACzC,SAAO,IAAIU,IAAJ,CAASV,CAAC,CAACiB,WAAF,EAAT,EAA0BjB,CAAC,CAACa,QAAF,EAA1B,EAAwCb,CAAC,CAACQ,OAAF,EAAxC,EAAqD,EAArD,EAAyD,EAAzD,EAA6D,EAA7D,CAAP;AACD;;AACM,SAASkE,cAAT,QAMJ;AAAA,MAN4B;AAC7BC,IAAAA,SAD6B;AAE7BL,IAAAA;AAF6B,GAM5B;AACD,SAAOlC,KAAK,CAACmC,OAAN,CAAc,MAAM;AACzB;AACA,UAAMK,SAAS,GAAGD,SAAS,CAACE,MAAV,CAAiB,IAAInE,IAAJ,CAAS,IAAT,EAAe,KAAK,CAApB,EAAuB,CAAvB,CAAjB,CAAlB;AACA,WAAOkE,SAAS,CACbE,OADI,CACI,MADJ,EACYR,MAAM,KAAK,IAAX,GAAkB,MAAlB,GAA2B,MADvC,EAEJQ,OAFI,CAEI,IAFJ,EAEU,IAFV,EAGJA,OAHI,CAGI,IAHJ,EAGU,IAHV,CAAP;AAID,GAPM,EAOJ,CAACH,SAAD,EAAYL,MAAZ,CAPI,CAAP;AAQD;;AAEM,SAASF,kBAAT,CAA4BW,SAA5B,EAA6CC,UAA7C,EAA+D;AACpE,MAAIC,UAAU,GAAG,CAACD,UAAU,CAAC/D,WAAX,KAA2B8D,SAAS,CAAC9D,WAAV,EAA5B,IAAuD,EAAxE;AACAgE,EAAAA,UAAU,IAAIF,SAAS,CAAClE,QAAV,EAAd;AACAoE,EAAAA,UAAU,IAAID,UAAU,CAACnE,QAAX,EAAd;AACA,SAAOoE,UAAP;AACD","sourcesContent":["import * as React from 'react'\nimport { useLatest } from '../utils'\nimport type { ValidRangeType } from './Calendar'\n\nexport type DisableWeekDaysType = number[]\n\nexport function showWeekDay(\n dayIndex: number,\n disableWeekDays?: DisableWeekDaysType\n): boolean {\n return !(disableWeekDays && disableWeekDays.some((di) => di === dayIndex))\n}\n\nexport function dateToUnix(d: Date): number {\n return Math.round(d.getTime() / 1000)\n}\n\nexport function addMonths(date: Date, count: number) {\n let n = date.getDate()\n let n2 = new Date(date.getTime())\n n2.setDate(1)\n n2.setMonth(n2.getMonth() + count)\n n2.setDate(\n Math.min(\n n,\n getDaysInMonth({ year: n2.getFullYear(), month: n2.getMonth() })\n )\n )\n\n return n2\n}\n\n// https://stackoverflow.com/a/1185068/2508481\n// pass in any date as parameter anyDateInMonth based on dayjs\nexport function getDaysInMonth({\n year,\n month,\n}: {\n year: number\n month: number\n}): number {\n return [\n 31,\n isLeapYear({ year }) ? 29 : 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31,\n ][month]\n}\n\nexport function getFirstDayOfMonth({\n year,\n month,\n}: {\n year: number\n month: number\n}): number {\n return new Date(year, month, 1).getDay()\n}\n\nexport function useRangeChecker(validRange: ValidRangeType | undefined) {\n const validStart = validRange?.startDate\n const validEnd = validRange?.endDate\n const startUnix =\n validStart instanceof Date\n ? dateToUnix(getStartOfDay(validStart))\n : undefined\n\n const endUnix =\n validEnd instanceof Date ? dateToUnix(getEndOfDay(validEnd)) : undefined\n\n const validDisabledDatesRef = useLatest(validRange?.disabledDates)\n\n const isWithinValidRange = React.useCallback(\n (day: Date) => {\n return isDateWithinOptionalRange(day, {\n startUnix: startUnix,\n endUnix: endUnix,\n })\n },\n [startUnix, endUnix]\n )\n\n const isDisabled = React.useCallback(\n (day: Date) => {\n return validDisabledDatesRef.current\n ? validDisabledDatesRef.current.some((disabledDate) =>\n areDatesOnSameDay(disabledDate, day)\n )\n : false\n },\n [validDisabledDatesRef]\n )\n\n return { isDisabled, isWithinValidRange, validStart, validEnd }\n}\n\nexport function areDatesOnSameDay(a: Date, b?: Date | null | undefined) {\n if (!b) {\n return false\n }\n\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n )\n}\n\nexport function isDateBetween(\n date: Date,\n {\n startDate,\n endDate,\n }: {\n startDate?: Date | null | undefined\n endDate?: Date | null | undefined\n }\n): boolean {\n if (!startDate || !endDate) {\n return false\n }\n return date <= endDate && date >= startDate\n}\n\n/**\n * Check if a date is within an optional range.\n *\n * If the range doesn't exist, it defaults to `true`.\n */\nexport function isDateWithinOptionalRange(\n date: Date,\n {\n startUnix,\n endUnix,\n }: { startUnix: number | undefined; endUnix: number | undefined }\n) {\n const dateUnix = dateToUnix(date)\n // if startUnix is provided and date is before start\n if (startUnix && dateUnix < startUnix) {\n return false\n }\n\n // if endUnix is provided and date is after end\n if (endUnix && dateUnix > endUnix) {\n return false\n }\n\n return true\n}\n\nexport function isLeapYear({ year }: { year: number }) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0\n}\n\nexport const daySize = 46\nexport const estimatedMonthHeight = 360\nexport const startAtIndex = 1200\nexport const totalMonths = startAtIndex * 2\nexport const beginOffset = estimatedMonthHeight * startAtIndex\nexport const gridCounts = new Array<number | undefined>(totalMonths)\n\nexport function getGridCount(index: number) {\n const cHeight = gridCounts[index]\n if (cHeight) {\n return cHeight\n }\n const monthDate = addMonths(new Date(), getRealIndex(index))\n const h = getGridCountForDate(monthDate)\n gridCounts[index] = h\n return h\n}\n\nexport function getGridCountForDate(date: Date) {\n const year = date.getFullYear()\n const month = date.getMonth()\n const daysInMonth = getDaysInMonth({ year, month })\n const dayOfWeek = getFirstDayOfMonth({ year, month })\n return Math.ceil((daysInMonth + dayOfWeek) / 7)\n}\n\nexport function getRealIndex(index: number) {\n return index - startAtIndex\n}\n\nexport function getInitialIndex(date: Date | undefined) {\n if (!date) {\n return startAtIndex\n }\n\n const today = new Date()\n const months = differenceInMonths(today, date)\n\n return startAtIndex + months\n}\n\nexport function useInputFormatter({ locale }: { locale: string | undefined }) {\n return React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n })\n }, [locale])\n}\nexport function getStartOfDay(d: Date): Date {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0)\n}\nexport function getEndOfDay(d: Date): Date {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59, 59)\n}\nexport function useInputFormat({\n formatter,\n locale,\n}: {\n formatter: Intl.DateTimeFormat\n locale: string | undefined\n}) {\n return React.useMemo(() => {\n // TODO: something cleaner and more universal?\n const inputDate = formatter.format(new Date(2020, 10 - 1, 1))\n return inputDate\n .replace('2020', locale === 'pt' ? 'AAAA' : 'YYYY')\n .replace('10', 'MM')\n .replace('01', 'DD')\n }, [formatter, locale])\n}\n\nexport function differenceInMonths(firstDate: Date, secondDate: Date) {\n let diffMonths = (secondDate.getFullYear() - firstDate.getFullYear()) * 12\n diffMonths -= firstDate.getMonth()\n diffMonths += secondDate.getMonth()\n return diffMonths\n}\n"]}
1
+ {"version":3,"names":["showWeekDay","dayIndex","disableWeekDays","some","di","dateToUnix","d","Math","round","getTime","addMonths","date","count","n","getDate","n2","Date","setDate","setMonth","getMonth","min","getDaysInMonth","year","getFullYear","month","isLeapYear","getFirstDayOfMonth","getDay","useRangeChecker","validRange","validStart","startDate","validEnd","endDate","startUnix","getStartOfDay","undefined","endUnix","getEndOfDay","validDisabledDatesRef","useLatest","disabledDates","isWithinValidRange","React","useCallback","day","isDateWithinOptionalRange","isDisabled","current","disabledDate","areDatesOnSameDay","a","b","isDateBetween","dateUnix","daySize","estimatedMonthHeight","startAtIndex","totalMonths","beginOffset","gridCounts","Array","getGridCount","index","cHeight","monthDate","getRealIndex","h","getGridCountForDate","daysInMonth","dayOfWeek","ceil","getInitialIndex","today","months","differenceInMonths","useInputFormatter","locale","useMemo","Intl","DateTimeFormat","useInputFormat","formatter","inputDate","format","replace","firstDate","secondDate","diffMonths"],"sources":["dateUtils.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useLatest } from '../utils'\nimport type { ValidRangeType } from './Calendar'\n\nexport type DisableWeekDaysType = number[]\n\nexport function showWeekDay(\n dayIndex: number,\n disableWeekDays?: DisableWeekDaysType\n): boolean {\n return !(disableWeekDays && disableWeekDays.some((di) => di === dayIndex))\n}\n\nexport function dateToUnix(d: Date): number {\n return Math.round(d.getTime() / 1000)\n}\n\nexport function addMonths(date: Date, count: number) {\n let n = date.getDate()\n let n2 = new Date(date.getTime())\n n2.setDate(1)\n n2.setMonth(n2.getMonth() + count)\n n2.setDate(\n Math.min(\n n,\n getDaysInMonth({ year: n2.getFullYear(), month: n2.getMonth() })\n )\n )\n\n return n2\n}\n\n// https://stackoverflow.com/a/1185068/2508481\n// pass in any date as parameter anyDateInMonth based on dayjs\nexport function getDaysInMonth({\n year,\n month,\n}: {\n year: number\n month: number\n}): number {\n return [\n 31,\n isLeapYear({ year }) ? 29 : 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31,\n ][month]\n}\n\nexport function getFirstDayOfMonth({\n year,\n month,\n}: {\n year: number\n month: number\n}): number {\n return new Date(year, month, 1).getDay()\n}\n\nexport function useRangeChecker(validRange: ValidRangeType | undefined) {\n const validStart = validRange?.startDate\n const validEnd = validRange?.endDate\n const startUnix =\n validStart instanceof Date\n ? dateToUnix(getStartOfDay(validStart))\n : undefined\n\n const endUnix =\n validEnd instanceof Date ? dateToUnix(getEndOfDay(validEnd)) : undefined\n\n const validDisabledDatesRef = useLatest(validRange?.disabledDates)\n\n const isWithinValidRange = React.useCallback(\n (day: Date) => {\n return isDateWithinOptionalRange(day, {\n startUnix: startUnix,\n endUnix: endUnix,\n })\n },\n [startUnix, endUnix]\n )\n\n const isDisabled = React.useCallback(\n (day: Date) => {\n return validDisabledDatesRef.current\n ? validDisabledDatesRef.current.some((disabledDate) =>\n areDatesOnSameDay(disabledDate, day)\n )\n : false\n },\n [validDisabledDatesRef]\n )\n\n return { isDisabled, isWithinValidRange, validStart, validEnd }\n}\n\nexport function areDatesOnSameDay(a: Date, b?: Date | null | undefined) {\n if (!b) {\n return false\n }\n\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n )\n}\n\nexport function isDateBetween(\n date: Date,\n {\n startDate,\n endDate,\n }: {\n startDate?: Date | null | undefined\n endDate?: Date | null | undefined\n }\n): boolean {\n if (!startDate || !endDate) {\n return false\n }\n return date <= endDate && date >= startDate\n}\n\n/**\n * Check if a date is within an optional range.\n *\n * If the range doesn't exist, it defaults to `true`.\n */\nexport function isDateWithinOptionalRange(\n date: Date,\n {\n startUnix,\n endUnix,\n }: { startUnix: number | undefined; endUnix: number | undefined }\n) {\n const dateUnix = dateToUnix(date)\n // if startUnix is provided and date is before start\n if (startUnix && dateUnix < startUnix) {\n return false\n }\n\n // if endUnix is provided and date is after end\n if (endUnix && dateUnix > endUnix) {\n return false\n }\n\n return true\n}\n\nexport function isLeapYear({ year }: { year: number }) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0\n}\n\nexport const daySize = 46\nexport const estimatedMonthHeight = 360\nexport const startAtIndex = 1200\nexport const totalMonths = startAtIndex * 2\nexport const beginOffset = estimatedMonthHeight * startAtIndex\nexport const gridCounts = new Array<number | undefined>(totalMonths)\n\nexport function getGridCount(index: number) {\n const cHeight = gridCounts[index]\n if (cHeight) {\n return cHeight\n }\n const monthDate = addMonths(new Date(), getRealIndex(index))\n const h = getGridCountForDate(monthDate)\n gridCounts[index] = h\n return h\n}\n\nexport function getGridCountForDate(date: Date) {\n const year = date.getFullYear()\n const month = date.getMonth()\n const daysInMonth = getDaysInMonth({ year, month })\n const dayOfWeek = getFirstDayOfMonth({ year, month })\n return Math.ceil((daysInMonth + dayOfWeek) / 7)\n}\n\nexport function getRealIndex(index: number) {\n return index - startAtIndex\n}\n\nexport function getInitialIndex(date: Date | undefined) {\n if (!date) {\n return startAtIndex\n }\n\n const today = new Date()\n const months = differenceInMonths(today, date)\n\n return startAtIndex + months\n}\n\nexport function useInputFormatter({ locale }: { locale: string | undefined }) {\n return React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n })\n }, [locale])\n}\nexport function getStartOfDay(d: Date): Date {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0)\n}\nexport function getEndOfDay(d: Date): Date {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59, 59)\n}\nexport function useInputFormat({\n formatter,\n locale,\n}: {\n formatter: Intl.DateTimeFormat\n locale: string | undefined\n}) {\n return React.useMemo(() => {\n // TODO: something cleaner and more universal?\n const inputDate = formatter.format(new Date(2020, 10 - 1, 1))\n return inputDate\n .replace('2020', locale === 'pt' ? 'AAAA' : 'YYYY')\n .replace('10', 'MM')\n .replace('01', 'DD')\n }, [formatter, locale])\n}\n\nexport function differenceInMonths(firstDate: Date, secondDate: Date) {\n let diffMonths = (secondDate.getFullYear() - firstDate.getFullYear()) * 12\n diffMonths -= firstDate.getMonth()\n diffMonths += secondDate.getMonth()\n return diffMonths\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["dateUtils.test.ts"],"names":["test","gridCount","Date","expect","toBe"],"mappings":";;AAAA;;AAEAA,IAAI,CAAC,qDAAD,EAAwD,MAAM;AAChE,QAAMC,SAAS,GAAG,oCAChB,0BAAU,IAAIC,IAAJ,CAAS,IAAT,EAAe,KAAK,CAApB,EAAuB,CAAvB,CAAV,EAAqC,KAAK,CAA1C,CADgB,CAAlB;AAIAC,EAAAA,MAAM,CAACF,SAAD,CAAN,CAAkBG,IAAlB,CAAuB,CAAvB;AACD,CANG,CAAJ","sourcesContent":["import { addMonths, getGridCountForDate } from './dateUtils'\n\ntest('gridCounts contains the right data for October 2021', () => {\n const gridCount = getGridCountForDate(\n addMonths(new Date(2018, 10 - 1, 1), 12 * 3)\n )\n\n expect(gridCount).toBe(6)\n})\n"]}
1
+ {"version":3,"names":["test","gridCount","getGridCountForDate","addMonths","Date","expect","toBe"],"sources":["dateUtils.test.ts"],"sourcesContent":["import { addMonths, getGridCountForDate } from './dateUtils'\n\ntest('gridCounts contains the right data for October 2021', () => {\n const gridCount = getGridCountForDate(\n addMonths(new Date(2018, 10 - 1, 1), 12 * 3)\n )\n\n expect(gridCount).toBe(6)\n})\n"],"mappings":";;AAAA;;AAEAA,IAAI,CAAC,qDAAD,EAAwD,MAAM;EAChE,MAAMC,SAAS,GAAG,IAAAC,8BAAA,EAChB,IAAAC,oBAAA,EAAU,IAAIC,IAAJ,CAAS,IAAT,EAAe,KAAK,CAApB,EAAuB,CAAvB,CAAV,EAAqC,KAAK,CAA1C,CADgB,CAAlB;EAIAC,MAAM,CAACJ,SAAD,CAAN,CAAkBK,IAAlB,CAAuB,CAAvB;AACD,CANG,CAAJ"}
@@ -37,7 +37,7 @@ function useDateInput(_ref) {
37
37
  formatter,
38
38
  locale
39
39
  });
40
- const formattedValue = formatter.format(value);
40
+ const formattedValue = value !== null ? formatter.format(value) : '';
41
41
 
42
42
  const onChangeText = date => {
43
43
  const dayIndex = inputFormat.indexOf('DD');
@@ -1 +1 @@
1
- {"version":3,"sources":["inputUtils.ts"],"names":["useDateInput","locale","value","validRange","inputMode","onChange","isDisabled","isWithinValidRange","validStart","validEnd","error","setError","React","useState","formatter","inputFormat","formattedValue","format","onChangeText","date","dayIndex","indexOf","monthIndex","yearIndex","day","Number","slice","year","month","isNaN","finalDate","Date","errors","filter","n","join"],"mappings":"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","sourcesContent":["import { useInputFormat, useInputFormatter, useRangeChecker } from './dateUtils'\nimport * as React from 'react'\nimport type { ValidRangeType } from './Calendar'\nimport { getTranslation } from 'react-native-paper-dates'\n\nexport default function useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n}: {\n onChange: (d: Date) => void\n locale: undefined | string\n value: Date | undefined\n validRange: ValidRangeType | undefined\n inputMode: 'start' | 'end'\n}) {\n const { isDisabled, isWithinValidRange, validStart, validEnd } =\n useRangeChecker(validRange)\n const [error, setError] = React.useState<null | string>(null)\n const formatter = useInputFormatter({ locale })\n const inputFormat = useInputFormat({ formatter, locale })\n const formattedValue = formatter.format(value)\n const onChangeText = (date: string) => {\n const dayIndex = inputFormat.indexOf('DD')\n const monthIndex = inputFormat.indexOf('MM')\n const yearIndex =\n locale === 'pt'\n ? inputFormat.indexOf('AAAA')\n : inputFormat.indexOf('YYYY')\n\n const day = Number(date.slice(dayIndex, dayIndex + 2))\n const year = Number(date.slice(yearIndex, yearIndex + 4))\n const month = Number(date.slice(monthIndex, monthIndex + 2))\n\n if (Number.isNaN(day) || Number.isNaN(year) || Number.isNaN(month)) {\n setError(\n getTranslation(\n locale,\n 'notAccordingToDateFormat',\n () => 'notAccordingToDateFormat'\n )(inputFormat)\n )\n return\n }\n\n const finalDate =\n inputMode === 'end'\n ? new Date(year, month - 1, day, 23, 59, 59)\n : new Date(year, month - 1, day)\n\n if (isDisabled(finalDate)) {\n setError(getTranslation(locale, 'dateIsDisabled'))\n return\n }\n if (!isWithinValidRange(finalDate)) {\n let errors =\n validStart && validEnd\n ? [\n `${getTranslation(\n locale,\n 'mustBeBetween',\n () => 'mustBeBetween'\n )(formatter.format(validStart), formatter.format(validEnd))}`,\n ]\n : [\n validStart\n ? getTranslation(\n locale,\n 'mustBeHigherThan',\n () => 'mustBeHigherThan'\n )(formatter.format(validStart))\n : '',\n validEnd\n ? getTranslation(\n locale,\n 'mustBeLowerThan',\n () => 'mustBeLowerThan'\n )(formatter.format(validEnd))\n : '',\n ]\n setError(errors.filter((n) => n).join(' '))\n return\n }\n\n setError(null)\n if (inputMode === 'end') {\n onChange(finalDate)\n } else {\n onChange(finalDate)\n }\n }\n return {\n onChange,\n error,\n formattedValue,\n onChangeText,\n inputFormat,\n }\n}\n"]}
1
+ {"version":3,"names":["useDateInput","locale","value","validRange","inputMode","onChange","isDisabled","isWithinValidRange","validStart","validEnd","useRangeChecker","error","setError","React","useState","formatter","useInputFormatter","inputFormat","useInputFormat","formattedValue","format","onChangeText","date","dayIndex","indexOf","monthIndex","yearIndex","day","Number","slice","year","month","isNaN","getTranslation","finalDate","Date","errors","filter","n","join"],"sources":["inputUtils.ts"],"sourcesContent":["import { useInputFormat, useInputFormatter, useRangeChecker } from './dateUtils'\nimport * as React from 'react'\nimport type { ValidRangeType } from './Calendar'\nimport { getTranslation } from 'react-native-paper-dates'\n\nexport default function useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n}: {\n onChange: (d: Date) => void\n locale: undefined | string\n value: Date | undefined\n validRange: ValidRangeType | undefined\n inputMode: 'start' | 'end'\n}) {\n const { isDisabled, isWithinValidRange, validStart, validEnd } =\n useRangeChecker(validRange)\n const [error, setError] = React.useState<null | string>(null)\n const formatter = useInputFormatter({ locale })\n const inputFormat = useInputFormat({ formatter, locale })\n const formattedValue = value !== null ? formatter.format(value) : '';\n const onChangeText = (date: string) => {\n const dayIndex = inputFormat.indexOf('DD')\n const monthIndex = inputFormat.indexOf('MM')\n const yearIndex =\n locale === 'pt'\n ? inputFormat.indexOf('AAAA')\n : inputFormat.indexOf('YYYY')\n\n const day = Number(date.slice(dayIndex, dayIndex + 2))\n const year = Number(date.slice(yearIndex, yearIndex + 4))\n const month = Number(date.slice(monthIndex, monthIndex + 2))\n\n if (Number.isNaN(day) || Number.isNaN(year) || Number.isNaN(month)) {\n setError(\n getTranslation(\n locale,\n 'notAccordingToDateFormat',\n () => 'notAccordingToDateFormat'\n )(inputFormat)\n )\n return\n }\n\n const finalDate =\n inputMode === 'end'\n ? new Date(year, month - 1, day, 23, 59, 59)\n : new Date(year, month - 1, day)\n\n if (isDisabled(finalDate)) {\n setError(getTranslation(locale, 'dateIsDisabled'))\n return\n }\n if (!isWithinValidRange(finalDate)) {\n let errors =\n validStart && validEnd\n ? [\n `${getTranslation(\n locale,\n 'mustBeBetween',\n () => 'mustBeBetween'\n )(formatter.format(validStart), formatter.format(validEnd))}`,\n ]\n : [\n validStart\n ? getTranslation(\n locale,\n 'mustBeHigherThan',\n () => 'mustBeHigherThan'\n )(formatter.format(validStart))\n : '',\n validEnd\n ? getTranslation(\n locale,\n 'mustBeLowerThan',\n () => 'mustBeLowerThan'\n )(formatter.format(validEnd))\n : '',\n ]\n setError(errors.filter((n) => n).join(' '))\n return\n }\n\n setError(null)\n if (inputMode === 'end') {\n onChange(finalDate)\n } else {\n onChange(finalDate)\n }\n }\n return {\n onChange,\n error,\n formattedValue,\n onChangeText,\n inputFormat,\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;;AAEe,SAASA,YAAT,OAYZ;EAAA,IAZkC;IACnCC,MADmC;IAEnCC,KAFmC;IAGnCC,UAHmC;IAInCC,SAJmC;IAKnCC;EALmC,CAYlC;EACD,MAAM;IAAEC,UAAF;IAAcC,kBAAd;IAAkCC,UAAlC;IAA8CC;EAA9C,IACJ,IAAAC,0BAAA,EAAgBP,UAAhB,CADF;EAEA,MAAM,CAACQ,KAAD,EAAQC,QAAR,IAAoBC,KAAK,CAACC,QAAN,CAA8B,IAA9B,CAA1B;EACA,MAAMC,SAAS,GAAG,IAAAC,4BAAA,EAAkB;IAAEf;EAAF,CAAlB,CAAlB;EACA,MAAMgB,WAAW,GAAG,IAAAC,yBAAA,EAAe;IAAEH,SAAF;IAAad;EAAb,CAAf,CAApB;EACA,MAAMkB,cAAc,GAAGjB,KAAK,KAAK,IAAV,GAAiBa,SAAS,CAACK,MAAV,CAAiBlB,KAAjB,CAAjB,GAA2C,EAAlE;;EACA,MAAMmB,YAAY,GAAIC,IAAD,IAAkB;IACrC,MAAMC,QAAQ,GAAGN,WAAW,CAACO,OAAZ,CAAoB,IAApB,CAAjB;IACA,MAAMC,UAAU,GAAGR,WAAW,CAACO,OAAZ,CAAoB,IAApB,CAAnB;IACA,MAAME,SAAS,GACbzB,MAAM,KAAK,IAAX,GACIgB,WAAW,CAACO,OAAZ,CAAoB,MAApB,CADJ,GAEIP,WAAW,CAACO,OAAZ,CAAoB,MAApB,CAHN;IAKA,MAAMG,GAAG,GAAGC,MAAM,CAACN,IAAI,CAACO,KAAL,CAAWN,QAAX,EAAqBA,QAAQ,GAAG,CAAhC,CAAD,CAAlB;IACA,MAAMO,IAAI,GAAGF,MAAM,CAACN,IAAI,CAACO,KAAL,CAAWH,SAAX,EAAsBA,SAAS,GAAG,CAAlC,CAAD,CAAnB;IACA,MAAMK,KAAK,GAAGH,MAAM,CAACN,IAAI,CAACO,KAAL,CAAWJ,UAAX,EAAuBA,UAAU,GAAG,CAApC,CAAD,CAApB;;IAEA,IAAIG,MAAM,CAACI,KAAP,CAAaL,GAAb,KAAqBC,MAAM,CAACI,KAAP,CAAaF,IAAb,CAArB,IAA2CF,MAAM,CAACI,KAAP,CAAaD,KAAb,CAA/C,EAAoE;MAClEnB,QAAQ,CACN,IAAAqB,qCAAA,EACEhC,MADF,EAEE,0BAFF,EAGE,MAAM,0BAHR,EAIEgB,WAJF,CADM,CAAR;MAOA;IACD;;IAED,MAAMiB,SAAS,GACb9B,SAAS,KAAK,KAAd,GACI,IAAI+B,IAAJ,CAASL,IAAT,EAAeC,KAAK,GAAG,CAAvB,EAA0BJ,GAA1B,EAA+B,EAA/B,EAAmC,EAAnC,EAAuC,EAAvC,CADJ,GAEI,IAAIQ,IAAJ,CAASL,IAAT,EAAeC,KAAK,GAAG,CAAvB,EAA0BJ,GAA1B,CAHN;;IAKA,IAAIrB,UAAU,CAAC4B,SAAD,CAAd,EAA2B;MACzBtB,QAAQ,CAAC,IAAAqB,qCAAA,EAAehC,MAAf,EAAuB,gBAAvB,CAAD,CAAR;MACA;IACD;;IACD,IAAI,CAACM,kBAAkB,CAAC2B,SAAD,CAAvB,EAAoC;MAClC,IAAIE,MAAM,GACR5B,UAAU,IAAIC,QAAd,GACI,CACG,GAAE,IAAAwB,qCAAA,EACDhC,MADC,EAED,eAFC,EAGD,MAAM,eAHL,EAIDc,SAAS,CAACK,MAAV,CAAiBZ,UAAjB,CAJC,EAI6BO,SAAS,CAACK,MAAV,CAAiBX,QAAjB,CAJ7B,CAIyD,EAL9D,CADJ,GAQI,CACED,UAAU,GACN,IAAAyB,qCAAA,EACEhC,MADF,EAEE,kBAFF,EAGE,MAAM,kBAHR,EAIEc,SAAS,CAACK,MAAV,CAAiBZ,UAAjB,CAJF,CADM,GAMN,EAPN,EAQEC,QAAQ,GACJ,IAAAwB,qCAAA,EACEhC,MADF,EAEE,iBAFF,EAGE,MAAM,iBAHR,EAIEc,SAAS,CAACK,MAAV,CAAiBX,QAAjB,CAJF,CADI,GAMJ,EAdN,CATN;MAyBAG,QAAQ,CAACwB,MAAM,CAACC,MAAP,CAAeC,CAAD,IAAOA,CAArB,EAAwBC,IAAxB,CAA6B,GAA7B,CAAD,CAAR;MACA;IACD;;IAED3B,QAAQ,CAAC,IAAD,CAAR;;IACA,IAAIR,SAAS,KAAK,KAAlB,EAAyB;MACvBC,QAAQ,CAAC6B,SAAD,CAAR;IACD,CAFD,MAEO;MACL7B,QAAQ,CAAC6B,SAAD,CAAR;IACD;EACF,CApED;;EAqEA,OAAO;IACL7B,QADK;IAELM,KAFK;IAGLQ,cAHK;IAILE,YAJK;IAKLJ;EALK,CAAP;AAOD"}
@@ -13,7 +13,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
13
13
 
14
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
15
 
16
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
17
 
18
18
  const splitCharacters = ['-', '/', '.', '年', ' '];
19
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["TextInputMask.tsx"],"names":["splitCharacters","detectCharacter","mask","c","find","ch","includes","enhanceTextWithMask","text","previousValue","isBackSpace","length","splitCharacter","maskParts","split","textParts","finalString","maskPartIndex","partString","maskPart","textPart","maskDigitIndex","currentCharacter","undefined","character","push","join","lastPart","lastMaskPart","TextInputWithMask","ref","onChangeText","value","rest","controlledValue","setControlledValue","React","useState","onInnerChange","enhancedText","useEffect","forwardRef"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { TextInput } from 'react-native-paper'\n\nconst splitCharacters = ['-', '/', '.', '年', ' ']\nfunction detectCharacter(mask: string): string {\n const c = splitCharacters.find((ch) => mask.includes(ch))\n return c || ''\n}\n\nfunction enhanceTextWithMask(\n text: string,\n mask: string,\n previousValue: string\n): string {\n const isBackSpace = previousValue.length > text.length\n const splitCharacter = detectCharacter(mask)\n\n const maskParts = mask.split(splitCharacter)\n const textParts = text.split(splitCharacter)\n\n let finalString: string[] = []\n for (let maskPartIndex = 0; maskPartIndex < mask.length; maskPartIndex++) {\n let partString: string[] = []\n\n const maskPart = maskParts[maskPartIndex]\n const textPart = textParts[maskPartIndex]\n if (!textPart) {\n continue\n }\n\n for (\n let maskDigitIndex = 0;\n maskDigitIndex < maskPart.length;\n maskDigitIndex++\n ) {\n const currentCharacter = textPart[maskDigitIndex]\n\n if (isBackSpace && currentCharacter === undefined) {\n continue\n }\n\n const character = textPart[maskDigitIndex]\n\n if (character !== undefined) {\n partString.push(character)\n }\n }\n\n finalString.push(partString.join(''))\n }\n\n const lastPart = finalString[finalString.length - 1]\n const lastMaskPart = maskParts[finalString.length - 1]\n if (\n // if mask is completed\n finalString.length !== maskParts.length &&\n // or ...\n lastPart &&\n lastMaskPart &&\n lastPart.length === lastMaskPart.length\n ) {\n return (\n finalString.join(splitCharacter) + (isBackSpace ? '' : splitCharacter)\n )\n }\n return finalString.join(splitCharacter)\n}\n\nfunction TextInputWithMask(\n {\n onChangeText,\n value,\n mask,\n ...rest\n }: React.ComponentProps<typeof TextInput> & { mask: string },\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n value || ''\n )\n\n const onInnerChange = (text: string) => {\n const enhancedText = enhanceTextWithMask(text, mask, controlledValue)\n setControlledValue(enhancedText)\n\n if (text.length === mask.length) {\n onChangeText && onChangeText(text)\n }\n }\n\n React.useEffect(() => {\n setControlledValue(value || '')\n }, [value])\n\n return (\n <TextInput\n ref={ref}\n {...rest}\n value={controlledValue}\n onChangeText={onInnerChange}\n />\n )\n}\n\nexport default React.forwardRef(TextInputWithMask)\n"]}
1
+ {"version":3,"names":["splitCharacters","detectCharacter","mask","c","find","ch","includes","enhanceTextWithMask","text","previousValue","isBackSpace","length","splitCharacter","maskParts","split","textParts","finalString","maskPartIndex","partString","maskPart","textPart","maskDigitIndex","currentCharacter","undefined","character","push","join","lastPart","lastMaskPart","TextInputWithMask","ref","onChangeText","value","rest","controlledValue","setControlledValue","React","useState","onInnerChange","enhancedText","useEffect","forwardRef"],"sources":["TextInputMask.tsx"],"sourcesContent":["import * as React from 'react'\nimport { TextInput } from 'react-native-paper'\n\nconst splitCharacters = ['-', '/', '.', '年', ' ']\nfunction detectCharacter(mask: string): string {\n const c = splitCharacters.find((ch) => mask.includes(ch))\n return c || ''\n}\n\nfunction enhanceTextWithMask(\n text: string,\n mask: string,\n previousValue: string\n): string {\n const isBackSpace = previousValue.length > text.length\n const splitCharacter = detectCharacter(mask)\n\n const maskParts = mask.split(splitCharacter)\n const textParts = text.split(splitCharacter)\n\n let finalString: string[] = []\n for (let maskPartIndex = 0; maskPartIndex < mask.length; maskPartIndex++) {\n let partString: string[] = []\n\n const maskPart = maskParts[maskPartIndex]\n const textPart = textParts[maskPartIndex]\n if (!textPart) {\n continue\n }\n\n for (\n let maskDigitIndex = 0;\n maskDigitIndex < maskPart.length;\n maskDigitIndex++\n ) {\n const currentCharacter = textPart[maskDigitIndex]\n\n if (isBackSpace && currentCharacter === undefined) {\n continue\n }\n\n const character = textPart[maskDigitIndex]\n\n if (character !== undefined) {\n partString.push(character)\n }\n }\n\n finalString.push(partString.join(''))\n }\n\n const lastPart = finalString[finalString.length - 1]\n const lastMaskPart = maskParts[finalString.length - 1]\n if (\n // if mask is completed\n finalString.length !== maskParts.length &&\n // or ...\n lastPart &&\n lastMaskPart &&\n lastPart.length === lastMaskPart.length\n ) {\n return (\n finalString.join(splitCharacter) + (isBackSpace ? '' : splitCharacter)\n )\n }\n return finalString.join(splitCharacter)\n}\n\nfunction TextInputWithMask(\n {\n onChangeText,\n value,\n mask,\n ...rest\n }: React.ComponentProps<typeof TextInput> & { mask: string },\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n value || ''\n )\n\n const onInnerChange = (text: string) => {\n const enhancedText = enhanceTextWithMask(text, mask, controlledValue)\n setControlledValue(enhancedText)\n\n if (text.length === mask.length) {\n onChangeText && onChangeText(text)\n }\n }\n\n React.useEffect(() => {\n setControlledValue(value || '')\n }, [value])\n\n return (\n <TextInput\n ref={ref}\n {...rest}\n value={controlledValue}\n onChangeText={onInnerChange}\n />\n )\n}\n\nexport default React.forwardRef(TextInputWithMask)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["AmPmSwitcher.tsx"],"names":["AmPmSwitcher","onChange","hours","setMode","mode","React","useContext","DisplayModeContext","theme","backgroundColor","dark","colors","surface","lighten","hex","darken","isAM","styles","root","borderColor","borderRadius","roundness","switchSeparator","SwitchButton","label","onPress","selected","disabled","color","switchButton","switchButtonInner","fonts","medium","StyleSheet","create","width","height","borderWidth","overflow","flex","alignItems","justifyContent"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { Text, TouchableRipple, useTheme } from 'react-native-paper'\nimport { useMemo } from 'react'\nimport Color from 'color'\nimport { useSwitchColors } from './timeUtils'\nimport { DisplayModeContext } from './TimePicker'\n\nexport default function AmPmSwitcher({\n onChange,\n hours,\n}: {\n hours: number\n onChange: (newHours: number) => any\n}) {\n const { setMode, mode } = React.useContext(DisplayModeContext)\n const theme = useTheme()\n const backgroundColor = useMemo<string>(() => {\n if (theme.dark) {\n return Color(theme.colors.surface).lighten(1.2).hex()\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [theme])\n\n const isAM = mode === 'AM'\n return (\n <View\n style={[\n styles.root,\n {\n borderColor: backgroundColor,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <SwitchButton\n label=\"AM\"\n onPress={() => {\n setMode('AM')\n if (hours - 12 >= 0) {\n onChange(hours - 12)\n }\n }}\n selected={isAM}\n disabled={isAM}\n />\n <View style={[styles.switchSeparator, { backgroundColor }]} />\n <SwitchButton\n label=\"PM\"\n onPress={() => {\n setMode('PM')\n if (hours + 12 <= 24) {\n onChange(hours + 12)\n }\n }}\n selected={!isAM}\n disabled={!isAM}\n />\n </View>\n )\n}\n\nfunction SwitchButton({\n label,\n onPress,\n selected,\n disabled,\n}: {\n label: string\n onPress: (() => any) | undefined\n selected: boolean\n disabled: boolean\n}) {\n const theme = useTheme()\n const { backgroundColor, color } = useSwitchColors(selected)\n\n return (\n <TouchableRipple\n onPress={onPress}\n style={styles.switchButton}\n accessibilityLabel={label}\n // @ts-ignore old React Native versions\n accessibilityTraits={disabled ? ['button', 'disabled'] : 'button'}\n // @ts-ignore old React Native versions\n accessibilityComponentType=\"button\"\n accessibilityRole=\"button\"\n accessibilityState={{ disabled }}\n disabled={disabled}\n >\n <View style={[styles.switchButtonInner, { backgroundColor }]}>\n <Text\n selectable={false}\n style={[\n {\n ...theme.fonts.medium,\n color: color,\n },\n ]}\n >\n {label}\n </Text>\n </View>\n </TouchableRipple>\n )\n}\n\nconst styles = StyleSheet.create({\n root: {\n width: 50,\n height: 80,\n borderWidth: 1,\n overflow: 'hidden',\n },\n switchSeparator: {\n height: 1,\n width: 48,\n },\n switchButton: {\n flex: 1,\n },\n switchButtonInner: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n})\n"]}
1
+ {"version":3,"names":["AmPmSwitcher","onChange","hours","setMode","mode","React","useContext","DisplayModeContext","theme","useTheme","backgroundColor","useMemo","dark","Color","colors","surface","lighten","hex","darken","isAM","styles","root","borderColor","borderRadius","roundness","switchSeparator","SwitchButton","label","onPress","selected","disabled","color","useSwitchColors","switchButton","switchButtonInner","fonts","medium","StyleSheet","create","width","height","borderWidth","overflow","flex","alignItems","justifyContent"],"sources":["AmPmSwitcher.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { Text, TouchableRipple, useTheme } from 'react-native-paper'\nimport { useMemo } from 'react'\nimport Color from 'color'\nimport { useSwitchColors } from './timeUtils'\nimport { DisplayModeContext } from './TimePicker'\n\nexport default function AmPmSwitcher({\n onChange,\n hours,\n}: {\n hours: number\n onChange: (newHours: number) => any\n}) {\n const { setMode, mode } = React.useContext(DisplayModeContext)\n const theme = useTheme()\n const backgroundColor = useMemo<string>(() => {\n if (theme.dark) {\n return Color(theme.colors.surface).lighten(1.2).hex()\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [theme])\n\n const isAM = mode === 'AM'\n return (\n <View\n style={[\n styles.root,\n {\n borderColor: backgroundColor,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <SwitchButton\n label=\"AM\"\n onPress={() => {\n setMode('AM')\n if (hours - 12 >= 0) {\n onChange(hours - 12)\n }\n }}\n selected={isAM}\n disabled={isAM}\n />\n <View style={[styles.switchSeparator, { backgroundColor }]} />\n <SwitchButton\n label=\"PM\"\n onPress={() => {\n setMode('PM')\n if (hours + 12 <= 24) {\n onChange(hours + 12)\n }\n }}\n selected={!isAM}\n disabled={!isAM}\n />\n </View>\n )\n}\n\nfunction SwitchButton({\n label,\n onPress,\n selected,\n disabled,\n}: {\n label: string\n onPress: (() => any) | undefined\n selected: boolean\n disabled: boolean\n}) {\n const theme = useTheme()\n const { backgroundColor, color } = useSwitchColors(selected)\n\n return (\n <TouchableRipple\n onPress={onPress}\n style={styles.switchButton}\n accessibilityLabel={label}\n // @ts-ignore old React Native versions\n accessibilityTraits={disabled ? ['button', 'disabled'] : 'button'}\n // @ts-ignore old React Native versions\n accessibilityComponentType=\"button\"\n accessibilityRole=\"button\"\n accessibilityState={{ disabled }}\n disabled={disabled}\n >\n <View style={[styles.switchButtonInner, { backgroundColor }]}>\n <Text\n selectable={false}\n style={[\n {\n ...theme.fonts.medium,\n color: color,\n },\n ]}\n >\n {label}\n </Text>\n </View>\n </TouchableRipple>\n )\n}\n\nconst styles = StyleSheet.create({\n root: {\n width: 50,\n height: 80,\n borderWidth: 1,\n overflow: 'hidden',\n },\n switchSeparator: {\n height: 1,\n width: 48,\n },\n switchButton: {\n flex: 1,\n },\n switchButtonInner: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n})\n"],"mappings":"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"}
@@ -31,7 +31,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
34
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
35
35
 
36
36
  function AnalogClock(_ref) {
37
37
  let {