react-native-paper-dates 0.11.10 → 0.11.12

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 (61) hide show
  1. package/lib/commonjs/Date/Calendar.js +4 -0
  2. package/lib/commonjs/Date/Calendar.js.map +1 -1
  3. package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
  4. package/lib/commonjs/Date/DatePickerModalContent.js +1 -1
  5. package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
  6. package/lib/commonjs/Date/DatePickerModalContentHeader.js +15 -11
  7. package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
  8. package/lib/commonjs/Date/DatePickerModalHeader.js +5 -4
  9. package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
  10. package/lib/commonjs/Date/Day.js +4 -4
  11. package/lib/commonjs/Date/Day.js.map +1 -1
  12. package/lib/commonjs/Date/DayName.js +3 -2
  13. package/lib/commonjs/Date/DayName.js.map +1 -1
  14. package/lib/commonjs/Date/Month.js +4 -3
  15. package/lib/commonjs/Date/Month.js.map +1 -1
  16. package/lib/commonjs/Date/YearPicker.js +6 -4
  17. package/lib/commonjs/Date/YearPicker.js.map +1 -1
  18. package/lib/commonjs/Time/timeUtils.js +5 -1
  19. package/lib/commonjs/Time/timeUtils.js.map +1 -1
  20. package/lib/commonjs/index.js +53 -8
  21. package/lib/commonjs/index.js.map +1 -1
  22. package/lib/commonjs/utils.js +11 -0
  23. package/lib/commonjs/utils.js.map +1 -1
  24. package/lib/module/Date/Calendar.js +4 -0
  25. package/lib/module/Date/Calendar.js.map +1 -1
  26. package/lib/module/Date/CalendarHeader.js.map +1 -1
  27. package/lib/module/Date/DatePickerModalContent.js +1 -1
  28. package/lib/module/Date/DatePickerModalContent.js.map +1 -1
  29. package/lib/module/Date/DatePickerModalContentHeader.js +15 -11
  30. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  31. package/lib/module/Date/DatePickerModalHeader.js +6 -5
  32. package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
  33. package/lib/module/Date/Day.js +4 -4
  34. package/lib/module/Date/Day.js.map +1 -1
  35. package/lib/module/Date/DayName.js +3 -2
  36. package/lib/module/Date/DayName.js.map +1 -1
  37. package/lib/module/Date/Month.js +4 -3
  38. package/lib/module/Date/Month.js.map +1 -1
  39. package/lib/module/Date/YearPicker.js +6 -4
  40. package/lib/module/Date/YearPicker.js.map +1 -1
  41. package/lib/module/Time/timeUtils.js +5 -1
  42. package/lib/module/Time/timeUtils.js.map +1 -1
  43. package/lib/module/index.js +8 -3
  44. package/lib/module/index.js.map +1 -1
  45. package/lib/module/utils.js +11 -0
  46. package/lib/module/utils.js.map +1 -1
  47. package/lib/typescript/index.d.ts +8 -3
  48. package/lib/typescript/utils.d.ts +1 -1
  49. package/package.json +1 -1
  50. package/src/Date/Calendar.tsx +3 -0
  51. package/src/Date/CalendarHeader.tsx +0 -1
  52. package/src/Date/DatePickerModalContent.tsx +1 -4
  53. package/src/Date/DatePickerModalContentHeader.tsx +41 -12
  54. package/src/Date/DatePickerModalHeader.tsx +4 -3
  55. package/src/Date/Day.tsx +24 -10
  56. package/src/Date/DayName.tsx +8 -2
  57. package/src/Date/Month.tsx +19 -6
  58. package/src/Date/YearPicker.tsx +8 -2
  59. package/src/Time/timeUtils.ts +4 -1
  60. package/src/index.tsx +9 -3
  61. package/src/utils.ts +7 -0
@@ -1 +1 @@
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","textFont","isV3","fonts","bodyMedium","medium","styles","height","getMonthHeight","monthHeader","marginTop","monthHeaderSingleMarginTop","marginBottom","monthHeaderSingleMarginBottom","undefined","yearButton","borderRadius","yearButtonInner","monthLabel","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 {\n IconButton,\n Text,\n useTheme,\n TouchableRipple,\n MD2Theme,\n} 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 let textFont = theme?.isV3\n ? theme.fonts.bodyMedium\n : (theme as any as MD2Theme).fonts.medium\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, { ...textFont }]}\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
+ {"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","textFont","isV3","fonts","titleSmall","medium","styles","height","getMonthHeight","monthHeader","marginTop","monthHeaderSingleMarginTop","marginBottom","monthHeaderSingleMarginBottom","undefined","yearButton","borderRadius","yearButtonInner","monthLabel","color","colors","onSurfaceVariant","onSurface","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 {\n IconButton,\n Text,\n useTheme,\n TouchableRipple,\n MD2Theme,\n} 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 let textFont = theme?.isV3\n ? theme.fonts.titleSmall\n : (theme as any as MD2Theme).fonts.medium\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={[\n styles.monthLabel,\n {\n ...textFont,\n color: theme.isV3\n ? theme.colors.onSurfaceVariant\n : theme.colors.onSurface,\n },\n ]}\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={\n selectingYear\n ? theme.isV3\n ? 'menu-up'\n : 'chevron-up'\n : theme.isV3\n ? 'menu-down'\n : 'chevron-down'\n }\n />\n </View>\n </View>\n </TouchableRipple>\n </View>\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 month: {},\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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"}
@@ -84,7 +84,12 @@ function YearPure(_ref3) {
84
84
  backgroundColor: theme.colors.primary
85
85
  } : null]
86
86
  }, /*#__PURE__*/React.createElement(_reactNativePaper.Text, {
87
- style: [styles.yearLabel, selected ? styles.selectedYear : null, { ...textFont
87
+ style: [styles.yearLabel, selected ? // eslint-disable-next-line react-native/no-inline-styles
88
+ {
89
+ color: theme.isV3 ? theme.colors.onPrimary : '#fff'
90
+ } : {
91
+ color: theme.isV3 ? theme.colors.onSurfaceVariant : undefined
92
+ }, { ...textFont
88
93
  }],
89
94
  selectable: false
90
95
  }, year))));
