react-native-paper-dates 0.7.0 → 0.8.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 (32) hide show
  1. package/README.md +4 -0
  2. package/lib/commonjs/Date/DatePickerInput.js +1 -2
  3. package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
  4. package/lib/commonjs/Date/DatePickerModalContent.js +4 -0
  5. package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
  6. package/lib/commonjs/Date/DatePickerModalContentHeader.js +3 -2
  7. package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
  8. package/lib/commonjs/Date/DatePickerModalHeader.js +3 -0
  9. package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
  10. package/lib/commonjs/Time/TimePickerModal.js +6 -3
  11. package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
  12. package/lib/module/Date/DatePickerInput.js +1 -2
  13. package/lib/module/Date/DatePickerInput.js.map +1 -1
  14. package/lib/module/Date/DatePickerModalContent.js +4 -0
  15. package/lib/module/Date/DatePickerModalContent.js.map +1 -1
  16. package/lib/module/Date/DatePickerModalContentHeader.js +3 -2
  17. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  18. package/lib/module/Date/DatePickerModalHeader.js +3 -0
  19. package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
  20. package/lib/module/Time/TimePickerModal.js +6 -3
  21. package/lib/module/Time/TimePickerModal.js.map +1 -1
  22. package/lib/typescript/Date/DatePickerInput.d.ts +8 -8
  23. package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +1 -0
  24. package/lib/typescript/Date/DatePickerModalHeader.d.ts +1 -0
  25. package/lib/typescript/Time/TimePickerModal.d.ts +2 -1
  26. package/package.json +1 -1
  27. package/src/Date/DatePickerInput.tsx +5 -3
  28. package/src/Date/DatePickerModalContent.tsx +2 -0
  29. package/src/Date/DatePickerModalContentHeader.tsx +5 -3
  30. package/src/Date/DatePickerModalHeader.tsx +2 -0
  31. package/src/Time/TimePickerModal.tsx +7 -2
  32. package/src/.DS_Store +0 -0
package/README.md CHANGED
@@ -137,6 +137,7 @@ export default function ReadMeExampleSingle() {
137
137
  // }}
138
138
  // onChange={} // same props as onConfirm but triggered without confirmed by user
139
139
  // saveLabel="Save" // optional
140
+ // uppercase={false} // optional, default is true
140
141
  // label="Select date" // optional
141
142
  // animationType="slide" // optional, default is 'slide' on ios/android and 'none' on web
142
143
  />
@@ -192,6 +193,7 @@ export default function ReadMeExampleRange() {
192
193
  // }}
193
194
  // onChange={} // same props as onConfirm but triggered without confirmed by user
194
195
  // saveLabel="Save" // optional
196
+ // uppercase={false} // optional, default is true
195
197
  // label="Select period" // optional
196
198
  // startLabel="From" // optional
197
199
  // endLabel="To" // optional
@@ -245,6 +247,7 @@ export default function ReadMeExampleMultiple() {
245
247
  // disabledDates: [new Date()] // optional
246
248
  // }}
247
249
  // saveLabel="Save" // optional
250
+ // uppercase={false} // optional, default is true
248
251
  // label="Select period" // optional
249
252
  // startLabel="From" // optional
250
253
  // endLabel="To" // optional
@@ -307,6 +310,7 @@ export default function TimePickerPage() {
307
310
  hours={12} // default: current hours
308
311
  minutes={14} // default: current minutes
309
312
  label="Select time" // optional, default 'Select time'
313
+ uppercase={false} // optional, default is true
310
314
  cancelLabel="Cancel" // optional, default: 'Cancel'
311
315
  confirmLabel="Ok" // optional, default: 'Ok'
312
316
  animationType="fade" // optional, default is 'none'
@@ -124,8 +124,7 @@ const styles = _reactNative.StyleSheet.create({
124
124
  flexDirection: 'row',
125
125
  position: 'relative',
126
126
  alignItems: 'center',
127
- flexGrow: 1,
128
- alignSelf: 'flex-start'
127
+ flexGrow: 1
129
128
  },
130
129
  input: {
131
130
  flexGrow: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerInput.tsx"],"names":["DatePickerInput","ref","label","value","onChange","style","locale","validRange","inputMode","withModal","withDateFormatInLabel","rest","theme","formattedValue","inputFormat","onChangeText","error","visible","setVisible","React","useState","onDismiss","useCallback","onChangeRef","onInnerConfirm","date","current","styles","root","getLabel","dark","input","calendarButton","undefined","StyleSheet","create","minWidth","flexDirection","position","alignItems","flexGrow","alignSelf","right","forwardRef"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, IconButton, TextInput, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport useDateInput from './inputUtils'\nimport type { ValidRangeType } from './Calendar'\nimport { useLatest } from '../utils'\n\nfunction DatePickerInput(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withModal = true,\n withDateFormatInLabel = true,\n ...rest\n }: Omit<React.ComponentProps<typeof TextInput>, 'value' | 'onChange'> & {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n },\n ref: any\n) {\n const theme = useTheme()\n const { formattedValue, inputFormat, onChangeText, error } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n })\n\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <>\n <View style={styles.root}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({ label, inputFormat, withDateFormatInLabel })}\n value={formattedValue}\n keyboardType={'number-pad'}\n placeholder={inputFormat}\n mask={inputFormat}\n onChangeText={onChangeText}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={!!error}\n style={[styles.input, style]}\n />\n {withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon=\"calendar\"\n onPress={() => setVisible(true)}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n\n {withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n />\n ) : null}\n </>\n )\n}\n\nfunction getLabel({\n withDateFormatInLabel,\n inputFormat,\n label,\n}: {\n withDateFormatInLabel: boolean\n inputFormat: string\n label: string | undefined\n}) {\n if (withDateFormatInLabel) {\n return label ? `${label} (${inputFormat})` : inputFormat\n }\n return label || ''\n}\n\nconst styles = StyleSheet.create({\n root: {\n minWidth: 150,\n flexDirection: 'row',\n position: 'relative',\n alignItems: 'center',\n flexGrow: 1,\n alignSelf: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n calendarButton: { position: 'absolute', right: 0 },\n})\nexport default React.forwardRef(DatePickerInput)\n"]}
1
+ {"version":3,"sources":["DatePickerInput.tsx"],"names":["DatePickerInput","ref","label","value","onChange","style","locale","validRange","inputMode","withModal","withDateFormatInLabel","rest","theme","formattedValue","inputFormat","onChangeText","error","visible","setVisible","React","useState","onDismiss","useCallback","onChangeRef","onInnerConfirm","date","current","styles","root","getLabel","dark","input","calendarButton","undefined","StyleSheet","create","minWidth","flexDirection","position","alignItems","flexGrow","right","forwardRef"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, IconButton, TextInput, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport useDateInput from './inputUtils'\nimport type { ValidRangeType } from './Calendar'\nimport { useLatest } from '../utils'\n\nfunction DatePickerInput(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withModal = true,\n withDateFormatInLabel = true,\n ...rest\n }: {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n } & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n >,\n ref: any\n) {\n const theme = useTheme()\n const { formattedValue, inputFormat, onChangeText, error } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n })\n\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <>\n <View style={styles.root}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({ label, inputFormat, withDateFormatInLabel })}\n value={formattedValue}\n keyboardType={'number-pad'}\n placeholder={inputFormat}\n mask={inputFormat}\n onChangeText={onChangeText}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={!!error}\n style={[styles.input, style]}\n />\n {withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon=\"calendar\"\n onPress={() => setVisible(true)}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n\n {withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n />\n ) : null}\n </>\n )\n}\n\nfunction getLabel({\n withDateFormatInLabel,\n inputFormat,\n label,\n}: {\n withDateFormatInLabel: boolean\n inputFormat: string\n label: string | undefined\n}) {\n if (withDateFormatInLabel) {\n return label ? `${label} (${inputFormat})` : inputFormat\n }\n return label || ''\n}\n\nconst styles = StyleSheet.create({\n root: {\n minWidth: 150,\n flexDirection: 'row',\n position: 'relative',\n alignItems: 'center',\n flexGrow: 1,\n },\n input: {\n flexGrow: 1,\n },\n calendarButton: { position: 'absolute', right: 0 },\n})\nexport default React.forwardRef(DatePickerInput)\n"]}
@@ -27,6 +27,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
27
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
28
 
29
29
  function DatePickerModalContent(props) {
30
+ var _props$uppercase, _props$uppercase2;
31
+
30
32
  const {
31
33
  mode,
32
34
  onChange,
@@ -89,6 +91,7 @@ function DatePickerModalContent(props) {
89
91
  onSave: onInnerConfirm,
90
92
  onDismiss: onDismiss,
91
93
  saveLabel: props.saveLabel,
94
+ uppercase: (_props$uppercase = props.uppercase) !== null && _props$uppercase !== void 0 ? _props$uppercase : true,
92
95
  disableSafeTop: disableSafeTop
93
96
  }), /*#__PURE__*/React.createElement(_DatePickerModalContentHeader.default, {
94
97
  state: state,
@@ -101,6 +104,7 @@ function DatePickerModalContent(props) {
101
104
  moreLabel: props.moreLabel,
102
105
  startLabel: props.startLabel,
103
106
  endLabel: props.endLabel,
107
+ uppercase: (_props$uppercase2 = props.uppercase) !== null && _props$uppercase2 !== void 0 ? _props$uppercase2 : true,
104
108
  locale: locale
105
109
  })), /*#__PURE__*/React.createElement(_AnimatedCrossView.default, {
106
110
  collapsed: collapsed,
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalContent.tsx"],"names":["DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","anyProps","state","setState","React","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n disableSafeTop={disableSafeTop}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n locale={locale}\n />\n </DatePickerModalHeaderBackground>\n\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"]}
1
+ {"version":3,"sources":["DatePickerModalContent.tsx"],"names":["DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","anyProps","state","setState","React","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","uppercase","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n uppercase={props.uppercase ?? true}\n disableSafeTop={disableSafeTop}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n uppercase={props.uppercase ?? true}\n locale={locale}\n />\n </DatePickerModalHeaderBackground>\n\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"]}
@@ -53,7 +53,8 @@ function DatePickerModalContentHeader(props) {
53
53
  onToggle,
54
54
  collapsed,
55
55
  mode,
56
- moreLabel
56
+ moreLabel,
57
+ uppercase
57
58
  } = props;
58
59
  const label = getLabel(props.locale, props.mode, props.label);
59
60
  const color = (0, _utils.useHeaderTextColor)();
@@ -64,7 +65,7 @@ function DatePickerModalContentHeader(props) {
64
65
  style: [styles.label, {
65
66
  color
66
67
  }]
67
- }, label.toUpperCase()), /*#__PURE__*/React.createElement(_reactNative.View, {
68
+ }, uppercase ? label.toUpperCase() : label), /*#__PURE__*/React.createElement(_reactNative.View, {
68
69
  style: styles.headerContentContainer
69
70
  }, mode === 'range' ? /*#__PURE__*/React.createElement(HeaderContentRange, _extends({}, props, {
70
71
  color: color
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalContentHeader.tsx"],"names":["getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","undefined","HeaderContentSingle","state","emptyLabel","lighterColor","fade","rgb","toString","dateColor","date","formatter","React","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","StyleSheet","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { IconButton, Text } from 'react-native-paper'\nimport type { ModeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\nimport { useHeaderTextColor } from '../utils'\nimport Color from 'color'\nimport { getTranslation } from '../translations/utils'\n\nexport interface HeaderPickProps {\n moreLabel?: string\n label?: string\n emptyLabel?: string\n saveLabel?: string\n headerSeparator?: string\n startLabel?: string\n endLabel?: string\n}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n}\n\nfunction getLabel(\n locale: string | undefined,\n mode: ModeType,\n configuredLabel?: string\n) {\n if (configuredLabel) {\n return configuredLabel\n }\n if (mode === 'range') {\n return getTranslation(locale, 'selectRange')\n }\n if (mode === 'multiple') {\n return getTranslation(locale, 'selectMultiple')\n }\n if (mode === 'single') {\n return getTranslation(locale, 'selectSingle')\n }\n return '...?'\n}\n\nexport default function DatePickerModalContentHeader(\n props: HeaderContentProps\n) {\n const { onToggle, collapsed, mode, moreLabel } = props\n\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color }]}>{label.toUpperCase()}</Text>\n\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={collapsed ? 'pencil' : 'calendar'}\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n color={color}\n onPress={onToggle}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate ? color : lighterColor\n const endColor = state.endDate ? color : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"]}
1
+ {"version":3,"sources":["DatePickerModalContentHeader.tsx"],"names":["getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","undefined","HeaderContentSingle","state","emptyLabel","lighterColor","fade","rgb","toString","dateColor","date","formatter","React","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","StyleSheet","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { IconButton, Text } from 'react-native-paper'\nimport type { ModeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\nimport { useHeaderTextColor } from '../utils'\nimport Color from 'color'\nimport { getTranslation } from '../translations/utils'\n\nexport interface HeaderPickProps {\n moreLabel?: string\n label?: string\n emptyLabel?: string\n saveLabel?: string\n uppercase?: boolean\n headerSeparator?: string\n startLabel?: string\n endLabel?: string\n}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n}\n\nfunction getLabel(\n locale: string | undefined,\n mode: ModeType,\n configuredLabel?: string\n) {\n if (configuredLabel) {\n return configuredLabel\n }\n if (mode === 'range') {\n return getTranslation(locale, 'selectRange')\n }\n if (mode === 'multiple') {\n return getTranslation(locale, 'selectMultiple')\n }\n if (mode === 'single') {\n return getTranslation(locale, 'selectSingle')\n }\n return '...?'\n}\n\nexport default function DatePickerModalContentHeader(\n props: HeaderContentProps\n) {\n const { onToggle, collapsed, mode, moreLabel, uppercase } = props\n\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color }]}>\n {uppercase ? label.toUpperCase() : label}\n </Text>\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={collapsed ? 'pencil' : 'calendar'}\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n color={color}\n onPress={onToggle}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate ? color : lighterColor\n const endColor = state.endDate ? color : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"]}
@@ -20,6 +20,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
20
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
21
 
22
22
  function DatePickerModalHeader(props) {
23
+ var _props$uppercase;
24
+
23
25
  const {
24
26
  disableSafeTop,
25
27
  locale
@@ -46,6 +48,7 @@ function DatePickerModalHeader(props) {
46
48
  }), /*#__PURE__*/React.createElement(_reactNativePaper.Button, {
47
49
  color: color,
48
50
  onPress: props.onSave,
51
+ uppercase: (_props$uppercase = props.uppercase) !== null && _props$uppercase !== void 0 ? _props$uppercase : true,
49
52
  testID: "react-native-paper-dates-save"
50
53
  }, saveLabel)))));
51
54
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalHeader.tsx"],"names":["DatePickerModalHeader","props","disableSafeTop","locale","saveLabel","color","styles","animated","safeContent","safeContentNoTop","appbarHeader","onDismiss","undefined","onSave","StyleSheet","create","fill","flex","paddingBottom","elevation","paddingTop","header","height","alignItems","flexDirection","paddingLeft","paddingRight","headerContentContainer","marginTop","label","letterSpacing","fontSize","singleHeaderText","rangeHeaderText","headerTextFilled","headerTextEmpty","headerSeparator","backgroundColor"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, SafeAreaView } from 'react-native'\nimport { Appbar, Button } from 'react-native-paper'\n\nimport { useHeaderTextColor } from '../utils'\nimport { getTranslation } from '../translations/utils'\n\nexport interface DatePickerModalHeaderProps {\n disableSafeTop?: boolean\n saveLabel?: string\n onDismiss: () => void\n onSave: () => void\n locale: string | undefined\n}\n\nexport default function DatePickerModalHeader(\n props: DatePickerModalHeaderProps\n) {\n const { disableSafeTop, locale } = props\n const saveLabel = props.saveLabel || getTranslation(locale, 'save')\n const color = useHeaderTextColor()\n return (\n <>\n <Animated.View style={styles.animated}>\n <SafeAreaView\n style={[\n styles.safeContent,\n disableSafeTop && styles.safeContentNoTop,\n ]}\n >\n <Appbar style={styles.appbarHeader}>\n <Appbar.Action\n icon=\"close\"\n accessibilityLabel={getTranslation(locale, 'close')}\n onPress={props.onDismiss}\n color={color}\n testID=\"react-native-paper-dates-close\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <Appbar.Content title={''} />\n <Button\n color={color}\n onPress={props.onSave}\n testID=\"react-native-paper-dates-save\"\n >\n {saveLabel}\n </Button>\n </Appbar>\n </SafeAreaView>\n </Animated.View>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n safeContentNoTop: {\n paddingTop: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n headerTextFilled: { color: 'rgba(255,255,255,1)' },\n headerTextEmpty: { color: 'rgba(255,255,255,0.5)' },\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n backgroundColor: 'transparent',\n // alignItems:'center'\n },\n})\n"]}
1
+ {"version":3,"sources":["DatePickerModalHeader.tsx"],"names":["DatePickerModalHeader","props","disableSafeTop","locale","saveLabel","color","styles","animated","safeContent","safeContentNoTop","appbarHeader","onDismiss","undefined","onSave","uppercase","StyleSheet","create","fill","flex","paddingBottom","elevation","paddingTop","header","height","alignItems","flexDirection","paddingLeft","paddingRight","headerContentContainer","marginTop","label","letterSpacing","fontSize","singleHeaderText","rangeHeaderText","headerTextFilled","headerTextEmpty","headerSeparator","backgroundColor"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, SafeAreaView } from 'react-native'\nimport { Appbar, Button } from 'react-native-paper'\n\nimport { useHeaderTextColor } from '../utils'\nimport { getTranslation } from '../translations/utils'\n\nexport interface DatePickerModalHeaderProps {\n disableSafeTop?: boolean\n saveLabel?: string\n uppercase?: boolean\n onDismiss: () => void\n onSave: () => void\n locale: string | undefined\n}\n\nexport default function DatePickerModalHeader(\n props: DatePickerModalHeaderProps\n) {\n const { disableSafeTop, locale } = props\n const saveLabel = props.saveLabel || getTranslation(locale, 'save')\n const color = useHeaderTextColor()\n return (\n <>\n <Animated.View style={styles.animated}>\n <SafeAreaView\n style={[\n styles.safeContent,\n disableSafeTop && styles.safeContentNoTop,\n ]}\n >\n <Appbar style={styles.appbarHeader}>\n <Appbar.Action\n icon=\"close\"\n accessibilityLabel={getTranslation(locale, 'close')}\n onPress={props.onDismiss}\n color={color}\n testID=\"react-native-paper-dates-close\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <Appbar.Content title={''} />\n <Button\n color={color}\n onPress={props.onSave}\n uppercase={props.uppercase ?? true}\n testID=\"react-native-paper-dates-save\"\n >\n {saveLabel}\n </Button>\n </Appbar>\n </SafeAreaView>\n </Animated.View>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n safeContentNoTop: {\n paddingTop: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n headerTextFilled: { color: 'rgba(255,255,255,1)' },\n headerTextEmpty: { color: 'rgba(255,255,255,0.5)' },\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n backgroundColor: 'transparent',\n // alignItems:'center'\n },\n})\n"]}
@@ -32,6 +32,7 @@ function TimePickerModal(_ref) {
32
32
  hours,
33
33
  minutes,
34
34
  label = 'Select time',
35
+ uppercase = true,
35
36
  cancelLabel = 'Cancel',
36
37
  confirmLabel = 'Ok',
37
38
  animationType = 'none',
@@ -89,7 +90,7 @@ function TimePickerModal(_ref) {
89
90
  style: [styles.label, {
90
91
  color: theme.colors.text
91
92
  }]
92
- }, label.toUpperCase())), /*#__PURE__*/React.createElement(_reactNative.View, {
93
+ }, uppercase ? label.toUpperCase() : label)), /*#__PURE__*/React.createElement(_reactNative.View, {
93
94
  style: styles.timePickerContainer
94
95
  }, /*#__PURE__*/React.createElement(_TimePicker.default, {
95
96
  locale: locale,
@@ -113,12 +114,14 @@ function TimePickerModal(_ref) {
113
114
  }), /*#__PURE__*/React.createElement(_reactNative.View, {
114
115
  style: styles.fill
115
116
  }), /*#__PURE__*/React.createElement(_reactNativePaper.Button, {
116
- onPress: onDismiss
117
+ onPress: onDismiss,
118
+ uppercase: uppercase
117
119
  }, cancelLabel), /*#__PURE__*/React.createElement(_reactNativePaper.Button, {
118
120
  onPress: () => onConfirm({
119
121
  hours: localHours,
120
122
  minutes: localMinutes
121
- })
123
+ }),
124
+ uppercase: uppercase
122
125
  }, confirmLabel)))))));
