react-native-paper-dates 0.9.2 → 0.10.1

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 (128) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/Date/AnimatedCrossView.js +1 -4
  3. package/lib/commonjs/Date/AnimatedCrossView.js.map +1 -1
  4. package/lib/commonjs/Date/Calendar.js +1 -1
  5. package/lib/commonjs/Date/Calendar.js.map +1 -1
  6. package/lib/commonjs/Date/DatePickerInput.js +4 -2
  7. package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
  8. package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -1
  9. package/lib/commonjs/Date/DatePickerInputWithoutModal.js +17 -13
  10. package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -1
  11. package/lib/commonjs/Date/DatePickerModalContentHeader.js +5 -2
  12. package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
  13. package/lib/commonjs/Date/DatePickerModalHeader.js +11 -12
  14. package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
  15. package/lib/commonjs/Date/DatePickerModalHeaderBackground.js +7 -8
  16. package/lib/commonjs/Date/DatePickerModalHeaderBackground.js.map +1 -1
  17. package/lib/commonjs/Date/Day.js +5 -4
  18. package/lib/commonjs/Date/Day.js.map +1 -1
  19. package/lib/commonjs/Date/DayName.js +3 -1
  20. package/lib/commonjs/Date/DayName.js.map +1 -1
  21. package/lib/commonjs/Date/Month.js +3 -1
  22. package/lib/commonjs/Date/Month.js.map +1 -1
  23. package/lib/commonjs/Date/Swiper.js +1 -2
  24. package/lib/commonjs/Date/Swiper.js.map +1 -1
  25. package/lib/commonjs/Date/YearPicker.js +4 -2
  26. package/lib/commonjs/Date/YearPicker.js.map +1 -1
  27. package/lib/commonjs/TextInputMask.js +9 -4
  28. package/lib/commonjs/TextInputMask.js.map +1 -1
  29. package/lib/commonjs/Time/AmPmSwitcher.js +3 -2
  30. package/lib/commonjs/Time/AmPmSwitcher.js.map +1 -1
  31. package/lib/commonjs/Time/AnalogClock.js +1 -1
  32. package/lib/commonjs/Time/AnalogClock.js.map +1 -1
  33. package/lib/commonjs/Time/TimeInputs.js +7 -4
  34. package/lib/commonjs/Time/TimeInputs.js.map +1 -1
  35. package/lib/commonjs/Time/TimePicker.js +4 -1
  36. package/lib/commonjs/Time/TimePicker.js.map +1 -1
  37. package/lib/commonjs/Time/TimePickerModal.js +15 -4
  38. package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
  39. package/lib/commonjs/Time/timeUtils.js +35 -3
  40. package/lib/commonjs/Time/timeUtils.js.map +1 -1
  41. package/lib/commonjs/translations/utils.js +2 -2
  42. package/lib/commonjs/translations/utils.js.map +1 -1
  43. package/lib/commonjs/utils.js.map +1 -1
  44. package/lib/module/Date/AnimatedCrossView.js +1 -3
  45. package/lib/module/Date/AnimatedCrossView.js.map +1 -1
  46. package/lib/module/Date/Calendar.js +1 -1
  47. package/lib/module/Date/Calendar.js.map +1 -1
  48. package/lib/module/Date/DatePickerInput.js +4 -2
  49. package/lib/module/Date/DatePickerInput.js.map +1 -1
  50. package/lib/module/Date/DatePickerInput.shared.js.map +1 -1
  51. package/lib/module/Date/DatePickerInputWithoutModal.js +17 -13
  52. package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -1
  53. package/lib/module/Date/DatePickerModalContentHeader.js +6 -3
  54. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  55. package/lib/module/Date/DatePickerModalHeader.js +11 -13
  56. package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
  57. package/lib/module/Date/DatePickerModalHeaderBackground.js +7 -9
  58. package/lib/module/Date/DatePickerModalHeaderBackground.js.map +1 -1
  59. package/lib/module/Date/Day.js +5 -4
  60. package/lib/module/Date/Day.js.map +1 -1
  61. package/lib/module/Date/DayName.js +3 -1
  62. package/lib/module/Date/DayName.js.map +1 -1
  63. package/lib/module/Date/Month.js +3 -1
  64. package/lib/module/Date/Month.js.map +1 -1
  65. package/lib/module/Date/Swiper.js +1 -2
  66. package/lib/module/Date/Swiper.js.map +1 -1
  67. package/lib/module/Date/YearPicker.js +4 -2
  68. package/lib/module/Date/YearPicker.js.map +1 -1
  69. package/lib/module/TextInputMask.js +9 -4
  70. package/lib/module/TextInputMask.js.map +1 -1
  71. package/lib/module/Time/AmPmSwitcher.js +3 -2
  72. package/lib/module/Time/AmPmSwitcher.js.map +1 -1
  73. package/lib/module/Time/AnalogClock.js +1 -1
  74. package/lib/module/Time/AnalogClock.js.map +1 -1
  75. package/lib/module/Time/TimeInputs.js +6 -4
  76. package/lib/module/Time/TimeInputs.js.map +1 -1
  77. package/lib/module/Time/TimePicker.js +4 -1
  78. package/lib/module/Time/TimePicker.js.map +1 -1
  79. package/lib/module/Time/TimePickerModal.js +15 -4
  80. package/lib/module/Time/TimePickerModal.js.map +1 -1
  81. package/lib/module/Time/timeUtils.js +35 -3
  82. package/lib/module/Time/timeUtils.js.map +1 -1
  83. package/lib/module/translations/utils.js +2 -2
  84. package/lib/module/translations/utils.js.map +1 -1
  85. package/lib/module/utils.js.map +1 -1
  86. package/lib/typescript/Date/AutoSizer.d.ts +1 -1
  87. package/lib/typescript/Date/Calendar.d.ts +10 -10
  88. package/lib/typescript/Date/DatePickerInput.d.ts +1 -1
  89. package/lib/typescript/Date/DatePickerInput.shared.d.ts +2 -1
  90. package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +10 -4
  91. package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -1
  92. package/lib/typescript/Date/Day.d.ts +2 -2
  93. package/lib/typescript/Date/SwiperUtils.d.ts +2 -2
  94. package/lib/typescript/Date/dateUtils.d.ts +1 -1
  95. package/lib/typescript/TextInputMask.d.ts +9 -4
  96. package/lib/typescript/Time/TimePicker.d.ts +1 -1
  97. package/lib/typescript/Time/timeUtils.d.ts +7 -7
  98. package/lib/typescript/translations/utils.d.ts +1 -1
  99. package/lib/typescript/utils.d.ts +2 -0
  100. package/package.json +9 -8
  101. package/src/Date/AnimatedCrossView.tsx +0 -4
  102. package/src/Date/Calendar.tsx +2 -2
  103. package/src/Date/DatePickerInput.shared.tsx +1 -0
  104. package/src/Date/DatePickerInput.tsx +2 -1
  105. package/src/Date/DatePickerInputWithoutModal.tsx +36 -35
  106. package/src/Date/DatePickerModalContentHeader.tsx +9 -4
  107. package/src/Date/DatePickerModalHeader.tsx +35 -37
  108. package/src/Date/DatePickerModalHeaderBackground.tsx +6 -7
  109. package/src/Date/Day.tsx +12 -4
  110. package/src/Date/DayName.tsx +7 -5
  111. package/src/Date/Month.tsx +12 -2
  112. package/src/Date/Swiper.tsx +0 -1
  113. package/src/Date/YearPicker.tsx +16 -4
  114. package/src/TextInputMask.tsx +8 -4
  115. package/src/Time/AmPmSwitcher.tsx +11 -3
  116. package/src/Time/AnalogClock.tsx +3 -1
  117. package/src/Time/TimeInputs.tsx +32 -4
  118. package/src/Time/TimePicker.tsx +4 -1
  119. package/src/Time/TimePickerModal.tsx +29 -3
  120. package/src/Time/timeUtils.ts +31 -4
  121. package/src/translations/utils.ts +2 -2
  122. package/src/utils.ts +8 -1
  123. package/lib/commonjs/Date/DateRangeInput.js +0 -86
  124. package/lib/commonjs/Date/DateRangeInput.js.map +0 -1
  125. package/lib/module/Date/DateRangeInput.js +0 -69
  126. package/lib/module/Date/DateRangeInput.js.map +0 -1
  127. package/lib/typescript/Date/DateRangeInput.d.ts +0 -4
  128. package/src/Date/DateRangeInput.tsx +0 -75