@@ -108,9 +113,6 @@ const styles = _reactNative.StyleSheet.create({
108
113
  height: ITEM_HEIGHT,
109
114
  justifyContent: 'center'
110
115
  },
111
- selectedYear: {
112
- color: '#fff'
113
- },
114
116
  yearButton: {
115
117
  borderRadius: 46 / 2,
116
118
  overflow: 'hidden'
@@ -1 +1 @@
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","textFont","isV3","fonts","bodyLarge","medium","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 { MD2Theme, 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(\n isNaN(startYear) ? 1800 : startYear,\n isNaN(endYear) ? 2200 : endYear\n )\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, startYear])\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\n let textFont = theme?.isV3\n ? theme.fonts.bodyLarge\n : (theme as any as MD2Theme).fonts.medium\n\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={[\n styles.yearLabel,\n selected ? styles.selectedYear : null,\n { ...textFont },\n ]}\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
+ {"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","textFont","isV3","fonts","bodyLarge","medium","String","yearButton","yearInner","primary","yearLabel","color","onPrimary","onSurfaceVariant","undefined","Year","memo","create","flex","top","zIndex","marginLeft","marginRight","height","justifyContent","borderRadius","overflow","alignItems","fontSize","opacity"],"sources":["YearPicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { MD2Theme, 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(\n isNaN(startYear) ? 1800 : startYear,\n isNaN(endYear) ? 2200 : endYear\n )\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, startYear])\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\n let textFont = theme?.isV3\n ? theme.fonts.bodyLarge\n : (theme as any as MD2Theme).fonts.medium\n\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={[\n styles.yearLabel,\n selected\n ? // eslint-disable-next-line react-native/no-inline-styles\n { color: theme.isV3 ? theme.colors.onPrimary : '#fff' }\n : {\n color: theme.isV3\n ? theme.colors.onSurfaceVariant\n : undefined,\n },\n { ...textFont },\n ]}\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 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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"}
@@ -278,7 +278,11 @@ function toHourOutputFormat(newHours, previousHours, is24Hour) {
278
278
  return newHours;
279
279
  }
280
280
 
281
- if (!is24Hour && previousHours === 0 || newHours === 0) {
281
+ if (previousHours === 0 && newHours !== 0) {
282
+ return newHours - 12 < 0 ? newHours : newHours - 12;
283
+ }
284
+
285
+ if (previousHours >= 12 && newHours < 12) {
282
286
  return newHours + 12;
283
287
  }
284
288
 
@@ -1 +1 @@
1
- {"version":3,"names":["circleSize","hourTypes","am","pm","getHourType","hours","undefined","inputTypes","keyboard","picker","reverseInputTypes","inputTypeIcons","getTimeInputTypeIcon","inputType","inputIconMap","clockTypes","minutes","outerHeight","_30","Math","PI","_12","_360","_90","snap","angle","step","a","diff","getHourTypeFromOffset","left","top","size","w","x","y","distance","sqrt","maxPm","getMinutes","handAngle","minute","parseInt","toFixed","getHours","hourType","hour","getAngle","atan","useSwitchColors","highlighted","theme","useTheme","backgroundColor","React","useMemo","dark","isV3","colors","tertiaryContainer","Color","primary","hex","backdrop","primaryContainer","lighten","surface","color","onSurfaceVariant","onTertiaryContainer","background","placeholder","useInputColors","surfaceVariant","secondaryContainer","darken","onSurface","onBackground","onPrimaryContainer","text","toHourInputFormat","is24Hour","toHourOutputFormat","newHours","previousHours"],"sources":["timeUtils.ts"],"sourcesContent":["import * as React from 'react'\nimport Color from 'color'\nimport { MD2Theme, useTheme } from 'react-native-paper'\n\nexport const circleSize = 256\n\nexport type PossibleHourTypes = 'am' | 'pm'\nexport type HourTypeMap = {\n [hourType in PossibleHourTypes]: PossibleHourTypes\n}\nexport const hourTypes: HourTypeMap = {\n am: 'am',\n pm: 'pm',\n}\n\nexport function getHourType(hours: number): PossibleHourTypes | undefined {\n if (hours >= 0 && hours <= 12) {\n return hourTypes.am\n }\n if (hours > 12 && hours <= 24) {\n return hourTypes.pm\n }\n return undefined\n}\n\nexport type PossibleInputTypes = 'keyboard' | 'picker'\nexport type InputTypeMap = {\n [inputType in PossibleInputTypes]: PossibleInputTypes\n}\nexport const inputTypes: InputTypeMap = {\n keyboard: 'keyboard',\n picker: 'picker',\n}\n\nexport const reverseInputTypes: InputTypeMap = {\n keyboard: 'picker',\n picker: 'keyboard',\n}\ntype InputIconMap = {\n [inputType in PossibleInputTypes]: string\n}\nexport const inputTypeIcons: InputIconMap = {\n keyboard: 'keyboard-outline',\n picker: 'clock-outline',\n}\n\nexport const getTimeInputTypeIcon = (\n inputType: PossibleInputTypes,\n inputIconMap?: InputIconMap\n) => {\n return (\n inputIconMap?.[reverseInputTypes[inputType]] ||\n inputTypeIcons?.[reverseInputTypes[inputType]]\n )\n}\n\nexport type PossibleClockTypes = 'hours' | 'minutes'\nexport type ClockTypeMap = {\n [clockType in PossibleClockTypes]: PossibleClockTypes\n}\nexport const clockTypes: ClockTypeMap = {\n minutes: 'minutes',\n hours: 'hours',\n}\n\n// Code inspiration and copied from: https://github.com/ShaneGH/analogue-time-picker/blob/master/src/utils/angle.ts\n\nconst outerHeight = 34\nconst _30 = Math.PI / 6\nconst _12 = Math.PI / 30\nconst _360 = Math.PI * 2\nconst _90 = Math.PI / 2\n\n/** Snap an angle to a given step. E.g. if angle = 22° and step = 10°, round down to 20° */\nexport function snap(angle: number, step: number) {\n let a = angle\n while (a < 0) a += _360\n let diff = a % step\n\n if (diff <= step / 2) {\n return angle - diff\n }\n\n return angle - diff + step\n}\n\n// detect am / pm based on offset\nexport function getHourTypeFromOffset(\n left: number,\n top: number,\n size: number\n): PossibleHourTypes {\n const w = size / 2\n const x = w - left\n const y = size / 2 - top\n\n const distance = Math.sqrt(x * x + y * y)\n const maxPm = w - outerHeight\n\n return distance > maxPm ? hourTypes.am : hourTypes.pm\n}\n\n// Calculate the minute from the hand angle\nexport function getMinutes(handAngle: number) {\n handAngle = snap(handAngle, _12)\n\n let minute = parseInt((((handAngle - _90) % _360) / _12).toFixed(), 10)\n while (minute < 0) minute += 60\n while (minute >= 60) minute -= 60\n\n return minute\n}\n\n// Calculate the hour from the hand angle\nexport function getHours(\n handAngle: number,\n hourType: PossibleHourTypes | undefined\n) {\n handAngle = snap(handAngle, _30)\n\n let hour = parseInt((((handAngle - _90) % _360) / _30).toFixed(), 10)\n if (hour < 0) hour += 12\n if (hour >= 12) hour -= 12\n\n if (hourType === hourTypes.am) {\n if (hour <= 0) {\n hour += 12\n } else if (hour >= 12) {\n hour -= 12\n }\n }\n if (hourType === hourTypes.pm) {\n if (hour <= 0) {\n hour += 12\n } else if (hour > 12) {\n hour -= 12\n }\n }\n\n return hour\n}\n\n/** Get the angle of the left/top co-ordinate from the center of the width.height box */\nexport function getAngle(left: number, top: number, size: number) {\n const x = size / 2 - left\n const y = size / 2 - top\n\n // tan O = y / x\n let angle = x ? Math.atan(y / x) : y < 0 ? -_90 : _90\n if (x < 0) {\n // reflect along vertical axis\n angle = -angle + 2 * (_90 + angle)\n }\n\n return angle\n}\n\nexport function useSwitchColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.tertiaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.colors.backdrop\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.primaryContainer\n }\n\n return Color(theme.colors.primary).lighten(1).hex()\n }\n return theme.colors.surface\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (highlighted && !theme.dark) {\n return theme.isV3 ? theme.colors.onSurfaceVariant : theme.colors.primary\n }\n if (highlighted && theme.dark) {\n return theme.isV3\n ? theme.colors.onTertiaryContainer\n : theme.colors.background\n }\n if (theme.isV3) {\n return theme.colors.onSurfaceVariant\n } else {\n return (theme as any as MD2Theme).colors.placeholder\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function useInputColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.primaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.isV3\n ? theme.colors.surfaceVariant\n : Color(theme.colors.surface).lighten(1.4).hex()\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.secondaryContainer\n }\n return Color(theme.colors.primary).lighten(1).hex()\n }\n if (theme.isV3) {\n return theme.colors.surfaceVariant\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (theme.isV3) {\n if (!highlighted) {\n return theme.isV3 ? theme.colors.onSurface : theme.colors.onBackground\n }\n return theme.isV3\n ? theme.colors.onPrimaryContainer\n : theme.colors.onBackground\n } else {\n if (highlighted && !theme.dark) {\n return theme.colors.primary\n }\n return (theme as any as MD2Theme).colors.text\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function toHourInputFormat(hours: number, is24Hour: boolean): number {\n if (is24Hour) {\n if (hours === 24) {\n return 0\n }\n return hours\n }\n if (hours > 12) {\n return hours - 12\n }\n if (hours === 0) {\n return hours + 12\n }\n return hours\n}\n\nexport function toHourOutputFormat(\n newHours: number,\n previousHours: number,\n is24Hour: boolean\n): number {\n if (is24Hour) {\n return newHours\n }\n if ((!is24Hour && previousHours === 0) || newHours === 0) {\n return newHours + 12\n }\n return newHours\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEO,MAAMA,UAAU,GAAG,GAAnB;;AAMA,MAAMC,SAAsB,GAAG;EACpCC,EAAE,EAAE,IADgC;EAEpCC,EAAE,EAAE;AAFgC,CAA/B;;;AAKA,SAASC,WAAT,CAAqBC,KAArB,EAAmE;EACxE,IAAIA,KAAK,IAAI,CAAT,IAAcA,KAAK,IAAI,EAA3B,EAA+B;IAC7B,OAAOJ,SAAS,CAACC,EAAjB;EACD;;EACD,IAAIG,KAAK,GAAG,EAAR,IAAcA,KAAK,IAAI,EAA3B,EAA+B;IAC7B,OAAOJ,SAAS,CAACE,EAAjB;EACD;;EACD,OAAOG,SAAP;AACD;;AAMM,MAAMC,UAAwB,GAAG;EACtCC,QAAQ,EAAE,UAD4B;EAEtCC,MAAM,EAAE;AAF8B,CAAjC;;AAKA,MAAMC,iBAA+B,GAAG;EAC7CF,QAAQ,EAAE,QADmC;EAE7CC,MAAM,EAAE;AAFqC,CAAxC;;AAOA,MAAME,cAA4B,GAAG;EAC1CH,QAAQ,EAAE,kBADgC;EAE1CC,MAAM,EAAE;AAFkC,CAArC;;;AAKA,MAAMG,oBAAoB,GAAG,CAClCC,SADkC,EAElCC,YAFkC,KAG/B;EACH,OACE,CAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGJ,iBAAiB,CAACG,SAAD,CAApB,CAAZ,MACAF,cADA,aACAA,cADA,uBACAA,cAAc,CAAGD,iBAAiB,CAACG,SAAD,CAApB,CADd,CADF;AAID,CARM;;;AAcA,MAAME,UAAwB,GAAG;EACtCC,OAAO,EAAE,SAD6B;EAEtCX,KAAK,EAAE;AAF+B,CAAjC,C,CAKP;;;AAEA,MAAMY,WAAW,GAAG,EAApB;;AACA,MAAMC,GAAG,GAAGC,IAAI,CAACC,EAAL,GAAU,CAAtB;;AACA,MAAMC,GAAG,GAAGF,IAAI,CAACC,EAAL,GAAU,EAAtB;;AACA,MAAME,IAAI,GAAGH,IAAI,CAACC,EAAL,GAAU,CAAvB;;AACA,MAAMG,GAAG,GAAGJ,IAAI,CAACC,EAAL,GAAU,CAAtB;AAEA;;;AACO,SAASI,IAAT,CAAcC,KAAd,EAA6BC,IAA7B,EAA2C;EAChD,IAAIC,CAAC,GAAGF,KAAR;;EACA,OAAOE,CAAC,GAAG,CAAX,EAAcA,CAAC,IAAIL,IAAL;;EACd,IAAIM,IAAI,GAAGD,CAAC,GAAGD,IAAf;;EAEA,IAAIE,IAAI,IAAIF,IAAI,GAAG,CAAnB,EAAsB;IACpB,OAAOD,KAAK,GAAGG,IAAf;EACD;;EAED,OAAOH,KAAK,GAAGG,IAAR,GAAeF,IAAtB;AACD,C,CAED;;;AACO,SAASG,qBAAT,CACLC,IADK,EAELC,GAFK,EAGLC,IAHK,EAIc;EACnB,MAAMC,CAAC,GAAGD,IAAI,GAAG,CAAjB;EACA,MAAME,CAAC,GAAGD,CAAC,GAAGH,IAAd;EACA,MAAMK,CAAC,GAAGH,IAAI,GAAG,CAAP,GAAWD,GAArB;EAEA,MAAMK,QAAQ,GAAGjB,IAAI,CAACkB,IAAL,CAAUH,CAAC,GAAGA,CAAJ,GAAQC,CAAC,GAAGA,CAAtB,CAAjB;EACA,MAAMG,KAAK,GAAGL,CAAC,GAAGhB,WAAlB;EAEA,OAAOmB,QAAQ,GAAGE,KAAX,GAAmBrC,SAAS,CAACC,EAA7B,GAAkCD,SAAS,CAACE,EAAnD;AACD,C,CAED;;;AACO,SAASoC,UAAT,CAAoBC,SAApB,EAAuC;EAC5CA,SAAS,GAAGhB,IAAI,CAACgB,SAAD,EAAYnB,GAAZ,CAAhB;EAEA,IAAIoB,MAAM,GAAGC,QAAQ,CAAC,CAAE,CAACF,SAAS,GAAGjB,GAAb,IAAoBD,IAArB,GAA6BD,GAA9B,EAAmCsB,OAAnC,EAAD,EAA+C,EAA/C,CAArB;;EACA,OAAOF,MAAM,GAAG,CAAhB,EAAmBA,MAAM,IAAI,EAAV;;EACnB,OAAOA,MAAM,IAAI,EAAjB,EAAqBA,MAAM,IAAI,EAAV;;EAErB,OAAOA,MAAP;AACD,C,CAED;;;AACO,SAASG,QAAT,CACLJ,SADK,EAELK,QAFK,EAGL;EACAL,SAAS,GAAGhB,IAAI,CAACgB,SAAD,EAAYtB,GAAZ,CAAhB;EAEA,IAAI4B,IAAI,GAAGJ,QAAQ,CAAC,CAAE,CAACF,SAAS,GAAGjB,GAAb,IAAoBD,IAArB,GAA6BJ,GAA9B,EAAmCyB,OAAnC,EAAD,EAA+C,EAA/C,CAAnB;EACA,IAAIG,IAAI,GAAG,CAAX,EAAcA,IAAI,IAAI,EAAR;EACd,IAAIA,IAAI,IAAI,EAAZ,EAAgBA,IAAI,IAAI,EAAR;;EAEhB,IAAID,QAAQ,KAAK5C,SAAS,CAACC,EAA3B,EAA+B;IAC7B,IAAI4C,IAAI,IAAI,CAAZ,EAAe;MACbA,IAAI,IAAI,EAAR;IACD,CAFD,MAEO,IAAIA,IAAI,IAAI,EAAZ,EAAgB;MACrBA,IAAI,IAAI,EAAR;IACD;EACF;;EACD,IAAID,QAAQ,KAAK5C,SAAS,CAACE,EAA3B,EAA+B;IAC7B,IAAI2C,IAAI,IAAI,CAAZ,EAAe;MACbA,IAAI,IAAI,EAAR;IACD,CAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;MACpBA,IAAI,IAAI,EAAR;IACD;EACF;;EAED,OAAOA,IAAP;AACD;AAED;;;AACO,SAASC,QAAT,CAAkBjB,IAAlB,EAAgCC,GAAhC,EAA6CC,IAA7C,EAA2D;EAChE,MAAME,CAAC,GAAGF,IAAI,GAAG,CAAP,GAAWF,IAArB;EACA,MAAMK,CAAC,GAAGH,IAAI,GAAG,CAAP,GAAWD,GAArB,CAFgE,CAIhE;;EACA,IAAIN,KAAK,GAAGS,CAAC,GAAGf,IAAI,CAAC6B,IAAL,CAAUb,CAAC,GAAGD,CAAd,CAAH,GAAsBC,CAAC,GAAG,CAAJ,GAAQ,CAACZ,GAAT,GAAeA,GAAlD;;EACA,IAAIW,CAAC,GAAG,CAAR,EAAW;IACT;IACAT,KAAK,GAAG,CAACA,KAAD,GAAS,KAAKF,GAAG,GAAGE,KAAX,CAAjB;EACD;;EAED,OAAOA,KAAP;AACD;;AAEM,SAASwB,eAAT,CAAyBC,WAAzB,EAA+C;EACpD,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMC,eAAe,GAAGC,KAAK,CAACC,OAAN,CAAsB,MAAM;IAClD,IAAIJ,KAAK,CAACK,IAAV,EAAgB;MACd,IAAIN,WAAJ,EAAiB;QACf,OAAOC,KAAK,CAACM,IAAN,GACHN,KAAK,CAACO,MAAN,CAAaC,iBADV,GAEH,IAAAC,cAAA,EAAMT,KAAK,CAACO,MAAN,CAAaG,OAAnB,EAA4BC,GAA5B,EAFJ;MAGD;;MACD,OAAOX,KAAK,CAACO,MAAN,CAAaK,QAApB;IACD;;IAED,IAAIb,WAAJ,EAAiB;MACf,IAAIC,KAAK,CAACM,IAAV,EAAgB;QACd,OAAON,KAAK,CAACO,MAAN,CAAaM,gBAApB;MACD;;MAED,OAAO,IAAAJ,cAAA,EAAMT,KAAK,CAACO,MAAN,CAAaG,OAAnB,EAA4BI,OAA5B,CAAoC,CAApC,EAAuCH,GAAvC,EAAP;IACD;;IACD,OAAOX,KAAK,CAACO,MAAN,CAAaQ,OAApB;EACD,CAlBuB,EAkBrB,CAAChB,WAAD,EAAcC,KAAd,CAlBqB,CAAxB;EAoBA,MAAMgB,KAAK,GAAGb,KAAK,CAACC,OAAN,CAAsB,MAAM;IACxC,IAAIL,WAAW,IAAI,CAACC,KAAK,CAACK,IAA1B,EAAgC;MAC9B,OAAOL,KAAK,CAACM,IAAN,GAAaN,KAAK,CAACO,MAAN,CAAaU,gBAA1B,GAA6CjB,KAAK,CAACO,MAAN,CAAaG,OAAjE;IACD;;IACD,IAAIX,WAAW,IAAIC,KAAK,CAACK,IAAzB,EAA+B;MAC7B,OAAOL,KAAK,CAACM,IAAN,GACHN,KAAK,CAACO,MAAN,CAAaW,mBADV,GAEHlB,KAAK,CAACO,MAAN,CAAaY,UAFjB;IAGD;;IACD,IAAInB,KAAK,CAACM,IAAV,EAAgB;MACd,OAAON,KAAK,CAACO,MAAN,CAAaU,gBAApB;IACD,CAFD,MAEO;MACL,OAAQjB,KAAD,CAA2BO,MAA3B,CAAkCa,WAAzC;IACD;EACF,CAda,EAcX,CAACrB,WAAD,EAAcC,KAAd,CAdW,CAAd;EAgBA,OAAO;IAAEE,eAAF;IAAmBc;EAAnB,CAAP;AACD;;AAEM,SAASK,cAAT,CAAwBtB,WAAxB,EAA8C;EACnD,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMC,eAAe,GAAGC,KAAK,CAACC,OAAN,CAAsB,MAAM;IAClD,IAAIJ,KAAK,CAACK,IAAV,EAAgB;MACd,IAAIN,WAAJ,EAAiB;QACf,OAAOC,KAAK,CAACM,IAAN,GACHN,KAAK,CAACO,MAAN,CAAaM,gBADV,GAEH,IAAAJ,cAAA,EAAMT,KAAK,CAACO,MAAN,CAAaG,OAAnB,EAA4BC,GAA5B,EAFJ;MAGD;;MACD,OAAOX,KAAK,CAACM,IAAN,GACHN,KAAK,CAACO,MAAN,CAAae,cADV,GAEH,IAAAb,cAAA,EAAMT,KAAK,CAACO,MAAN,CAAaQ,OAAnB,EAA4BD,OAA5B,CAAoC,GAApC,EAAyCH,GAAzC,EAFJ;IAGD;;IAED,IAAIZ,WAAJ,EAAiB;MACf,IAAIC,KAAK,CAACM,IAAV,EAAgB;QACd,OAAON,KAAK,CAACO,MAAN,CAAagB,kBAApB;MACD;;MACD,OAAO,IAAAd,cAAA,EAAMT,KAAK,CAACO,MAAN,CAAaG,OAAnB,EAA4BI,OAA5B,CAAoC,CAApC,EAAuCH,GAAvC,EAAP;IACD;;IACD,IAAIX,KAAK,CAACM,IAAV,EAAgB;MACd,OAAON,KAAK,CAACO,MAAN,CAAae,cAApB;IACD;;IACD,OAAO,IAAAb,cAAA,EAAMT,KAAK,CAACO,MAAN,CAAaQ,OAAnB,EAA4BS,MAA5B,CAAmC,GAAnC,EAAwCb,GAAxC,EAAP;EACD,CAtBuB,EAsBrB,CAACZ,WAAD,EAAcC,KAAd,CAtBqB,CAAxB;EAwBA,MAAMgB,KAAK,GAAGb,KAAK,CAACC,OAAN,CAAsB,MAAM;IACxC,IAAIJ,KAAK,CAACM,IAAV,EAAgB;MACd,IAAI,CAACP,WAAL,EAAkB;QAChB,OAAOC,KAAK,CAACM,IAAN,GAAaN,KAAK,CAACO,MAAN,CAAakB,SAA1B,GAAsCzB,KAAK,CAACO,MAAN,CAAamB,YAA1D;MACD;;MACD,OAAO1B,KAAK,CAACM,IAAN,GACHN,KAAK,CAACO,MAAN,CAAaoB,kBADV,GAEH3B,KAAK,CAACO,MAAN,CAAamB,YAFjB;IAGD,CAPD,MAOO;MACL,IAAI3B,WAAW,IAAI,CAACC,KAAK,CAACK,IAA1B,EAAgC;QAC9B,OAAOL,KAAK,CAACO,MAAN,CAAaG,OAApB;MACD;;MACD,OAAQV,KAAD,CAA2BO,MAA3B,CAAkCqB,IAAzC;IACD;EACF,CAda,EAcX,CAAC7B,WAAD,EAAcC,KAAd,CAdW,CAAd;EAgBA,OAAO;IAAEE,eAAF;IAAmBc;EAAnB,CAAP;AACD;;AAEM,SAASa,iBAAT,CAA2B3E,KAA3B,EAA0C4E,QAA1C,EAAqE;EAC1E,IAAIA,QAAJ,EAAc;IACZ,IAAI5E,KAAK,KAAK,EAAd,EAAkB;MAChB,OAAO,CAAP;IACD;;IACD,OAAOA,KAAP;EACD;;EACD,IAAIA,KAAK,GAAG,EAAZ,EAAgB;IACd,OAAOA,KAAK,GAAG,EAAf;EACD;;EACD,IAAIA,KAAK,KAAK,CAAd,EAAiB;IACf,OAAOA,KAAK,GAAG,EAAf;EACD;;EACD,OAAOA,KAAP;AACD;;AAEM,SAAS6E,kBAAT,CACLC,QADK,EAELC,aAFK,EAGLH,QAHK,EAIG;EACR,IAAIA,QAAJ,EAAc;IACZ,OAAOE,QAAP;EACD;;EACD,IAAK,CAACF,QAAD,IAAaG,aAAa,KAAK,CAAhC,IAAsCD,QAAQ,KAAK,CAAvD,EAA0D;IACxD,OAAOA,QAAQ,GAAG,EAAlB;EACD;;EACD,OAAOA,QAAP;AACD"}
1
+ {"version":3,"names":["circleSize","hourTypes","am","pm","getHourType","hours","undefined","inputTypes","keyboard","picker","reverseInputTypes","inputTypeIcons","getTimeInputTypeIcon","inputType","inputIconMap","clockTypes","minutes","outerHeight","_30","Math","PI","_12","_360","_90","snap","angle","step","a","diff","getHourTypeFromOffset","left","top","size","w","x","y","distance","sqrt","maxPm","getMinutes","handAngle","minute","parseInt","toFixed","getHours","hourType","hour","getAngle","atan","useSwitchColors","highlighted","theme","useTheme","backgroundColor","React","useMemo","dark","isV3","colors","tertiaryContainer","Color","primary","hex","backdrop","primaryContainer","lighten","surface","color","onSurfaceVariant","onTertiaryContainer","background","placeholder","useInputColors","surfaceVariant","secondaryContainer","darken","onSurface","onBackground","onPrimaryContainer","text","toHourInputFormat","is24Hour","toHourOutputFormat","newHours","previousHours"],"sources":["timeUtils.ts"],"sourcesContent":["import * as React from 'react'\nimport Color from 'color'\nimport { MD2Theme, useTheme } from 'react-native-paper'\n\nexport const circleSize = 256\n\nexport type PossibleHourTypes = 'am' | 'pm'\nexport type HourTypeMap = {\n [hourType in PossibleHourTypes]: PossibleHourTypes\n}\nexport const hourTypes: HourTypeMap = {\n am: 'am',\n pm: 'pm',\n}\n\nexport function getHourType(hours: number): PossibleHourTypes | undefined {\n if (hours >= 0 && hours <= 12) {\n return hourTypes.am\n }\n if (hours > 12 && hours <= 24) {\n return hourTypes.pm\n }\n return undefined\n}\n\nexport type PossibleInputTypes = 'keyboard' | 'picker'\nexport type InputTypeMap = {\n [inputType in PossibleInputTypes]: PossibleInputTypes\n}\nexport const inputTypes: InputTypeMap = {\n keyboard: 'keyboard',\n picker: 'picker',\n}\n\nexport const reverseInputTypes: InputTypeMap = {\n keyboard: 'picker',\n picker: 'keyboard',\n}\ntype InputIconMap = {\n [inputType in PossibleInputTypes]: string\n}\nexport const inputTypeIcons: InputIconMap = {\n keyboard: 'keyboard-outline',\n picker: 'clock-outline',\n}\n\nexport const getTimeInputTypeIcon = (\n inputType: PossibleInputTypes,\n inputIconMap?: InputIconMap\n) => {\n return (\n inputIconMap?.[reverseInputTypes[inputType]] ||\n inputTypeIcons?.[reverseInputTypes[inputType]]\n )\n}\n\nexport type PossibleClockTypes = 'hours' | 'minutes'\nexport type ClockTypeMap = {\n [clockType in PossibleClockTypes]: PossibleClockTypes\n}\nexport const clockTypes: ClockTypeMap = {\n minutes: 'minutes',\n hours: 'hours',\n}\n\n// Code inspiration and copied from: https://github.com/ShaneGH/analogue-time-picker/blob/master/src/utils/angle.ts\n\nconst outerHeight = 34\nconst _30 = Math.PI / 6\nconst _12 = Math.PI / 30\nconst _360 = Math.PI * 2\nconst _90 = Math.PI / 2\n\n/** Snap an angle to a given step. E.g. if angle = 22° and step = 10°, round down to 20° */\nexport function snap(angle: number, step: number) {\n let a = angle\n while (a < 0) a += _360\n let diff = a % step\n\n if (diff <= step / 2) {\n return angle - diff\n }\n\n return angle - diff + step\n}\n\n// detect am / pm based on offset\nexport function getHourTypeFromOffset(\n left: number,\n top: number,\n size: number\n): PossibleHourTypes {\n const w = size / 2\n const x = w - left\n const y = size / 2 - top\n\n const distance = Math.sqrt(x * x + y * y)\n const maxPm = w - outerHeight\n\n return distance > maxPm ? hourTypes.am : hourTypes.pm\n}\n\n// Calculate the minute from the hand angle\nexport function getMinutes(handAngle: number) {\n handAngle = snap(handAngle, _12)\n\n let minute = parseInt((((handAngle - _90) % _360) / _12).toFixed(), 10)\n while (minute < 0) minute += 60\n while (minute >= 60) minute -= 60\n\n return minute\n}\n\n// Calculate the hour from the hand angle\nexport function getHours(\n handAngle: number,\n hourType: PossibleHourTypes | undefined\n) {\n handAngle = snap(handAngle, _30)\n\n let hour = parseInt((((handAngle - _90) % _360) / _30).toFixed(), 10)\n if (hour < 0) hour += 12\n if (hour >= 12) hour -= 12\n\n if (hourType === hourTypes.am) {\n if (hour <= 0) {\n hour += 12\n } else if (hour >= 12) {\n hour -= 12\n }\n }\n if (hourType === hourTypes.pm) {\n if (hour <= 0) {\n hour += 12\n } else if (hour > 12) {\n hour -= 12\n }\n }\n\n return hour\n}\n\n/** Get the angle of the left/top co-ordinate from the center of the width.height box */\nexport function getAngle(left: number, top: number, size: number) {\n const x = size / 2 - left\n const y = size / 2 - top\n\n // tan O = y / x\n let angle = x ? Math.atan(y / x) : y < 0 ? -_90 : _90\n if (x < 0) {\n // reflect along vertical axis\n angle = -angle + 2 * (_90 + angle)\n }\n\n return angle\n}\n\nexport function useSwitchColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.tertiaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.colors.backdrop\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.primaryContainer\n }\n\n return Color(theme.colors.primary).lighten(1).hex()\n }\n return theme.colors.surface\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (highlighted && !theme.dark) {\n return theme.isV3 ? theme.colors.onSurfaceVariant : theme.colors.primary\n }\n if (highlighted && theme.dark) {\n return theme.isV3\n ? theme.colors.onTertiaryContainer\n : theme.colors.background\n }\n if (theme.isV3) {\n return theme.colors.onSurfaceVariant\n } else {\n return (theme as any as MD2Theme).colors.placeholder\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function useInputColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.primaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.isV3\n ? theme.colors.surfaceVariant\n : Color(theme.colors.surface).lighten(1.4).hex()\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.secondaryContainer\n }\n return Color(theme.colors.primary).lighten(1).hex()\n }\n if (theme.isV3) {\n return theme.colors.surfaceVariant\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (theme.isV3) {\n if (!highlighted) {\n return theme.isV3 ? theme.colors.onSurface : theme.colors.onBackground\n }\n return theme.isV3\n ? theme.colors.onPrimaryContainer\n : theme.colors.onBackground\n } else {\n if (highlighted && !theme.dark) {\n return theme.colors.primary\n }\n return (theme as any as MD2Theme).colors.text\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function toHourInputFormat(hours: number, is24Hour: boolean): number {\n if (is24Hour) {\n if (hours === 24) {\n return 0\n }\n return hours\n }\n if (hours > 12) {\n return hours - 12\n }\n if (hours === 0) {\n return hours + 12\n }\n return hours\n}\n\nexport function toHourOutputFormat(\n newHours: number,\n previousHours: number,\n is24Hour: boolean\n): number {\n if (is24Hour) {\n return newHours\n }\n if (previousHours === 0 && newHours !== 0) {\n return newHours - 12 < 0 ? newHours : newHours - 12\n }\n if (previousHours >= 12 && newHours < 12) {\n return newHours + 12\n }\n return newHours\n}\n"],"mappings":"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"}
@@ -12,12 +12,17 @@ var _exportNames = {
12
12
  DatePickerInput: true,
13
13
  registerTranslation: true,
14
14
  getTranslation: true,
15
- nl: true,
15
+ ar: true,
16
+ de: true,
16
17
  en: true,
18
+ enGB: true,
19
+ es: true,
20
+ fr: true,
21
+ it: true,
22
+ ko: true,
23
+ nl: true,
17
24
  pl: true,
18
25
  pt: true,
19
- enGB: true,
20
- de: true,
21
26
  tr: true
22
27
  };
23
28
  Object.defineProperty(exports, "Calendar", {
@@ -56,6 +61,12 @@ Object.defineProperty(exports, "TimePickerModal", {
56
61
  return _TimePickerModal.default;
57
62
  }
58
63
  });
64
+ Object.defineProperty(exports, "ar", {
65
+ enumerable: true,
66
+ get: function () {
67
+ return _ar.default;
68
+ }
69
+ });
59
70
  Object.defineProperty(exports, "de", {
60
71
  enumerable: true,
61
72
  get: function () {
@@ -74,12 +85,36 @@ Object.defineProperty(exports, "enGB", {
74
85
  return _enGB.default;
75
86
  }
76
87
  });
88
+ Object.defineProperty(exports, "es", {
89
+ enumerable: true,
90
+ get: function () {
91
+ return _es.default;
92
+ }
93
+ });
94
+ Object.defineProperty(exports, "fr", {
95
+ enumerable: true,
96
+ get: function () {
97
+ return _fr.default;
98
+ }
99
+ });
77
100
  Object.defineProperty(exports, "getTranslation", {
78
101
  enumerable: true,
79
102
  get: function () {
80
103
  return _utils.getTranslation;
81
104
  }
82
105
  });
106
+ Object.defineProperty(exports, "it", {
107
+ enumerable: true,
108
+ get: function () {
109
+ return _it.default;
110
+ }
111
+ });
112
+ Object.defineProperty(exports, "ko", {
113
+ enumerable: true,
114
+ get: function () {
115
+ return _ko.default;
116
+ }
117
+ });
83
118
  Object.defineProperty(exports, "nl", {
84
119
  enumerable: true,
85
120
  get: function () {
@@ -137,17 +172,27 @@ var _DatePickerInput = _interopRequireDefault(require("./Date/DatePickerInput"))
137
172
 
138
173
  var _utils = require("./translations/utils");
139
174
 
140
- var _nl = _interopRequireDefault(require("./translations/nl"));
175
+ var _ar = _interopRequireDefault(require("./translations/ar"));
176
+
177
+ var _de = _interopRequireDefault(require("./translations/de"));
141
178
 
142
179
  var _en = _interopRequireDefault(require("./translations/en"));
143
180
 
144
- var _pl = _interopRequireDefault(require("./translations/pl"));
181
+ var _enGB = _interopRequireDefault(require("./translations/enGB"));
145
182
 
146
- var _pt = _interopRequireDefault(require("./translations/pt"));
183
+ var _es = _interopRequireDefault(require("./translations/es"));
147
184
 
148
- var _enGB = _interopRequireDefault(require("./translations/enGB"));
185
+ var _fr = _interopRequireDefault(require("./translations/fr"));
149
186
 
150
- var _de = _interopRequireDefault(require("./translations/de"));
187
+ var _it = _interopRequireDefault(require("./translations/it"));
188
+
189
+ var _ko = _interopRequireDefault(require("./translations/ko"));
190
+
191
+ var _nl = _interopRequireDefault(require("./translations/nl"));
192
+
193
+ var _pl = _interopRequireDefault(require("./translations/pl"));
194
+
195
+ var _pt = _interopRequireDefault(require("./translations/pt"));
151
196
 
152
197
  var _tr = _interopRequireDefault(require("./translations/tr"));
153
198
 
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export { default as Calendar } from './Date/Calendar'\nexport { default as DatePickerModal } from './Date/DatePickerModal'\nexport * from './Date/DatePickerModal'\nexport { default as DatePickerModalContent } from './Date/DatePickerModalContent'\nexport { default as TimePickerModal } from './Time/TimePickerModal'\nexport { default as TimePicker } from './Time/TimePicker'\nexport { default as DatePickerInput } from './Date/DatePickerInput'\nexport type { TranslationsType } from './translations/utils'\nexport { registerTranslation, getTranslation } from './translations/utils'\nexport { default as nl } from './translations/nl'\nexport { default as en } from './translations/en'\nexport { default as pl } from './translations/pl'\nexport { default as pt } from './translations/pt'\nexport { default as enGB } from './translations/enGB'\nexport { default as de } from './translations/de'\nexport { default as tr } from './translations/tr'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export { default as Calendar } from './Date/Calendar'\nexport { default as DatePickerModal } from './Date/DatePickerModal'\nexport * from './Date/DatePickerModal'\nexport { default as DatePickerModalContent } from './Date/DatePickerModalContent'\nexport { default as TimePickerModal } from './Time/TimePickerModal'\nexport { default as TimePicker } from './Time/TimePicker'\nexport { default as DatePickerInput } from './Date/DatePickerInput'\nexport type { TranslationsType } from './translations/utils'\nexport { registerTranslation, getTranslation } from './translations/utils'\n\nexport { default as ar } from './translations/ar'\nexport { default as de } from './translations/de'\nexport { default as en } from './translations/en'\nexport { default as enGB } from './translations/enGB'\nexport { default as es } from './translations/es'\nexport { default as fr } from './translations/fr'\nexport { default as it } from './translations/it'\nexport { default as ko } from './translations/ko'\nexport { default as nl } from './translations/nl'\nexport { default as pl } from './translations/pl'\nexport { default as pt } from './translations/pt'\nexport { default as tr } from './translations/tr'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
@@ -32,6 +32,11 @@ function useLatest(value) {
32
32
 
33
33
  function useHeaderBackgroundColor() {
34
34
  const theme = (0, _reactNativePaper.useTheme)();
35
+
36
+ if (theme.isV3) {
37
+ return theme.colors.surface;
38
+ }
39
+
35
40
  return theme.dark && theme.mode === 'adaptive' ? (0, _reactNativePaper.overlay)(4, theme.colors.surface) : theme.colors.primary;
36
41
  }
37
42
 
@@ -42,7 +47,13 @@ function useHeaderColorIsLight() {
42
47
  }
43
48
 
44
49
  function useHeaderTextColor() {
50
+ const theme = (0, _reactNativePaper.useTheme)();
45
51
  const isLight = useHeaderColorIsLight();
52
+
53
+ if (theme.isV3) {
54
+ return theme.colors.onSurfaceVariant;
55
+ }
56
+
46
57
  return !isLight ? '#fff' : '#000';
47
58
  }
48
59
 
@@ -1 +1 @@
1
- {"version":3,"names":["useLatest","value","ref","React","useRef","current","useHeaderBackgroundColor","theme","useTheme","dark","mode","overlay","colors","surface","primary","useHeaderColorIsLight","background","Color","isLight","useHeaderTextColor","useTextColorOnPrimary","isDark","isV3","onSurface","onPrimary","range","start","end","Array","fill","map","_","i","lightenBy","color","ratio","lightness","darkenBy"],"sources":["utils.ts"],"sourcesContent":["import * as React from 'react'\nimport {\n DefaultTheme,\n MD3DarkTheme,\n overlay,\n useTheme,\n} from 'react-native-paper'\nimport Color from 'color'\n\nexport type PaperTheme = typeof MD3DarkTheme | typeof DefaultTheme\n\nexport function useLatest<T>(value: T) {\n const ref = React.useRef(value)\n ref.current = value\n return ref\n}\n\nexport function useHeaderBackgroundColor() {\n const theme = useTheme()\n return theme.dark && theme.mode === 'adaptive'\n ? overlay(4, theme.colors.surface)\n : theme.colors.primary\n}\n\nexport function useHeaderColorIsLight() {\n const theme = useTheme()\n const background =\n theme.dark && theme.mode === 'adaptive'\n ? theme.colors.surface\n : theme.colors.primary\n return Color(background).isLight()\n}\n\nexport function useHeaderTextColor() {\n const isLight = useHeaderColorIsLight()\n return !isLight ? '#fff' : '#000'\n}\n\nexport function useTextColorOnPrimary() {\n const theme = useTheme()\n const isDark = !Color(theme.colors.primary).isLight()\n\n if (theme.isV3) {\n if (isDark && theme.dark) {\n return theme.colors.onSurface\n } else {\n return theme.colors.onPrimary\n }\n }\n\n return isDark ? '#fff' : '#000'\n}\n\nexport function range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, i) => start + i)\n}\n\nexport function lightenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness + (100 - lightness) * ratio)\n}\n\nexport function darkenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness - lightness * ratio)\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;;AACA;;AAMA;;;;;;;;AAIO,SAASA,SAAT,CAAsBC,KAAtB,EAAgC;EACrC,MAAMC,GAAG,GAAGC,KAAK,CAACC,MAAN,CAAaH,KAAb,CAAZ;EACAC,GAAG,CAACG,OAAJ,GAAcJ,KAAd;EACA,OAAOC,GAAP;AACD;;AAEM,SAASI,wBAAT,GAAoC;EACzC,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,OAAOD,KAAK,CAACE,IAAN,IAAcF,KAAK,CAACG,IAAN,KAAe,UAA7B,GACH,IAAAC,yBAAA,EAAQ,CAAR,EAAWJ,KAAK,CAACK,MAAN,CAAaC,OAAxB,CADG,GAEHN,KAAK,CAACK,MAAN,CAAaE,OAFjB;AAGD;;AAEM,SAASC,qBAAT,GAAiC;EACtC,MAAMR,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMQ,UAAU,GACdT,KAAK,CAACE,IAAN,IAAcF,KAAK,CAACG,IAAN,KAAe,UAA7B,GACIH,KAAK,CAACK,MAAN,CAAaC,OADjB,GAEIN,KAAK,CAACK,MAAN,CAAaE,OAHnB;EAIA,OAAO,IAAAG,cAAA,EAAMD,UAAN,EAAkBE,OAAlB,EAAP;AACD;;AAEM,SAASC,kBAAT,GAA8B;EACnC,MAAMD,OAAO,GAAGH,qBAAqB,EAArC;EACA,OAAO,CAACG,OAAD,GAAW,MAAX,GAAoB,MAA3B;AACD;;AAEM,SAASE,qBAAT,GAAiC;EACtC,MAAMb,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMa,MAAM,GAAG,CAAC,IAAAJ,cAAA,EAAMV,KAAK,CAACK,MAAN,CAAaE,OAAnB,EAA4BI,OAA5B,EAAhB;;EAEA,IAAIX,KAAK,CAACe,IAAV,EAAgB;IACd,IAAID,MAAM,IAAId,KAAK,CAACE,IAApB,EAA0B;MACxB,OAAOF,KAAK,CAACK,MAAN,CAAaW,SAApB;IACD,CAFD,MAEO;MACL,OAAOhB,KAAK,CAACK,MAAN,CAAaY,SAApB;IACD;EACF;;EAED,OAAOH,MAAM,GAAG,MAAH,GAAY,MAAzB;AACD;;AAEM,SAASI,KAAT,CAAeC,KAAf,EAA8BC,GAA9B,EAA2C;EAChD,OAAOC,KAAK,CAACD,GAAG,GAAGD,KAAN,GAAc,CAAf,CAAL,CACJG,IADI,CACC,IADD,EAEJC,GAFI,CAEA,CAACC,CAAD,EAAIC,CAAJ,KAAUN,KAAK,GAAGM,CAFlB,CAAP;AAGD;;AAEM,SAASC,SAAT,CAAmBC,KAAnB,EAAiCC,KAAjC,EAAgD;EACrD,MAAMC,SAAS,GAAGF,KAAK,CAACE,SAAN,EAAlB;EACA,OAAOF,KAAK,CAACE,SAAN,CAAgBA,SAAS,GAAG,CAAC,MAAMA,SAAP,IAAoBD,KAAhD,CAAP;AACD;;AAEM,SAASE,QAAT,CAAkBH,KAAlB,EAAgCC,KAAhC,EAA+C;EACpD,MAAMC,SAAS,GAAGF,KAAK,CAACE,SAAN,EAAlB;EACA,OAAOF,KAAK,CAACE,SAAN,CAAgBA,SAAS,GAAGA,SAAS,GAAGD,KAAxC,CAAP;AACD"}
1
+ {"version":3,"names":["useLatest","value","ref","React","useRef","current","useHeaderBackgroundColor","theme","useTheme","isV3","colors","surface","dark","mode","overlay","primary","useHeaderColorIsLight","background","Color","isLight","useHeaderTextColor","onSurfaceVariant","useTextColorOnPrimary","isDark","onSurface","onPrimary","range","start","end","Array","fill","map","_","i","lightenBy","color","ratio","lightness","darkenBy"],"sources":["utils.ts"],"sourcesContent":["import * as React from 'react'\nimport {\n DefaultTheme,\n MD3DarkTheme,\n overlay,\n useTheme,\n} from 'react-native-paper'\nimport Color from 'color'\n\nexport type PaperTheme = typeof MD3DarkTheme | typeof DefaultTheme\n\nexport function useLatest<T>(value: T) {\n const ref = React.useRef(value)\n ref.current = value\n return ref\n}\n\nexport function useHeaderBackgroundColor() {\n const theme = useTheme()\n if (theme.isV3) {\n return theme.colors.surface\n }\n return theme.dark && theme.mode === 'adaptive'\n ? overlay(4, theme.colors.surface)\n : theme.colors.primary\n}\n\nexport function useHeaderColorIsLight() {\n const theme = useTheme()\n const background =\n theme.dark && theme.mode === 'adaptive'\n ? theme.colors.surface\n : theme.colors.primary\n return Color(background).isLight()\n}\n\nexport function useHeaderTextColor() {\n const theme = useTheme()\n const isLight = useHeaderColorIsLight()\n if (theme.isV3) {\n return theme.colors.onSurfaceVariant\n }\n return !isLight ? '#fff' : '#000'\n}\n\nexport function useTextColorOnPrimary() {\n const theme = useTheme()\n const isDark = !Color(theme.colors.primary).isLight()\n\n if (theme.isV3) {\n if (isDark && theme.dark) {\n return theme.colors.onSurface\n } else {\n return theme.colors.onPrimary\n }\n }\n\n return isDark ? '#fff' : '#000'\n}\n\nexport function range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, i) => start + i)\n}\n\nexport function lightenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness + (100 - lightness) * ratio)\n}\n\nexport function darkenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness - lightness * ratio)\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;;AACA;;AAMA;;;;;;;;AAIO,SAASA,SAAT,CAAsBC,KAAtB,EAAgC;EACrC,MAAMC,GAAG,GAAGC,KAAK,CAACC,MAAN,CAAaH,KAAb,CAAZ;EACAC,GAAG,CAACG,OAAJ,GAAcJ,KAAd;EACA,OAAOC,GAAP;AACD;;AAEM,SAASI,wBAAT,GAAoC;EACzC,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;;EACA,IAAID,KAAK,CAACE,IAAV,EAAgB;IACd,OAAOF,KAAK,CAACG,MAAN,CAAaC,OAApB;EACD;;EACD,OAAOJ,KAAK,CAACK,IAAN,IAAcL,KAAK,CAACM,IAAN,KAAe,UAA7B,GACH,IAAAC,yBAAA,EAAQ,CAAR,EAAWP,KAAK,CAACG,MAAN,CAAaC,OAAxB,CADG,GAEHJ,KAAK,CAACG,MAAN,CAAaK,OAFjB;AAGD;;AAEM,SAASC,qBAAT,GAAiC;EACtC,MAAMT,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMS,UAAU,GACdV,KAAK,CAACK,IAAN,IAAcL,KAAK,CAACM,IAAN,KAAe,UAA7B,GACIN,KAAK,CAACG,MAAN,CAAaC,OADjB,GAEIJ,KAAK,CAACG,MAAN,CAAaK,OAHnB;EAIA,OAAO,IAAAG,cAAA,EAAMD,UAAN,EAAkBE,OAAlB,EAAP;AACD;;AAEM,SAASC,kBAAT,GAA8B;EACnC,MAAMb,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMW,OAAO,GAAGH,qBAAqB,EAArC;;EACA,IAAIT,KAAK,CAACE,IAAV,EAAgB;IACd,OAAOF,KAAK,CAACG,MAAN,CAAaW,gBAApB;EACD;;EACD,OAAO,CAACF,OAAD,GAAW,MAAX,GAAoB,MAA3B;AACD;;AAEM,SAASG,qBAAT,GAAiC;EACtC,MAAMf,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMe,MAAM,GAAG,CAAC,IAAAL,cAAA,EAAMX,KAAK,CAACG,MAAN,CAAaK,OAAnB,EAA4BI,OAA5B,EAAhB;;EAEA,IAAIZ,KAAK,CAACE,IAAV,EAAgB;IACd,IAAIc,MAAM,IAAIhB,KAAK,CAACK,IAApB,EAA0B;MACxB,OAAOL,KAAK,CAACG,MAAN,CAAac,SAApB;IACD,CAFD,MAEO;MACL,OAAOjB,KAAK,CAACG,MAAN,CAAae,SAApB;IACD;EACF;;EAED,OAAOF,MAAM,GAAG,MAAH,GAAY,MAAzB;AACD;;AAEM,SAASG,KAAT,CAAeC,KAAf,EAA8BC,GAA9B,EAA2C;EAChD,OAAOC,KAAK,CAACD,GAAG,GAAGD,KAAN,GAAc,CAAf,CAAL,CACJG,IADI,CACC,IADD,EAEJC,GAFI,CAEA,CAACC,CAAD,EAAIC,CAAJ,KAAUN,KAAK,GAAGM,CAFlB,CAAP;AAGD;;AAEM,SAASC,SAAT,CAAmBC,KAAnB,EAAiCC,KAAjC,EAAgD;EACrD,MAAMC,SAAS,GAAGF,KAAK,CAACE,SAAN,EAAlB;EACA,OAAOF,KAAK,CAACE,SAAN,CAAgBA,SAAS,GAAG,CAAC,MAAMA,SAAP,IAAoBD,KAAhD,CAAP;AACD;;AAEM,SAASE,QAAT,CAAkBH,KAAlB,EAAgCC,KAAhC,EAA+C;EACpD,MAAMC,SAAS,GAAGF,KAAK,CAACE,SAAN,EAAlB;EACA,OAAOF,KAAK,CAACE,SAAN,CAAgBA,SAAS,GAAGA,SAAS,GAAGD,KAAxC,CAAP;AACD"}
@@ -27,6 +27,10 @@ function Calendar(props) {
27
27
  } = props;
28
28
  const theme = useTheme();
29
29
  const selectColor = useMemo(() => {
30
+ if (theme.isV3) {
31
+ return theme.colors.primaryContainer;
32
+ }
33
+
30
34
  if (theme.dark) {
31
35
  return darkenBy(Color(theme.colors.primary), 0.1).hex();
32
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","Swiper","Month","areDatesOnSameDay","dateToUnix","getEndOfDay","getInitialIndex","CalendarHeader","useCallback","useMemo","YearPicker","Color","useTheme","useLatest","lightenBy","darkenBy","Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","startYear","endYear","dates","validRange","dateMode","theme","selectColor","dark","colors","primary","hex","scrollMode","selectedYear","setSelectedYear","useState","undefined","selectingYear","setSelectingYear","onPressYear","year","prev","startDateRef","endDateRef","onChangeRef","datesRef","onPressDate","d","current","sd","ed","isStart","exists","some","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","index","roundness","onPrev","onNext","create","flex","viewPager","memo"],"sources":["Calendar.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport Swiper from './Swiper'\nimport Month from './Month'\nimport {\n areDatesOnSameDay,\n dateToUnix,\n DisableWeekDaysType,\n getEndOfDay,\n getInitialIndex,\n} from './dateUtils'\n\nimport CalendarHeader from './CalendarHeader'\nimport { useCallback, useMemo } from 'react'\nimport YearPicker from './YearPicker'\nimport Color from 'color'\nimport { useTheme } from 'react-native-paper'\nimport { useLatest, lightenBy, darkenBy } from '../utils'\n\nexport type ModeType = 'single' | 'range' | 'multiple'\n\nexport type ScrollModeType = 'horizontal' | 'vertical'\n\nexport type ValidRangeType = {\n startDate?: Date\n endDate?: Date\n disabledDates?: Date[]\n}\n\nexport type BaseCalendarProps = {\n locale: string\n disableWeekDays?: DisableWeekDaysType\n validRange?: ValidRangeType\n startYear?: number\n endYear?: number\n\n // here they are optional but in final implementation they are required\n date?: CalendarDate\n dates?: CalendarDates\n startDate?: CalendarDate\n endDate?: CalendarDate\n dateMode?: 'start' | 'end'\n}\n\nexport type CalendarDate = Date | undefined\nexport type CalendarDates = Date[] | undefined | null\n\nexport type RangeChange = (params: {\n startDate: CalendarDate\n endDate: CalendarDate\n}) => any\n\nexport type SingleChange = (params: { date: CalendarDate }) => void\n\nexport type MultiChange = (params: {\n dates: CalendarDates\n datePressed: Date\n change: 'added' | 'removed'\n}) => any\n\nexport type MultiConfirm = (params: { dates: Date[] }) => void\n\nexport interface CalendarSingleProps extends BaseCalendarProps {\n mode: 'single'\n date: CalendarDate\n onChange: SingleChange\n}\n\nexport interface CalendarRangeProps extends BaseCalendarProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange: RangeChange\n}\n\nexport interface CalendarMultiProps extends BaseCalendarProps {\n mode: 'multiple'\n dates: CalendarDates\n onChange: MultiChange\n}\n\nfunction Calendar(\n props: CalendarSingleProps | CalendarRangeProps | CalendarMultiProps\n) {\n const {\n locale,\n mode,\n onChange,\n startDate,\n endDate,\n date,\n disableWeekDays,\n startYear,\n endYear,\n dates,\n validRange,\n dateMode,\n } = props\n\n const theme = useTheme()\n\n const selectColor = useMemo<string>(() => {\n if (theme.dark) {\n return darkenBy(Color(theme.colors.primary), 0.1).hex()\n }\n return lightenBy(Color(theme.colors.primary), 0.9).hex()\n }, [theme])\n\n const scrollMode =\n mode === 'range' || mode === 'multiple' ? 'vertical' : 'horizontal'\n\n const [selectedYear, setSelectedYear] = React.useState<number | undefined>(\n undefined\n )\n const [selectingYear, setSelectingYear] = React.useState<boolean>(false)\n const onPressYear = useCallback(\n (year: number) => {\n setSelectedYear(year)\n setSelectingYear((prev) => !prev)\n },\n [setSelectingYear]\n )\n\n // prevent re-rendering all months when something changed we only need the\n // latest version of the props and we don't want the useCallback to change\n const startDateRef = useLatest<CalendarDate>(startDate)\n const endDateRef = useLatest<CalendarDate>(endDate)\n const onChangeRef = useLatest<RangeChange | SingleChange | MultiChange>(\n onChange\n )\n const datesRef = useLatest<CalendarDates>(dates)\n\n const onPressDate = useCallback(\n (d: Date) => {\n if (mode === 'single') {\n ;(onChangeRef.current as SingleChange)({\n date: dateMode === 'start' ? d : getEndOfDay(d),\n })\n } else if (mode === 'range') {\n const sd = startDateRef.current\n const ed = endDateRef.current\n let isStart: boolean = true\n if (sd && !ed && dateToUnix(d) >= dateToUnix(sd!)) {\n isStart = false\n }\n ;(onChangeRef.current as RangeChange)({\n startDate: isStart ? d : sd,\n endDate: !isStart ? getEndOfDay(d) : undefined,\n })\n } else if (mode === 'multiple') {\n datesRef.current = datesRef.current || []\n const exists = datesRef.current.some((ed) => areDatesOnSameDay(ed, d))\n\n const newDates = exists\n ? datesRef.current.filter((ed) => !areDatesOnSameDay(ed, d))\n : [...datesRef.current, d]\n\n newDates.sort((a, b) => a.getTime() - b.getTime())\n ;(onChangeRef.current as MultiChange)({\n dates: newDates,\n datePressed: d,\n change: exists ? 'removed' : 'added',\n })\n }\n },\n [mode, dateMode, onChangeRef, startDateRef, endDateRef, datesRef]\n )\n\n const firstDate = startDate || date || dates?.[0]\n\n return (\n <View style={styles.root}>\n <Swiper\n initialIndex={getInitialIndex(firstDate)}\n selectedYear={selectedYear}\n scrollMode={scrollMode}\n renderItem={({ index }) => (\n <Month\n locale={locale}\n mode={mode}\n key={index}\n validRange={validRange}\n index={index}\n startDate={startDate}\n endDate={endDate}\n date={date}\n dates={dates}\n onPressYear={onPressYear}\n selectingYear={selectingYear}\n onPressDate={onPressDate}\n scrollMode={scrollMode}\n primaryColor={theme.colors.primary}\n selectColor={selectColor}\n roundness={theme.roundness}\n disableWeekDays={disableWeekDays}\n />\n )}\n renderHeader={({ onPrev, onNext }) => (\n <CalendarHeader\n locale={locale}\n onPrev={onPrev}\n onNext={onNext}\n scrollMode={scrollMode}\n disableWeekDays={disableWeekDays}\n />\n )}\n />\n {scrollMode === 'horizontal' ? (\n <YearPicker\n selectedYear={selectedYear}\n selectingYear={selectingYear}\n onPressYear={onPressYear}\n startYear={startYear || 1800}\n endYear={endYear || 2200}\n />\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n viewPager: { flex: 1 },\n})\n\nexport default React.memo(Calendar)\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","StyleSheet","View","Swiper","Month","areDatesOnSameDay","dateToUnix","getEndOfDay","getInitialIndex","CalendarHeader","useCallback","useMemo","YearPicker","Color","useTheme","useLatest","lightenBy","darkenBy","Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","startYear","endYear","dates","validRange","dateMode","theme","selectColor","isV3","colors","primaryContainer","dark","primary","hex","scrollMode","selectedYear","setSelectedYear","useState","undefined","selectingYear","setSelectingYear","onPressYear","year","prev","startDateRef","endDateRef","onChangeRef","datesRef","onPressDate","d","current","sd","ed","isStart","exists","some","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","index","roundness","onPrev","onNext","create","flex","viewPager","memo"],"sources":["Calendar.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport Swiper from './Swiper'\nimport Month from './Month'\nimport {\n areDatesOnSameDay,\n dateToUnix,\n DisableWeekDaysType,\n getEndOfDay,\n getInitialIndex,\n} from './dateUtils'\n\nimport CalendarHeader from './CalendarHeader'\nimport { useCallback, useMemo } from 'react'\nimport YearPicker from './YearPicker'\nimport Color from 'color'\nimport { useTheme } from 'react-native-paper'\nimport { useLatest, lightenBy, darkenBy } from '../utils'\n\nexport type ModeType = 'single' | 'range' | 'multiple'\n\nexport type ScrollModeType = 'horizontal' | 'vertical'\n\nexport type ValidRangeType = {\n startDate?: Date\n endDate?: Date\n disabledDates?: Date[]\n}\n\nexport type BaseCalendarProps = {\n locale: string\n disableWeekDays?: DisableWeekDaysType\n validRange?: ValidRangeType\n startYear?: number\n endYear?: number\n\n // here they are optional but in final implementation they are required\n date?: CalendarDate\n dates?: CalendarDates\n startDate?: CalendarDate\n endDate?: CalendarDate\n dateMode?: 'start' | 'end'\n}\n\nexport type CalendarDate = Date | undefined\nexport type CalendarDates = Date[] | undefined | null\n\nexport type RangeChange = (params: {\n startDate: CalendarDate\n endDate: CalendarDate\n}) => any\n\nexport type SingleChange = (params: { date: CalendarDate }) => void\n\nexport type MultiChange = (params: {\n dates: CalendarDates\n datePressed: Date\n change: 'added' | 'removed'\n}) => any\n\nexport type MultiConfirm = (params: { dates: Date[] }) => void\n\nexport interface CalendarSingleProps extends BaseCalendarProps {\n mode: 'single'\n date: CalendarDate\n onChange: SingleChange\n}\n\nexport interface CalendarRangeProps extends BaseCalendarProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange: RangeChange\n}\n\nexport interface CalendarMultiProps extends BaseCalendarProps {\n mode: 'multiple'\n dates: CalendarDates\n onChange: MultiChange\n}\n\nfunction Calendar(\n props: CalendarSingleProps | CalendarRangeProps | CalendarMultiProps\n) {\n const {\n locale,\n mode,\n onChange,\n startDate,\n endDate,\n date,\n disableWeekDays,\n startYear,\n endYear,\n dates,\n validRange,\n dateMode,\n } = props\n\n const theme = useTheme()\n\n const selectColor = useMemo<string>(() => {\n if (theme.isV3) {\n return theme.colors.primaryContainer\n }\n if (theme.dark) {\n return darkenBy(Color(theme.colors.primary), 0.1).hex()\n }\n return lightenBy(Color(theme.colors.primary), 0.9).hex()\n }, [theme])\n\n const scrollMode =\n mode === 'range' || mode === 'multiple' ? 'vertical' : 'horizontal'\n\n const [selectedYear, setSelectedYear] = React.useState<number | undefined>(\n undefined\n )\n const [selectingYear, setSelectingYear] = React.useState<boolean>(false)\n const onPressYear = useCallback(\n (year: number) => {\n setSelectedYear(year)\n setSelectingYear((prev) => !prev)\n },\n [setSelectingYear]\n )\n\n // prevent re-rendering all months when something changed we only need the\n // latest version of the props and we don't want the useCallback to change\n const startDateRef = useLatest<CalendarDate>(startDate)\n const endDateRef = useLatest<CalendarDate>(endDate)\n const onChangeRef = useLatest<RangeChange | SingleChange | MultiChange>(\n onChange\n )\n const datesRef = useLatest<CalendarDates>(dates)\n\n const onPressDate = useCallback(\n (d: Date) => {\n if (mode === 'single') {\n ;(onChangeRef.current as SingleChange)({\n date: dateMode === 'start' ? d : getEndOfDay(d),\n })\n } else if (mode === 'range') {\n const sd = startDateRef.current\n const ed = endDateRef.current\n let isStart: boolean = true\n if (sd && !ed && dateToUnix(d) >= dateToUnix(sd!)) {\n isStart = false\n }\n ;(onChangeRef.current as RangeChange)({\n startDate: isStart ? d : sd,\n endDate: !isStart ? getEndOfDay(d) : undefined,\n })\n } else if (mode === 'multiple') {\n datesRef.current = datesRef.current || []\n const exists = datesRef.current.some((ed) => areDatesOnSameDay(ed, d))\n\n const newDates = exists\n ? datesRef.current.filter((ed) => !areDatesOnSameDay(ed, d))\n : [...datesRef.current, d]\n\n newDates.sort((a, b) => a.getTime() - b.getTime())\n ;(onChangeRef.current as MultiChange)({\n dates: newDates,\n datePressed: d,\n change: exists ? 'removed' : 'added',\n })\n }\n },\n [mode, dateMode, onChangeRef, startDateRef, endDateRef, datesRef]\n )\n\n const firstDate = startDate || date || dates?.[0]\n\n return (\n <View style={styles.root}>\n <Swiper\n initialIndex={getInitialIndex(firstDate)}\n selectedYear={selectedYear}\n scrollMode={scrollMode}\n renderItem={({ index }) => (\n <Month\n locale={locale}\n mode={mode}\n key={index}\n validRange={validRange}\n index={index}\n startDate={startDate}\n endDate={endDate}\n date={date}\n dates={dates}\n onPressYear={onPressYear}\n selectingYear={selectingYear}\n onPressDate={onPressDate}\n scrollMode={scrollMode}\n primaryColor={theme.colors.primary}\n selectColor={selectColor}\n roundness={theme.roundness}\n disableWeekDays={disableWeekDays}\n />\n )}\n renderHeader={({ onPrev, onNext }) => (\n <CalendarHeader\n locale={locale}\n onPrev={onPrev}\n onNext={onNext}\n scrollMode={scrollMode}\n disableWeekDays={disableWeekDays}\n />\n )}\n />\n {scrollMode === 'horizontal' ? (\n <YearPicker\n selectedYear={selectedYear}\n selectingYear={selectingYear}\n onPressYear={onPressYear}\n startYear={startYear || 1800}\n endYear={endYear || 2200}\n />\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n viewPager: { flex: 1 },\n})\n\nexport default React.memo(Calendar)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","IconButton","useTheme","DayNames","dayNamesHeight","getTranslation","buttonContainerHeight","buttonContainerMarginTop","buttonContainerMarginBottom","getCalendarHeaderHeight","scrollMode","CalendarHeader","onPrev","onNext","disableWeekDays","locale","theme","isHorizontal","styles","datePickerHeader","buttonContainer","spacer","buttonWrapper","backgroundColor","colors","surface","create","position","top","right","left","zIndex","height","marginTop","marginBottom","flexDirection","alignItems","flex","memo"],"sources":["CalendarHeader.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { IconButton, useTheme } from 'react-native-paper'\nimport DayNames, { dayNamesHeight } from './DayNames'\nimport type { DisableWeekDaysType } from './dateUtils'\nimport { getTranslation } from '../translations/utils'\n\nconst buttonContainerHeight = 56\nconst buttonContainerMarginTop = 4\nconst buttonContainerMarginBottom = 8\n\nexport function getCalendarHeaderHeight(scrollMode: 'horizontal' | 'vertical') {\n if (scrollMode === 'horizontal') {\n return (\n buttonContainerHeight +\n buttonContainerMarginTop +\n buttonContainerMarginBottom +\n dayNamesHeight\n )\n }\n return dayNamesHeight\n}\n\nfunction CalendarHeader({\n scrollMode,\n onPrev,\n onNext,\n disableWeekDays,\n locale,\n}: {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n onPrev: () => any\n onNext: () => any\n disableWeekDays?: DisableWeekDaysType\n}) {\n const theme = useTheme()\n const isHorizontal = scrollMode === 'horizontal'\n return (\n <View style={styles.datePickerHeader} pointerEvents={'box-none'}>\n {isHorizontal ? (\n <View style={styles.buttonContainer} pointerEvents={'box-none'}>\n <View style={styles.spacer} pointerEvents={'box-none'} />\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-left\"\n accessibilityLabel={getTranslation(locale, 'previous')}\n onPress={onPrev}\n />\n </View>\n\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-right\"\n accessibilityLabel={getTranslation(locale, 'next')}\n onPress={onNext}\n />\n </View>\n </View>\n ) : null}\n <DayNames disableWeekDays={disableWeekDays} locale={locale} />\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n datePickerHeader: {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 10,\n },\n buttonContainer: {\n height: buttonContainerHeight,\n marginTop: buttonContainerMarginTop,\n marginBottom: buttonContainerMarginBottom,\n flexDirection: 'row',\n alignItems: 'center',\n },\n buttonWrapper: {},\n spacer: { flex: 1 },\n})\n\nexport default React.memo(CalendarHeader)\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,SAASC,UAAT,EAAqBC,QAArB,QAAqC,oBAArC;AACA,OAAOC,QAAP,IAAmBC,cAAnB,QAAyC,YAAzC;AAEA,SAASC,cAAT,QAA+B,uBAA/B;AAEA,MAAMC,qBAAqB,GAAG,EAA9B;AACA,MAAMC,wBAAwB,GAAG,CAAjC;AACA,MAAMC,2BAA2B,GAAG,CAApC;AAEA,OAAO,SAASC,uBAAT,CAAiCC,UAAjC,EAAwE;EAC7E,IAAIA,UAAU,KAAK,YAAnB,EAAiC;IAC/B,OACEJ,qBAAqB,GACrBC,wBADA,GAEAC,2BAFA,GAGAJ,cAJF;EAMD;;EACD,OAAOA,cAAP;AACD;;AAED,SAASO,cAAT,OAYG;EAAA,IAZqB;IACtBD,UADsB;IAEtBE,MAFsB;IAGtBC,MAHsB;IAItBC,eAJsB;IAKtBC;EALsB,CAYrB;EACD,MAAMC,KAAK,GAAGd,QAAQ,EAAtB;EACA,MAAMe,YAAY,GAAGP,UAAU,KAAK,YAApC;EACA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEQ,MAAM,CAACC,gBAApB;IAAsC,aAAa,EAAE;EAArD,GACGF,YAAY,gBACX,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACE,eAApB;IAAqC,aAAa,EAAE;EAApD,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEF,MAAM,CAACG,MAApB;IAA4B,aAAa,EAAE;EAA3C,EADF,eAEE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLH,MAAM,CAACI,aADF,EAEL;MAAEC,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC;IAAhC,CAFK;EADT,gBAME,oBAAC,UAAD;IACE,IAAI,EAAC,cADP;IAEE,kBAAkB,EAAEpB,cAAc,CAACU,MAAD,EAAS,UAAT,CAFpC;IAGE,OAAO,EAAEH;EAHX,EANF,CAFF,eAeE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLM,MAAM,CAACI,aADF,EAEL;MAAEC,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC;IAAhC,CAFK;EADT,gBAME,oBAAC,UAAD;IACE,IAAI,EAAC,eADP;IAEE,kBAAkB,EAAEpB,cAAc,CAACU,MAAD,EAAS,MAAT,CAFpC;IAGE,OAAO,EAAEF;EAHX,EANF,CAfF,CADW,GA6BT,IA9BN,eA+BE,oBAAC,QAAD;IAAU,eAAe,EAAEC,eAA3B;IAA4C,MAAM,EAAEC;EAApD,EA/BF,CADF;AAmCD;;AAED,MAAMG,MAAM,GAAGnB,UAAU,CAAC2B,MAAX,CAAkB;EAC/BP,gBAAgB,EAAE;IAChBQ,QAAQ,EAAE,UADM;IAEhBC,GAAG,EAAE,CAFW;IAGhBC,KAAK,EAAE,CAHS;IAIhBC,IAAI,EAAE,CAJU;IAKhBC,MAAM,EAAE;EALQ,CADa;EAQ/BX,eAAe,EAAE;IACfY,MAAM,EAAE1B,qBADO;IAEf2B,SAAS,EAAE1B,wBAFI;IAGf2B,YAAY,EAAE1B,2BAHC;IAIf2B,aAAa,EAAE,KAJA;IAKfC,UAAU,EAAE;EALG,CARc;EAe/Bd,aAAa,EAAE,EAfgB;EAgB/BD,MAAM,EAAE;IAAEgB,IAAI,EAAE;EAAR;AAhBuB,CAAlB,CAAf;AAmBA,4BAAevC,KAAK,CAACwC,IAAN,CAAW3B,cAAX,CAAf"}
1
+ {"version":3,"names":["React","StyleSheet","View","IconButton","useTheme","DayNames","dayNamesHeight","getTranslation","buttonContainerHeight","buttonContainerMarginTop","buttonContainerMarginBottom","getCalendarHeaderHeight","scrollMode","CalendarHeader","onPrev","onNext","disableWeekDays","locale","theme","isHorizontal","styles","datePickerHeader","buttonContainer","spacer","buttonWrapper","backgroundColor","colors","surface","create","position","top","right","left","zIndex","height","marginTop","marginBottom","flexDirection","alignItems","flex","memo"],"sources":["CalendarHeader.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { IconButton, useTheme } from 'react-native-paper'\nimport DayNames, { dayNamesHeight } from './DayNames'\nimport type { DisableWeekDaysType } from './dateUtils'\nimport { getTranslation } from '../translations/utils'\n\nconst buttonContainerHeight = 56\nconst buttonContainerMarginTop = 4\nconst buttonContainerMarginBottom = 8\n\nexport function getCalendarHeaderHeight(scrollMode: 'horizontal' | 'vertical') {\n if (scrollMode === 'horizontal') {\n return (\n buttonContainerHeight +\n buttonContainerMarginTop +\n buttonContainerMarginBottom +\n dayNamesHeight\n )\n }\n return dayNamesHeight\n}\n\nfunction CalendarHeader({\n scrollMode,\n onPrev,\n onNext,\n disableWeekDays,\n locale,\n}: {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n onPrev: () => any\n onNext: () => any\n disableWeekDays?: DisableWeekDaysType\n}) {\n const theme = useTheme()\n const isHorizontal = scrollMode === 'horizontal'\n return (\n <View style={styles.datePickerHeader} pointerEvents={'box-none'}>\n {isHorizontal ? (\n <View style={styles.buttonContainer} pointerEvents={'box-none'}>\n <View style={styles.spacer} pointerEvents={'box-none'} />\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-left\"\n accessibilityLabel={getTranslation(locale, 'previous')}\n onPress={onPrev}\n />\n </View>\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-right\"\n accessibilityLabel={getTranslation(locale, 'next')}\n onPress={onNext}\n />\n </View>\n </View>\n ) : null}\n <DayNames disableWeekDays={disableWeekDays} locale={locale} />\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n datePickerHeader: {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 10,\n },\n buttonContainer: {\n height: buttonContainerHeight,\n marginTop: buttonContainerMarginTop,\n marginBottom: buttonContainerMarginBottom,\n flexDirection: 'row',\n alignItems: 'center',\n },\n buttonWrapper: {},\n spacer: { flex: 1 },\n})\n\nexport default React.memo(CalendarHeader)\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,SAASC,UAAT,EAAqBC,QAArB,QAAqC,oBAArC;AACA,OAAOC,QAAP,IAAmBC,cAAnB,QAAyC,YAAzC;AAEA,SAASC,cAAT,QAA+B,uBAA/B;AAEA,MAAMC,qBAAqB,GAAG,EAA9B;AACA,MAAMC,wBAAwB,GAAG,CAAjC;AACA,MAAMC,2BAA2B,GAAG,CAApC;AAEA,OAAO,SAASC,uBAAT,CAAiCC,UAAjC,EAAwE;EAC7E,IAAIA,UAAU,KAAK,YAAnB,EAAiC;IAC/B,OACEJ,qBAAqB,GACrBC,wBADA,GAEAC,2BAFA,GAGAJ,cAJF;EAMD;;EACD,OAAOA,cAAP;AACD;;AAED,SAASO,cAAT,OAYG;EAAA,IAZqB;IACtBD,UADsB;IAEtBE,MAFsB;IAGtBC,MAHsB;IAItBC,eAJsB;IAKtBC;EALsB,CAYrB;EACD,MAAMC,KAAK,GAAGd,QAAQ,EAAtB;EACA,MAAMe,YAAY,GAAGP,UAAU,KAAK,YAApC;EACA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEQ,MAAM,CAACC,gBAApB;IAAsC,aAAa,EAAE;EAArD,GACGF,YAAY,gBACX,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACE,eAApB;IAAqC,aAAa,EAAE;EAApD,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEF,MAAM,CAACG,MAApB;IAA4B,aAAa,EAAE;EAA3C,EADF,eAEE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLH,MAAM,CAACI,aADF,EAEL;MAAEC,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC;IAAhC,CAFK;EADT,gBAME,oBAAC,UAAD;IACE,IAAI,EAAC,cADP;IAEE,kBAAkB,EAAEpB,cAAc,CAACU,MAAD,EAAS,UAAT,CAFpC;IAGE,OAAO,EAAEH;EAHX,EANF,CAFF,eAcE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLM,MAAM,CAACI,aADF,EAEL;MAAEC,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC;IAAhC,CAFK;EADT,gBAME,oBAAC,UAAD;IACE,IAAI,EAAC,eADP;IAEE,kBAAkB,EAAEpB,cAAc,CAACU,MAAD,EAAS,MAAT,CAFpC;IAGE,OAAO,EAAEF;EAHX,EANF,CAdF,CADW,GA4BT,IA7BN,eA8BE,oBAAC,QAAD;IAAU,eAAe,EAAEC,eAA3B;IAA4C,MAAM,EAAEC;EAApD,EA9BF,CADF;AAkCD;;AAED,MAAMG,MAAM,GAAGnB,UAAU,CAAC2B,MAAX,CAAkB;EAC/BP,gBAAgB,EAAE;IAChBQ,QAAQ,EAAE,UADM;IAEhBC,GAAG,EAAE,CAFW;IAGhBC,KAAK,EAAE,CAHS;IAIhBC,IAAI,EAAE,CAJU;IAKhBC,MAAM,EAAE;EALQ,CADa;EAQ/BX,eAAe,EAAE;IACfY,MAAM,EAAE1B,qBADO;IAEf2B,SAAS,EAAE1B,wBAFI;IAGf2B,YAAY,EAAE1B,2BAHC;IAIf2B,aAAa,EAAE,KAJA;IAKfC,UAAU,EAAE;EALG,CARc;EAe/Bd,aAAa,EAAE,EAfgB;EAgB/BD,MAAM,EAAE;IAAEgB,IAAI,EAAE;EAAR;AAhBuB,CAAlB,CAAf;AAmBA,4BAAevC,KAAK,CAACwC,IAAN,CAAW3B,cAAX,CAAf"}
@@ -87,7 +87,7 @@ export function DatePickerModalContent(props) {
87
87
  endLabel: props.endLabel,
88
88
  uppercase: props.uppercase ?? true,
89
89
  locale: locale,
90
- editIcon: props.editIcon,
90
+ editIcon: props === null || props === void 0 ? void 0 : props.editIcon,
91
91
  calendarIcon: props.calendarIcon
92
92
  })), /*#__PURE__*/React.createElement(AnimatedCrossView, {
93
93
  collapsed: collapsed,