react-native-paper-dates 0.11.10 → 0.11.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/Date/Calendar.js +4 -0
- package/lib/commonjs/Date/Calendar.js.map +1 -1
- package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +15 -11
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js +5 -4
- package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/commonjs/Date/Day.js +4 -4
- package/lib/commonjs/Date/Day.js.map +1 -1
- package/lib/commonjs/Date/DayName.js +3 -2
- package/lib/commonjs/Date/DayName.js.map +1 -1
- package/lib/commonjs/Date/Month.js +4 -3
- package/lib/commonjs/Date/Month.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +6 -4
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/Time/timeUtils.js +5 -1
- package/lib/commonjs/Time/timeUtils.js.map +1 -1
- package/lib/commonjs/index.js +53 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils.js +11 -0
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/Date/Calendar.js +4 -0
- package/lib/module/Date/Calendar.js.map +1 -1
- package/lib/module/Date/CalendarHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalContent.js +1 -1
- package/lib/module/Date/DatePickerModalContent.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +15 -11
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeader.js +6 -5
- package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/module/Date/Day.js +4 -4
- package/lib/module/Date/Day.js.map +1 -1
- package/lib/module/Date/DayName.js +3 -2
- package/lib/module/Date/DayName.js.map +1 -1
- package/lib/module/Date/Month.js +4 -3
- package/lib/module/Date/Month.js.map +1 -1
- package/lib/module/Date/YearPicker.js +6 -4
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/Time/timeUtils.js +5 -1
- package/lib/module/Time/timeUtils.js.map +1 -1
- package/lib/module/index.js +8 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils.js +11 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/index.d.ts +8 -3
- package/lib/typescript/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/Date/Calendar.tsx +3 -0
- package/src/Date/CalendarHeader.tsx +0 -1
- package/src/Date/DatePickerModalContent.tsx +1 -4
- package/src/Date/DatePickerModalContentHeader.tsx +41 -12
- package/src/Date/DatePickerModalHeader.tsx +4 -3
- package/src/Date/Day.tsx +24 -10
- package/src/Date/DayName.tsx +8 -2
- package/src/Date/Month.tsx +19 -6
- package/src/Date/YearPicker.tsx +8 -2
- package/src/Time/timeUtils.ts +4 -1
- package/src/index.tsx +9 -3
- package/src/utils.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","FlatList","StyleSheet","View","Text","TouchableRipple","useTheme","range","ITEM_HEIGHT","YearPicker","selectedYear","selectingYear","onPressYear","startYear","endYear","theme","flatList","useRef","years","isNaN","useEffect","current","indexToGo","scrollToOffset","offset","animated","absoluteFill","styles","root","backgroundColor","colors","surface","opacity1","opacity0","list","item","YearPure","year","selected","textFont","isV3","fonts","bodyLarge","medium","String","yearButton","yearInner","primary","yearLabel","Year","memo","create","flex","top","zIndex","marginLeft","marginRight","height","justifyContent","
|
|
1
|
+
{"version":3,"names":["React","FlatList","StyleSheet","View","Text","TouchableRipple","useTheme","range","ITEM_HEIGHT","YearPicker","selectedYear","selectingYear","onPressYear","startYear","endYear","theme","flatList","useRef","years","isNaN","useEffect","current","indexToGo","scrollToOffset","offset","animated","absoluteFill","styles","root","backgroundColor","colors","surface","opacity1","opacity0","list","item","YearPure","year","selected","textFont","isV3","fonts","bodyLarge","medium","String","yearButton","yearInner","primary","yearLabel","color","onPrimary","onSurfaceVariant","undefined","Year","memo","create","flex","top","zIndex","marginLeft","marginRight","height","justifyContent","borderRadius","overflow","alignItems","fontSize","opacity"],"sources":["YearPicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { MD2Theme, Text, TouchableRipple, useTheme } from 'react-native-paper'\nimport { range } from '../utils'\n\nconst ITEM_HEIGHT = 62\n\nexport default function YearPicker({\n selectedYear,\n selectingYear,\n onPressYear,\n startYear,\n endYear,\n}: {\n selectedYear: number | undefined\n selectingYear: boolean\n onPressYear: (year: number) => any\n startYear: number\n endYear: number\n}) {\n const theme = useTheme()\n const flatList = React.useRef<FlatList<number> | null>(null)\n const years = range(\n isNaN(startYear) ? 1800 : startYear,\n isNaN(endYear) ? 2200 : endYear\n )\n\n // scroll to selected year\n React.useEffect(() => {\n if (flatList.current && selectedYear) {\n const indexToGo = selectedYear - startYear\n flatList.current.scrollToOffset({\n offset: (indexToGo / 3) * ITEM_HEIGHT - ITEM_HEIGHT,\n animated: false,\n })\n }\n }, [flatList, selectedYear, startYear])\n\n return (\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.root,\n { backgroundColor: theme.colors.surface },\n selectingYear ? styles.opacity1 : styles.opacity0,\n ]}\n pointerEvents={selectingYear ? 'auto' : 'none'}\n >\n <FlatList<number>\n ref={flatList}\n style={styles.list}\n data={years}\n renderItem={({ item }) => (\n <Year\n year={item}\n selected={selectedYear === item}\n onPressYear={onPressYear}\n />\n )}\n keyExtractor={(item) => `${item}`}\n numColumns={3}\n />\n </View>\n )\n}\n\nfunction YearPure({\n year,\n selected,\n onPressYear,\n}: {\n year: number\n selected: boolean\n onPressYear: (newYear: number) => any\n}) {\n const theme = useTheme()\n\n let textFont = theme?.isV3\n ? theme.fonts.bodyLarge\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={styles.year}>\n <TouchableRipple\n onPress={() => onPressYear(year)}\n accessibilityRole=\"button\"\n accessibilityLabel={String(year)}\n style={styles.yearButton}\n >\n <View\n style={[\n styles.yearInner,\n selected ? { backgroundColor: theme.colors.primary } : null,\n ]}\n >\n <Text\n style={[\n styles.yearLabel,\n selected\n ? // eslint-disable-next-line react-native/no-inline-styles\n { color: theme.isV3 ? theme.colors.onPrimary : '#fff' }\n : {\n color: theme.isV3\n ? theme.colors.onSurfaceVariant\n : undefined,\n },\n { ...textFont },\n ]}\n selectable={false}\n >\n {year}\n </Text>\n </View>\n </TouchableRipple>\n </View>\n )\n}\nconst Year = React.memo(YearPure)\n\nconst styles = StyleSheet.create({\n root: {\n flex: 1,\n top: 56,\n zIndex: 100,\n },\n\n list: {\n flex: 1,\n },\n year: {\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n height: ITEM_HEIGHT,\n justifyContent: 'center',\n },\n yearButton: {\n borderRadius: 46 / 2,\n overflow: 'hidden',\n },\n yearInner: {\n borderRadius: 46 / 2,\n height: 46,\n alignItems: 'center',\n justifyContent: 'center',\n },\n yearLabel: {\n fontSize: 16,\n },\n opacity0: {\n opacity: 0,\n },\n opacity1: {\n opacity: 1,\n },\n})\n"],"mappings":"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"}
|
|
@@ -232,7 +232,11 @@ export function toHourOutputFormat(newHours, previousHours, is24Hour) {
|
|
|
232
232
|
return newHours;
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
-
if (
|
|
235
|
+
if (previousHours === 0 && newHours !== 0) {
|
|
236
|
+
return newHours - 12 < 0 ? newHours : newHours - 12;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (previousHours >= 12 && newHours < 12) {
|
|
236
240
|
return newHours + 12;
|
|
237
241
|
}
|
|
238
242
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Color","useTheme","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","backgroundColor","useMemo","dark","isV3","colors","tertiaryContainer","primary","hex","backdrop","primaryContainer","lighten","surface","color","onSurfaceVariant","onTertiaryContainer","background","placeholder","useInputColors","surfaceVariant","secondaryContainer","darken","onSurface","onBackground","onPrimaryContainer","text","toHourInputFormat","is24Hour","toHourOutputFormat","newHours","previousHours"],"sources":["timeUtils.ts"],"sourcesContent":["import * as React from 'react'\nimport Color from 'color'\nimport { MD2Theme, useTheme } from 'react-native-paper'\n\nexport const circleSize = 256\n\nexport type PossibleHourTypes = 'am' | 'pm'\nexport type HourTypeMap = {\n [hourType in PossibleHourTypes]: PossibleHourTypes\n}\nexport const hourTypes: HourTypeMap = {\n am: 'am',\n pm: 'pm',\n}\n\nexport function getHourType(hours: number): PossibleHourTypes | undefined {\n if (hours >= 0 && hours <= 12) {\n return hourTypes.am\n }\n if (hours > 12 && hours <= 24) {\n return hourTypes.pm\n }\n return undefined\n}\n\nexport type PossibleInputTypes = 'keyboard' | 'picker'\nexport type InputTypeMap = {\n [inputType in PossibleInputTypes]: PossibleInputTypes\n}\nexport const inputTypes: InputTypeMap = {\n keyboard: 'keyboard',\n picker: 'picker',\n}\n\nexport const reverseInputTypes: InputTypeMap = {\n keyboard: 'picker',\n picker: 'keyboard',\n}\ntype InputIconMap = {\n [inputType in PossibleInputTypes]: string\n}\nexport const inputTypeIcons: InputIconMap = {\n keyboard: 'keyboard-outline',\n picker: 'clock-outline',\n}\n\nexport const getTimeInputTypeIcon = (\n inputType: PossibleInputTypes,\n inputIconMap?: InputIconMap\n) => {\n return (\n inputIconMap?.[reverseInputTypes[inputType]] ||\n inputTypeIcons?.[reverseInputTypes[inputType]]\n )\n}\n\nexport type PossibleClockTypes = 'hours' | 'minutes'\nexport type ClockTypeMap = {\n [clockType in PossibleClockTypes]: PossibleClockTypes\n}\nexport const clockTypes: ClockTypeMap = {\n minutes: 'minutes',\n hours: 'hours',\n}\n\n// Code inspiration and copied from: https://github.com/ShaneGH/analogue-time-picker/blob/master/src/utils/angle.ts\n\nconst outerHeight = 34\nconst _30 = Math.PI / 6\nconst _12 = Math.PI / 30\nconst _360 = Math.PI * 2\nconst _90 = Math.PI / 2\n\n/** Snap an angle to a given step. E.g. if angle = 22° and step = 10°, round down to 20° */\nexport function snap(angle: number, step: number) {\n let a = angle\n while (a < 0) a += _360\n let diff = a % step\n\n if (diff <= step / 2) {\n return angle - diff\n }\n\n return angle - diff + step\n}\n\n// detect am / pm based on offset\nexport function getHourTypeFromOffset(\n left: number,\n top: number,\n size: number\n): PossibleHourTypes {\n const w = size / 2\n const x = w - left\n const y = size / 2 - top\n\n const distance = Math.sqrt(x * x + y * y)\n const maxPm = w - outerHeight\n\n return distance > maxPm ? hourTypes.am : hourTypes.pm\n}\n\n// Calculate the minute from the hand angle\nexport function getMinutes(handAngle: number) {\n handAngle = snap(handAngle, _12)\n\n let minute = parseInt((((handAngle - _90) % _360) / _12).toFixed(), 10)\n while (minute < 0) minute += 60\n while (minute >= 60) minute -= 60\n\n return minute\n}\n\n// Calculate the hour from the hand angle\nexport function getHours(\n handAngle: number,\n hourType: PossibleHourTypes | undefined\n) {\n handAngle = snap(handAngle, _30)\n\n let hour = parseInt((((handAngle - _90) % _360) / _30).toFixed(), 10)\n if (hour < 0) hour += 12\n if (hour >= 12) hour -= 12\n\n if (hourType === hourTypes.am) {\n if (hour <= 0) {\n hour += 12\n } else if (hour >= 12) {\n hour -= 12\n }\n }\n if (hourType === hourTypes.pm) {\n if (hour <= 0) {\n hour += 12\n } else if (hour > 12) {\n hour -= 12\n }\n }\n\n return hour\n}\n\n/** Get the angle of the left/top co-ordinate from the center of the width.height box */\nexport function getAngle(left: number, top: number, size: number) {\n const x = size / 2 - left\n const y = size / 2 - top\n\n // tan O = y / x\n let angle = x ? Math.atan(y / x) : y < 0 ? -_90 : _90\n if (x < 0) {\n // reflect along vertical axis\n angle = -angle + 2 * (_90 + angle)\n }\n\n return angle\n}\n\nexport function useSwitchColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.tertiaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.colors.backdrop\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.primaryContainer\n }\n\n return Color(theme.colors.primary).lighten(1).hex()\n }\n return theme.colors.surface\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (highlighted && !theme.dark) {\n return theme.isV3 ? theme.colors.onSurfaceVariant : theme.colors.primary\n }\n if (highlighted && theme.dark) {\n return theme.isV3\n ? theme.colors.onTertiaryContainer\n : theme.colors.background\n }\n if (theme.isV3) {\n return theme.colors.onSurfaceVariant\n } else {\n return (theme as any as MD2Theme).colors.placeholder\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function useInputColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.primaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.isV3\n ? theme.colors.surfaceVariant\n : Color(theme.colors.surface).lighten(1.4).hex()\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.secondaryContainer\n }\n return Color(theme.colors.primary).lighten(1).hex()\n }\n if (theme.isV3) {\n return theme.colors.surfaceVariant\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (theme.isV3) {\n if (!highlighted) {\n return theme.isV3 ? theme.colors.onSurface : theme.colors.onBackground\n }\n return theme.isV3\n ? theme.colors.onPrimaryContainer\n : theme.colors.onBackground\n } else {\n if (highlighted && !theme.dark) {\n return theme.colors.primary\n }\n return (theme as any as MD2Theme).colors.text\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function toHourInputFormat(hours: number, is24Hour: boolean): number {\n if (is24Hour) {\n if (hours === 24) {\n return 0\n }\n return hours\n }\n if (hours > 12) {\n return hours - 12\n }\n if (hours === 0) {\n return hours + 12\n }\n return hours\n}\n\nexport function toHourOutputFormat(\n newHours: number,\n previousHours: number,\n is24Hour: boolean\n): number {\n if (is24Hour) {\n return newHours\n }\n if ((!is24Hour && previousHours === 0) || newHours === 0) {\n return newHours + 12\n }\n return newHours\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Color","useTheme","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","backgroundColor","useMemo","dark","isV3","colors","tertiaryContainer","primary","hex","backdrop","primaryContainer","lighten","surface","color","onSurfaceVariant","onTertiaryContainer","background","placeholder","useInputColors","surfaceVariant","secondaryContainer","darken","onSurface","onBackground","onPrimaryContainer","text","toHourInputFormat","is24Hour","toHourOutputFormat","newHours","previousHours"],"sources":["timeUtils.ts"],"sourcesContent":["import * as React from 'react'\nimport Color from 'color'\nimport { MD2Theme, useTheme } from 'react-native-paper'\n\nexport const circleSize = 256\n\nexport type PossibleHourTypes = 'am' | 'pm'\nexport type HourTypeMap = {\n [hourType in PossibleHourTypes]: PossibleHourTypes\n}\nexport const hourTypes: HourTypeMap = {\n am: 'am',\n pm: 'pm',\n}\n\nexport function getHourType(hours: number): PossibleHourTypes | undefined {\n if (hours >= 0 && hours <= 12) {\n return hourTypes.am\n }\n if (hours > 12 && hours <= 24) {\n return hourTypes.pm\n }\n return undefined\n}\n\nexport type PossibleInputTypes = 'keyboard' | 'picker'\nexport type InputTypeMap = {\n [inputType in PossibleInputTypes]: PossibleInputTypes\n}\nexport const inputTypes: InputTypeMap = {\n keyboard: 'keyboard',\n picker: 'picker',\n}\n\nexport const reverseInputTypes: InputTypeMap = {\n keyboard: 'picker',\n picker: 'keyboard',\n}\ntype InputIconMap = {\n [inputType in PossibleInputTypes]: string\n}\nexport const inputTypeIcons: InputIconMap = {\n keyboard: 'keyboard-outline',\n picker: 'clock-outline',\n}\n\nexport const getTimeInputTypeIcon = (\n inputType: PossibleInputTypes,\n inputIconMap?: InputIconMap\n) => {\n return (\n inputIconMap?.[reverseInputTypes[inputType]] ||\n inputTypeIcons?.[reverseInputTypes[inputType]]\n )\n}\n\nexport type PossibleClockTypes = 'hours' | 'minutes'\nexport type ClockTypeMap = {\n [clockType in PossibleClockTypes]: PossibleClockTypes\n}\nexport const clockTypes: ClockTypeMap = {\n minutes: 'minutes',\n hours: 'hours',\n}\n\n// Code inspiration and copied from: https://github.com/ShaneGH/analogue-time-picker/blob/master/src/utils/angle.ts\n\nconst outerHeight = 34\nconst _30 = Math.PI / 6\nconst _12 = Math.PI / 30\nconst _360 = Math.PI * 2\nconst _90 = Math.PI / 2\n\n/** Snap an angle to a given step. E.g. if angle = 22° and step = 10°, round down to 20° */\nexport function snap(angle: number, step: number) {\n let a = angle\n while (a < 0) a += _360\n let diff = a % step\n\n if (diff <= step / 2) {\n return angle - diff\n }\n\n return angle - diff + step\n}\n\n// detect am / pm based on offset\nexport function getHourTypeFromOffset(\n left: number,\n top: number,\n size: number\n): PossibleHourTypes {\n const w = size / 2\n const x = w - left\n const y = size / 2 - top\n\n const distance = Math.sqrt(x * x + y * y)\n const maxPm = w - outerHeight\n\n return distance > maxPm ? hourTypes.am : hourTypes.pm\n}\n\n// Calculate the minute from the hand angle\nexport function getMinutes(handAngle: number) {\n handAngle = snap(handAngle, _12)\n\n let minute = parseInt((((handAngle - _90) % _360) / _12).toFixed(), 10)\n while (minute < 0) minute += 60\n while (minute >= 60) minute -= 60\n\n return minute\n}\n\n// Calculate the hour from the hand angle\nexport function getHours(\n handAngle: number,\n hourType: PossibleHourTypes | undefined\n) {\n handAngle = snap(handAngle, _30)\n\n let hour = parseInt((((handAngle - _90) % _360) / _30).toFixed(), 10)\n if (hour < 0) hour += 12\n if (hour >= 12) hour -= 12\n\n if (hourType === hourTypes.am) {\n if (hour <= 0) {\n hour += 12\n } else if (hour >= 12) {\n hour -= 12\n }\n }\n if (hourType === hourTypes.pm) {\n if (hour <= 0) {\n hour += 12\n } else if (hour > 12) {\n hour -= 12\n }\n }\n\n return hour\n}\n\n/** Get the angle of the left/top co-ordinate from the center of the width.height box */\nexport function getAngle(left: number, top: number, size: number) {\n const x = size / 2 - left\n const y = size / 2 - top\n\n // tan O = y / x\n let angle = x ? Math.atan(y / x) : y < 0 ? -_90 : _90\n if (x < 0) {\n // reflect along vertical axis\n angle = -angle + 2 * (_90 + angle)\n }\n\n return angle\n}\n\nexport function useSwitchColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.tertiaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.colors.backdrop\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.primaryContainer\n }\n\n return Color(theme.colors.primary).lighten(1).hex()\n }\n return theme.colors.surface\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (highlighted && !theme.dark) {\n return theme.isV3 ? theme.colors.onSurfaceVariant : theme.colors.primary\n }\n if (highlighted && theme.dark) {\n return theme.isV3\n ? theme.colors.onTertiaryContainer\n : theme.colors.background\n }\n if (theme.isV3) {\n return theme.colors.onSurfaceVariant\n } else {\n return (theme as any as MD2Theme).colors.placeholder\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function useInputColors(highlighted: boolean) {\n const theme = useTheme()\n const backgroundColor = React.useMemo<string>(() => {\n if (theme.dark) {\n if (highlighted) {\n return theme.isV3\n ? theme.colors.primaryContainer\n : Color(theme.colors.primary).hex()\n }\n return theme.isV3\n ? theme.colors.surfaceVariant\n : Color(theme.colors.surface).lighten(1.4).hex()\n }\n\n if (highlighted) {\n if (theme.isV3) {\n return theme.colors.secondaryContainer\n }\n return Color(theme.colors.primary).lighten(1).hex()\n }\n if (theme.isV3) {\n return theme.colors.surfaceVariant\n }\n return Color(theme.colors.surface).darken(0.1).hex()\n }, [highlighted, theme])\n\n const color = React.useMemo<string>(() => {\n if (theme.isV3) {\n if (!highlighted) {\n return theme.isV3 ? theme.colors.onSurface : theme.colors.onBackground\n }\n return theme.isV3\n ? theme.colors.onPrimaryContainer\n : theme.colors.onBackground\n } else {\n if (highlighted && !theme.dark) {\n return theme.colors.primary\n }\n return (theme as any as MD2Theme).colors.text\n }\n }, [highlighted, theme])\n\n return { backgroundColor, color }\n}\n\nexport function toHourInputFormat(hours: number, is24Hour: boolean): number {\n if (is24Hour) {\n if (hours === 24) {\n return 0\n }\n return hours\n }\n if (hours > 12) {\n return hours - 12\n }\n if (hours === 0) {\n return hours + 12\n }\n return hours\n}\n\nexport function toHourOutputFormat(\n newHours: number,\n previousHours: number,\n is24Hour: boolean\n): number {\n if (is24Hour) {\n return newHours\n }\n if (previousHours === 0 && newHours !== 0) {\n return newHours - 12 < 0 ? newHours : newHours - 12\n }\n if (previousHours >= 12 && newHours < 12) {\n return newHours + 12\n }\n return newHours\n}\n"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -6,11 +6,16 @@ export { default as TimePickerModal } from './Time/TimePickerModal';
|
|
|
6
6
|
export { default as TimePicker } from './Time/TimePicker';
|
|
7
7
|
export { default as DatePickerInput } from './Date/DatePickerInput';
|
|
8
8
|
export { registerTranslation, getTranslation } from './translations/utils';
|
|
9
|
-
export { default as
|
|
9
|
+
export { default as ar } from './translations/ar';
|
|
10
|
+
export { default as de } from './translations/de';
|
|
10
11
|
export { default as en } from './translations/en';
|
|
12
|
+
export { default as enGB } from './translations/enGB';
|
|
13
|
+
export { default as es } from './translations/es';
|
|
14
|
+
export { default as fr } from './translations/fr';
|
|
15
|
+
export { default as it } from './translations/it';
|
|
16
|
+
export { default as ko } from './translations/ko';
|
|
17
|
+
export { default as nl } from './translations/nl';
|
|
11
18
|
export { default as pl } from './translations/pl';
|
|
12
19
|
export { default as pt } from './translations/pt';
|
|
13
|
-
export { default as enGB } from './translations/enGB';
|
|
14
|
-
export { default as de } from './translations/de';
|
|
15
20
|
export { default as tr } from './translations/tr';
|
|
16
21
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","Calendar","DatePickerModal","DatePickerModalContent","TimePickerModal","TimePicker","DatePickerInput","registerTranslation","getTranslation","
|
|
1
|
+
{"version":3,"names":["default","Calendar","DatePickerModal","DatePickerModalContent","TimePickerModal","TimePicker","DatePickerInput","registerTranslation","getTranslation","ar","de","en","enGB","es","fr","it","ko","nl","pl","pt","tr"],"sources":["index.tsx"],"sourcesContent":["export { default as Calendar } from './Date/Calendar'\nexport { default as DatePickerModal } from './Date/DatePickerModal'\nexport * from './Date/DatePickerModal'\nexport { default as DatePickerModalContent } from './Date/DatePickerModalContent'\nexport { default as TimePickerModal } from './Time/TimePickerModal'\nexport { default as TimePicker } from './Time/TimePicker'\nexport { default as DatePickerInput } from './Date/DatePickerInput'\nexport type { TranslationsType } from './translations/utils'\nexport { registerTranslation, getTranslation } from './translations/utils'\n\nexport { default as ar } from './translations/ar'\nexport { default as de } from './translations/de'\nexport { default as en } from './translations/en'\nexport { default as enGB } from './translations/enGB'\nexport { default as es } from './translations/es'\nexport { default as fr } from './translations/fr'\nexport { default as it } from './translations/it'\nexport { default as ko } from './translations/ko'\nexport { default as nl } from './translations/nl'\nexport { default as pl } from './translations/pl'\nexport { default as pt } from './translations/pt'\nexport { default as tr } from './translations/tr'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAApB,QAAoC,iBAApC;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,wBAA3C;AACA,cAAc,wBAAd;AACA,SAASF,OAAO,IAAIG,sBAApB,QAAkD,+BAAlD;AACA,SAASH,OAAO,IAAII,eAApB,QAA2C,wBAA3C;AACA,SAASJ,OAAO,IAAIK,UAApB,QAAsC,mBAAtC;AACA,SAASL,OAAO,IAAIM,eAApB,QAA2C,wBAA3C;AAEA,SAASC,mBAAT,EAA8BC,cAA9B,QAAoD,sBAApD;AAEA,SAASR,OAAO,IAAIS,EAApB,QAA8B,mBAA9B;AACA,SAAST,OAAO,IAAIU,EAApB,QAA8B,mBAA9B;AACA,SAASV,OAAO,IAAIW,EAApB,QAA8B,mBAA9B;AACA,SAASX,OAAO,IAAIY,IAApB,QAAgC,qBAAhC;AACA,SAASZ,OAAO,IAAIa,EAApB,QAA8B,mBAA9B;AACA,SAASb,OAAO,IAAIc,EAApB,QAA8B,mBAA9B;AACA,SAASd,OAAO,IAAIe,EAApB,QAA8B,mBAA9B;AACA,SAASf,OAAO,IAAIgB,EAApB,QAA8B,mBAA9B;AACA,SAAShB,OAAO,IAAIiB,EAApB,QAA8B,mBAA9B;AACA,SAASjB,OAAO,IAAIkB,EAApB,QAA8B,mBAA9B;AACA,SAASlB,OAAO,IAAImB,EAApB,QAA8B,mBAA9B;AACA,SAASnB,OAAO,IAAIoB,EAApB,QAA8B,mBAA9B"}
|
package/lib/module/utils.js
CHANGED
|
@@ -8,6 +8,11 @@ export function useLatest(value) {
|
|
|
8
8
|
}
|
|
9
9
|
export function useHeaderBackgroundColor() {
|
|
10
10
|
const theme = useTheme();
|
|
11
|
+
|
|
12
|
+
if (theme.isV3) {
|
|
13
|
+
return theme.colors.surface;
|
|
14
|
+
}
|
|
15
|
+
|
|
11
16
|
return theme.dark && theme.mode === 'adaptive' ? overlay(4, theme.colors.surface) : theme.colors.primary;
|
|
12
17
|
}
|
|
13
18
|
export function useHeaderColorIsLight() {
|
|
@@ -16,7 +21,13 @@ export function useHeaderColorIsLight() {
|
|
|
16
21
|
return Color(background).isLight();
|
|
17
22
|
}
|
|
18
23
|
export function useHeaderTextColor() {
|
|
24
|
+
const theme = useTheme();
|
|
19
25
|
const isLight = useHeaderColorIsLight();
|
|
26
|
+
|
|
27
|
+
if (theme.isV3) {
|
|
28
|
+
return theme.colors.onSurfaceVariant;
|
|
29
|
+
}
|
|
30
|
+
|
|
20
31
|
return !isLight ? '#fff' : '#000';
|
|
21
32
|
}
|
|
22
33
|
export function useTextColorOnPrimary() {
|
package/lib/module/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","overlay","useTheme","Color","useLatest","value","ref","useRef","current","useHeaderBackgroundColor","theme","
|
|
1
|
+
{"version":3,"names":["React","overlay","useTheme","Color","useLatest","value","ref","useRef","current","useHeaderBackgroundColor","theme","isV3","colors","surface","dark","mode","primary","useHeaderColorIsLight","background","isLight","useHeaderTextColor","onSurfaceVariant","useTextColorOnPrimary","isDark","onSurface","onPrimary","range","start","end","Array","fill","map","_","i","lightenBy","color","ratio","lightness","darkenBy"],"sources":["utils.ts"],"sourcesContent":["import * as React from 'react'\nimport {\n DefaultTheme,\n MD3DarkTheme,\n overlay,\n useTheme,\n} from 'react-native-paper'\nimport Color from 'color'\n\nexport type PaperTheme = typeof MD3DarkTheme | typeof DefaultTheme\n\nexport function useLatest<T>(value: T) {\n const ref = React.useRef(value)\n ref.current = value\n return ref\n}\n\nexport function useHeaderBackgroundColor() {\n const theme = useTheme()\n if (theme.isV3) {\n return theme.colors.surface\n }\n return theme.dark && theme.mode === 'adaptive'\n ? overlay(4, theme.colors.surface)\n : theme.colors.primary\n}\n\nexport function useHeaderColorIsLight() {\n const theme = useTheme()\n const background =\n theme.dark && theme.mode === 'adaptive'\n ? theme.colors.surface\n : theme.colors.primary\n return Color(background).isLight()\n}\n\nexport function useHeaderTextColor() {\n const theme = useTheme()\n const isLight = useHeaderColorIsLight()\n if (theme.isV3) {\n return theme.colors.onSurfaceVariant\n }\n return !isLight ? '#fff' : '#000'\n}\n\nexport function useTextColorOnPrimary() {\n const theme = useTheme()\n const isDark = !Color(theme.colors.primary).isLight()\n\n if (theme.isV3) {\n if (isDark && theme.dark) {\n return theme.colors.onSurface\n } else {\n return theme.colors.onPrimary\n }\n }\n\n return isDark ? '#fff' : '#000'\n}\n\nexport function range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, i) => start + i)\n}\n\nexport function lightenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness + (100 - lightness) * ratio)\n}\n\nexport function darkenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness - lightness * ratio)\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAGEC,OAHF,EAIEC,QAJF,QAKO,oBALP;AAMA,OAAOC,KAAP,MAAkB,OAAlB;AAIA,OAAO,SAASC,SAAT,CAAsBC,KAAtB,EAAgC;EACrC,MAAMC,GAAG,GAAGN,KAAK,CAACO,MAAN,CAAaF,KAAb,CAAZ;EACAC,GAAG,CAACE,OAAJ,GAAcH,KAAd;EACA,OAAOC,GAAP;AACD;AAED,OAAO,SAASG,wBAAT,GAAoC;EACzC,MAAMC,KAAK,GAAGR,QAAQ,EAAtB;;EACA,IAAIQ,KAAK,CAACC,IAAV,EAAgB;IACd,OAAOD,KAAK,CAACE,MAAN,CAAaC,OAApB;EACD;;EACD,OAAOH,KAAK,CAACI,IAAN,IAAcJ,KAAK,CAACK,IAAN,KAAe,UAA7B,GACHd,OAAO,CAAC,CAAD,EAAIS,KAAK,CAACE,MAAN,CAAaC,OAAjB,CADJ,GAEHH,KAAK,CAACE,MAAN,CAAaI,OAFjB;AAGD;AAED,OAAO,SAASC,qBAAT,GAAiC;EACtC,MAAMP,KAAK,GAAGR,QAAQ,EAAtB;EACA,MAAMgB,UAAU,GACdR,KAAK,CAACI,IAAN,IAAcJ,KAAK,CAACK,IAAN,KAAe,UAA7B,GACIL,KAAK,CAACE,MAAN,CAAaC,OADjB,GAEIH,KAAK,CAACE,MAAN,CAAaI,OAHnB;EAIA,OAAOb,KAAK,CAACe,UAAD,CAAL,CAAkBC,OAAlB,EAAP;AACD;AAED,OAAO,SAASC,kBAAT,GAA8B;EACnC,MAAMV,KAAK,GAAGR,QAAQ,EAAtB;EACA,MAAMiB,OAAO,GAAGF,qBAAqB,EAArC;;EACA,IAAIP,KAAK,CAACC,IAAV,EAAgB;IACd,OAAOD,KAAK,CAACE,MAAN,CAAaS,gBAApB;EACD;;EACD,OAAO,CAACF,OAAD,GAAW,MAAX,GAAoB,MAA3B;AACD;AAED,OAAO,SAASG,qBAAT,GAAiC;EACtC,MAAMZ,KAAK,GAAGR,QAAQ,EAAtB;EACA,MAAMqB,MAAM,GAAG,CAACpB,KAAK,CAACO,KAAK,CAACE,MAAN,CAAaI,OAAd,CAAL,CAA4BG,OAA5B,EAAhB;;EAEA,IAAIT,KAAK,CAACC,IAAV,EAAgB;IACd,IAAIY,MAAM,IAAIb,KAAK,CAACI,IAApB,EAA0B;MACxB,OAAOJ,KAAK,CAACE,MAAN,CAAaY,SAApB;IACD,CAFD,MAEO;MACL,OAAOd,KAAK,CAACE,MAAN,CAAaa,SAApB;IACD;EACF;;EAED,OAAOF,MAAM,GAAG,MAAH,GAAY,MAAzB;AACD;AAED,OAAO,SAASG,KAAT,CAAeC,KAAf,EAA8BC,GAA9B,EAA2C;EAChD,OAAOC,KAAK,CAACD,GAAG,GAAGD,KAAN,GAAc,CAAf,CAAL,CACJG,IADI,CACC,IADD,EAEJC,GAFI,CAEA,CAACC,CAAD,EAAIC,CAAJ,KAAUN,KAAK,GAAGM,CAFlB,CAAP;AAGD;AAED,OAAO,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;AAED,OAAO,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"}
|
|
@@ -7,10 +7,15 @@ export { default as TimePicker } from './Time/TimePicker';
|
|
|
7
7
|
export { default as DatePickerInput } from './Date/DatePickerInput';
|
|
8
8
|
export type { TranslationsType } from './translations/utils';
|
|
9
9
|
export { registerTranslation, getTranslation } from './translations/utils';
|
|
10
|
-
export { default as
|
|
10
|
+
export { default as ar } from './translations/ar';
|
|
11
|
+
export { default as de } from './translations/de';
|
|
11
12
|
export { default as en } from './translations/en';
|
|
13
|
+
export { default as enGB } from './translations/enGB';
|
|
14
|
+
export { default as es } from './translations/es';
|
|
15
|
+
export { default as fr } from './translations/fr';
|
|
16
|
+
export { default as it } from './translations/it';
|
|
17
|
+
export { default as ko } from './translations/ko';
|
|
18
|
+
export { default as nl } from './translations/nl';
|
|
12
19
|
export { default as pl } from './translations/pl';
|
|
13
20
|
export { default as pt } from './translations/pt';
|
|
14
|
-
export { default as enGB } from './translations/enGB';
|
|
15
|
-
export { default as de } from './translations/de';
|
|
16
21
|
export { default as tr } from './translations/tr';
|
|
@@ -5,7 +5,7 @@ export type PaperTheme = typeof MD3DarkTheme | typeof DefaultTheme;
|
|
|
5
5
|
export declare function useLatest<T>(value: T): React.MutableRefObject<T>;
|
|
6
6
|
export declare function useHeaderBackgroundColor(): string;
|
|
7
7
|
export declare function useHeaderColorIsLight(): boolean;
|
|
8
|
-
export declare function useHeaderTextColor():
|
|
8
|
+
export declare function useHeaderTextColor(): string;
|
|
9
9
|
export declare function useTextColorOnPrimary(): string;
|
|
10
10
|
export declare function range(start: number, end: number): number[];
|
|
11
11
|
export declare function lightenBy(color: Color, ratio: number): Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | any | ArrayLike<number> | {
|
package/package.json
CHANGED
package/src/Date/Calendar.tsx
CHANGED
|
@@ -100,6 +100,9 @@ function Calendar(
|
|
|
100
100
|
const theme = useTheme()
|
|
101
101
|
|
|
102
102
|
const selectColor = useMemo<string>(() => {
|
|
103
|
+
if (theme.isV3) {
|
|
104
|
+
return theme.colors.primaryContainer
|
|
105
|
+
}
|
|
103
106
|
if (theme.dark) {
|
|
104
107
|
return darkenBy(Color(theme.colors.primary), 0.1).hex()
|
|
105
108
|
}
|
|
@@ -11,7 +11,6 @@ import Calendar, {
|
|
|
11
11
|
} from './Calendar'
|
|
12
12
|
|
|
13
13
|
import AnimatedCrossView from './AnimatedCrossView'
|
|
14
|
-
|
|
15
14
|
import DatePickerModalHeader from './DatePickerModalHeader'
|
|
16
15
|
import DatePickerModalContentHeader, {
|
|
17
16
|
HeaderPickProps,
|
|
@@ -86,7 +85,6 @@ export function DatePickerModalContent(
|
|
|
86
85
|
startYear,
|
|
87
86
|
endYear,
|
|
88
87
|
} = props
|
|
89
|
-
|
|
90
88
|
const anyProps = props as any
|
|
91
89
|
|
|
92
90
|
// use local state to add only onConfirm state changes
|
|
@@ -164,11 +162,10 @@ export function DatePickerModalContent(
|
|
|
164
162
|
endLabel={props.endLabel}
|
|
165
163
|
uppercase={props.uppercase ?? true}
|
|
166
164
|
locale={locale}
|
|
167
|
-
editIcon={props
|
|
165
|
+
editIcon={props?.editIcon}
|
|
168
166
|
calendarIcon={props.calendarIcon}
|
|
169
167
|
/>
|
|
170
168
|
</DatePickerModalHeaderBackground>
|
|
171
|
-
|
|
172
169
|
<AnimatedCrossView
|
|
173
170
|
collapsed={collapsed}
|
|
174
171
|
calendar={
|
|
@@ -58,23 +58,26 @@ export default function DatePickerModalContentHeader(
|
|
|
58
58
|
mode,
|
|
59
59
|
moreLabel,
|
|
60
60
|
uppercase,
|
|
61
|
-
editIcon
|
|
62
|
-
calendarIcon
|
|
61
|
+
editIcon,
|
|
62
|
+
calendarIcon,
|
|
63
63
|
} = props
|
|
64
64
|
const theme = useTheme()
|
|
65
65
|
const label = getLabel(props.locale, props.mode, props.label)
|
|
66
66
|
|
|
67
67
|
const color = useHeaderTextColor()
|
|
68
|
+
const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color
|
|
68
69
|
const allowEditing = mode !== 'multiple'
|
|
69
70
|
|
|
70
71
|
let textFont = theme?.isV3
|
|
71
|
-
? theme.fonts.
|
|
72
|
+
? theme.fonts.labelMedium
|
|
72
73
|
: (theme as any as MD2Theme).fonts.medium
|
|
73
74
|
|
|
74
75
|
return (
|
|
75
|
-
<View style={
|
|
76
|
+
<View style={styles.header}>
|
|
76
77
|
<View>
|
|
77
|
-
<Text
|
|
78
|
+
<Text
|
|
79
|
+
style={[styles.label, { color: supportingTextColor, ...textFont }]}
|
|
80
|
+
>
|
|
78
81
|
{uppercase ? label.toUpperCase() : label}
|
|
79
82
|
</Text>
|
|
80
83
|
<View style={styles.headerContentContainer}>
|
|
@@ -96,13 +99,21 @@ export default function DatePickerModalContentHeader(
|
|
|
96
99
|
<View style={styles.fill} />
|
|
97
100
|
{allowEditing ? (
|
|
98
101
|
<IconButton
|
|
99
|
-
icon={
|
|
102
|
+
icon={
|
|
103
|
+
collapsed
|
|
104
|
+
? editIcon ?? theme.isV3
|
|
105
|
+
? 'pencil-outline'
|
|
106
|
+
: 'pencil'
|
|
107
|
+
: calendarIcon ?? theme.isV3
|
|
108
|
+
? 'calendar-blank'
|
|
109
|
+
: 'calendar'
|
|
110
|
+
}
|
|
100
111
|
accessibilityLabel={
|
|
101
112
|
collapsed
|
|
102
113
|
? getTranslation(props.locale, 'typeInDate')
|
|
103
114
|
: getTranslation(props.locale, 'pickDateFromCalendar')
|
|
104
115
|
}
|
|
105
|
-
iconColor={color}
|
|
116
|
+
iconColor={theme.isV3 ? theme.colors.onSurface : color}
|
|
106
117
|
onPress={onToggle}
|
|
107
118
|
/>
|
|
108
119
|
) : null}
|
|
@@ -116,8 +127,13 @@ export function HeaderContentSingle({
|
|
|
116
127
|
color,
|
|
117
128
|
locale,
|
|
118
129
|
}: HeaderContentProps & { color: string }) {
|
|
130
|
+
const theme = useTheme()
|
|
119
131
|
const lighterColor = Color(color).fade(0.5).rgb().toString()
|
|
120
|
-
const dateColor = state.date
|
|
132
|
+
const dateColor = state.date
|
|
133
|
+
? theme.isV3
|
|
134
|
+
? theme.colors.onSurface
|
|
135
|
+
: color
|
|
136
|
+
: lighterColor
|
|
121
137
|
|
|
122
138
|
const formatter = React.useMemo(() => {
|
|
123
139
|
return new Intl.DateTimeFormat(locale, {
|
|
@@ -140,9 +156,14 @@ export function HeaderContentMulti({
|
|
|
140
156
|
color,
|
|
141
157
|
locale,
|
|
142
158
|
}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {
|
|
159
|
+
const theme = useTheme()
|
|
143
160
|
const dateCount = state.dates?.length || 0
|
|
144
161
|
const lighterColor = Color(color).fade(0.5).rgb().toString()
|
|
145
|
-
const dateColor = dateCount
|
|
162
|
+
const dateColor = dateCount
|
|
163
|
+
? theme.isV3
|
|
164
|
+
? theme.colors.onSurface
|
|
165
|
+
: color
|
|
166
|
+
: lighterColor
|
|
146
167
|
|
|
147
168
|
const formatter = React.useMemo(() => {
|
|
148
169
|
return new Intl.DateTimeFormat(locale, {
|
|
@@ -174,6 +195,7 @@ export function HeaderContentRange({
|
|
|
174
195
|
endLabel = 'End',
|
|
175
196
|
color,
|
|
176
197
|
}: HeaderContentProps & { color: string }) {
|
|
198
|
+
const theme = useTheme()
|
|
177
199
|
const formatter = React.useMemo(() => {
|
|
178
200
|
return new Intl.DateTimeFormat(locale, {
|
|
179
201
|
month: 'short',
|
|
@@ -182,8 +204,16 @@ export function HeaderContentRange({
|
|
|
182
204
|
}, [locale])
|
|
183
205
|
|
|
184
206
|
const lighterColor = Color(color).fade(0.5).rgb().toString()
|
|
185
|
-
const startColor = state.startDate
|
|
186
|
-
|
|
207
|
+
const startColor = state.startDate
|
|
208
|
+
? theme.isV3
|
|
209
|
+
? theme.colors.onSurface
|
|
210
|
+
: color
|
|
211
|
+
: lighterColor
|
|
212
|
+
const endColor = state.endDate
|
|
213
|
+
? theme.isV3
|
|
214
|
+
? theme.colors.onSurface
|
|
215
|
+
: color
|
|
216
|
+
: lighterColor
|
|
187
217
|
|
|
188
218
|
return (
|
|
189
219
|
<>
|
|
@@ -226,7 +256,6 @@ const styles = StyleSheet.create({
|
|
|
226
256
|
marginTop: -3,
|
|
227
257
|
marginLeft: 3,
|
|
228
258
|
},
|
|
229
|
-
|
|
230
259
|
headerSeparator: {
|
|
231
260
|
color: 'rgba(255,255,255,1)',
|
|
232
261
|
fontSize: 25,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react'
|
|
2
2
|
import { Animated, StyleSheet } from 'react-native'
|
|
3
|
-
import { Appbar, Button } from 'react-native-paper'
|
|
3
|
+
import { Appbar, Button, useTheme } from 'react-native-paper'
|
|
4
4
|
|
|
5
5
|
import { useHeaderTextColor } from '../utils'
|
|
6
6
|
import { getTranslation } from '../translations/utils'
|
|
@@ -20,6 +20,7 @@ export interface DatePickerModalHeaderProps {
|
|
|
20
20
|
export default function DatePickerModalHeader(
|
|
21
21
|
props: DatePickerModalHeaderProps
|
|
22
22
|
) {
|
|
23
|
+
const theme = useTheme()
|
|
23
24
|
const { disableSafeTop, locale, closeIcon = 'close' } = props
|
|
24
25
|
const saveLabel = props.saveLabel || getTranslation(locale, 'save')
|
|
25
26
|
const color = useHeaderTextColor()
|
|
@@ -29,6 +30,7 @@ export default function DatePickerModalHeader(
|
|
|
29
30
|
<Animated.View
|
|
30
31
|
style={[
|
|
31
32
|
styles.animated,
|
|
33
|
+
// eslint-disable-next-line react-native/no-inline-styles
|
|
32
34
|
{
|
|
33
35
|
paddingTop: disableSafeTop ? 0 : insets.top,
|
|
34
36
|
paddingLeft: insets.left,
|
|
@@ -47,7 +49,7 @@ export default function DatePickerModalHeader(
|
|
|
47
49
|
<Appbar.Content title={''} />
|
|
48
50
|
<Button
|
|
49
51
|
color={color}
|
|
50
|
-
textColor={color}
|
|
52
|
+
textColor={theme.isV3 ? theme.colors.primary : color}
|
|
51
53
|
onPress={props.onSave}
|
|
52
54
|
disabled={props.saveLabelDisabled ?? false}
|
|
53
55
|
uppercase={props.uppercase ?? true}
|
|
@@ -90,6 +92,5 @@ const styles = StyleSheet.create({
|
|
|
90
92
|
appbarHeader: {
|
|
91
93
|
elevation: 0,
|
|
92
94
|
backgroundColor: 'transparent',
|
|
93
|
-
// alignItems:'center'
|
|
94
95
|
},
|
|
95
96
|
})
|
package/src/Date/Day.tsx
CHANGED
|
@@ -47,17 +47,27 @@ function Day(props: {
|
|
|
47
47
|
onPressDate(new Date(year, month, day))
|
|
48
48
|
}, [onPressDate, year, month, day])
|
|
49
49
|
|
|
50
|
-
const borderColor =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
const borderColor = theme.isV3
|
|
51
|
+
? theme.colors.primary
|
|
52
|
+
: selected || (inRange && theme.dark)
|
|
53
|
+
? textColorOnPrimary
|
|
54
|
+
: theme.dark
|
|
55
|
+
? '#fff'
|
|
56
|
+
: '#000'
|
|
57
|
+
|
|
56
58
|
const textColor =
|
|
57
|
-
|
|
59
|
+
theme.isV3 && selected
|
|
60
|
+
? theme.colors.onPrimary
|
|
61
|
+
: theme.isV3 && inRange && theme.dark
|
|
62
|
+
? theme.colors.onPrimaryContainer
|
|
63
|
+
: selected || (inRange && theme.dark)
|
|
64
|
+
? textColorOnPrimary
|
|
65
|
+
: theme.isV3
|
|
66
|
+
? theme.colors.onSurface
|
|
67
|
+
: undefined
|
|
58
68
|
|
|
59
69
|
let textFont = theme?.isV3
|
|
60
|
-
? theme.fonts.
|
|
70
|
+
? theme.fonts.bodySmall
|
|
61
71
|
: (theme as any as MD2Theme).fonts.medium
|
|
62
72
|
|
|
63
73
|
return (
|
|
@@ -68,7 +78,6 @@ function Day(props: {
|
|
|
68
78
|
rightCrop={rightCrop}
|
|
69
79
|
selectColor={selectColor}
|
|
70
80
|
/>
|
|
71
|
-
|
|
72
81
|
<TouchableRipple
|
|
73
82
|
testID={`react-native-paper-dates-day-${year}-${month}-${day}`}
|
|
74
83
|
disabled={disabled}
|
|
@@ -89,7 +98,12 @@ function Day(props: {
|
|
|
89
98
|
>
|
|
90
99
|
<Text
|
|
91
100
|
style={[
|
|
92
|
-
textColor
|
|
101
|
+
textColor
|
|
102
|
+
? {
|
|
103
|
+
color:
|
|
104
|
+
theme.isV3 && isToday ? theme.colors.primary : textColor,
|
|
105
|
+
}
|
|
106
|
+
: undefined,
|
|
93
107
|
{ ...textFont },
|
|
94
108
|
]}
|
|
95
109
|
selectable={false}
|
package/src/Date/DayName.tsx
CHANGED
|
@@ -6,12 +6,18 @@ function DayName({ label }: { label: string }) {
|
|
|
6
6
|
const theme = useTheme()
|
|
7
7
|
|
|
8
8
|
let textFont = theme?.isV3
|
|
9
|
-
? theme.fonts.
|
|
9
|
+
? theme.fonts.bodySmall
|
|
10
10
|
: (theme as any as MD2Theme).fonts.medium
|
|
11
11
|
|
|
12
12
|
return (
|
|
13
13
|
<View style={styles.dayName}>
|
|
14
|
-
<Text
|
|
14
|
+
<Text
|
|
15
|
+
style={[
|
|
16
|
+
styles.dayNameLabel,
|
|
17
|
+
{ ...textFont, color: theme.colors.onSurface },
|
|
18
|
+
]}
|
|
19
|
+
selectable={false}
|
|
20
|
+
>
|
|
15
21
|
{label}
|
|
16
22
|
</Text>
|
|
17
23
|
</View>
|
package/src/Date/Month.tsx
CHANGED
|
@@ -251,7 +251,7 @@ function Month(props: MonthSingleProps | MonthRangeProps | MonthMultiProps) {
|
|
|
251
251
|
])
|
|
252
252
|
|
|
253
253
|
let textFont = theme?.isV3
|
|
254
|
-
? theme.fonts.
|
|
254
|
+
? theme.fonts.titleSmall
|
|
255
255
|
: (theme as any as MD2Theme).fonts.medium
|
|
256
256
|
|
|
257
257
|
return (
|
|
@@ -288,7 +288,15 @@ function Month(props: MonthSingleProps | MonthRangeProps | MonthMultiProps) {
|
|
|
288
288
|
]}
|
|
289
289
|
>
|
|
290
290
|
<Text
|
|
291
|
-
style={[
|
|
291
|
+
style={[
|
|
292
|
+
styles.monthLabel,
|
|
293
|
+
{
|
|
294
|
+
...textFont,
|
|
295
|
+
color: theme.isV3
|
|
296
|
+
? theme.colors.onSurfaceVariant
|
|
297
|
+
: theme.colors.onSurface,
|
|
298
|
+
},
|
|
299
|
+
]}
|
|
292
300
|
selectable={false}
|
|
293
301
|
>
|
|
294
302
|
{monthName} {year}
|
|
@@ -296,13 +304,20 @@ function Month(props: MonthSingleProps | MonthRangeProps | MonthMultiProps) {
|
|
|
296
304
|
<View style={isHorizontal ? styles.opacity1 : styles.opacity0}>
|
|
297
305
|
<IconButton
|
|
298
306
|
onPress={isHorizontal ? () => onPressYear(year) : undefined}
|
|
299
|
-
icon={
|
|
307
|
+
icon={
|
|
308
|
+
selectingYear
|
|
309
|
+
? theme.isV3
|
|
310
|
+
? 'menu-up'
|
|
311
|
+
: 'chevron-up'
|
|
312
|
+
: theme.isV3
|
|
313
|
+
? 'menu-down'
|
|
314
|
+
: 'chevron-down'
|
|
315
|
+
}
|
|
300
316
|
/>
|
|
301
317
|
</View>
|
|
302
318
|
</View>
|
|
303
319
|
</TouchableRipple>
|
|
304
320
|
</View>
|
|
305
|
-
|
|
306
321
|
{grid.map(({ weekIndex, generatedDays }) => (
|
|
307
322
|
<View style={styles.week} key={weekIndex}>
|
|
308
323
|
{generatedDays
|
|
@@ -350,9 +365,7 @@ const styles = StyleSheet.create({
|
|
|
350
365
|
marginBottom: weekMargin,
|
|
351
366
|
height: daySize,
|
|
352
367
|
},
|
|
353
|
-
|
|
354
368
|
month: {},
|
|
355
|
-
|
|
356
369
|
monthHeader: {
|
|
357
370
|
height: montHeaderHeight,
|
|
358
371
|
justifyContent: 'center',
|
package/src/Date/YearPicker.tsx
CHANGED
|
@@ -96,7 +96,14 @@ function YearPure({
|
|
|
96
96
|
<Text
|
|
97
97
|
style={[
|
|
98
98
|
styles.yearLabel,
|
|
99
|
-
selected
|
|
99
|
+
selected
|
|
100
|
+
? // eslint-disable-next-line react-native/no-inline-styles
|
|
101
|
+
{ color: theme.isV3 ? theme.colors.onPrimary : '#fff' }
|
|
102
|
+
: {
|
|
103
|
+
color: theme.isV3
|
|
104
|
+
? theme.colors.onSurfaceVariant
|
|
105
|
+
: undefined,
|
|
106
|
+
},
|
|
100
107
|
{ ...textFont },
|
|
101
108
|
]}
|
|
102
109
|
selectable={false}
|
|
@@ -127,7 +134,6 @@ const styles = StyleSheet.create({
|
|
|
127
134
|
height: ITEM_HEIGHT,
|
|
128
135
|
justifyContent: 'center',
|
|
129
136
|
},
|
|
130
|
-
selectedYear: { color: '#fff' },
|
|
131
137
|
yearButton: {
|
|
132
138
|
borderRadius: 46 / 2,
|
|
133
139
|
overflow: 'hidden',
|