react-native-paper-dates 0.11.15 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/lib/commonjs/Date/CalendarEdit.js +8 -4
  2. package/lib/commonjs/Date/CalendarEdit.js.map +1 -1
  3. package/lib/commonjs/Date/DatePickerInput.js +4 -2
  4. package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
  5. package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -1
  6. package/lib/commonjs/Date/DatePickerInputWithoutModal.js +14 -1
  7. package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -1
  8. package/lib/commonjs/Date/DatePickerModal.js +2 -0
  9. package/lib/commonjs/Date/DatePickerModal.js.map +1 -1
  10. package/lib/commonjs/Date/DatePickerModalContent.js +4 -2
  11. package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
  12. package/lib/commonjs/Date/DatePickerModalContentHeader.js +6 -4
  13. package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
  14. package/lib/commonjs/Date/Swiper.js +6 -4
  15. package/lib/commonjs/Date/Swiper.js.map +1 -1
  16. package/lib/commonjs/Date/Swiper.native.js +2 -1
  17. package/lib/commonjs/Date/Swiper.native.js.map +1 -1
  18. package/lib/commonjs/Date/YearPicker.js +3 -0
  19. package/lib/commonjs/Date/YearPicker.js.map +1 -1
  20. package/lib/commonjs/TextInputMask.js +2 -0
  21. package/lib/commonjs/TextInputMask.js.map +1 -1
  22. package/lib/commonjs/Time/AnalogClock.js +7 -3
  23. package/lib/commonjs/Time/AnalogClock.js.map +1 -1
  24. package/lib/commonjs/Time/AnalogClockHours.js +4 -9
  25. package/lib/commonjs/Time/AnalogClockHours.js.map +1 -1
  26. package/lib/commonjs/Time/TimeInput.js +2 -1
  27. package/lib/commonjs/Time/TimeInput.js.map +1 -1
  28. package/lib/commonjs/Time/TimeInputs.js +4 -1
  29. package/lib/commonjs/Time/TimeInputs.js.map +1 -1
  30. package/lib/commonjs/Time/TimePicker.js +9 -2
  31. package/lib/commonjs/Time/TimePicker.js.map +1 -1
  32. package/lib/commonjs/Time/TimePickerModal.js +5 -1
  33. package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
  34. package/lib/commonjs/index.js +9 -0
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/commonjs/translations/he.js +25 -0
  37. package/lib/commonjs/translations/he.js.map +1 -0
  38. package/lib/module/Date/CalendarEdit.js +8 -4
  39. package/lib/module/Date/CalendarEdit.js.map +1 -1
  40. package/lib/module/Date/DatePickerInput.js +4 -2
  41. package/lib/module/Date/DatePickerInput.js.map +1 -1
  42. package/lib/module/Date/DatePickerInput.shared.js.map +1 -1
  43. package/lib/module/Date/DatePickerInputWithoutModal.js +14 -1
  44. package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -1
  45. package/lib/module/Date/DatePickerModal.js +2 -0
  46. package/lib/module/Date/DatePickerModal.js.map +1 -1
  47. package/lib/module/Date/DatePickerModalContent.js +4 -2
  48. package/lib/module/Date/DatePickerModalContent.js.map +1 -1
  49. package/lib/module/Date/DatePickerModalContentHeader.js +6 -4
  50. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  51. package/lib/module/Date/Swiper.js +6 -4
  52. package/lib/module/Date/Swiper.js.map +1 -1
  53. package/lib/module/Date/Swiper.native.js +2 -1
  54. package/lib/module/Date/Swiper.native.js.map +1 -1
  55. package/lib/module/Date/YearPicker.js +4 -1
  56. package/lib/module/Date/YearPicker.js.map +1 -1
  57. package/lib/module/TextInputMask.js +2 -0
  58. package/lib/module/TextInputMask.js.map +1 -1
  59. package/lib/module/Time/AnalogClock.js +7 -3
  60. package/lib/module/Time/AnalogClock.js.map +1 -1
  61. package/lib/module/Time/AnalogClockHours.js +4 -8
  62. package/lib/module/Time/AnalogClockHours.js.map +1 -1
  63. package/lib/module/Time/TimeInput.js +2 -1
  64. package/lib/module/Time/TimeInput.js.map +1 -1
  65. package/lib/module/Time/TimeInputs.js +4 -1
  66. package/lib/module/Time/TimeInputs.js.map +1 -1
  67. package/lib/module/Time/TimePicker.js +9 -2
  68. package/lib/module/Time/TimePicker.js.map +1 -1
  69. package/lib/module/Time/TimePickerModal.js +5 -1
  70. package/lib/module/Time/TimePickerModal.js.map +1 -1
  71. package/lib/module/index.js +1 -0
  72. package/lib/module/index.js.map +1 -1
  73. package/lib/module/translations/he.js +18 -0
  74. package/lib/module/translations/he.js.map +1 -0
  75. package/lib/typescript/Date/CalendarEdit.d.ts +2 -1
  76. package/lib/typescript/Date/DatePickerInput.d.ts +1 -1
  77. package/lib/typescript/Date/DatePickerInput.shared.d.ts +2 -1
  78. package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +8 -7
  79. package/lib/typescript/Date/DatePickerModal.d.ts +1 -0
  80. package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -0
  81. package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +2 -0
  82. package/lib/typescript/TextInputMask.d.ts +5 -6
  83. package/lib/typescript/Time/TimeInput.d.ts +1 -0
  84. package/lib/typescript/Time/TimeInputs.d.ts +2 -1
  85. package/lib/typescript/Time/TimePicker.d.ts +3 -1
  86. package/lib/typescript/Time/TimePickerModal.d.ts +3 -1
  87. package/lib/typescript/index.d.ts +1 -0
  88. package/lib/typescript/translations/he.d.ts +3 -0
  89. package/package.json +26 -25
  90. package/src/Date/CalendarEdit.tsx +5 -0
  91. package/src/Date/DatePickerInput.shared.tsx +2 -1
  92. package/src/Date/DatePickerInput.tsx +2 -0
  93. package/src/Date/DatePickerInputWithoutModal.tsx +14 -0
  94. package/src/Date/DatePickerModal.tsx +3 -0
  95. package/src/Date/DatePickerModalContent.tsx +3 -0
  96. package/src/Date/DatePickerModalContentHeader.tsx +9 -3
  97. package/src/Date/Swiper.native.tsx +1 -0
  98. package/src/Date/Swiper.tsx +3 -1
  99. package/src/Date/YearPicker.tsx +4 -1
  100. package/src/TextInputMask.tsx +2 -0
  101. package/src/Time/AnalogClock.tsx +7 -6
  102. package/src/Time/AnalogClockHours.tsx +10 -6
  103. package/src/Time/TimeInput.tsx +3 -1
  104. package/src/Time/TimeInputs.tsx +4 -0
  105. package/src/Time/TimePicker.tsx +9 -1
  106. package/src/Time/TimePickerModal.tsx +6 -0
  107. package/src/index.tsx +1 -0
  108. package/src/translations/he.ts +21 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","TextInput","StyleSheet","Platform","useTheme","TouchableRipple","Color","inputTypes","useInputColors","TimeInput","ref","value","clockType","pressed","onPress","onChanged","inputType","rest","controlledValue","setControlledValue","useState","onInnerChange","text","Number","useEffect","theme","inputFocused","setInputFocused","highlighted","picker","color","backgroundColor","formattedValue","length","styles","root","input","borderRadius","roundness","borderColor","isV3","colors","onPrimaryContainer","undefined","borderWidth","height","keyboard","dark","absoluteFill","buttonOverlay","OS","onSurface","fade","hex","create","position","width","fontSize","textAlign","textAlignVertical","overflow","forwardRef"],"sources":["TimeInput.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n TextInput,\n TextInputProps,\n StyleSheet,\n Platform,\n} from 'react-native'\nimport { useTheme, TouchableRipple } from 'react-native-paper'\n\nimport Color from 'color'\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n useInputColors,\n} from './timeUtils'\n\ninterface TimeInputProps\n extends Omit<Omit<TextInputProps, 'value'>, 'onFocus'> {\n value: number\n clockType: PossibleClockTypes\n onPress?: (type: PossibleClockTypes) => any\n pressed: boolean\n onChanged: (n: number) => any\n inputType: PossibleInputTypes\n}\n\nfunction TimeInput(\n {\n value,\n clockType,\n pressed,\n onPress,\n onChanged,\n inputType,\n ...rest\n }: TimeInputProps,\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n `${value}`\n )\n\n const onInnerChange = (text: string) => {\n setControlledValue(text)\n if (text !== '' && text !== '0') {\n onChanged(Number(text))\n }\n }\n\n React.useEffect(() => {\n setControlledValue(`${value}`)\n }, [value])\n\n const theme = useTheme()\n const [inputFocused, setInputFocused] = React.useState<boolean>(false)\n\n const highlighted = inputType === inputTypes.picker ? pressed : inputFocused\n\n const { color, backgroundColor } = useInputColors(highlighted)\n\n let formattedValue = controlledValue\n if (!inputFocused) {\n formattedValue =\n controlledValue.length === 1\n ? `0${controlledValue}`\n : `${controlledValue}`\n }\n\n return (\n <View style={styles.root}>\n <TextInput\n ref={ref}\n style={[\n styles.input,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n color,\n backgroundColor,\n borderRadius: theme.roundness * 2,\n borderColor:\n theme.isV3 && highlighted\n ? theme.colors.onPrimaryContainer\n : undefined,\n borderWidth: theme.isV3 && highlighted ? 2 : 0,\n height: inputType === inputTypes.keyboard ? 72 : 80,\n },\n ]}\n value={formattedValue}\n maxLength={2}\n onFocus={() => setInputFocused(true)}\n onBlur={() => setInputFocused(false)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n keyboardType=\"number-pad\"\n onChangeText={onInnerChange}\n {...rest}\n />\n {onPress && inputType === inputTypes.picker ? (\n <TouchableRipple\n style={[\n StyleSheet.absoluteFill,\n styles.buttonOverlay,\n {\n borderRadius: theme.roundness,\n },\n ]}\n rippleColor={\n Platform.OS !== 'ios'\n ? Color(theme.colors.onSurface).fade(0.7).hex()\n : undefined\n }\n onPress={() => onPress(clockType)}\n borderless={true}\n >\n <View />\n </TouchableRipple>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { position: 'relative', height: 80, width: 96 },\n input: {\n fontSize: 57,\n textAlign: 'center',\n textAlignVertical: 'center',\n width: 96,\n },\n buttonOverlay: { overflow: 'hidden' },\n})\n\nexport default React.forwardRef(TimeInput)\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","TextInput","StyleSheet","Platform","useTheme","TouchableRipple","Color","inputTypes","useInputColors","TimeInput","ref","value","clockType","pressed","onPress","onChanged","inputType","inputFontSize","rest","controlledValue","setControlledValue","useState","onInnerChange","text","Number","useEffect","theme","inputFocused","setInputFocused","highlighted","picker","color","backgroundColor","formattedValue","length","styles","root","input","fontSize","borderRadius","roundness","borderColor","isV3","colors","onPrimaryContainer","undefined","borderWidth","height","keyboard","dark","absoluteFill","buttonOverlay","OS","onSurface","fade","hex","create","position","width","textAlign","textAlignVertical","overflow","forwardRef"],"sources":["TimeInput.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n TextInput,\n TextInputProps,\n StyleSheet,\n Platform,\n} from 'react-native'\nimport { useTheme, TouchableRipple } from 'react-native-paper'\n\nimport Color from 'color'\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n useInputColors,\n} from './timeUtils'\n\ninterface TimeInputProps\n extends Omit<Omit<TextInputProps, 'value'>, 'onFocus'> {\n value: number\n clockType: PossibleClockTypes\n onPress?: (type: PossibleClockTypes) => any\n pressed: boolean\n onChanged: (n: number) => any\n inputType: PossibleInputTypes\n inputFontSize?: number\n}\n\nfunction TimeInput(\n {\n value,\n clockType,\n pressed,\n onPress,\n onChanged,\n inputType,\n inputFontSize = 57,\n ...rest\n }: TimeInputProps,\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n `${value}`\n )\n\n const onInnerChange = (text: string) => {\n setControlledValue(text)\n if (text !== '' && text !== '0') {\n onChanged(Number(text))\n }\n }\n\n React.useEffect(() => {\n setControlledValue(`${value}`)\n }, [value])\n\n const theme = useTheme()\n const [inputFocused, setInputFocused] = React.useState<boolean>(false)\n\n const highlighted = inputType === inputTypes.picker ? pressed : inputFocused\n\n const { color, backgroundColor } = useInputColors(highlighted)\n\n let formattedValue = controlledValue\n if (!inputFocused) {\n formattedValue =\n controlledValue.length === 1\n ? `0${controlledValue}`\n : `${controlledValue}`\n }\n\n return (\n <View style={styles.root}>\n <TextInput\n ref={ref}\n style={[\n styles.input,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n color,\n fontSize: inputFontSize,\n backgroundColor,\n borderRadius: theme.roundness * 2,\n borderColor:\n theme.isV3 && highlighted\n ? theme.colors.onPrimaryContainer\n : undefined,\n borderWidth: theme.isV3 && highlighted ? 2 : 0,\n height: inputType === inputTypes.keyboard ? 72 : 80,\n },\n ]}\n value={formattedValue}\n maxLength={2}\n onFocus={() => setInputFocused(true)}\n onBlur={() => setInputFocused(false)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n keyboardType=\"number-pad\"\n onChangeText={onInnerChange}\n {...rest}\n />\n {onPress && inputType === inputTypes.picker ? (\n <TouchableRipple\n style={[\n StyleSheet.absoluteFill,\n styles.buttonOverlay,\n {\n borderRadius: theme.roundness,\n },\n ]}\n rippleColor={\n Platform.OS !== 'ios'\n ? Color(theme.colors.onSurface).fade(0.7).hex()\n : undefined\n }\n onPress={() => onPress(clockType)}\n borderless={true}\n >\n <View />\n </TouchableRipple>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { position: 'relative', height: 80, width: 96 },\n input: {\n textAlign: 'center',\n textAlignVertical: 'center',\n width: 96,\n },\n buttonOverlay: { overflow: 'hidden' },\n})\n\nexport default React.forwardRef(TimeInput)\n"],"mappings":"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"}