123
126
  }
124
127
 
@@ -1 +1 @@
1
- {"version":3,"sources":["TimePickerModal.tsx"],"names":["supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","cancelLabel","confirmLabel","animationType","locale","theme","inputType","setInputType","React","useState","inputTypes","picker","focused","setFocused","clockTypes","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","useEffect","onFocusInput","useCallback","type","onChange","params","StyleSheet","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","surface","borderRadius","roundness","labelContainer","color","text","toUpperCase","timePickerContainer","bottom","inputTypeIcons","reverseInputTypes","inputTypeToggle","undefined","fill","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minWidth","paddingLeft","paddingRight","letterSpacing","fontSize","padding","flexDirection","margin","memo"],"mappings":";;;;;;;;AAAA;;AACA;;AAUA;;AACA;;AACA;;;;;;;;AASA,MAAMA,qBAA4B,GAAG,CACnC,UADmC,EAEnC,sBAFmC,EAGnC,WAHmC,EAInC,gBAJmC,EAKnC,iBALmC,CAArC;;AAQO,SAASC,eAAT,OAsBJ;AAAA,MAtB6B;AAC9BC,IAAAA,OAD8B;AAE9BC,IAAAA,SAF8B;AAG9BC,IAAAA,SAH8B;AAI9BC,IAAAA,KAJ8B;AAK9BC,IAAAA,OAL8B;AAM9BC,IAAAA,KAAK,GAAG,aANsB;AAO9BC,IAAAA,WAAW,GAAG,QAPgB;AAQ9BC,IAAAA,YAAY,GAAG,IARe;AAS9BC,IAAAA,aAAa,GAAG,MATc;AAU9BC,IAAAA;AAV8B,GAsB7B;AACD,QAAMC,KAAK,GAAG,iCAAd;AAEA,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BC,KAAK,CAACC,QAAN,CAChCC,sBAAWC,MADqB,CAAlC;AAGA,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBL,KAAK,CAACC,QAAN,CAC5BK,sBAAWhB,KADiB,CAA9B;AAGA,QAAM,CAACiB,UAAD,EAAaC,aAAb,IAA8BR,KAAK,CAACC,QAAN,CAAuBQ,QAAQ,CAACnB,KAAD,CAA/B,CAApC;AACA,QAAM,CAACoB,YAAD,EAAeC,eAAf,IAAkCX,KAAK,CAACC,QAAN,CACtCW,UAAU,CAACrB,OAAD,CAD4B,CAAxC;AAIAS,EAAAA,KAAK,CAACa,SAAN,CAAgB,MAAM;AACpBL,IAAAA,aAAa,CAACC,QAAQ,CAACnB,KAAD,CAAT,CAAb;AACD,GAFD,EAEG,CAACkB,aAAD,EAAgBlB,KAAhB,CAFH;AAIAU,EAAAA,KAAK,CAACa,SAAN,CAAgB,MAAM;AACpBF,IAAAA,eAAe,CAACC,UAAU,CAACrB,OAAD,CAAX,CAAf;AACD,GAFD,EAEG,CAACoB,eAAD,EAAkBpB,OAAlB,CAFH;AAIA,QAAMuB,YAAY,GAAGd,KAAK,CAACe,WAAN,CAClBC,IAAD,IAA8BX,UAAU,CAACW,IAAD,CADrB,EAEnB,EAFmB,CAArB;AAIA,QAAMC,QAAQ,GAAGjB,KAAK,CAACe,WAAN,CACdG,MAAD,IAIM;AACJ,QAAIA,MAAM,CAACd,OAAX,EAAoB;AAClBC,MAAAA,UAAU,CAACa,MAAM,CAACd,OAAR,CAAV;AACD;;AAEDI,IAAAA,aAAa,CAACU,MAAM,CAAC5B,KAAR,CAAb;AACAqB,IAAAA,eAAe,CAACO,MAAM,CAAC3B,OAAR,CAAf;AACD,GAZc,EAaf,CAACc,UAAD,EAAaG,aAAb,EAA4BG,eAA5B,CAbe,CAAjB;AAeA,sBACE,oBAAC,kBAAD;AACE,IAAA,aAAa,EAAEhB,aADjB;AAEE,IAAA,WAAW,EAAE,IAFf;AAGE,IAAA,OAAO,EAAER,OAHX;AAIE,IAAA,cAAc,EAAEC,SAJlB;AAKE,IAAA,iBAAiB,EAAC,gBALpB;AAME,IAAA,qBAAqB,EAAEH,qBANzB,CAOE;AAPF;AAQE,IAAA,oBAAoB,EAAE;AARxB,kBAUE,uDACE,oBAAC,qCAAD;AAA0B,IAAA,OAAO,EAAEG;AAAnC,kBACE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL+B,wBAAWC,YADN,EAELC,MAAM,CAACC,eAFF,EAGL;AAAEC,MAAAA,eAAe,EAAE1B,KAAK,CAAC2B,MAAN,CAAaC;AAAhC,KAHK;AADT,IADF,CADF,eAWE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAACN,wBAAWC,YAAZ,EAA0BC,MAAM,CAACK,SAAjC,CADT;AAEE,IAAA,aAAa,EAAC;AAFhB,kBAIE,oBAAC,iCAAD;AACE,IAAA,KAAK,EAAEL,MAAM,CAACM,YADhB;AAEE,IAAA,QAAQ,EAAE;AAFZ,kBAIE,oBAAC,qBAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CACLN,MAAM,CAACO,YADF,EAEL;AACEL,MAAAA,eAAe,EAAE1B,KAAK,CAACgC,IAAN,GACb,+BAAQ,EAAR,EAAYhC,KAAK,CAAC2B,MAAN,CAAaM,OAAzB,CADa,GAEbjC,KAAK,CAAC2B,MAAN,CAAaM,OAHnB;AAIEC,MAAAA,YAAY,EAAElC,KAAK,CAACmC;AAJtB,KAFK;AADT,kBAWE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEX,MAAM,CAACY;AAApB,kBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACZ,MAAM,CAAC7B,KAAR,EAAe;AAAE0C,MAAAA,KAAK,EAAErC,KAAK,CAAC2B,MAAN,CAAaW;AAAtB,KAAf;AAAb,KACG3C,KAAK,CAAC4C,WAAN,EADH,CADF,CAXF,eAgBE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEf,MAAM,CAACgB;AAApB,kBACE,oBAAC,mBAAD;AACE,IAAA,MAAM,EAAEzC,MADV;AAEE,IAAA,SAAS,EAAEE,SAFb;AAGE,IAAA,OAAO,EAAEM,OAHX;AAIE,IAAA,KAAK,EAAEG,UAJT;AAKE,IAAA,OAAO,EAAEG,YALX;AAME,IAAA,QAAQ,EAAEO,QANZ;AAOE,IAAA,YAAY,EAAEH;AAPhB,IADF,CAhBF,eA2BE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEO,MAAM,CAACiB;AAApB,kBACE,oBAAC,4BAAD;AACE,IAAA,IAAI,EAAEC,0BAAeC,6BAAkB1C,SAAlB,CAAf,CADR;AAEE,IAAA,OAAO,EAAE,MAAMC,YAAY,CAACyC,6BAAkB1C,SAAlB,CAAD,CAF7B;AAGE,IAAA,IAAI,EAAE,EAHR;AAIE,IAAA,KAAK,EAAEuB,MAAM,CAACoB,eAJhB;AAKE,IAAA,kBAAkB,EAAC,iBALrB,CAME;AANF;AAOE,IAAA,mBAAmB,EAAEC,SAPvB;AAQE,IAAA,oBAAoB,EAAEA;AARxB,IADF,eAWE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAErB,MAAM,CAACsB;AAApB,IAXF,eAYE,oBAAC,wBAAD;AAAQ,IAAA,OAAO,EAAEvD;AAAjB,KAA6BK,WAA7B,CAZF,eAaE,oBAAC,wBAAD;AACE,IAAA,OAAO,EAAE,MACPJ,SAAS,CAAC;AAAEC,MAAAA,KAAK,EAAEiB,UAAT;AAAqBhB,MAAAA,OAAO,EAAEmB;AAA9B,KAAD;AAFb,KAKGhB,YALH,CAbF,CA3BF,CAJF,CAJF,CAXF,CAVF,CADF;AAoFD;;AAED,SAASkB,UAAT,CAAoBrB,OAApB,EAAgE;AAC9D,SAAOA,OAAO,KAAKmD,SAAZ,IAAyBnD,OAAO,KAAK,IAArC,GACH,IAAIqD,IAAJ,GAAWhC,UAAX,EADG,GAEHrB,OAFJ;AAGD;;AACD,SAASkB,QAAT,CAAkBnB,KAAlB,EAA4D;AAC1D,SAAOA,KAAK,KAAKoD,SAAV,IAAuBpD,KAAK,KAAK,IAAjC,GAAwC,IAAIsD,IAAJ,GAAWnC,QAAX,EAAxC,GAAgEnB,KAAvE;AACD;;AAED,MAAM+B,MAAM,GAAGF,wBAAW0B,MAAX,CAAkB;AAC/BnB,EAAAA,SAAS,EAAE;AACToB,IAAAA,cAAc,EAAE,QADP;AAETC,IAAAA,UAAU,EAAE,QAFH;AAGTC,IAAAA,IAAI,EAAE;AAHG,GADoB;AAM/BrB,EAAAA,YAAY,EAAE;AACZmB,IAAAA,cAAc,EAAE,QADJ;AAEZC,IAAAA,UAAU,EAAE,QAFA;AAGZC,IAAAA,IAAI,EAAE;AAHM,GANiB;AAW/B1B,EAAAA,eAAe,EAAE;AACf0B,IAAAA,IAAI,EAAE;AADS,GAXc;AAc/BpB,EAAAA,YAAY,EAAE;AACZqB,IAAAA,WAAW,EAAE,MADD;AAEZC,IAAAA,YAAY,EAAE;AACZC,MAAAA,KAAK,EAAE,CADK;AAEZC,MAAAA,MAAM,EAAE;AAFI,KAFF;AAMZC,IAAAA,aAAa,EAAE,IANH;AAOZC,IAAAA,YAAY,EAAE,IAPF;AAQZC,IAAAA,SAAS,EAAE,EARC;AASZC,IAAAA,QAAQ,EAAE;AATE,GAdiB;AAyB/BvB,EAAAA,cAAc,EAAE;AACdmB,IAAAA,MAAM,EAAE,EADM;AAEdN,IAAAA,cAAc,EAAE,UAFF;AAGdW,IAAAA,WAAW,EAAE,EAHC;AAIdC,IAAAA,YAAY,EAAE;AAJA,GAzBe;AA+B/BlE,EAAAA,KAAK,EAAE;AACLmE,IAAAA,aAAa,EAAE,CADV;AAELC,IAAAA,QAAQ,EAAE;AAFL,GA/BwB;AAmC/BvB,EAAAA,mBAAmB,EAAE;AAAEwB,IAAAA,OAAO,EAAE;AAAX,GAnCU;AAoC/BvB,EAAAA,MAAM,EAAE;AACNwB,IAAAA,aAAa,EAAE,KADT;AAENf,IAAAA,UAAU,EAAE,QAFN;AAGNc,IAAAA,OAAO,EAAE;AAHH,GApCuB;AAyC/BpB,EAAAA,eAAe,EAAE;AAAEsB,IAAAA,MAAM,EAAE;AAAV,GAzCc;AA0C/BpB,EAAAA,IAAI,EAAE;AAAEK,IAAAA,IAAI,EAAE;AAAR;AA1CyB,CAAlB,CAAf;;4BA6CehD,KAAK,CAACgE,IAAN,CAAW9E,eAAX,C","sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n View,\n Text,\n Animated,\n TouchableWithoutFeedback,\n KeyboardAvoidingView,\n} from 'react-native'\n\nimport { Button, IconButton, overlay, useTheme } from 'react-native-paper'\nimport TimePicker from './TimePicker'\nimport {\n clockTypes,\n inputTypeIcons,\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n reverseInputTypes,\n} from './timeUtils'\n\nconst supportedOrientations: any[] = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nexport function TimePickerModal({\n visible,\n onDismiss,\n onConfirm,\n hours,\n minutes,\n label = 'Select time',\n cancelLabel = 'Cancel',\n confirmLabel = 'Ok',\n animationType = 'none',\n locale,\n}: {\n locale?: undefined | string\n label?: string\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}) {\n const theme = useTheme()\n\n const [inputType, setInputType] = React.useState<PossibleInputTypes>(\n inputTypes.picker\n )\n const [focused, setFocused] = React.useState<PossibleClockTypes>(\n clockTypes.hours\n )\n const [localHours, setLocalHours] = React.useState<number>(getHours(hours))\n const [localMinutes, setLocalMinutes] = React.useState<number>(\n getMinutes(minutes)\n )\n\n React.useEffect(() => {\n setLocalHours(getHours(hours))\n }, [setLocalHours, hours])\n\n React.useEffect(() => {\n setLocalMinutes(getMinutes(minutes))\n }, [setLocalMinutes, minutes])\n\n const onFocusInput = React.useCallback(\n (type: PossibleClockTypes) => setFocused(type),\n []\n )\n const onChange = React.useCallback(\n (params: {\n focused?: PossibleClockTypes | undefined\n hours: number\n minutes: number\n }) => {\n if (params.focused) {\n setFocused(params.focused)\n }\n\n setLocalHours(params.hours)\n setLocalMinutes(params.minutes)\n },\n [setFocused, setLocalHours, setLocalMinutes]\n )\n return (\n <Modal\n animationType={animationType}\n transparent={true}\n visible={visible}\n onRequestClose={onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <KeyboardAvoidingView\n style={styles.keyboardView}\n behavior={'padding'}\n >\n <Animated.View\n style={[\n styles.modalContent,\n {\n backgroundColor: theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <View style={styles.labelContainer}>\n <Text style={[styles.label, { color: theme.colors.text }]}>\n {label.toUpperCase()}\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={inputTypeIcons[reverseInputTypes[inputType]]}\n onPress={() => setInputType(reverseInputTypes[inputType])}\n size={24}\n style={styles.inputTypeToggle}\n accessibilityLabel=\"toggle keyboard\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <View style={styles.fill} />\n <Button onPress={onDismiss}>{cancelLabel}</Button>\n <Button\n onPress={() =>\n onConfirm({ hours: localHours, minutes: localMinutes })\n }\n >\n {confirmLabel}\n </Button>\n </View>\n </Animated.View>\n </KeyboardAvoidingView>\n </View>\n </>\n </Modal>\n )\n}\n\nfunction getMinutes(minutes: number | undefined | null): number {\n return minutes === undefined || minutes === null\n ? new Date().getMinutes()\n : minutes\n}\nfunction getHours(hours: number | undefined | null): number {\n return hours === undefined || hours === null ? new Date().getHours() : hours\n}\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n keyboardView: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 5,\n },\n shadowOpacity: 0.34,\n shadowRadius: 6.27,\n elevation: 10,\n minWidth: 287,\n },\n labelContainer: {\n height: 28,\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: { padding: 24 },\n bottom: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 8,\n },\n inputTypeToggle: { margin: 4 },\n fill: { flex: 1 },\n})\n\nexport default React.memo(TimePickerModal)\n"]}
1
+ {"version":3,"sources":["TimePickerModal.tsx"],"names":["supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","uppercase","cancelLabel","confirmLabel","animationType","locale","theme","inputType","setInputType","React","useState","inputTypes","picker","focused","setFocused","clockTypes","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","useEffect","onFocusInput","useCallback","type","onChange","params","StyleSheet","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","surface","borderRadius","roundness","labelContainer","color","text","toUpperCase","timePickerContainer","bottom","inputTypeIcons","reverseInputTypes","inputTypeToggle","undefined","fill","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minWidth","paddingLeft","paddingRight","letterSpacing","fontSize","padding","flexDirection","margin","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n View,\n Text,\n Animated,\n TouchableWithoutFeedback,\n KeyboardAvoidingView,\n} from 'react-native'\n\nimport { Button, IconButton, overlay, useTheme } from 'react-native-paper'\nimport TimePicker from './TimePicker'\nimport {\n clockTypes,\n inputTypeIcons,\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n reverseInputTypes,\n} from './timeUtils'\n\nconst supportedOrientations: any[] = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nexport function TimePickerModal({\n visible,\n onDismiss,\n onConfirm,\n hours,\n minutes,\n label = 'Select time',\n uppercase = true,\n cancelLabel = 'Cancel',\n confirmLabel = 'Ok',\n animationType = 'none',\n locale,\n}: {\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}) {\n const theme = useTheme()\n\n const [inputType, setInputType] = React.useState<PossibleInputTypes>(\n inputTypes.picker\n )\n const [focused, setFocused] = React.useState<PossibleClockTypes>(\n clockTypes.hours\n )\n const [localHours, setLocalHours] = React.useState<number>(getHours(hours))\n const [localMinutes, setLocalMinutes] = React.useState<number>(\n getMinutes(minutes)\n )\n\n React.useEffect(() => {\n setLocalHours(getHours(hours))\n }, [setLocalHours, hours])\n\n React.useEffect(() => {\n setLocalMinutes(getMinutes(minutes))\n }, [setLocalMinutes, minutes])\n\n const onFocusInput = React.useCallback(\n (type: PossibleClockTypes) => setFocused(type),\n []\n )\n const onChange = React.useCallback(\n (params: {\n focused?: PossibleClockTypes | undefined\n hours: number\n minutes: number\n }) => {\n if (params.focused) {\n setFocused(params.focused)\n }\n\n setLocalHours(params.hours)\n setLocalMinutes(params.minutes)\n },\n [setFocused, setLocalHours, setLocalMinutes]\n )\n return (\n <Modal\n animationType={animationType}\n transparent={true}\n visible={visible}\n onRequestClose={onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <KeyboardAvoidingView\n style={styles.keyboardView}\n behavior={'padding'}\n >\n <Animated.View\n style={[\n styles.modalContent,\n {\n backgroundColor: theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <View style={styles.labelContainer}>\n <Text style={[styles.label, { color: theme.colors.text }]}>\n {uppercase ? label.toUpperCase() : label}\n </Text>\n </View>\n <View style={styles.timePickerContainer}>\n <TimePicker\n locale={locale}\n inputType={inputType}\n focused={focused}\n hours={localHours}\n minutes={localMinutes}\n onChange={onChange}\n onFocusInput={onFocusInput}\n />\n </View>\n <View style={styles.bottom}>\n <IconButton\n icon={inputTypeIcons[reverseInputTypes[inputType]]}\n onPress={() => setInputType(reverseInputTypes[inputType])}\n size={24}\n style={styles.inputTypeToggle}\n accessibilityLabel=\"toggle keyboard\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <View style={styles.fill} />\n <Button onPress={onDismiss} uppercase={uppercase}>\n {cancelLabel}\n </Button>\n <Button\n onPress={() =>\n onConfirm({ hours: localHours, minutes: localMinutes })\n }\n uppercase={uppercase}\n >\n {confirmLabel}\n </Button>\n </View>\n </Animated.View>\n </KeyboardAvoidingView>\n </View>\n </>\n </Modal>\n )\n}\n\nfunction getMinutes(minutes: number | undefined | null): number {\n return minutes === undefined || minutes === null\n ? new Date().getMinutes()\n : minutes\n}\nfunction getHours(hours: number | undefined | null): number {\n return hours === undefined || hours === null ? new Date().getHours() : hours\n}\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n keyboardView: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 5,\n },\n shadowOpacity: 0.34,\n shadowRadius: 6.27,\n elevation: 10,\n minWidth: 287,\n },\n labelContainer: {\n height: 28,\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: { padding: 24 },\n bottom: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 8,\n },\n inputTypeToggle: { margin: 4 },\n fill: { flex: 1 },\n})\n\nexport default React.memo(TimePickerModal)\n"]}
@@ -105,8 +105,7 @@ const styles = StyleSheet.create({
105
105
  flexDirection: 'row',
106
106
  position: 'relative',
107
107
  alignItems: 'center',
108
- flexGrow: 1,
109
- alignSelf: 'flex-start'
108
+ flexGrow: 1
110
109
  },
111
110
  input: {
112
111
  flexGrow: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerInput.tsx"],"names":["React","TextInputWithMask","HelperText","IconButton","useTheme","View","StyleSheet","DatePickerModal","useDateInput","useLatest","DatePickerInput","ref","label","value","onChange","style","locale","validRange","inputMode","withModal","withDateFormatInLabel","rest","theme","formattedValue","inputFormat","onChangeText","error","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onInnerConfirm","date","current","styles","root","getLabel","dark","input","calendarButton","undefined","create","minWidth","flexDirection","position","alignItems","flexGrow","alignSelf","right","forwardRef"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, IconButton, TextInput, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport useDateInput from './inputUtils'\nimport type { ValidRangeType } from './Calendar'\nimport { useLatest } from '../utils'\n\nfunction DatePickerInput(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withModal = true,\n withDateFormatInLabel = true,\n ...rest\n }: Omit<React.ComponentProps<typeof TextInput>, 'value' | 'onChange'> & {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n },\n ref: any\n) {\n const theme = useTheme()\n const { formattedValue, inputFormat, onChangeText, error } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n })\n\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <>\n <View style={styles.root}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({ label, inputFormat, withDateFormatInLabel })}\n value={formattedValue}\n keyboardType={'number-pad'}\n placeholder={inputFormat}\n mask={inputFormat}\n onChangeText={onChangeText}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={!!error}\n style={[styles.input, style]}\n />\n {withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon=\"calendar\"\n onPress={() => setVisible(true)}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n\n {withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n />\n ) : null}\n </>\n )\n}\n\nfunction getLabel({\n withDateFormatInLabel,\n inputFormat,\n label,\n}: {\n withDateFormatInLabel: boolean\n inputFormat: string\n label: string | undefined\n}) {\n if (withDateFormatInLabel) {\n return label ? `${label} (${inputFormat})` : inputFormat\n }\n return label || ''\n}\n\nconst styles = StyleSheet.create({\n root: {\n minWidth: 150,\n flexDirection: 'row',\n position: 'relative',\n alignItems: 'center',\n flexGrow: 1,\n alignSelf: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n calendarButton: { position: 'absolute', right: 0 },\n})\nexport default React.forwardRef(DatePickerInput)\n"]}