@@ -1 +1 @@
1
- {"version":3,"names":["TimeInputs","hours","minutes","onFocusInput","focused","inputType","onChange","is24Hour","startInput","React","useRef","endInput","dimensions","useWindowDimensions","isLandscape","width","height","theme","useTheme","onSubmitStartInput","useCallback","current","focus","onSubmitEndInput","minutesRef","useLatest","onChangeHours","newHours","clockTypes","styles","inputContainer","inputContainerLandscape","toHourInputFormat","newHoursFromInput","toHourOutputFormat","hoursAndMinutesSeparator","spaceDot","dot","backgroundColor","colors","text","betweenDot","newMinutesFromInput","newMinutes","spaceBetweenInputsAndSwitcher","StyleSheet","create","flexDirection","alignItems","flex","fontSize","borderRadius","memo"],"sources":["TimeInputs.tsx"],"sourcesContent":["// @typescript-eslint/no-unused-vars\n// WORK IN PROGRESS\n\nimport * as React from 'react'\nimport {\n View,\n StyleSheet,\n useWindowDimensions,\n TextInput as TextInputNative,\n} from 'react-native'\nimport { useTheme } from 'react-native-paper'\n\nimport {\n clockTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\nimport TimeInput from './TimeInput'\nimport AmPmSwitcher from './AmPmSwitcher'\nimport { useLatest } from '../utils'\n\nfunction TimeInputs({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n is24Hour,\n}: {\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: (hoursMinutesAndFocused: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n }) => any\n is24Hour: boolean\n}) {\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n const theme = useTheme()\n\n const onSubmitStartInput = React.useCallback(() => {\n if (endInput.current) {\n endInput.current.focus()\n }\n }, [endInput])\n\n const onSubmitEndInput = React.useCallback(() => {\n // TODO: close modal and persist time\n }, [])\n\n const minutesRef = useLatest(minutes)\n const onChangeHours = React.useCallback(\n (newHours: number) => {\n onChange({\n hours: newHours,\n minutes: minutesRef.current,\n focused: clockTypes.hours,\n })\n },\n [onChange, minutesRef]\n )\n\n return (\n <View\n style={[\n styles.inputContainer,\n isLandscape && styles.inputContainerLandscape,\n ]}\n >\n <TimeInput\n ref={startInput}\n placeholder={'00'}\n value={toHourInputFormat(hours, is24Hour)}\n clockType={clockTypes.hours}\n pressed={focused === clockTypes.hours}\n onPress={onFocusInput}\n inputType={inputType}\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n blurOnSubmit={false}\n onChanged={(newHoursFromInput) => {\n let newHours = toHourOutputFormat(newHoursFromInput, hours, is24Hour)\n if (newHoursFromInput > 24) {\n newHours = 24\n }\n onChange({\n hours: newHours,\n minutes,\n })\n }}\n // onChangeText={onChangeStartInput}\n />\n <View style={styles.hoursAndMinutesSeparator}>\n <View style={styles.spaceDot} />\n <View style={[styles.dot, { backgroundColor: theme.colors.text }]} />\n <View style={styles.betweenDot} />\n <View style={[styles.dot, { backgroundColor: theme.colors.text }]} />\n <View style={styles.spaceDot} />\n </View>\n <TimeInput\n ref={endInput}\n placeholder={'00'}\n value={minutes}\n clockType={clockTypes.minutes}\n pressed={focused === clockTypes.minutes}\n onPress={onFocusInput}\n inputType={inputType}\n onSubmitEditing={onSubmitEndInput}\n onChanged={(newMinutesFromInput) => {\n let newMinutes = newMinutesFromInput\n if (newMinutesFromInput > 59) {\n newMinutes = 59\n }\n onChange({\n hours,\n minutes: newMinutes,\n })\n }}\n />\n {!is24Hour && (\n <>\n <View style={styles.spaceBetweenInputsAndSwitcher} />\n <AmPmSwitcher hours={hours} onChange={onChangeHours} />\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n spaceBetweenInputsAndSwitcher: { width: 12 },\n inputContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n inputContainerLandscape: {\n flex: 1,\n },\n hoursAndMinutesSeparator: {\n fontSize: 65,\n width: 24,\n alignItems: 'center',\n },\n spaceDot: {\n flex: 1,\n },\n dot: {\n width: 7,\n height: 7,\n borderRadius: 7 / 2,\n },\n betweenDot: {\n height: 12,\n },\n})\n\nexport default React.memo(TimeInputs)\n"],"mappings":"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"}
1
+ {"version":3,"names":["TimeInputs","hours","minutes","onFocusInput","focused","inputType","onChange","is24Hour","startInput","React","useRef","endInput","dimensions","useWindowDimensions","isLandscape","width","height","theme","useTheme","onSubmitStartInput","useCallback","current","focus","onSubmitEndInput","minutesRef","useLatest","onChangeHours","newHours","clockTypes","styles","inputContainer","inputContainerLandscape","toHourInputFormat","dark","Color","colors","primary","darken","hex","newHoursFromInput","toHourOutputFormat","hoursAndMinutesSeparator","spaceDot","dot","backgroundColor","isV3","onBackground","text","betweenDot","newMinutesFromInput","newMinutes","spaceBetweenInputsAndSwitcher","StyleSheet","create","flexDirection","alignItems","flex","fontSize","borderRadius","memo"],"sources":["TimeInputs.tsx"],"sourcesContent":["// @typescript-eslint/no-unused-vars\n// WORK IN PROGRESS\n\nimport * as React from 'react'\nimport {\n View,\n StyleSheet,\n useWindowDimensions,\n TextInput as TextInputNative,\n} from 'react-native'\nimport { MD2Theme, useTheme } from 'react-native-paper'\n\nimport {\n clockTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\nimport TimeInput from './TimeInput'\nimport AmPmSwitcher from './AmPmSwitcher'\nimport { useLatest } from '../utils'\nimport Color from 'color'\n\nfunction TimeInputs({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n is24Hour,\n}: {\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: (hoursMinutesAndFocused: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n }) => any\n is24Hour: boolean\n}) {\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n const theme = useTheme()\n\n const onSubmitStartInput = React.useCallback(() => {\n if (endInput.current) {\n endInput.current.focus()\n }\n }, [endInput])\n\n const onSubmitEndInput = React.useCallback(() => {\n // TODO: close modal and persist time\n }, [])\n\n const minutesRef = useLatest(minutes)\n const onChangeHours = React.useCallback(\n (newHours: number) => {\n onChange({\n hours: newHours,\n minutes: minutesRef.current,\n focused: clockTypes.hours,\n })\n },\n [onChange, minutesRef]\n )\n\n return (\n <View\n style={[\n styles.inputContainer,\n isLandscape && styles.inputContainerLandscape,\n ]}\n >\n <TimeInput\n ref={startInput}\n placeholder={'00'}\n value={toHourInputFormat(hours, is24Hour)}\n clockType={clockTypes.hours}\n pressed={focused === clockTypes.hours}\n onPress={onFocusInput}\n inputType={inputType}\n selectionColor={\n theme.dark\n ? Color(theme.colors.primary).darken(0.2).hex()\n : theme.colors.primary\n }\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n blurOnSubmit={false}\n onChanged={(newHoursFromInput) => {\n let newHours = toHourOutputFormat(newHoursFromInput, hours, is24Hour)\n if (newHoursFromInput > 24) {\n newHours = 24\n }\n onChange({\n hours: newHours,\n minutes,\n })\n }}\n />\n <View style={styles.hoursAndMinutesSeparator}>\n <View style={styles.spaceDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onBackground\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.betweenDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onBackground\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.spaceDot} />\n </View>\n <TimeInput\n ref={endInput}\n placeholder={'00'}\n value={minutes}\n clockType={clockTypes.minutes}\n pressed={focused === clockTypes.minutes}\n onPress={onFocusInput}\n inputType={inputType}\n selectionColor={\n theme.dark\n ? Color(theme.colors.primary).darken(0.2).hex()\n : theme.colors.primary\n }\n onSubmitEditing={onSubmitEndInput}\n onChanged={(newMinutesFromInput) => {\n let newMinutes = newMinutesFromInput\n if (newMinutesFromInput > 59) {\n newMinutes = 59\n }\n onChange({\n hours,\n minutes: newMinutes,\n })\n }}\n />\n {!is24Hour && (\n <>\n <View style={styles.spaceBetweenInputsAndSwitcher} />\n <AmPmSwitcher hours={hours} onChange={onChangeHours} />\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n spaceBetweenInputsAndSwitcher: { width: 12 },\n inputContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n inputContainerLandscape: {\n flex: 1,\n },\n hoursAndMinutesSeparator: {\n fontSize: 65,\n width: 24,\n alignItems: 'center',\n },\n spaceDot: {\n flex: 1,\n },\n dot: {\n width: 7,\n height: 7,\n borderRadius: 7 / 2,\n },\n betweenDot: {\n height: 12,\n },\n})\n\nexport default React.memo(TimeInputs)\n"],"mappings":"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"}
@@ -96,7 +96,10 @@ const styles = _reactNative.StyleSheet.create({
96
96
  justifyContent: 'center',
97
97
  width: 24 * 3 + 96 * 2 + 52 + _timeUtils.circleSize
98
98
  },
99
- rootPortrait: {},
99
+ rootPortrait: {
100
+ alignItems: 'center',
101
+ justifyContent: 'center'
102
+ },
100
103
  clockContainer: {
101
104
  paddingTop: 36,
102
105
  paddingLeft: 12,
@@ -1 +1 @@
1
- {"version":3,"names":["DisplayModeContext","React","createContext","mode","setMode","TimePicker","hours","minutes","onFocusInput","focused","inputType","onChange","locale","displayMode","setDisplayMode","useState","undefined","dimensions","useWindowDimensions","isLandscape","width","height","is24Hour","useMemo","formatter","Intl","DateTimeFormat","hour","minute","timeZone","formatted","format","Date","UTC","includes","useEffect","onInnerChange","useCallback","params","toHourOutputFormat","styles","rootLandscape","rootPortrait","inputTypes","picker","clockContainer","toHourInputFormat","StyleSheet","create","flexDirection","alignItems","justifyContent","circleSize","paddingTop","paddingLeft","paddingRight","memo"],"sources":["TimePicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet, useWindowDimensions } from 'react-native'\n\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\n\nimport AnalogClock from './AnalogClock'\nimport { circleSize } from './timeUtils'\nimport TimeInputs from './TimeInputs'\n\nexport const DisplayModeContext = React.createContext<{\n mode: 'AM' | 'PM' | undefined\n setMode: React.Dispatch<React.SetStateAction<'AM' | 'PM' | undefined>>\n}>({ mode: 'AM', setMode: () => {} })\n\ntype onChangeFunc = ({\n hours,\n minutes,\n focused,\n}: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n}) => any\n\nfunction TimePicker({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n locale,\n}: {\n locale?: undefined | string\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: onChangeFunc\n}) {\n const [displayMode, setDisplayMode] = React.useState<'AM' | 'PM' | undefined>(\n undefined\n )\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n\n // method to check whether we have 24 hours in clock or 12\n const is24Hour = React.useMemo(() => {\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'UTC',\n })\n const formatted = formatter.format(new Date(Date.UTC(2020, 1, 1, 23)))\n return formatted.includes('23')\n }, [locale])\n\n // Initialize display Mode according the hours value\n React.useEffect(() => {\n if (hours >= 12) {\n setDisplayMode('PM')\n } else {\n setDisplayMode('AM')\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onInnerChange = React.useCallback<onChangeFunc>(\n (params) => {\n params.hours = toHourOutputFormat(params.hours, hours, is24Hour)\n onChange(params)\n },\n [onChange, hours, is24Hour]\n )\n\n return (\n <DisplayModeContext.Provider\n value={{ mode: displayMode, setMode: setDisplayMode }}\n >\n <View style={isLandscape ? styles.rootLandscape : styles.rootPortrait}>\n <TimeInputs\n inputType={inputType}\n hours={hours}\n minutes={minutes}\n is24Hour={is24Hour}\n onChange={onChange}\n onFocusInput={onFocusInput}\n focused={focused}\n />\n {inputType === inputTypes.picker ? (\n <View style={styles.clockContainer}>\n <AnalogClock\n hours={toHourInputFormat(hours, is24Hour)}\n minutes={minutes}\n focused={focused}\n is24Hour={is24Hour}\n onChange={onInnerChange}\n />\n </View>\n ) : null}\n </View>\n </DisplayModeContext.Provider>\n )\n}\n\nconst styles = StyleSheet.create({\n rootLandscape: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n width: 24 * 3 + 96 * 2 + 52 + circleSize,\n },\n rootPortrait: {},\n clockContainer: { paddingTop: 36, paddingLeft: 12, paddingRight: 12 },\n})\n\nexport default React.memo(TimePicker)\n"],"mappings":"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"}
1
+ {"version":3,"names":["DisplayModeContext","React","createContext","mode","setMode","TimePicker","hours","minutes","onFocusInput","focused","inputType","onChange","locale","displayMode","setDisplayMode","useState","undefined","dimensions","useWindowDimensions","isLandscape","width","height","is24Hour","useMemo","formatter","Intl","DateTimeFormat","hour","minute","timeZone","formatted","format","Date","UTC","includes","useEffect","onInnerChange","useCallback","params","toHourOutputFormat","styles","rootLandscape","rootPortrait","inputTypes","picker","clockContainer","toHourInputFormat","StyleSheet","create","flexDirection","alignItems","justifyContent","circleSize","paddingTop","paddingLeft","paddingRight","memo"],"sources":["TimePicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet, useWindowDimensions } from 'react-native'\n\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\n\nimport AnalogClock from './AnalogClock'\nimport { circleSize } from './timeUtils'\nimport TimeInputs from './TimeInputs'\n\nexport const DisplayModeContext = React.createContext<{\n mode: 'AM' | 'PM' | undefined\n setMode: React.Dispatch<React.SetStateAction<'AM' | 'PM' | undefined>>\n}>({ mode: 'AM', setMode: () => {} })\n\ntype onChangeFunc = ({\n hours,\n minutes,\n focused,\n}: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n}) => any\n\nfunction TimePicker({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n locale,\n}: {\n locale?: undefined | string\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: onChangeFunc\n}) {\n const [displayMode, setDisplayMode] = React.useState<'AM' | 'PM' | undefined>(\n undefined\n )\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n\n // method to check whether we have 24 hours in clock or 12\n const is24Hour = React.useMemo(() => {\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'UTC',\n })\n const formatted = formatter.format(new Date(Date.UTC(2020, 1, 1, 23)))\n return formatted.includes('23')\n }, [locale])\n\n // Initialize display Mode according the hours value\n React.useEffect(() => {\n if (hours >= 12) {\n setDisplayMode('PM')\n } else {\n setDisplayMode('AM')\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onInnerChange = React.useCallback<onChangeFunc>(\n (params) => {\n params.hours = toHourOutputFormat(params.hours, hours, is24Hour)\n onChange(params)\n },\n [onChange, hours, is24Hour]\n )\n\n return (\n <DisplayModeContext.Provider\n value={{ mode: displayMode, setMode: setDisplayMode }}\n >\n <View style={isLandscape ? styles.rootLandscape : styles.rootPortrait}>\n <TimeInputs\n inputType={inputType}\n hours={hours}\n minutes={minutes}\n is24Hour={is24Hour}\n onChange={onChange}\n onFocusInput={onFocusInput}\n focused={focused}\n />\n {inputType === inputTypes.picker ? (\n <View style={styles.clockContainer}>\n <AnalogClock\n hours={toHourInputFormat(hours, is24Hour)}\n minutes={minutes}\n focused={focused}\n is24Hour={is24Hour}\n onChange={onInnerChange}\n />\n </View>\n ) : null}\n </View>\n </DisplayModeContext.Provider>\n )\n}\n\nconst styles = StyleSheet.create({\n rootLandscape: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n width: 24 * 3 + 96 * 2 + 52 + circleSize,\n },\n rootPortrait: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n clockContainer: { paddingTop: 36, paddingLeft: 12, paddingRight: 12 },\n})\n\nexport default React.memo(TimePicker)\n"],"mappings":"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"}
@@ -25,6 +25,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
25
25
  const supportedOrientations = ['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right'];
26
26
 
27
27
  function TimePickerModal(_ref) {
28
+ var _theme$colors;
29
+
28
30
  let {
29
31
  visible,
30
32
  onDismiss,
@@ -41,6 +43,14 @@ function TimePickerModal(_ref) {
41
43
  clockIcon = 'clock-outline'
42
44
  } = _ref;
43
45
  const theme = (0, _reactNativePaper.useTheme)();
46
+ let textFont;
47
+
48
+ if (theme.isV3) {
49
+ textFont = theme.fonts.bodyMedium;
50
+ } else {
51
+ textFont = theme === null || theme === void 0 ? void 0 : theme.fonts.medium;
52
+ }
53
+
44
54
  const [inputType, setInputType] = React.useState(_timeUtils.inputTypes.picker);
45
55
  const [focused, setFocused] = React.useState(_timeUtils.clockTypes.hours);
46
56
  const [localHours, setLocalHours] = React.useState(getHours(hours));
@@ -73,7 +83,7 @@ function TimePickerModal(_ref) {
73
83
  onPress: onDismiss
74
84
  }, /*#__PURE__*/React.createElement(_reactNative.View, {
75
85
  style: [_reactNative.StyleSheet.absoluteFill, styles.modalBackground, {
76
- backgroundColor: theme.colors.backdrop
86
+ backgroundColor: (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.backdrop
77
87
  }]
78
88
  })), /*#__PURE__*/React.createElement(_reactNative.View, {
79
89
  style: [_reactNative.StyleSheet.absoluteFill, styles.modalRoot],
@@ -89,8 +99,8 @@ function TimePickerModal(_ref) {
89
99
  }, /*#__PURE__*/React.createElement(_reactNative.View, {
90
100
  style: styles.labelContainer
91
101
  }, /*#__PURE__*/React.createElement(_reactNative.Text, {
92
- style: [styles.label, {
93
- color: theme.colors.text
102
+ style: [styles.label, { ...textFont,
103
+ color: theme !== null && theme !== void 0 && theme.isV3 ? theme.colors.onBackground : theme.colors.text
94
104
  }]
95
105
  }, uppercase ? label.toUpperCase() : label)), /*#__PURE__*/React.createElement(_reactNative.View, {
96
106
  style: styles.timePickerContainer
@@ -164,7 +174,8 @@ const styles = _reactNative.StyleSheet.create({
164
174
  height: 28,
165
175
  justifyContent: 'flex-end',
166
176
  paddingLeft: 24,
167
- paddingRight: 24
177
+ paddingRight: 24,
178
+ marginTop: 8
168
179
  },
169
180
  label: {
170
181
  letterSpacing: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","uppercase","cancelLabel","confirmLabel","animationType","locale","keyboardIcon","clockIcon","theme","useTheme","inputType","setInputType","React","useState","inputTypes","picker","focused","setFocused","clockTypes","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","useEffect","onFocusInput","useCallback","type","onChange","params","StyleSheet","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","overlay","surface","borderRadius","roundness","labelContainer","color","text","toUpperCase","timePickerContainer","bottom","getTimeInputTypeIcon","keyboard","reverseInputTypes","inputTypeToggle","fill","undefined","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minWidth","paddingLeft","paddingRight","letterSpacing","fontSize","padding","flexDirection","margin","memo"],"sources":["TimePickerModal.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n View,\n Text,\n Animated,\n TouchableWithoutFeedback,\n KeyboardAvoidingView,\n} from 'react-native'\n\nimport { Button, IconButton, overlay, useTheme } from 'react-native-paper'\nimport TimePicker from './TimePicker'\nimport {\n clockTypes,\n getTimeInputTypeIcon,\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n reverseInputTypes,\n} from './timeUtils'\n\nconst supportedOrientations: any[] = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nexport function TimePickerModal({\n visible,\n onDismiss,\n onConfirm,\n hours,\n minutes,\n label = 'Select time',\n uppercase = true,\n cancelLabel = 'Cancel',\n confirmLabel = 'Ok',\n animationType = 'none',\n locale,\n keyboardIcon = 'keyboard-outline',\n clockIcon = 'clock-outline',\n}: {\n locale?: undefined | string\n label?: string\n uppercase?: boolean\n cancelLabel?: string\n confirmLabel?: string\n hours?: number | undefined\n minutes?: number | undefined\n visible: boolean | undefined\n onDismiss: () => any\n onConfirm: (hoursAndMinutes: { hours: number; minutes: number }) => any\n animationType?: 'slide' | 'fade' | 'none'\n keyboardIcon?: string\n clockIcon?: string\n}) {\n const theme = useTheme()\n\n const [inputType, setInputType] = React.useState<PossibleInputTypes>(\n inputTypes.picker\n )\n const [focused, setFocused] = React.useState<PossibleClockTypes>(\n clockTypes.hours\n )\n const [localHours, setLocalHours] = React.useState<number>(getHours(hours))\n const [localMinutes, setLocalMinutes] = React.useState<number>(\n getMinutes(minutes)\n )\n\n React.useEffect(() => {\n setLocalHours(getHours(hours))\n }, [setLocalHours, hours])\n\n React.useEffect(() => {\n setLocalMinutes(getMinutes(minutes))\n }, [setLocalMinutes, minutes])\n\n const onFocusInput = React.useCallback(\n (type: PossibleClockTypes) => setFocused(type),\n []\n )\n const onChange = React.useCallback(\n (params: {\n focused?: PossibleClockTypes | undefined\n hours: number\n minutes: number\n }) => {\n if (params.focused) {\n setFocused(params.focused)\n }\n\n setLocalHours(params.hours)\n setLocalMinutes(params.minutes)\n },\n [setFocused, setLocalHours, setLocalMinutes]\n )\n return (\n <Modal\n animationType={animationType}\n transparent={true}\n visible={visible}\n onRequestClose={onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <KeyboardAvoidingView\n style={styles.keyboardView}\n behavior={'padding'}\n >\n <Animated.View\n style={[\n styles.modalContent,\n {\n backgroundColor: theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <View style={styles.labelContainer}>\n <Text style={[styles.label, { color: theme.colors.text }]}>\n {uppercase ? label.toUpperCase() : label}\n </Text>\n </View>\n <View style={styles.timePickerContainer}>\n <TimePicker\n locale={locale}\n inputType={inputType}\n focused={focused}\n hours={localHours}\n minutes={localMinutes}\n onChange={onChange}\n onFocusInput={onFocusInput}\n />\n </View>\n <View style={styles.bottom}>\n <IconButton\n icon={getTimeInputTypeIcon(inputType, {\n keyboard: keyboardIcon,\n picker: clockIcon,\n })}\n onPress={() => setInputType(reverseInputTypes[inputType])}\n size={24}\n style={styles.inputTypeToggle}\n accessibilityLabel=\"toggle keyboard\"\n />\n <View style={styles.fill} />\n <Button onPress={onDismiss} uppercase={uppercase}>\n {cancelLabel}\n </Button>\n <Button\n onPress={() =>\n onConfirm({ hours: localHours, minutes: localMinutes })\n }\n uppercase={uppercase}\n >\n {confirmLabel}\n </Button>\n </View>\n </Animated.View>\n </KeyboardAvoidingView>\n </View>\n </>\n </Modal>\n )\n}\n\nfunction getMinutes(minutes: number | undefined | null): number {\n return minutes === undefined || minutes === null\n ? new Date().getMinutes()\n : minutes\n}\nfunction getHours(hours: number | undefined | null): number {\n return hours === undefined || hours === null ? new Date().getHours() : hours\n}\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n keyboardView: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 5,\n },\n shadowOpacity: 0.34,\n shadowRadius: 6.27,\n elevation: 10,\n minWidth: 287,\n },\n labelContainer: {\n height: 28,\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: { padding: 24 },\n bottom: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 8,\n },\n inputTypeToggle: { margin: 4 },\n fill: { flex: 1 },\n})\n\nexport default React.memo(TimePickerModal)\n"],"mappings":"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"}
1
+ {"version":3,"names":["supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","uppercase","cancelLabel","confirmLabel","animationType","locale","keyboardIcon","clockIcon","theme","useTheme","textFont","isV3","fonts","bodyMedium","medium","inputType","setInputType","React","useState","inputTypes","picker","focused","setFocused","clockTypes","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","useEffect","onFocusInput","useCallback","type","onChange","params","StyleSheet","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","overlay","surface","borderRadius","roundness","labelContainer","color","onBackground","text","toUpperCase","timePickerContainer","bottom","getTimeInputTypeIcon","keyboard","reverseInputTypes","inputTypeToggle","fill","undefined","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minWidth","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","padding","flexDirection","margin","memo"],"sources":["TimePickerModal.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n View,\n Text,\n Animated,\n TouchableWithoutFeedback,\n KeyboardAvoidingView,\n} from 'react-native'\n\nimport {\n Button,\n IconButton,\n MD2Theme,\n overlay,\n useTheme,\n} from 'react-native-paper'\n\nimport TimePicker from './TimePicker'\nimport {\n clockTypes,\n getTimeInputTypeIcon,\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n reverseInputTypes,\n} from './timeUtils'\n\nconst supportedOrientations: any[] = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nexport function TimePickerModal({\n visible,\n onDismiss,\n onConfirm,\n hours,\n minutes,\n label = 'Select time',\n uppercase = true,\n cancelLabel = 'Cancel',\n confirmLabel = 'Ok',\n animationType = 'none',\n locale,\n keyboardIcon = 'keyboard-outline',\n clockIcon = 'clock-outline',\n}: {\n locale?: undefined | string\n label?: string\n uppercase?: boolean\n cancelLabel?: string\n confirmLabel?: string\n hours?: number | undefined\n minutes?: number | undefined\n visible: boolean | undefined\n onDismiss: () => any\n onConfirm: (hoursAndMinutes: { hours: number; minutes: number }) => any\n animationType?: 'slide' | 'fade' | 'none'\n keyboardIcon?: string\n clockIcon?: string\n}) {\n const theme = useTheme()\n\n let textFont\n\n if (theme.isV3) {\n textFont = theme.fonts.bodyMedium\n } else {\n textFont = (theme as any as MD2Theme)?.fonts.medium\n }\n\n const [inputType, setInputType] = React.useState<PossibleInputTypes>(\n inputTypes.picker\n )\n const [focused, setFocused] = React.useState<PossibleClockTypes>(\n clockTypes.hours\n )\n const [localHours, setLocalHours] = React.useState<number>(getHours(hours))\n const [localMinutes, setLocalMinutes] = React.useState<number>(\n getMinutes(minutes)\n )\n\n React.useEffect(() => {\n setLocalHours(getHours(hours))\n }, [setLocalHours, hours])\n\n React.useEffect(() => {\n setLocalMinutes(getMinutes(minutes))\n }, [setLocalMinutes, minutes])\n\n const onFocusInput = React.useCallback(\n (type: PossibleClockTypes) => setFocused(type),\n []\n )\n const onChange = React.useCallback(\n (params: {\n focused?: PossibleClockTypes | undefined\n hours: number\n minutes: number\n }) => {\n if (params.focused) {\n setFocused(params.focused)\n }\n\n setLocalHours(params.hours)\n setLocalMinutes(params.minutes)\n },\n [setFocused, setLocalHours, setLocalMinutes]\n )\n return (\n <Modal\n animationType={animationType}\n transparent={true}\n visible={visible}\n onRequestClose={onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors?.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <KeyboardAvoidingView\n style={styles.keyboardView}\n behavior={'padding'}\n >\n <Animated.View\n style={[\n styles.modalContent,\n {\n backgroundColor: theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <View style={styles.labelContainer}>\n <Text\n style={[\n styles.label,\n {\n ...textFont,\n color: theme?.isV3\n ? theme.colors.onBackground\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n >\n {uppercase ? label.toUpperCase() : label}\n </Text>\n </View>\n <View style={styles.timePickerContainer}>\n <TimePicker\n locale={locale}\n inputType={inputType}\n focused={focused}\n hours={localHours}\n minutes={localMinutes}\n onChange={onChange}\n onFocusInput={onFocusInput}\n />\n </View>\n <View style={styles.bottom}>\n <IconButton\n icon={getTimeInputTypeIcon(inputType, {\n keyboard: keyboardIcon,\n picker: clockIcon,\n })}\n onPress={() => setInputType(reverseInputTypes[inputType])}\n size={24}\n style={styles.inputTypeToggle}\n accessibilityLabel=\"toggle keyboard\"\n />\n <View style={styles.fill} />\n <Button onPress={onDismiss} uppercase={uppercase}>\n {cancelLabel}\n </Button>\n <Button\n onPress={() =>\n onConfirm({ hours: localHours, minutes: localMinutes })\n }\n uppercase={uppercase}\n >\n {confirmLabel}\n </Button>\n </View>\n </Animated.View>\n </KeyboardAvoidingView>\n </View>\n </>\n </Modal>\n )\n}\n\nfunction getMinutes(minutes: number | undefined | null): number {\n return minutes === undefined || minutes === null\n ? new Date().getMinutes()\n : minutes\n}\nfunction getHours(hours: number | undefined | null): number {\n return hours === undefined || hours === null ? new Date().getHours() : hours\n}\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n keyboardView: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 5,\n },\n shadowOpacity: 0.34,\n shadowRadius: 6.27,\n elevation: 10,\n minWidth: 287,\n },\n labelContainer: {\n height: 28,\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n marginTop: 8,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: { padding: 24 },\n bottom: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 8,\n },\n inputTypeToggle: { margin: 4 },\n fill: { flex: 1 },\n})\n\nexport default React.memo(TimePickerModal)\n"],"mappings":"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"}
@@ -174,10 +174,18 @@ function useSwitchColors(highlighted) {
174
174
  return (0, _color.default)(theme.colors.primary).hex();
175
175
  }
176
176
 
177
+ if (theme.isV3) {
178
+ return (0, _color.default)(theme.colors.surface).lighten(1.4).hex();
179
+ }
180
+
177
181
  return theme.colors.backdrop;
178
182
  }
179
183
 
180
184
  if (highlighted) {
185
+ if (theme.isV3) {
186
+ return theme.colors.primaryContainer;
187
+ }
188
+
181
189
  return (0, _color.default)(theme.colors.primary).lighten(1).hex();
182
190
  }
183
191
 
@@ -188,7 +196,15 @@ function useSwitchColors(highlighted) {
188
196
  return theme.colors.primary;
189
197
  }
190
198
 
191
- return theme.colors.placeholder;
199
+ if (highlighted && theme.dark) {
200
+ return theme.colors.background;
201
+ }
202
+
203
+ if (theme.isV3) {
204
+ return theme.colors.onSurfaceVariant;
205
+ } else {
206
+ return theme.colors.placeholder;
207
+ }
192
208
  }, [highlighted, theme]);
193
209
  return {
194
210
  backgroundColor,
@@ -204,13 +220,21 @@ function useInputColors(highlighted) {
204
220
  return (0, _color.default)(theme.colors.primary).hex();
205
221
  }
206
222
 
207
- return (0, _color.default)(theme.colors.surface).lighten(1.2).hex();
223
+ return (0, _color.default)(theme.colors.surface).lighten(1.4).hex();
208
224
  }
209
225
 
210
226
  if (highlighted) {
227
+ if (theme.isV3) {
228
+ return (0, _color.default)(theme.colors.primaryContainer).hex();
229
+ }
230
+
211
231
  return (0, _color.default)(theme.colors.primary).lighten(1).hex();
212
232
  }
213
233
 
234
+ if (theme.isV3) {
235
+ return (0, _color.default)(theme.colors.outline).lighten(0.9).hex();
236
+ }
237
+
214
238
  return (0, _color.default)(theme.colors.surface).darken(0.1).hex();
215
239
  }, [highlighted, theme]);
216
240
  const color = React.useMemo(() => {
@@ -218,7 +242,15 @@ function useInputColors(highlighted) {
218
242
  return theme.colors.primary;
219
243
  }
220
244
 
221
- return theme.colors.text;
245
+ if (theme.isV3) {
246
+ if (!highlighted) {
247
+ return theme.colors.onBackground;
248
+ }
249
+
250
+ return theme.colors.background;
251
+ } else {
252
+ return theme.colors.text;
253
+ }
222
254
  }, [highlighted, theme]);
223
255
  return {
224
256
  backgroundColor,
@@ -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","Color","colors","primary","hex","backdrop","lighten","surface","color","placeholder","useInputColors","darken","text","toHourInputFormat","is24Hour","toHourOutputFormat","newHours","previousHours"],"sources":["timeUtils.ts"],"sourcesContent":["import * as React from 'react'\nimport Color from 'color'\nimport { useTheme } from 'react-native-paper'\n\n// 250? when bigger?\nexport const circleSize = 215\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 Color(theme.colors.primary).hex()\n }\n return theme.colors.backdrop\n }\n\n if (highlighted) {\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.colors.primary\n }\n return theme.colors.placeholder\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 Color(theme.colors.primary).hex()\n }\n return Color(theme.colors.surface).lighten(1.2).hex()\n }\n\n if (highlighted) {\n return Color(theme.colors.primary).lighten(1).hex()\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (highlighted && !theme.dark) {\n return theme.colors.primary\n }\n return theme.colors.text\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function toHourInputFormat(hours: number, is24Hour: boolean): number {\n if (hours === 24) {\n return 0\n }\n if (is24Hour) {\n return hours\n }\n if (hours > 12) {\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 > 12 && newHours < 12) {\n return newHours + 12\n }\n return newHours\n}\n"],"mappings":"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"}
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","Color","colors","primary","hex","isV3","surface","lighten","backdrop","primaryContainer","color","background","onSurfaceVariant","placeholder","useInputColors","outline","darken","onBackground","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\n// 250? when bigger?\nexport const circleSize = 215\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 Color(theme.colors.primary).hex()\n }\n if (theme.isV3) {\n return Color(theme.colors.surface).lighten(1.4).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.colors.primary\n }\n if (highlighted && theme.dark) {\n return 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 Color(theme.colors.primary).hex()\n }\n return Color(theme.colors.surface).lighten(1.4).hex()\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return Color(theme.colors.primaryContainer).hex()\n }\n return Color(theme.colors.primary).lighten(1).hex()\n }\n if (theme.isV3) {\n return Color(theme.colors.outline).lighten(0.9).hex()\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (highlighted && !theme.dark) {\n return theme.colors.primary\n }\n if (theme.isV3) {\n if (!highlighted) {\n return theme.colors.onBackground\n }\n return theme.colors.background\n } else {\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 (hours === 24) {\n return 0\n }\n if (is24Hour) {\n return hours\n }\n if (hours > 12) {\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 > 12 && newHours < 12) {\n return newHours + 12\n }\n return newHours\n}\n"],"mappings":"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"}
@@ -12,14 +12,14 @@ function getTranslation(locale, key, fallback) {
12
12
  const translationForLocale = translationsPerLocale[l];
13
13
 
14
14
  if (!translationForLocale) {
15
- console.warn(`[react-native-paper-dates] ${locale} is not registered, key: ${key}`);
15
+ console.warn(`[react-native-paper-dates] The locale ${locale} is not registered, see README!, key: ${key}`);
16
16
  return fallback || key;
17
17
  }
18
18
 
19
19
  const translation = translationsPerLocale[l][key];
20
20
 
21
21
  if (!translation) {
22
- console.warn(`[react-native-paper-dates] ${locale} is registered, but ${key} is missing`);
22
+ console.warn(`[react-native-paper-dates] The locale ${locale} is registered, but ${key} is missing`);
23
23
  }
24
24
 
25
25
  return translation || fallback || key;
@@ -1 +1 @@
1
- {"version":3,"names":["translationsPerLocale","getTranslation","locale","key","fallback","l","translationForLocale","console","warn","translation","registerTranslation","translations"],"sources":["utils.ts"],"sourcesContent":["export type TranslationsType = {\n selectSingle: string\n selectMultiple: string\n selectRange: string\n save: string\n notAccordingToDateFormat: (inputFormat: string) => string\n mustBeHigherThan: (date: string) => string\n mustBeLowerThan: (date: string) => string\n mustBeBetween: (startDate: string, endDate: string) => string\n dateIsDisabled: string\n previous: string\n next: string\n typeInDate: string\n pickDateFromCalendar: string\n close: string\n}\n\nlet translationsPerLocale: Record<string, TranslationsType> = {}\n\nexport function getTranslation<K extends keyof TranslationsType>(\n locale: string | undefined,\n key: K,\n fallback?: any\n) {\n const l = locale || 'en'\n const translationForLocale = translationsPerLocale[l]\n if (!translationForLocale) {\n console.warn(\n `[react-native-paper-dates] ${locale} is not registered, key: ${key}`\n )\n return fallback || key\n }\n const translation = translationsPerLocale[l][key]\n if (!translation) {\n console.warn(\n `[react-native-paper-dates] ${locale} is registered, but ${key} is missing`\n )\n }\n return translation || fallback || key\n}\n\nexport function registerTranslation(\n locale: string,\n translations: TranslationsType\n) {\n translationsPerLocale[locale] = translations\n}\n"],"mappings":";;;;;;;AAiBA,IAAIA,qBAAuD,GAAG,EAA9D;;AAEO,SAASC,cAAT,CACLC,MADK,EAELC,GAFK,EAGLC,QAHK,EAIL;EACA,MAAMC,CAAC,GAAGH,MAAM,IAAI,IAApB;EACA,MAAMI,oBAAoB,GAAGN,qBAAqB,CAACK,CAAD,CAAlD;;EACA,IAAI,CAACC,oBAAL,EAA2B;IACzBC,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,4BAA2BC,GAAI,EADtE;IAGA,OAAOC,QAAQ,IAAID,GAAnB;EACD;;EACD,MAAMM,WAAW,GAAGT,qBAAqB,CAACK,CAAD,CAArB,CAAyBF,GAAzB,CAApB;;EACA,IAAI,CAACM,WAAL,EAAkB;IAChBF,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,uBAAsBC,GAAI,aADjE;EAGD;;EACD,OAAOM,WAAW,IAAIL,QAAf,IAA2BD,GAAlC;AACD;;AAEM,SAASO,mBAAT,CACLR,MADK,EAELS,YAFK,EAGL;EACAX,qBAAqB,CAACE,MAAD,CAArB,GAAgCS,YAAhC;AACD"}
1
+ {"version":3,"names":["translationsPerLocale","getTranslation","locale","key","fallback","l","translationForLocale","console","warn","translation","registerTranslation","translations"],"sources":["utils.ts"],"sourcesContent":["export type TranslationsType = {\n selectSingle: string\n selectMultiple: string\n selectRange: string\n save: string\n notAccordingToDateFormat: (inputFormat: string) => string\n mustBeHigherThan: (date: string) => string\n mustBeLowerThan: (date: string) => string\n mustBeBetween: (startDate: string, endDate: string) => string\n dateIsDisabled: string\n previous: string\n next: string\n typeInDate: string\n pickDateFromCalendar: string\n close: string\n}\n\nlet translationsPerLocale: Record<string, TranslationsType> = {}\n\nexport function getTranslation<K extends keyof TranslationsType>(\n locale: string | undefined,\n key: K,\n fallback?: any\n) {\n const l = locale || 'en'\n const translationForLocale = translationsPerLocale[l]\n if (!translationForLocale) {\n console.warn(\n `[react-native-paper-dates] The locale ${locale} is not registered, see README!, key: ${key}`\n )\n return fallback || key\n }\n const translation = translationsPerLocale[l][key]\n if (!translation) {\n console.warn(\n `[react-native-paper-dates] The locale ${locale} is registered, but ${key} is missing`\n )\n }\n return translation || fallback || key\n}\n\nexport function registerTranslation(\n locale: string,\n translations: TranslationsType\n) {\n translationsPerLocale[locale] = translations\n}\n"],"mappings":";;;;;;;AAiBA,IAAIA,qBAAuD,GAAG,EAA9D;;AAEO,SAASC,cAAT,CACLC,MADK,EAELC,GAFK,EAGLC,QAHK,EAIL;EACA,MAAMC,CAAC,GAAGH,MAAM,IAAI,IAApB;EACA,MAAMI,oBAAoB,GAAGN,qBAAqB,CAACK,CAAD,CAAlD;;EACA,IAAI,CAACC,oBAAL,EAA2B;IACzBC,OAAO,CAACC,IAAR,CACG,yCAAwCN,MAAO,yCAAwCC,GAAI,EAD9F;IAGA,OAAOC,QAAQ,IAAID,GAAnB;EACD;;EACD,MAAMM,WAAW,GAAGT,qBAAqB,CAACK,CAAD,CAArB,CAAyBF,GAAzB,CAApB;;EACA,IAAI,CAACM,WAAL,EAAkB;IAChBF,OAAO,CAACC,IAAR,CACG,yCAAwCN,MAAO,uBAAsBC,GAAI,aAD5E;EAGD;;EACD,OAAOM,WAAW,IAAIL,QAAf,IAA2BD,GAAlC;AACD;;AAEM,SAASO,mBAAT,CACLR,MADK,EAELS,YAFK,EAGL;EACAX,qBAAqB,CAACE,MAAD,CAArB,GAAgCS,YAAhC;AACD"}
@@ -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","range","start","end","Array","fill","map","_","i","lightenBy","color","ratio","lightness","darkenBy"],"sources":["utils.ts"],"sourcesContent":["import * as React from 'react'\nimport { overlay, useTheme } from 'react-native-paper'\nimport Color from 'color'\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 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;;AACA;;;;;;;;AAEO,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;EACA,OAAOG,MAAM,GAAG,MAAH,GAAY,MAAzB;AACD;;AAEM,SAASC,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","dark","mode","overlay","colors","surface","primary","useHeaderColorIsLight","background","Color","isLight","useHeaderTextColor","useTextColorOnPrimary","isDark","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 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;EACA,OAAOG,MAAM,GAAG,MAAH,GAAY,MAAzB;AACD;;AAEM,SAASC,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"}
@@ -3,7 +3,6 @@ import { Animated, StyleSheet, View } from 'react-native';
3
3
  import { useTheme } from 'react-native-paper';
4
4
  export default function AnimatedCrossView(_ref) {
5
5
  let {
6
- // visible,
7
6
  collapsed,
8
7
  calendar,
9
8
  calendarEdit
@@ -11,12 +10,11 @@ export default function AnimatedCrossView(_ref) {
11
10
  const theme = useTheme();
12
11
  const calendarOpacity = React.useRef(new Animated.Value(collapsed ? 1 : 0));
13
12
  React.useEffect(() => {
14
- // if (visible) {
15
13
  Animated.timing(calendarOpacity.current, {
16
14
  toValue: collapsed ? 1 : 0,
17
15
  duration: 250,
18
16
  useNativeDriver: true
19
- }).start(); // }
17
+ }).start();
20
18
  }, [collapsed]);
21
19
  return /*#__PURE__*/React.createElement(View, {
22
20
  style: styles.root
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","StyleSheet","View","useTheme","AnimatedCrossView","collapsed","calendar","calendarEdit","theme","calendarOpacity","useRef","Value","useEffect","timing","current","toValue","duration","useNativeDriver","start","styles","root","opacity","transform","scaleY","interpolate","inputRange","outputRange","scaleX","backgroundColor","colors","surface","scale","create","flex","position","left","right"],"sources":["AnimatedCrossView.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, View } from 'react-native'\nimport { useTheme } from 'react-native-paper'\n\nexport default function AnimatedCrossView({\n // visible,\n collapsed,\n calendar,\n calendarEdit,\n}: {\n calendar: any\n calendarEdit: any\n // visible: boolean\n collapsed: boolean\n}) {\n const theme = useTheme()\n const calendarOpacity = React.useRef<Animated.Value>(\n new Animated.Value(collapsed ? 1 : 0)\n )\n React.useEffect(() => {\n // if (visible) {\n Animated.timing(calendarOpacity.current, {\n toValue: collapsed ? 1 : 0,\n duration: 250,\n useNativeDriver: true,\n }).start()\n // }\n }, [collapsed])\n\n return (\n <View style={styles.root}>\n <Animated.View\n pointerEvents={collapsed ? 'auto' : 'none'}\n style={[\n styles.calendar,\n {\n opacity: calendarOpacity.current,\n transform: [\n {\n scaleY: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.85, 1],\n }),\n },\n {\n scaleX: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.95, 1],\n }),\n },\n ],\n },\n ]}\n >\n {calendar}\n </Animated.View>\n <Animated.View\n pointerEvents={collapsed ? 'none' : 'auto'}\n style={[\n styles.calendarEdit,\n {\n backgroundColor: theme.colors.surface,\n opacity: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0],\n }),\n transform: [\n {\n scale: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0.95],\n }),\n },\n ],\n },\n ]}\n >\n {calendarEdit}\n </Animated.View>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n calendarEdit: {\n position: 'absolute',\n\n left: 0,\n right: 0,\n },\n calendar: {\n flex: 1,\n },\n})\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,UAAnB,EAA+BC,IAA/B,QAA2C,cAA3C;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA,eAAe,SAASC,iBAAT,OAUZ;EAAA,IAVuC;IACxC;IACAC,SAFwC;IAGxCC,QAHwC;IAIxCC;EAJwC,CAUvC;EACD,MAAMC,KAAK,GAAGL,QAAQ,EAAtB;EACA,MAAMM,eAAe,GAAGV,KAAK,CAACW,MAAN,CACtB,IAAIV,QAAQ,CAACW,KAAb,CAAmBN,SAAS,GAAG,CAAH,GAAO,CAAnC,CADsB,CAAxB;EAGAN,KAAK,CAACa,SAAN,CAAgB,MAAM;IACpB;IACAZ,QAAQ,CAACa,MAAT,CAAgBJ,eAAe,CAACK,OAAhC,EAAyC;MACvCC,OAAO,EAAEV,SAAS,GAAG,CAAH,GAAO,CADc;MAEvCW,QAAQ,EAAE,GAF6B;MAGvCC,eAAe,EAAE;IAHsB,CAAzC,EAIGC,KAJH,GAFoB,CAOpB;EACD,CARD,EAQG,CAACb,SAAD,CARH;EAUA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEc,MAAM,CAACC;EAApB,gBACE,oBAAC,QAAD,CAAU,IAAV;IACE,aAAa,EAAEf,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLc,MAAM,CAACb,QADF,EAEL;MACEe,OAAO,EAAEZ,eAAe,CAACK,OAD3B;MAEEQ,SAAS,EAAE,CACT;QACEC,MAAM,EAAEd,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;UAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;UAE1CC,WAAW,EAAE,CAAC,IAAD,EAAO,CAAP;QAF6B,CAApC;MADV,CADS,EAOT;QACEC,MAAM,EAAElB,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;UAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;UAE1CC,WAAW,EAAE,CAAC,IAAD,EAAO,CAAP;QAF6B,CAApC;MADV,CAPS;IAFb,CAFK;EAFT,GAuBGpB,QAvBH,CADF,eA0BE,oBAAC,QAAD,CAAU,IAAV;IACE,aAAa,EAAED,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLc,MAAM,CAACZ,YADF,EAEL;MACEqB,eAAe,EAAEpB,KAAK,CAACqB,MAAN,CAAaC,OADhC;MAEET,OAAO,EAAEZ,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;QAC3CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD+B;QAE3CC,WAAW,EAAE,CAAC,CAAD,EAAI,CAAJ;MAF8B,CAApC,CAFX;MAMEJ,SAAS,EAAE,CACT;QACES,KAAK,EAAEtB,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;UACzCC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD6B;UAEzCC,WAAW,EAAE,CAAC,CAAD,EAAI,IAAJ;QAF4B,CAApC;MADT,CADS;IANb,CAFK;EAFT,GAqBGnB,YArBH,CA1BF,CADF;AAoDD;AAED,MAAMY,MAAM,GAAGlB,UAAU,CAAC+B,MAAX,CAAkB;EAC/BZ,IAAI,EAAE;IAAEa,IAAI,EAAE;EAAR,CADyB;EAE/B1B,YAAY,EAAE;IACZ2B,QAAQ,EAAE,UADE;IAGZC,IAAI,EAAE,CAHM;IAIZC,KAAK,EAAE;EAJK,CAFiB;EAQ/B9B,QAAQ,EAAE;IACR2B,IAAI,EAAE;EADE;AARqB,CAAlB,CAAf"}
1
+ {"version":3,"names":["React","Animated","StyleSheet","View","useTheme","AnimatedCrossView","collapsed","calendar","calendarEdit","theme","calendarOpacity","useRef","Value","useEffect","timing","current","toValue","duration","useNativeDriver","start","styles","root","opacity","transform","scaleY","interpolate","inputRange","outputRange","scaleX","backgroundColor","colors","surface","scale","create","flex","position","left","right"],"sources":["AnimatedCrossView.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, View } from 'react-native'\nimport { useTheme } from 'react-native-paper'\n\nexport default function AnimatedCrossView({\n collapsed,\n calendar,\n calendarEdit,\n}: {\n calendar: any\n calendarEdit: any\n collapsed: boolean\n}) {\n const theme = useTheme()\n const calendarOpacity = React.useRef<Animated.Value>(\n new Animated.Value(collapsed ? 1 : 0)\n )\n React.useEffect(() => {\n Animated.timing(calendarOpacity.current, {\n toValue: collapsed ? 1 : 0,\n duration: 250,\n useNativeDriver: true,\n }).start()\n }, [collapsed])\n\n return (\n <View style={styles.root}>\n <Animated.View\n pointerEvents={collapsed ? 'auto' : 'none'}\n style={[\n styles.calendar,\n {\n opacity: calendarOpacity.current,\n transform: [\n {\n scaleY: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.85, 1],\n }),\n },\n {\n scaleX: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.95, 1],\n }),\n },\n ],\n },\n ]}\n >\n {calendar}\n </Animated.View>\n <Animated.View\n pointerEvents={collapsed ? 'none' : 'auto'}\n style={[\n styles.calendarEdit,\n {\n backgroundColor: theme.colors.surface,\n opacity: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0],\n }),\n transform: [\n {\n scale: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0.95],\n }),\n },\n ],\n },\n ]}\n >\n {calendarEdit}\n </Animated.View>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n calendarEdit: {\n position: 'absolute',\n\n left: 0,\n right: 0,\n },\n calendar: {\n flex: 1,\n },\n})\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,UAAnB,EAA+BC,IAA/B,QAA2C,cAA3C;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA,eAAe,SAASC,iBAAT,OAQZ;EAAA,IARuC;IACxCC,SADwC;IAExCC,QAFwC;IAGxCC;EAHwC,CAQvC;EACD,MAAMC,KAAK,GAAGL,QAAQ,EAAtB;EACA,MAAMM,eAAe,GAAGV,KAAK,CAACW,MAAN,CACtB,IAAIV,QAAQ,CAACW,KAAb,CAAmBN,SAAS,GAAG,CAAH,GAAO,CAAnC,CADsB,CAAxB;EAGAN,KAAK,CAACa,SAAN,CAAgB,MAAM;IACpBZ,QAAQ,CAACa,MAAT,CAAgBJ,eAAe,CAACK,OAAhC,EAAyC;MACvCC,OAAO,EAAEV,SAAS,GAAG,CAAH,GAAO,CADc;MAEvCW,QAAQ,EAAE,GAF6B;MAGvCC,eAAe,EAAE;IAHsB,CAAzC,EAIGC,KAJH;EAKD,CAND,EAMG,CAACb,SAAD,CANH;EAQA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEc,MAAM,CAACC;EAApB,gBACE,oBAAC,QAAD,CAAU,IAAV;IACE,aAAa,EAAEf,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLc,MAAM,CAACb,QADF,EAEL;MACEe,OAAO,EAAEZ,eAAe,CAACK,OAD3B;MAEEQ,SAAS,EAAE,CACT;QACEC,MAAM,EAAEd,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;UAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;UAE1CC,WAAW,EAAE,CAAC,IAAD,EAAO,CAAP;QAF6B,CAApC;MADV,CADS,EAOT;QACEC,MAAM,EAAElB,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;UAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;UAE1CC,WAAW,EAAE,CAAC,IAAD,EAAO,CAAP;QAF6B,CAApC;MADV,CAPS;IAFb,CAFK;EAFT,GAuBGpB,QAvBH,CADF,eA0BE,oBAAC,QAAD,CAAU,IAAV;IACE,aAAa,EAAED,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLc,MAAM,CAACZ,YADF,EAEL;MACEqB,eAAe,EAAEpB,KAAK,CAACqB,MAAN,CAAaC,OADhC;MAEET,OAAO,EAAEZ,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;QAC3CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD+B;QAE3CC,WAAW,EAAE,CAAC,CAAD,EAAI,CAAJ;MAF8B,CAApC,CAFX;MAMEJ,SAAS,EAAE,CACT;QACES,KAAK,EAAEtB,eAAe,CAACK,OAAhB,CAAwBU,WAAxB,CAAoC;UACzCC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD6B;UAEzCC,WAAW,EAAE,CAAC,CAAD,EAAI,IAAJ;QAF4B,CAApC;MADT,CADS;IANb,CAFK;EAFT,GAqBGnB,YArBH,CA1BF,CADF;AAoDD;AAED,MAAMY,MAAM,GAAGlB,UAAU,CAAC+B,MAAX,CAAkB;EAC/BZ,IAAI,EAAE;IAAEa,IAAI,EAAE;EAAR,CADyB;EAE/B1B,YAAY,EAAE;IACZ2B,QAAQ,EAAE,UADE;IAGZC,IAAI,EAAE,CAHM;IAIZC,KAAK,EAAE;EAJK,CAFiB;EAQ/B9B,QAAQ,EAAE;IACR2B,IAAI,EAAE;EADE;AARqB,CAAlB,CAAf"}
@@ -28,7 +28,7 @@ function Calendar(props) {
28
28
  const theme = useTheme();
29
29
  const selectColor = useMemo(() => {
30
30
  if (theme.dark) {
31
- return darkenBy(Color(theme.colors.primary), 0.9).hex();
31
+ return darkenBy(Color(theme.colors.primary), 0.1).hex();
32
32
  }
33
33
 
34
34
  return lightenBy(Color(theme.colors.primary), 0.9).hex();
@@ -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 implemenation 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.9).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","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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"}
@@ -39,7 +39,8 @@ function DatePickerInput(_ref, ref) {
39
39
  value,
40
40
  locale,
41
41
  inputMode,
42
- validRange
42
+ validRange,
43
+ saveLabel
43
44
  } = _ref3;
44
45
  return withModal ? /*#__PURE__*/React.createElement(DatePickerModal, {
45
46
  date: value,
@@ -49,7 +50,8 @@ function DatePickerInput(_ref, ref) {
49
50
  onConfirm: onInnerConfirm,
50
51
  locale: locale,
51
52
  dateMode: inputMode,
52
- validRange: validRange
53
+ validRange: validRange,
54
+ saveLabel: saveLabel
53
55
  }) : null;
54
56
  }
55
57
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["React","IconButton","StyleSheet","DatePickerModal","useLatest","DatePickerInputWithoutModal","DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onChange","onInnerConfirm","date","current","styles","calendarButton","value","locale","inputMode","validRange","create","position","right","zIndex","forwardRef"],"sources":["DatePickerInput.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconButton } from 'react-native-paper'\nimport { StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport { useLatest } from '../utils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction DatePickerInput(\n {\n withModal = true,\n calendarIcon = 'calendar',\n ...rest\n }: DatePickerInputProps,\n ref: any\n) {\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(rest.onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }: any) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <DatePickerInputWithoutModal\n ref={ref}\n {...rest}\n inputButtons={\n withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon={calendarIcon}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n modal={({ value, locale, inputMode, validRange }) =>\n withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n validRange={validRange}\n />\n ) : null\n }\n />\n )\n}\n\nconst styles = StyleSheet.create({\n calendarButton: { position: 'absolute', right: 0, zIndex: 10 },\n})\n\nexport default React.forwardRef(DatePickerInput)\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,SAAT,QAA0B,UAA1B;AAEA,OAAOC,2BAAP,MAAwC,+BAAxC;;AAEA,SAASC,eAAT,OAMEC,GANF,EAOE;EAAA,IANA;IACEC,SAAS,GAAG,IADd;IAEEC,YAAY,GAAG,UAFjB;IAGE,GAAGC;EAHL,CAMA;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBZ,KAAK,CAACa,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGd,KAAK,CAACe,WAAN,CAAkB,MAAM;IACxCH,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMI,WAAW,GAAGZ,SAAS,CAACM,IAAI,CAACO,QAAN,CAA7B;EACA,MAAMC,cAAc,GAAGlB,KAAK,CAACe,WAAN,CACrB,SAAmB;IAAA,IAAlB;MAAEI;IAAF,CAAkB;IACjBP,UAAU,CAAC,KAAD,CAAV;IACAI,WAAW,CAACI,OAAZ,CAAoBD,IAApB;EACD,CAJoB,EAKrB,CAACP,UAAD,EAAaI,WAAb,CALqB,CAAvB;EAQA,oBACE,oBAAC,2BAAD;IACE,GAAG,EAAET;EADP,GAEMG,IAFN;IAGE,YAAY,EACVF,SAAS,gBACP,oBAAC,UAAD;MACE,IAAI,EAAE,EADR;MAEE,KAAK,EAAEa,MAAM,CAACC,cAFhB;MAGE,IAAI,EAAEb,YAHR;MAIE,OAAO,EAAE,MAAMG,UAAU,CAAC,IAAD;IAJ3B,EADO,GAOL,IAXR;IAaE,KAAK,EAAE;MAAA,IAAC;QAAEW,KAAF;QAASC,MAAT;QAAiBC,SAAjB;QAA4BC;MAA5B,CAAD;MAAA,OACLlB,SAAS,gBACP,oBAAC,eAAD;QACE,IAAI,EAAEe,KADR;QAEE,IAAI,EAAC,QAFP;QAGE,OAAO,EAAEZ,OAHX;QAIE,SAAS,EAAEG,SAJb;QAKE,SAAS,EAAEI,cALb;QAME,MAAM,EAAEM,MANV;QAOE,QAAQ,EAAEC,SAPZ;QAQE,UAAU,EAAEC;MARd,EADO,GAWL,IAZC;IAAA;EAbT,GADF;AA8BD;;AAED,MAAML,MAAM,GAAGnB,UAAU,CAACyB,MAAX,CAAkB;EAC/BL,cAAc,EAAE;IAAEM,QAAQ,EAAE,UAAZ;IAAwBC,KAAK,EAAE,CAA/B;IAAkCC,MAAM,EAAE;EAA1C;AADe,CAAlB,CAAf;AAIA,4BAAe9B,KAAK,CAAC+B,UAAN,CAAiBzB,eAAjB,CAAf"}
1
+ {"version":3,"names":["React","IconButton","StyleSheet","DatePickerModal","useLatest","DatePickerInputWithoutModal","DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onChange","onInnerConfirm","date","current","styles","calendarButton","value","locale","inputMode","validRange","saveLabel","create","position","right","zIndex","forwardRef"],"sources":["DatePickerInput.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconButton } from 'react-native-paper'\nimport { StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport { useLatest } from '../utils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction DatePickerInput(\n {\n withModal = true,\n calendarIcon = 'calendar',\n ...rest\n }: DatePickerInputProps,\n ref: any\n) {\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(rest.onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }: any) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <DatePickerInputWithoutModal\n ref={ref}\n {...rest}\n inputButtons={\n withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon={calendarIcon}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n modal={({ value, locale, inputMode, validRange, saveLabel }) =>\n withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n validRange={validRange}\n saveLabel={saveLabel}\n />\n ) : null\n }\n />\n )\n}\n\nconst styles = StyleSheet.create({\n calendarButton: { position: 'absolute', right: 0, zIndex: 10 },\n})\n\nexport default React.forwardRef(DatePickerInput)\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,SAAT,QAA0B,UAA1B;AAEA,OAAOC,2BAAP,MAAwC,+BAAxC;;AAEA,SAASC,eAAT,OAMEC,GANF,EAOE;EAAA,IANA;IACEC,SAAS,GAAG,IADd;IAEEC,YAAY,GAAG,UAFjB;IAGE,GAAGC;EAHL,CAMA;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBZ,KAAK,CAACa,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGd,KAAK,CAACe,WAAN,CAAkB,MAAM;IACxCH,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMI,WAAW,GAAGZ,SAAS,CAACM,IAAI,CAACO,QAAN,CAA7B;EACA,MAAMC,cAAc,GAAGlB,KAAK,CAACe,WAAN,CACrB,SAAmB;IAAA,IAAlB;MAAEI;IAAF,CAAkB;IACjBP,UAAU,CAAC,KAAD,CAAV;IACAI,WAAW,CAACI,OAAZ,CAAoBD,IAApB;EACD,CAJoB,EAKrB,CAACP,UAAD,EAAaI,WAAb,CALqB,CAAvB;EAQA,oBACE,oBAAC,2BAAD;IACE,GAAG,EAAET;EADP,GAEMG,IAFN;IAGE,YAAY,EACVF,SAAS,gBACP,oBAAC,UAAD;MACE,IAAI,EAAE,EADR;MAEE,KAAK,EAAEa,MAAM,CAACC,cAFhB;MAGE,IAAI,EAAEb,YAHR;MAIE,OAAO,EAAE,MAAMG,UAAU,CAAC,IAAD;IAJ3B,EADO,GAOL,IAXR;IAaE,KAAK,EAAE;MAAA,IAAC;QAAEW,KAAF;QAASC,MAAT;QAAiBC,SAAjB;QAA4BC,UAA5B;QAAwCC;MAAxC,CAAD;MAAA,OACLnB,SAAS,gBACP,oBAAC,eAAD;QACE,IAAI,EAAEe,KADR;QAEE,IAAI,EAAC,QAFP;QAGE,OAAO,EAAEZ,OAHX;QAIE,SAAS,EAAEG,SAJb;QAKE,SAAS,EAAEI,cALb;QAME,MAAM,EAAEM,MANV;QAOE,QAAQ,EAAEC,SAPZ;QAQE,UAAU,EAAEC,UARd;QASE,SAAS,EAAEC;MATb,EADO,GAYL,IAbC;IAAA;EAbT,GADF;AA+BD;;AAED,MAAMN,MAAM,GAAGnB,UAAU,CAAC0B,MAAX,CAAkB;EAC/BN,cAAc,EAAE;IAAEO,QAAQ,EAAE,UAAZ;IAAwBC,KAAK,EAAE,CAA/B;IAAkCC,MAAM,EAAE;EAA1C;AADe,CAAlB,CAAf;AAIA,4BAAe/B,KAAK,CAACgC,UAAN,CAAiB1B,eAAjB,CAAf"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["DatePickerInput.shared.tsx"],"sourcesContent":["import type { ValidRangeType } from './Calendar'\nimport type * as React from 'react'\nimport type { TextInput } from 'react-native-paper'\n\nexport type DatePickerInputProps = {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n calendarIcon?: string\n} & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n>\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["DatePickerInput.shared.tsx"],"sourcesContent":["import type { ValidRangeType } from './Calendar'\nimport type * as React from 'react'\nimport type { TextInput } from 'react-native-paper'\n\nexport type DatePickerInputProps = {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n calendarIcon?: string\n saveLabel?: string\n} & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n>\n"],"mappings":""}