@@ -15,7 +15,8 @@ function TimeInputs(_ref) {
15
15
  focused,
16
16
  inputType,
17
17
  onChange,
18
- is24Hour
18
+ is24Hour,
19
+ inputFontSize
19
20
  } = _ref;
20
21
  const startInput = React.useRef(null);
21
22
  const endInput = React.useRef(null);
@@ -43,6 +44,7 @@ function TimeInputs(_ref) {
43
44
  style: styles.column
44
45
  }, /*#__PURE__*/React.createElement(TimeInput, {
45
46
  ref: startInput,
47
+ inputFontSize: inputFontSize,
46
48
  placeholder: '00',
47
49
  value: toHourInputFormat(hours, is24Hour),
48
50
  clockType: clockTypes.hours,
@@ -90,6 +92,7 @@ function TimeInputs(_ref) {
90
92
  style: styles.column
91
93
  }, /*#__PURE__*/React.createElement(TimeInput, {
92
94
  ref: endInput,
95
+ inputFontSize: inputFontSize,
93
96
  placeholder: '00',
94
97
  value: minutes,
95
98
  clockType: clockTypes.minutes,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","useWindowDimensions","Text","useTheme","clockTypes","toHourInputFormat","toHourOutputFormat","TimeInput","AmPmSwitcher","useLatest","Color","TimeInputs","hours","minutes","onFocusInput","focused","inputType","onChange","is24Hour","startInput","useRef","endInput","dimensions","isLandscape","width","height","theme","onSubmitStartInput","useCallback","current","focus","onSubmitEndInput","minutesRef","onChangeHours","newHours","styles","inputContainer","inputContainerLandscape","column","dark","colors","primary","darken","hex","newHoursFromInput","hoursAndMinutesSeparator","marginBottom","spaceDot","dot","backgroundColor","isV3","onSurface","text","betweenDot","newMinutesFromInput","newMinutes","spaceBetweenInputsAndSwitcher","create","flexDirection","alignItems","flex","fontSize","borderRadius","memo"],"sources":["TimeInputs.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n useWindowDimensions,\n TextInput as TextInputNative,\n} from 'react-native'\nimport { MD2Theme, Text, 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 <View style={styles.column}>\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(\n newHoursFromInput,\n hours,\n is24Hour\n )\n if (newHoursFromInput > 24) {\n newHours = 24\n }\n onChange({\n hours: newHours,\n minutes,\n })\n }}\n />\n {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Hour</Text>\n ) : null}\n </View>\n <View\n style={[\n styles.hoursAndMinutesSeparator,\n // eslint-disable-next-line react-native/no-inline-styles\n { marginBottom: inputType === 'keyboard' ? 24 : 0 },\n ]}\n >\n <View style={styles.spaceDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onSurface\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.onSurface\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.spaceDot} />\n </View>\n <View style={styles.column}>\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 {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Minute</Text>\n ) : null}\n </View>\n {!is24Hour && (\n <>\n <View style={styles.spaceBetweenInputsAndSwitcher} />\n <AmPmSwitcher\n hours={hours}\n onChange={onChangeHours}\n inputType={inputType}\n />\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n column: {\n flexDirection: 'column',\n },\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":["React","View","StyleSheet","useWindowDimensions","Text","useTheme","clockTypes","toHourInputFormat","toHourOutputFormat","TimeInput","AmPmSwitcher","useLatest","Color","TimeInputs","hours","minutes","onFocusInput","focused","inputType","onChange","is24Hour","inputFontSize","startInput","useRef","endInput","dimensions","isLandscape","width","height","theme","onSubmitStartInput","useCallback","current","focus","onSubmitEndInput","minutesRef","onChangeHours","newHours","styles","inputContainer","inputContainerLandscape","column","dark","colors","primary","darken","hex","newHoursFromInput","hoursAndMinutesSeparator","marginBottom","spaceDot","dot","backgroundColor","isV3","onSurface","text","betweenDot","newMinutesFromInput","newMinutes","spaceBetweenInputsAndSwitcher","create","flexDirection","alignItems","flex","fontSize","borderRadius","memo"],"sources":["TimeInputs.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n useWindowDimensions,\n TextInput as TextInputNative,\n} from 'react-native'\nimport { MD2Theme, Text, 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 inputFontSize,\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 inputFontSize?: number\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 <View style={styles.column}>\n <TimeInput\n ref={startInput}\n inputFontSize={inputFontSize}\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(\n newHoursFromInput,\n hours,\n is24Hour\n )\n if (newHoursFromInput > 24) {\n newHours = 24\n }\n onChange({\n hours: newHours,\n minutes,\n })\n }}\n />\n {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Hour</Text>\n ) : null}\n </View>\n <View\n style={[\n styles.hoursAndMinutesSeparator,\n // eslint-disable-next-line react-native/no-inline-styles\n { marginBottom: inputType === 'keyboard' ? 24 : 0 },\n ]}\n >\n <View style={styles.spaceDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onSurface\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.onSurface\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.spaceDot} />\n </View>\n <View style={styles.column}>\n <TimeInput\n ref={endInput}\n inputFontSize={inputFontSize}\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 {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Minute</Text>\n ) : null}\n </View>\n {!is24Hour && (\n <>\n <View style={styles.spaceBetweenInputsAndSwitcher} />\n <AmPmSwitcher\n hours={hours}\n onChange={onChangeHours}\n inputType={inputType}\n />\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n column: {\n flexDirection: 'column',\n },\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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"}
@@ -17,13 +17,19 @@ function TimePicker(_ref) {
17
17
  focused,
18
18
  inputType,
19
19
  onChange,
20
- locale
20
+ locale,
21
+ use24HourClock,
22
+ inputFontSize
21
23
  } = _ref;
22
24
  const [displayMode, setDisplayMode] = React.useState(undefined);
23
25
  const dimensions = useWindowDimensions();
24
26
  const isLandscape = dimensions.width > dimensions.height; // method to check whether we have 24 hours in clock or 12
25
27
 
26
28
  const is24Hour = React.useMemo(() => {
29
+ if (use24HourClock !== undefined) {
30
+ return use24HourClock;
31
+ }
32
+
27
33
  const formatter = new Intl.DateTimeFormat(locale, {
28
34
  hour: '2-digit',
29
35
  minute: '2-digit',
@@ -31,7 +37,7 @@ function TimePicker(_ref) {
31
37
  });
32
38
  const formatted = formatter.format(new Date(Date.UTC(2020, 1, 1, 23)));
33
39
  return formatted.includes('23');
34
- }, [locale]); // Initialize display Mode according the hours value
40
+ }, [locale, use24HourClock]); // Initialize display Mode according the hours value
35
41
 
36
42
  React.useEffect(() => {
37
43
  if (hours >= 12) {
@@ -56,6 +62,7 @@ function TimePicker(_ref) {
56
62
  }] : styles.rootPortrait
57
63
  }, /*#__PURE__*/React.createElement(TimeInputs, {
58
64
  inputType: inputType,
65
+ inputFontSize: inputFontSize,
59
66
  hours: hours,
60
67
  minutes: minutes,
61
68
  is24Hour: is24Hour,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","useWindowDimensions","inputTypes","toHourInputFormat","toHourOutputFormat","AnalogClock","circleSize","TimeInputs","DisplayModeContext","createContext","mode","setMode","TimePicker","hours","minutes","onFocusInput","focused","inputType","onChange","locale","displayMode","setDisplayMode","useState","undefined","dimensions","isLandscape","width","height","is24Hour","useMemo","formatter","Intl","DateTimeFormat","hour","minute","timeZone","formatted","format","Date","UTC","includes","useEffect","onInnerChange","useCallback","params","styles","rootLandscape","picker","rootPortrait","clockContainer","create","flexDirection","alignItems","justifyContent","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\n style={\n isLandscape\n ? [\n styles.rootLandscape,\n {\n width:\n 24 * 3 +\n 96 * 2 +\n 52 +\n (inputType === inputTypes.picker\n ? circleSize\n : -circleSize),\n },\n ]\n : styles.rootPortrait\n }\n >\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 },\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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"}
1
+ {"version":3,"names":["React","View","StyleSheet","useWindowDimensions","inputTypes","toHourInputFormat","toHourOutputFormat","AnalogClock","circleSize","TimeInputs","DisplayModeContext","createContext","mode","setMode","TimePicker","hours","minutes","onFocusInput","focused","inputType","onChange","locale","use24HourClock","inputFontSize","displayMode","setDisplayMode","useState","undefined","dimensions","isLandscape","width","height","is24Hour","useMemo","formatter","Intl","DateTimeFormat","hour","minute","timeZone","formatted","format","Date","UTC","includes","useEffect","onInnerChange","useCallback","params","styles","rootLandscape","picker","rootPortrait","clockContainer","create","flexDirection","alignItems","justifyContent","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 use24HourClock,\n inputFontSize,\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 use24HourClock?: boolean\n inputFontSize?: number\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 if (use24HourClock !== undefined) {\n return use24HourClock\n }\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, use24HourClock])\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\n style={\n isLandscape\n ? [\n styles.rootLandscape,\n {\n width:\n 24 * 3 +\n 96 * 2 +\n 52 +\n (inputType === inputTypes.picker\n ? circleSize\n : -circleSize),\n },\n ]\n : styles.rootPortrait\n }\n >\n <TimeInputs\n inputType={inputType}\n inputFontSize={inputFontSize}\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 },\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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"}
@@ -20,7 +20,9 @@ export function TimePickerModal(_ref) {
20
20
  animationType = 'none',
21
21
  locale,
22
22
  keyboardIcon = 'keyboard-outline',
23
- clockIcon = 'clock-outline'
23
+ clockIcon = 'clock-outline',
24
+ use24HourClock,
25
+ inputFontSize
24
26
  } = _ref;
25
27
  const theme = useTheme();
26
28
  let textFont;
@@ -92,6 +94,8 @@ export function TimePickerModal(_ref) {
92
94
  }, /*#__PURE__*/React.createElement(TimePicker, {
93
95
  locale: locale,
94
96
  inputType: inputType,
97
+ use24HourClock: use24HourClock,
98
+ inputFontSize: inputFontSize,
95
99
  focused: focused,
96
100
  hours: localHours,
97
101
  minutes: localMinutes,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Modal","StyleSheet","View","Text","Animated","TouchableWithoutFeedback","KeyboardAvoidingView","Button","IconButton","overlay","useTheme","TimePicker","clockTypes","getTimeInputTypeIcon","inputTypes","reverseInputTypes","supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","uppercase","cancelLabel","confirmLabel","animationType","locale","keyboardIcon","clockIcon","theme","textFont","labelText","isV3","fonts","labelMedium","medium","inputType","setInputType","useState","picker","focused","setFocused","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","keyboard","useEffect","onFocusInput","useCallback","type","onChange","params","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","elevation","level3","surface","borderRadius","roundness","labelContainer","color","onSurfaceVariant","text","toUpperCase","timePickerContainer","bottom","inputTypeToggle","fill","undefined","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","minWidth","paddingVertical","paddingLeft","paddingRight","paddingTop","letterSpacing","fontSize","paddingBottom","flexDirection","padding","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: (\n | 'portrait'\n | 'portrait-upside-down'\n | 'landscape'\n | 'landscape-left'\n | 'landscape-right'\n)[] = [\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 let labelText = label\n\n if (theme.isV3) {\n textFont = theme.fonts.labelMedium\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 if (inputType === inputTypes.keyboard && !label) {\n labelText = 'Enter time'\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 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 <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:\n theme.dark && theme.isV3\n ? theme.colors.elevation.level3\n : theme.isV3\n ? theme.colors.surface\n : theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.isV3\n ? theme.roundness * 6\n : 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.onSurfaceVariant\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n >\n {uppercase ? labelText.toUpperCase() : labelText}\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: 3,\n minWidth: 287,\n paddingVertical: 8,\n },\n labelContainer: {\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 16,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: {\n paddingLeft: 24,\n paddingTop: 20,\n paddingBottom: 16,\n paddingRight: 24,\n },\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":["React","Modal","StyleSheet","View","Text","Animated","TouchableWithoutFeedback","KeyboardAvoidingView","Button","IconButton","overlay","useTheme","TimePicker","clockTypes","getTimeInputTypeIcon","inputTypes","reverseInputTypes","supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","uppercase","cancelLabel","confirmLabel","animationType","locale","keyboardIcon","clockIcon","use24HourClock","inputFontSize","theme","textFont","labelText","isV3","fonts","labelMedium","medium","inputType","setInputType","useState","picker","focused","setFocused","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","keyboard","useEffect","onFocusInput","useCallback","type","onChange","params","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","elevation","level3","surface","borderRadius","roundness","labelContainer","color","onSurfaceVariant","text","toUpperCase","timePickerContainer","bottom","inputTypeToggle","fill","undefined","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","minWidth","paddingVertical","paddingLeft","paddingRight","paddingTop","letterSpacing","fontSize","paddingBottom","flexDirection","padding","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: (\n | 'portrait'\n | 'portrait-upside-down'\n | 'landscape'\n | 'landscape-left'\n | 'landscape-right'\n)[] = [\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 use24HourClock,\n inputFontSize,\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 use24HourClock?: boolean\n inputFontSize?: number\n}) {\n const theme = useTheme()\n\n let textFont\n let labelText = label\n\n if (theme.isV3) {\n textFont = theme.fonts.labelMedium\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 if (inputType === inputTypes.keyboard && !label) {\n labelText = 'Enter time'\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 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 <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:\n theme.dark && theme.isV3\n ? theme.colors.elevation.level3\n : theme.isV3\n ? theme.colors.surface\n : theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.isV3\n ? theme.roundness * 6\n : 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.onSurfaceVariant\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n >\n {uppercase ? labelText.toUpperCase() : labelText}\n </Text>\n </View>\n <View style={styles.timePickerContainer}>\n <TimePicker\n locale={locale}\n inputType={inputType}\n use24HourClock={use24HourClock}\n inputFontSize={inputFontSize}\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: 3,\n minWidth: 287,\n paddingVertical: 8,\n },\n labelContainer: {\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 16,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: {\n paddingLeft: 24,\n paddingTop: 20,\n paddingBottom: 16,\n paddingRight: 24,\n },\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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"}
@@ -12,6 +12,7 @@ export { default as en } from './translations/en';
12
12
  export { default as enGB } from './translations/enGB';
13
13
  export { default as es } from './translations/es';
14
14
  export { default as fr } from './translations/fr';
15
+ export { default as he } from './translations/he';
15
16
  export { default as it } from './translations/it';
16
17
  export { default as ko } from './translations/ko';
17
18
  export { default as nl } from './translations/nl';
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["default","Calendar","DatePickerModal","DatePickerModalContent","TimePickerModal","TimePicker","DatePickerInput","registerTranslation","getTranslation","ar","de","en","enGB","es","fr","he","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 he } from './translations/he'\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;AACA,SAASpB,OAAO,IAAIqB,EAApB,QAA8B,mBAA9B"}
@@ -0,0 +1,18 @@
1
+ const he = {
2
+ save: 'שמור',
3
+ selectSingle: 'בחר תאריך',
4
+ selectMultiple: 'בחר תאריכים',
5
+ selectRange: 'בחר טווח',
6
+ notAccordingToDateFormat: inputFormat => `פורמט של תאריך צריך להיות ${inputFormat}`,
7
+ mustBeHigherThan: date => `חייב להיות אחרי ${date}`,
8
+ mustBeLowerThan: date => `חייב להיות לפני ${date}`,
9
+ mustBeBetween: (startDate, endDate) => `חייב להיות בין ${startDate} - ${endDate}`,
10
+ dateIsDisabled: 'יום לא מורשה',
11
+ previous: 'הקודם',
12
+ next: 'הבא',
13
+ typeInDate: 'הקש תאריך',
14
+ pickDateFromCalendar: 'בחר תאריך מהלוח שנה',
15
+ close: 'סגור'
16
+ };
17
+ export default he;
18
+ //# sourceMappingURL=he.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["he","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"sources":["he.ts"],"sourcesContent":["import type { TranslationsType } from './utils'\n\nconst he: TranslationsType = {\n save: 'שמור',\n selectSingle: 'בחר תאריך',\n selectMultiple: 'בחר תאריכים',\n selectRange: 'בחר טווח',\n notAccordingToDateFormat: (inputFormat) =>\n `פורמט של תאריך צריך להיות ${inputFormat}`,\n mustBeHigherThan: (date) => `חייב להיות אחרי ${date}`,\n mustBeLowerThan: (date) => `חייב להיות לפני ${date}`,\n mustBeBetween: (startDate, endDate) =>\n `חייב להיות בין ${startDate} - ${endDate}`,\n dateIsDisabled: 'יום לא מורשה',\n previous: 'הקודם',\n next: 'הבא',\n typeInDate: 'הקש תאריך',\n pickDateFromCalendar: 'בחר תאריך מהלוח שנה',\n close: 'סגור',\n}\nexport default he\n"],"mappings":"AAEA,MAAMA,EAAoB,GAAG;EAC3BC,IAAI,EAAE,MADqB;EAE3BC,YAAY,EAAE,WAFa;EAG3BC,cAAc,EAAE,aAHW;EAI3BC,WAAW,EAAE,UAJc;EAK3BC,wBAAwB,EAAGC,WAAD,IACvB,6BAA4BA,WAAY,EANhB;EAO3BC,gBAAgB,EAAGC,IAAD,IAAW,mBAAkBA,IAAK,EAPzB;EAQ3BC,eAAe,EAAGD,IAAD,IAAW,mBAAkBA,IAAK,EARxB;EAS3BE,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,kBAAiBD,SAAU,MAAKC,OAAQ,EAVhB;EAW3BC,cAAc,EAAE,cAXW;EAY3BC,QAAQ,EAAE,OAZiB;EAa3BC,IAAI,EAAE,KAbqB;EAc3BC,UAAU,EAAE,WAde;EAe3BC,oBAAoB,EAAE,qBAfK;EAgB3BC,KAAK,EAAE;AAhBoB,CAA7B;AAkBA,eAAelB,EAAf"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { ModeType, ValidRangeType } from './Calendar';
3
3
  import type { LocalState } from './DatePickerModalContent';
4
- declare function CalendarEdit({ mode, state, label, startLabel, endLabel, collapsed, onChange, validRange, locale, }: {
4
+ declare function CalendarEdit({ mode, state, label, startLabel, endLabel, collapsed, onChange, validRange, locale, inputEnabled, }: {
5
5
  mode: ModeType;
6
6
  label?: string;
7
7
  startLabel?: string;
@@ -11,6 +11,7 @@ declare function CalendarEdit({ mode, state, label, startLabel, endLabel, collap
11
11
  onChange: (s: LocalState) => any;
12
12
  validRange: ValidRangeType | undefined;
13
13
  locale: string;
14
+ inputEnabled?: boolean;
14
15
  }): JSX.Element;
15
16
  declare const _default: React.MemoExoticComponent<typeof CalendarEdit>;
16
17
  export default _default;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import type { DatePickerInputProps } from './DatePickerInput.shared';
3
- declare const _default: React.ForwardRefExoticComponent<Pick<DatePickerInputProps, "label" | "style" | "children" | "pointerEvents" | "allowFontScaling" | "numberOfLines" | "onLayout" | "onPressIn" | "onPressOut" | "testID" | "nativeID" | "maxFontSizeMultiplier" | "disabled" | "selectionColor" | "textBreakStrategy" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLabelledBy" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "left" | "right" | "key" | "hitSlop" | "removeClippedSubviews" | "collapsable" | "needsOffscreenAlphaCompositing" | "renderToHardwareTextureAndroid" | "focusable" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxProperties" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "value" | "mode" | "error" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "onKeyPress" | "onScroll" | "defaultValue" | "spellCheck" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "autoComplete" | "maxLength" | "textAlign" | "textAlignVertical" | "multiline" | "onContentSizeChange" | "scrollEnabled" | "textColor" | "dense" | "render" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "editable" | "keyboardType" | "onChangeText" | "onEndEditing" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "inputAccessoryViewID" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "textContentType" | "cursorColor" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "underlineColorAndroid" | "showSoftInputOnFocus" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "outlineStyle" | "underlineStyle" | "theme" | "locale" | "uppercase" | "validRange" | "startYear" | "endYear" | "calendarIcon" | "inputMode" | "onValidationError" | "saveLabel" | "saveLabelDisabled" | "withDateFormatInLabel" | "hasError" | "hideValidationErrors" | "withModal"> & React.RefAttributes<unknown>>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<DatePickerInputProps, "ref"> & React.RefAttributes<unknown>>;
4
4
  export default _default;
@@ -19,4 +19,5 @@ export type DatePickerInputProps = {
19
19
  startYear?: number;
20
20
  endYear?: number;
21
21
  onChangeText?: (text: string | undefined) => void;
22
- } & Omit<React.ComponentProps<typeof TextInput>, 'value' | 'onChange' | 'onChangeText'>;
22
+ inputEnabled?: boolean;
23
+ } & Omit<React.ComponentProps<typeof TextInput>, 'value' | 'onChange' | 'onChangeText' | 'inputMode'>;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- declare const _default: React.ForwardRefExoticComponent<Pick<{
2
+ declare const _default: React.ForwardRefExoticComponent<Omit<{
3
3
  inputMode: "end" | "start";
4
4
  locale: string;
5
5
  onChange: (date: Date | undefined) => void;
@@ -17,7 +17,8 @@ declare const _default: React.ForwardRefExoticComponent<Pick<{
17
17
  startYear?: number | undefined;
18
18
  endYear?: number | undefined;
19
19
  onChangeText?: ((text: string | undefined) => void) | undefined;
20
- } & Omit<Pick<import("react-native").TextInputProps & React.RefAttributes<import("react-native").TextInput> & {
20
+ inputEnabled?: boolean | undefined;
21
+ } & Omit<import("react-native").TextInputProps & React.RefAttributes<import("react-native").TextInput> & {
21
22
  mode?: "flat" | "outlined" | undefined;
22
23
  left?: React.ReactNode;
23
24
  right?: React.ReactNode;
@@ -40,8 +41,9 @@ declare const _default: React.ForwardRefExoticComponent<Pick<{
40
41
  render?: ((props: import("react-native-paper/lib/typescript/components/TextInput/types").RenderProps) => React.ReactNode) | undefined;
41
42
  value?: string | undefined;
42
43
  style?: import("react-native").StyleProp<import("react-native").TextStyle>;
43
- theme: import("react-native-paper/lib/typescript/types").InternalTheme;
44
+ theme?: import("react-native-paper/lib/typescript/types").ThemeProp | undefined;
44
45
  testID?: string | undefined;
46
+ contentStyle?: import("react-native").StyleProp<import("react-native").ViewStyle>;
45
47
  outlineStyle?: import("react-native").StyleProp<import("react-native").ViewStyle>;
46
48
  underlineStyle?: import("react-native").StyleProp<import("react-native").ViewStyle>;
47
49
  } & React.RefAttributes<{
@@ -50,9 +52,7 @@ declare const _default: React.ForwardRefExoticComponent<Pick<{
50
52
  blur: () => void;
51
53
  isFocused: () => boolean;
52
54
  setNativeProps: (nativeProps: object) => void;
53
- }>, "label" | "style" | "children" | "pointerEvents" | "allowFontScaling" | "numberOfLines" | "onLayout" | "onPressIn" | "onPressOut" | "testID" | "nativeID" | "maxFontSizeMultiplier" | "disabled" | "selectionColor" | "textBreakStrategy" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLabelledBy" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "left" | "right" | "ref" | "key" | "hitSlop" | "removeClippedSubviews" | "collapsable" | "needsOffscreenAlphaCompositing" | "renderToHardwareTextureAndroid" | "focusable" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxProperties" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "value" | "mode" | "error" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "onKeyPress" | "onScroll" | "defaultValue" | "spellCheck" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "autoComplete" | "maxLength" | "textAlign" | "textAlignVertical" | "multiline" | "onContentSizeChange" | "scrollEnabled" | "textColor" | "dense" | "render" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "editable" | "keyboardType" | "onChangeText" | "onEndEditing" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "inputAccessoryViewID" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "textContentType" | "cursorColor" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "underlineColorAndroid" | "showSoftInputOnFocus" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "outlineStyle" | "underlineStyle"> & {
54
- theme?: import("@callstack/react-theme-provider").$DeepPartial<unknown> | undefined;
55
- }, "value" | "onChange" | "onChangeText"> & {
55
+ }>, "onChange" | "onChangeText" | "value" | "inputMode"> & {
56
56
  modal?: ((params: {
57
57
  value: Date | undefined;
58
58
  locale: string;
@@ -63,7 +63,8 @@ declare const _default: React.ForwardRefExoticComponent<Pick<{
63
63
  uppercase: boolean | undefined;
64
64
  startYear: number | undefined;
65
65
  endYear: number | undefined;
66
+ inputEnabled: boolean | undefined;
66
67
  }) => any) | undefined;
67
68
  inputButtons?: any;
68
- }, "label" | "style" | "children" | "pointerEvents" | "allowFontScaling" | "numberOfLines" | "onLayout" | "onPressIn" | "onPressOut" | "testID" | "nativeID" | "maxFontSizeMultiplier" | "disabled" | "selectionColor" | "textBreakStrategy" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLabelledBy" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "left" | "right" | "key" | "hitSlop" | "removeClippedSubviews" | "collapsable" | "needsOffscreenAlphaCompositing" | "renderToHardwareTextureAndroid" | "focusable" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxProperties" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "value" | "mode" | "error" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "onKeyPress" | "onScroll" | "defaultValue" | "spellCheck" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "autoComplete" | "maxLength" | "textAlign" | "textAlignVertical" | "multiline" | "onContentSizeChange" | "scrollEnabled" | "textColor" | "dense" | "render" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "editable" | "keyboardType" | "onChangeText" | "onEndEditing" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "inputAccessoryViewID" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "textContentType" | "cursorColor" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "underlineColorAndroid" | "showSoftInputOnFocus" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "outlineStyle" | "underlineStyle" | "theme" | "locale" | "uppercase" | "validRange" | "startYear" | "endYear" | "calendarIcon" | "inputMode" | "onValidationError" | "saveLabel" | "saveLabelDisabled" | "withDateFormatInLabel" | "hasError" | "hideValidationErrors" | "modal" | "inputButtons" | "withModal"> & React.RefAttributes<unknown>>;
69
+ }, "ref"> & React.RefAttributes<unknown>>;
69
70
  export default _default;
@@ -5,6 +5,7 @@ interface DatePickerModalProps {
5
5
  animationType?: 'slide' | 'fade' | 'none';
6
6
  disableStatusBar?: boolean;
7
7
  disableStatusBarPadding?: boolean;
8
+ inputEnabled?: boolean;
8
9
  }
9
10
  export interface DatePickerModalSingleProps extends DatePickerModalContentSingleProps, DatePickerModalProps {
10
11
  }
@@ -14,6 +14,7 @@ interface DatePickerModalContentBaseProps {
14
14
  disableSafeTop?: boolean;
15
15
  saveLabelDisabled?: boolean;
16
16
  uppercase?: boolean;
17
+ inputEnabled?: boolean;
17
18
  }
18
19
  export interface DatePickerModalContentRangeProps extends HeaderPickProps, BaseCalendarProps, DatePickerModalContentBaseProps {
19
20
  mode: 'range';
@@ -12,6 +12,7 @@ export interface HeaderPickProps {
12
12
  editIcon?: string;
13
13
  calendarIcon?: string;
14
14
  closeIcon?: string;
15
+ allowEditing?: boolean;
15
16
  }
16
17
  export interface HeaderContentProps extends HeaderPickProps {
17
18
  state: LocalState;
@@ -19,6 +20,7 @@ export interface HeaderContentProps extends HeaderPickProps {
19
20
  collapsed: boolean;
20
21
  onToggle: () => any;
21
22
  locale: string | undefined;
23
+ inputDate?: boolean;
22
24
  }
23
25
  export default function DatePickerModalContentHeader(props: HeaderContentProps): JSX.Element;
24
26
  export declare function HeaderContentSingle({ state, emptyLabel, color, locale, }: HeaderContentProps & {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- declare const _default: React.ForwardRefExoticComponent<Pick<Pick<import("react-native").TextInputProps & React.RefAttributes<import("react-native").TextInput> & {
2
+ declare const _default: React.ForwardRefExoticComponent<Omit<import("react-native").TextInputProps & React.RefAttributes<import("react-native").TextInput> & {
3
3
  mode?: "flat" | "outlined" | undefined;
4
4
  left?: React.ReactNode;
5
5
  right?: React.ReactNode;
@@ -22,8 +22,9 @@ declare const _default: React.ForwardRefExoticComponent<Pick<Pick<import("react-
22
22
  render?: ((props: import("react-native-paper/lib/typescript/components/TextInput/types").RenderProps) => React.ReactNode) | undefined;
23
23
  value?: string | undefined;
24
24
  style?: import("react-native").StyleProp<import("react-native").TextStyle>;
25
- theme: import("react-native-paper/lib/typescript/types").InternalTheme;
25
+ theme?: import("react-native-paper/lib/typescript/types").ThemeProp | undefined;
26
26
  testID?: string | undefined;
27
+ contentStyle?: import("react-native").StyleProp<import("react-native").ViewStyle>;
27
28
  outlineStyle?: import("react-native").StyleProp<import("react-native").ViewStyle>;
28
29
  underlineStyle?: import("react-native").StyleProp<import("react-native").ViewStyle>;
29
30
  } & React.RefAttributes<{
@@ -32,10 +33,8 @@ declare const _default: React.ForwardRefExoticComponent<Pick<Pick<import("react-
32
33
  blur: () => void;
33
34
  isFocused: () => boolean;
34
35
  setNativeProps: (nativeProps: object) => void;
35
- }>, "label" | "style" | "children" | "pointerEvents" | "allowFontScaling" | "numberOfLines" | "onLayout" | "onPressIn" | "onPressOut" | "testID" | "nativeID" | "maxFontSizeMultiplier" | "disabled" | "selectionColor" | "textBreakStrategy" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLabelledBy" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "left" | "right" | "ref" | "key" | "hitSlop" | "removeClippedSubviews" | "collapsable" | "needsOffscreenAlphaCompositing" | "renderToHardwareTextureAndroid" | "focusable" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxProperties" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "value" | "mode" | "error" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "onKeyPress" | "onScroll" | "defaultValue" | "spellCheck" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "autoComplete" | "maxLength" | "textAlign" | "textAlignVertical" | "multiline" | "onContentSizeChange" | "scrollEnabled" | "textColor" | "dense" | "render" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "editable" | "keyboardType" | "onChangeText" | "onEndEditing" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "inputAccessoryViewID" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "textContentType" | "cursorColor" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "underlineColorAndroid" | "showSoftInputOnFocus" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "outlineStyle" | "underlineStyle"> & {
36
- theme?: import("@callstack/react-theme-provider").$DeepPartial<unknown> | undefined;
37
- } & {
36
+ }> & {
38
37
  mask: string;
39
38
  value: string;
40
- }, "label" | "style" | "children" | "pointerEvents" | "allowFontScaling" | "numberOfLines" | "onLayout" | "onPressIn" | "onPressOut" | "testID" | "nativeID" | "maxFontSizeMultiplier" | "disabled" | "selectionColor" | "textBreakStrategy" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLabelledBy" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "left" | "right" | "key" | "hitSlop" | "removeClippedSubviews" | "collapsable" | "needsOffscreenAlphaCompositing" | "renderToHardwareTextureAndroid" | "focusable" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxProperties" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "value" | "mode" | "error" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "onKeyPress" | "onScroll" | "defaultValue" | "spellCheck" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "autoComplete" | "maxLength" | "textAlign" | "textAlignVertical" | "multiline" | "onContentSizeChange" | "scrollEnabled" | "textColor" | "dense" | "render" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "editable" | "keyboardType" | "onChangeText" | "onEndEditing" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "inputAccessoryViewID" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "textContentType" | "cursorColor" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "underlineColorAndroid" | "showSoftInputOnFocus" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "outlineStyle" | "underlineStyle" | "mask" | "theme"> & React.RefAttributes<unknown>>;
39
+ }, "ref"> & React.RefAttributes<unknown>>;
41
40
  export default _default;
@@ -8,6 +8,7 @@ interface TimeInputProps extends Omit<Omit<TextInputProps, 'value'>, 'onFocus'>
8
8
  pressed: boolean;
9
9
  onChanged: (n: number) => any;
10
10
  inputType: PossibleInputTypes;
11
+ inputFontSize?: number;
11
12
  }
12
13
  declare const _default: React.ForwardRefExoticComponent<TimeInputProps & React.RefAttributes<unknown>>;
13
14
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { PossibleClockTypes, PossibleInputTypes } from './timeUtils';
3
- declare function TimeInputs({ hours, minutes, onFocusInput, focused, inputType, onChange, is24Hour, }: {
3
+ declare function TimeInputs({ hours, minutes, onFocusInput, focused, inputType, onChange, is24Hour, inputFontSize, }: {
4
4
  inputType: PossibleInputTypes;
5
5
  focused: PossibleClockTypes;
6
6
  hours: number;
@@ -12,6 +12,7 @@ declare function TimeInputs({ hours, minutes, onFocusInput, focused, inputType,
12
12
  focused?: undefined | PossibleClockTypes;
13
13
  }) => any;
14
14
  is24Hour: boolean;
15
+ inputFontSize?: number;
15
16
  }): JSX.Element;
16
17
  declare const _default: React.MemoExoticComponent<typeof TimeInputs>;
17
18
  export default _default;
@@ -9,7 +9,7 @@ type onChangeFunc = ({ hours, minutes, focused, }: {
9
9
  minutes: number;
10
10
  focused?: undefined | PossibleClockTypes;
11
11
  }) => any;
12
- declare function TimePicker({ hours, minutes, onFocusInput, focused, inputType, onChange, locale, }: {
12
+ declare function TimePicker({ hours, minutes, onFocusInput, focused, inputType, onChange, locale, use24HourClock, inputFontSize, }: {
13
13
  locale?: undefined | string;
14
14
  inputType: PossibleInputTypes;
15
15
  focused: PossibleClockTypes;
@@ -17,6 +17,8 @@ declare function TimePicker({ hours, minutes, onFocusInput, focused, inputType,
17
17
  minutes: number;
18
18
  onFocusInput: (type: PossibleClockTypes) => any;
19
19
  onChange: onChangeFunc;
20
+ use24HourClock?: boolean;
21
+ inputFontSize?: number;
20
22
  }): JSX.Element;
21
23
  declare const _default: React.MemoExoticComponent<typeof TimePicker>;
22
24
  export default _default;