1
+ {"version":3,"sources":["DatePickerInput.tsx"],"names":["React","TextInputWithMask","HelperText","IconButton","useTheme","View","StyleSheet","DatePickerModal","useDateInput","useLatest","DatePickerInput","ref","label","value","onChange","style","locale","validRange","inputMode","withModal","withDateFormatInLabel","rest","theme","formattedValue","inputFormat","onChangeText","error","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onInnerConfirm","date","current","styles","root","getLabel","dark","input","calendarButton","undefined","create","minWidth","flexDirection","position","alignItems","flexGrow","right","forwardRef"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, IconButton, TextInput, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport useDateInput from './inputUtils'\nimport type { ValidRangeType } from './Calendar'\nimport { useLatest } from '../utils'\n\nfunction DatePickerInput(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withModal = true,\n withDateFormatInLabel = true,\n ...rest\n }: {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n } & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n >,\n ref: any\n) {\n const theme = useTheme()\n const { formattedValue, inputFormat, onChangeText, error } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n })\n\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <>\n <View style={styles.root}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({ label, inputFormat, withDateFormatInLabel })}\n value={formattedValue}\n keyboardType={'number-pad'}\n placeholder={inputFormat}\n mask={inputFormat}\n onChangeText={onChangeText}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={!!error}\n style={[styles.input, style]}\n />\n {withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon=\"calendar\"\n onPress={() => setVisible(true)}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n\n {withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n />\n ) : null}\n </>\n )\n}\n\nfunction getLabel({\n withDateFormatInLabel,\n inputFormat,\n label,\n}: {\n withDateFormatInLabel: boolean\n inputFormat: string\n label: string | undefined\n}) {\n if (withDateFormatInLabel) {\n return label ? `${label} (${inputFormat})` : inputFormat\n }\n return label || ''\n}\n\nconst styles = StyleSheet.create({\n root: {\n minWidth: 150,\n flexDirection: 'row',\n position: 'relative',\n alignItems: 'center',\n flexGrow: 1,\n },\n input: {\n flexGrow: 1,\n },\n calendarButton: { position: 'absolute', right: 0 },\n})\nexport default React.forwardRef(DatePickerInput)\n"]}
@@ -6,6 +6,8 @@ import DatePickerModalContentHeader from './DatePickerModalContentHeader';
6
6
  import CalendarEdit from './CalendarEdit';
7
7
  import DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground';
8
8
  export function DatePickerModalContent(props) {
9
+ var _props$uppercase, _props$uppercase2;
10
+
9
11
  const {
10
12
  mode,
11
13
  onChange,
@@ -68,6 +70,7 @@ export function DatePickerModalContent(props) {
68
70
  onSave: onInnerConfirm,
69
71
  onDismiss: onDismiss,
70
72
  saveLabel: props.saveLabel,
73
+ uppercase: (_props$uppercase = props.uppercase) !== null && _props$uppercase !== void 0 ? _props$uppercase : true,
71
74
  disableSafeTop: disableSafeTop
72
75
  }), /*#__PURE__*/React.createElement(DatePickerModalContentHeader, {
73
76
  state: state,
@@ -80,6 +83,7 @@ export function DatePickerModalContent(props) {
80
83
  moreLabel: props.moreLabel,
81
84
  startLabel: props.startLabel,
82
85
  endLabel: props.endLabel,
86
+ uppercase: (_props$uppercase2 = props.uppercase) !== null && _props$uppercase2 !== void 0 ? _props$uppercase2 : true,
83
87
  locale: locale
84
88
  })), /*#__PURE__*/React.createElement(AnimatedCrossView, {
85
89
  collapsed: collapsed,
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalContent.tsx"],"names":["React","Calendar","AnimatedCrossView","DatePickerModalHeader","DatePickerModalContentHeader","CalendarEdit","DatePickerModalHeaderBackground","DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","anyProps","state","setState","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n disableSafeTop={disableSafeTop}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n locale={locale}\n />\n </DatePickerModalHeaderBackground>\n\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"]}
1
+ {"version":3,"sources":["DatePickerModalContent.tsx"],"names":["React","Calendar","AnimatedCrossView","DatePickerModalHeader","DatePickerModalContentHeader","CalendarEdit","DatePickerModalHeaderBackground","DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","anyProps","state","setState","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","uppercase","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n uppercase={props.uppercase ?? true}\n disableSafeTop={disableSafeTop}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n uppercase={props.uppercase ?? true}\n locale={locale}\n />\n </DatePickerModalHeaderBackground>\n\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"]}
@@ -32,7 +32,8 @@ export default function DatePickerModalContentHeader(props) {
32
32
  onToggle,
33
33
  collapsed,
34
34
  mode,
35
- moreLabel
35
+ moreLabel,
36
+ uppercase
36
37
  } = props;
37
38
  const label = getLabel(props.locale, props.mode, props.label);
38
39
  const color = useHeaderTextColor();
@@ -43,7 +44,7 @@ export default function DatePickerModalContentHeader(props) {
43
44
  style: [styles.label, {
44
45
  color
45
46
  }]
46
- }, label.toUpperCase()), /*#__PURE__*/React.createElement(View, {
47
+ }, uppercase ? label.toUpperCase() : label), /*#__PURE__*/React.createElement(View, {
47
48
  style: styles.headerContentContainer
48
49
  }, mode === 'range' ? /*#__PURE__*/React.createElement(HeaderContentRange, _extends({}, props, {
49
50
  color: color
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalContentHeader.tsx"],"names":["React","View","StyleSheet","IconButton","Text","useHeaderTextColor","Color","getTranslation","getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","undefined","HeaderContentSingle","state","emptyLabel","lighterColor","fade","rgb","toString","dateColor","date","formatter","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { IconButton, Text } from 'react-native-paper'\nimport type { ModeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\nimport { useHeaderTextColor } from '../utils'\nimport Color from 'color'\nimport { getTranslation } from '../translations/utils'\n\nexport interface HeaderPickProps {\n moreLabel?: string\n label?: string\n emptyLabel?: string\n saveLabel?: string\n headerSeparator?: string\n startLabel?: string\n endLabel?: string\n}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n}\n\nfunction getLabel(\n locale: string | undefined,\n mode: ModeType,\n configuredLabel?: string\n) {\n if (configuredLabel) {\n return configuredLabel\n }\n if (mode === 'range') {\n return getTranslation(locale, 'selectRange')\n }\n if (mode === 'multiple') {\n return getTranslation(locale, 'selectMultiple')\n }\n if (mode === 'single') {\n return getTranslation(locale, 'selectSingle')\n }\n return '...?'\n}\n\nexport default function DatePickerModalContentHeader(\n props: HeaderContentProps\n) {\n const { onToggle, collapsed, mode, moreLabel } = props\n\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color }]}>{label.toUpperCase()}</Text>\n\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={collapsed ? 'pencil' : 'calendar'}\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n color={color}\n onPress={onToggle}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate ? color : lighterColor\n const endColor = state.endDate ? color : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"]}
1
+ {"version":3,"sources":["DatePickerModalContentHeader.tsx"],"names":["React","View","StyleSheet","IconButton","Text","useHeaderTextColor","Color","getTranslation","getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","undefined","HeaderContentSingle","state","emptyLabel","lighterColor","fade","rgb","toString","dateColor","date","formatter","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { IconButton, Text } from 'react-native-paper'\nimport type { ModeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\nimport { useHeaderTextColor } from '../utils'\nimport Color from 'color'\nimport { getTranslation } from '../translations/utils'\n\nexport interface HeaderPickProps {\n moreLabel?: string\n label?: string\n emptyLabel?: string\n saveLabel?: string\n uppercase?: boolean\n headerSeparator?: string\n startLabel?: string\n endLabel?: string\n}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n}\n\nfunction getLabel(\n locale: string | undefined,\n mode: ModeType,\n configuredLabel?: string\n) {\n if (configuredLabel) {\n return configuredLabel\n }\n if (mode === 'range') {\n return getTranslation(locale, 'selectRange')\n }\n if (mode === 'multiple') {\n return getTranslation(locale, 'selectMultiple')\n }\n if (mode === 'single') {\n return getTranslation(locale, 'selectSingle')\n }\n return '...?'\n}\n\nexport default function DatePickerModalContentHeader(\n props: HeaderContentProps\n) {\n const { onToggle, collapsed, mode, moreLabel, uppercase } = props\n\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color }]}>\n {uppercase ? label.toUpperCase() : label}\n </Text>\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={collapsed ? 'pencil' : 'calendar'}\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n color={color}\n onPress={onToggle}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate ? color : lighterColor\n const endColor = state.endDate ? color : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"]}
@@ -4,6 +4,8 @@ import { Appbar, Button } from 'react-native-paper';
4
4
  import { useHeaderTextColor } from '../utils';
5
5
  import { getTranslation } from '../translations/utils';
6
6
  export default function DatePickerModalHeader(props) {
7
+ var _props$uppercase;
8
+
7
9
  const {
8
10
  disableSafeTop,
9
11
  locale
@@ -30,6 +32,7 @@ export default function DatePickerModalHeader(props) {
30
32
  }), /*#__PURE__*/React.createElement(Button, {
31
33
  color: color,
32
34
  onPress: props.onSave,
35
+ uppercase: (_props$uppercase = props.uppercase) !== null && _props$uppercase !== void 0 ? _props$uppercase : true,
33
36
  testID: "react-native-paper-dates-save"
34
37
  }, saveLabel)))));
35
38
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalHeader.tsx"],"names":["React","Animated","StyleSheet","SafeAreaView","Appbar","Button","useHeaderTextColor","getTranslation","DatePickerModalHeader","props","disableSafeTop","locale","saveLabel","color","styles","animated","safeContent","safeContentNoTop","appbarHeader","onDismiss","undefined","onSave","create","fill","flex","paddingBottom","elevation","paddingTop","header","height","alignItems","flexDirection","paddingLeft","paddingRight","headerContentContainer","marginTop","label","letterSpacing","fontSize","singleHeaderText","rangeHeaderText","headerTextFilled","headerTextEmpty","headerSeparator","backgroundColor"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, SafeAreaView } from 'react-native'\nimport { Appbar, Button } from 'react-native-paper'\n\nimport { useHeaderTextColor } from '../utils'\nimport { getTranslation } from '../translations/utils'\n\nexport interface DatePickerModalHeaderProps {\n disableSafeTop?: boolean\n saveLabel?: string\n onDismiss: () => void\n onSave: () => void\n locale: string | undefined\n}\n\nexport default function DatePickerModalHeader(\n props: DatePickerModalHeaderProps\n) {\n const { disableSafeTop, locale } = props\n const saveLabel = props.saveLabel || getTranslation(locale, 'save')\n const color = useHeaderTextColor()\n return (\n <>\n <Animated.View style={styles.animated}>\n <SafeAreaView\n style={[\n styles.safeContent,\n disableSafeTop && styles.safeContentNoTop,\n ]}\n >\n <Appbar style={styles.appbarHeader}>\n <Appbar.Action\n icon=\"close\"\n accessibilityLabel={getTranslation(locale, 'close')}\n onPress={props.onDismiss}\n color={color}\n testID=\"react-native-paper-dates-close\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <Appbar.Content title={''} />\n <Button\n color={color}\n onPress={props.onSave}\n testID=\"react-native-paper-dates-save\"\n >\n {saveLabel}\n </Button>\n </Appbar>\n </SafeAreaView>\n </Animated.View>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n safeContentNoTop: {\n paddingTop: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n headerTextFilled: { color: 'rgba(255,255,255,1)' },\n headerTextEmpty: { color: 'rgba(255,255,255,0.5)' },\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n backgroundColor: 'transparent',\n // alignItems:'center'\n },\n})\n"]}
1
+ {"version":3,"sources":["DatePickerModalHeader.tsx"],"names":["React","Animated","StyleSheet","SafeAreaView","Appbar","Button","useHeaderTextColor","getTranslation","DatePickerModalHeader","props","disableSafeTop","locale","saveLabel","color","styles","animated","safeContent","safeContentNoTop","appbarHeader","onDismiss","undefined","onSave","uppercase","create","fill","flex","paddingBottom","elevation","paddingTop","header","height","alignItems","flexDirection","paddingLeft","paddingRight","headerContentContainer","marginTop","label","letterSpacing","fontSize","singleHeaderText","rangeHeaderText","headerTextFilled","headerTextEmpty","headerSeparator","backgroundColor"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,UAAnB,EAA+BC,YAA/B,QAAmD,cAAnD;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,oBAA/B;AAEA,SAASC,kBAAT,QAAmC,UAAnC;AACA,SAASC,cAAT,QAA+B,uBAA/B;AAWA,eAAe,SAASC,qBAAT,CACbC,KADa,EAEb;AAAA;;AACA,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAA6BF,KAAnC;AACA,QAAMG,SAAS,GAAGH,KAAK,CAACG,SAAN,IAAmBL,cAAc,CAACI,MAAD,EAAS,MAAT,CAAnD;AACA,QAAME,KAAK,GAAGP,kBAAkB,EAAhC;AACA,sBACE,uDACE,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAEQ,MAAM,CAACC;AAA7B,kBACE,oBAAC,YAAD;AACE,IAAA,KAAK,EAAE,CACLD,MAAM,CAACE,WADF,EAELN,cAAc,IAAII,MAAM,CAACG,gBAFpB;AADT,kBAME,oBAAC,MAAD;AAAQ,IAAA,KAAK,EAAEH,MAAM,CAACI;AAAtB,kBACE,oBAAC,MAAD,CAAQ,MAAR;AACE,IAAA,IAAI,EAAC,OADP;AAEE,IAAA,kBAAkB,EAAEX,cAAc,CAACI,MAAD,EAAS,OAAT,CAFpC;AAGE,IAAA,OAAO,EAAEF,KAAK,CAACU,SAHjB;AAIE,IAAA,KAAK,EAAEN,KAJT;AAKE,IAAA,MAAM,EAAC,gCALT,CAME;AANF;AAOE,IAAA,mBAAmB,EAAEO,SAPvB;AAQE,IAAA,oBAAoB,EAAEA;AARxB,IADF,eAWE,oBAAC,MAAD,CAAQ,OAAR;AAAgB,IAAA,KAAK,EAAE;AAAvB,IAXF,eAYE,oBAAC,MAAD;AACE,IAAA,KAAK,EAAEP,KADT;AAEE,IAAA,OAAO,EAAEJ,KAAK,CAACY,MAFjB;AAGE,IAAA,SAAS,sBAAEZ,KAAK,CAACa,SAAR,+DAAqB,IAHhC;AAIE,IAAA,MAAM,EAAC;AAJT,KAMGV,SANH,CAZF,CANF,CADF,CADF,CADF;AAkCD;AAED,MAAME,MAAM,GAAGZ,UAAU,CAACqB,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE;AADF,GADyB;AAI/BV,EAAAA,QAAQ,EAAE;AACRW,IAAAA,aAAa,EAAE,CADP;AAERC,IAAAA,SAAS,EAAE;AAFH,GAJqB;AAQ/BX,EAAAA,WAAW,EAAE;AACXU,IAAAA,aAAa,EAAE;AADJ,GARkB;AAW/BT,EAAAA,gBAAgB,EAAE;AAChBW,IAAAA,UAAU,EAAE;AADI,GAXa;AAc/BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,EADF;AAENC,IAAAA,UAAU,EAAE,QAFN;AAGNC,IAAAA,aAAa,EAAE,KAHT;AAINC,IAAAA,WAAW,EAAE,EAJP;AAKNC,IAAAA,YAAY,EAAE;AALR,GAduB;AAqB/BC,EAAAA,sBAAsB,EAAE;AAAEC,IAAAA,SAAS,EAAE,CAAb;AAAgBJ,IAAAA,aAAa,EAAE;AAA/B,GArBO;AAsB/BK,EAAAA,KAAK,EAAE;AAAExB,IAAAA,KAAK,EAAE,MAAT;AAAiByB,IAAAA,aAAa,EAAE,CAAhC;AAAmCC,IAAAA,QAAQ,EAAE;AAA7C,GAtBwB;AAuB/BC,EAAAA,gBAAgB,EAAE;AAAE3B,IAAAA,KAAK,EAAE,MAAT;AAAiB0B,IAAAA,QAAQ,EAAE;AAA3B,GAvBa;AAwB/BE,EAAAA,eAAe,EAAE;AAAE5B,IAAAA,KAAK,EAAE,MAAT;AAAiB0B,IAAAA,QAAQ,EAAE;AAA3B,GAxBc;AAyB/BG,EAAAA,gBAAgB,EAAE;AAAE7B,IAAAA,KAAK,EAAE;AAAT,GAzBa;AA0B/B8B,EAAAA,eAAe,EAAE;AAAE9B,IAAAA,KAAK,EAAE;AAAT,GA1Bc;AA2B/B+B,EAAAA,eAAe,EAAE;AACf/B,IAAAA,KAAK,EAAE,qBADQ;AAEf0B,IAAAA,QAAQ,EAAE,EAFK;AAGfN,IAAAA,WAAW,EAAE,CAHE;AAIfC,IAAAA,YAAY,EAAE;AAJC,GA3Bc;AAiC/BhB,EAAAA,YAAY,EAAE;AACZS,IAAAA,SAAS,EAAE,CADC;AAEZkB,IAAAA,eAAe,EAAE,aAFL,CAGZ;;AAHY;AAjCiB,CAAlB,CAAf","sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, SafeAreaView } from 'react-native'\nimport { Appbar, Button } from 'react-native-paper'\n\nimport { useHeaderTextColor } from '../utils'\nimport { getTranslation } from '../translations/utils'\n\nexport interface DatePickerModalHeaderProps {\n disableSafeTop?: boolean\n saveLabel?: string\n uppercase?: boolean\n onDismiss: () => void\n onSave: () => void\n locale: string | undefined\n}\n\nexport default function DatePickerModalHeader(\n props: DatePickerModalHeaderProps\n) {\n const { disableSafeTop, locale } = props\n const saveLabel = props.saveLabel || getTranslation(locale, 'save')\n const color = useHeaderTextColor()\n return (\n <>\n <Animated.View style={styles.animated}>\n <SafeAreaView\n style={[\n styles.safeContent,\n disableSafeTop && styles.safeContentNoTop,\n ]}\n >\n <Appbar style={styles.appbarHeader}>\n <Appbar.Action\n icon=\"close\"\n accessibilityLabel={getTranslation(locale, 'close')}\n onPress={props.onDismiss}\n color={color}\n testID=\"react-native-paper-dates-close\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <Appbar.Content title={''} />\n <Button\n color={color}\n onPress={props.onSave}\n uppercase={props.uppercase ?? true}\n testID=\"react-native-paper-dates-save\"\n >\n {saveLabel}\n </Button>\n </Appbar>\n </SafeAreaView>\n </Animated.View>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n safeContentNoTop: {\n paddingTop: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n headerTextFilled: { color: 'rgba(255,255,255,1)' },\n headerTextEmpty: { color: 'rgba(255,255,255,0.5)' },\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n backgroundColor: 'transparent',\n // alignItems:'center'\n },\n})\n"]}
@@ -12,6 +12,7 @@ export function TimePickerModal(_ref) {
12
12
  hours,
13
13
  minutes,
14
14
  label = 'Select time',
15
+ uppercase = true,
15
16
  cancelLabel = 'Cancel',
16
17
  confirmLabel = 'Ok',
17
18
  animationType = 'none',
@@ -69,7 +70,7 @@ export function TimePickerModal(_ref) {
69
70
  style: [styles.label, {
70
71
  color: theme.colors.text
71
72
  }]
72
- }, label.toUpperCase())), /*#__PURE__*/React.createElement(View, {
73
+ }, uppercase ? label.toUpperCase() : label)), /*#__PURE__*/React.createElement(View, {
73
74
  style: styles.timePickerContainer
74
75
  }, /*#__PURE__*/React.createElement(TimePicker, {
75
76
  locale: locale,
@@ -93,12 +94,14 @@ export function TimePickerModal(_ref) {
93
94
  }), /*#__PURE__*/React.createElement(View, {
94
95
  style: styles.fill
95
96
  }), /*#__PURE__*/React.createElement(Button, {
96
- onPress: onDismiss
97
+ onPress: onDismiss,
98
+ uppercase: uppercase
97
99
  }, cancelLabel), /*#__PURE__*/React.createElement(Button, {
98
100
  onPress: () => onConfirm({
99
101
  hours: localHours,
100
102
  minutes: localMinutes
101
- })
103
+ }),
104
+ uppercase: uppercase
102
105
  }, confirmLabel)))))));
103
106
  }
104
107
 
@@ -1 +1 @@
1
- {"version":3,"sources":["TimePickerModal.tsx"],"names":["React","Modal","StyleSheet","View","Text","Animated","TouchableWithoutFeedback","KeyboardAvoidingView","Button","IconButton","overlay","useTheme","TimePicker","clockTypes","inputTypeIcons","inputTypes","reverseInputTypes","supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","cancelLabel","confirmLabel","animationType","locale","theme","inputType","setInputType","useState","picker","focused","setFocused","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","useEffect","onFocusInput","useCallback","type","onChange","params","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","surface","borderRadius","roundness","labelContainer","color","text","toUpperCase","timePickerContainer","bottom","inputTypeToggle","undefined","fill","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minWidth","paddingLeft","paddingRight","letterSpacing","fontSize","padding","flexDirection","margin","memo"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,KADF,EAEEC,UAFF,EAGEC,IAHF,EAIEC,IAJF,EAKEC,QALF,EAMEC,wBANF,EAOEC,oBAPF,QAQO,cARP;AAUA,SAASC,MAAT,EAAiBC,UAAjB,EAA6BC,OAA7B,EAAsCC,QAAtC,QAAsD,oBAAtD;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,SACEC,UADF,EAEEC,cAFF,EAGEC,UAHF,EAMEC,iBANF,QAOO,aAPP;AASA,MAAMC,qBAA4B,GAAG,CACnC,UADmC,EAEnC,sBAFmC,EAGnC,WAHmC,EAInC,gBAJmC,EAKnC,iBALmC,CAArC;AAQA,OAAO,SAASC,eAAT,OAsBJ;AAAA,MAtB6B;AAC9BC,IAAAA,OAD8B;AAE9BC,IAAAA,SAF8B;AAG9BC,IAAAA,SAH8B;AAI9BC,IAAAA,KAJ8B;AAK9BC,IAAAA,OAL8B;AAM9BC,IAAAA,KAAK,GAAG,aANsB;AAO9BC,IAAAA,WAAW,GAAG,QAPgB;AAQ9BC,IAAAA,YAAY,GAAG,IARe;AAS9BC,IAAAA,aAAa,GAAG,MATc;AAU9BC,IAAAA;AAV8B,GAsB7B;AACD,QAAMC,KAAK,GAAGlB,QAAQ,EAAtB;AAEA,QAAM,CAACmB,SAAD,EAAYC,YAAZ,IAA4B/B,KAAK,CAACgC,QAAN,CAChCjB,UAAU,CAACkB,MADqB,CAAlC;AAGA,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBnC,KAAK,CAACgC,QAAN,CAC5BnB,UAAU,CAACS,KADiB,CAA9B;AAGA,QAAM,CAACc,UAAD,EAAaC,aAAb,IAA8BrC,KAAK,CAACgC,QAAN,CAAuBM,QAAQ,CAAChB,KAAD,CAA/B,CAApC;AACA,QAAM,CAACiB,YAAD,EAAeC,eAAf,IAAkCxC,KAAK,CAACgC,QAAN,CACtCS,UAAU,CAAClB,OAAD,CAD4B,CAAxC;AAIAvB,EAAAA,KAAK,CAAC0C,SAAN,CAAgB,MAAM;AACpBL,IAAAA,aAAa,CAACC,QAAQ,CAAChB,KAAD,CAAT,CAAb;AACD,GAFD,EAEG,CAACe,aAAD,EAAgBf,KAAhB,CAFH;AAIAtB,EAAAA,KAAK,CAAC0C,SAAN,CAAgB,MAAM;AACpBF,IAAAA,eAAe,CAACC,UAAU,CAAClB,OAAD,CAAX,CAAf;AACD,GAFD,EAEG,CAACiB,eAAD,EAAkBjB,OAAlB,CAFH;AAIA,QAAMoB,YAAY,GAAG3C,KAAK,CAAC4C,WAAN,CAClBC,IAAD,IAA8BV,UAAU,CAACU,IAAD,CADrB,EAEnB,EAFmB,CAArB;AAIA,QAAMC,QAAQ,GAAG9C,KAAK,CAAC4C,WAAN,CACdG,MAAD,IAIM;AACJ,QAAIA,MAAM,CAACb,OAAX,EAAoB;AAClBC,MAAAA,UAAU,CAACY,MAAM,CAACb,OAAR,CAAV;AACD;;AAEDG,IAAAA,aAAa,CAACU,MAAM,CAACzB,KAAR,CAAb;AACAkB,IAAAA,eAAe,CAACO,MAAM,CAACxB,OAAR,CAAf;AACD,GAZc,EAaf,CAACY,UAAD,EAAaE,aAAb,EAA4BG,eAA5B,CAbe,CAAjB;AAeA,sBACE,oBAAC,KAAD;AACE,IAAA,aAAa,EAAEb,aADjB;AAEE,IAAA,WAAW,EAAE,IAFf;AAGE,IAAA,OAAO,EAAER,OAHX;AAIE,IAAA,cAAc,EAAEC,SAJlB;AAKE,IAAA,iBAAiB,EAAC,gBALpB;AAME,IAAA,qBAAqB,EAAEH,qBANzB,CAOE;AAPF;AAQE,IAAA,oBAAoB,EAAE;AARxB,kBAUE,uDACE,oBAAC,wBAAD;AAA0B,IAAA,OAAO,EAAEG;AAAnC,kBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACLlB,UAAU,CAAC8C,YADN,EAELC,MAAM,CAACC,eAFF,EAGL;AAAEC,MAAAA,eAAe,EAAEtB,KAAK,CAACuB,MAAN,CAAaC;AAAhC,KAHK;AADT,IADF,CADF,eAWE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CAACnD,UAAU,CAAC8C,YAAZ,EAA0BC,MAAM,CAACK,SAAjC,CADT;AAEE,IAAA,aAAa,EAAC;AAFhB,kBAIE,oBAAC,oBAAD;AACE,IAAA,KAAK,EAAEL,MAAM,CAACM,YADhB;AAEE,IAAA,QAAQ,EAAE;AAFZ,kBAIE,oBAAC,QAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CACLN,MAAM,CAACO,YADF,EAEL;AACEL,MAAAA,eAAe,EAAEtB,KAAK,CAAC4B,IAAN,GACb/C,OAAO,CAAC,EAAD,EAAKmB,KAAK,CAACuB,MAAN,CAAaM,OAAlB,CADM,GAEb7B,KAAK,CAACuB,MAAN,CAAaM,OAHnB;AAIEC,MAAAA,YAAY,EAAE9B,KAAK,CAAC+B;AAJtB,KAFK;AADT,kBAWE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEX,MAAM,CAACY;AAApB,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACZ,MAAM,CAACzB,KAAR,EAAe;AAAEsC,MAAAA,KAAK,EAAEjC,KAAK,CAACuB,MAAN,CAAaW;AAAtB,KAAf;AAAb,KACGvC,KAAK,CAACwC,WAAN,EADH,CADF,CAXF,eAgBE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEf,MAAM,CAACgB;AAApB,kBACE,oBAAC,UAAD;AACE,IAAA,MAAM,EAAErC,MADV;AAEE,IAAA,SAAS,EAAEE,SAFb;AAGE,IAAA,OAAO,EAAEI,OAHX;AAIE,IAAA,KAAK,EAAEE,UAJT;AAKE,IAAA,OAAO,EAAEG,YALX;AAME,IAAA,QAAQ,EAAEO,QANZ;AAOE,IAAA,YAAY,EAAEH;AAPhB,IADF,CAhBF,eA2BE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEM,MAAM,CAACiB;AAApB,kBACE,oBAAC,UAAD;AACE,IAAA,IAAI,EAAEpD,cAAc,CAACE,iBAAiB,CAACc,SAAD,CAAlB,CADtB;AAEE,IAAA,OAAO,EAAE,MAAMC,YAAY,CAACf,iBAAiB,CAACc,SAAD,CAAlB,CAF7B;AAGE,IAAA,IAAI,EAAE,EAHR;AAIE,IAAA,KAAK,EAAEmB,MAAM,CAACkB,eAJhB;AAKE,IAAA,kBAAkB,EAAC,iBALrB,CAME;AANF;AAOE,IAAA,mBAAmB,EAAEC,SAPvB;AAQE,IAAA,oBAAoB,EAAEA;AARxB,IADF,eAWE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEnB,MAAM,CAACoB;AAApB,IAXF,eAYE,oBAAC,MAAD;AAAQ,IAAA,OAAO,EAAEjD;AAAjB,KAA6BK,WAA7B,CAZF,eAaE,oBAAC,MAAD;AACE,IAAA,OAAO,EAAE,MACPJ,SAAS,CAAC;AAAEC,MAAAA,KAAK,EAAEc,UAAT;AAAqBb,MAAAA,OAAO,EAAEgB;AAA9B,KAAD;AAFb,KAKGb,YALH,CAbF,CA3BF,CAJF,CAJF,CAXF,CAVF,CADF;AAoFD;;AAED,SAASe,UAAT,CAAoBlB,OAApB,EAAgE;AAC9D,SAAOA,OAAO,KAAK6C,SAAZ,IAAyB7C,OAAO,KAAK,IAArC,GACH,IAAI+C,IAAJ,GAAW7B,UAAX,EADG,GAEHlB,OAFJ;AAGD;;AACD,SAASe,QAAT,CAAkBhB,KAAlB,EAA4D;AAC1D,SAAOA,KAAK,KAAK8C,SAAV,IAAuB9C,KAAK,KAAK,IAAjC,GAAwC,IAAIgD,IAAJ,GAAWhC,QAAX,EAAxC,GAAgEhB,KAAvE;AACD;;AAED,MAAM2B,MAAM,GAAG/C,UAAU,CAACqE,MAAX,CAAkB;AAC/BjB,EAAAA,SAAS,EAAE;AACTkB,IAAAA,cAAc,EAAE,QADP;AAETC,IAAAA,UAAU,EAAE,QAFH;AAGTC,IAAAA,IAAI,EAAE;AAHG,GADoB;AAM/BnB,EAAAA,YAAY,EAAE;AACZiB,IAAAA,cAAc,EAAE,QADJ;AAEZC,IAAAA,UAAU,EAAE,QAFA;AAGZC,IAAAA,IAAI,EAAE;AAHM,GANiB;AAW/BxB,EAAAA,eAAe,EAAE;AACfwB,IAAAA,IAAI,EAAE;AADS,GAXc;AAc/BlB,EAAAA,YAAY,EAAE;AACZmB,IAAAA,WAAW,EAAE,MADD;AAEZC,IAAAA,YAAY,EAAE;AACZC,MAAAA,KAAK,EAAE,CADK;AAEZC,MAAAA,MAAM,EAAE;AAFI,KAFF;AAMZC,IAAAA,aAAa,EAAE,IANH;AAOZC,IAAAA,YAAY,EAAE,IAPF;AAQZC,IAAAA,SAAS,EAAE,EARC;AASZC,IAAAA,QAAQ,EAAE;AATE,GAdiB;AAyB/BrB,EAAAA,cAAc,EAAE;AACdiB,IAAAA,MAAM,EAAE,EADM;AAEdN,IAAAA,cAAc,EAAE,UAFF;AAGdW,IAAAA,WAAW,EAAE,EAHC;AAIdC,IAAAA,YAAY,EAAE;AAJA,GAzBe;AA+B/B5D,EAAAA,KAAK,EAAE;AACL6D,IAAAA,aAAa,EAAE,CADV;AAELC,IAAAA,QAAQ,EAAE;AAFL,GA/BwB;AAmC/BrB,EAAAA,mBAAmB,EAAE;AAAEsB,IAAAA,OAAO,EAAE;AAAX,GAnCU;AAoC/BrB,EAAAA,MAAM,EAAE;AACNsB,IAAAA,aAAa,EAAE,KADT;AAENf,IAAAA,UAAU,EAAE,QAFN;AAGNc,IAAAA,OAAO,EAAE;AAHH,GApCuB;AAyC/BpB,EAAAA,eAAe,EAAE;AAAEsB,IAAAA,MAAM,EAAE;AAAV,GAzCc;AA0C/BpB,EAAAA,IAAI,EAAE;AAAEK,IAAAA,IAAI,EAAE;AAAR;AA1CyB,CAAlB,CAAf;AA6CA,4BAAe1E,KAAK,CAAC0F,IAAN,CAAWxE,eAAX,CAAf","sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n View,\n Text,\n Animated,\n TouchableWithoutFeedback,\n KeyboardAvoidingView,\n} from 'react-native'\n\nimport { Button, IconButton, overlay, useTheme } from 'react-native-paper'\nimport TimePicker from './TimePicker'\nimport {\n clockTypes,\n inputTypeIcons,\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n reverseInputTypes,\n} from './timeUtils'\n\nconst supportedOrientations: any[] = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nexport function TimePickerModal({\n visible,\n onDismiss,\n onConfirm,\n hours,\n minutes,\n label = 'Select time',\n cancelLabel = 'Cancel',\n confirmLabel = 'Ok',\n animationType = 'none',\n locale,\n}: {\n locale?: undefined | string\n label?: string\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}) {\n const theme = useTheme()\n\n const [inputType, setInputType] = React.useState<PossibleInputTypes>(\n inputTypes.picker\n )\n const [focused, setFocused] = React.useState<PossibleClockTypes>(\n clockTypes.hours\n )\n const [localHours, setLocalHours] = React.useState<number>(getHours(hours))\n const [localMinutes, setLocalMinutes] = React.useState<number>(\n getMinutes(minutes)\n )\n\n React.useEffect(() => {\n setLocalHours(getHours(hours))\n }, [setLocalHours, hours])\n\n React.useEffect(() => {\n setLocalMinutes(getMinutes(minutes))\n }, [setLocalMinutes, minutes])\n\n const onFocusInput = React.useCallback(\n (type: PossibleClockTypes) => setFocused(type),\n []\n )\n const onChange = React.useCallback(\n (params: {\n focused?: PossibleClockTypes | undefined\n hours: number\n minutes: number\n }) => {\n if (params.focused) {\n setFocused(params.focused)\n }\n\n setLocalHours(params.hours)\n setLocalMinutes(params.minutes)\n },\n [setFocused, setLocalHours, setLocalMinutes]\n )\n return (\n <Modal\n animationType={animationType}\n transparent={true}\n visible={visible}\n onRequestClose={onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <KeyboardAvoidingView\n style={styles.keyboardView}\n behavior={'padding'}\n >\n <Animated.View\n style={[\n styles.modalContent,\n {\n backgroundColor: theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <View style={styles.labelContainer}>\n <Text style={[styles.label, { color: theme.colors.text }]}>\n {label.toUpperCase()}\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={inputTypeIcons[reverseInputTypes[inputType]]}\n onPress={() => setInputType(reverseInputTypes[inputType])}\n size={24}\n style={styles.inputTypeToggle}\n accessibilityLabel=\"toggle keyboard\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <View style={styles.fill} />\n <Button onPress={onDismiss}>{cancelLabel}</Button>\n <Button\n onPress={() =>\n onConfirm({ hours: localHours, minutes: localMinutes })\n }\n >\n {confirmLabel}\n </Button>\n </View>\n </Animated.View>\n </KeyboardAvoidingView>\n </View>\n </>\n </Modal>\n )\n}\n\nfunction getMinutes(minutes: number | undefined | null): number {\n return minutes === undefined || minutes === null\n ? new Date().getMinutes()\n : minutes\n}\nfunction getHours(hours: number | undefined | null): number {\n return hours === undefined || hours === null ? new Date().getHours() : hours\n}\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n keyboardView: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 5,\n },\n shadowOpacity: 0.34,\n shadowRadius: 6.27,\n elevation: 10,\n minWidth: 287,\n },\n labelContainer: {\n height: 28,\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: { padding: 24 },\n bottom: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 8,\n },\n inputTypeToggle: { margin: 4 },\n fill: { flex: 1 },\n})\n\nexport default React.memo(TimePickerModal)\n"]}
1
+ {"version":3,"sources":["TimePickerModal.tsx"],"names":["React","Modal","StyleSheet","View","Text","Animated","TouchableWithoutFeedback","KeyboardAvoidingView","Button","IconButton","overlay","useTheme","TimePicker","clockTypes","inputTypeIcons","inputTypes","reverseInputTypes","supportedOrientations","TimePickerModal","visible","onDismiss","onConfirm","hours","minutes","label","uppercase","cancelLabel","confirmLabel","animationType","locale","theme","inputType","setInputType","useState","picker","focused","setFocused","localHours","setLocalHours","getHours","localMinutes","setLocalMinutes","getMinutes","useEffect","onFocusInput","useCallback","type","onChange","params","absoluteFill","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","keyboardView","modalContent","dark","surface","borderRadius","roundness","labelContainer","color","text","toUpperCase","timePickerContainer","bottom","inputTypeToggle","undefined","fill","Date","create","justifyContent","alignItems","flex","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minWidth","paddingLeft","paddingRight","letterSpacing","fontSize","padding","flexDirection","margin","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n View,\n Text,\n Animated,\n TouchableWithoutFeedback,\n KeyboardAvoidingView,\n} from 'react-native'\n\nimport { Button, IconButton, overlay, useTheme } from 'react-native-paper'\nimport TimePicker from './TimePicker'\nimport {\n clockTypes,\n inputTypeIcons,\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n reverseInputTypes,\n} from './timeUtils'\n\nconst supportedOrientations: any[] = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nexport function TimePickerModal({\n visible,\n onDismiss,\n onConfirm,\n hours,\n minutes,\n label = 'Select time',\n uppercase = true,\n cancelLabel = 'Cancel',\n confirmLabel = 'Ok',\n animationType = 'none',\n locale,\n}: {\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}) {\n const theme = useTheme()\n\n const [inputType, setInputType] = React.useState<PossibleInputTypes>(\n inputTypes.picker\n )\n const [focused, setFocused] = React.useState<PossibleClockTypes>(\n clockTypes.hours\n )\n const [localHours, setLocalHours] = React.useState<number>(getHours(hours))\n const [localMinutes, setLocalMinutes] = React.useState<number>(\n getMinutes(minutes)\n )\n\n React.useEffect(() => {\n setLocalHours(getHours(hours))\n }, [setLocalHours, hours])\n\n React.useEffect(() => {\n setLocalMinutes(getMinutes(minutes))\n }, [setLocalMinutes, minutes])\n\n const onFocusInput = React.useCallback(\n (type: PossibleClockTypes) => setFocused(type),\n []\n )\n const onChange = React.useCallback(\n (params: {\n focused?: PossibleClockTypes | undefined\n hours: number\n minutes: number\n }) => {\n if (params.focused) {\n setFocused(params.focused)\n }\n\n setLocalHours(params.hours)\n setLocalMinutes(params.minutes)\n },\n [setFocused, setLocalHours, setLocalMinutes]\n )\n return (\n <Modal\n animationType={animationType}\n transparent={true}\n visible={visible}\n onRequestClose={onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <KeyboardAvoidingView\n style={styles.keyboardView}\n behavior={'padding'}\n >\n <Animated.View\n style={[\n styles.modalContent,\n {\n backgroundColor: theme.dark\n ? overlay(10, theme.colors.surface)\n : theme.colors.surface,\n borderRadius: theme.roundness,\n },\n ]}\n >\n <View style={styles.labelContainer}>\n <Text style={[styles.label, { color: theme.colors.text }]}>\n {uppercase ? label.toUpperCase() : label}\n </Text>\n </View>\n <View style={styles.timePickerContainer}>\n <TimePicker\n locale={locale}\n inputType={inputType}\n focused={focused}\n hours={localHours}\n minutes={localMinutes}\n onChange={onChange}\n onFocusInput={onFocusInput}\n />\n </View>\n <View style={styles.bottom}>\n <IconButton\n icon={inputTypeIcons[reverseInputTypes[inputType]]}\n onPress={() => setInputType(reverseInputTypes[inputType])}\n size={24}\n style={styles.inputTypeToggle}\n accessibilityLabel=\"toggle keyboard\"\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n <View style={styles.fill} />\n <Button onPress={onDismiss} uppercase={uppercase}>\n {cancelLabel}\n </Button>\n <Button\n onPress={() =>\n onConfirm({ hours: localHours, minutes: localMinutes })\n }\n uppercase={uppercase}\n >\n {confirmLabel}\n </Button>\n </View>\n </Animated.View>\n </KeyboardAvoidingView>\n </View>\n </>\n </Modal>\n )\n}\n\nfunction getMinutes(minutes: number | undefined | null): number {\n return minutes === undefined || minutes === null\n ? new Date().getMinutes()\n : minutes\n}\nfunction getHours(hours: number | undefined | null): number {\n return hours === undefined || hours === null ? new Date().getHours() : hours\n}\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n keyboardView: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 5,\n },\n shadowOpacity: 0.34,\n shadowRadius: 6.27,\n elevation: 10,\n minWidth: 287,\n },\n labelContainer: {\n height: 28,\n justifyContent: 'flex-end',\n paddingLeft: 24,\n paddingRight: 24,\n },\n label: {\n letterSpacing: 1,\n fontSize: 13,\n },\n timePickerContainer: { padding: 24 },\n bottom: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 8,\n },\n inputTypeToggle: { margin: 4 },\n fill: { flex: 1 },\n})\n\nexport default React.memo(TimePickerModal)\n"]}
@@ -1,12 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { ValidRangeType } from './Calendar';
3
- declare const _default: React.ForwardRefExoticComponent<Pick<Omit<(Pick<import("react-native-paper/lib/typescript/components/TextInput/TextInput").TextInputProps, "allowFontScaling" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "keyboardType" | "maxLength" | "multiline" | "onBlur" | "onChange" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onPressIn" | "onPressOut" | "onFocus" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "onScroll" | "onKeyPress" | "placeholder" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "selectionColor" | "style" | "textAlign" | "testID" | "inputAccessoryViewID" | "value" | "maxFontSizeMultiplier" | "hitSlop" | "onLayout" | "pointerEvents" | "removeClippedSubviews" | "nativeID" | "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" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "spellCheck" | "textContentType" | "scrollEnabled" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "numberOfLines" | "returnKeyLabel" | "textBreakStrategy" | "underlineColorAndroid" | "textAlignVertical" | "showSoftInputOnFocus" | "ref" | "label" | "key" | "render" | "left" | "right" | "disabled" | "mode" | "error" | "autoCompleteType" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "dense"> & {
4
- theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
5
- }) | (Pick<import("react-native-paper/lib/typescript/components/TextInput/TextInput").TextInputProps, "allowFontScaling" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "keyboardType" | "maxLength" | "multiline" | "onBlur" | "onChange" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onPressIn" | "onPressOut" | "onFocus" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "onScroll" | "onKeyPress" | "placeholder" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "selectionColor" | "style" | "textAlign" | "testID" | "inputAccessoryViewID" | "value" | "maxFontSizeMultiplier" | "hitSlop" | "onLayout" | "pointerEvents" | "removeClippedSubviews" | "nativeID" | "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" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "spellCheck" | "textContentType" | "scrollEnabled" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "numberOfLines" | "returnKeyLabel" | "textBreakStrategy" | "underlineColorAndroid" | "textAlignVertical" | "showSoftInputOnFocus" | "ref" | "label" | "key" | "render" | "left" | "right" | "disabled" | "mode" | "error" | "autoCompleteType" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "dense"> & {
6
- theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
7
- } & {
8
- children?: React.ReactNode;
9
- }), "onChange" | "value"> & {
3
+ declare const _default: React.ForwardRefExoticComponent<Pick<{
10
4
  inputMode: "end" | "start";
11
5
  locale: string;
12
6
  onChange: (date: Date | undefined) => void;
@@ -14,5 +8,11 @@ declare const _default: React.ForwardRefExoticComponent<Pick<Omit<(Pick<import("
14
8
  validRange?: ValidRangeType | undefined;
15
9
  withModal?: boolean | undefined;
16
10
  withDateFormatInLabel?: boolean | undefined;
17
- }, "allowFontScaling" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "keyboardType" | "maxLength" | "multiline" | "onBlur" | "onChange" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onPressIn" | "onPressOut" | "onFocus" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "onScroll" | "onKeyPress" | "placeholder" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "selectionColor" | "style" | "textAlign" | "testID" | "inputAccessoryViewID" | "value" | "maxFontSizeMultiplier" | "hitSlop" | "onLayout" | "pointerEvents" | "removeClippedSubviews" | "nativeID" | "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" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "spellCheck" | "textContentType" | "scrollEnabled" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "numberOfLines" | "returnKeyLabel" | "textBreakStrategy" | "underlineColorAndroid" | "textAlignVertical" | "showSoftInputOnFocus" | "label" | "key" | "render" | "left" | "right" | "disabled" | "mode" | "error" | "autoCompleteType" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "dense" | "theme" | "locale" | "validRange" | "inputMode" | "withModal" | "withDateFormatInLabel"> & React.RefAttributes<unknown>>;
11
+ } & Omit<(Pick<import("react-native-paper/lib/typescript/components/TextInput/TextInput").TextInputProps, "allowFontScaling" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "keyboardType" | "maxLength" | "multiline" | "onBlur" | "onChange" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onPressIn" | "onPressOut" | "onFocus" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "onScroll" | "onKeyPress" | "placeholder" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "selectionColor" | "style" | "textAlign" | "testID" | "inputAccessoryViewID" | "value" | "maxFontSizeMultiplier" | "hitSlop" | "onLayout" | "pointerEvents" | "removeClippedSubviews" | "nativeID" | "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" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "spellCheck" | "textContentType" | "scrollEnabled" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "numberOfLines" | "returnKeyLabel" | "textBreakStrategy" | "underlineColorAndroid" | "textAlignVertical" | "showSoftInputOnFocus" | "ref" | "label" | "key" | "render" | "left" | "right" | "disabled" | "mode" | "error" | "autoCompleteType" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "dense"> & {
12
+ theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
13
+ }) | (Pick<import("react-native-paper/lib/typescript/components/TextInput/TextInput").TextInputProps, "allowFontScaling" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "keyboardType" | "maxLength" | "multiline" | "onBlur" | "onChange" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onPressIn" | "onPressOut" | "onFocus" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "onScroll" | "onKeyPress" | "placeholder" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "selectionColor" | "style" | "textAlign" | "testID" | "inputAccessoryViewID" | "value" | "maxFontSizeMultiplier" | "hitSlop" | "onLayout" | "pointerEvents" | "removeClippedSubviews" | "nativeID" | "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" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "spellCheck" | "textContentType" | "scrollEnabled" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "numberOfLines" | "returnKeyLabel" | "textBreakStrategy" | "underlineColorAndroid" | "textAlignVertical" | "showSoftInputOnFocus" | "ref" | "label" | "key" | "render" | "left" | "right" | "disabled" | "mode" | "error" | "autoCompleteType" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "dense"> & {
14
+ theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
15
+ } & {
16
+ children?: React.ReactNode;
17
+ }), "onChange" | "onChangeText" | "value">, "allowFontScaling" | "autoCapitalize" | "autoCorrect" | "autoFocus" | "blurOnSubmit" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "keyboardType" | "maxLength" | "multiline" | "onBlur" | "onChange" | "onContentSizeChange" | "onEndEditing" | "onPressIn" | "onPressOut" | "onFocus" | "onSelectionChange" | "onSubmitEditing" | "onTextInput" | "onScroll" | "onKeyPress" | "placeholder" | "placeholderTextColor" | "returnKeyType" | "secureTextEntry" | "selectTextOnFocus" | "selection" | "selectionColor" | "style" | "textAlign" | "testID" | "inputAccessoryViewID" | "value" | "maxFontSizeMultiplier" | "hitSlop" | "onLayout" | "pointerEvents" | "removeClippedSubviews" | "nativeID" | "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" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "selectionState" | "spellCheck" | "textContentType" | "scrollEnabled" | "importantForAutofill" | "disableFullscreenUI" | "inlineImageLeft" | "inlineImagePadding" | "numberOfLines" | "returnKeyLabel" | "textBreakStrategy" | "underlineColorAndroid" | "textAlignVertical" | "showSoftInputOnFocus" | "label" | "key" | "render" | "left" | "right" | "disabled" | "mode" | "error" | "autoCompleteType" | "underlineColor" | "activeUnderlineColor" | "outlineColor" | "activeOutlineColor" | "dense" | "theme" | "locale" | "validRange" | "inputMode" | "withModal" | "withDateFormatInLabel"> & React.RefAttributes<unknown>>;
18
18
  export default _default;
@@ -5,6 +5,7 @@ export interface HeaderPickProps {
5
5
  label?: string;
6
6
  emptyLabel?: string;
7
7
  saveLabel?: string;
8
+ uppercase?: boolean;
8
9
  headerSeparator?: string;
9
10
  startLabel?: string;
10
11
  endLabel?: string;
@@ -1,6 +1,7 @@
1
1
  export interface DatePickerModalHeaderProps {
2
2
  disableSafeTop?: boolean;
3
3
  saveLabel?: string;
4
+ uppercase?: boolean;
4
5
  onDismiss: () => void;
5
6
  onSave: () => void;
6
7
  locale: string | undefined;
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
- export declare function TimePickerModal({ visible, onDismiss, onConfirm, hours, minutes, label, cancelLabel, confirmLabel, animationType, locale, }: {
2
+ export declare function TimePickerModal({ visible, onDismiss, onConfirm, hours, minutes, label, uppercase, cancelLabel, confirmLabel, animationType, locale, }: {
3
3
  locale?: undefined | string;
4
4
  label?: string;
5
+ uppercase?: boolean;
5
6
  cancelLabel?: string;
6
7
  confirmLabel?: string;
7
8
  hours?: number | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-paper-dates",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Performant Date Picker for React Native Paper",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -20,7 +20,7 @@ function DatePickerInput(
20
20
  withModal = true,
21
21
  withDateFormatInLabel = true,
22
22
  ...rest
23
- }: Omit<React.ComponentProps<typeof TextInput>, 'value' | 'onChange'> & {
23
+ }: {
24
24
  inputMode: 'start' | 'end'
25
25
  locale: string
26
26
  onChange: (date: Date | undefined) => void
@@ -28,7 +28,10 @@ function DatePickerInput(
28
28
  validRange?: ValidRangeType | undefined
29
29
  withModal?: boolean
30
30
  withDateFormatInLabel?: boolean
31
- },
31
+ } & Omit<
32
+ React.ComponentProps<typeof TextInput>,
33
+ 'value' | 'onChange' | 'onChangeText'
34
+ >,
32
35
  ref: any
33
36
  ) {
34
37
  const theme = useTheme()
@@ -122,7 +125,6 @@ const styles = StyleSheet.create({
122
125
  position: 'relative',
123
126
  alignItems: 'center',
124
127
  flexGrow: 1,
125
- alignSelf: 'flex-start',
126
128
  },
127
129
  input: {
128
130
  flexGrow: 1,
@@ -142,6 +142,7 @@ export function DatePickerModalContent(
142
142
  onSave={onInnerConfirm}
143
143
  onDismiss={onDismiss}
144
144
  saveLabel={props.saveLabel}
145
+ uppercase={props.uppercase ?? true}
145
146
  disableSafeTop={disableSafeTop}
146
147
  />
147
148
  <DatePickerModalContentHeader
@@ -155,6 +156,7 @@ export function DatePickerModalContent(
155
156
  moreLabel={props.moreLabel}
156
157
  startLabel={props.startLabel}
157
158
  endLabel={props.endLabel}
159
+ uppercase={props.uppercase ?? true}
158
160
  locale={locale}
159
161
  />
160
162
  </DatePickerModalHeaderBackground>
@@ -12,6 +12,7 @@ export interface HeaderPickProps {
12
12
  label?: string
13
13
  emptyLabel?: string
14
14
  saveLabel?: string
15
+ uppercase?: boolean
15
16
  headerSeparator?: string
16
17
  startLabel?: string
17
18
  endLabel?: string
@@ -48,7 +49,7 @@ function getLabel(
48
49
  export default function DatePickerModalContentHeader(
49
50
  props: HeaderContentProps
50
51
  ) {
51
- const { onToggle, collapsed, mode, moreLabel } = props
52
+ const { onToggle, collapsed, mode, moreLabel, uppercase } = props
52
53
 
53
54
  const label = getLabel(props.locale, props.mode, props.label)
54
55
 
@@ -57,8 +58,9 @@ export default function DatePickerModalContentHeader(
57
58
  return (
58
59
  <View style={[styles.header]}>
59
60
  <View>
60
- <Text style={[styles.label, { color }]}>{label.toUpperCase()}</Text>
61
-
61
+ <Text style={[styles.label, { color }]}>
62
+ {uppercase ? label.toUpperCase() : label}
63
+ </Text>
62
64
  <View style={styles.headerContentContainer}>
63
65
  {mode === 'range' ? (
64
66
  <HeaderContentRange {...props} color={color} />
@@ -8,6 +8,7 @@ import { getTranslation } from '../translations/utils'
8
8
  export interface DatePickerModalHeaderProps {
9
9
  disableSafeTop?: boolean
10
10
  saveLabel?: string
11
+ uppercase?: boolean
11
12
  onDismiss: () => void
12
13
  onSave: () => void
13
14
  locale: string | undefined
@@ -43,6 +44,7 @@ export default function DatePickerModalHeader(
43
44
  <Button
44
45
  color={color}
45
46
  onPress={props.onSave}
47
+ uppercase={props.uppercase ?? true}
46
48
  testID="react-native-paper-dates-save"
47
49
  >
48
50
  {saveLabel}
@@ -35,6 +35,7 @@ export function TimePickerModal({
35
35
  hours,
36
36
  minutes,
37
37
  label = 'Select time',
38
+ uppercase = true,
38
39
  cancelLabel = 'Cancel',
39
40
  confirmLabel = 'Ok',
40
41
  animationType = 'none',
@@ -42,6 +43,7 @@ export function TimePickerModal({
42
43
  }: {
43
44
  locale?: undefined | string
44
45
  label?: string
46
+ uppercase?: boolean
45
47
  cancelLabel?: string
46
48
  confirmLabel?: string
47
49
  hours?: number | undefined
@@ -134,7 +136,7 @@ export function TimePickerModal({
134
136
  >
135
137
  <View style={styles.labelContainer}>
136
138
  <Text style={[styles.label, { color: theme.colors.text }]}>
137
- {label.toUpperCase()}
139
+ {uppercase ? label.toUpperCase() : label}
138
140
  </Text>
139
141
  </View>
140
142
  <View style={styles.timePickerContainer}>
@@ -160,11 +162,14 @@ export function TimePickerModal({
160
162
  tvParallaxProperties={undefined}
161
163
  />
162
164
  <View style={styles.fill} />
163
- <Button onPress={onDismiss}>{cancelLabel}</Button>
165
+ <Button onPress={onDismiss} uppercase={uppercase}>
166
+ {cancelLabel}
167
+ </Button>
164
168
  <Button
165
169
  onPress={() =>
166
170
  onConfirm({ hours: localHours, minutes: localMinutes })
167
171
  }
172
+ uppercase={uppercase}
168
173
  >
169
174
  {confirmLabel}
170
175
  </Button>
package/src/.DS_Store DELETED
Binary file